github.com/Finschia/finschia-sdk@v0.49.1/x/fbridge/types/msgs_test.go (about) 1 package types_test 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 8 sdk "github.com/Finschia/finschia-sdk/types" 9 "github.com/Finschia/finschia-sdk/x/auth/legacy/legacytx" 10 fbridgetypes "github.com/Finschia/finschia-sdk/x/fbridge/types" 11 ) 12 13 func TestAminoJSON(t *testing.T) { 14 tx := legacytx.StdTx{} 15 16 addrs := []string{ 17 "link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze", 18 "link1aydj7vdxljxq7cn2dlkrhrcwf5py8dnuqp32qd", 19 } 20 toAddr := "0xf7bAc63fc7CEaCf0589F25454Ecf5C2ce904997c" 21 22 testCase := map[string]struct { 23 msg legacytx.LegacyMsg 24 expectedType string 25 expected string 26 }{ 27 "MsgUpdateParam": { 28 &fbridgetypes.MsgUpdateParams{ 29 Authority: addrs[0], 30 Params: fbridgetypes.Params{ 31 OperatorTrustLevel: fbridgetypes.Fraction{ 32 Numerator: uint64(2), 33 Denominator: uint64(3), 34 }, 35 GuardianTrustLevel: fbridgetypes.Fraction{ 36 Numerator: uint64(2), 37 Denominator: uint64(3), 38 }, 39 JudgeTrustLevel: fbridgetypes.Fraction{ 40 Numerator: uint64(2), 41 Denominator: uint64(3), 42 }, 43 TimelockPeriod: uint64(86400000000000), 44 ProposalPeriod: uint64(3600000000000), 45 TargetDenom: "kaia", 46 }, 47 }, 48 "/lbm.fbridge.v1.MsgUpdateParams", 49 "{\"account_number\":\"1\",\"chain_id\":\"foo\",\"fee\":{\"amount\":[],\"gas\":\"0\"},\"memo\":\"memo\",\"msgs\":[{\"type\":\"lbm-sdk/fbridge/MsgUpdateParams\",\"value\":{\"authority\":\"link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze\",\"params\":{\"guardian_trust_level\":{\"denominator\":\"3\",\"numerator\":\"2\"},\"judge_trust_level\":{\"denominator\":\"3\",\"numerator\":\"2\"},\"operator_trust_level\":{\"denominator\":\"3\",\"numerator\":\"2\"},\"proposal_period\":\"3600000000000\",\"target_denom\":\"kaia\",\"timelock_period\":\"86400000000000\"}}}],\"sequence\":\"1\",\"timeout_height\":\"1\"}", 50 }, 51 "MsgTransfer": { 52 &fbridgetypes.MsgTransfer{ 53 Sender: addrs[0], 54 Receiver: toAddr, 55 Amount: sdk.NewInt(1000000), 56 }, 57 "/lbm.fbridge.v1.MsgTransfer", 58 "{\"account_number\":\"1\",\"chain_id\":\"foo\",\"fee\":{\"amount\":[],\"gas\":\"0\"},\"memo\":\"memo\",\"msgs\":[{\"type\":\"lbm-sdk/MsgTransfer\",\"value\":{\"amount\":\"1000000\",\"receiver\":\"0xf7bAc63fc7CEaCf0589F25454Ecf5C2ce904997c\",\"sender\":\"link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze\"}}],\"sequence\":\"1\",\"timeout_height\":\"1\"}", 59 }, 60 "MsgProvision": { 61 &fbridgetypes.MsgProvision{ 62 From: addrs[0], 63 Seq: uint64(1), 64 Sender: addrs[0], 65 Receiver: addrs[1], 66 Amount: sdk.NewInt(1000000), 67 }, 68 "/lbm.fbridge.v1.MsgProvision", 69 "{\"account_number\":\"1\",\"chain_id\":\"foo\",\"fee\":{\"amount\":[],\"gas\":\"0\"},\"memo\":\"memo\",\"msgs\":[{\"type\":\"lbm-sdk/MsgProvision\",\"value\":{\"amount\":\"1000000\",\"from\":\"link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze\",\"receiver\":\"link1aydj7vdxljxq7cn2dlkrhrcwf5py8dnuqp32qd\",\"sender\":\"link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze\",\"seq\":\"1\"}}],\"sequence\":\"1\",\"timeout_height\":\"1\"}", 70 }, 71 "MsgHoldTransfer": { 72 &fbridgetypes.MsgHoldTransfer{ 73 From: addrs[0], 74 Seq: 100, 75 }, 76 "/lbm.fbridge.v1.MsgHoldTransfer", 77 "{\"account_number\":\"1\",\"chain_id\":\"foo\",\"fee\":{\"amount\":[],\"gas\":\"0\"},\"memo\":\"memo\",\"msgs\":[{\"type\":\"lbm-sdk/MsgHoldTransfer\",\"value\":{\"from\":\"link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze\",\"seq\":\"100\"}}],\"sequence\":\"1\",\"timeout_height\":\"1\"}", 78 }, 79 "MsgReleaseTransfer": { 80 &fbridgetypes.MsgReleaseTransfer{ 81 From: addrs[0], 82 Seq: 200, 83 }, 84 "/lbm.fbridge.v1.MsgReleaseTransfer", 85 "{\"account_number\":\"1\",\"chain_id\":\"foo\",\"fee\":{\"amount\":[],\"gas\":\"0\"},\"memo\":\"memo\",\"msgs\":[{\"type\":\"lbm-sdk/MsgReleaseTransfer\",\"value\":{\"from\":\"link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze\",\"seq\":\"200\"}}],\"sequence\":\"1\",\"timeout_height\":\"1\"}", 86 }, 87 "MsgRemoveProvision": { 88 &fbridgetypes.MsgRemoveProvision{ 89 From: addrs[0], 90 Seq: 300, 91 }, 92 "/lbm.fbridge.v1.MsgRemoveProvision", 93 "{\"account_number\":\"1\",\"chain_id\":\"foo\",\"fee\":{\"amount\":[],\"gas\":\"0\"},\"memo\":\"memo\",\"msgs\":[{\"type\":\"lbm-sdk/MsgRemoveProvision\",\"value\":{\"from\":\"link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze\",\"seq\":\"300\"}}],\"sequence\":\"1\",\"timeout_height\":\"1\"}", 94 }, 95 "MsgClaimBatch": { 96 &fbridgetypes.MsgClaimBatch{ 97 From: addrs[0], 98 MaxClaims: 50, 99 }, 100 "/lbm.fbridge.v1.MsgClaimBatch", 101 "{\"account_number\":\"1\",\"chain_id\":\"foo\",\"fee\":{\"amount\":[],\"gas\":\"0\"},\"memo\":\"memo\",\"msgs\":[{\"type\":\"lbm-sdk/MsgClaimBatch\",\"value\":{\"from\":\"link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze\",\"max_claims\":\"50\"}}],\"sequence\":\"1\",\"timeout_height\":\"1\"}", 102 }, 103 "MsgClaim": { 104 &fbridgetypes.MsgClaim{ 105 From: addrs[0], 106 Seq: 400, 107 }, 108 "/lbm.fbridge.v1.MsgClaim", 109 "{\"account_number\":\"1\",\"chain_id\":\"foo\",\"fee\":{\"amount\":[],\"gas\":\"0\"},\"memo\":\"memo\",\"msgs\":[{\"type\":\"lbm-sdk/MsgClaim\",\"value\":{\"from\":\"link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze\",\"seq\":\"400\"}}],\"sequence\":\"1\",\"timeout_height\":\"1\"}", 110 }, 111 "MsgSuggestRole": { 112 &fbridgetypes.MsgSuggestRole{ 113 From: addrs[0], 114 Target: addrs[1], 115 Role: fbridgetypes.RoleGuardian, 116 }, 117 "/lbm.fbridge.v1.MsgSuggestRole", 118 "{\"account_number\":\"1\",\"chain_id\":\"foo\",\"fee\":{\"amount\":[],\"gas\":\"0\"},\"memo\":\"memo\",\"msgs\":[{\"type\":\"lbm-sdk/MsgSuggestRole\",\"value\":{\"from\":\"link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze\",\"role\":1,\"target\":\"link1aydj7vdxljxq7cn2dlkrhrcwf5py8dnuqp32qd\"}}],\"sequence\":\"1\",\"timeout_height\":\"1\"}", 119 }, 120 "MsgAddVoteForRole": { 121 &fbridgetypes.MsgAddVoteForRole{ 122 From: addrs[0], 123 ProposalId: 0, 124 Option: fbridgetypes.OptionYes, 125 }, 126 "/lbm.fbridge.v1.MsgAddVoteForRole", 127 "{\"account_number\":\"1\",\"chain_id\":\"foo\",\"fee\":{\"amount\":[],\"gas\":\"0\"},\"memo\":\"memo\",\"msgs\":[{\"type\":\"lbm-sdk/MsgAddVoteForRole\",\"value\":{\"from\":\"link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze\",\"option\":1}}],\"sequence\":\"1\",\"timeout_height\":\"1\"}", 128 }, 129 "MsgSetBridgeStatus": { 130 &fbridgetypes.MsgSetBridgeStatus{ 131 Guardian: addrs[0], 132 Status: fbridgetypes.StatusActive, 133 }, 134 "/lbm.fbridge.v1.MsgSetBridgeStatus", 135 "{\"account_number\":\"1\",\"chain_id\":\"foo\",\"fee\":{\"amount\":[],\"gas\":\"0\"},\"memo\":\"memo\",\"msgs\":[{\"type\":\"lbm-sdk/MsgSetBridgeStatus\",\"value\":{\"guardian\":\"link1zf469e6y5zvsvkjz8vpr27j6txseyfnsh3ydze\",\"status\":1}}],\"sequence\":\"1\",\"timeout_height\":\"1\"}", 136 }, 137 } 138 139 for name, tc := range testCase { 140 t.Run(name, func(t *testing.T) { 141 tx.Msgs = []sdk.Msg{tc.msg} 142 require.Equal(t, fbridgetypes.RouterKey, tc.msg.Route()) 143 require.Equal(t, tc.expectedType, tc.msg.Type()) 144 require.Equal(t, tc.expected, string(legacytx.StdSignBytes("foo", 1, 1, 1, legacytx.StdFee{}, []sdk.Msg{tc.msg}, "memo"))) 145 }) 146 } 147 }