From 1bdef71d54c4001be8deebe1997f2fad2560f1de Mon Sep 17 00:00:00 2001 From: Bogdan Fazakas Date: Wed, 8 Dec 2021 17:08:30 +0200 Subject: [PATCH] added new file metadata structure and reorganize tokens and types --- src/{ddo => @types}/Asset.ts | 2 +- src/{ddo => @types}/Credentials.ts | 0 src/{ddo => @types}/DDO.ts | 16 ++--- src/{interfaces => @types}/FileMetadata.ts | 14 +++- src/{ddo => @types}/Metadata.ts | 0 src/{ddo => @types}/Service.ts | 0 src/{ddo => @types}/index.ts | 1 + src/datatokens/index.ts | 2 - src/index.ts | 2 +- src/pools/dispenser/Dispenser.ts | 2 +- src/provider/Provider.ts | 3 +- src/{datatokens => tokens}/Datatoken.ts | 0 .../NFTDatatoken.ts => tokens/NFT.ts} | 70 +++++++++---------- src/tokens/index.ts | 2 + test/unit/pools/dispenser/Dispenser.test.ts | 2 +- .../{datatoken => tokens}/Datatoken.test.ts | 11 +-- .../NFT.test.ts} | 11 ++- 17 files changed, 71 insertions(+), 67 deletions(-) rename src/{ddo => @types}/Asset.ts (98%) rename src/{ddo => @types}/Credentials.ts (100%) rename src/{ddo => @types}/DDO.ts (81%) rename src/{interfaces => @types}/FileMetadata.ts (68%) rename src/{ddo => @types}/Metadata.ts (100%) rename src/{ddo => @types}/Service.ts (100%) rename src/{ddo => @types}/index.ts (80%) delete mode 100644 src/datatokens/index.ts rename src/{datatokens => tokens}/Datatoken.ts (100%) rename src/{datatokens/NFTDatatoken.ts => tokens/NFT.ts} (90%) create mode 100644 src/tokens/index.ts rename test/unit/{datatoken => tokens}/Datatoken.test.ts (98%) rename test/unit/{datatoken/NFTDatatoken.test.ts => tokens/NFT.test.ts} (96%) diff --git a/src/ddo/Asset.ts b/src/@types/Asset.ts similarity index 98% rename from src/ddo/Asset.ts rename to src/@types/Asset.ts index 7af33d16..9e1994a0 100644 --- a/src/ddo/Asset.ts +++ b/src/@types/Asset.ts @@ -97,7 +97,7 @@ export interface AssetLastEvent { datetime: string } -export class Asset extends DDO { +export interface Asset extends DDO { /** * Contains information about the ERC721 NFT contract which represents the intellectual property of the publisher. * @type {string} diff --git a/src/ddo/Credentials.ts b/src/@types/Credentials.ts similarity index 100% rename from src/ddo/Credentials.ts rename to src/@types/Credentials.ts diff --git a/src/ddo/DDO.ts b/src/@types/DDO.ts similarity index 81% rename from src/ddo/DDO.ts rename to src/@types/DDO.ts index 8808b384..80b24041 100644 --- a/src/ddo/DDO.ts +++ b/src/@types/DDO.ts @@ -6,49 +6,49 @@ import { Credentials } from './Credentials' * DID Descriptor Object. * Contains metadata about the asset, and define access in at least one service. */ -export class DDO { +export interface DDO { /** * Contexts used for validation. * @type {string[]} */ - public '@context': string[] + '@context': string[] /** * DID, descentralized ID. * Computed as sha256(address of ERC721 contract + chainId) * @type {string} */ - public id: string + id: string /** * Version information in SemVer notation * referring to the DDO spec version * @type {string} */ - public version: string + version: string /** * ChainId of the network the DDO was published to. * @type {number} */ - public chainId: number + chainId: number /** * Stores an object describing the asset. * @type {Metadata} */ - public metadata: Metadata + metadata: Metadata /** * Stores an array of services defining access to the asset. * @type {Service[]} */ - public services: Service[] + services: Service[] /** * Describes the credentials needed to access a dataset * in addition to the services definition. * @type {Credentials} */ - public credentials?: Credentials + credentials?: Credentials } diff --git a/src/interfaces/FileMetadata.ts b/src/@types/FileMetadata.ts similarity index 68% rename from src/interfaces/FileMetadata.ts rename to src/@types/FileMetadata.ts index 8f234600..81bf2b92 100644 --- a/src/interfaces/FileMetadata.ts +++ b/src/@types/FileMetadata.ts @@ -1,10 +1,16 @@ export interface FileMetadata { + /** + * File URL. + * @type {string} + */ + type: string + /** * File format, if applicable. * @type {string} * @example "text/csv" */ - contentType: string + contentType?: string /** * File content length. @@ -23,4 +29,10 @@ export interface FileMetadata { * @type {string} */ url?: string + + /** + * HTTP method used + * @type {string} + */ + method?: string } diff --git a/src/ddo/Metadata.ts b/src/@types/Metadata.ts similarity index 100% rename from src/ddo/Metadata.ts rename to src/@types/Metadata.ts diff --git a/src/ddo/Service.ts b/src/@types/Service.ts similarity index 100% rename from src/ddo/Service.ts rename to src/@types/Service.ts diff --git a/src/ddo/index.ts b/src/@types/index.ts similarity index 80% rename from src/ddo/index.ts rename to src/@types/index.ts index 06eb4fc6..f3678e36 100644 --- a/src/ddo/index.ts +++ b/src/@types/index.ts @@ -3,3 +3,4 @@ export * from './Asset' export * from './Service' export * from './Credentials' export * from './Metadata' +export * from './FileMetadata' diff --git a/src/datatokens/index.ts b/src/datatokens/index.ts deleted file mode 100644 index 9076989d..00000000 --- a/src/datatokens/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './Datatoken' -export * from './NFTDatatoken' diff --git a/src/index.ts b/src/index.ts index ae4cce4d..6926d9f1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ export * from './pools' -export * from './datatokens' +export * from './tokens' export * from './factories' export * from './models' export * from './utils' diff --git a/src/pools/dispenser/Dispenser.ts b/src/pools/dispenser/Dispenser.ts index 7275e151..1130aacb 100644 --- a/src/pools/dispenser/Dispenser.ts +++ b/src/pools/dispenser/Dispenser.ts @@ -5,7 +5,7 @@ import { TransactionReceipt } from 'web3-eth' import Decimal from 'decimal.js' import defaultDispenserABI from '@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json' import { LoggerInstance as logger, getFairGasPrice } from '../../utils/' -import { Datatoken } from '.../../../src/datatokens/' +import { Datatoken } from '../../tokens' export interface DispenserToken { active: boolean diff --git a/src/provider/Provider.ts b/src/provider/Provider.ts index e977bbea..36adb06a 100644 --- a/src/provider/Provider.ts +++ b/src/provider/Provider.ts @@ -1,8 +1,7 @@ import Web3 from 'web3' import { Config } from '../models' import { LoggerInstance } from '../utils' -import { Asset } from '../ddo/Asset' -import { FileMetadata } from '../interfaces/FileMetadata' +import { Asset, FileMetadata } from '../@types/' import { noZeroX } from '../utils/ConversionTypeHelper' import { signText } from '../utils/SignatureUtils' diff --git a/src/datatokens/Datatoken.ts b/src/tokens/Datatoken.ts similarity index 100% rename from src/datatokens/Datatoken.ts rename to src/tokens/Datatoken.ts diff --git a/src/datatokens/NFTDatatoken.ts b/src/tokens/NFT.ts similarity index 90% rename from src/datatokens/NFTDatatoken.ts rename to src/tokens/NFT.ts index 819f70e1..5a301cf5 100644 --- a/src/datatokens/NFTDatatoken.ts +++ b/src/tokens/NFT.ts @@ -1,7 +1,7 @@ import Web3 from 'web3' import { AbiItem } from 'web3-utils' import { TransactionReceipt } from 'web3-eth' -import defaultNFTDatatokenABI from '@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json' +import defaultNFTABI from '@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json' import { LoggerInstance, getFairGasPrice, generateDtName } from '../utils' import { Contract } from 'web3-eth-contract' @@ -15,16 +15,16 @@ interface Roles { store: boolean } -export class NFTDatatoken { +export class NFT { public GASLIMIT_DEFAULT = 1000000 public factory721Address: string public factory721ABI: AbiItem | AbiItem[] - public nftDatatokenABI: AbiItem | AbiItem[] + public nftABI: AbiItem | AbiItem[] public web3: Web3 public startBlock: number - constructor(web3: Web3, nftDatatokenABI?: AbiItem | AbiItem[], startBlock?: number) { - this.nftDatatokenABI = nftDatatokenABI || (defaultNFTDatatokenABI.abi as AbiItem[]) + constructor(web3: Web3, nftABI?: AbiItem | AbiItem[], startBlock?: number) { + this.nftABI = nftABI || (defaultNFTABI.abi as AbiItem[]) this.web3 = web3 this.startBlock = startBlock || 0 } @@ -60,7 +60,7 @@ export class NFTDatatoken { contractInstance?: Contract ): Promise { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas try { @@ -115,7 +115,7 @@ export class NFTDatatoken { } // Create 721contract object - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) const estGas = await this.estGasCreateERC20( nftAddress, @@ -171,7 +171,7 @@ export class NFTDatatoken { contractInstance?: Contract ) { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas @@ -193,7 +193,7 @@ export class NFTDatatoken { * @return {Promise} trxReceipt */ public async addManager(nftAddress: string, address: string, manager: string) { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) if ((await this.getNFTOwner(nftAddress)) !== address) { throw new Error(`Caller is not NFT Owner`) @@ -226,7 +226,7 @@ export class NFTDatatoken { contractInstance?: Contract ) { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas try { @@ -247,7 +247,7 @@ export class NFTDatatoken { * @return {Promise} trxReceipt */ public async removeManager(nftAddress: string, address: string, manager: string) { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) if ((await this.getNFTOwner(nftAddress)) !== address) { throw new Error(`Caller is not NFT Owner`) @@ -285,7 +285,7 @@ export class NFTDatatoken { contractInstance?: Contract ): Promise { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas try { @@ -311,7 +311,7 @@ export class NFTDatatoken { address: string, erc20Deployer: string ): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) // if ((await this.getNFTPermissions(nftAddress, address)).manager !== true) { // throw new Error(`Caller is not Manager`) @@ -352,7 +352,7 @@ export class NFTDatatoken { contractInstance?: Contract ): Promise { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas @@ -379,7 +379,7 @@ export class NFTDatatoken { address: string, erc20Deployer: string ): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) // if ((await this.getNFTPermissions(nftAddress, address)).manager !== true) { // throw new Error(`Caller is not Manager`) @@ -419,7 +419,7 @@ export class NFTDatatoken { contractInstance?: Contract ): Promise { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas @@ -445,7 +445,7 @@ export class NFTDatatoken { address: string, metadataUpdater: string ): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) // if ((await this.getNFTPermissions(nftAddress, address)).manager !== true) { // throw new Error(`Caller is not Manager`) @@ -483,7 +483,7 @@ export class NFTDatatoken { contractInstance?: Contract ): Promise { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas @@ -510,7 +510,7 @@ export class NFTDatatoken { address: string, metadataUpdater: string ): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) // if ((await this.getNFTPermissions(nftAddress, address)).manager !== true) { // throw new Error(`Caller is not Manager`) @@ -550,7 +550,7 @@ export class NFTDatatoken { contractInstance?: Contract ): Promise { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas @@ -576,7 +576,7 @@ export class NFTDatatoken { address: string, storeUpdater: string ): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) // if ((await this.getNFTPermissions(nftAddress, address)).manager !== true) { // throw new Error(`Caller is not Manager`) @@ -614,7 +614,7 @@ export class NFTDatatoken { contractInstance?: Contract ): Promise { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas @@ -640,7 +640,7 @@ export class NFTDatatoken { address: string, storeUpdater: string ): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) // if ((await this.getNFTPermissions(nftAddress, address)).manager !== true) { // throw new Error(`Caller is not Manager`) @@ -678,7 +678,7 @@ export class NFTDatatoken { contractInstance?: Contract ): Promise { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas @@ -706,7 +706,7 @@ export class NFTDatatoken { nftAddress: string, address: string ): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) if ((await this.getNFTOwner(nftAddress)) !== address) { throw new Error(`Caller is not NFT Owner`) @@ -741,7 +741,7 @@ export class NFTDatatoken { contractInstance?: Contract ): Promise { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas @@ -773,7 +773,7 @@ export class NFTDatatoken { nftReceiver: string, tokenId?: number ): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) if ((await this.getNFTOwner(nftAddress)) !== nftOwner) { throw new Error(`Caller is not NFT Owner`) @@ -818,7 +818,7 @@ export class NFTDatatoken { contractInstance?: Contract ): Promise { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas @@ -850,7 +850,7 @@ export class NFTDatatoken { nftReceiver: string, tokenId?: number ): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) if ((await this.getNFTOwner(nftAddress)) !== nftOwner) { throw new Error(`Caller is not NFT Owner`) @@ -899,7 +899,7 @@ export class NFTDatatoken { contractInstance?: Contract ): Promise { const nftContract = - contractInstance || new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + contractInstance || new this.web3.eth.Contract(this.nftABI, nftAddress) const gasLimitDefault = this.GASLIMIT_DEFAULT let estGas @@ -942,7 +942,7 @@ export class NFTDatatoken { data: string, metadataHash: string ): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) // if (!(await this.getNFTPermissions(nftAddress, address)).updateMetadata) { // throw new Error(`Caller is not NFT Owner`) @@ -984,7 +984,7 @@ export class NFTDatatoken { * @return {Promise} string */ public async getNFTOwner(nftAddress: string): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) const trxReceipt = await nftContract.methods.ownerOf(1).call() return trxReceipt } @@ -995,7 +995,7 @@ export class NFTDatatoken { * @return {Promise} */ public async getNFTPermissions(nftAddress: string, address: string): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) const roles = await nftContract.methods.getPermissions(address).call() return roles } @@ -1006,7 +1006,7 @@ export class NFTDatatoken { * @return {Promise} */ public async isErc20Deployer(nftAddress: string, address: string): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) const isERC20Deployer = await nftContract.methods.isERC20Deployer(address).call() return isERC20Deployer } @@ -1017,7 +1017,7 @@ export class NFTDatatoken { * @return {Promise} The data stored at the key */ public async getData(nftAddress: string, key: string): Promise { - const nftContract = new this.web3.eth.Contract(this.nftDatatokenABI, nftAddress) + const nftContract = new this.web3.eth.Contract(this.nftABI, nftAddress) const data = await nftContract.methods.getData(key).call() return data } diff --git a/src/tokens/index.ts b/src/tokens/index.ts new file mode 100644 index 00000000..5e47c88e --- /dev/null +++ b/src/tokens/index.ts @@ -0,0 +1,2 @@ +export * from './Datatoken' +export * from './NFT' diff --git a/test/unit/pools/dispenser/Dispenser.test.ts b/test/unit/pools/dispenser/Dispenser.test.ts index 959406cc..a3e06b48 100644 --- a/test/unit/pools/dispenser/Dispenser.test.ts +++ b/test/unit/pools/dispenser/Dispenser.test.ts @@ -12,7 +12,7 @@ import MockERC20 from '@oceanprotocol/contracts/artifacts/contracts/utils/mock/M import PoolTemplate from '@oceanprotocol/contracts/artifacts/contracts/pools/balancer/BPool.sol/BPool.json' import OPFCollector from '@oceanprotocol/contracts/artifacts/contracts/communityFee/OPFCommunityFeeCollector.sol/OPFCommunityFeeCollector.json' import { NFTFactory, NFTCreateData } from '../../../../src/factories/' -import { Datatoken, DispenserParams } from '../../../../src/datatokens/' +import { Datatoken, DispenserParams } from '../../../../src/tokens/' import { Dispenser } from '../../../../src/pools/dispenser/' import { TestContractHandler } from '../../../TestContractHandler' import { Erc20CreateParams } from '../../../../src/interfaces' diff --git a/test/unit/datatoken/Datatoken.test.ts b/test/unit/tokens/Datatoken.test.ts similarity index 98% rename from test/unit/datatoken/Datatoken.test.ts rename to test/unit/tokens/Datatoken.test.ts index 16a6482d..fa126a08 100644 --- a/test/unit/datatoken/Datatoken.test.ts +++ b/test/unit/tokens/Datatoken.test.ts @@ -14,12 +14,7 @@ import MockERC20 from '@oceanprotocol/contracts/artifacts/contracts/utils/mock/M import { TestContractHandler } from '../../TestContractHandler' import { NFTFactory, NFTCreateData } from '../../../src/factories/NFTFactory' -import { - Datatoken, - NFTDatatoken, - OrderParams, - DispenserParams -} from '../../../src/datatokens' +import { Datatoken, NFT, OrderParams, DispenserParams } from '../../../src/tokens' import { AbiItem } from 'web3-utils' import { LoggerInstance } from '../../../src/utils' import { FreCreationParams, FreOrderParams } from '../../../src/interfaces' @@ -32,7 +27,7 @@ describe('Datatoken', () => { let user2: string let user3: string let contractHandler: TestContractHandler - let nftDatatoken: NFTDatatoken + let nftDatatoken: NFT let datatoken: Datatoken let nftFactory: NFTFactory let nftAddress: string @@ -96,7 +91,7 @@ describe('Datatoken', () => { } nftAddress = await nftFactory.createNFT(nftOwner, nftData) - nftDatatoken = new NFTDatatoken(web3, ERC721Template.abi as AbiItem[]) + nftDatatoken = new NFT(web3, ERC721Template.abi as AbiItem[]) }) it('#createERC20 - should create a new ERC20 DT from NFT contract', async () => { diff --git a/test/unit/datatoken/NFTDatatoken.test.ts b/test/unit/tokens/NFT.test.ts similarity index 96% rename from test/unit/datatoken/NFTDatatoken.test.ts rename to test/unit/tokens/NFT.test.ts index 68854bf8..f88c357e 100644 --- a/test/unit/datatoken/NFTDatatoken.test.ts +++ b/test/unit/tokens/NFT.test.ts @@ -10,23 +10,20 @@ import ERC20Template from '@oceanprotocol/contracts/artifacts/contracts/template import Dispenser from '@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json' import FixedRate from '@oceanprotocol/contracts/artifacts/contracts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json' import OPFCollector from '@oceanprotocol/contracts/artifacts/contracts/communityFee/OPFCommunityFeeCollector.sol/OPFCommunityFeeCollector.json' -import MockERC20 from '@oceanprotocol/contracts/artifacts/contracts/utils/mock/MockERC20Decimals.sol/MockERC20Decimals.json' - import { TestContractHandler } from '../../TestContractHandler' import { NFTFactory, NFTCreateData } from '../../../src/factories/NFTFactory' -import { NFTDatatoken } from '../../../src/datatokens/NFTDatatoken' +import { NFT } from '../../../src/tokens/NFT' import { AbiItem } from 'web3-utils' -import { LoggerInstance } from '../../../src/utils' const web3 = new Web3('http://127.0.0.1:8545') -describe('NFTDatatoken', () => { +describe('NFT', () => { let nftOwner: string let user1: string let user2: string let user3: string let contractHandler: TestContractHandler - let nftDatatoken: NFTDatatoken + let nftDatatoken: NFT let nftFactory: NFTFactory let nftAddress: string @@ -80,7 +77,7 @@ describe('NFTDatatoken', () => { } nftAddress = await nftFactory.createNFT(nftOwner, nftData) - nftDatatoken = new NFTDatatoken(web3, ERC721Template.abi as AbiItem[]) + nftDatatoken = new NFT(web3, ERC721Template.abi as AbiItem[]) }) it('#createERC20 - should create a new ERC20 DT from NFT contract', async () => {