1
1
package v2_test
2
2
3
3
import (
4
+ "crypto/sha256"
5
+ "fmt"
4
6
"testing"
5
7
"time"
6
8
@@ -94,6 +96,12 @@ func (suite *TransferTestSuite) TestOnSendPacket() {
94
96
func () {},
95
97
types .ErrInvalidDenomForTransfer ,
96
98
},
99
+ {
100
+ "transfer with slashes in ibc denom" ,
101
+ fmt .Sprintf ("ibc/%x" , sha256 .Sum256 ([]byte ("coin" ))),
102
+ func () {},
103
+ types .ErrInvalidDenomForTransfer ,
104
+ },
97
105
}
98
106
99
107
for _ , tc := range testCases {
@@ -106,8 +114,10 @@ func (suite *TransferTestSuite) TestOnSendPacket() {
106
114
suite .Require ().True (ok )
107
115
originalCoin := sdk .NewCoin (tc .sourceDenomToTransfer , amount )
108
116
109
- token , err := suite .chainA .GetSimApp ().TransferKeeper .TokenFromCoin (suite .chainA .GetContext (), originalCoin )
110
- suite .Require ().NoError (err )
117
+ token := types.Token {
118
+ Denom : types.Denom {Base : originalCoin .Denom },
119
+ Amount : originalCoin .Amount .String (),
120
+ }
111
121
112
122
transferData := types .NewFungibleTokenPacketData (
113
123
token .Denom .Path (),
@@ -128,7 +138,7 @@ func (suite *TransferTestSuite) TestOnSendPacket() {
128
138
ctx := suite .chainA .GetContext ()
129
139
cbs := suite .chainA .App .GetIBCKeeper ().ChannelKeeperV2 .Router .Route (ibctesting .TransferPort )
130
140
131
- err = cbs .OnSendPacket (ctx , suite .pathAToB .EndpointA .ClientID , suite .pathAToB .EndpointB .ClientID , 1 , payload , suite .chainA .SenderAccount .GetAddress ())
141
+ err : = cbs .OnSendPacket (ctx , suite .pathAToB .EndpointA .ClientID , suite .pathAToB .EndpointB .ClientID , 1 , payload , suite .chainA .SenderAccount .GetAddress ())
132
142
133
143
if tc .expError != nil {
134
144
suite .Require ().Contains (err .Error (), tc .expError .Error ())
0 commit comments