--- a/tests/src/eth/collectionLimits.test.ts +++ b/tests/src/eth/collectionLimits.test.ts @@ -97,7 +97,7 @@ const owner = await helper.eth.createAccountWithBalance(donor); const {collectionAddress} = await helper.eth.createCollection(owner, new CreateCollectionData('Limits', 'absolutely anything', 'ISNI', testCase.case, 18)).send(); - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, testCase.case, owner); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, testCase.case, owner); // Cannot set non-existing limit await expect(collectionEvm.methods --- a/tests/src/eth/createCollection.test.ts +++ b/tests/src/eth/createCollection.test.ts @@ -23,12 +23,13 @@ const DECIMALS = 18; const CREATE_COLLECTION_DATA_DEFAULTS_ARRAY = [ - [], - [], - [], - [false, false, []], - [], - [0], + [], // properties + [], // tokenPropertyPermissions + [], // adminList + [false, false, []], // nestingSettings + [], // limits + emptyAddress, // pendingSponsor + [0], // flags ]; type ElementOf = A extends readonly (infer T)[] ? T : never; @@ -64,7 +65,7 @@ itEth('Collection address exist', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); const collectionAddressForNonexistentCollection = '0x17C4E6453CC49AAAAEACA894E6D9683E00112233'; - const collectionHelpers = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelpers = helper.ethNativeContract.collectionHelpers(owner); expect(await collectionHelpers .methods.isCollectionExist(collectionAddressForNonexistentCollection).call()) @@ -76,7 +77,7 @@ .to.be.true; // check collectionOwner: - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'ft', owner, true); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'ft', owner, true); const collectionOwner = await collectionEvm.methods.collectionOwner().call(); expect(helper.address.restoreCrossAccountFromBigInt(BigInt(collectionOwner.sub))).to.eq(helper.address.ethToSubstrate(owner, true)); }); @@ -84,7 +85,7 @@ itEth('destroyCollection', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); const {collectionAddress, collectionId} = await helper.eth.createCollection(owner, new CreateCollectionData('Exister', 'absolutely anything', 'WIWT', 'ft', DECIMALS)).send(); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); const result = await collectionHelper.methods .destroyCollection(collectionAddress) @@ -110,7 +111,7 @@ itEth('(!negative test!) Create collection (bad lengths)', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); { const MAX_NAME_LENGTH = 64; const collectionName = 'A'.repeat(MAX_NAME_LENGTH + 1); @@ -119,7 +120,6 @@ await expect(collectionHelper.methods .createCollection([ - emptyAddress, collectionName, description, tokenPrefix, @@ -136,7 +136,6 @@ const tokenPrefix = 'A'; await expect(collectionHelper.methods .createCollection([ - emptyAddress, collectionName, description, tokenPrefix, @@ -153,7 +152,6 @@ const tokenPrefix = 'A'.repeat(MAX_TOKEN_PREFIX_LENGTH + 1); await expect(collectionHelper.methods .createCollection([ - emptyAddress, collectionName, description, tokenPrefix, @@ -167,11 +165,10 @@ itEth('(!negative test!) cannot create collection if value !== 2', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); const expects = [0n, 1n, 30n].map(async value => { await expect(collectionHelper.methods .createCollection([ - emptyAddress, 'Peasantry', 'absolutely anything', 'TWIW', @@ -238,7 +235,7 @@ const expectedCollectionId = +(await helper.callRpc('api.rpc.unique.collectionStats')).created + 1; const expectedCollectionAddress = helper.ethAddress.fromCollectionId(expectedCollectionId); - const collectionHelpers = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelpers = helper.ethNativeContract.collectionHelpers(owner); expect(await collectionHelpers.methods .isCollectionExist(expectedCollectionAddress) @@ -246,7 +243,6 @@ await collectionHelpers.methods .createCollection([ - emptyAddress, 'A', 'A', 'A', @@ -331,7 +327,7 @@ const ss58Format = helper.chain.getChainProperties().ss58Format; const {collectionId, collectionAddress} = await helper.eth.createCollection(owner, new CreateCollectionData('Sponsor', 'absolutely anything', 'ENVY', 'rft')).send(); - const collection = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner); + const collection = helper.ethNativeContract.collection(collectionAddress, 'rft', owner); const sponsorCross = helper.ethCrossAccount.fromAddress(sponsor); await collection.methods.setCollectionSponsorCross(sponsorCross).send(); @@ -340,7 +336,7 @@ await expect(collection.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('ConfirmSponsorshipFail'); - const sponsorCollection = await helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor); + const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor); await sponsorCollection.methods.confirmCollectionSponsorship().send(); data = (await helper.rft.getData(collectionId))!; @@ -350,7 +346,7 @@ itEth('Collection address exist', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); const collectionAddressForNonexistentCollection = '0x17C4E6453CC49AAAAEACA894E6D9683E00112233'; - const collectionHelpers = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelpers = helper.ethNativeContract.collectionHelpers(owner); expect(await collectionHelpers .methods.isCollectionExist(collectionAddressForNonexistentCollection).call()) @@ -362,7 +358,7 @@ .to.be.true; // check collectionOwner: - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'ft', owner, true); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'ft', owner, true); const collectionOwner = await collectionEvm.methods.collectionOwner().call(); expect(helper.address.restoreCrossAccountFromBigInt(BigInt(collectionOwner.sub))).to.eq(helper.address.ethToSubstrate(owner, true)); }); @@ -370,7 +366,7 @@ itEth('destroyCollection', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); const {collectionAddress, collectionId} = await helper.eth.createCollection(owner, new CreateCollectionData('Limits', 'absolutely anything', 'OLF', 'rft')).send(); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); await expect(collectionHelper.methods .destroyCollection(collectionAddress) @@ -384,7 +380,7 @@ itEth('(!negative test!) Create collection (bad lengths)', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); { const MAX_NAME_LENGTH = 64; const collectionName = 'A'.repeat(MAX_NAME_LENGTH + 1); @@ -393,7 +389,6 @@ await expect(collectionHelper.methods .createCollection([ - emptyAddress, collectionName, description, tokenPrefix, @@ -410,7 +405,6 @@ const tokenPrefix = 'A'; await expect(collectionHelper.methods .createCollection([ - emptyAddress, collectionName, description, tokenPrefix, @@ -427,7 +421,6 @@ const tokenPrefix = 'A'.repeat(MAX_TOKEN_PREFIX_LENGTH + 1); await expect(collectionHelper.methods .createCollection([ - emptyAddress, collectionName, description, tokenPrefix, @@ -441,10 +434,9 @@ itEth('(!negative test!) Create collection (no funds)', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); await expect(collectionHelper.methods .createCollection([ - emptyAddress, 'Peasantry', 'absolutely anything', 'TWIW', @@ -473,7 +465,7 @@ pendingSponsor: sponsorCross, }, ).send(); - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'nft', owner); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'nft', owner); expect(await collectionEvm.methods.hasCollectionPendingSponsor().call({from: owner})).to.be.true; @@ -657,7 +649,7 @@ '', ); const collectionSub = helper.nft.getCollectionObject(collectionId); - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'nft', owner); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'nft', owner); // Set and confirm sponsor: await collectionEvm.methods.confirmCollectionSponsorship().send({from: sponsorEth}); @@ -695,7 +687,7 @@ '', ); const receiver = await helper.eth.createAccountWithBalance(donor); - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'rft', owner); await collectionEvm.methods.confirmCollectionSponsorship().send({from: sponsor}); @@ -764,7 +756,7 @@ adminList: [adminCrossSub, adminCrossEth], }, ).send(); - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, testCase.mode, owner, true); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, testCase.mode, owner, true); // 1. Expect api.rpc.unique.adminlist returns admins: const adminListRpc = await helper.collection.getAdmins(collectionId); @@ -801,7 +793,7 @@ }, 'uri', ); - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'nft', owner, true); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'nft', owner, true); // admin (sub and eth) can mint token: await collectionEvm.methods.mint(owner).send({from: adminEth}); @@ -852,7 +844,7 @@ }, ).send(); - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'nft', owner); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'nft', owner); { const adminList = await helper.collection.getAdmins(collectionId); @@ -1062,7 +1054,7 @@ }, ).send(); - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, testCase.mode, caller); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, testCase.mode, caller); await collectionEvm.methods.deleteCollectionProperties(['testKey1', 'testKey2']).send({from: caller}); @@ -1162,7 +1154,7 @@ ], }, ).send(); - const collection = await helper.ethNativeContract.collection(collectionAddress, testCase.mode, owner); + const collection = helper.ethNativeContract.collection(collectionAddress, testCase.mode, owner); expect(await helper[testCase.mode].getPropertyPermissions(collectionId)).to.be.deep.equal([{ key: 'testKey', @@ -1287,7 +1279,7 @@ }, ).send(); - const collection = await helper.ethNativeContract.collection(collectionAddress, testCase.mode, caller); + const collection = helper.ethNativeContract.collection(collectionAddress, testCase.mode, caller); const tokenId = (await collection.methods.mintCross(receiver, [{key: 'testKey', value: Buffer.from('testValue')}, {key: 'testKey_1', value: Buffer.from('testValue_1')}]).send()).events.Transfer.returnValues.tokenId; expect(await collection.methods.properties(tokenId, ['testKey', 'testKey_1']).call()).to.has.length(2); @@ -1311,7 +1303,7 @@ }, ).send(); - const contract = await helper.ethNativeContract.collection(collectionAddress, 'nft', owner); + const contract = helper.ethNativeContract.collection(collectionAddress, 'nft', owner); // Create a token to be nested to const mintingTargetNFTTokenIdResult = await contract.methods.mint(owner).send({from: owner}); @@ -1342,7 +1334,7 @@ new CreateCollectionData('A', 'B', 'C', 'nft'), ).send(); - const unnestedContract = await helper.ethNativeContract.collection(unnestedCollectionAddress, 'nft', owner); + const unnestedContract = helper.ethNativeContract.collection(unnestedCollectionAddress, 'nft', owner); expect(await unnestedContract.methods.collectionNesting().call({from: owner})).to.be.like([false, false, []]); const {collectionAddress} = await helper.eth.createCollection( @@ -1357,7 +1349,7 @@ }, ).send(); - const contract = await helper.ethNativeContract.collection(collectionAddress, 'nft', owner); + const contract = helper.ethNativeContract.collection(collectionAddress, 'nft', owner); expect(await contract.methods.collectionNesting().call({from: owner})).to.be.like([true, false, [unnestedCollectionAddress.toString()]]); await contract.methods.setCollectionNesting([false, false, []]).send({from: owner}); expect(await contract.methods.collectionNesting().call({from: owner})).to.be.like([false, false, []]); @@ -1378,7 +1370,7 @@ }, ).send(); - const contract = await helper.ethNativeContract.collection(collectionAddress, 'nft', owner); + const contract = helper.ethNativeContract.collection(collectionAddress, 'nft', owner); // Create a token to nest into const mintingTargetTokenIdResult = await contract.methods.mint(owner).send({from: owner}); @@ -1419,17 +1411,15 @@ } }); - itEth('NFT: foreign flag number is ignored', async ({helper}) => { + itEth('NFT: can\'t set foreign flag number', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); { - const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: 128}).send(); - expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({foreign: false, erc721metadata: false}); + await expect(helper.eth.createCollection(owner, {...createCollectionData, flags: 128}).call({from: owner})).to.be.rejectedWith(/internal flags were used/); } { - const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: 192}).send(); - expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({foreign: false, erc721metadata: true}); + await expect(helper.eth.createCollection(owner, {...createCollectionData, flags: 192}).call({from: owner})).to.be.rejectedWith(/internal flags were used/); } }); @@ -1446,13 +1436,11 @@ const owner = await helper.eth.createAccountWithBalance(donor); { - const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: [CollectionFlag.Foreign]}).send(); - expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({foreign: false, erc721metadata: false}); + await expect(helper.eth.createCollection(owner, {...createCollectionData, flags: [CollectionFlag.Foreign]}).call({from: owner})).to.be.rejectedWith(/internal flags were used/); } { - const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: [CollectionFlag.Erc721metadata | CollectionFlag.Foreign]}).send(); - expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({foreign: false, erc721metadata: true}); + await expect(helper.eth.createCollection(owner, {...createCollectionData, flags: [CollectionFlag.Erc721metadata | CollectionFlag.Foreign]}).call({from: owner})).to.be.rejectedWith(/internal flags were used/); } }); }); --- a/tests/src/eth/createFTCollection.seqtest.ts +++ b/tests/src/eth/createFTCollection.seqtest.ts @@ -59,7 +59,7 @@ const expectedCollectionId = +(await helper.callRpc('api.rpc.unique.collectionStats')).created + 1; const expectedCollectionAddress = helper.ethAddress.fromCollectionId(expectedCollectionId); - const collectionHelpers = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelpers = helper.ethNativeContract.collectionHelpers(owner); expect(await collectionHelpers.methods .isCollectionExist(expectedCollectionAddress) --- a/tests/src/eth/createFTCollection.test.ts +++ b/tests/src/eth/createFTCollection.test.ts @@ -50,7 +50,7 @@ await expect(collection.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('ConfirmSponsorshipFail'); - const sponsorCollection = await helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor, true); + const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor, true); await sponsorCollection.methods.confirmCollectionSponsorship().send(); data = (await helper.rft.getData(collectionId))!; @@ -64,7 +64,7 @@ const description = 'absolutely anything'; const {collectionId, collectionAddress} = await helper.eth.createFungibleCollection(owner, 'Sponsor', DECIMALS, description, 'ENVY'); - const collection = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner); + const collection = helper.ethNativeContract.collection(collectionAddress, 'rft', owner); const sponsorCross = helper.ethCrossAccount.fromAddress(sponsor); await collection.methods.setCollectionSponsorCross(sponsorCross).send(); @@ -73,7 +73,7 @@ await expect(collection.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('ConfirmSponsorshipFail'); - const sponsorCollection = await helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor); + const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor); await sponsorCollection.methods.confirmCollectionSponsorship().send(); data = (await helper.rft.getData(collectionId))!; @@ -84,7 +84,7 @@ itEth('Collection address exist', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); const collectionAddressForNonexistentCollection = '0x17C4E6453CC49AAAAEACA894E6D9683E00112233'; - const collectionHelpers = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelpers = helper.ethNativeContract.collectionHelpers(owner); expect(await collectionHelpers .methods.isCollectionExist(collectionAddressForNonexistentCollection).call()) @@ -96,7 +96,7 @@ .to.be.true; // check collectionOwner: - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'ft', owner, true); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'ft', owner, true); const collectionOwner = await collectionEvm.methods.collectionOwner().call(); expect(helper.address.restoreCrossAccountFromBigInt(BigInt(collectionOwner.sub))).to.eq(helper.address.ethToSubstrate(owner, true)); }); @@ -104,7 +104,7 @@ itEth('destroyCollection', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); const {collectionAddress, collectionId} = await helper.eth.createFungibleCollection(owner, 'Exister', DECIMALS, 'absolutely anything', 'WIWT'); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); const result = await collectionHelper.methods .destroyCollection(collectionAddress) @@ -143,7 +143,7 @@ itEth('(!negative test!) Create collection (bad lengths)', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); { const MAX_NAME_LENGTH = 64; const collectionName = 'A'.repeat(MAX_NAME_LENGTH + 1); @@ -176,7 +176,7 @@ itEth('(!negative test!) cannot create collection if value !== 2', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); const expects = [0n, 1n, 30n].map(async value => { await expect(collectionHelper.methods .createFTCollection('Peasantry', DECIMALS, 'absolutely anything', 'TWIW') @@ -190,7 +190,7 @@ const owner = await helper.eth.createAccountWithBalance(donor); const peasant = helper.eth.createAccount(); const {collectionAddress} = await helper.eth.createFungibleCollection(owner, 'Transgressed', DECIMALS, 'absolutely anything', 'YVNE'); - const peasantCollection = await helper.ethNativeContract.collection(collectionAddress, 'ft', peasant, true); + const peasantCollection = helper.ethNativeContract.collection(collectionAddress, 'ft', peasant, true); const EXPECTED_ERROR = 'NoPermission'; { const sponsor = await helper.eth.createAccountWithBalance(donor); @@ -198,7 +198,7 @@ .setCollectionSponsor(sponsor) .call()).to.be.rejectedWith(EXPECTED_ERROR); - const sponsorCollection = await helper.ethNativeContract.collection(collectionAddress, 'ft', sponsor, true); + const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'ft', sponsor, true); await expect(sponsorCollection.methods .confirmCollectionSponsorship() .call()).to.be.rejectedWith('ConfirmSponsorshipFail'); @@ -214,7 +214,7 @@ const owner = await helper.eth.createAccountWithBalance(donor); const peasant = helper.eth.createAccount(); const {collectionAddress} = await helper.eth.createFungibleCollection(owner, 'Transgressed', DECIMALS, 'absolutely anything', 'YVNE'); - const peasantCollection = await helper.ethNativeContract.collection(collectionAddress, 'ft', peasant); + const peasantCollection = helper.ethNativeContract.collection(collectionAddress, 'ft', peasant); const EXPECTED_ERROR = 'NoPermission'; { const sponsor = await helper.eth.createAccountWithBalance(donor); @@ -223,7 +223,7 @@ .setCollectionSponsorCross(sponsorCross) .call()).to.be.rejectedWith(EXPECTED_ERROR); - const sponsorCollection = await helper.ethNativeContract.collection(collectionAddress, 'ft', sponsor); + const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'ft', sponsor); await expect(sponsorCollection.methods .confirmCollectionSponsorship() .call()).to.be.rejectedWith('ConfirmSponsorshipFail'); --- a/tests/src/eth/createNFTCollection.seqtest.ts +++ b/tests/src/eth/createNFTCollection.seqtest.ts @@ -72,7 +72,7 @@ const expectedCollectionId = +(await helper.callRpc('api.rpc.unique.collectionStats')).created + 1; const expectedCollectionAddress = helper.ethAddress.fromCollectionId(expectedCollectionId); - const collectionHelpers = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelpers = helper.ethNativeContract.collectionHelpers(owner); expect(await collectionHelpers.methods .isCollectionExist(expectedCollectionAddress) --- a/tests/src/eth/createNFTCollection.test.ts +++ b/tests/src/eth/createNFTCollection.test.ts @@ -39,7 +39,7 @@ const baseUri = 'BaseURI'; const {collectionId, collectionAddress, events} = await helper.eth.createERC721MetadataCompatibleNFTCollection(owner, name, description, prefix, baseUri); - const contract = await helper.ethNativeContract.collection(collectionAddress, 'nft'); + const contract = helper.ethNativeContract.collection(collectionAddress, 'nft'); expect(events).to.be.deep.equal([ { @@ -82,7 +82,7 @@ const ss58Format = helper.chain.getChainProperties().ss58Format; const {collectionId, collectionAddress} = await helper.eth.createNFTCollection(owner, 'Sponsor', 'absolutely anything', 'ROC'); - const collection = await helper.ethNativeContract.collection(collectionAddress, 'nft', owner, true); + const collection = helper.ethNativeContract.collection(collectionAddress, 'nft', owner, true); await collection.methods.setCollectionSponsor(sponsor).send(); let data = (await helper.nft.getData(collectionId))!; @@ -90,7 +90,7 @@ await expect(collection.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('ConfirmSponsorshipFail'); - const sponsorCollection = await helper.ethNativeContract.collection(collectionAddress, 'nft', sponsor, true); + const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'nft', sponsor, true); await sponsorCollection.methods.confirmCollectionSponsorship().send(); data = (await helper.nft.getData(collectionId))!; @@ -104,7 +104,7 @@ const description = 'absolutely anything'; const {collectionId, collectionAddress} = await helper.eth.createNFTCollection(owner, 'Sponsor', description, 'ROC'); - const collection = await helper.ethNativeContract.collection(collectionAddress, 'nft', owner); + const collection = helper.ethNativeContract.collection(collectionAddress, 'nft', owner); const sponsorCross = helper.ethCrossAccount.fromAddress(sponsor); await collection.methods.setCollectionSponsorCross(sponsorCross).send(); @@ -125,7 +125,7 @@ itEth('Collection address exist', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); const collectionAddressForNonexistentCollection = '0x17C4E6453CC49AAAAEACA894E6D9683E00112233'; - const collectionHelpers = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelpers = helper.ethNativeContract.collectionHelpers(owner); expect(await collectionHelpers .methods.isCollectionExist(collectionAddressForNonexistentCollection).call()) @@ -137,7 +137,7 @@ .to.be.true; // check collectionOwner: - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'ft', owner, true); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'ft', owner, true); const collectionOwner = await collectionEvm.methods.collectionOwner().call(); expect(helper.address.restoreCrossAccountFromBigInt(BigInt(collectionOwner.sub))).to.eq(helper.address.ethToSubstrate(owner, true)); }); @@ -156,7 +156,7 @@ itEth('(!negative test!) Create collection (bad lengths)', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); { const MAX_NAME_LENGTH = 64; const collectionName = 'A'.repeat(MAX_NAME_LENGTH + 1); @@ -190,7 +190,7 @@ itEth('(!negative test!) Create collection (no funds)', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); await expect(collectionHelper.methods .createNFTCollection('Peasantry', 'absolutely anything', 'CVE') .call({value: Number(1n * nominal)})).to.be.rejectedWith('Sent amount not equals to collection creation price (2000000000000000000)'); @@ -209,7 +209,7 @@ .setCollectionSponsor(sponsor) .call()).to.be.rejectedWith(EXPECTED_ERROR); - const sponsorCollection = await helper.ethNativeContract.collection(collectionAddress, 'nft', sponsor, true); + const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'nft', sponsor, true); await expect(sponsorCollection.methods .confirmCollectionSponsorship() .call()).to.be.rejectedWith('ConfirmSponsorshipFail'); @@ -225,7 +225,7 @@ const owner = await helper.eth.createAccountWithBalance(donor); const malfeasant = helper.eth.createAccount(); const {collectionAddress} = await helper.eth.createNFTCollection(owner, 'Transgressed', 'absolutely anything', 'COR'); - const malfeasantCollection = await helper.ethNativeContract.collection(collectionAddress, 'nft', malfeasant); + const malfeasantCollection = helper.ethNativeContract.collection(collectionAddress, 'nft', malfeasant); const EXPECTED_ERROR = 'NoPermission'; { const sponsor = await helper.eth.createAccountWithBalance(donor); @@ -234,7 +234,7 @@ .setCollectionSponsorCross(sponsorCross) .call()).to.be.rejectedWith(EXPECTED_ERROR); - const sponsorCollection = await helper.ethNativeContract.collection(collectionAddress, 'nft', sponsor); + const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'nft', sponsor); await expect(sponsorCollection.methods .confirmCollectionSponsorship() .call()).to.be.rejectedWith('ConfirmSponsorshipFail'); @@ -249,7 +249,7 @@ itEth('destroyCollection', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); const {collectionAddress, collectionId} = await helper.eth.createNFTCollection(owner, 'Limits', 'absolutely anything', 'OLF'); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); const result = await collectionHelper.methods --- a/tests/src/eth/createRFTCollection.test.ts +++ b/tests/src/eth/createRFTCollection.test.ts @@ -95,7 +95,7 @@ const ss58Format = helper.chain.getChainProperties().ss58Format; const {collectionId, collectionAddress} = await helper.eth.createRFTCollection(owner, 'Sponsor', 'absolutely anything', 'ENVY'); - const collection = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner, true); + const collection = helper.ethNativeContract.collection(collectionAddress, 'rft', owner, true); await collection.methods.setCollectionSponsor(sponsor).send(); let data = (await helper.rft.getData(collectionId))!; @@ -103,7 +103,7 @@ await expect(collection.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('ConfirmSponsorshipFail'); - const sponsorCollection = await helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor, true); + const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor, true); await sponsorCollection.methods.confirmCollectionSponsorship().send(); data = (await helper.rft.getData(collectionId))!; @@ -116,7 +116,7 @@ const ss58Format = helper.chain.getChainProperties().ss58Format; const {collectionId, collectionAddress} = await helper.eth.createRFTCollection(owner, 'Sponsor', 'absolutely anything', 'ENVY'); - const collection = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner); + const collection = helper.ethNativeContract.collection(collectionAddress, 'rft', owner); const sponsorCross = helper.ethCrossAccount.fromAddress(sponsor); await collection.methods.setCollectionSponsorCross(sponsorCross).send(); @@ -125,7 +125,7 @@ await expect(collection.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('ConfirmSponsorshipFail'); - const sponsorCollection = await helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor); + const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor); await sponsorCollection.methods.confirmCollectionSponsorship().send(); data = (await helper.rft.getData(collectionId))!; @@ -135,7 +135,7 @@ itEth('Collection address exist', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); const collectionAddressForNonexistentCollection = '0x17C4E6453CC49AAAAEACA894E6D9683E00112233'; - const collectionHelpers = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelpers = helper.ethNativeContract.collectionHelpers(owner); expect(await collectionHelpers .methods.isCollectionExist(collectionAddressForNonexistentCollection).call()) @@ -147,7 +147,7 @@ .to.be.true; // check collectionOwner: - const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'ft', owner, true); + const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'ft', owner, true); const collectionOwner = await collectionEvm.methods.collectionOwner().call(); expect(helper.address.restoreCrossAccountFromBigInt(BigInt(collectionOwner.sub))).to.eq(helper.address.ethToSubstrate(owner, true)); }); @@ -167,7 +167,7 @@ itEth('(!negative test!) Create collection (bad lengths)', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); { const MAX_NAME_LENGTH = 64; const collectionName = 'A'.repeat(MAX_NAME_LENGTH + 1); @@ -200,7 +200,7 @@ itEth('(!negative test!) Create collection (no funds)', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); await expect(collectionHelper.methods .createRFTCollection('Peasantry', 'absolutely anything', 'TWIW') .call({value: Number(1n * nominal)})).to.be.rejectedWith('Sent amount not equals to collection creation price (2000000000000000000)'); @@ -211,7 +211,7 @@ const owner = await helper.eth.createAccountWithBalance(donor); const peasant = helper.eth.createAccount(); const {collectionAddress} = await helper.eth.createRFTCollection(owner, 'Transgressed', 'absolutely anything', 'YVNE'); - const peasantCollection = await helper.ethNativeContract.collection(collectionAddress, 'rft', peasant, true); + const peasantCollection = helper.ethNativeContract.collection(collectionAddress, 'rft', peasant, true); const EXPECTED_ERROR = 'NoPermission'; { const sponsor = await helper.eth.createAccountWithBalance(donor); @@ -219,7 +219,7 @@ .setCollectionSponsor(sponsor) .call()).to.be.rejectedWith(EXPECTED_ERROR); - const sponsorCollection = await helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor, true); + const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor, true); await expect(sponsorCollection.methods .confirmCollectionSponsorship() .call()).to.be.rejectedWith('ConfirmSponsorshipFail'); @@ -235,7 +235,7 @@ const owner = await helper.eth.createAccountWithBalance(donor); const peasant = helper.eth.createAccount(); const {collectionAddress} = await helper.eth.createRFTCollection(owner, 'Transgressed', 'absolutely anything', 'YVNE'); - const peasantCollection = await helper.ethNativeContract.collection(collectionAddress, 'rft', peasant); + const peasantCollection = helper.ethNativeContract.collection(collectionAddress, 'rft', peasant); const EXPECTED_ERROR = 'NoPermission'; { const sponsor = await helper.eth.createAccountWithBalance(donor); @@ -244,7 +244,7 @@ .setCollectionSponsorCross(sponsorCross) .call()).to.be.rejectedWith(EXPECTED_ERROR); - const sponsorCollection = await helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor); + const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor); await expect(sponsorCollection.methods .confirmCollectionSponsorship() .call()).to.be.rejectedWith('ConfirmSponsorshipFail'); @@ -259,7 +259,7 @@ itEth('destroyCollection', async ({helper}) => { const owner = await helper.eth.createAccountWithBalance(donor); const {collectionAddress, collectionId} = await helper.eth.createRFTCollection(owner, 'Limits', 'absolutely anything', 'OLF'); - const collectionHelper = await helper.ethNativeContract.collectionHelpers(owner); + const collectionHelper = helper.ethNativeContract.collectionHelpers(owner); await expect(collectionHelper.methods .destroyCollection(collectionAddress) --- a/tests/src/eth/util/playgrounds/unique.dev.ts +++ b/tests/src/eth/util/playgrounds/unique.dev.ts @@ -207,7 +207,7 @@ } private async createTransaction() { - const collectionHelper = await this.helper.ethNativeContract.collectionHelpers(this.signer); + const collectionHelper = this.helper.ethNativeContract.collectionHelpers(this.signer); let collectionMode; switch (this.data.collectionMode) { case 'nft': collectionMode = CollectionMode.Nonfungible; break; --- a/tests/src/util/index.ts +++ b/tests/src/util/index.ts @@ -15,6 +15,7 @@ import {dirname} from 'path'; import {fileURLToPath} from 'url'; +chai.config.truncateThreshold = 0; chai.use(chaiAsPromised); chai.use(chaiSubset); export const expect = chai.expect; --- a/tests/src/util/playgrounds/unique.dev.ts +++ b/tests/src/util/playgrounds/unique.dev.ts @@ -41,7 +41,9 @@ for(const arg of args) { if(typeof arg !== 'string') continue; - if(arg.includes('1000:: Normal connection closure') || arg.includes('Not decorating unknown runtime apis:') || arg.includes('RPC methods not decorated:') || arg === 'Normal connection closure') + const skippedWarnings = ['1000:: Normal connection closure', 'Not decorating unknown runtime apis:', 'RPC methods not decorated:', 'Not decorating runtime apis']; + const needToSkip = skippedWarnings.reduce((a, b) => a || arg.includes(b), false); + if(needToSkip || arg === 'Normal connection closure') return; } printer(...args);