difftreelog
Fix eslint errors
in: master
5 files changed
tests/src/eth/base.test.tsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617import {Contract} from 'web3-eth-contract';1819import {IKeyringPair} from '@polkadot/types/types';20import {EthUniqueHelper, itEth, usingEthPlaygrounds, expect} from './util';212223describe('Contract calls', () => {24 let donor: IKeyringPair;2526 before(async function () {27 await usingEthPlaygrounds(async (_helper, privateKey) => {28 donor = await privateKey({filename: __filename});29 });30 });3132 itEth('Call of simple contract fee is less than 0.2 UNQ', async ({helper}) => {33 const deployer = await helper.eth.createAccountWithBalance(donor);34 const flipper = await helper.eth.deployFlipper(deployer);3536 const cost = await helper.eth.calculateFee({Ethereum: deployer}, () => flipper.methods.flip().send({from: deployer}));37 expect(cost < BigInt(0.2 * Number(helper.balance.getOneTokenNominal()))).to.be.true;38 });3940 itEth('Balance transfer fee is less than 0.2 UNQ', async ({helper}) => {41 const userA = await helper.eth.createAccountWithBalance(donor);42 const userB = helper.eth.createAccount();43 const cost = await helper.eth.calculateFee({Ethereum: userA}, () => helper.getWeb3().eth.sendTransaction({44 from: userA,45 to: userB,46 value: '1000000',47 gas: helper.eth.DEFAULT_GAS48 }));49 const balanceB = await helper.balance.getEthereum(userB);50 expect(cost - balanceB < BigInt(0.2 * Number(helper.balance.getOneTokenNominal()))).to.be.true;51 });5253 itEth('NFT transfer is close to 0.15 UNQ', async ({helper}) => {54 const caller = await helper.eth.createAccountWithBalance(donor);55 const receiver = helper.eth.createAccount();5657 const [alice] = await helper.arrange.createAccounts([10n], donor);58 const collection = await helper.nft.mintCollection(alice, {name: 'test', description: 'test', tokenPrefix: 'test'});59 const {tokenId} = await collection.mintToken(alice, {Ethereum: caller});6061 const address = helper.ethAddress.fromCollectionId(collection.collectionId);62 const contract = helper.ethNativeContract.collection(address, 'nft', caller);6364 const cost = await helper.eth.calculateFee({Ethereum: caller}, () => contract.methods.transfer(receiver, tokenId).send(caller));6566 const fee = Number(cost) / Number(helper.balance.getOneTokenNominal());67 const expectedFee = 0.15;68 const tolerance = 0.001;6970 expect(Math.abs(fee - expectedFee)).to.be.lessThan(tolerance);71 });72});7374describe('ERC165 tests', async () => {75 // https://eips.ethereum.org/EIPS/eip-1657677 let erc721MetadataCompatibleNftCollectionId: number;78 let simpleNftCollectionId: number;79 let minter: string;8081 const BASE_URI = 'base/';8283 async function checkInterface(helper: EthUniqueHelper, interfaceId: string, simpleResult: boolean, compatibleResult: boolean) {84 const simple = helper.ethNativeContract.collection(helper.ethAddress.fromCollectionId(simpleNftCollectionId), 'nft', minter);85 const compatible = helper.ethNativeContract.collection(helper.ethAddress.fromCollectionId(erc721MetadataCompatibleNftCollectionId), 'nft', minter);8687 expect(await simple.methods.supportsInterface(interfaceId).call()).to.equal(simpleResult, `empty (not ERC721Metadata compatible) NFT collection returns not ${simpleResult}`);88 expect(await compatible.methods.supportsInterface(interfaceId).call()).to.equal(compatibleResult, `ERC721Metadata compatible NFT collection returns not ${compatibleResult}`);89 }9091 before(async () => {92 await usingEthPlaygrounds(async (helper, privateKey) => {93 const donor = await privateKey({filename: __filename});94 const [alice] = await helper.arrange.createAccounts([10n], donor);95 ({collectionId: simpleNftCollectionId} = await helper.nft.mintCollection(alice, {name: 'test', description: 'test', tokenPrefix: 'test'}));96 minter = helper.eth.createAccount();97 ({collectionId: erc721MetadataCompatibleNftCollectionId} = await helper.eth.createERC721MetadataCompatibleNFTCollection(minter, 'n', 'd', 'p', BASE_URI));98 });99 });100101 itEth('nonexistent interfaceID - 0xffffffff - always false', async ({helper}) => {102 await checkInterface(helper, '0xffffffff', false, false);103 });104105 itEth('ERC721 - 0x780e9d63 - support', async ({helper}) => {106 await checkInterface(helper, '0x780e9d63', true, true);107 });108109 itEth('ERC721Metadata - 0x5b5e139f - support', async ({helper}) => {110 await checkInterface(helper, '0x5b5e139f', false, true);111 });112113 itEth('ERC721UniqueMintable - 0x476ff149 - support', async ({helper}) => {114 await checkInterface(helper, '0x476ff149', true, true);115 });116117 itEth('ERC721Enumerable - 0x780e9d63 - support', async ({helper}) => {118 await checkInterface(helper, '0x780e9d63', true, true);119 });120121 itEth('ERC721UniqueExtensions - 0x4468500d - support', async ({helper}) => {122 await checkInterface(helper, '0x4468500d', true, true);123 });124125 itEth('ERC721Burnable - 0x42966c68 - support', async ({helper}) => {126 await checkInterface(helper, '0x42966c68', true, true);127 });128129 itEth('ERC165 - 0x01ffc9a7 - support', async ({helper}) => {130 await checkInterface(helper, '0x01ffc9a7', true, true);131 });132});1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617import {Contract} from 'web3-eth-contract';1819import {IKeyringPair} from '@polkadot/types/types';20import {EthUniqueHelper, itEth, usingEthPlaygrounds, expect} from './util';212223describe('Contract calls', () => {24 let donor: IKeyringPair;2526 before(async function () {27 await usingEthPlaygrounds(async (_helper, privateKey) => {28 donor = await privateKey({filename: __filename});29 });30 });3132 itEth('Call of simple contract fee is less than 0.2 UNQ', async ({helper}) => {33 const deployer = await helper.eth.createAccountWithBalance(donor);34 const flipper = await helper.eth.deployFlipper(deployer);3536 const cost = await helper.eth.calculateFee({Ethereum: deployer}, () => flipper.methods.flip().send({from: deployer}));37 expect(cost < BigInt(0.2 * Number(helper.balance.getOneTokenNominal()))).to.be.true;38 });3940 itEth('Balance transfer fee is less than 0.2 UNQ', async ({helper}) => {41 const userA = await helper.eth.createAccountWithBalance(donor);42 const userB = helper.eth.createAccount();43 const cost = await helper.eth.calculateFee({Ethereum: userA}, () => helper.getWeb3().eth.sendTransaction({44 from: userA,45 to: userB,46 value: '1000000',47 gas: helper.eth.DEFAULT_GAS,48 }));49 const balanceB = await helper.balance.getEthereum(userB);50 expect(cost - balanceB < BigInt(0.2 * Number(helper.balance.getOneTokenNominal()))).to.be.true;51 });5253 itEth('NFT transfer is close to 0.15 UNQ', async ({helper}) => {54 const caller = await helper.eth.createAccountWithBalance(donor);55 const receiver = helper.eth.createAccount();5657 const [alice] = await helper.arrange.createAccounts([10n], donor);58 const collection = await helper.nft.mintCollection(alice, {name: 'test', description: 'test', tokenPrefix: 'test'});59 const {tokenId} = await collection.mintToken(alice, {Ethereum: caller});6061 const address = helper.ethAddress.fromCollectionId(collection.collectionId);62 const contract = helper.ethNativeContract.collection(address, 'nft', caller);6364 const cost = await helper.eth.calculateFee({Ethereum: caller}, () => contract.methods.transfer(receiver, tokenId).send(caller));6566 const fee = Number(cost) / Number(helper.balance.getOneTokenNominal());67 const expectedFee = 0.15;68 const tolerance = 0.001;6970 expect(Math.abs(fee - expectedFee)).to.be.lessThan(tolerance);71 });72});7374describe('ERC165 tests', async () => {75 // https://eips.ethereum.org/EIPS/eip-1657677 let erc721MetadataCompatibleNftCollectionId: number;78 let simpleNftCollectionId: number;79 let minter: string;8081 const BASE_URI = 'base/';8283 async function checkInterface(helper: EthUniqueHelper, interfaceId: string, simpleResult: boolean, compatibleResult: boolean) {84 const simple = helper.ethNativeContract.collection(helper.ethAddress.fromCollectionId(simpleNftCollectionId), 'nft', minter);85 const compatible = helper.ethNativeContract.collection(helper.ethAddress.fromCollectionId(erc721MetadataCompatibleNftCollectionId), 'nft', minter);8687 expect(await simple.methods.supportsInterface(interfaceId).call()).to.equal(simpleResult, `empty (not ERC721Metadata compatible) NFT collection returns not ${simpleResult}`);88 expect(await compatible.methods.supportsInterface(interfaceId).call()).to.equal(compatibleResult, `ERC721Metadata compatible NFT collection returns not ${compatibleResult}`);89 }9091 before(async () => {92 await usingEthPlaygrounds(async (helper, privateKey) => {93 const donor = await privateKey({filename: __filename});94 const [alice] = await helper.arrange.createAccounts([10n], donor);95 ({collectionId: simpleNftCollectionId} = await helper.nft.mintCollection(alice, {name: 'test', description: 'test', tokenPrefix: 'test'}));96 minter = helper.eth.createAccount();97 ({collectionId: erc721MetadataCompatibleNftCollectionId} = await helper.eth.createERC721MetadataCompatibleNFTCollection(minter, 'n', 'd', 'p', BASE_URI));98 });99 });100101 itEth('nonexistent interfaceID - 0xffffffff - always false', async ({helper}) => {102 await checkInterface(helper, '0xffffffff', false, false);103 });104105 itEth('ERC721 - 0x780e9d63 - support', async ({helper}) => {106 await checkInterface(helper, '0x780e9d63', true, true);107 });108109 itEth('ERC721Metadata - 0x5b5e139f - support', async ({helper}) => {110 await checkInterface(helper, '0x5b5e139f', false, true);111 });112113 itEth('ERC721UniqueMintable - 0x476ff149 - support', async ({helper}) => {114 await checkInterface(helper, '0x476ff149', true, true);115 });116117 itEth('ERC721Enumerable - 0x780e9d63 - support', async ({helper}) => {118 await checkInterface(helper, '0x780e9d63', true, true);119 });120121 itEth('ERC721UniqueExtensions - 0x4468500d - support', async ({helper}) => {122 await checkInterface(helper, '0x4468500d', true, true);123 });124125 itEth('ERC721Burnable - 0x42966c68 - support', async ({helper}) => {126 await checkInterface(helper, '0x42966c68', true, true);127 });128129 itEth('ERC165 - 0x01ffc9a7 - support', async ({helper}) => {130 await checkInterface(helper, '0x01ffc9a7', true, true);131 });132});tests/src/eth/collectionProperties.test.tsdiffbeforeafterboth--- a/tests/src/eth/collectionProperties.test.ts
+++ b/tests/src/eth/collectionProperties.test.ts
@@ -87,20 +87,20 @@
const caller = await helper.eth.createAccountWithBalance(donor);
const bruh = await helper.eth.createAccountWithBalance(donor);
- const BASE_URI = 'base/'
- const SUFFIX = 'suffix1'
- const URI = 'uri1'
+ const BASE_URI = 'base/';
+ const SUFFIX = 'suffix1';
+ const URI = 'uri1';
const collectionHelpers = helper.ethNativeContract.collectionHelpers(caller);
- const creatorMethod = mode === 'rft' ? 'createRFTCollection' : 'createNFTCollection'
+ const creatorMethod = mode === 'rft' ? 'createRFTCollection' : 'createNFTCollection';
- const {collectionId, collectionAddress} = await helper.eth[creatorMethod](caller, 'n', 'd', 'p')
+ const {collectionId, collectionAddress} = await helper.eth[creatorMethod](caller, 'n', 'd', 'p');
const contract = helper.ethNativeContract.collectionById(collectionId, mode, caller);
await contract.methods.addCollectionAdmin(bruh).send(); // to check that admin will work too
const collection1 = await helper.nft.getCollectionObject(collectionId);
- const data1 = await collection1.getData()
+ const data1 = await collection1.getData();
expect(data1?.raw.flags.erc721metadata).to.be.false;
expect(await contract.methods.supportsInterface('0x5b5e139f').call()).to.be.false;
@@ -110,36 +110,36 @@
expect(await contract.methods.supportsInterface('0x5b5e139f').call()).to.be.true;
const collection2 = await helper.nft.getCollectionObject(collectionId);
- const data2 = await collection2.getData()
+ const data2 = await collection2.getData();
expect(data2?.raw.flags.erc721metadata).to.be.true;
- const TPPs = data2?.raw.tokenPropertyPermissions
+ const TPPs = data2?.raw.tokenPropertyPermissions;
expect(TPPs?.length).to.equal(2);
expect(TPPs.find((tpp: ITokenPropertyPermission) => {
- return tpp.key === "URI" && tpp.permission.mutable && tpp.permission.collectionAdmin && !tpp.permission.tokenOwner
- })).to.be.not.null
+ return tpp.key === 'URI' && tpp.permission.mutable && tpp.permission.collectionAdmin && !tpp.permission.tokenOwner;
+ })).to.be.not.null;
expect(TPPs.find((tpp: ITokenPropertyPermission) => {
- return tpp.key === "URISuffix" && tpp.permission.mutable && tpp.permission.collectionAdmin && !tpp.permission.tokenOwner
- })).to.be.not.null
+ return tpp.key === 'URISuffix' && tpp.permission.mutable && tpp.permission.collectionAdmin && !tpp.permission.tokenOwner;
+ })).to.be.not.null;
expect(data2?.raw.properties?.find((property: IProperty) => {
- return property.key === "baseURI" && property.value === BASE_URI
- })).to.be.not.null
+ return property.key === 'baseURI' && property.value === BASE_URI;
+ })).to.be.not.null;
const token1Result = await contract.methods.mint(bruh).send();
const tokenId1 = token1Result.events.Transfer.returnValues.tokenId;
expect(await contract.methods.tokenURI(tokenId1).call()).to.equal(BASE_URI);
- await contract.methods.setProperty(tokenId1, "URISuffix", Buffer.from(SUFFIX)).send();
+ await contract.methods.setProperty(tokenId1, 'URISuffix', Buffer.from(SUFFIX)).send();
expect(await contract.methods.tokenURI(tokenId1).call()).to.equal(BASE_URI + SUFFIX);
- await contract.methods.setProperty(tokenId1, "URI", Buffer.from(URI)).send();
+ await contract.methods.setProperty(tokenId1, 'URI', Buffer.from(URI)).send();
expect(await contract.methods.tokenURI(tokenId1).call()).to.equal(URI);
- await contract.methods.deleteProperty(tokenId1, "URI").send();
+ await contract.methods.deleteProperty(tokenId1, 'URI').send();
expect(await contract.methods.tokenURI(tokenId1).call()).to.equal(BASE_URI + SUFFIX);
const token2Result = await contract.methods.mintWithTokenURI(bruh, URI).send();
@@ -147,12 +147,12 @@
expect(await contract.methods.tokenURI(tokenId2).call()).to.equal(URI);
- await contract.methods.deleteProperty(tokenId2, "URI").send();
+ await contract.methods.deleteProperty(tokenId2, 'URI').send();
expect(await contract.methods.tokenURI(tokenId2).call()).to.equal(BASE_URI);
- await contract.methods.setProperty(tokenId2, "URISuffix", Buffer.from(SUFFIX)).send();
+ await contract.methods.setProperty(tokenId2, 'URISuffix', Buffer.from(SUFFIX)).send();
expect(await contract.methods.tokenURI(tokenId2).call()).to.equal(BASE_URI + SUFFIX);
- }
+ };
itEth('ERC721Metadata property can be set for NFT collection', async({helper}) => {
await checkERC721Metadata(helper, 'nft');
tests/src/eth/collectionSponsoring.test.tsdiffbeforeafterboth--- a/tests/src/eth/collectionSponsoring.test.ts
+++ b/tests/src/eth/collectionSponsoring.test.ts
@@ -247,7 +247,7 @@
const userCollectionEvm = helper.ethNativeContract.collection(collectionAddress, 'nft', user);
- let result = await userCollectionEvm.methods.mintWithTokenURI(user, 'Test URI',).send();
+ const result = await userCollectionEvm.methods.mintWithTokenURI(user, 'Test URI').send();
const tokenId = result.events.Transfer.returnValues.tokenId;
const events = helper.eth.normalizeEvents(result.events);
tests/src/eth/proxy/nonFungibleProxy.test.tsdiffbeforeafterboth--- a/tests/src/eth/proxy/nonFungibleProxy.test.ts
+++ b/tests/src/eth/proxy/nonFungibleProxy.test.ts
@@ -111,7 +111,7 @@
await collectionEvmOwned.methods.addCollectionAdmin(contract.options.address).send();
{
- const nextTokenId = await contract.methods.nextTokenId().call()
+ const nextTokenId = await contract.methods.nextTokenId().call();
const result = await contract.methods.mintWithTokenURI(receiver, nextTokenId, 'Test URI').send({from: caller});
const tokenId = result.events.Transfer.returnValues.tokenId;
expect(tokenId).to.be.equal('1');
tests/src/eth/util/playgrounds/unique.dev.tsdiffbeforeafterboth--- a/tests/src/eth/util/playgrounds/unique.dev.ts
+++ b/tests/src/eth/util/playgrounds/unique.dev.ts
@@ -189,7 +189,7 @@
async createERC721MetadataCompatibleNFTCollection(signer: string, name: string, description: string, tokenPrefix: string, baseUri: string): Promise<{collectionId: number, collectionAddress: string}> {
const collectionHelper = this.helper.ethNativeContract.collectionHelpers(signer);
- const {collectionId, collectionAddress} = await this.createNFTCollection(signer, name, description, tokenPrefix)
+ const {collectionId, collectionAddress} = await this.createNFTCollection(signer, name, description, tokenPrefix);
await collectionHelper.methods.makeCollectionERC721MetadataCompatible(collectionAddress, baseUri).send();
@@ -211,7 +211,7 @@
async createERC721MetadataCompatibleRFTCollection(signer: string, name: string, description: string, tokenPrefix: string, baseUri: string): Promise<{collectionId: number, collectionAddress: string}> {
const collectionHelper = this.helper.ethNativeContract.collectionHelpers(signer);
- const {collectionId, collectionAddress} = await this.createRFTCollection(signer, name, description, tokenPrefix)
+ const {collectionId, collectionAddress} = await this.createRFTCollection(signer, name, description, tokenPrefix);
await collectionHelper.methods.makeCollectionERC721MetadataCompatible(collectionAddress, baseUri).send();