From 382bed5d4f8973dc03bd84dae0e9212a99146ea8 Mon Sep 17 00:00:00 2001 From: Alex Coseru Date: Wed, 15 Jul 2020 10:45:16 +0300 Subject: [PATCH 1/9] Update .travis.yml use provider-py latest from barge --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0e670ddc..b3752a13 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,6 @@ before_script: - git clone https://github.com/oceanprotocol/barge - cd barge - git checkout v3 - - export PROVIDER_VERSION=phase2 - bash -x start_ocean.sh --no-dashboard 2>&1 > start_ocean.log & - cd .. - sleep 300 From 8297808f55ea47f5c74671a773b8d247c674cf67 Mon Sep 17 00:00:00 2001 From: ssallam Date: Wed, 15 Jul 2020 12:01:02 +0200 Subject: [PATCH 2/9] Cleanup style issues/warnings in compute test. --- test/integration/ComputeFlow.test.ts | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/test/integration/ComputeFlow.test.ts b/test/integration/ComputeFlow.test.ts index 4b43a6e8..e69eb674 100644 --- a/test/integration/ComputeFlow.test.ts +++ b/test/integration/ComputeFlow.test.ts @@ -3,12 +3,7 @@ import { DataTokens } from '../../src/datatokens/Datatokens' import { Ocean } from '../../src/ocean/Ocean' import config from './config' import { assert } from 'console' -import { ComputeJob } from '../../src/ocean/interfaces/ComputeJob' -import { - Service, - ServiceComputePrivacy, - ServiceCompute -} from '../../src/ddo/interfaces/Service' +import { ServiceComputePrivacy } from '../../src/ddo/interfaces/Service' const Web3 = require('web3') const web3 = new Web3('http://127.0.0.1:8545') const factory = require('@oceanprotocol/contracts/artifacts/development/Factory.json') @@ -23,11 +18,9 @@ describe('Compute flow', () => { let datasetNoRawAlgo let datasetWithTrustedAlgo let algorithmAsset - let marketplace let contracts let datatoken let tokenAddress - let service1 let price let ocean let computeService @@ -42,7 +35,6 @@ describe('Compute flow', () => { const dateCreated = new Date(Date.now()).toISOString().split('.')[0] + 'Z' // remove milliseconds - const marketplaceAllowance = 20 const tokenAmount = 100 const timeout = 86400 @@ -73,7 +65,7 @@ describe('Compute flow', () => { owner = (await ocean.accounts.list())[0] alice = (await ocean.accounts.list())[1] bob = (await ocean.accounts.list())[2] - marketplace = (await ocean.accounts.list())[3] + (await ocean.accounts.list())[3] data = { t: 1, url: ocean.config.metadataStoreUri } blob = JSON.stringify(data) await contracts.deployContracts(owner.getId()) From 318d1dd5a2757e33004ebb3fd7bd9131ade7d405 Mon Sep 17 00:00:00 2001 From: Ahmed Ali Date: Wed, 15 Jul 2020 12:06:11 +0200 Subject: [PATCH 3/9] fix provider version --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index b3752a13..bdd83b56 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,6 +19,7 @@ before_script: - git clone https://github.com/oceanprotocol/barge - cd barge - git checkout v3 + - export PROVIDER_VERSION=latest - bash -x start_ocean.sh --no-dashboard 2>&1 > start_ocean.log & - cd .. - sleep 300 From 33b4076cffa6e45f1ed5faba1646ff40a847374b Mon Sep 17 00:00:00 2001 From: ssallam Date: Wed, 15 Jul 2020 12:12:46 +0200 Subject: [PATCH 4/9] Fix test. --- test/integration/ComputeFlow.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/test/integration/ComputeFlow.test.ts b/test/integration/ComputeFlow.test.ts index e69eb674..77a86858 100644 --- a/test/integration/ComputeFlow.test.ts +++ b/test/integration/ComputeFlow.test.ts @@ -65,7 +65,6 @@ describe('Compute flow', () => { owner = (await ocean.accounts.list())[0] alice = (await ocean.accounts.list())[1] bob = (await ocean.accounts.list())[2] - (await ocean.accounts.list())[3] data = { t: 1, url: ocean.config.metadataStoreUri } blob = JSON.stringify(data) await contracts.deployContracts(owner.getId()) From a302be751dae3c6074c8f432911437f9a1d34911 Mon Sep 17 00:00:00 2001 From: ssallam Date: Wed, 15 Jul 2020 12:13:37 +0200 Subject: [PATCH 5/9] Use `latest` provider tag in travis setup. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0e670ddc..bdd83b56 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,7 @@ before_script: - git clone https://github.com/oceanprotocol/barge - cd barge - git checkout v3 - - export PROVIDER_VERSION=phase2 + - export PROVIDER_VERSION=latest - bash -x start_ocean.sh --no-dashboard 2>&1 > start_ocean.log & - cd .. - sleep 300 From 13095ce710b0ac0171b9349c3e9c199bbd22aa45 Mon Sep 17 00:00:00 2001 From: alexcos20 Date: Wed, 15 Jul 2020 03:19:00 -0700 Subject: [PATCH 6/9] add ocean token & any token balance to Account --- src/ocean/Account.ts | 48 +++++++++++++++++++++++++++++++++++++++---- src/ocean/Accounts.ts | 15 +++++++++++--- 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/src/ocean/Account.ts b/src/ocean/Account.ts index 4d316d0f..bf447930 100644 --- a/src/ocean/Account.ts +++ b/src/ocean/Account.ts @@ -76,12 +76,52 @@ export default class Account extends Instantiable { */ /** - * Balance of Any Token. - * @return {Promise} + * Balance of Any Token (converted from wei). + * @return {Promise} */ public async getTokenBalance(TokenAdress: string): Promise { - // TO DO - return 0 + if (TokenAdress === null) return null + const minABI = [ + { + constant: true, + inputs: [ + { + name: '_owner', + type: 'address' + } + ], + name: 'balanceOf', + outputs: [ + { + name: 'balance', + type: 'uint256' + } + ], + payable: false, + stateMutability: 'view', + type: 'function' + } + ] + let result = null + try { + const token = new this.web3.eth.Contract(minABI, TokenAdress, { + from: this.id + }) + result = this.web3.utils.fromWei( + await token.methods.balanceOf(this.id).call() + ) + } catch (e) { + console.error(e) + } + return result + } + + /** + * Balance of Ocean Token. + * @return {Promise} + */ + public async getOceanBalance(): Promise { + return this.getTokenBalance(this.config.oceanTokenAddress) } /** diff --git a/src/ocean/Accounts.ts b/src/ocean/Accounts.ts index 041a69ba..cd772988 100644 --- a/src/ocean/Accounts.ts +++ b/src/ocean/Accounts.ts @@ -31,21 +31,30 @@ export class Accounts extends Instantiable { } /** - * Return account balance. + * Return account balance for a given ERC20 token * @param {String} TokenAddress . * @param {Account} account Account instance. * @return {Promise} Ether and Ocean Token balance. */ - public balance(TokenAddress: string, account: Account): Promise { + public getTokenBalance(TokenAddress: string, account: Account): Promise { return account.getTokenBalance(TokenAddress) } + /** + * Return account balance for a Ocean Tokens + * @param {Account} account Account instance. + * @return {Promise} Ether and Ocean Token balance. + */ + public getOceanBalance(account: Account): Promise { + return account.getOceanBalance() + } + /** * Return account balance in ETH * @param {Account} account Account instance. * @return {Promise} Ether and Ocean Token balance. */ - public ETHbalance(account: Account): Promise { + public getEtherBalance(account: Account): Promise { return account.getEtherBalance() } } From a03c9b888f6ea2376c253e841de0657faf2b9c06 Mon Sep 17 00:00:00 2001 From: alexcos20 Date: Wed, 15 Jul 2020 03:25:01 -0700 Subject: [PATCH 7/9] add ocean token & any token balance to Account --- src/ocean/Account.ts | 22 ++++++++-------------- src/ocean/Accounts.ts | 12 ++++++------ 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/src/ocean/Account.ts b/src/ocean/Account.ts index bf447930..cd146c51 100644 --- a/src/ocean/Account.ts +++ b/src/ocean/Account.ts @@ -79,7 +79,7 @@ export default class Account extends Instantiable { * Balance of Any Token (converted from wei). * @return {Promise} */ - public async getTokenBalance(TokenAdress: string): Promise { + public async getTokenBalance(TokenAdress: string): Promise { if (TokenAdress === null) return null const minABI = [ { @@ -117,10 +117,10 @@ export default class Account extends Instantiable { } /** - * Balance of Ocean Token. + * Balance of Ocean Token. (converted from wei). * @return {Promise} */ - public async getOceanBalance(): Promise { + public async getOceanBalance(): Promise { return this.getTokenBalance(this.config.oceanTokenAddress) } @@ -134,17 +134,11 @@ export default class Account extends Instantiable { } /** - * Balance of Ether. - * @return {Promise} + * Balance of Ether.(converted from wei). + * @return {Promise} */ - public async getEtherBalance(): Promise { - // TO DO - /* return this.web3.eth - .getBalance(this.id, 'latest') - .then((balance: string): number => { - return new BigNumber(balance).toNumber() - }) - */ - return 0 + public async getEtherBalance(): Promise { + const result = await this.web3.eth.getBalance(this.id, 'latest') + return this.web3.utils.fromWei(result) } } diff --git a/src/ocean/Accounts.ts b/src/ocean/Accounts.ts index cd772988..ed3e20ce 100644 --- a/src/ocean/Accounts.ts +++ b/src/ocean/Accounts.ts @@ -34,27 +34,27 @@ export class Accounts extends Instantiable { * Return account balance for a given ERC20 token * @param {String} TokenAddress . * @param {Account} account Account instance. - * @return {Promise} Ether and Ocean Token balance. + * @return {Promise} Token balance. */ - public getTokenBalance(TokenAddress: string, account: Account): Promise { + public getTokenBalance(TokenAddress: string, account: Account): Promise { return account.getTokenBalance(TokenAddress) } /** * Return account balance for a Ocean Tokens * @param {Account} account Account instance. - * @return {Promise} Ether and Ocean Token balance. + * @return {Promise} Ocean Token balance. */ - public getOceanBalance(account: Account): Promise { + public getOceanBalance(account: Account): Promise { return account.getOceanBalance() } /** * Return account balance in ETH * @param {Account} account Account instance. - * @return {Promise} Ether and Ocean Token balance. + * @return {Promise} Ether balance. */ - public getEtherBalance(account: Account): Promise { + public getEtherBalance(account: Account): Promise { return account.getEtherBalance() } } From edb2d53fe398dd0fb30f38b327ea3898e6bfe526 Mon Sep 17 00:00:00 2001 From: Ahmed Ali Date: Wed, 15 Jul 2020 12:37:45 +0200 Subject: [PATCH 8/9] fix (#152) --- src/datatokens/Datatokens.ts | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/datatokens/Datatokens.ts b/src/datatokens/Datatokens.ts index 861dac66..fb85706d 100644 --- a/src/datatokens/Datatokens.ts +++ b/src/datatokens/Datatokens.ts @@ -6,24 +6,19 @@ const defaultDatatokensABI = require('@oceanprotocol/contracts/artifacts/develop */ export class DataTokens { public factoryAddress: string - public factoryABI: object - public datatokensABI: object + public factoryABI: any + public datatokensABI: any public web3: any /** * Instantiate DataTokens (independently of Ocean). * @param {String} factoryAddress - * @param {Object} factoryABI - * @param {Object} datatokensABI - * @param {Object} web3 + * @param {any} factoryABI + * @param {any} datatokensABI + * @param {any} web3 */ - constructor( - factoryAddress: string, - factoryABI: object, - datatokensABI: object, - web3: any - ) { + constructor(factoryAddress: string, factoryABI: any, datatokensABI: any, web3: any) { this.factoryAddress = factoryAddress this.factoryABI = factoryABI || defaultFactoryABI this.datatokensABI = datatokensABI || defaultDatatokensABI From fec14ec13987cff45589810d1288f3553bbfc05e Mon Sep 17 00:00:00 2001 From: alexcos20 Date: Wed, 15 Jul 2020 03:42:18 -0700 Subject: [PATCH 9/9] fix tsc --- src/ocean/Account.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ocean/Account.ts b/src/ocean/Account.ts index cd146c51..fb932ece 100644 --- a/src/ocean/Account.ts +++ b/src/ocean/Account.ts @@ -104,7 +104,7 @@ export default class Account extends Instantiable { ] let result = null try { - const token = new this.web3.eth.Contract(minABI, TokenAdress, { + const token = new this.web3.eth.Contract(minABI as any, TokenAdress, { from: this.id }) result = this.web3.utils.fromWei(