Merge pull request #5656 from filecoin-project/feat/state-search-replaced
Show replacing message CID is state search-msg cli
This commit is contained in:
commit
3c9e376474
80
cli/state.go
80
cli/state.go
@ -1403,34 +1403,10 @@ var stateWaitMsgCmd = &cli.Command{
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Printf("message was executed in tipset: %s\n", mw.TipSet.Cids())
|
return printMsg(ctx, api, msg, mw, m)
|
||||||
fmt.Printf("Exit Code: %d\n", mw.Receipt.ExitCode)
|
|
||||||
fmt.Printf("Gas Used: %d\n", mw.Receipt.GasUsed)
|
|
||||||
fmt.Printf("Return: %x\n", mw.Receipt.Return)
|
|
||||||
if err := printReceiptReturn(ctx, api, m, mw.Receipt); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
func printReceiptReturn(ctx context.Context, api api.FullNode, m *types.Message, r types.MessageReceipt) error {
|
|
||||||
act, err := api.StateGetActor(ctx, m.To, types.EmptyTSK)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
jret, err := jsonReturn(act.Code, m.Method, r.Return)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println(jret)
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var stateSearchMsgCmd = &cli.Command{
|
var stateSearchMsgCmd = &cli.Command{
|
||||||
Name: "search-msg",
|
Name: "search-msg",
|
||||||
Usage: "Search to see whether a message has appeared on chain",
|
Usage: "Search to see whether a message has appeared on chain",
|
||||||
@ -1458,18 +1434,56 @@ var stateSearchMsgCmd = &cli.Command{
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if mw != nil {
|
m, err := api.ChainGetMessage(ctx, msg)
|
||||||
fmt.Printf("message was executed in tipset: %s", mw.TipSet.Cids())
|
if err != nil {
|
||||||
fmt.Printf("\nExit Code: %d", mw.Receipt.ExitCode)
|
return err
|
||||||
fmt.Printf("\nGas Used: %d", mw.Receipt.GasUsed)
|
|
||||||
fmt.Printf("\nReturn: %x", mw.Receipt.Return)
|
|
||||||
} else {
|
|
||||||
fmt.Print("message was not found on chain")
|
|
||||||
}
|
}
|
||||||
return nil
|
|
||||||
|
return printMsg(ctx, api, msg, mw, m)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func printReceiptReturn(ctx context.Context, api api.FullNode, m *types.Message, r types.MessageReceipt) error {
|
||||||
|
if len(r.Return) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
act, err := api.StateGetActor(ctx, m.To, types.EmptyTSK)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
jret, err := jsonReturn(act.Code, m.Method, r.Return)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("Decoded return value: ", jret)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func printMsg(ctx context.Context, api api.FullNode, msg cid.Cid, mw *lapi.MsgLookup, m *types.Message) error {
|
||||||
|
if mw != nil {
|
||||||
|
if mw.Message != msg {
|
||||||
|
fmt.Printf("Message was replaced: %s\n", mw.Message)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Printf("Executed in tipset: %s\n", mw.TipSet.Cids())
|
||||||
|
fmt.Printf("Exit Code: %d\n", mw.Receipt.ExitCode)
|
||||||
|
fmt.Printf("Gas Used: %d\n", mw.Receipt.GasUsed)
|
||||||
|
fmt.Printf("Return: %x\n", mw.Receipt.Return)
|
||||||
|
} else {
|
||||||
|
fmt.Println("message was not found on chain")
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := printReceiptReturn(ctx, api, m, mw.Receipt); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
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",
|
||||||
|
Loading…
Reference in New Issue
Block a user