Skip to content

Commit f16b780

Browse files
committed
chore: paid c2d
1 parent 3eb1d58 commit f16b780

1 file changed

Lines changed: 56 additions & 15 deletions

File tree

src/commands.ts

Lines changed: 56 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -305,10 +305,11 @@ export class Commands {
305305
return;
306306
}
307307
let providerURI = this.oceanNodeUrl;
308+
const ddoInstance = DDOManager.getDDOClass(ddos[0]);
309+
const { services } = ddoInstance.getDDOFields();
308310
if (ddos.length > 0) {
309-
providerURI = ddos[0].services[0].serviceEndpoint;
311+
providerURI = services[0].serviceEndpoint;
310312
}
311-
312313
const algoDdo = await this.aquarius.waitForIndexer(
313314
args[2],
314315
null,
@@ -338,7 +339,7 @@ export class Commands {
338339
// NO chainId needed anymore (is not part of ComputeEnvironment spec anymore)
339340
// const chainComputeEnvs = computeEnvs[computeEnvID]; // was algoDdo.chainId
340341
let computeEnv = null; // chainComputeEnvs[0];
341-
342+
console.log('computeEnvs: ', computeEnvs);
342343
if (computeEnvID && computeEnvID.length > 1) {
343344
for (const index in computeEnvs) {
344345
if (computeEnvID == computeEnvs[index].id) {
@@ -354,18 +355,32 @@ export class Commands {
354355
);
355356
return;
356357
}
357-
358+
const ddoAlgoInstance = DDOManager.getDDOClass(algoDdo);
359+
const { services: servicesAlgo, metadata: metadataAlgo, version: versionAlgo } = ddoAlgoInstance.getDDOFields();
358360
const algo: ComputeAlgorithm = {
359361
documentId: algoDdo.id,
360-
serviceId: algoDdo.services[0].id,
361-
meta: algoDdo.metadata.algorithm,
362+
serviceId: servicesAlgo[0].id,
363+
meta: metadataAlgo.algorithm,
362364
};
363365

366+
const assetAlgo: {
367+
documentId: string;
368+
serviceId: string;
369+
asset: Asset;
370+
version?: string;
371+
} = {
372+
documentId: algoDdo.id,
373+
serviceId: servicesAlgo[0].id,
374+
asset: algoDdo,
375+
version: versionAlgo
376+
};
364377
const assets = [];
365378
for (const dataDdo in ddos) {
379+
const ddoInstanceDdo = DDOManager.getDDOClass(ddos[dataDdo]);
380+
const { services: servicesDdo, version: versionDdo } = ddoInstanceDdo.getDDOFields();
366381
const canStartCompute = isOrderable(
367382
ddos[dataDdo],
368-
ddos[dataDdo].services[0].id,
383+
servicesDdo[0].id,
369384
algo,
370385
algoDdo
371386
);
@@ -377,7 +392,9 @@ export class Commands {
377392
}
378393
assets.push({
379394
documentId: ddos[dataDdo].id,
380-
serviceId: ddos[dataDdo].services[0].id,
395+
serviceId: servicesDdo[0].id,
396+
asset: ddos[dataDdo],
397+
version: versionDdo
381398
});
382399
}
383400
const maxJobDuration = Number(args[4])
@@ -459,6 +476,7 @@ export class Commands {
459476
);
460477
return;
461478
}
479+
const policiesServer = await getPolicyServerOBJs(assets, assetAlgo, this.signer, this.oceanNodeUrl);
462480
const parsedResources = JSON.parse(resources);
463481
const providerInitializeComputeJob =
464482
await ProviderInstance.initializeCompute(
@@ -470,7 +488,8 @@ export class Commands {
470488
providerURI,
471489
this.signer, // V1 was this.signer.getAddress()
472490
parsedResources,
473-
Number(chainId)
491+
Number(chainId),
492+
policiesServer
474493
);
475494
if (
476495
!providerInitializeComputeJob ||
@@ -535,8 +554,10 @@ export class Commands {
535554
return;
536555
}
537556
let providerURI = this.oceanNodeUrl;
557+
const ddoInstance = DDOManager.getDDOClass(ddos[0]);
558+
const { services } = ddoInstance.getDDOFields();
538559
if (ddos.length > 0) {
539-
providerURI = ddos[0].services[0].serviceEndpoint;
560+
providerURI = services[0].serviceEndpoint;
540561
}
541562
const algoDdo = await this.aquarius.waitForIndexer(
542563
args[2],
@@ -582,18 +603,34 @@ export class Commands {
582603
);
583604
return;
584605
}
585-
606+
const ddoInstanceAlgo = DDOManager.getDDOClass(algoDdo);
607+
const { services: servicesAlgo, metadata: metadataAlgo, version: versionAlgo } = ddoInstanceAlgo.getDDOFields();
586608
const algo: ComputeAlgorithm = {
587609
documentId: algoDdo.id,
588-
serviceId: algoDdo.services[0].id,
589-
meta: algoDdo.metadata.algorithm,
610+
serviceId: servicesAlgo[0].id,
611+
meta: metadataAlgo.algorithm,
612+
};
613+
614+
const assetAlgo: {
615+
documentId: string;
616+
serviceId: string;
617+
asset: Asset;
618+
version?: string;
619+
} = {
620+
documentId: algoDdo.id,
621+
serviceId: servicesAlgo[0].id,
622+
asset: algoDdo,
623+
version: versionAlgo
590624
};
591625

592626
const assets = [];
593627
for (const dataDdo in ddos) {
628+
const ddoInstanceDdo = DDOManager.getDDOClass(ddos[dataDdo]);
629+
const { services: servicesDdo, version: versionDdo } = ddoInstanceDdo.getDDOFields();
630+
594631
const canStartCompute = isOrderable(
595632
ddos[dataDdo],
596-
ddos[dataDdo].services[0].id,
633+
servicesDdo[0].id,
597634
algo,
598635
algoDdo
599636
);
@@ -605,7 +642,9 @@ export class Commands {
605642
}
606643
assets.push({
607644
documentId: ddos[dataDdo].id,
608-
serviceId: ddos[dataDdo].services[0].id,
645+
serviceId: servicesDdo[0].id,
646+
asset: ddos[dataDdo],
647+
version: versionDdo
609648
});
610649
}
611650
const providerInitializeComputeJob = args[4]; // provider fees + payment
@@ -793,6 +832,7 @@ export class Commands {
793832
const output: ComputeOutput = {
794833
metadataUri: await getMetadataURI(),
795834
};
835+
const policiesServer = await getPolicyServerOBJs(assets, assetAlgo, this.signer, this.oceanNodeUrl);
796836

797837
const computeJobs = await ProviderInstance.computeStart(
798838
providerURI,
@@ -808,6 +848,7 @@ export class Commands {
808848
null,
809849
// additionalDatasets, only c2d v1
810850
output,
851+
policiesServer
811852
);
812853

813854
console.log("compute jobs: ", computeJobs);

0 commit comments

Comments
 (0)