From 4f9ed040866e7ee5bfd80c4ab5cd71d56c1abefc Mon Sep 17 00:00:00 2001 From: Bogdan Fazakas Date: Tue, 8 Jun 2021 17:24:54 +0300 Subject: [PATCH] sent ocean instance param to asset resolve helper --- src/ocean/Assets.ts | 10 +++++----- src/ocean/Compute.ts | 12 ++++++------ src/provider/Provider.ts | 2 +- src/utils/AssetResolverHelper.ts | 7 ++++--- test/integration/ComputeFlow.test.ts | 9 ++------- 5 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/ocean/Assets.ts b/src/ocean/Assets.ts index 6897e917..bc4eebff 100644 --- a/src/ocean/Assets.ts +++ b/src/ocean/Assets.ts @@ -410,7 +410,7 @@ export class Assets extends Instantiable { * @return {Promise} Returns eth address */ public async creator(asset: DDO | string): Promise { - const { did, ddo } = await assetResolve(asset) + const { did, ddo } = await assetResolve(asset, this.ocean) const checksum = ddo.getChecksum() const { creator, signatureValue } = ddo.proof const signer = await this.ocean.utils.signature.verifyText(checksum, signatureValue) @@ -457,7 +457,7 @@ export class Assets extends Instantiable { asset: DDO | string, serviceType: string ): Promise { - const { ddo } = await assetResolve(asset) + const { ddo } = await assetResolve(asset, this.ocean) let service: Service const services: Service[] = ddo.service @@ -473,7 +473,7 @@ export class Assets extends Instantiable { asset: DDO | string, serviceIndex: number ): Promise { - const { ddo } = await assetResolve(asset) + const { ddo } = await assetResolve(asset, this.ocean) let service: Service const services: Service[] = ddo.service @@ -566,7 +566,7 @@ export class Assets extends Instantiable { searchPreviousOrders = true ): Promise { let service: Service - const { ddo } = await assetResolve(asset) + const { ddo } = await assetResolve(asset, this.ocean) const consumable = await this.isConsumable(ddo, consumerAddress) if (consumable.status > 0) { throw new Error(`Order asset failed, ` + consumable.message) @@ -643,7 +643,7 @@ export class Assets extends Instantiable { consumerAccount: Account, destination: string ): Promise { - const { did, ddo } = await assetResolve(asset) + const { did, ddo } = await assetResolve(asset, this.ocean) const { attributes } = ddo.findServiceByType('metadata') const service = ddo.findServiceByType('access') const { files } = attributes.main diff --git a/src/ocean/Compute.ts b/src/ocean/Compute.ts index fd5b48d4..25274483 100644 --- a/src/ocean/Compute.ts +++ b/src/ocean/Compute.ts @@ -118,7 +118,7 @@ export class Compute extends Instantiable { additionalInputs?: ComputeInput[] ): Promise { output = this.checkOutput(consumerAccount, output) - const { did, ddo } = await assetResolve(asset) + const { did, ddo } = await assetResolve(asset, this.ocean) const service = ddo.findServiceByType('compute') const { serviceEndpoint } = service if (did && txId) { @@ -153,7 +153,7 @@ export class Compute extends Instantiable { asset: DDO | string, jobId: string ): Promise { - const { did, ddo } = await assetResolve(asset) + const { did, ddo } = await assetResolve(asset, this.ocean) const service = ddo.findServiceByType('compute') const { serviceEndpoint } = service const provider = await Provider.getInstance(this.instanceConfig) @@ -176,7 +176,7 @@ export class Compute extends Instantiable { asset: DDO | string, jobId: string ): Promise { - const { did, ddo } = await assetResolve(asset) + const { did, ddo } = await assetResolve(asset, this.ocean) const service = ddo.findServiceByType('compute') const { serviceEndpoint } = service const provider = await Provider.getInstance(this.instanceConfig) @@ -250,7 +250,7 @@ export class Compute extends Instantiable { asset: DDO | string, jobId: string ): Promise { - const { did, ddo } = await assetResolve(asset) + const { did, ddo } = await assetResolve(asset, this.ocean) const service = ddo.findServiceByType('compute') const { serviceEndpoint } = service const provider = await Provider.getInstance(this.instanceConfig) @@ -413,7 +413,7 @@ export class Compute extends Instantiable { algorithm: ComputeAlgorithm, algorithmDDO?: DDO ): Promise { - const datasetResolved: AssetResolver = await assetResolve(dataset) + const datasetResolved: AssetResolver = await assetResolve(dataset, this.ocean) const service: Service = datasetResolved.ddo.findServiceById(serviceIndex) if (!service) return false if (service.type === 'compute') { @@ -524,7 +524,7 @@ export class Compute extends Instantiable { searchPreviousOrders = true ): SubscribablePromise { return new SubscribablePromise(async (observer) => { - const { ddo } = await assetResolve(dataset) + const { ddo } = await assetResolve(dataset, this.ocean) // first check if we can order this const allowed = await this.isOrderable(ddo, serviceIndex, algorithm) if (!allowed) diff --git a/src/provider/Provider.ts b/src/provider/Provider.ts index ceaed830..4f3a317a 100644 --- a/src/provider/Provider.ts +++ b/src/provider/Provider.ts @@ -190,7 +190,7 @@ export class Provider extends Instantiable { serviceType: string, consumerAddress: string ): Promise { - const { did, ddo } = await assetResolve(asset) + const { did, ddo } = await assetResolve(asset, this.ocean) let initializeUrl = this.getInitializeEndpoint() ? this.getInitializeEndpoint().urlPath : null diff --git a/src/utils/AssetResolverHelper.ts b/src/utils/AssetResolverHelper.ts index df552fbf..228d9d22 100644 --- a/src/utils/AssetResolverHelper.ts +++ b/src/utils/AssetResolverHelper.ts @@ -10,9 +10,10 @@ function isDdo(arg: any): arg is DDO { return arg.id !== undefined } -export async function assetResolve(asset: DDO | string): Promise { - let ocean: Ocean - +export async function assetResolve( + asset: DDO | string, + ocean: Ocean +): Promise { if (isDdo(asset)) { const did = asset.id const ddo = asset diff --git a/test/integration/ComputeFlow.test.ts b/test/integration/ComputeFlow.test.ts index 6535c6d5..d3fec4bd 100644 --- a/test/integration/ComputeFlow.test.ts +++ b/test/integration/ComputeFlow.test.ts @@ -4,11 +4,7 @@ import { DataTokens } from '../../src/datatokens/Datatokens' import { Ocean } from '../../src/ocean/Ocean' import { ConfigHelper } from '../../src/utils/ConfigHelper' import { assert } from 'chai' -import { - Service, - ServiceComputePrivacy, - publisherTrustedAlgorithm -} from '../../src/ddo/interfaces/Service' +import { ServiceComputePrivacy } from '../../src/ddo/interfaces/Service' import Web3 from 'web3' import factory from '@oceanprotocol/contracts/artifacts/DTFactory.json' import datatokensTemplate from '@oceanprotocol/contracts/artifacts/DataTokenTemplate.json' @@ -860,8 +856,7 @@ describe('Compute flow', () => { algoDefinition, output, `${computeService.index}`, - computeService.type, - undefined + computeService.type ) assert(response, 'Compute error') jobId = response.jobId