git.delta.rocks / unique-network / refs/commits / 907025f80376

difftreelog

Revert "fix: tests around foreign flag"

Daniel Shiposha2023-10-19parent: #799ca39.patch.diff
in: master
This reverts commit 15c1841ae27ac9664160f5567f05b4c933618062.

3 files changed

modifiedjs-packages/playgrounds/types.tsdiffbeforeafterboth
--- a/js-packages/playgrounds/types.ts
+++ b/js-packages/playgrounds/types.ts
@@ -160,6 +160,8 @@
   External = 1,
   /// Supports ERC721Metadata
   Erc721metadata = 64,
+  /// Tokens in foreign collections can be transferred, but not burnt
+  Foreign = 128,
 }
 
 export interface ICollectionCreationOptions {
modifiedjs-packages/tests/createCollection.test.tsdiffbeforeafterboth
107 flags: [CollectionFlag.Erc721metadata],107 flags: [CollectionFlag.Erc721metadata],
108 }, 'nft');108 }, 'nft');
109
110 // User can not set Foreign flag itself
111
112 await expect(mintCollectionHelper(helper, alice, {
113 name: 'name', description: 'descr', tokenPrefix: 'COL',
114 flags: [CollectionFlag.Foreign],
115 }, 'nft')).to.be.rejectedWith(/common.NoPermission/);
116
117 await expect(mintCollectionHelper(helper, alice, {
118 name: 'name', description: 'descr', tokenPrefix: 'COL',
119 flags: [CollectionFlag.Erc721metadata, CollectionFlag.Foreign],
120 }, 'nft')).to.be.rejectedWith(/common.NoPermission/);
109 });121 });
110122
111 itSub('Create new collection with extra fields', async ({helper}) => {123 itSub('Create new collection with extra fields', async ({helper}) => {
modifiedjs-packages/tests/eth/createCollection.test.tsdiffbeforeafterboth
--- a/js-packages/tests/eth/createCollection.test.ts
+++ b/js-packages/tests/eth/createCollection.test.ts
@@ -1404,16 +1404,16 @@
 
       {
         const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: 0}).send();
-        expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({erc721metadata: false});
+        expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({foreign: false, erc721metadata: false});
       }
 
       {
         const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: 64}).send();
-        expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({erc721metadata: true});
+        expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({foreign: false, erc721metadata: true});
       }
     });
 
-    itEth('NFT: cannot set a reserved flag number', async ({helper}) => {
+    itEth('NFT: can\'t set foreign flag number', async ({helper}) => {
       const owner = await helper.eth.createAccountWithBalance(donor);
 
       {
@@ -1430,7 +1430,19 @@
 
       {
         const {collectionId} = await helper.eth.createCollection(owner, {...createCollectionData, flags: [CollectionFlag.Erc721metadata]}).send();
-        expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({erc721metadata: true});
+        expect((await helper.nft.getData(collectionId))?.raw.flags).to.be.deep.equal({foreign: false, erc721metadata: true});
+      }
+    });
+
+    itEth('NFT: foreign flag enum is ignored', async ({helper}) => {
+      const owner = await helper.eth.createAccountWithBalance(donor);
+
+      {
+        await expect(helper.eth.createCollection(owner, {...createCollectionData, flags: [CollectionFlag.Foreign]}).call({from: owner})).to.be.rejectedWith(/internal flags were used/);
+      }
+
+      {
+        await expect(helper.eth.createCollection(owner, {...createCollectionData, flags: [CollectionFlag.Erc721metadata | CollectionFlag.Foreign]}).call({from: owner})).to.be.rejectedWith(/internal flags were used/);
       }
     });
   });