@@ -19,6 +19,7 @@ import (
19
19
"github.com/filecoin-project/go-address"
20
20
"github.com/filecoin-project/go-state-types/abi"
21
21
"github.com/filecoin-project/go-state-types/big"
22
+ builtintypes "github.com/filecoin-project/go-state-types/builtin"
22
23
init2 "github.com/filecoin-project/specs-actors/v2/actors/builtin/init"
23
24
msig2 "github.com/filecoin-project/specs-actors/v2/actors/builtin/multisig"
24
25
@@ -410,7 +411,16 @@ var msigProposeCmd = &cli.Command{
410
411
if err != nil {
411
412
return err
412
413
}
413
- params = p
414
+
415
+ if abi .MethodNum (method ) == builtintypes .MethodsEVM .InvokeContract {
416
+ var buffer bytes.Buffer
417
+ if err := cbg .WriteByteArray (& buffer , p ); err != nil {
418
+ return xerrors .Errorf ("failed to encode evm params as cbor: %w" , err )
419
+ }
420
+ params = buffer .Bytes ()
421
+ } else {
422
+ params = p
423
+ }
414
424
}
415
425
416
426
var from address.Address
@@ -582,7 +592,15 @@ var msigApproveCmd = &cli.Command{
582
592
if err != nil {
583
593
return err
584
594
}
585
- params = p
595
+ if abi .MethodNum (method ) == builtintypes .MethodsEVM .InvokeContract {
596
+ var buffer bytes.Buffer
597
+ if err := cbg .WriteByteArray (& buffer , p ); err != nil {
598
+ return xerrors .Errorf ("failed to encode evm params as cbor: %w" , err )
599
+ }
600
+ params = buffer .Bytes ()
601
+ } else {
602
+ params = p
603
+ }
586
604
}
587
605
588
606
proto , err := api .MsigApproveTxnHash (ctx , msig , txid , proposer , dest , types .BigInt (value ), from , method , params )
@@ -707,7 +725,16 @@ var msigCancelCmd = &cli.Command{
707
725
if err != nil {
708
726
return err
709
727
}
710
- params = p
728
+
729
+ if abi .MethodNum (method ) == builtintypes .MethodsEVM .InvokeContract {
730
+ var buffer bytes.Buffer
731
+ if err := cbg .WriteByteArray (& buffer , p ); err != nil {
732
+ return xerrors .Errorf ("failed to encode evm params as cbor: %w" , err )
733
+ }
734
+ params = buffer .Bytes ()
735
+ } else {
736
+ params = p
737
+ }
711
738
}
712
739
713
740
proto , err := api .MsigCancelTxnHash (ctx , msig , txid , dest , types .BigInt (value ), from , method , params )
0 commit comments