zkcloudworker 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,19 @@
1
+ import { zkCloudWorker, Cloud } from "../cloud/cloud";
1
2
  /**
2
3
  * API class for interacting with the zkCloudWorker
3
4
  * @property jwt The jwt token for authentication, get it at https://t.me/minanft_bot?start=auth
4
5
  * @property endpoint The endpoint of the serverless api
5
6
  */
6
7
  export declare class zkCloudWorkerClient {
7
- jwt: string;
8
- endpoint: string;
8
+ readonly jwt: string;
9
+ readonly endpoint: string;
10
+ readonly localJobs: Map<string, string>;
11
+ readonly localWorker: (cloud: Cloud) => Promise<zkCloudWorker> | undefined;
9
12
  /**
10
13
  * Constructor for the API class
11
14
  * @param jwt The jwt token for authentication, get it at https://t.me/minanft_bot?start=auth
12
15
  */
13
- constructor(jwt: string);
16
+ constructor(jwt: string, zkcloudworker?: ((cloud: Cloud) => Promise<zkCloudWorker>) | undefined);
14
17
  /**
15
18
  * Starts a new job for the proof calculation using serverless api call
16
19
  * The developer and name should correspond to the BackupPlugin of the API
@@ -27,7 +30,7 @@ export declare class zkCloudWorkerClient {
27
30
  * The developers repo should provide a BackupPlugin with the name task
28
31
  * that can be called with the given parameters
29
32
  */
30
- createRecursiveProofJob(data: {
33
+ recursiveProof(data: {
31
34
  developer: string;
32
35
  repo: string;
33
36
  transactions: string[];
@@ -52,7 +55,7 @@ export declare class zkCloudWorkerClient {
52
55
  * @returns { success: boolean, error?: string, jobId?: string }
53
56
  * where jonId is the jobId of the job
54
57
  */
55
- createFunctionCallJob(data: {
58
+ execute(data: {
56
59
  developer: string;
57
60
  repo: string;
58
61
  task?: string;
@@ -137,4 +140,5 @@ export declare class zkCloudWorkerClient {
137
140
  * */
138
141
  private apiHub;
139
142
  private isError;
143
+ private generateJobId;
140
144
  }
@@ -1,6 +1,7 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import axios from "axios";
3
- import { sleep } from "../mina";
3
+ import { sleep, makeString } from "../mina";
4
+ import { LocalCloud } from "../cloud/local";
4
5
  import config from "../config";
5
6
  const { ZKCLOUDWORKER_AUTH, ZKCLOUDWORKER_API } = config;
6
7
  /**
@@ -13,9 +14,15 @@ export class zkCloudWorkerClient {
13
14
  * Constructor for the API class
14
15
  * @param jwt The jwt token for authentication, get it at https://t.me/minanft_bot?start=auth
15
16
  */
16
- constructor(jwt) {
17
+ constructor(jwt, zkcloudworker = undefined) {
18
+ this.localJobs = new Map();
17
19
  this.jwt = jwt;
18
20
  this.endpoint = ZKCLOUDWORKER_API;
21
+ if (jwt === "local") {
22
+ if (zkcloudworker === undefined)
23
+ throw new Error("worker is required for local mode");
24
+ this.localWorker = zkcloudworker;
25
+ }
19
26
  }
20
27
  /**
21
28
  * Starts a new job for the proof calculation using serverless api call
@@ -33,9 +40,9 @@ export class zkCloudWorkerClient {
33
40
  * The developers repo should provide a BackupPlugin with the name task
34
41
  * that can be called with the given parameters
35
42
  */
36
- createRecursiveProofJob(data) {
43
+ recursiveProof(data) {
37
44
  return __awaiter(this, void 0, void 0, function* () {
38
- const result = yield this.apiHub("createRecursiveProofJob", data);
45
+ const result = yield this.apiHub("recursiveProof", data);
39
46
  if (result.data === "error")
40
47
  return {
41
48
  success: false,
@@ -61,9 +68,9 @@ export class zkCloudWorkerClient {
61
68
  * @returns { success: boolean, error?: string, jobId?: string }
62
69
  * where jonId is the jobId of the job
63
70
  */
64
- createFunctionCallJob(data) {
71
+ execute(data) {
65
72
  return __awaiter(this, void 0, void 0, function* () {
66
- const result = yield this.apiHub("createFunctionCallJob", data);
73
+ const result = yield this.apiHub("execute", data);
67
74
  if (result.data === "error")
68
75
  return {
69
76
  success: false,
@@ -118,6 +125,7 @@ export class zkCloudWorkerClient {
118
125
  */
119
126
  deploy(data) {
120
127
  return __awaiter(this, void 0, void 0, function* () {
128
+ // TODO: encrypt env.json
121
129
  const result = yield this.apiHub("deploy", data);
122
130
  if (result.data === "error")
123
131
  return {
@@ -223,19 +231,75 @@ export class zkCloudWorkerClient {
223
231
  ) {
224
232
  return __awaiter(this, void 0, void 0, function* () {
225
233
  var _a;
226
- const apiData = {
227
- auth: ZKCLOUDWORKER_AUTH,
228
- command: command,
229
- jwtToken: this.jwt,
230
- data: data,
231
- };
232
- try {
233
- const response = yield axios.post(this.endpoint, apiData);
234
- return { success: true, data: response.data };
234
+ if (this.jwt === "local") {
235
+ switch (command) {
236
+ case "recursiveProof": {
237
+ const jobId = this.generateJobId();
238
+ const cloud = new LocalCloud(Object.assign({ jobId }, data));
239
+ const worker = yield this.localWorker(cloud);
240
+ if (worker === undefined)
241
+ throw new Error("worker is undefined");
242
+ const proof = yield LocalCloud.sequencer({
243
+ worker,
244
+ data,
245
+ });
246
+ this.localJobs.set(jobId, proof);
247
+ return {
248
+ success: true,
249
+ data: jobId,
250
+ };
251
+ }
252
+ case "execute":
253
+ return {
254
+ success: true,
255
+ data: "local_execute",
256
+ };
257
+ case "jobResult":
258
+ const result = this.localJobs.get(data.jobId);
259
+ if (result === undefined) {
260
+ return {
261
+ success: false,
262
+ error: "local job not found",
263
+ };
264
+ }
265
+ else {
266
+ return {
267
+ success: true,
268
+ data: result,
269
+ };
270
+ }
271
+ case "deploy":
272
+ return {
273
+ success: true,
274
+ data: "local_deploy",
275
+ };
276
+ case "queryBilling":
277
+ return {
278
+ success: true,
279
+ data: "local_queryBilling",
280
+ };
281
+ default:
282
+ return {
283
+ success: false,
284
+ error: "local_error",
285
+ };
286
+ }
235
287
  }
236
- catch (error) {
237
- console.error("apiHub error:", (_a = error.message) !== null && _a !== void 0 ? _a : error);
238
- return { success: false, error: error };
288
+ else {
289
+ const apiData = {
290
+ auth: ZKCLOUDWORKER_AUTH,
291
+ command: command,
292
+ jwtToken: this.jwt,
293
+ data: data,
294
+ };
295
+ try {
296
+ const response = yield axios.post(this.endpoint, apiData);
297
+ return { success: true, data: response.data };
298
+ }
299
+ catch (error) {
300
+ console.error("apiHub error:", (_a = error.message) !== null && _a !== void 0 ? _a : error);
301
+ return { success: false, error: error };
302
+ }
239
303
  }
240
304
  });
241
305
  }
@@ -249,5 +313,8 @@ export class zkCloudWorkerClient {
249
313
  return true;
250
314
  return false;
251
315
  }
316
+ generateJobId() {
317
+ return "local." + Date.now().toString() + "." + makeString(32);
318
+ }
252
319
  }
253
320
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/api/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/api/api.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  /// <reference types="node" />
2
- import { Cache, PrivateKey } from "o1js";
2
+ import { Cache, PrivateKey, PublicKey, SmartContract } from "o1js";
3
+ import { blockchain } from "../networks";
4
+ interface DeployedSmartContract {
5
+ address: PublicKey;
6
+ contract: SmartContract;
7
+ chain: blockchain;
8
+ }
3
9
  export declare abstract class Cloud {
4
10
  readonly jobId: string;
5
11
  readonly stepId: string;
@@ -27,12 +33,14 @@ export declare abstract class Cloud {
27
33
  abstract saveDataByKey(key: string, value: string): Promise<void>;
28
34
  abstract saveFile(filename: string, value: Buffer): Promise<void>;
29
35
  abstract loadFile(filename: string): Promise<Buffer | undefined>;
36
+ abstract loadEnvironment(password: string): Promise<void>;
30
37
  }
31
38
  export declare abstract class zkCloudWorker {
32
39
  readonly cloud: Cloud;
33
40
  constructor(cloud: Cloud);
34
- abstract compile(cache: Cache): Promise<void>;
41
+ abstract deployedContracts(): Promise<DeployedSmartContract[]>;
35
42
  abstract create(transaction: string): Promise<string | undefined>;
36
43
  abstract merge(proof1: string, proof2: string): Promise<string | undefined>;
37
44
  abstract execute(): Promise<string | undefined>;
38
45
  }
46
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../../../../src/cloud/cloud.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,KAAK;IAWzB,YAAY,MAUX;QACC,MAAM,EACJ,KAAK,EACL,MAAM,EACN,KAAK,EACL,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,QAAQ,GACT,GAAG,MAAM,CAAC;QACX,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CASF;AAED,MAAM,OAAgB,aAAa;IAGjC,YAAY,KAAY;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CAQF"}
1
+ {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../../../../src/cloud/cloud.ts"],"names":[],"mappings":"AAQA,MAAM,OAAgB,KAAK;IAWzB,YAAY,MAUX;QACC,MAAM,EACJ,KAAK,EACL,MAAM,EACN,KAAK,EACL,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,QAAQ,GACT,GAAG,MAAM,CAAC;QACX,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CAUF;AAED,MAAM,OAAgB,aAAa;IAGjC,YAAY,KAAY;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CAWF"}
@@ -1,14 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  import { Cache, PrivateKey } from "o1js";
3
- import { Cloud } from "./cloud";
3
+ import { Cloud, zkCloudWorker } from "./cloud";
4
4
  export declare class LocalCloud extends Cloud {
5
5
  data: Map<string, string>;
6
- constructor(params?: {
7
- jobId?: string;
6
+ constructor(params: {
7
+ jobId: string;
8
8
  stepId?: string;
9
9
  cache?: Cache;
10
- developer?: string;
11
- repo?: string;
10
+ developer: string;
11
+ repo: string;
12
12
  task?: string;
13
13
  userId?: string;
14
14
  args?: string;
@@ -20,4 +20,17 @@ export declare class LocalCloud extends Cloud {
20
20
  saveDataByKey(key: string, value: string): Promise<void>;
21
21
  saveFile(filename: string, value: Buffer): Promise<void>;
22
22
  loadFile(filename: string): Promise<Buffer | undefined>;
23
+ loadEnvironment(password: string): Promise<void>;
24
+ static sequencer(params: {
25
+ worker: zkCloudWorker;
26
+ data: {
27
+ developer: string;
28
+ repo: string;
29
+ transactions: string[];
30
+ task?: string;
31
+ userId?: string;
32
+ args?: string;
33
+ metadata?: string;
34
+ };
35
+ }): Promise<string>;
23
36
  }
@@ -2,18 +2,18 @@ import { __awaiter } from "tslib";
2
2
  import { Cache } from "o1js";
3
3
  import { Cloud } from "./cloud";
4
4
  export class LocalCloud extends Cloud {
5
- constructor(params = {}) {
5
+ constructor(params) {
6
6
  const { jobId, stepId, cache, developer, repo, task, userId, args, metadata, } = params;
7
7
  super({
8
- jobId: jobId || "jobId",
9
- stepId: stepId || "stepId",
10
- cache: cache || Cache.FileSystem("./cache"),
11
- developer: developer || "developer",
12
- repo: repo || "repo",
13
- task: task || "task",
14
- userId: userId || "userId",
15
- args: args || "args",
16
- metadata: metadata || "metadata",
8
+ jobId: jobId,
9
+ stepId: stepId !== null && stepId !== void 0 ? stepId : "stepId",
10
+ cache: cache !== null && cache !== void 0 ? cache : Cache.FileSystem("./cache"),
11
+ developer: developer,
12
+ repo: repo,
13
+ task: task,
14
+ userId: userId,
15
+ args: args,
16
+ metadata: metadata,
17
17
  });
18
18
  this.data = new Map();
19
19
  }
@@ -48,5 +48,31 @@ export class LocalCloud extends Cloud {
48
48
  throw new Error("Method not implemented.");
49
49
  });
50
50
  }
51
+ loadEnvironment(password) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ throw new Error("Method not implemented.");
54
+ });
55
+ }
56
+ static sequencer(params) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ const { worker, data } = params;
59
+ const { developer, repo, transactions, task, userId, args, metadata } = data;
60
+ const proofs = [];
61
+ for (const transaction of transactions) {
62
+ const result = yield worker.create(transaction);
63
+ if (result === undefined)
64
+ throw new Error("Failed to create proof");
65
+ proofs.push(result);
66
+ }
67
+ let proof = proofs[0];
68
+ for (let i = 1; i < proofs.length; i++) {
69
+ const result = yield worker.merge(proof, proofs[i]);
70
+ if (result === undefined)
71
+ throw new Error("Failed to merge proofs");
72
+ proof = result;
73
+ }
74
+ return proof;
75
+ });
76
+ }
51
77
  }
52
78
  //# sourceMappingURL=local.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../../src/cloud/local.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,OAAO,UAAW,SAAQ,KAAK;IAGnC,YACE,SAUI,EAAE;QAEN,MAAM,EACJ,KAAK,EACL,MAAM,EACN,KAAK,EACL,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,QAAQ,GACT,GAAG,MAAM,CAAC;QACX,KAAK,CAAC;YACJ,KAAK,EAAE,KAAK,IAAI,OAAO;YACvB,MAAM,EAAE,MAAM,IAAI,QAAQ;YAC1B,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;YAC3C,SAAS,EAAE,SAAS,IAAI,WAAW;YACnC,IAAI,EAAE,IAAI,IAAI,MAAM;YACpB,IAAI,EAAE,IAAI,IAAI,MAAM;YACpB,MAAM,EAAE,MAAM,IAAI,QAAQ;YAC1B,IAAI,EAAE,IAAI,IAAI,MAAM;YACpB,QAAQ,EAAE,QAAQ,IAAI,UAAU;SACjC,CAAC,CAAC;QApCL,SAAI,GAAwB,IAAI,GAAG,EAAkB,CAAC;IAqCtD,CAAC;IACY,WAAW;;YACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;KAAA;IACY,GAAG,CAAC,GAAW;;YAC1B,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;KAAA;IAEY,YAAY,CAAC,GAAW;;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAEY,aAAa,CAAC,GAAW,EAAE,KAAa;;YACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;KAAA;IAEY,QAAQ,CAAC,QAAgB,EAAE,KAAa;;YACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;KAAA;IACY,QAAQ,CAAC,QAAgB;;YACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../../src/cloud/local.ts"],"names":[],"mappings":"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"}