Merge pull request #1246 from filecoin-project/feat/msg-wait-cmd

expose StateWaitMsg through the cli
This commit is contained in:
Łukasz Magiera 2020-02-11 01:50:52 +01:00 committed by GitHub
commit 05c262eb9f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -47,6 +47,7 @@ var stateCmd = &cli.Command{
stateComputeStateCmd, stateComputeStateCmd,
stateCallCmd, stateCallCmd,
stateGetDealSetCmd, stateGetDealSetCmd,
stateWaitMsgCmd,
}, },
} }
@ -710,6 +711,46 @@ var stateComputeStateCmd = &cli.Command{
}, },
} }
var stateWaitMsgCmd = &cli.Command{
Name: "wait-msg",
Usage: "Wait for a message to appear on chain",
Flags: []cli.Flag{
&cli.StringFlag{
Name: "timeout",
Value: "10m",
},
},
Action: func(cctx *cli.Context) error {
if !cctx.Args().Present() {
return fmt.Errorf("must specify message cid to wait for")
}
api, closer, err := GetFullNodeAPI(cctx)
if err != nil {
return err
}
defer closer()
ctx := ReqContext(cctx)
msg, err := cid.Decode(cctx.Args().First())
if err != nil {
return err
}
mw, err := api.StateWaitMsg(ctx, msg)
if err != nil {
return err
}
fmt.Printf("message was executed in tipset: %s", mw.TipSet.Cids())
fmt.Printf("Exit Code: %d", mw.Receipt.ExitCode)
fmt.Printf("Gas Used: %s", mw.Receipt.GasUsed)
fmt.Printf("Return: %x", mw.Receipt.Return)
return nil
},
}
var stateCallCmd = &cli.Command{ var stateCallCmd = &cli.Command{
Name: "call", Name: "call",
Usage: "Invoke a method on an actor locally", Usage: "Invoke a method on an actor locally",