8
8
9
9
"github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
10
10
clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
11
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
12
11
ibctesting "github.com/cosmos/ibc-go/v3/testing"
13
12
)
14
13
@@ -56,13 +55,13 @@ func (suite *TransferTestSuite) TestHandleMsgTransfer() {
56
55
57
56
// send from chainA to chainB
58
57
msg := types .NewMsgTransfer (path .EndpointA .ChannelConfig .PortID , path .EndpointA .ChannelID , coinToSendToB , suite .chainA .SenderAccount .GetAddress ().String (), suite .chainB .SenderAccount .GetAddress ().String (), timeoutHeight , 0 )
59
-
60
- _ , err := suite .chainA .SendMsgs (msg )
58
+ res , err := suite .chainA .SendMsgs (msg )
61
59
suite .Require ().NoError (err ) // message committed
62
60
61
+ packet , err := ibctesting .ParsePacketFromEvents (res .GetEvents ())
62
+ suite .Require ().NoError (err )
63
+
63
64
// relay send
64
- fungibleTokenPacket := types .NewFungibleTokenPacketData (coinToSendToB .Denom , coinToSendToB .Amount .String (), suite .chainA .SenderAccount .GetAddress ().String (), suite .chainB .SenderAccount .GetAddress ().String ())
65
- packet := channeltypes .NewPacket (fungibleTokenPacket .GetBytes (), 1 , path .EndpointA .ChannelConfig .PortID , path .EndpointA .ChannelID , path .EndpointB .ChannelConfig .PortID , path .EndpointB .ChannelID , timeoutHeight , 0 )
66
65
err = path .RelayPacket (packet )
67
66
suite .Require ().NoError (err ) // relay committed
68
67
@@ -82,18 +81,18 @@ func (suite *TransferTestSuite) TestHandleMsgTransfer() {
82
81
83
82
// send from chainB to chainC
84
83
msg = types .NewMsgTransfer (pathBtoC .EndpointA .ChannelConfig .PortID , pathBtoC .EndpointA .ChannelID , coinSentFromAToB , suite .chainB .SenderAccount .GetAddress ().String (), suite .chainC .SenderAccount .GetAddress ().String (), timeoutHeight , 0 )
85
-
86
- _ , err = suite .chainB .SendMsgs (msg )
84
+ res , err = suite .chainB .SendMsgs (msg )
87
85
suite .Require ().NoError (err ) // message committed
88
86
89
- // relay send
90
- // NOTE: fungible token is prefixed with the full trace in order to verify the packet commitment
91
- fullDenomPath := types .GetPrefixedDenom (pathBtoC .EndpointB .ChannelConfig .PortID , pathBtoC .EndpointB .ChannelID , voucherDenomTrace .GetFullDenomPath ())
92
- fungibleTokenPacket = types .NewFungibleTokenPacketData (voucherDenomTrace .GetFullDenomPath (), coinSentFromAToB .Amount .String (), suite .chainB .SenderAccount .GetAddress ().String (), suite .chainC .SenderAccount .GetAddress ().String ())
93
- packet = channeltypes .NewPacket (fungibleTokenPacket .GetBytes (), 1 , pathBtoC .EndpointA .ChannelConfig .PortID , pathBtoC .EndpointA .ChannelID , pathBtoC .EndpointB .ChannelConfig .PortID , pathBtoC .EndpointB .ChannelID , timeoutHeight , 0 )
87
+ packet , err = ibctesting .ParsePacketFromEvents (res .GetEvents ())
88
+ suite .Require ().NoError (err )
89
+
94
90
err = pathBtoC .RelayPacket (packet )
95
91
suite .Require ().NoError (err ) // relay committed
96
92
93
+ // NOTE: fungible token is prefixed with the full trace in order to verify the packet commitment
94
+ fullDenomPath := types .GetPrefixedDenom (pathBtoC .EndpointB .ChannelConfig .PortID , pathBtoC .EndpointB .ChannelID , voucherDenomTrace .GetFullDenomPath ())
95
+
97
96
coinSentFromBToC := sdk .NewCoin (types .ParseDenomTrace (fullDenomPath ).IBCDenom (), amount )
98
97
balance = suite .chainC .GetSimApp ().BankKeeper .GetBalance (suite .chainC .GetContext (), suite .chainC .SenderAccount .GetAddress (), coinSentFromBToC .Denom )
99
98
@@ -106,14 +105,12 @@ func (suite *TransferTestSuite) TestHandleMsgTransfer() {
106
105
107
106
// send from chainC back to chainB
108
107
msg = types .NewMsgTransfer (pathBtoC .EndpointB .ChannelConfig .PortID , pathBtoC .EndpointB .ChannelID , coinSentFromBToC , suite .chainC .SenderAccount .GetAddress ().String (), suite .chainB .SenderAccount .GetAddress ().String (), timeoutHeight , 0 )
109
-
110
- _ , err = suite .chainC .SendMsgs (msg )
108
+ res , err = suite .chainC .SendMsgs (msg )
111
109
suite .Require ().NoError (err ) // message committed
112
110
113
- // relay send
114
- // NOTE: fungible token is prefixed with the full trace in order to verify the packet commitment
115
- fungibleTokenPacket = types .NewFungibleTokenPacketData (fullDenomPath , coinSentFromBToC .Amount .String (), suite .chainC .SenderAccount .GetAddress ().String (), suite .chainB .SenderAccount .GetAddress ().String ())
116
- packet = channeltypes .NewPacket (fungibleTokenPacket .GetBytes (), 1 , pathBtoC .EndpointB .ChannelConfig .PortID , pathBtoC .EndpointB .ChannelID , pathBtoC .EndpointA .ChannelConfig .PortID , pathBtoC .EndpointA .ChannelID , timeoutHeight , 0 )
111
+ packet , err = ibctesting .ParsePacketFromEvents (res .GetEvents ())
112
+ suite .Require ().NoError (err )
113
+
117
114
err = pathBtoC .RelayPacket (packet )
118
115
suite .Require ().NoError (err ) // relay committed
119
116
0 commit comments