From a786c83373227003dcf6dd4b9da9fd32ba5f74fc Mon Sep 17 00:00:00 2001 From: Ahmed Ali Date: Fri, 26 Jun 2020 19:38:52 +0200 Subject: [PATCH 1/7] integrate barge --- .travis.yml | 8 +++++++- src/ddo/DDO.ts | 5 ++--- test/integration/Marketplaceflow.test.ts | 18 +++++++----------- test/integration/Rinkeby.test.ts | 7 ------- test/integration/Simpleflow.test.ts | 6 ------ test/integration/config.ts | 2 +- 6 files changed, 17 insertions(+), 29 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5ec16e88..b13f3d88 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,11 +18,17 @@ before_install: before_script: - ganache-cli > ganache-cli.log & + - git clone https://github.com/oceanprotocol/barge + - cd barge + - git checkout origin/v3 + - bash -x start_ocean.sh --no-commons --no-dashboard 2>&1 > start_ocean.log & + - cd .. script: - npm run lint - npm run build - - npm run test:cover + - npm run test:cover + - npm run test:integration notifications: email: false \ No newline at end of file diff --git a/src/ddo/DDO.ts b/src/ddo/DDO.ts index 64c94e5f..a64d5029 100644 --- a/src/ddo/DDO.ts +++ b/src/ddo/DDO.ts @@ -3,7 +3,7 @@ import { Authentication } from './interfaces/Authentication' import { Proof } from './interfaces/Proof' import { PublicKey } from './interfaces/PublicKey' import { Service, ServiceType } from './interfaces/Service' -import Web3Provider from '../datatokens/Web3Provider' +import Web3Provider from '../datatokens/Web3Provider' /** * DID Descriptor Object. * Contains all the data related to an asset. @@ -106,8 +106,7 @@ export class DDO { this.id ] - return Web3Provider - .getWeb3() + return Web3Provider.getWeb3() .utils.sha3(values.join('')) .replace(/^0x([a-f0-9]{64})(:!.+)?$/i, '0x$1') } diff --git a/test/integration/Marketplaceflow.test.ts b/test/integration/Marketplaceflow.test.ts index da1fdd2c..4c49199a 100644 --- a/test/integration/Marketplaceflow.test.ts +++ b/test/integration/Marketplaceflow.test.ts @@ -3,7 +3,7 @@ import { DataTokens } from '../../src/datatokens/Datatokens' import { Ocean } from '../../src/ocean/Ocean' import config from './config' -// import Accounts from "../../src/ocean/Account" +// import Accounts from "../../src/ocean/Account" const Web3 = require('web3') const web3 = new Web3('http://127.0.0.1:8545') @@ -50,11 +50,10 @@ describe('Marketplace flow', () => { marketplace = (await ocean.accounts.list())[3] await contracts.deployContracts(owner.getId()) - }) it('Alice publishes a datatoken contract', async () => { - datatoken = new DataTokens( + datatoken = new DataTokens( contracts.factoryAddress, factory.abi, datatokensTemplate.abi, @@ -69,29 +68,26 @@ describe('Marketplace flow', () => { main: { type: 'dataset', name: 'test-dataset', - dateCreated: - new Date(Date.now()) - .toISOString() - .split('.')[0] + 'Z', // remove milliseconds + dateCreated: new Date(Date.now()).toISOString().split('.')[0] + 'Z', // remove milliseconds author: 'oceanprotocol-team', license: 'MIT', files: [ { - url: 'https://raw.githubusercontent.com/tbertinmahieux/MSongsDB/master/Tasks_Demos/CoverSongs/shs_dataset_test.txt', + url: + 'https://raw.githubusercontent.com/tbertinmahieux/MSongsDB/master/Tasks_Demos/CoverSongs/shs_dataset_test.txt', checksum: 'efb2c764274b745f5fc37f97c6b0e761', contentLength: '4535431', contentType: 'text/csv', encoding: 'UTF-8', compression: 'zip' } - ] - } + ] + } } }) it('Alice publishes a dataset', async () => { ddo = await ocean.assets.create(asset, alice, [], tokenAddress) - }) // it('Alice mints 100 tokens', async () => { diff --git a/test/integration/Rinkeby.test.ts b/test/integration/Rinkeby.test.ts index 65aba5f4..4e828f32 100644 --- a/test/integration/Rinkeby.test.ts +++ b/test/integration/Rinkeby.test.ts @@ -11,10 +11,8 @@ describe('Rinkeby test', () => { // let contracts // let datatoken // let tokenAddress - // const tokenAmount = 100 // const blob = 'http://localhost:8030/api/v1/provider/services' - // describe('#test', () => { // it('Initialize Ocean contracts v3', async () => { // contracts = new TestContractHandler( @@ -24,14 +22,11 @@ describe('Rinkeby test', () => { // factory.bytecode, // web3 // ) - // const privateKey = 'PRIVATE_KEY' // account = web3.eth.accounts.privateKeyToAccount('0x' + privateKey) // web3.eth.accounts.wallet.add(account) - // await contracts.deployContracts(account.address) // }) - // it('Publish a dataset', async () => { // datatoken = new DataTokens( // contracts.factoryAddress, @@ -39,10 +34,8 @@ describe('Rinkeby test', () => { // datatokensTemplate.abi, // web3 // ) - // tokenAddress = await datatoken.create(blob, account.address) // }) - // it('Mint 100 tokens', async () => { // await datatoken.mint(tokenAddress, account.address, tokenAmount) // }) diff --git a/test/integration/Simpleflow.test.ts b/test/integration/Simpleflow.test.ts index 3c857191..81052dd0 100644 --- a/test/integration/Simpleflow.test.ts +++ b/test/integration/Simpleflow.test.ts @@ -16,11 +16,9 @@ describe('Simple flow', () => { // let datatoken // let tokenAddress // let transactionId - // const tokenAmount = 100 // const transferAmount = 1 // const blob = 'http://localhost:8030/api/v1/provider/services' - // describe('#test', () => { // it('Initialize Ocean contracts v3', async () => { // contracts = new TestContractHandler( @@ -36,7 +34,6 @@ describe('Simple flow', () => { // bob = contracts.accounts[2] // await contracts.deployContracts(owner) // }) - // it('Alice publishes a dataset', async () => { // // Alice creates a Datatoken // datatoken = new DataTokens( @@ -47,16 +44,13 @@ describe('Simple flow', () => { // ) // tokenAddress = await datatoken.create(blob, alice) // }) - // it('Alice mints 100 tokens', async () => { // await datatoken.mint(tokenAddress, alice, tokenAmount) // }) - // it('Alice transfers 1 token to Bob', async () => { // const ts = await datatoken.transfer(tokenAddress, bob, transferAmount, alice) // transactionId = ts.transactionHash // }) - // it('Bob consumes dataset', async () => { // const config = new Config() // const ocean = await Ocean.getInstance(config) diff --git a/test/integration/config.ts b/test/integration/config.ts index 6be4a5d9..59d0a6e5 100644 --- a/test/integration/config.ts +++ b/test/integration/config.ts @@ -15,4 +15,4 @@ export default { secretStoreUri: 'http://localhost:12001', verbose: LogLevel.Error, web3Provider: web3 -} as Config \ No newline at end of file +} as Config From 574cd4f57b6780d8d5a6446b83f131cabebf63e2 Mon Sep 17 00:00:00 2001 From: Ahmed Ali Date: Fri, 26 Jun 2020 19:47:13 +0200 Subject: [PATCH 2/7] fix provider URi --- test/integration/config.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/integration/config.ts b/test/integration/config.ts index 59d0a6e5..b609a70b 100644 --- a/test/integration/config.ts +++ b/test/integration/config.ts @@ -7,9 +7,9 @@ const Web3 = require('web3') const web3 = new Web3('http://127.0.0.1:8545') export default { - // metadataStoreUri: 'http://localhost:5000', - metadataStoreUri: 'https://aquarius.marketplace.dev-ocean.com', - providerUri: 'http://127.0.0.1:8030', + metadataStoreUri: 'http://localhost:5000', + //gimetadataStoreUri: 'https://aquarius.marketplace.dev-ocean.com', + providerUri: 'http://localhost:8030', nodeUri: `http://localhost:${process.env.ETH_PORT || 8545}`, parityUri: 'http://localhost:9545', secretStoreUri: 'http://localhost:12001', From cf2072ecab4cf76786420c8beb58c374a3e55b86 Mon Sep 17 00:00:00 2001 From: Ahmed Ali Date: Fri, 26 Jun 2020 20:32:08 +0200 Subject: [PATCH 3/7] minor config fix --- .travis.yml | 2 +- test/integration/config.ts | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index b13f3d88..e9ccd51e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,7 +20,7 @@ before_script: - ganache-cli > ganache-cli.log & - git clone https://github.com/oceanprotocol/barge - cd barge - - git checkout origin/v3 + - git checkout v3 - bash -x start_ocean.sh --no-commons --no-dashboard 2>&1 > start_ocean.log & - cd .. diff --git a/test/integration/config.ts b/test/integration/config.ts index b609a70b..dfd7e228 100644 --- a/test/integration/config.ts +++ b/test/integration/config.ts @@ -8,11 +8,8 @@ const web3 = new Web3('http://127.0.0.1:8545') export default { metadataStoreUri: 'http://localhost:5000', - //gimetadataStoreUri: 'https://aquarius.marketplace.dev-ocean.com', providerUri: 'http://localhost:8030', nodeUri: `http://localhost:${process.env.ETH_PORT || 8545}`, - parityUri: 'http://localhost:9545', - secretStoreUri: 'http://localhost:12001', verbose: LogLevel.Error, web3Provider: web3 } as Config From 696856eb0ddc120cdaf3e331ab4675d3301596db Mon Sep 17 00:00:00 2001 From: Ahmed Ali Date: Fri, 26 Jun 2020 20:56:27 +0200 Subject: [PATCH 4/7] fix ddo --- src/ddo/DDO.ts | 2 +- src/ocean/Assets.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ddo/DDO.ts b/src/ddo/DDO.ts index a64d5029..4fb16d2e 100644 --- a/src/ddo/DDO.ts +++ b/src/ddo/DDO.ts @@ -41,7 +41,7 @@ export class DDO { public updated: string - public dtAddress: string + public dataToken: string public publicKey: PublicKey[] = [] diff --git a/src/ocean/Assets.ts b/src/ocean/Assets.ts index dac17b70..da790d59 100644 --- a/src/ocean/Assets.ts +++ b/src/ocean/Assets.ts @@ -8,6 +8,7 @@ import DID from './DID' import { SubscribablePromise } from '../utils' import { Instantiable, InstantiableConfig } from '../Instantiable.abstract' import { WebServiceConnector } from './utils/WebServiceConnector' +import { ECANCELED } from 'constants' export enum CreateProgressStep { CreatingDataToken, @@ -99,7 +100,7 @@ export class Assets extends Instantiable { // create ddo itself const ddo: DDO = new DDO({ id: did.getDid(), - dtAddress: dtAddress, + dataToken: dtAddress, authentication: [ { type: 'RsaSignatureAuthentication2018', @@ -151,7 +152,6 @@ export class Assets extends Instantiable { index: indexCount++ })) as Service[] }) - this.logger.log('Generating proof') observer.next(CreateProgressStep.GeneratingProof) await ddo.addProof(this.ocean, publisher.getId(), publisher.getPassword()) From d9e80f5cffa664ba838ef7cb5630acec1b89266b Mon Sep 17 00:00:00 2001 From: Ahmed Ali Date: Fri, 26 Jun 2020 21:25:19 +0200 Subject: [PATCH 5/7] add sleep for timeout to start barge --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index e9ccd51e..65d7f233 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,6 +23,7 @@ before_script: - git checkout v3 - bash -x start_ocean.sh --no-commons --no-dashboard 2>&1 > start_ocean.log & - cd .. + - sleep 120 script: - npm run lint From 5e60625832be579914efc58a5c9148c8d9e69ced Mon Sep 17 00:00:00 2001 From: Ahmed Ali Date: Fri, 26 Jun 2020 21:32:53 +0200 Subject: [PATCH 6/7] add more timeout --- .travis.yml | 2 +- src/ocean/Assets.ts | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 65d7f233..b05cf962 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,7 @@ before_script: - git checkout v3 - bash -x start_ocean.sh --no-commons --no-dashboard 2>&1 > start_ocean.log & - cd .. - - sleep 120 + - sleep 300 script: - npm run lint diff --git a/src/ocean/Assets.ts b/src/ocean/Assets.ts index da790d59..79ff3387 100644 --- a/src/ocean/Assets.ts +++ b/src/ocean/Assets.ts @@ -1,4 +1,4 @@ -import { SearchQuery, QueryResult } from '../metadatastore/MetadataStore' +import { SearchQuery } from '../metadatastore/MetadataStore' import { DDO } from '../ddo/DDO' import { Metadata } from '../ddo/interfaces/Metadata' import { Service, ServiceAccess, ServiceComputePrivacy } from '../ddo/interfaces/Service' @@ -8,7 +8,6 @@ import DID from './DID' import { SubscribablePromise } from '../utils' import { Instantiable, InstantiableConfig } from '../Instantiable.abstract' import { WebServiceConnector } from './utils/WebServiceConnector' -import { ECANCELED } from 'constants' export enum CreateProgressStep { CreatingDataToken, From 18302f4ec575968b4360a13fba3eda03414b1b2e Mon Sep 17 00:00:00 2001 From: Ahmed Ali Date: Fri, 26 Jun 2020 21:34:44 +0200 Subject: [PATCH 7/7] fix start ocean --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b05cf962..bef1135b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,7 +21,7 @@ before_script: - git clone https://github.com/oceanprotocol/barge - cd barge - git checkout v3 - - bash -x start_ocean.sh --no-commons --no-dashboard 2>&1 > start_ocean.log & + - bash -x start_ocean.sh 2>&1 > start_ocean.log & - cd .. - sleep 300