diff --git a/cmd/lotus-shed/commp.go b/cmd/lotus-shed/commp.go index c9808c19a..acc1e73e6 100644 --- a/cmd/lotus-shed/commp.go +++ b/cmd/lotus-shed/commp.go @@ -1,7 +1,9 @@ package main import ( + "encoding/hex" "fmt" + commcid "github.com/filecoin-project/go-fil-commcid" "gopkg.in/urfave/cli.v2" ) @@ -10,8 +12,16 @@ var commpToCidCmd = &cli.Command{ Name: "commp-to-cid", Description: "Convert a raw commP to a piece-Cid", Action: func(cctx *cli.Context) error { - cp := []byte(cctx.Args().Get(0)) - fmt.Println(commcid.PieceCommitmentV1ToCID(cp)) + if !cctx.Args().Present() { + return fmt.Errorf("must specify commP to convert") + } + + dec, err := hex.DecodeString(cctx.Args().First()) + if err != nil { + return fmt.Errorf("failed to decode input as hex string: %w", err) + } + + fmt.Println(commcid.PieceCommitmentV1ToCID(dec)) return nil }, }