git.delta.rocks / unique-network / refs/commits / fe592a57cb49

difftreelog

Collision tests fixed

str-mv2021-09-09parent: #8d1373a.patch.diff
in: master

10 files changed

modifiedtests/src/collision-tests/admVsOwnerChanges.test.tsdiffbeforeafterboth
--- a/tests/src/collision-tests/admVsOwnerChanges.test.ts
+++ b/tests/src/collision-tests/admVsOwnerChanges.test.ts
@@ -4,8 +4,13 @@
 import privateKey from '../substrate/privateKey';
 import usingApi, { submitTransactionAsync } from '../substrate/substrate-api';
 import {
+  addCollectionAdminExpectSuccess,
+  approveExpectSuccess,
   createCollectionExpectSuccess,
   createItemExpectSuccess,
+  transferFromExpectSuccess,
+  transferExpectSuccess,
+  normalizeAccountId,
 } from '../util/helpers';
 
 chai.use(chaiAsPromised);
@@ -25,18 +30,19 @@
 describe('Admin vs Owner changes token: ', () => {
   // tslint:disable-next-line: max-line-length
   it('The collection admin changes the owner of the token and in the same block the current owner transfers the token to another address ', async () => {
+    
     await usingApi(async (api) => {
       const collectionId = await createCollectionExpectSuccess();
-      const changeAdminTxBob = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      const changeAdminTxBob = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Bob.address));
       await submitTransactionAsync(Alice, changeAdminTxBob);
       const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
-      const changeAdminTxFerdie = api.tx.nft.addCollectionAdmin(collectionId, Ferdie.address);
+      const changeAdminTxFerdie = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Ferdie.address));
       await submitTransactionAsync(Bob, changeAdminTxFerdie);
       const itemId = await createItemExpectSuccess(Ferdie, collectionId, 'NFT');
-      //
-      const changeOwner = api.tx.nft.transferFrom(Ferdie.address, Bob.address, collectionId, itemId, 1);
-      const approve = api.tx.nft.approve(Bob.address, collectionId, itemId, 1);
-      const sendItem = api.tx.nft.transfer(Alice.address, collectionId, itemId, 1);
+      
+      const changeOwner = api.tx.nft.transferFrom(normalizeAccountId(Ferdie.address), normalizeAccountId(Bob.address), collectionId, itemId, 1);
+      const approve = api.tx.nft.approve(normalizeAccountId(Bob.address), collectionId, itemId, 1);
+      const sendItem = api.tx.nft.transfer(normalizeAccountId(Alice.address), collectionId, itemId, 1);
       await Promise.all([
         changeOwner.signAndSend(Alice),
         approve.signAndSend(Bob),
modifiedtests/src/collision-tests/admVsOwnerData.test.tsdiffbeforeafterboth
--- a/tests/src/collision-tests/admVsOwnerData.test.ts
+++ b/tests/src/collision-tests/admVsOwnerData.test.ts
@@ -6,6 +6,7 @@
 import {
   createCollectionExpectSuccess,
   createItemExpectSuccess,
+  normalizeAccountId,
 } from '../util/helpers';
 
 chai.use(chaiAsPromised);
@@ -26,7 +27,7 @@
       const AliceData = 1;
       const BobData = 2;
       const collectionId = await createCollectionExpectSuccess();
-      const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Bob.address));
       await submitTransactionAsync(Alice, changeAdminTx);
       const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
       const itemId = await createItemExpectSuccess(Bob, collectionId, 'NFT');
modifiedtests/src/collision-tests/admVsOwnerTake.test.tsdiffbeforeafterboth
--- a/tests/src/collision-tests/admVsOwnerTake.test.ts
+++ b/tests/src/collision-tests/admVsOwnerTake.test.ts
@@ -6,6 +6,7 @@
 import {
   createCollectionExpectSuccess,
   createItemExpectSuccess,
+  normalizeAccountId,
 } from '../util/helpers';
 
 chai.use(chaiAsPromised);
@@ -27,18 +28,18 @@
   it('The collection admin burns the token and in the same block the token owner performs a transaction on it ', async () => {
     await usingApi(async (api) => {
       const collectionId = await createCollectionExpectSuccess();
-      const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Bob.address));
       await submitTransactionAsync(Alice, changeAdminTx);
       const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
       const itemId = await createItemExpectSuccess(Bob, collectionId, 'NFT');
       //
-      const sendItem = api.tx.nft.transfer(Ferdie.address, collectionId, itemId, 1);
+      const sendItem = api.tx.nft.transfer(normalizeAccountId(Ferdie.address), collectionId, itemId, 1);
       const burnItem = api.tx.nft.burnItem(collectionId, itemId, 1);
       await Promise.all([
         sendItem.signAndSend(Bob),
         burnItem.signAndSend(Alice),
       ]);
-      await timeoutPromise(10000);
+      await timeoutPromise(20000);
       let itemBurn = false;
       itemBurn = (await (api.query.nft.nftItemList(collectionId, itemId))).toJSON() as boolean;
       // tslint:disable-next-line: no-unused-expression
modifiedtests/src/collision-tests/adminDestroyCollection.test.tsdiffbeforeafterboth
--- a/tests/src/collision-tests/adminDestroyCollection.test.ts
+++ b/tests/src/collision-tests/adminDestroyCollection.test.ts
@@ -5,6 +5,7 @@
 import usingApi, { submitTransactionAsync } from '../substrate/substrate-api';
 import {
   createCollectionExpectSuccess,
+  normalizeAccountId,
 } from '../util/helpers';
 
 chai.use(chaiAsPromised);
@@ -26,12 +27,12 @@
   it('Adding an address to the collection whitelist in a block by the admin, and deleting the collection by the owner ', async () => {
     await usingApi(async (api) => {
       const collectionId = await createCollectionExpectSuccess();
-      const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Bob.address));
       await submitTransactionAsync(Alice, changeAdminTx);
       const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
       await timeoutPromise(10000);
       //
-      const addWhitelistAdm = api.tx.nft.addToWhiteList(collectionId, Ferdie.address);
+      const addWhitelistAdm = api.tx.nft.addToWhiteList(collectionId, normalizeAccountId(Ferdie.address));
       const destroyCollection = api.tx.nft.destroyCollection(collectionId);
       await Promise.all([
         addWhitelistAdm.signAndSend(Bob),
modifiedtests/src/collision-tests/adminLimitsOff.test.tsdiffbeforeafterboth
--- a/tests/src/collision-tests/adminLimitsOff.test.ts
+++ b/tests/src/collision-tests/adminLimitsOff.test.ts
@@ -6,6 +6,7 @@
 import usingApi, { submitTransactionAsync, submitTransactionExpectFailAsync } from '../substrate/substrate-api';
 import {
   createCollectionExpectSuccess,
+  normalizeAccountId,
 } from '../util/helpers';
 
 chai.use(chaiAsPromised);
@@ -37,28 +38,28 @@
       const chainAdminLimit = (api.consts.nft.collectionAdminsLimit as any).toNumber();
       expect(chainAdminLimit).to.be.equal(5);
 
-      const changeAdminTx1 = api.tx.nft.addCollectionAdmin(collectionId, Eve.address);
+      const changeAdminTx1 = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Eve.address));
       await submitTransactionAsync(Alice, changeAdminTx1);
-      const changeAdminTx2 = api.tx.nft.addCollectionAdmin(collectionId, Dave.address);
+      const changeAdminTx2 = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Dave.address));
       await submitTransactionAsync(Alice, changeAdminTx2);
-      const changeAdminTx3 = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      const changeAdminTx3 = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Bob.address));
       await submitTransactionAsync(Alice, changeAdminTx3);
 
       const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
-      const addAdmOne = api.tx.nft.addCollectionAdmin(collectionId, Ferdie.address);
-      const addAdmTwo = api.tx.nft.addCollectionAdmin(collectionId, Charlie.address);
+      const addAdmOne = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Ferdie.address));
+      const addAdmTwo = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Charlie.address));
       await Promise.all([
         addAdmOne.signAndSend(Bob),
         addAdmTwo.signAndSend(Alice),
       ]);
-      await timeoutPromise(10000);
-      const changeAdminTx4 = api.tx.nft.addCollectionAdmin(collectionId, Alice.address);
+      await timeoutPromise(20000);
+      const changeAdminTx4 = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Alice.address));
       await expect(submitTransactionExpectFailAsync(Alice, changeAdminTx4)).to.be.rejected;
 
       const adminListAfterAddAdmin: any = (await api.query.nft.adminList(collectionId));
-      expect(adminListAfterAddAdmin).to.be.contains(Eve.address);
-      expect(adminListAfterAddAdmin).to.be.contains(Ferdie.address);
-      expect(adminListAfterAddAdmin).not.to.be.contains(Alice.address);
+      expect(adminListAfterAddAdmin).to.be.contains(normalizeAccountId(Eve.address));
+      expect(adminListAfterAddAdmin).to.be.contains(normalizeAccountId(Ferdie.address));
+      expect(adminListAfterAddAdmin).not.to.be.contains(normalizeAccountId(Alice.address));
       await timeoutPromise(20000);
     });
   });
modifiedtests/src/collision-tests/adminRightsOff.test.tsdiffbeforeafterboth
--- a/tests/src/collision-tests/adminRightsOff.test.ts
+++ b/tests/src/collision-tests/adminRightsOff.test.ts
@@ -6,6 +6,7 @@
 import usingApi, { submitTransactionAsync } from '../substrate/substrate-api';
 import {
   createCollectionExpectSuccess,
+  normalizeAccountId,
 } from '../util/helpers';
 
 chai.use(chaiAsPromised);
@@ -25,22 +26,22 @@
   it('In the block, the collection admin adds a token or changes data, and the collection owner deprives the admin of rights ', async () => {
     await usingApi(async (api) => {
       const collectionId = await createCollectionExpectSuccess();
-      const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);
+      const changeAdminTx = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Bob.address));
       await submitTransactionAsync(Alice, changeAdminTx);
       const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
       await timeoutPromise(10000);
       const args = [{ nft: ['0x31', '0x31'] }, { nft: ['0x32', '0x32'] }, { nft: ['0x33', '0x33'] }];
-      const addItemAdm = api.tx.nft.createMultipleItems(collectionId, Bob.address, args);
-      const removeAdm = api.tx.nft.removeCollectionAdmin(collectionId, Bob.address);
+      const addItemAdm = api.tx.nft.createMultipleItems(collectionId, normalizeAccountId(Bob.address), args);
+      const removeAdm = api.tx.nft.removeCollectionAdmin(collectionId, normalizeAccountId(Bob.address));
       await Promise.all([
         addItemAdm.signAndSend(Bob),
         removeAdm.signAndSend(Alice),
       ]);
-      await timeoutPromise(10000);
+      await timeoutPromise(20000);
       const itemsListIndex = await api.query.nft.itemListIndex(collectionId) as unknown as BN;
       expect(itemsListIndex.toNumber()).to.be.equal(0);
       const adminList: any = (await api.query.nft.adminList(collectionId));
-      expect(adminList).not.to.be.contains(Bob.address);
+      expect(adminList).not.to.be.contains(normalizeAccountId(Bob.address));
       await timeoutPromise(20000);
     });
   });
modifiedtests/src/collision-tests/setSponsorNewOwner.test.tsdiffbeforeafterboth
--- a/tests/src/collision-tests/setSponsorNewOwner.test.ts
+++ b/tests/src/collision-tests/setSponsorNewOwner.test.ts
@@ -4,7 +4,9 @@
 import privateKey from '../substrate/privateKey';
 import usingApi from '../substrate/substrate-api';
 import {
-  createCollectionExpectSuccess, setCollectionSponsorExpectSuccess,
+  createCollectionExpectSuccess, 
+  setCollectionSponsorExpectSuccess,
+  normalizeAccountId,
 } from '../util/helpers';
 
 chai.use(chaiAsPromised);
@@ -28,16 +30,16 @@
       const collectionId = await createCollectionExpectSuccess();
       await setCollectionSponsorExpectSuccess(collectionId, Bob.address);
       const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
-      await timeoutPromise(10000);
+      await timeoutPromise(20000);
       const confirmSponsorship = api.tx.nft.confirmSponsorship(collectionId);
       const changeCollectionOwner = api.tx.nft.changeCollectionOwner(collectionId, Ferdie.address);
       await Promise.all([
         confirmSponsorship.signAndSend(Bob),
         changeCollectionOwner.signAndSend(Alice),
       ]);
-      await timeoutPromise(10000);
+      await timeoutPromise(20000);
       const collection: any = (await api.query.nft.collectionById(collectionId)).toJSON();
-      expect(collection.Sponsorship.Confirmed).to.be.eq(Bob.address);
+      expect(collection.Sponsorship.confirmed).to.be.eq(Bob.address);
       expect(collection.Owner).to.be.eq(Ferdie.address);
       await timeoutPromise(20000);
     });
modifiedtests/src/collision-tests/sponsorPayments.test.tsdiffbeforeafterboth
10 createCollectionExpectSuccess,10 createCollectionExpectSuccess,
11 createItemExpectSuccess,11 createItemExpectSuccess,
12 setCollectionSponsorExpectSuccess,12 setCollectionSponsorExpectSuccess,
13 normalizeAccountId,
13} from '../util/helpers';14} from '../util/helpers';
1415
15chai.use(chaiAsPromised);16chai.use(chaiAsPromised);
29 it('Payment of commission if one block contains transactions for payment from the sponsor\'s balance and his (sponsor\'s) exclusion from the collection ', async () => {30 it('Payment of commission if one block contains transactions for payment from the sponsor\'s balance and his (sponsor\'s) exclusion from the collection ', async () => {
30 await usingApi(async (api) => {31 await usingApi(async (api) => {
31 const collectionId = await createCollectionExpectSuccess();32 const collectionId = await createCollectionExpectSuccess();
32 const changeAdminTxBob = api.tx.nft.addCollectionAdmin(collectionId, Bob.address);33 const changeAdminTxBob = api.tx.nft.addCollectionAdmin(collectionId, normalizeAccountId(Bob.address));
33 await submitTransactionAsync(Alice, changeAdminTxBob);34 await submitTransactionAsync(Alice, changeAdminTxBob);
34 const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));35 const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
35 const itemId = await createItemExpectSuccess(Bob, collectionId, 'NFT');36 const itemId = await createItemExpectSuccess(Bob, collectionId, 'NFT');
36 await setCollectionSponsorExpectSuccess(collectionId, Bob.address);37 await setCollectionSponsorExpectSuccess(collectionId, Bob.address);
37 await confirmSponsorshipExpectSuccess(collectionId, '//Bob');38 await confirmSponsorshipExpectSuccess(collectionId, '//Bob');
3839
39 const [alicesBalanceBefore, bobsBalanceBefore] = await getBalance(api, [alicesPublicKey, bobsPublicKey]);40 const [alicesBalanceBefore, bobsBalanceBefore] = await getBalance(api, [alicesPublicKey, bobsPublicKey]);
40 const sendItem = api.tx.nft.transfer(Alice.address, collectionId, itemId, 1);41 const sendItem = api.tx.nft.transfer(normalizeAccountId(Alice.address), collectionId, itemId, 1);
41 const revokeSponsor = api.tx.nft.removeCollectionSponsor(collectionId);42 const revokeSponsor = api.tx.nft.removeCollectionSponsor(collectionId);
42 await Promise.all([43 await Promise.all([
43 sendItem.signAndSend(Bob),44 sendItem.signAndSend(Bob),
modifiedtests/src/collision-tests/tokenLimitsOff.test.tsdiffbeforeafterboth
--- a/tests/src/collision-tests/tokenLimitsOff.test.ts
+++ b/tests/src/collision-tests/tokenLimitsOff.test.ts
@@ -9,6 +9,7 @@
   createCollectionExpectSuccess,
   getCreateItemResult,
   setMintPermissionExpectSuccess,
+  normalizeAccountId,
 } from '../util/helpers';
 
 chai.use(chaiAsPromised);
@@ -57,22 +58,22 @@
       // tslint:disable-next-line:no-unused-expression
       expect(subTxTesult.success).to.be.true;
       const timeoutPromise = (timeout: number) => new Promise((resolve) => setTimeout(resolve, timeout));
-      await timeoutPromise(10000);
+      await timeoutPromise(20000);
 
       const args = [{ nft: ['0x31', '0x31'] }, { nft: ['0x32', '0x32'] }, { nft: ['0x33', '0x33'] }];
       const mintItemOne = api.tx.nft
-        .createMultipleItems(collectionId, Ferdie.address, args);
+        .createMultipleItems(collectionId, normalizeAccountId(Ferdie.address), args);
       const mintItemTwo = api.tx.nft
-        .createMultipleItems(collectionId, Bob.address, args);
+        .createMultipleItems(collectionId, normalizeAccountId(Bob.address), args);
       await Promise.all([
         mintItemOne.signAndSend(Ferdie),
         mintItemTwo.signAndSend(Bob),
       ]);
-      await timeoutPromise(10000);
+      await timeoutPromise(20000);
       const itemsListIndexAfter = await api.query.nft.itemListIndex(collectionId) as unknown as BN;
       expect(itemsListIndexAfter.toNumber()).to.be.equal(3);
       // TokenLimit = 4. The first transaction is successful. The second should fail.
-      await timeoutPromise(10000);
+      await timeoutPromise(20000);
     });
   });
 });
modifiedtests/src/collision-tests/turnsOffMinting.test.tsdiffbeforeafterboth
--- a/tests/src/collision-tests/turnsOffMinting.test.ts
+++ b/tests/src/collision-tests/turnsOffMinting.test.ts
@@ -7,6 +7,7 @@
   addToWhiteListExpectSuccess,
   createCollectionExpectSuccess,
   setMintPermissionExpectSuccess,
+  normalizeAccountId,
 } from '../util/helpers';
 
 chai.use(chaiAsPromised);
@@ -30,7 +31,7 @@
       await setMintPermissionExpectSuccess(Alice, collectionId, true);
       await addToWhiteListExpectSuccess(Alice, collectionId, Ferdie.address);
 
-      const mintItem = api.tx.nft.createItem(collectionId, Ferdie.address, 'NFT');
+      const mintItem = api.tx.nft.createItem(collectionId, normalizeAccountId(Ferdie.address), 'NFT');
       const offMinting = api.tx.nft.setMintPermission(collectionId, false);
       await Promise.all([
         mintItem.signAndSend(Ferdie),