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