zkcloudworker 0.24.3 → 0.25.1

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.
Files changed (35) hide show
  1. package/dist/node/index.cjs +99 -1
  2. package/dist/node/mina/index.d.ts +1 -1
  3. package/dist/node/mina/index.js +1 -1
  4. package/dist/node/mina/index.js.map +1 -1
  5. package/dist/node/mina/tokens/index.d.ts +2 -0
  6. package/dist/node/mina/tokens/index.js +3 -0
  7. package/dist/node/mina/tokens/index.js.map +1 -0
  8. package/dist/node/mina/tokens/nft.d.ts +30 -0
  9. package/dist/node/mina/tokens/nft.js +101 -0
  10. package/dist/node/mina/tokens/nft.js.map +1 -0
  11. package/dist/node/mina/tokens/token.d.ts +30 -0
  12. package/dist/node/mina/tokens/token.js +99 -0
  13. package/dist/node/mina/tokens/token.js.map +1 -0
  14. package/dist/node/mina/transactions/transaction.d.ts +1 -1
  15. package/dist/tsconfig.web.tsbuildinfo +1 -1
  16. package/dist/web/mina/index.d.ts +1 -1
  17. package/dist/web/mina/index.js +1 -1
  18. package/dist/web/mina/index.js.map +1 -1
  19. package/dist/web/mina/tokens/index.d.ts +2 -0
  20. package/dist/web/mina/tokens/index.js +3 -0
  21. package/dist/web/mina/tokens/index.js.map +1 -0
  22. package/dist/web/mina/tokens/nft.d.ts +30 -0
  23. package/dist/web/mina/tokens/nft.js +101 -0
  24. package/dist/web/mina/tokens/nft.js.map +1 -0
  25. package/dist/web/mina/tokens/token.d.ts +30 -0
  26. package/dist/web/mina/tokens/token.js +99 -0
  27. package/dist/web/mina/tokens/token.js.map +1 -0
  28. package/dist/web/mina/transactions/transaction.d.ts +1 -1
  29. package/package.json +3 -3
  30. package/src/mina/index.ts +1 -1
  31. package/src/mina/tokens/index.ts +2 -0
  32. package/src/mina/tokens/nft.ts +134 -0
  33. package/src/mina/{token/api.ts → tokens/token.ts} +6 -4
  34. package/src/mina/transactions/transaction.ts +1 -1
  35. package/src/mina/token/index.ts +0 -1
@@ -38,6 +38,7 @@ __export(index_exports, {
38
38
  LocalStorage: () => LocalStorage,
39
39
  Mainnet: () => Mainnet,
40
40
  Memory: () => Memory,
41
+ NftAPI: () => NftAPI,
41
42
  Storage: () => Storage,
42
43
  TinyContract: () => TinyContract,
43
44
  TokenAPI: () => TokenAPI,
@@ -1876,7 +1877,7 @@ function deserializeIndexedMerkleMapInternal(params) {
1876
1877
  return map;
1877
1878
  }
1878
1879
 
1879
- // dist/node/mina/token/api.js
1880
+ // dist/node/mina/tokens/token.js
1880
1881
  var TokenAPI = class {
1881
1882
  constructor(params) {
1882
1883
  const { jwt, zkcloudworker, chain } = params;
@@ -1970,6 +1971,102 @@ var TokenAPI = class {
1970
1971
  }
1971
1972
  };
1972
1973
 
1974
+ // dist/node/mina/tokens/nft.js
1975
+ var NftAPI = class {
1976
+ constructor(params) {
1977
+ const { jwt, zkcloudworker, chain } = params;
1978
+ if (jwt === void 0)
1979
+ throw new Error("jwt is undefined");
1980
+ this.client = new zkCloudWorkerClient({
1981
+ jwt,
1982
+ chain,
1983
+ zkcloudworker
1984
+ });
1985
+ }
1986
+ async proveTransaction(params) {
1987
+ return this.proveTransactions([params]);
1988
+ }
1989
+ async proveTransactions(params) {
1990
+ const transactions = [];
1991
+ for (const tx of params) {
1992
+ const transaction = JSON.stringify(tx, null, 2);
1993
+ transactions.push(transaction);
1994
+ }
1995
+ const { request, symbol } = params[0];
1996
+ const { txType } = request;
1997
+ const answer = await this.client.execute({
1998
+ developer: "DFST",
1999
+ repo: "nft-agent",
2000
+ transactions,
2001
+ task: "prove",
2002
+ args: JSON.stringify({
2003
+ collectionAddress: params[0].request.collectionAddress
2004
+ }),
2005
+ metadata: `${params.length > 1 ? "mint" : txType.replace(/^nft:/, "")} ${symbol ? ` ${symbol}` : ""}${params.length > 1 ? ` (${params.length} txs)` : ""}`
2006
+ });
2007
+ const jobId = answer.jobId;
2008
+ if (jobId === void 0)
2009
+ console.error("Job ID is undefined", { answer, txType, symbol });
2010
+ return jobId;
2011
+ }
2012
+ // Warning: this function will block the thread until the job is done and will print logs to the console
2013
+ // Do not use it in "use server" functions, use getResults instead
2014
+ async waitForJobResults(params) {
2015
+ const deployResult = await this.client.waitForJobResult(params);
2016
+ console.log("waitForJobResult result:", deployResult?.result?.result?.slice(0, 50));
2017
+ return deployResult?.result?.result ?? "error";
2018
+ }
2019
+ async getResults(jobId) {
2020
+ try {
2021
+ const callResult = await this.client.jobResult({ jobId });
2022
+ const jobStatus = typeof callResult?.result === "string" ? void 0 : callResult?.result?.jobStatus;
2023
+ if (!callResult.success) {
2024
+ return {
2025
+ success: false,
2026
+ error: callResult?.error,
2027
+ jobStatus
2028
+ };
2029
+ }
2030
+ const jobResult = callResult.result?.result;
2031
+ if (callResult.error)
2032
+ return {
2033
+ success: false,
2034
+ error: callResult.error,
2035
+ jobStatus
2036
+ };
2037
+ if (!jobResult)
2038
+ return { success: true, jobStatus };
2039
+ if (jobResult.toLowerCase().startsWith("error"))
2040
+ return {
2041
+ success: false,
2042
+ error: jobResult,
2043
+ jobStatus
2044
+ };
2045
+ try {
2046
+ const { proofs } = JSON.parse(jobResult);
2047
+ const results = [];
2048
+ for (const proof of proofs) {
2049
+ const { success, tx, hash, error } = JSON.parse(proof);
2050
+ results.push({ success, tx, hash, error });
2051
+ }
2052
+ return { success: true, results, jobStatus };
2053
+ } catch (e) {
2054
+ return {
2055
+ success: false,
2056
+ error: `Error parsing job result: ${jobResult} ${e?.message ?? ""}`,
2057
+ jobStatus
2058
+ };
2059
+ }
2060
+ } catch (e) {
2061
+ return {
2062
+ success: false,
2063
+ error: `Error getting job result: ${e?.message ?? ""}`,
2064
+ jobStatus: void 0
2065
+ };
2066
+ }
2067
+ }
2068
+ };
2069
+
1973
2070
  // dist/node/mina/transactions/blockberry.js
1974
2071
  async function getZkAppTxsFromBlockBerry(params) {
1975
2072
  const { account, chain, blockBerryApiKey } = params;
@@ -2646,6 +2743,7 @@ var Storage = class _Storage extends (0, import_o1js12.Struct)({
2646
2743
  LocalStorage,
2647
2744
  Mainnet,
2648
2745
  Memory,
2746
+ NftAPI,
2649
2747
  Storage,
2650
2748
  TinyContract,
2651
2749
  TokenAPI,
@@ -2,6 +2,6 @@ export * from "./api/api.js";
2
2
  export * from "./utils/index.js";
3
3
  export * from "./local/local.js";
4
4
  export * from "./verification/index.js";
5
- export * from "./token/index.js";
5
+ export * from "./tokens/index.js";
6
6
  export * from "./transactions/index.js";
7
7
  export * from "./storage/index.js";
@@ -3,7 +3,7 @@ export * from "./api/api.js";
3
3
  export * from "./utils/index.js";
4
4
  export * from "./local/local.js";
5
5
  export * from "./verification/index.js";
6
- export * from "./token/index.js";
6
+ export * from "./tokens/index.js";
7
7
  export * from "./transactions/index.js";
8
8
  export * from "./storage/index.js";
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mina/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,+BAA+B;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mina/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,+BAA+B;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./token.js";
2
+ export * from "./nft.js";
@@ -0,0 +1,3 @@
1
+ export * from "./token.js";
2
+ export * from "./nft.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mina/tokens/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { blockchain, Cloud, JobStatus } from "../../cloud/index.js";
2
+ import { zkCloudWorkerClient } from "../api/api.js";
3
+ import { zkCloudWorker } from "../../cloud/worker/index.js";
4
+ import { NftTransaction, JobResult } from "@silvana-one/api";
5
+ export declare class NftAPI {
6
+ readonly client: zkCloudWorkerClient;
7
+ constructor(params: {
8
+ jwt: string;
9
+ zkcloudworker?: (cloud: Cloud) => Promise<zkCloudWorker>;
10
+ chain: blockchain;
11
+ });
12
+ proveTransaction(params: NftTransaction): Promise<string | undefined>;
13
+ proveTransactions(params: NftTransaction[]): Promise<string | undefined>;
14
+ waitForJobResults(params: {
15
+ jobId: string;
16
+ maxAttempts?: number;
17
+ interval?: number;
18
+ maxErrors?: number;
19
+ printLogs?: boolean;
20
+ }): Promise<(string | undefined)[]>;
21
+ getResults(jobId: string): Promise<{
22
+ success: true;
23
+ results?: JobResult[];
24
+ jobStatus?: JobStatus;
25
+ } | {
26
+ success: false;
27
+ error?: string;
28
+ jobStatus?: JobStatus;
29
+ }>;
30
+ }
@@ -0,0 +1,101 @@
1
+ import { zkCloudWorkerClient } from "../api/api.js";
2
+ export class NftAPI {
3
+ constructor(params) {
4
+ const { jwt, zkcloudworker, chain } = params;
5
+ if (jwt === undefined)
6
+ throw new Error("jwt is undefined");
7
+ this.client = new zkCloudWorkerClient({
8
+ jwt,
9
+ chain,
10
+ zkcloudworker,
11
+ });
12
+ }
13
+ async proveTransaction(params) {
14
+ return this.proveTransactions([params]);
15
+ }
16
+ async proveTransactions(params) {
17
+ const transactions = [];
18
+ for (const tx of params) {
19
+ const transaction = JSON.stringify(tx, null, 2);
20
+ transactions.push(transaction);
21
+ }
22
+ const { request, symbol } = params[0];
23
+ const { txType } = request;
24
+ const answer = await this.client.execute({
25
+ developer: "DFST",
26
+ repo: "nft-agent",
27
+ transactions,
28
+ task: "prove",
29
+ args: JSON.stringify({
30
+ collectionAddress: params[0].request.collectionAddress,
31
+ }),
32
+ metadata: `${params.length > 1 ? "mint" : txType.replace(/^nft:/, "")} ${symbol ? ` ${symbol}` : ""}${params.length > 1 ? ` (${params.length} txs)` : ""}`,
33
+ });
34
+ const jobId = answer.jobId;
35
+ if (jobId === undefined)
36
+ console.error("Job ID is undefined", { answer, txType, symbol });
37
+ return jobId;
38
+ }
39
+ // Warning: this function will block the thread until the job is done and will print logs to the console
40
+ // Do not use it in "use server" functions, use getResults instead
41
+ async waitForJobResults(params) {
42
+ const deployResult = await this.client.waitForJobResult(params);
43
+ console.log("waitForJobResult result:", deployResult?.result?.result?.slice(0, 50));
44
+ return deployResult?.result?.result ?? "error";
45
+ }
46
+ async getResults(jobId) {
47
+ try {
48
+ const callResult = await this.client.jobResult({ jobId });
49
+ // TODO: filter the repo and developer
50
+ const jobStatus = typeof callResult?.result === "string"
51
+ ? undefined
52
+ : callResult?.result?.jobStatus;
53
+ if (!callResult.success) {
54
+ return {
55
+ success: false,
56
+ error: callResult?.error,
57
+ jobStatus,
58
+ };
59
+ }
60
+ const jobResult = callResult.result?.result;
61
+ if (callResult.error)
62
+ return {
63
+ success: false,
64
+ error: callResult.error,
65
+ jobStatus,
66
+ };
67
+ if (!jobResult)
68
+ return { success: true, jobStatus };
69
+ if (jobResult.toLowerCase().startsWith("error"))
70
+ return {
71
+ success: false,
72
+ error: jobResult,
73
+ jobStatus,
74
+ };
75
+ try {
76
+ const { proofs } = JSON.parse(jobResult);
77
+ const results = [];
78
+ for (const proof of proofs) {
79
+ const { success, tx, hash, error } = JSON.parse(proof);
80
+ results.push({ success, tx, hash, error });
81
+ }
82
+ return { success: true, results, jobStatus };
83
+ }
84
+ catch (e) {
85
+ return {
86
+ success: false,
87
+ error: `Error parsing job result: ${jobResult} ${e?.message ?? ""}`,
88
+ jobStatus,
89
+ };
90
+ }
91
+ }
92
+ catch (e) {
93
+ return {
94
+ success: false,
95
+ error: `Error getting job result: ${e?.message ?? ""}`,
96
+ jobStatus: undefined,
97
+ };
98
+ }
99
+ }
100
+ }
101
+ //# sourceMappingURL=nft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../../src/mina/tokens/nft.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAIpD,MAAM,OAAO,MAAM;IAGjB,YAAY,MAIX;QACC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAC7C,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAE3D,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAmB,CAAC;YACpC,GAAG;YACH,KAAK;YACL,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAsB;QAC3C,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAAwB;QAExB,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAChD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACvC,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,WAAW;YACjB,YAAY;YACZ,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB;aACvD,CAAC;YACF,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IACnE,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAC1B,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;SACxD,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,KAAK,KAAK,SAAS;YACrB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wGAAwG;IACxG,kEAAkE;IAClE,KAAK,CAAC,iBAAiB,CAAC,MAMvB;QACC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CACT,0BAA0B,EAC1B,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAC3C,CAAC;QACF,OAAO,YAAY,EAAE,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAa;QAKb,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAE1D,sCAAsC;YACtC,MAAM,SAAS,GACb,OAAO,UAAU,EAAE,MAAM,KAAK,QAAQ;gBACpC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,UAAU,EAAE,KAAK;oBACxB,SAAS;iBACV,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;YAC5C,IAAI,UAAU,CAAC,KAAK;gBAClB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,SAAS;iBACV,CAAC;YACJ,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAEpD,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC7C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,SAAS;oBAChB,SAAS;iBACV,CAAC;YAEJ,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,OAAO,GAAgB,EAAE,CAAC;gBAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACvD,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YAC/C,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,6BAA6B,SAAS,IAAI,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE;oBACnE,SAAS;iBACV,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,6BAA6B,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE;gBACtD,SAAS,EAAE,SAAS;aACrB,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ import { blockchain, Cloud, JobStatus } from "../../cloud/index.js";
2
+ import { zkCloudWorkerClient } from "../api/api.js";
3
+ import { zkCloudWorker } from "../../cloud/worker/index.js";
4
+ import { TokenTransaction, JobResult } from "@silvana-one/api";
5
+ export declare class TokenAPI {
6
+ readonly client: zkCloudWorkerClient;
7
+ constructor(params: {
8
+ jwt: string;
9
+ zkcloudworker?: (cloud: Cloud) => Promise<zkCloudWorker>;
10
+ chain: blockchain;
11
+ });
12
+ proveTransaction(params: TokenTransaction): Promise<string | undefined>;
13
+ proveTransactions(params: TokenTransaction[]): Promise<string | undefined>;
14
+ waitForJobResults(params: {
15
+ jobId: string;
16
+ maxAttempts?: number;
17
+ interval?: number;
18
+ maxErrors?: number;
19
+ printLogs?: boolean;
20
+ }): Promise<(string | undefined)[]>;
21
+ getResults(jobId: string): Promise<{
22
+ success: true;
23
+ results?: JobResult[];
24
+ jobStatus?: JobStatus;
25
+ } | {
26
+ success: false;
27
+ error?: string;
28
+ jobStatus?: JobStatus;
29
+ }>;
30
+ }
@@ -0,0 +1,99 @@
1
+ import { zkCloudWorkerClient } from "../api/api.js";
2
+ export class TokenAPI {
3
+ constructor(params) {
4
+ const { jwt, zkcloudworker, chain } = params;
5
+ if (jwt === undefined)
6
+ throw new Error("jwt is undefined");
7
+ this.client = new zkCloudWorkerClient({
8
+ jwt,
9
+ chain,
10
+ zkcloudworker,
11
+ });
12
+ }
13
+ async proveTransaction(params) {
14
+ return this.proveTransactions([params]);
15
+ }
16
+ async proveTransactions(params) {
17
+ const transactions = [];
18
+ for (const tx of params) {
19
+ const transaction = JSON.stringify(tx, null, 2);
20
+ transactions.push(transaction);
21
+ }
22
+ const { request, symbol } = params[0];
23
+ const { txType } = request;
24
+ const answer = await this.client.execute({
25
+ developer: "DFST",
26
+ repo: "token-launchpad",
27
+ transactions,
28
+ task: "prove",
29
+ args: JSON.stringify({ tokenAddress: params[0].request.tokenAddress }),
30
+ metadata: `${params.length > 1 ? "airdrop" : txType.replace(/^token:/, "")} token${symbol ? ` ${symbol}` : ""}${params.length > 1 ? ` (${params.length} txs)` : ""}`,
31
+ });
32
+ const jobId = answer.jobId;
33
+ if (jobId === undefined)
34
+ console.error("Job ID is undefined", { answer, txType, symbol });
35
+ return jobId;
36
+ }
37
+ // Warning: this function will block the thread until the job is done and will print logs to the console
38
+ // Do not use it in "use server" functions, use getResults instead
39
+ async waitForJobResults(params) {
40
+ const deployResult = await this.client.waitForJobResult(params);
41
+ console.log("waitForJobResult result:", deployResult?.result?.result?.slice(0, 50));
42
+ return deployResult?.result?.result ?? "error";
43
+ }
44
+ async getResults(jobId) {
45
+ try {
46
+ const callResult = await this.client.jobResult({ jobId });
47
+ // TODO: filter the repo and developer
48
+ const jobStatus = typeof callResult?.result === "string"
49
+ ? undefined
50
+ : callResult?.result?.jobStatus;
51
+ if (!callResult.success) {
52
+ return {
53
+ success: false,
54
+ error: callResult?.error,
55
+ jobStatus,
56
+ };
57
+ }
58
+ const jobResult = callResult.result?.result;
59
+ if (callResult.error)
60
+ return {
61
+ success: false,
62
+ error: callResult.error,
63
+ jobStatus,
64
+ };
65
+ if (!jobResult)
66
+ return { success: true, jobStatus };
67
+ if (jobResult.toLowerCase().startsWith("error"))
68
+ return {
69
+ success: false,
70
+ error: jobResult,
71
+ jobStatus,
72
+ };
73
+ try {
74
+ const { proofs } = JSON.parse(jobResult);
75
+ const results = [];
76
+ for (const proof of proofs) {
77
+ const { success, tx, hash, error } = JSON.parse(proof);
78
+ results.push({ success, tx, hash, error });
79
+ }
80
+ return { success: true, results, jobStatus };
81
+ }
82
+ catch (e) {
83
+ return {
84
+ success: false,
85
+ error: `Error parsing job result: ${jobResult} ${e?.message ?? ""}`,
86
+ jobStatus,
87
+ };
88
+ }
89
+ }
90
+ catch (e) {
91
+ return {
92
+ success: false,
93
+ error: `Error getting job result: ${e?.message ?? ""}`,
94
+ jobStatus: undefined,
95
+ };
96
+ }
97
+ }
98
+ }
99
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/mina/tokens/token.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { PublicKey, Transaction, Mina, UInt64 } from "o1js";
2
- import { TransactionPayloads } from "@minatokens/api";
2
+ import { TransactionPayloads } from "@silvana-one/api";
3
3
  export declare function createTransactionPayloads(tx: Mina.Transaction<false, false> | Mina.Transaction<false, true>): TransactionPayloads;
4
4
  export declare function transactionParams(params: {
5
5
  proverPayload: string;
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/cloud/config.ts","../src/cloud/index.ts","../src/cloud/networks.ts","../src/cloud/utils/base64.ts","../src/cloud/utils/graphql.ts","../src/cloud/utils/index.ts","../src/cloud/utils/utils.ts","../src/cloud/worker/cloud.ts","../src/cloud/worker/index.ts","../src/cloud/worker/job.ts","../src/cloud/worker/task.ts","../src/cloud/worker/transaction.ts","../src/cloud/worker/worker.ts","../src/mina/index.ts","../src/mina/api/api.ts","../src/mina/local/local.ts","../src/mina/storage/index.ts","../src/mina/storage/ipfs.ts","../src/mina/storage/pinata.ts","../src/mina/storage/storage.ts","../src/mina/token/api.ts","../src/mina/token/index.ts","../src/mina/transactions/account.ts","../src/mina/transactions/blockberry.ts","../src/mina/transactions/chain.ts","../src/mina/transactions/index.ts","../src/mina/transactions/nonce.ts","../src/mina/transactions/send.ts","../src/mina/transactions/tiny-contract.ts","../src/mina/transactions/transaction.ts","../src/mina/transactions/txstatus.ts","../src/mina/utils/base64.ts","../src/mina/utils/fee.ts","../src/mina/utils/fetch.ts","../src/mina/utils/fields.ts","../src/mina/utils/index.ts","../src/mina/utils/indexed-map.ts","../src/mina/utils/mina.ts","../src/mina/verification/index.ts","../src/mina/verification/verification.ts"],"version":"5.7.3"}
1
+ {"root":["../src/index.ts","../src/cloud/config.ts","../src/cloud/index.ts","../src/cloud/networks.ts","../src/cloud/utils/base64.ts","../src/cloud/utils/graphql.ts","../src/cloud/utils/index.ts","../src/cloud/utils/utils.ts","../src/cloud/worker/cloud.ts","../src/cloud/worker/index.ts","../src/cloud/worker/job.ts","../src/cloud/worker/task.ts","../src/cloud/worker/transaction.ts","../src/cloud/worker/worker.ts","../src/mina/index.ts","../src/mina/api/api.ts","../src/mina/local/local.ts","../src/mina/storage/index.ts","../src/mina/storage/ipfs.ts","../src/mina/storage/pinata.ts","../src/mina/storage/storage.ts","../src/mina/tokens/index.ts","../src/mina/tokens/nft.ts","../src/mina/tokens/token.ts","../src/mina/transactions/account.ts","../src/mina/transactions/blockberry.ts","../src/mina/transactions/chain.ts","../src/mina/transactions/index.ts","../src/mina/transactions/nonce.ts","../src/mina/transactions/send.ts","../src/mina/transactions/tiny-contract.ts","../src/mina/transactions/transaction.ts","../src/mina/transactions/txstatus.ts","../src/mina/utils/base64.ts","../src/mina/utils/fee.ts","../src/mina/utils/fetch.ts","../src/mina/utils/fields.ts","../src/mina/utils/index.ts","../src/mina/utils/indexed-map.ts","../src/mina/utils/mina.ts","../src/mina/verification/index.ts","../src/mina/verification/verification.ts"],"version":"5.7.3"}
@@ -2,6 +2,6 @@ export * from "./api/api.js";
2
2
  export * from "./utils/index.js";
3
3
  export * from "./local/local.js";
4
4
  export * from "./verification/index.js";
5
- export * from "./token/index.js";
5
+ export * from "./tokens/index.js";
6
6
  export * from "./transactions/index.js";
7
7
  export * from "./storage/index.js";
@@ -3,7 +3,7 @@ export * from "./api/api.js";
3
3
  export * from "./utils/index.js";
4
4
  export * from "./local/local.js";
5
5
  export * from "./verification/index.js";
6
- export * from "./token/index.js";
6
+ export * from "./tokens/index.js";
7
7
  export * from "./transactions/index.js";
8
8
  export * from "./storage/index.js";
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mina/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,+BAA+B;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mina/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,+BAA+B;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./token.js";
2
+ export * from "./nft.js";
@@ -0,0 +1,3 @@
1
+ export * from "./token.js";
2
+ export * from "./nft.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mina/tokens/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { blockchain, Cloud, JobStatus } from "../../cloud/index.js";
2
+ import { zkCloudWorkerClient } from "../api/api.js";
3
+ import { zkCloudWorker } from "../../cloud/worker/index.js";
4
+ import { NftTransaction, JobResult } from "@silvana-one/api";
5
+ export declare class NftAPI {
6
+ readonly client: zkCloudWorkerClient;
7
+ constructor(params: {
8
+ jwt: string;
9
+ zkcloudworker?: (cloud: Cloud) => Promise<zkCloudWorker>;
10
+ chain: blockchain;
11
+ });
12
+ proveTransaction(params: NftTransaction): Promise<string | undefined>;
13
+ proveTransactions(params: NftTransaction[]): Promise<string | undefined>;
14
+ waitForJobResults(params: {
15
+ jobId: string;
16
+ maxAttempts?: number;
17
+ interval?: number;
18
+ maxErrors?: number;
19
+ printLogs?: boolean;
20
+ }): Promise<(string | undefined)[]>;
21
+ getResults(jobId: string): Promise<{
22
+ success: true;
23
+ results?: JobResult[];
24
+ jobStatus?: JobStatus;
25
+ } | {
26
+ success: false;
27
+ error?: string;
28
+ jobStatus?: JobStatus;
29
+ }>;
30
+ }
@@ -0,0 +1,101 @@
1
+ import { zkCloudWorkerClient } from "../api/api.js";
2
+ export class NftAPI {
3
+ constructor(params) {
4
+ const { jwt, zkcloudworker, chain } = params;
5
+ if (jwt === undefined)
6
+ throw new Error("jwt is undefined");
7
+ this.client = new zkCloudWorkerClient({
8
+ jwt,
9
+ chain,
10
+ zkcloudworker,
11
+ });
12
+ }
13
+ async proveTransaction(params) {
14
+ return this.proveTransactions([params]);
15
+ }
16
+ async proveTransactions(params) {
17
+ const transactions = [];
18
+ for (const tx of params) {
19
+ const transaction = JSON.stringify(tx, null, 2);
20
+ transactions.push(transaction);
21
+ }
22
+ const { request, symbol } = params[0];
23
+ const { txType } = request;
24
+ const answer = await this.client.execute({
25
+ developer: "DFST",
26
+ repo: "nft-agent",
27
+ transactions,
28
+ task: "prove",
29
+ args: JSON.stringify({
30
+ collectionAddress: params[0].request.collectionAddress,
31
+ }),
32
+ metadata: `${params.length > 1 ? "mint" : txType.replace(/^nft:/, "")} ${symbol ? ` ${symbol}` : ""}${params.length > 1 ? ` (${params.length} txs)` : ""}`,
33
+ });
34
+ const jobId = answer.jobId;
35
+ if (jobId === undefined)
36
+ console.error("Job ID is undefined", { answer, txType, symbol });
37
+ return jobId;
38
+ }
39
+ // Warning: this function will block the thread until the job is done and will print logs to the console
40
+ // Do not use it in "use server" functions, use getResults instead
41
+ async waitForJobResults(params) {
42
+ const deployResult = await this.client.waitForJobResult(params);
43
+ console.log("waitForJobResult result:", deployResult?.result?.result?.slice(0, 50));
44
+ return deployResult?.result?.result ?? "error";
45
+ }
46
+ async getResults(jobId) {
47
+ try {
48
+ const callResult = await this.client.jobResult({ jobId });
49
+ // TODO: filter the repo and developer
50
+ const jobStatus = typeof callResult?.result === "string"
51
+ ? undefined
52
+ : callResult?.result?.jobStatus;
53
+ if (!callResult.success) {
54
+ return {
55
+ success: false,
56
+ error: callResult?.error,
57
+ jobStatus,
58
+ };
59
+ }
60
+ const jobResult = callResult.result?.result;
61
+ if (callResult.error)
62
+ return {
63
+ success: false,
64
+ error: callResult.error,
65
+ jobStatus,
66
+ };
67
+ if (!jobResult)
68
+ return { success: true, jobStatus };
69
+ if (jobResult.toLowerCase().startsWith("error"))
70
+ return {
71
+ success: false,
72
+ error: jobResult,
73
+ jobStatus,
74
+ };
75
+ try {
76
+ const { proofs } = JSON.parse(jobResult);
77
+ const results = [];
78
+ for (const proof of proofs) {
79
+ const { success, tx, hash, error } = JSON.parse(proof);
80
+ results.push({ success, tx, hash, error });
81
+ }
82
+ return { success: true, results, jobStatus };
83
+ }
84
+ catch (e) {
85
+ return {
86
+ success: false,
87
+ error: `Error parsing job result: ${jobResult} ${e?.message ?? ""}`,
88
+ jobStatus,
89
+ };
90
+ }
91
+ }
92
+ catch (e) {
93
+ return {
94
+ success: false,
95
+ error: `Error getting job result: ${e?.message ?? ""}`,
96
+ jobStatus: undefined,
97
+ };
98
+ }
99
+ }
100
+ }
101
+ //# sourceMappingURL=nft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../../src/mina/tokens/nft.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { blockchain, Cloud, JobStatus } from "../../cloud/index.js";
2
+ import { zkCloudWorkerClient } from "../api/api.js";
3
+ import { zkCloudWorker } from "../../cloud/worker/index.js";
4
+ import { TokenTransaction, JobResult } from "@silvana-one/api";
5
+ export declare class TokenAPI {
6
+ readonly client: zkCloudWorkerClient;
7
+ constructor(params: {
8
+ jwt: string;
9
+ zkcloudworker?: (cloud: Cloud) => Promise<zkCloudWorker>;
10
+ chain: blockchain;
11
+ });
12
+ proveTransaction(params: TokenTransaction): Promise<string | undefined>;
13
+ proveTransactions(params: TokenTransaction[]): Promise<string | undefined>;
14
+ waitForJobResults(params: {
15
+ jobId: string;
16
+ maxAttempts?: number;
17
+ interval?: number;
18
+ maxErrors?: number;
19
+ printLogs?: boolean;
20
+ }): Promise<(string | undefined)[]>;
21
+ getResults(jobId: string): Promise<{
22
+ success: true;
23
+ results?: JobResult[];
24
+ jobStatus?: JobStatus;
25
+ } | {
26
+ success: false;
27
+ error?: string;
28
+ jobStatus?: JobStatus;
29
+ }>;
30
+ }
@@ -0,0 +1,99 @@
1
+ import { zkCloudWorkerClient } from "../api/api.js";
2
+ export class TokenAPI {
3
+ constructor(params) {
4
+ const { jwt, zkcloudworker, chain } = params;
5
+ if (jwt === undefined)
6
+ throw new Error("jwt is undefined");
7
+ this.client = new zkCloudWorkerClient({
8
+ jwt,
9
+ chain,
10
+ zkcloudworker,
11
+ });
12
+ }
13
+ async proveTransaction(params) {
14
+ return this.proveTransactions([params]);
15
+ }
16
+ async proveTransactions(params) {
17
+ const transactions = [];
18
+ for (const tx of params) {
19
+ const transaction = JSON.stringify(tx, null, 2);
20
+ transactions.push(transaction);
21
+ }
22
+ const { request, symbol } = params[0];
23
+ const { txType } = request;
24
+ const answer = await this.client.execute({
25
+ developer: "DFST",
26
+ repo: "token-launchpad",
27
+ transactions,
28
+ task: "prove",
29
+ args: JSON.stringify({ tokenAddress: params[0].request.tokenAddress }),
30
+ metadata: `${params.length > 1 ? "airdrop" : txType.replace(/^token:/, "")} token${symbol ? ` ${symbol}` : ""}${params.length > 1 ? ` (${params.length} txs)` : ""}`,
31
+ });
32
+ const jobId = answer.jobId;
33
+ if (jobId === undefined)
34
+ console.error("Job ID is undefined", { answer, txType, symbol });
35
+ return jobId;
36
+ }
37
+ // Warning: this function will block the thread until the job is done and will print logs to the console
38
+ // Do not use it in "use server" functions, use getResults instead
39
+ async waitForJobResults(params) {
40
+ const deployResult = await this.client.waitForJobResult(params);
41
+ console.log("waitForJobResult result:", deployResult?.result?.result?.slice(0, 50));
42
+ return deployResult?.result?.result ?? "error";
43
+ }
44
+ async getResults(jobId) {
45
+ try {
46
+ const callResult = await this.client.jobResult({ jobId });
47
+ // TODO: filter the repo and developer
48
+ const jobStatus = typeof callResult?.result === "string"
49
+ ? undefined
50
+ : callResult?.result?.jobStatus;
51
+ if (!callResult.success) {
52
+ return {
53
+ success: false,
54
+ error: callResult?.error,
55
+ jobStatus,
56
+ };
57
+ }
58
+ const jobResult = callResult.result?.result;
59
+ if (callResult.error)
60
+ return {
61
+ success: false,
62
+ error: callResult.error,
63
+ jobStatus,
64
+ };
65
+ if (!jobResult)
66
+ return { success: true, jobStatus };
67
+ if (jobResult.toLowerCase().startsWith("error"))
68
+ return {
69
+ success: false,
70
+ error: jobResult,
71
+ jobStatus,
72
+ };
73
+ try {
74
+ const { proofs } = JSON.parse(jobResult);
75
+ const results = [];
76
+ for (const proof of proofs) {
77
+ const { success, tx, hash, error } = JSON.parse(proof);
78
+ results.push({ success, tx, hash, error });
79
+ }
80
+ return { success: true, results, jobStatus };
81
+ }
82
+ catch (e) {
83
+ return {
84
+ success: false,
85
+ error: `Error parsing job result: ${jobResult} ${e?.message ?? ""}`,
86
+ jobStatus,
87
+ };
88
+ }
89
+ }
90
+ catch (e) {
91
+ return {
92
+ success: false,
93
+ error: `Error getting job result: ${e?.message ?? ""}`,
94
+ jobStatus: undefined,
95
+ };
96
+ }
97
+ }
98
+ }
99
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/mina/tokens/token.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { PublicKey, Transaction, Mina, UInt64 } from "o1js";
2
- import { TransactionPayloads } from "@minatokens/api";
2
+ import { TransactionPayloads } from "@silvana-one/api";
3
3
  export declare function createTransactionPayloads(tx: Mina.Transaction<false, false> | Mina.Transaction<false, true>): TransactionPayloads;
4
4
  export declare function transactionParams(params: {
5
5
  proverPayload: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zkcloudworker",
3
- "version": "0.24.3",
3
+ "version": "0.25.1",
4
4
  "type": "module",
5
5
  "description": "zkCloudWorker library",
6
6
  "author": "zkCloudWorker",
@@ -49,7 +49,7 @@
49
49
  "node": ">=20.0.0"
50
50
  },
51
51
  "dependencies": {
52
- "@minatokens/api": "^0.16.5",
52
+ "@silvana-one/api": "^0.1.2",
53
53
  "chalk": "^4.1.2"
54
54
  },
55
55
  "peerDependencies": {
@@ -61,5 +61,5 @@
61
61
  "o1js": "^2.2.0",
62
62
  "typescript": "^5.7.3"
63
63
  },
64
- "packageManager": "yarn@4.5.2"
64
+ "packageManager": "yarn@4.6.0"
65
65
  }
package/src/mina/index.ts CHANGED
@@ -3,6 +3,6 @@ export * from "./api/api.js";
3
3
  export * from "./utils/index.js";
4
4
  export * from "./local/local.js";
5
5
  export * from "./verification/index.js";
6
- export * from "./token/index.js";
6
+ export * from "./tokens/index.js";
7
7
  export * from "./transactions/index.js";
8
8
  export * from "./storage/index.js";
@@ -0,0 +1,2 @@
1
+ export * from "./token.js";
2
+ export * from "./nft.js";
@@ -0,0 +1,134 @@
1
+ import { blockchain, Cloud, JobStatus } from "../../cloud/index.js";
2
+ import { zkCloudWorkerClient } from "../api/api.js";
3
+ import { zkCloudWorker } from "../../cloud/worker/index.js";
4
+ import { NftTransaction, JobResult } from "@silvana-one/api";
5
+
6
+ export class NftAPI {
7
+ readonly client: zkCloudWorkerClient;
8
+
9
+ constructor(params: {
10
+ jwt: string;
11
+ zkcloudworker?: (cloud: Cloud) => Promise<zkCloudWorker>;
12
+ chain: blockchain;
13
+ }) {
14
+ const { jwt, zkcloudworker, chain } = params;
15
+ if (jwt === undefined) throw new Error("jwt is undefined");
16
+
17
+ this.client = new zkCloudWorkerClient({
18
+ jwt,
19
+ chain,
20
+ zkcloudworker,
21
+ });
22
+ }
23
+
24
+ async proveTransaction(params: NftTransaction): Promise<string | undefined> {
25
+ return this.proveTransactions([params]);
26
+ }
27
+
28
+ async proveTransactions(
29
+ params: NftTransaction[]
30
+ ): Promise<string | undefined> {
31
+ const transactions: string[] = [];
32
+ for (const tx of params) {
33
+ const transaction = JSON.stringify(tx, null, 2);
34
+ transactions.push(transaction);
35
+ }
36
+ const { request, symbol } = params[0];
37
+ const { txType } = request;
38
+
39
+ const answer = await this.client.execute({
40
+ developer: "DFST",
41
+ repo: "nft-agent",
42
+ transactions,
43
+ task: "prove",
44
+ args: JSON.stringify({
45
+ collectionAddress: params[0].request.collectionAddress,
46
+ }),
47
+ metadata: `${params.length > 1 ? "mint" : txType.replace(/^nft:/, "")} ${
48
+ symbol ? ` ${symbol}` : ""
49
+ }${params.length > 1 ? ` (${params.length} txs)` : ""}`,
50
+ });
51
+ const jobId = answer.jobId;
52
+ if (jobId === undefined)
53
+ console.error("Job ID is undefined", { answer, txType, symbol });
54
+ return jobId;
55
+ }
56
+
57
+ // Warning: this function will block the thread until the job is done and will print logs to the console
58
+ // Do not use it in "use server" functions, use getResults instead
59
+ async waitForJobResults(params: {
60
+ jobId: string;
61
+ maxAttempts?: number;
62
+ interval?: number;
63
+ maxErrors?: number;
64
+ printLogs?: boolean;
65
+ }): Promise<(string | undefined)[]> {
66
+ const deployResult = await this.client.waitForJobResult(params);
67
+ console.log(
68
+ "waitForJobResult result:",
69
+ deployResult?.result?.result?.slice(0, 50)
70
+ );
71
+ return deployResult?.result?.result ?? "error";
72
+ }
73
+
74
+ async getResults(
75
+ jobId: string
76
+ ): Promise<
77
+ | { success: true; results?: JobResult[]; jobStatus?: JobStatus }
78
+ | { success: false; error?: string; jobStatus?: JobStatus }
79
+ > {
80
+ try {
81
+ const callResult = await this.client.jobResult({ jobId });
82
+
83
+ // TODO: filter the repo and developer
84
+ const jobStatus: JobStatus | undefined =
85
+ typeof callResult?.result === "string"
86
+ ? undefined
87
+ : callResult?.result?.jobStatus;
88
+ if (!callResult.success) {
89
+ return {
90
+ success: false,
91
+ error: callResult?.error,
92
+ jobStatus,
93
+ };
94
+ }
95
+ const jobResult = callResult.result?.result;
96
+ if (callResult.error)
97
+ return {
98
+ success: false,
99
+ error: callResult.error,
100
+ jobStatus,
101
+ };
102
+ if (!jobResult) return { success: true, jobStatus };
103
+
104
+ if (jobResult.toLowerCase().startsWith("error"))
105
+ return {
106
+ success: false,
107
+ error: jobResult,
108
+ jobStatus,
109
+ };
110
+
111
+ try {
112
+ const { proofs } = JSON.parse(jobResult);
113
+ const results: JobResult[] = [];
114
+ for (const proof of proofs) {
115
+ const { success, tx, hash, error } = JSON.parse(proof);
116
+ results.push({ success, tx, hash, error });
117
+ }
118
+ return { success: true, results, jobStatus };
119
+ } catch (e: any) {
120
+ return {
121
+ success: false,
122
+ error: `Error parsing job result: ${jobResult} ${e?.message ?? ""}`,
123
+ jobStatus,
124
+ };
125
+ }
126
+ } catch (e: any) {
127
+ return {
128
+ success: false,
129
+ error: `Error getting job result: ${e?.message ?? ""}`,
130
+ jobStatus: undefined,
131
+ };
132
+ }
133
+ }
134
+ }
@@ -1,7 +1,7 @@
1
1
  import { blockchain, Cloud, JobStatus } from "../../cloud/index.js";
2
2
  import { zkCloudWorkerClient } from "../api/api.js";
3
3
  import { zkCloudWorker } from "../../cloud/worker/index.js";
4
- import { TokenTransaction, JobResult } from "@minatokens/api";
4
+ import { TokenTransaction, JobResult } from "@silvana-one/api";
5
5
 
6
6
  export class TokenAPI {
7
7
  readonly client: zkCloudWorkerClient;
@@ -44,9 +44,11 @@ export class TokenAPI {
44
44
  transactions,
45
45
  task: "prove",
46
46
  args: JSON.stringify({ tokenAddress: params[0].request.tokenAddress }),
47
- metadata: `${params.length > 1 ? "airdrop" : txType.replace(/^token:/, "")} token${
48
- symbol ? ` ${symbol}` : ""
49
- }${params.length > 1 ? ` (${params.length} txs)` : ""}`,
47
+ metadata: `${
48
+ params.length > 1 ? "airdrop" : txType.replace(/^token:/, "")
49
+ } token${symbol ? ` ${symbol}` : ""}${
50
+ params.length > 1 ? ` (${params.length} txs)` : ""
51
+ }`,
50
52
  });
51
53
  const jobId = answer.jobId;
52
54
  if (jobId === undefined)
@@ -1,5 +1,5 @@
1
1
  import { Field, PublicKey, Transaction, Mina, UInt64 } from "o1js";
2
- import { TransactionPayloads } from "@minatokens/api";
2
+ import { TransactionPayloads } from "@silvana-one/api";
3
3
  import { fieldToBase64, fieldFromBase64 } from "../utils/base64.js";
4
4
 
5
5
  export function createTransactionPayloads(
@@ -1 +0,0 @@
1
- export * from "./api.js";