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 * @return {Promise<string>} Returns eth address
*/ */
public async creator(asset: DDO | string): Promise<string> { 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 checksum = ddo.getChecksum()
const { creator, signatureValue } = ddo.proof const { creator, signatureValue } = ddo.proof
const signer = await this.ocean.utils.signature.verifyText(checksum, signatureValue) const signer = await this.ocean.utils.signature.verifyText(checksum, signatureValue)
@ -457,7 +457,7 @@ export class Assets extends Instantiable {
asset: DDO | string, asset: DDO | string,
serviceType: string serviceType: string
): Promise<Service> { ): Promise<Service> {
const { ddo } = await assetResolve(asset) const { ddo } = await assetResolve(asset, this.ocean)
let service: Service let service: Service
const services: Service[] = ddo.service const services: Service[] = ddo.service
@ -473,7 +473,7 @@ export class Assets extends Instantiable {
asset: DDO | string, asset: DDO | string,
serviceIndex: number serviceIndex: number
): Promise<Service> { ): Promise<Service> {
const { ddo } = await assetResolve(asset) const { ddo } = await assetResolve(asset, this.ocean)
let service: Service let service: Service
const services: Service[] = ddo.service const services: Service[] = ddo.service
@ -566,7 +566,7 @@ export class Assets extends Instantiable {
searchPreviousOrders = true searchPreviousOrders = true
): Promise<string> { ): Promise<string> {
let service: Service let service: Service
const { ddo } = await assetResolve(asset) const { ddo } = await assetResolve(asset, this.ocean)
const consumable = await this.isConsumable(ddo, consumerAddress) const consumable = await this.isConsumable(ddo, consumerAddress)
if (consumable.status > 0) { if (consumable.status > 0) {
throw new Error(`Order asset failed, ` + consumable.message) throw new Error(`Order asset failed, ` + consumable.message)
@ -643,7 +643,7 @@ export class Assets extends Instantiable {
consumerAccount: Account, consumerAccount: Account,
destination: string destination: string
): Promise<string | true> { ): Promise<string | true> {
const { did, ddo } = await assetResolve(asset) const { did, ddo } = await assetResolve(asset, this.ocean)
const { attributes } = ddo.findServiceByType('metadata') const { attributes } = ddo.findServiceByType('metadata')
const service = ddo.findServiceByType('access') const service = ddo.findServiceByType('access')
const { files } = attributes.main const { files } = attributes.main

View File

@ -118,7 +118,7 @@ export class Compute extends Instantiable {
additionalInputs?: ComputeInput[] additionalInputs?: ComputeInput[]
): Promise<ComputeJob> { ): Promise<ComputeJob> {
output = this.checkOutput(consumerAccount, output) 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 service = ddo.findServiceByType('compute')
const { serviceEndpoint } = service const { serviceEndpoint } = service
if (did && txId) { if (did && txId) {
@ -153,7 +153,7 @@ export class Compute extends Instantiable {
asset: DDO | string, asset: DDO | string,
jobId: string jobId: string
): Promise<ComputeJob> { ): Promise<ComputeJob> {
const { did, ddo } = await assetResolve(asset) const { did, ddo } = await assetResolve(asset, this.ocean)
const service = ddo.findServiceByType('compute') const service = ddo.findServiceByType('compute')
const { serviceEndpoint } = service const { serviceEndpoint } = service
const provider = await Provider.getInstance(this.instanceConfig) const provider = await Provider.getInstance(this.instanceConfig)
@ -176,7 +176,7 @@ export class Compute extends Instantiable {
asset: DDO | string, asset: DDO | string,
jobId: string jobId: string
): Promise<ComputeJob> { ): Promise<ComputeJob> {
const { did, ddo } = await assetResolve(asset) const { did, ddo } = await assetResolve(asset, this.ocean)
const service = ddo.findServiceByType('compute') const service = ddo.findServiceByType('compute')
const { serviceEndpoint } = service const { serviceEndpoint } = service
const provider = await Provider.getInstance(this.instanceConfig) const provider = await Provider.getInstance(this.instanceConfig)
@ -250,7 +250,7 @@ export class Compute extends Instantiable {
asset: DDO | string, asset: DDO | string,
jobId: string jobId: string
): Promise<ComputeJob> { ): Promise<ComputeJob> {
const { did, ddo } = await assetResolve(asset) const { did, ddo } = await assetResolve(asset, this.ocean)
const service = ddo.findServiceByType('compute') const service = ddo.findServiceByType('compute')
const { serviceEndpoint } = service const { serviceEndpoint } = service
const provider = await Provider.getInstance(this.instanceConfig) const provider = await Provider.getInstance(this.instanceConfig)
@ -413,7 +413,7 @@ export class Compute extends Instantiable {
algorithm: ComputeAlgorithm, algorithm: ComputeAlgorithm,
algorithmDDO?: DDO algorithmDDO?: DDO
): Promise<boolean> { ): Promise<boolean> {
const datasetResolved: AssetResolver = await assetResolve(dataset) const datasetResolved: AssetResolver = await assetResolve(dataset, this.ocean)
const service: Service = datasetResolved.ddo.findServiceById(serviceIndex) const service: Service = datasetResolved.ddo.findServiceById(serviceIndex)
if (!service) return false if (!service) return false
if (service.type === 'compute') { if (service.type === 'compute') {
@ -524,7 +524,7 @@ export class Compute extends Instantiable {
searchPreviousOrders = true searchPreviousOrders = true
): SubscribablePromise<OrderProgressStep, string> { ): SubscribablePromise<OrderProgressStep, string> {
return new SubscribablePromise(async (observer) => { return new SubscribablePromise(async (observer) => {
const { ddo } = await assetResolve(dataset) const { ddo } = await assetResolve(dataset, this.ocean)
// first check if we can order this // first check if we can order this
const allowed = await this.isOrderable(ddo, serviceIndex, algorithm) const allowed = await this.isOrderable(ddo, serviceIndex, algorithm)
if (!allowed) if (!allowed)

View File

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

View File

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

View File

@ -4,11 +4,7 @@ import { DataTokens } from '../../src/datatokens/Datatokens'
import { Ocean } from '../../src/ocean/Ocean' import { Ocean } from '../../src/ocean/Ocean'
import { ConfigHelper } from '../../src/utils/ConfigHelper' import { ConfigHelper } from '../../src/utils/ConfigHelper'
import { assert } from 'chai' import { assert } from 'chai'
import { import { ServiceComputePrivacy } from '../../src/ddo/interfaces/Service'
Service,
ServiceComputePrivacy,
publisherTrustedAlgorithm
} from '../../src/ddo/interfaces/Service'
import Web3 from 'web3' import Web3 from 'web3'
import factory from '@oceanprotocol/contracts/artifacts/DTFactory.json' import factory from '@oceanprotocol/contracts/artifacts/DTFactory.json'
import datatokensTemplate from '@oceanprotocol/contracts/artifacts/DataTokenTemplate.json' import datatokensTemplate from '@oceanprotocol/contracts/artifacts/DataTokenTemplate.json'
@ -860,8 +856,7 @@ describe('Compute flow', () => {
algoDefinition, algoDefinition,
output, output,
`${computeService.index}`, `${computeService.index}`,
computeService.type, computeService.type
undefined
) )
assert(response, 'Compute error') assert(response, 'Compute error')
jobId = response.jobId jobId = response.jobId