@@ -545,3 +545,100 @@ func TestMsgJsonSignBytes(t *testing.T) {
545545 })
546546 }
547547}
548+
549+ func TestMsgStoreCodeFnSignatureInfo (t * testing.T ) {
550+ cases := map [string ]struct {
551+ msg MsgStoreCode
552+ len int
553+ err error
554+ }{
555+ "normal" : {
556+ msg : MsgStoreCode {
557+ Sender : sdk .WasmAddress (make ([]byte , 20 )).String (),
558+ WASMByteCode : []byte ("foo" ),
559+ },
560+ len : 3 ,
561+ err : nil ,
562+ },
563+ "empty" : {
564+ msg : MsgStoreCode {
565+ Sender : sdk .WasmAddress (make ([]byte , 20 )).String (),
566+ WASMByteCode : []byte ("" ),
567+ },
568+ len : 0 ,
569+ err : fmt .Errorf ("wasm byte code length is 0" ),
570+ },
571+ }
572+
573+ for name , tc := range cases {
574+ t .Run (name , func (t * testing.T ) {
575+ name , lenFn , err := tc .msg .FnSignatureInfo ()
576+ require .Equal (t , name , "store-code" )
577+ require .Equal (t , lenFn , tc .len )
578+ require .Equal (t , err , tc .err )
579+ })
580+ }
581+ }
582+
583+ func TestMsgExecuteContractFnSignatureInfo (t * testing.T ) {
584+ cases := map [string ]struct {
585+ msg MsgExecuteContract
586+ name string
587+ err error
588+ }{
589+ "normal" : {
590+ msg : MsgExecuteContract {
591+ Sender : sdk .WasmAddress (make ([]byte , 20 )).String (),
592+ Contract : sdk .WasmAddress (make ([]byte , 20 )).String (),
593+ Msg : []byte ("{\" press\" :{\" ascending\" :true}}" ),
594+ },
595+ name : "0x0000000000000000000000000000000000000000press" ,
596+ err : nil ,
597+ },
598+ "empty msg name" : {
599+ msg : MsgExecuteContract {
600+ Sender : sdk .WasmAddress (make ([]byte , 20 )).String (),
601+ Contract : sdk .WasmAddress (make ([]byte , 20 )).String (),
602+ Msg : []byte ("{\" \" :{\" ascending\" :true}}" ),
603+ },
604+ name : "" ,
605+ err : fmt .Errorf ("msg has not method:{\" \" :{\" ascending\" :true}}" ),
606+ },
607+ "validate msg" : {
608+ msg : MsgExecuteContract {
609+ Sender : sdk .WasmAddress (make ([]byte , 20 )).String (),
610+ Contract : sdk .WasmAddress (make ([]byte , 20 )).String (),
611+ Msg : []byte ("sdfasdf" ),
612+ },
613+ name : "" ,
614+ err : fmt .Errorf ("failed to validate msg:invalid" ),
615+ },
616+ "check msg method, 0" : {
617+ msg : MsgExecuteContract {
618+ Sender : sdk .WasmAddress (make ([]byte , 20 )).String (),
619+ Contract : sdk .WasmAddress (make ([]byte , 20 )).String (),
620+ Msg : []byte ("{}" ),
621+ },
622+ name : "" ,
623+ err : fmt .Errorf ("failed to check msg method:{}" ),
624+ },
625+ "check msg method, 1" : {
626+ msg : MsgExecuteContract {
627+ Sender : sdk .WasmAddress (make ([]byte , 20 )).String (),
628+ Contract : sdk .WasmAddress (make ([]byte , 20 )).String (),
629+ Msg : []byte ("{\" press\" :{\" ascending\" :true},\" hello\" :{\" ascending\" :true}}" ),
630+ },
631+ name : "" ,
632+ err : fmt .Errorf ("failed to check msg method:{\" press\" :{\" ascending\" :true},\" hello\" :{\" ascending\" :true}}" ),
633+ },
634+ }
635+
636+ for name , tc := range cases {
637+ t .Run (name , func (t * testing.T ) {
638+ name , lenFn , err := tc .msg .FnSignatureInfo ()
639+ require .Equal (t , tc .name , name )
640+ require .Equal (t , lenFn , 0 )
641+ require .Equal (t , tc .err , err )
642+ })
643+ }
644+ }
0 commit comments