@@ -238,97 +238,3 @@ func Test_onReceivePacket_memo_ICS721(t *testing.T) {
238
238
require .NoError (t , err )
239
239
require .Equal (t , contractAddr .Bytes (), common .HexToAddress (hexutil .Encode (queryRes )).Bytes ())
240
240
}
241
-
242
- func Test_onReceivePacket_memo_ICS721_Wasm (t * testing.T ) {
243
- ctx , input := createDefaultTestInput (t )
244
- _ , _ , addr := keyPubAddr ()
245
-
246
- evmAddr := common .BytesToAddress (addr .Bytes ())
247
-
248
- codeBz , err := hexutil .Decode (counter .CounterBin )
249
- require .NoError (t , err )
250
-
251
- _ , contractAddr , _ , err := input .EVMKeeper .EVMCreate (ctx , evmAddr , codeBz , nil , nil )
252
- require .NoError (t , err )
253
-
254
- abi , err := counter .CounterMetaData .GetAbi ()
255
- require .NoError (t , err )
256
-
257
- inputBz , err := abi .Pack ("increase" )
258
- require .NoError (t , err )
259
-
260
- data := nfttransfertypes.NonFungibleTokenPacketDataWasm {
261
- ClassId : "classId" ,
262
- ClassUri : "classUri" ,
263
- ClassData : "classData" ,
264
- TokenIds : []string {"tokenId" },
265
- TokenUris : []string {"tokenUri" },
266
- TokenData : []string {"tokenData" },
267
- Sender : addr .String (),
268
- Receiver : contractAddr .Hex (),
269
- Memo : fmt .Sprintf (`{
270
- "evm": {
271
- "message": {
272
- "contract_addr": "%s",
273
- "input": "%s"
274
- }
275
- }
276
- }` , contractAddr .Hex (), hexutil .Encode (inputBz )),
277
- }
278
-
279
- dataBz , err := json .Marshal (& data )
280
- require .NoError (t , err )
281
-
282
- pk := channeltypes.Packet {
283
- SourcePort : "wasm.contract_address" ,
284
- Data : dataBz ,
285
- DestinationPort : "nfttransfer-1" ,
286
- DestinationChannel : "channel-1" ,
287
- }
288
-
289
- // mint for approval test
290
- localClassId := evm_hooks .LocalClassId (pk , data .ClassId )
291
- intermediateSender := sdk .MustAccAddressFromBech32 (evm_hooks .DeriveIntermediateSender (pk .DestinationChannel , data .Sender ))
292
- err = input .EVMKeeper .ERC721Keeper ().CreateOrUpdateClass (ctx , localClassId , data .ClassUri , data .ClassData )
293
- require .NoError (t , err )
294
- err = input .EVMKeeper .ERC721Keeper ().Mints (
295
- ctx ,
296
- intermediateSender ,
297
- localClassId ,
298
- []string {"tokenId" },
299
- []string {"tokenUri" },
300
- []string {"tokenData" },
301
- )
302
- require .NoError (t , err )
303
-
304
- // failed to due to acl
305
- ack := input .IBCHooksMiddleware .OnRecvPacket (ctx , pk , addr )
306
- require .False (t , ack .Success ())
307
-
308
- // set acl
309
- require .NoError (t , input .IBCHooksKeeper .SetAllowed (ctx , contractAddr [:], true ))
310
-
311
- // success
312
- ack = input .IBCHooksMiddleware .OnRecvPacket (ctx , pk , addr )
313
- require .True (t , ack .Success ())
314
-
315
- queryInputBz , err := abi .Pack ("count" )
316
- require .NoError (t , err )
317
-
318
- // check the contract state
319
- queryRes , logs , err := input .EVMKeeper .EVMCall (ctx , evmAddr , contractAddr , queryInputBz , nil , nil )
320
- require .NoError (t , err )
321
- require .Equal (t , uint256 .NewInt (1 ).Bytes32 (), [32 ]byte (queryRes ))
322
- require .Empty (t , logs )
323
-
324
- // check allowance
325
- tokenId , ok := evmtypes .TokenIdToBigInt (localClassId , data .TokenIds [0 ])
326
- require .True (t , ok )
327
- erc721Addr , err := input .EVMKeeper .GetContractAddrByClassId (ctx , localClassId )
328
- require .NoError (t , err )
329
- queryInputBz , err = input .EVMKeeper .ERC721Keeper ().GetERC721ABI ().Pack ("getApproved" , tokenId )
330
- require .NoError (t , err )
331
- queryRes , err = input .EVMKeeper .EVMStaticCall (ctx , evmtypes .StdAddress , erc721Addr , queryInputBz , nil )
332
- require .NoError (t , err )
333
- require .Equal (t , contractAddr .Bytes (), common .HexToAddress (hexutil .Encode (queryRes )).Bytes ())
334
- }
0 commit comments