1
0
mirror of https://github.com/oceanprotocol/ocean.js.git synced 2024-11-26 20:39:05 +01:00

sent ocean instance param to asset resolve helper

This commit is contained in:
Bogdan Fazakas 2021-06-08 17:24:54 +03:00
parent 0786c32a7b
commit 4f9ed04086
5 changed files with 18 additions and 22 deletions

View File

@ -410,7 +410,7 @@ export class Assets extends Instantiable {
* @return {Promise<string>} Returns eth address
*/
public async creator(asset: DDO | string): Promise<string> {
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<Service> {
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<Service> {
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<string> {
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<string | true> {
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

View File

@ -118,7 +118,7 @@ export class Compute extends Instantiable {
additionalInputs?: ComputeInput[]
): Promise<ComputeJob> {
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<ComputeJob> {
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<ComputeJob> {
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<ComputeJob> {
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<boolean> {
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<OrderProgressStep, string> {
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)

View File

@ -190,7 +190,7 @@ export class Provider extends Instantiable {
serviceType: string,
consumerAddress: string
): Promise<string> {
const { did, ddo } = await assetResolve(asset)
const { did, ddo } = await assetResolve(asset, this.ocean)
let initializeUrl = this.getInitializeEndpoint()
? this.getInitializeEndpoint().urlPath
: null

View File

@ -10,9 +10,10 @@ function isDdo(arg: any): arg is DDO {
return arg.id !== undefined
}
export async function assetResolve(asset: DDO | string): Promise<AssetResolver> {
let ocean: Ocean
export async function assetResolve(
asset: DDO | string,
ocean: Ocean
): Promise<AssetResolver> {
if (isDdo(asset)) {
const did = asset.id
const ddo = asset

View File

@ -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