@@ -1403,34 +1403,10 @@ var stateWaitMsgCmd = &cli.Command{
1403
1403
return err
1404
1404
}
1405
1405
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 )
1415
1407
},
1416
1408
}
1417
1409
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
-
1434
1410
var stateSearchMsgCmd = & cli.Command {
1435
1411
Name : "search-msg" ,
1436
1412
Usage : "Search to see whether a message has appeared on chain" ,
@@ -1458,18 +1434,56 @@ var stateSearchMsgCmd = &cli.Command{
1458
1434
return err
1459
1435
}
1460
1436
1461
- if mw != nil {
1462
- fmt .Printf ("message was executed in tipset: %s" , mw .TipSet .Cids ())
1463
- fmt .Printf ("\n Exit Code: %d" , mw .Receipt .ExitCode )
1464
- fmt .Printf ("\n Gas Used: %d" , mw .Receipt .GasUsed )
1465
- fmt .Printf ("\n Return: %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
1468
1440
}
1469
- return nil
1441
+
1442
+ return printMsg (ctx , api , msg , mw , m )
1470
1443
},
1471
1444
}
1472
1445
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
+
1473
1487
var stateCallCmd = & cli.Command {
1474
1488
Name : "call" ,
1475
1489
Usage : "Invoke a method on an actor locally" ,
0 commit comments