zkcloudworker 0.2.1 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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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"}