feat: shed: print out actor code CIDs in manifest cid checker
This commit is contained in:
parent
b368d08596
commit
fd5981b7ee
@ -5,8 +5,10 @@ import (
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"os"
|
||||
"text/tabwriter"
|
||||
|
||||
"github.com/ipfs/go-cid"
|
||||
cbor "github.com/ipfs/go-ipld-cbor"
|
||||
"github.com/ipld/go-car"
|
||||
mh "github.com/multiformats/go-multihash"
|
||||
"github.com/urfave/cli/v2"
|
||||
@ -15,6 +17,8 @@ import (
|
||||
"github.com/filecoin-project/go-state-types/abi"
|
||||
|
||||
"github.com/filecoin-project/lotus/blockstore"
|
||||
"github.com/filecoin-project/lotus/chain/actors"
|
||||
"github.com/filecoin-project/lotus/chain/actors/adt"
|
||||
)
|
||||
|
||||
var cidCmd = &cli.Command{
|
||||
@ -22,7 +26,7 @@ var cidCmd = &cli.Command{
|
||||
Usage: "Cid command",
|
||||
Subcommands: cli.Commands{
|
||||
cidIdCmd,
|
||||
cidFromCarCmd,
|
||||
inspectBundleCmd,
|
||||
},
|
||||
}
|
||||
|
||||
@ -90,9 +94,9 @@ var cidIdCmd = &cli.Command{
|
||||
},
|
||||
}
|
||||
|
||||
var cidFromCarCmd = &cli.Command{
|
||||
Name: "manifest-cid-from-car",
|
||||
Usage: "Get the manifest CID from a car file",
|
||||
var inspectBundleCmd = &cli.Command{
|
||||
Name: "inspect-bundle",
|
||||
Usage: "Get the manifest CID from a car file, as well as the actor code CIDs",
|
||||
ArgsUsage: "[path]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
ctx := cctx.Context
|
||||
@ -104,6 +108,7 @@ var cidFromCarCmd = &cli.Command{
|
||||
}
|
||||
|
||||
bs := blockstore.NewMemory()
|
||||
wrapBs := adt.WrapStore(ctx, cbor.NewCborStore(bs))
|
||||
|
||||
hdr, err := car.LoadCar(ctx, bs, f)
|
||||
if err != nil {
|
||||
@ -114,6 +119,19 @@ var cidFromCarCmd = &cli.Command{
|
||||
|
||||
fmt.Printf("Manifest CID: %s\n", manifestCid.String())
|
||||
|
||||
return nil
|
||||
entries, err := actors.ReadManifest(ctx, wrapBs, manifestCid)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("error loading manifest: %w", err)
|
||||
}
|
||||
|
||||
tw := tabwriter.NewWriter(os.Stdout, 2, 4, 2, ' ', 0)
|
||||
_, _ = fmt.Fprintln(tw, "\nActor\tCID\t")
|
||||
|
||||
for name, cid := range entries {
|
||||
_, _ = fmt.Fprintf(tw, "%v\t%v\n", name, cid)
|
||||
|
||||
}
|
||||
|
||||
return tw.Flush()
|
||||
},
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user