diff --git a/src/datatokens/Datatokens.ts b/src/datatokens/Datatokens.ts index fb85706d..5b82ed23 100644 --- a/src/datatokens/Datatokens.ts +++ b/src/datatokens/Datatokens.ts @@ -62,14 +62,14 @@ export class DataTokens { * Approve * @param {String} dataTokenAddress * @param {String} toAddress - * @param {Number} amount Number of datatokens, as number. Will be converted to wei + * @param {string} amount Number of datatokens, as number. Will be converted to wei * @param {String} address * @return {Promise} transactionId */ public async approve( dataTokenAddress: string, spender: string, - amount: number, + amount: string, address: string ): Promise { const datatoken = new this.web3.eth.Contract( @@ -78,7 +78,7 @@ export class DataTokens { { from: address } ) const trxReceipt = await datatoken.methods - .approve(spender, this.web3.utils.toWei(String(amount))) + .approve(spender, this.web3.utils.toWei(amount)) .send() return trxReceipt } @@ -87,14 +87,14 @@ export class DataTokens { * Mint * @param {String} dataTokenAddress * @param {String} address - * @param {Number} amount Number of datatokens, as number. Will be converted to wei + * @param {String} amount Number of datatokens, as number. Will be converted to wei * @param {String} toAddress - only if toAddress is different from the minter * @return {Promise} transactionId */ public async mint( dataTokenAddress: string, address: string, - amount: number, + amount: string, toAddress?: string ): Promise { const destAddress = toAddress || address @@ -104,14 +104,14 @@ export class DataTokens { { from: address } ) const estGas = await datatoken.methods - .mint(destAddress, this.web3.utils.toWei(String(amount))) + .mint(destAddress, this.web3.utils.toWei(amount)) .estimateGas(function (err, estGas) { if (err) console.log('Datatokens: ' + err) return estGas }) const trxReceipt = await datatoken.methods - .mint(destAddress, this.web3.utils.toWei(String(amount))) + .mint(destAddress, this.web3.utils.toWei(amount)) .send({ from: address, gas: estGas + 1, @@ -125,14 +125,14 @@ export class DataTokens { * Transfer as number from address to toAddress * @param {String} dataTokenAddress * @param {String} toAddress - * @param {Number} amount Number of datatokens, as number. Will be converted to wei + * @param {String} amount Number of datatokens, as number. Will be converted to wei * @param {String} address * @return {Promise} transactionId */ public async transfer( dataTokenAddress: string, toAddress: string, - amount: number, + amount: string, address: string ): Promise { return this.transferToken(dataTokenAddress, toAddress, amount, address) @@ -142,17 +142,17 @@ export class DataTokens { * Transfer as number from address to toAddress * @param {String} dataTokenAddress * @param {String} toAddress - * @param {Number} amount Number of datatokens, as number. Will be converted to wei + * @param {String} amount Number of datatokens, as number. Will be converted to wei * @param {String} address * @return {Promise} transactionId */ public async transferToken( dataTokenAddress: string, toAddress: string, - amount: number, + amount: string, address: string ): Promise { - const weiAmount = this.web3.utils.toWei(String(amount)) + const weiAmount = this.web3.utils.toWei(amount) return this.transferWei(dataTokenAddress, toAddress, weiAmount, address) } @@ -160,7 +160,7 @@ export class DataTokens { * Transfer in wei from address to toAddress * @param {String} dataTokenAddress * @param {String} toAddress - * @param {Number} amount Number of datatokens, as number. Expressed as wei + * @param {String} amount Number of datatokens, as number. Expressed as wei * @param {String} address * @return {Promise} transactionId */ @@ -175,9 +175,7 @@ export class DataTokens { dataTokenAddress, { from: address } ) - const trxReceipt = await datatoken.methods - .transfer(toAddress, String(amount)) - .send() + const trxReceipt = await datatoken.methods.transfer(toAddress, amount).send() return trxReceipt } @@ -185,14 +183,14 @@ export class DataTokens { * Transfer from fromAddress to address (needs an Approve operation before) * @param {String} dataTokenAddress * @param {String} fromAddress - * @param {Number} amount Number of datatokens, as number. Will be converted to wei + * @param {String} amount Number of datatokens, as number. Will be converted to wei * @param {String} address * @return {Promise} transactionId */ public async transferFrom( dataTokenAddress: string, fromAddress: string, - amount: number, + amount: string, address: string ): Promise { const datatoken = new this.web3.eth.Contract( @@ -201,7 +199,7 @@ export class DataTokens { { from: address } ) const trxReceipt = await datatoken.methods - .transferFrom(fromAddress, address, this.web3.utils.toWei(String(amount))) + .transferFrom(fromAddress, address, this.web3.utils.toWei(amount)) .send() return trxReceipt } @@ -210,9 +208,9 @@ export class DataTokens { * Get Address Balance for datatoken * @param {String} dataTokenAddress * @param {String} address - * @return {Promise} balance Number of datatokens, as number. Will be converted from wei + * @return {Promise} balance Number of datatokens. Will be converted from wei */ - public async balance(dataTokenAddress: string, address: string): Promise { + public async balance(dataTokenAddress: string, address: string): Promise { const datatoken = new this.web3.eth.Contract( this.datatokensABI, dataTokenAddress, @@ -302,19 +300,19 @@ export class DataTokens { return this.web3.utils.fromWei(trxReceipt) } - /** Convert from number to wei - * @param {Number} amount - * @return {Promise} string - */ - public toWei(amount) { - return this.web3.utils.toWei(String(amount)) - } - - /** Convert from wei to number + /** Convert to wei * @param {String} amount * @return {Promise} string */ - public fromWei(amount) { + public toWei(amount: string) { + return this.web3.utils.toWei(amount) + } + + /** Convert from wei + * @param {String} amount + * @return {Promise} string + */ + public fromWei(amount: string) { return this.web3.utils.fromWei(amount) } } diff --git a/test/integration/ComputeFlow.test.ts b/test/integration/ComputeFlow.test.ts index 77a86858..7b480020 100644 --- a/test/integration/ComputeFlow.test.ts +++ b/test/integration/ComputeFlow.test.ts @@ -35,7 +35,8 @@ describe('Compute flow', () => { const dateCreated = new Date(Date.now()).toISOString().split('.')[0] + 'Z' // remove milliseconds - const tokenAmount = 100 + const marketplaceAllowance = '20' + const tokenAmount = '100' const timeout = 86400 const algorithmMeta = { @@ -105,7 +106,7 @@ describe('Compute flow', () => { }) it('Alice publishes dataset with a compute service that allows Raw Algo', async () => { - price = datatoken.toWei(2) // in datatoken + price = datatoken.toWei('2') // in datatoken cluster = ocean.compute.createClusterAttributes( 'Kubernetes', 'http://10.0.0.17/xxx' @@ -252,7 +253,7 @@ describe('Compute flow', () => { }) it('Bob gets datatokens from Alice to be able to try the compute service', async () => { - const dTamount = 20 + const dTamount = '20' await datatoken .transfer(tokenAddress, bob.getId(), dTamount, alice.getId()) .then(async () => { @@ -275,7 +276,7 @@ describe('Compute flow', () => { const tx = await datatoken.transferWei( computeOrder['dataToken'], computeOrder['to'], - computeOrder['numTokens'], + String(computeOrder['numTokens']), computeOrder['from'] ) const response = await ocean.compute.start( @@ -343,7 +344,7 @@ describe('Compute flow', () => { const algoTx = await datatoken.transferWei( algoOrder['dataToken'], algoOrder['to'], - algoOrder['numTokens'], + String(algoOrder['numTokens']), algoOrder['from'] ) const order = await ocean.compute.order( @@ -358,7 +359,7 @@ describe('Compute flow', () => { const tx = await datatoken.transferWei( computeOrder['dataToken'], computeOrder['to'], - computeOrder['numTokens'], + String(computeOrder['numTokens']), computeOrder['from'] ) const response = await ocean.compute.start( diff --git a/test/integration/Marketplaceflow.test.ts b/test/integration/Marketplaceflow.test.ts index db16ddc9..cb0bf480 100644 --- a/test/integration/Marketplaceflow.test.ts +++ b/test/integration/Marketplaceflow.test.ts @@ -26,8 +26,8 @@ describe('Marketplace flow', () => { let data let blob - const marketplaceAllowance = 20 - const tokenAmount = 100 + const marketplaceAllowance = '20' + const tokenAmount = '100' describe('#MarketplaceDownloadFlow-Test', () => { it('Initialize Ocean contracts v3', async () => { @@ -84,7 +84,7 @@ describe('Marketplace flow', () => { }) it('Alice publishes a dataset', async () => { - price = datatoken.toWei(10) // in datatoken + price = datatoken.toWei('10') // in datatoken const publishedDate = new Date(Date.now()).toISOString().split('.')[0] + 'Z' const timeout = 0 service1 = await ocean.assets.createAccessServiceAttributes( @@ -146,11 +146,11 @@ describe('Marketplace flow', () => { it('Marketplace posts asset for sale', async () => { accessService = await ocean.assets.getServiceByType(ddo.id, 'access') price = 20 - assert(accessService.attributes.main.cost * price === datatoken.toWei(200)) + assert(accessService.attributes.main.cost * price === datatoken.toWei('200')) }) it('Bob gets datatokens', async () => { - const dTamount = 20 + const dTamount = '20' await datatoken .transfer(tokenAddress, bob.getId(), dTamount, alice.getId()) .then(async () => { @@ -167,7 +167,7 @@ describe('Marketplace flow', () => { return await datatoken.transferWei( res['dataToken'], res['to'], - res['numTokens'], + String(res['numTokens']), res['from'] ) }) diff --git a/test/integration/Simpleflow.test.ts b/test/integration/Simpleflow.test.ts index 7bc6129f..8d10cfe5 100644 --- a/test/integration/Simpleflow.test.ts +++ b/test/integration/Simpleflow.test.ts @@ -16,8 +16,8 @@ describe('Simple flow', () => { let datatoken let tokenAddress let transactionId - const tokenAmount = 100 - const transferAmount = 1 + const tokenAmount = '100' + const transferAmount = '1' const blob = 'http://localhost:8030/api/v1/services/consume' describe('#test', () => { it('Initialize Ocean contracts v3', async () => {