Skip to content

Commit 3c9e376

Browse files
authored
Merge pull request #5656 from filecoin-project/feat/state-search-replaced
Show replacing message CID is state search-msg cli
2 parents 55b85f3 + 6b8cbad commit 3c9e376

File tree

1 file changed

+47
-33
lines changed

1 file changed

+47
-33
lines changed

cli/state.go

+47-33
Original file line numberDiff line numberDiff line change
@@ -1403,34 +1403,10 @@ var stateWaitMsgCmd = &cli.Command{
14031403
return err
14041404
}
14051405

1406-
fmt.Printf("message was executed in tipset: %s\n", mw.TipSet.Cids())
1407-
fmt.Printf("Exit Code: %d\n", mw.Receipt.ExitCode)
1408-
fmt.Printf("Gas Used: %d\n", mw.Receipt.GasUsed)
1409-
fmt.Printf("Return: %x\n", mw.Receipt.Return)
1410-
if err := printReceiptReturn(ctx, api, m, mw.Receipt); err != nil {
1411-
return err
1412-
}
1413-
1414-
return nil
1406+
return printMsg(ctx, api, msg, mw, m)
14151407
},
14161408
}
14171409

1418-
func printReceiptReturn(ctx context.Context, api api.FullNode, m *types.Message, r types.MessageReceipt) error {
1419-
act, err := api.StateGetActor(ctx, m.To, types.EmptyTSK)
1420-
if err != nil {
1421-
return err
1422-
}
1423-
1424-
jret, err := jsonReturn(act.Code, m.Method, r.Return)
1425-
if err != nil {
1426-
return err
1427-
}
1428-
1429-
fmt.Println(jret)
1430-
1431-
return nil
1432-
}
1433-
14341410
var stateSearchMsgCmd = &cli.Command{
14351411
Name: "search-msg",
14361412
Usage: "Search to see whether a message has appeared on chain",
@@ -1458,18 +1434,56 @@ var stateSearchMsgCmd = &cli.Command{
14581434
return err
14591435
}
14601436

1461-
if mw != nil {
1462-
fmt.Printf("message was executed in tipset: %s", mw.TipSet.Cids())
1463-
fmt.Printf("\nExit Code: %d", mw.Receipt.ExitCode)
1464-
fmt.Printf("\nGas Used: %d", mw.Receipt.GasUsed)
1465-
fmt.Printf("\nReturn: %x", mw.Receipt.Return)
1466-
} else {
1467-
fmt.Print("message was not found on chain")
1437+
m, err := api.ChainGetMessage(ctx, msg)
1438+
if err != nil {
1439+
return err
14681440
}
1469-
return nil
1441+
1442+
return printMsg(ctx, api, msg, mw, m)
14701443
},
14711444
}
14721445

1446+
func printReceiptReturn(ctx context.Context, api api.FullNode, m *types.Message, r types.MessageReceipt) error {
1447+
if len(r.Return) == 0 {
1448+
return nil
1449+
}
1450+
1451+
act, err := api.StateGetActor(ctx, m.To, types.EmptyTSK)
1452+
if err != nil {
1453+
return err
1454+
}
1455+
1456+
jret, err := jsonReturn(act.Code, m.Method, r.Return)
1457+
if err != nil {
1458+
return err
1459+
}
1460+
1461+
fmt.Println("Decoded return value: ", jret)
1462+
1463+
return nil
1464+
}
1465+
1466+
func printMsg(ctx context.Context, api api.FullNode, msg cid.Cid, mw *lapi.MsgLookup, m *types.Message) error {
1467+
if mw != nil {
1468+
if mw.Message != msg {
1469+
fmt.Printf("Message was replaced: %s\n", mw.Message)
1470+
}
1471+
1472+
fmt.Printf("Executed in tipset: %s\n", mw.TipSet.Cids())
1473+
fmt.Printf("Exit Code: %d\n", mw.Receipt.ExitCode)
1474+
fmt.Printf("Gas Used: %d\n", mw.Receipt.GasUsed)
1475+
fmt.Printf("Return: %x\n", mw.Receipt.Return)
1476+
} else {
1477+
fmt.Println("message was not found on chain")
1478+
}
1479+
1480+
if err := printReceiptReturn(ctx, api, m, mw.Receipt); err != nil {
1481+
return err
1482+
}
1483+
1484+
return nil
1485+
}
1486+
14731487
var stateCallCmd = &cli.Command{
14741488
Name: "call",
14751489
Usage: "Invoke a method on an actor locally",

0 commit comments

Comments
 (0)