git.delta.rocks / unique-network / refs/commits / 0df5b01e576c

difftreelog

Fix evm nesting

Andrey Kuznetsov2022-06-14parent: #e9e8767.patch.diff
in: master

1 file changed

modifiedtests/src/eth/nesting/nest.test.tsdiffbeforeafterboth
29 const {collectionId, contract} = await createNestingCollection(api, web3, owner);29 const {collectionId, contract} = await createNestingCollection(api, web3, owner);
3030
31 // Create a token to be nested31 // Create a token to be nested
32 const nftTokenId = await contract.methods.nextTokenId().call();32 const targetNFTTokenId = await contract.methods.nextTokenId().call();
33 await contract.methods.mint(33 await contract.methods.mint(
34 owner,34 owner,
35 nftTokenId,35 targetNFTTokenId,
36 ).send({from: owner});36 ).send({from: owner});
37
38 const targetNftTokenAddress = tokenIdToAddress(collectionId, targetNFTTokenId);
3739
38 // Nest into a token40 // Create a nested token
39 const firstTargetNftTokenId = await contract.methods.nextTokenId().call();41 const firstTokenId = await contract.methods.nextTokenId().call();
40 await contract.methods.mint(42 await contract.methods.mint(
41 owner,43 targetNftTokenAddress,
42 firstTargetNftTokenId,44 firstTokenId,
43 ).send({from: owner});45 ).send({from: owner});
4446
45 const targetNftTokenAddress = tokenIdToAddress(collectionId, firstTargetNftTokenId);
46
47 await contract.methods.transfer(targetNftTokenAddress, nftTokenId).send({from: owner});
48 expect(await contract.methods.ownerOf(nftTokenId).call()).to.be.equal(targetNftTokenAddress);47 expect(await contract.methods.ownerOf(firstTokenId).call()).to.be.equal(targetNftTokenAddress);
4948
50 // Re-nest into another49 // Create a token to be nested and nest
51 const secondTargetNftTokenId = await contract.methods.nextTokenId().call();50 const secondTokenId = await contract.methods.nextTokenId().call();
52 await contract.methods.mint(51 await contract.methods.mint(
53 owner,52 owner,
54 secondTargetNftTokenId,53 secondTokenId,
55 ).send({from: owner});54 ).send({from: owner});
55
56 const nextNftTokenAddress = tokenIdToAddress(collectionId, secondTargetNftTokenId);56 await contract.methods.transfer(targetNftTokenAddress, secondTokenId).send({from: owner});
5757
58 expect(await contract.methods.ownerOf(secondTokenId).call()).to.be.equal(targetNftTokenAddress);
59
60 // Unnest token back
58 await contract.methods.transfer(nextNftTokenAddress, nftTokenId).send({from: owner});61 await contract.methods.transferFrom(targetNftTokenAddress, owner, secondTokenId).send({from: owner});
59 expect(await contract.methods.ownerOf(nftTokenId).call()).to.be.equal(nextNftTokenAddress);62 expect(await contract.methods.ownerOf(secondTokenId).call()).to.be.equal(owner);
60 });63 });
6164
62 itWeb3('NFT: allows an Owner to nest/unnest their token (Restricted nesting)', async ({api, web3, privateKeyWrapper}) => {65 itWeb3('NFT: allows an Owner to nest/unnest their token (Restricted nesting)', async ({api, web3, privateKeyWrapper}) => {