diff --git a/src/factories/NFTFactory.ts b/src/factories/NFTFactory.ts index c0c28402..8dff31b1 100644 --- a/src/factories/NFTFactory.ts +++ b/src/factories/NFTFactory.ts @@ -10,9 +10,9 @@ import { getFreCreationParams, getErcCreationParams, getPoolCreationParams, - configHelperNetworks, setContractDefaults, - ZERO_ADDRESS + ZERO_ADDRESS, + ConfigHelper } from '../utils' import { Config } from '../models/index.js' import { @@ -66,13 +66,14 @@ export class NftFactory { constructor( factory721Address: string, web3: Web3, + network?: string | number, factory721Abi?: AbiItem | AbiItem[], config?: Config ) { this.factory721Address = factory721Address this.factory721Abi = factory721Abi || (defaultFactory721Abi.abi as AbiItem[]) this.web3 = web3 - this.config = config || configHelperNetworks[0] + this.config = config || new ConfigHelper().getConfig(network || 'unknown') this.factory721 = setContractDefaults( new this.web3.eth.Contract(this.factory721Abi, this.factory721Address), this.config diff --git a/src/pools/Router.ts b/src/pools/Router.ts index 0c6f56f5..a111eec4 100644 --- a/src/pools/Router.ts +++ b/src/pools/Router.ts @@ -3,7 +3,7 @@ import Web3 from 'web3' import { TransactionReceipt } from 'web3-core' import { AbiItem } from 'web3-utils' import defaultRouter from '@oceanprotocol/contracts/artifacts/contracts/pools/FactoryRouter.sol/FactoryRouter.json' -import { getFairGasPrice, setContractDefaults, configHelperNetworks } from '../utils' +import { getFairGasPrice, setContractDefaults, ConfigHelper } from '../utils' import { Operation } from '../@types/Router' import { Config } from '../models/index.js' @@ -27,13 +27,14 @@ export class Router { constructor( routerAddress: string, web3: Web3, + network?: string | number, RouterAbi?: AbiItem | AbiItem[], config?: Config ) { this.routerAddress = routerAddress this.RouterAbi = RouterAbi || (defaultRouter.abi as AbiItem[]) this.web3 = web3 - this.config = config || configHelperNetworks[0] + this.config = config || new ConfigHelper().getConfig(network || 'unknown') this.router = setContractDefaults( new this.web3.eth.Contract(this.RouterAbi, this.routerAddress), this.config diff --git a/src/pools/balancer/Pool.ts b/src/pools/balancer/Pool.ts index 8228175d..76ff7ed2 100644 --- a/src/pools/balancer/Pool.ts +++ b/src/pools/balancer/Pool.ts @@ -4,11 +4,11 @@ import { TransactionReceipt } from 'web3-core' import { Contract } from 'web3-eth-contract' import { getFairGasPrice, - configHelperNetworks, setContractDefaults, unitsToAmount, amountToUnits, - LoggerInstance + LoggerInstance, + ConfigHelper } from '../../utils' import BigNumber from 'bignumber.js' import PoolTemplate from '@oceanprotocol/contracts/artifacts/contracts/pools/balancer/BPool.sol/BPool.json' @@ -40,11 +40,16 @@ export class Pool { public GASLIMIT_DEFAULT = 1000000 private config: Config - constructor(web3: Web3, poolAbi: AbiItem | AbiItem[] = null, config?: Config) { + constructor( + web3: Web3, + network?: string | number, + poolAbi: AbiItem | AbiItem[] = null, + config?: Config + ) { if (poolAbi) this.poolAbi = poolAbi else this.poolAbi = PoolTemplate.abi as AbiItem[] this.web3 = web3 - this.config = config || configHelperNetworks[0] + this.config = config || new ConfigHelper().getConfig(network || 'unknown') } /** diff --git a/src/pools/dispenser/Dispenser.ts b/src/pools/dispenser/Dispenser.ts index 22b1f42b..31916eb8 100644 --- a/src/pools/dispenser/Dispenser.ts +++ b/src/pools/dispenser/Dispenser.ts @@ -7,8 +7,8 @@ import defaultDispenserAbi from '@oceanprotocol/contracts/artifacts/contracts/po import { LoggerInstance as logger, getFairGasPrice, - configHelperNetworks, - setContractDefaults + setContractDefaults, + ConfigHelper } from '../../utils/' import { Datatoken } from '../../tokens' import { Config } from '../../models/index.js' @@ -39,6 +39,7 @@ export class Dispenser { */ constructor( web3: Web3, + network?: string | number, dispenserAddress: string = null, dispenserAbi: AbiItem | AbiItem[] = null, config?: Config @@ -46,7 +47,7 @@ export class Dispenser { this.web3 = web3 this.dispenserAddress = dispenserAddress this.dispenserAbi = dispenserAbi || (defaultDispenserAbi.abi as AbiItem[]) - this.config = config || configHelperNetworks[0] + this.config = config || new ConfigHelper().getConfig(network || 'unknown') if (web3) this.dispenserContract = setContractDefaults( new this.web3.eth.Contract(this.dispenserAbi, this.dispenserAddress), diff --git a/src/pools/fixedRate/FixedRateExchange.ts b/src/pools/fixedRate/FixedRateExchange.ts index 90e2bab9..2b8a8929 100644 --- a/src/pools/fixedRate/FixedRateExchange.ts +++ b/src/pools/fixedRate/FixedRateExchange.ts @@ -6,11 +6,11 @@ import Web3 from 'web3' import { LoggerInstance, getFairGasPrice, - configHelperNetworks, setContractDefaults, amountToUnits, unitsToAmount, - ZERO_ADDRESS + ZERO_ADDRESS, + ConfigHelper } from '../../utils' import { Config } from '../../models/index.js' import { PriceAndFees } from '../..' @@ -75,12 +75,13 @@ export class FixedRateExchange { constructor( web3: Web3, fixedRateAddress: string, + network?: string | number, fixedRateExchangeAbi: AbiItem | AbiItem[] = null, oceanAddress: string = null, config?: Config ) { this.web3 = web3 - this.config = config || configHelperNetworks[0] + this.config = config || new ConfigHelper().getConfig(network || 'unknown') this.fixedRateExchangeAbi = fixedRateExchangeAbi || (defaultFixedRateExchangeAbi.abi as AbiItem[]) this.oceanAddress = oceanAddress diff --git a/src/pools/ssContracts/SideStaking.ts b/src/pools/ssContracts/SideStaking.ts index b1dda5d0..1ec9c5f4 100644 --- a/src/pools/ssContracts/SideStaking.ts +++ b/src/pools/ssContracts/SideStaking.ts @@ -2,7 +2,7 @@ import Web3 from 'web3' import { AbiItem } from 'web3-utils/types' import { TransactionReceipt } from 'web3-core' import { Contract } from 'web3-eth-contract' -import { LoggerInstance, getFairGasPrice, configHelperNetworks } from '../../utils' +import { LoggerInstance, getFairGasPrice, ConfigHelper } from '../../utils' import BigNumber from 'bignumber.js' import SideStakingTemplate from '@oceanprotocol/contracts/artifacts/contracts/pools/ssContracts/SideStaking.sol/SideStaking.json' import defaultErc20Abi from '@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json' @@ -14,11 +14,16 @@ export class SideStaking { public GASLIMIT_DEFAULT = 1000000 public config: Config - constructor(web3: Web3, ssAbi: AbiItem | AbiItem[] = null, config?: Config) { + constructor( + web3: Web3, + network?: string | number, + ssAbi: AbiItem | AbiItem[] = null, + config?: Config + ) { if (ssAbi) this.ssAbi = ssAbi else this.ssAbi = SideStakingTemplate.abi as AbiItem[] this.web3 = web3 - this.config = config || configHelperNetworks[0] + this.config = config || new ConfigHelper().getConfig(network || 'unknown') } async amountToUnits(token: string, amount: string): Promise { diff --git a/src/tokens/Datatoken.ts b/src/tokens/Datatoken.ts index bcebc1df..d1197b5f 100644 --- a/src/tokens/Datatoken.ts +++ b/src/tokens/Datatoken.ts @@ -9,9 +9,9 @@ import { LoggerInstance, getFairGasPrice, setContractDefaults, - configHelperNetworks, getFreOrderParams, - ZERO_ADDRESS + ZERO_ADDRESS, + ConfigHelper } from '../utils' import { ConsumeMarketFee, @@ -61,6 +61,7 @@ export class Datatoken { */ constructor( web3: Web3, + network?: string | number, datatokensAbi?: AbiItem | AbiItem[], datatokensEnterpriseAbi?: AbiItem | AbiItem[], config?: Config @@ -69,7 +70,7 @@ export class Datatoken { this.datatokensAbi = datatokensAbi || (defaultDatatokensAbi.abi as AbiItem[]) this.datatokensEnterpriseAbi = datatokensEnterpriseAbi || (defaultDatatokensEnterpriseAbi.abi as AbiItem[]) - this.config = config || configHelperNetworks[0] + this.config = config || new ConfigHelper().getConfig(network || 'unknown') this.nft = new Nft(this.web3) } diff --git a/src/tokens/NFT.ts b/src/tokens/NFT.ts index b0322e0b..0b93160b 100644 --- a/src/tokens/NFT.ts +++ b/src/tokens/NFT.ts @@ -7,7 +7,7 @@ import { getFairGasPrice, generateDtName, setContractDefaults, - configHelperNetworks + ConfigHelper } from '../utils' import { Contract } from 'web3-eth-contract' import { MetadataProof } from '../../src/@types' @@ -33,10 +33,15 @@ export class Nft { public startBlock: number public config: Config - constructor(web3: Web3, nftAbi?: AbiItem | AbiItem[], config?: Config) { + constructor( + web3: Web3, + network?: string | number, + nftAbi?: AbiItem | AbiItem[], + config?: Config + ) { this.nftAbi = nftAbi || (defaultNftAbi.abi as AbiItem[]) this.web3 = web3 - this.config = config || configHelperNetworks[0] + this.config = config || new ConfigHelper().getConfig(network || 'unknown') } /** diff --git a/test/unit/pools/balancer/Pool.test.ts b/test/unit/pools/balancer/Pool.test.ts index 39bc5551..68ce2b4e 100644 --- a/test/unit/pools/balancer/Pool.test.ts +++ b/test/unit/pools/balancer/Pool.test.ts @@ -54,7 +54,7 @@ describe('Pool unit test', () => { contracts = await deployContracts(web3, factoryOwner) // initialize Pool instance - pool = new Pool(web3, PoolTemplate.abi as AbiItem[]) + pool = new Pool(web3, 8996, PoolTemplate.abi as AbiItem[]) assert(pool != null) daiContract = new web3.eth.Contract(MockERC20.abi as AbiItem[], contracts.daiAddress) @@ -143,6 +143,7 @@ describe('Pool unit test', () => { const nftFactory = new NftFactory( contracts.erc721FactoryAddress, web3, + 8996, ERC721Factory.abi as AbiItem[] ) @@ -572,6 +573,7 @@ describe('Pool unit test', () => { const nftFactory = new NftFactory( contracts.erc721FactoryAddress, web3, + 8996, ERC721Factory.abi as AbiItem[] ) diff --git a/test/unit/pools/dispenser/Dispenser.test.ts b/test/unit/pools/dispenser/Dispenser.test.ts index 637d3b35..08aa72fd 100644 --- a/test/unit/pools/dispenser/Dispenser.test.ts +++ b/test/unit/pools/dispenser/Dispenser.test.ts @@ -43,6 +43,7 @@ describe('Dispenser flow', () => { it('should initialize Dispenser class', async () => { DispenserClass = new Dispenser( web3, + 8996, contracts.dispenserAddress, DispenserTemplate.abi as AbiItem[] ) @@ -87,7 +88,7 @@ describe('Dispenser flow', () => { }) it('Make user2 minter', async () => { - datatoken = new Datatoken(web3, ERC20Template.abi as AbiItem[]) + datatoken = new Datatoken(web3, 8996, ERC20Template.abi as AbiItem[]) await datatoken.addMinter(dtAddress, factoryOwner, user2) assert((await datatoken.getDTPermissions(dtAddress, user2)).minter === true) }) diff --git a/test/unit/pools/fixedRate/FixedRateExchange.test.ts b/test/unit/pools/fixedRate/FixedRateExchange.test.ts index 0d995079..28e43472 100644 --- a/test/unit/pools/fixedRate/FixedRateExchange.test.ts +++ b/test/unit/pools/fixedRate/FixedRateExchange.test.ts @@ -118,6 +118,7 @@ describe('Fixed Rate unit test', () => { fixedRate = new FixedRateExchange( web3, fixedRateAddress, + 8996, FixedRate.abi as AbiItem[], contracts.oceanAddress ) @@ -438,6 +439,7 @@ describe('Fixed Rate unit test', () => { fixedRate = new FixedRateExchange( web3, fixedRateAddress, + 8996, FixedRate.abi as AbiItem[], contracts.oceanAddress ) diff --git a/test/unit/pools/ssContracts/SideStaking.test.ts b/test/unit/pools/ssContracts/SideStaking.test.ts index ab98e82c..d9efdebd 100644 --- a/test/unit/pools/ssContracts/SideStaking.test.ts +++ b/test/unit/pools/ssContracts/SideStaking.test.ts @@ -59,10 +59,10 @@ describe('SideStaking unit test', () => { sideStakingAddress = contracts.sideStakingAddress // initialize Pool instance - pool = new Pool(web3, PoolTemplate.abi as AbiItem[]) + pool = new Pool(web3, 8996, PoolTemplate.abi as AbiItem[]) assert(pool != null) // - sideStaking = new SideStaking(web3, SSContract.abi as AbiItem[]) + sideStaking = new SideStaking(web3, 8996, SSContract.abi as AbiItem[]) assert(sideStaking != null) daiContract = new web3.eth.Contract(MockERC20.abi as AbiItem[], contracts.daiAddress) diff --git a/test/unit/tokens/Datatoken.test.ts b/test/unit/tokens/Datatoken.test.ts index 90080c06..78eb9781 100644 --- a/test/unit/tokens/Datatoken.test.ts +++ b/test/unit/tokens/Datatoken.test.ts @@ -62,6 +62,7 @@ describe('Datatoken', () => { nftFactory = new NftFactory( contracts.erc721FactoryAddress, web3, + 8996, ERC721Factory.abi as AbiItem[] ) const nftData: NftCreateData = { @@ -74,7 +75,7 @@ describe('Datatoken', () => { } nftAddress = await nftFactory.createNFT(nftOwner, nftData) - nftDatatoken = new Nft(web3, ERC721Template.abi as AbiItem[]) + nftDatatoken = new Nft(web3, 8996, ERC721Template.abi as AbiItem[]) }) it('#createERC20 - should create a new ERC20 DT from NFT contract', async () => { @@ -98,6 +99,7 @@ describe('Datatoken', () => { it('should initialize DT20 Instance', async () => { datatoken = new Datatoken( web3, + 8996, ERC20Template.abi as AbiItem[], ERC20TemplateEnterprise.abi as AbiItem[] ) diff --git a/test/unit/tokens/Nft.test.ts b/test/unit/tokens/Nft.test.ts index acd812be..42637886 100644 --- a/test/unit/tokens/Nft.test.ts +++ b/test/unit/tokens/Nft.test.ts @@ -39,6 +39,7 @@ describe('NFT', () => { nftFactory = new NftFactory( contracts.erc721FactoryAddress, web3, + 8996, ERC721Factory.abi as AbiItem[] ) const nftData: NftCreateData = { @@ -51,7 +52,7 @@ describe('NFT', () => { } nftAddress = await nftFactory.createNFT(nftOwner, nftData) - nftDatatoken = new Nft(web3, ERC721Template.abi as AbiItem[]) + nftDatatoken = new Nft(web3, 8996, ERC721Template.abi as AbiItem[]) }) it('#getTokenURI', async () => { const tokenURI = await nftDatatoken.getTokenURI(nftAddress, 1)