zkcloudworker 0.8.2 → 0.9.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.
- package/lib/ts/src/cloud/config.d.ts +1 -0
- package/lib/ts/src/cloud/config.js +1 -0
- package/lib/{web/src/cloud/utils/hash.d.ts → ts/src/cloud/utils/base64.d.ts} +0 -1
- package/lib/ts/src/cloud/utils/{hash.js → base64.js} +1 -11
- package/lib/ts/src/cloud/utils/index.d.ts +1 -2
- package/lib/ts/src/cloud/utils/index.js +1 -2
- package/lib/ts/src/cloud/worker/job.d.ts +26 -26
- package/lib/ts/src/mina/api/api.js +4 -1
- package/lib/ts/src/mina/local/local.d.ts +4 -1
- package/lib/ts/src/mina/local/local.js +44 -28
- package/lib/ts/src/mina/utils/base64.js +5 -5
- package/lib/ts/tsconfig.tsbuildinfo +1 -1
- package/lib/web/src/cloud/config.d.ts +1 -0
- package/lib/web/src/cloud/config.js +1 -0
- package/lib/web/src/cloud/config.js.map +1 -1
- package/lib/{ts/src/cloud/utils/hash.d.ts → web/src/cloud/utils/base64.d.ts} +0 -1
- package/lib/web/src/cloud/utils/{hash.js → base64.js} +1 -7
- package/lib/web/src/cloud/utils/base64.js.map +1 -0
- package/lib/web/src/cloud/utils/index.d.ts +1 -2
- package/lib/web/src/cloud/utils/index.js +1 -2
- package/lib/web/src/cloud/utils/index.js.map +1 -1
- package/lib/web/src/cloud/worker/job.d.ts +26 -26
- package/lib/web/src/mina/api/api.js +4 -1
- package/lib/web/src/mina/api/api.js.map +1 -1
- package/lib/web/src/mina/local/local.d.ts +4 -1
- package/lib/web/src/mina/local/local.js +43 -27
- package/lib/web/src/mina/local/local.js.map +1 -1
- package/lib/web/src/mina/utils/base64.js +1 -1
- package/lib/web/src/mina/utils/base64.js.map +1 -1
- package/lib/web/tsconfig.web.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/lib/ts/src/cloud/utils/files.d.ts +0 -11
- package/lib/ts/src/cloud/utils/files.js +0 -74
- package/lib/web/src/cloud/utils/files.d.ts +0 -11
- package/lib/web/src/cloud/utils/files.js +0 -65
- package/lib/web/src/cloud/utils/files.js.map +0 -1
- package/lib/web/src/cloud/utils/hash.js.map +0 -1
| @@ -4,5 +4,6 @@ const config = { | |
| 4 4 | 
             
                MINAFEE: "200000000",
         | 
| 5 5 | 
             
                ZKCLOUDWORKER_AUTH: "M6t4jtbBAFFXhLERHQWyEB9JA9xi4cWqmYduaCXtbrFjb7yaY7TyaXDunKDJNiUTBEcyUomNXJgC",
         | 
| 6 6 | 
             
                ZKCLOUDWORKER_API: "https://api.zkcloudworker.com/v1/",
         | 
| 7 | 
            +
                ZKCLOUDWORKER_NATS: "http://cloud.zkcloudworker.com:4222",
         | 
| 7 8 | 
             
            };
         | 
| 8 9 | 
             
            exports.default = config;
         | 
| @@ -1,16 +1,6 @@ | |
| 1 1 | 
             
            "use strict";
         | 
| 2 | 
            -
            var __importDefault = (this && this.__importDefault) || function (mod) {
         | 
| 3 | 
            -
                return (mod && mod.__esModule) ? mod : { "default": mod };
         | 
| 4 | 
            -
            };
         | 
| 5 2 | 
             
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 6 | 
            -
            exports.toBase = exports.fromBase = exports.bigintFromBase64 = exports.bigintToBase64 = exports.bigintFromBase56 = exports.bigintToBase56 =  | 
| 7 | 
            -
            const crypto_1 = __importDefault(require("crypto"));
         | 
| 8 | 
            -
            function stringHash(jsonString) {
         | 
| 9 | 
            -
                if (typeof jsonString !== "string")
         | 
| 10 | 
            -
                    throw new Error("stringHash: input must be a string");
         | 
| 11 | 
            -
                return bigintToBase56(BigInt("0x" + crypto_1.default.createHash("sha256").update(jsonString).digest("hex")));
         | 
| 12 | 
            -
            }
         | 
| 13 | 
            -
            exports.stringHash = stringHash;
         | 
| 3 | 
            +
            exports.toBase = exports.fromBase = exports.bigintFromBase64 = exports.bigintToBase64 = exports.bigintFromBase56 = exports.bigintToBase56 = void 0;
         | 
| 14 4 | 
             
            // URL friendly base64 encoding
         | 
| 15 5 | 
             
            const TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
         | 
| 16 6 | 
             
            function bigintToBase56(value) {
         | 
| @@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { | |
| 14 14 | 
             
                for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
         | 
| 15 15 | 
             
            };
         | 
| 16 16 | 
             
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 17 | 
            -
            __exportStar(require("./files"), exports);
         | 
| 18 17 | 
             
            __exportStar(require("./graphql"), exports);
         | 
| 19 18 | 
             
            __exportStar(require("./utils"), exports);
         | 
| 20 | 
            -
            __exportStar(require("./ | 
| 19 | 
            +
            __exportStar(require("./base64"), exports);
         | 
| @@ -18,40 +18,37 @@ export interface LogStream { | |
| 18 18 | 
             
                logStreamName: string;
         | 
| 19 19 | 
             
                awsRequestId: string;
         | 
| 20 20 | 
             
            }
         | 
| 21 | 
            +
            /**
         | 
| 22 | 
            +
             * @param logStreams the log streams of the job
         | 
| 23 | 
            +
             * @param logs the logs of the job
         | 
| 24 | 
            +
             * @param isFullLog whether the logs are full
         | 
| 25 | 
            +
             */
         | 
| 26 | 
            +
            export interface JobLogs {
         | 
| 27 | 
            +
                logStreams?: LogStream[];
         | 
| 28 | 
            +
                logs?: string[];
         | 
| 29 | 
            +
                isFullLog?: boolean;
         | 
| 30 | 
            +
            }
         | 
| 21 31 | 
             
            /**
         | 
| 22 32 | 
             
             * JobData is the data structure for a job, keeping track of the job status, result, logs, and metadata
         | 
| 23 33 | 
             
             * @param id the id of the user
         | 
| 24 34 | 
             
             * @param jobId the id of the job
         | 
| 25 35 | 
             
             * @param taskId the id of the task
         | 
| 36 | 
            +
             *
         | 
| 26 37 | 
             
             * @param developer the developer of the repo executing the job
         | 
| 27 38 | 
             
             * @param repo the repo executing the job
         | 
| 39 | 
            +
             *
         | 
| 28 40 | 
             
             * @param task the task to execute
         | 
| 29 41 | 
             
             * @param userId the id of the user
         | 
| 30 42 | 
             
             * @param args the arguments for the job
         | 
| 31 43 | 
             
             * @param metadata the metadata for the job
         | 
| 32 44 | 
             
             * @param chain the blockchain to execute the job on
         | 
| 33 | 
            -
             * @param webhook the webhook to call after the job finishes
         | 
| 34 | 
            -
             * @param cloudhook the cloudhook to call after the job finishes
         | 
| 35 | 
            -
             * @param cloudIteration the recursive call number, must be less than 5
         | 
| 36 | 
            -
             * @param previousJob the previous job data, provided in case of the cloudhook
         | 
| 37 | 
            -
             *
         | 
| 38 45 | 
             
             * @param filename the filename where transactions data is stored
         | 
| 39 46 | 
             
             * @param txNumber the number of transactions
         | 
| 40 47 | 
             
             * @param timeCreated the time the job was created
         | 
| 41 | 
            -
             * @param timeCreatedString the time the job was created as a string
         | 
| 42 48 | 
             
             * @param timeStarted the time the job was started
         | 
| 43 49 | 
             
             * @param timeFinished the time the job was finished
         | 
| 44 50 | 
             
             * @param timeFailed the time the job failed
         | 
| 45 51 | 
             
             * @param timeUsed the time the job result was used
         | 
| 46 | 
            -
             * @param billedDuration the duration the job was billed for
         | 
| 47 | 
            -
             * @param feeMINA the fee in MINA
         | 
| 48 | 
            -
             * @param feeUSD the fee in USD
         | 
| 49 | 
            -
             * @param jobStatus the status of the job
         | 
| 50 | 
            -
             * @param maxAttempts the maximum number of attempts
         | 
| 51 | 
            -
             * @param result the result of the job
         | 
| 52 | 
            -
             * @param logStreams the log streams of the job
         | 
| 53 | 
            -
             * @param logs the logs of the job
         | 
| 54 | 
            -
             * @param isFullLog whether the logs are full
         | 
| 55 52 | 
             
             */
         | 
| 56 53 | 
             
            export interface JobData {
         | 
| 57 54 | 
             
                id: string;
         | 
| @@ -64,25 +61,28 @@ export interface JobData { | |
| 64 61 | 
             
                args?: string;
         | 
| 65 62 | 
             
                metadata?: string;
         | 
| 66 63 | 
             
                chain: blockchain;
         | 
| 67 | 
            -
                webhook?: string;
         | 
| 68 | 
            -
                cloudhook?: string;
         | 
| 69 | 
            -
                cloudIteration?: number;
         | 
| 70 | 
            -
                previousJob?: JobData;
         | 
| 71 64 | 
             
                filename?: string;
         | 
| 72 65 | 
             
                txNumber: number;
         | 
| 73 66 | 
             
                timeCreated: number;
         | 
| 74 | 
            -
                timeCreatedString: string;
         | 
| 75 67 | 
             
                timeStarted?: number;
         | 
| 76 68 | 
             
                timeFinished?: number;
         | 
| 77 69 | 
             
                timeFailed?: number;
         | 
| 78 70 | 
             
                timeUsed?: number;
         | 
| 71 | 
            +
                jobStatus: JobStatus;
         | 
| 79 72 | 
             
                billedDuration?: number;
         | 
| 80 | 
            -
                 | 
| 81 | 
            -
             | 
| 73 | 
            +
                result?: string;
         | 
| 74 | 
            +
            }
         | 
| 75 | 
            +
            /**
         | 
| 76 | 
            +
             * JobData is the data structure for a job, keeping track of the job status, result, logs, and metadata
         | 
| 77 | 
            +
             * @param jobId the id of the job
         | 
| 78 | 
            +
             * @param eventTime the time the event occurred
         | 
| 79 | 
            +
             * @param jobStatus the status of the job
         | 
| 80 | 
            +
             * @param billedDuration the duration the job was billed for
         | 
| 81 | 
            +
             * @param result the result of the job
         | 
| 82 | 
            +
             */
         | 
| 83 | 
            +
            export interface JobEvent {
         | 
| 84 | 
            +
                jobId: string;
         | 
| 85 | 
            +
                eventTime: number;
         | 
| 82 86 | 
             
                jobStatus: JobStatus;
         | 
| 83 | 
            -
                maxAttempts: number;
         | 
| 84 87 | 
             
                result?: string;
         | 
| 85 | 
            -
                logStreams?: LogStream[];
         | 
| 86 | 
            -
                logs?: string[];
         | 
| 87 | 
            -
                isFullLog?: boolean;
         | 
| 88 88 | 
             
            }
         | 
| @@ -381,7 +381,10 @@ class zkCloudWorkerClient { | |
| 381 381 | 
             
                                    localWorker: this.localWorker,
         | 
| 382 382 | 
             
                                });
         | 
| 383 383 | 
             
                                if (data.mode === "sync")
         | 
| 384 | 
            -
                                    return { | 
| 384 | 
            +
                                    return {
         | 
| 385 | 
            +
                                        success: true,
         | 
| 386 | 
            +
                                        data: local_1.LocalStorage.jobEvents[jobId].result,
         | 
| 387 | 
            +
                                    };
         | 
| 385 388 | 
             
                                else
         | 
| 386 389 | 
             
                                    return {
         | 
| 387 390 | 
             
                                        success: true,
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            /// <reference types="node" />
         | 
| 2 2 | 
             
            import { Cloud, zkCloudWorker } from "../../cloud";
         | 
| 3 | 
            -
            import { JobData } from "../../cloud";
         | 
| 3 | 
            +
            import { JobData, JobEvent } from "../../cloud";
         | 
| 4 4 | 
             
            import { TaskData } from "../../cloud";
         | 
| 5 5 | 
             
            import { blockchain } from "../../cloud";
         | 
| 6 6 | 
             
            import { CloudTransaction, DeployerKeyPair } from "../../cloud";
         | 
| @@ -234,6 +234,9 @@ export declare class LocalStorage { | |
| 234 234 | 
             
                static jobs: {
         | 
| 235 235 | 
             
                    [key: string]: JobData;
         | 
| 236 236 | 
             
                };
         | 
| 237 | 
            +
                static jobEvents: {
         | 
| 238 | 
            +
                    [key: string]: JobEvent;
         | 
| 239 | 
            +
                };
         | 
| 237 240 | 
             
                static data: {
         | 
| 238 241 | 
             
                    [key: string]: string;
         | 
| 239 242 | 
             
                };
         | 
| @@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); | |
| 3 3 | 
             
            exports.LocalStorage = exports.LocalCloud = void 0;
         | 
| 4 4 | 
             
            const cloud_1 = require("../../cloud");
         | 
| 5 5 | 
             
            const cloud_2 = require("../../cloud");
         | 
| 6 | 
            -
            const cloud_3 = require("../../cloud");
         | 
| 7 | 
            -
            const cloud_4 = require("../../cloud");
         | 
| 8 6 | 
             
            /**
         | 
| 9 7 | 
             
             * LocalCloud is a cloud that runs on the local machine for testing and development
         | 
| 10 8 | 
             
             * It uses LocalStorage to store jobs, tasks, transactions, and data
         | 
| @@ -94,7 +92,8 @@ class LocalCloud extends cloud_1.Cloud { | |
| 94 92 | 
             
                 * @param value the value to save
         | 
| 95 93 | 
             
                 */
         | 
| 96 94 | 
             
                async saveFile(filename, value) {
         | 
| 97 | 
            -
                     | 
| 95 | 
            +
                    throw new Error("Method not implemented.");
         | 
| 96 | 
            +
                    //await saveBinaryFile({ data: value, filename });
         | 
| 98 97 | 
             
                }
         | 
| 99 98 | 
             
                /**
         | 
| 100 99 | 
             
                 * Loads the file
         | 
| @@ -102,8 +101,9 @@ class LocalCloud extends cloud_1.Cloud { | |
| 102 101 | 
             
                 * @returns the file data
         | 
| 103 102 | 
             
                 */
         | 
| 104 103 | 
             
                async loadFile(filename) {
         | 
| 105 | 
            -
                     | 
| 106 | 
            -
                     | 
| 104 | 
            +
                    throw new Error("Method not implemented.");
         | 
| 105 | 
            +
                    //const data = await loadBinaryFile(filename);
         | 
| 106 | 
            +
                    //return data;
         | 
| 107 107 | 
             
                }
         | 
| 108 108 | 
             
                /**
         | 
| 109 109 | 
             
                 * Loads the environment
         | 
| @@ -117,8 +117,10 @@ class LocalCloud extends cloud_1.Cloud { | |
| 117 117 | 
             
                 * @returns generated unique id
         | 
| 118 118 | 
             
                 */
         | 
| 119 119 | 
             
                static generateId(tx = undefined) {
         | 
| 120 | 
            -
                    const data = | 
| 121 | 
            -
                     | 
| 120 | 
            +
                    //const data =
         | 
| 121 | 
            +
                    //  tx ?? JSON.stringify({ time: Date.now(), data: makeString(32) });
         | 
| 122 | 
            +
                    //return stringHash(data);
         | 
| 123 | 
            +
                    return Date.now() + "." + (0, cloud_2.makeString)(32);
         | 
| 122 124 | 
             
                }
         | 
| 123 125 | 
             
                /**
         | 
| 124 126 | 
             
                 * Send transactions to the local cloud
         | 
| @@ -195,10 +197,8 @@ class LocalCloud extends cloud_1.Cloud { | |
| 195 197 | 
             
                        metadata,
         | 
| 196 198 | 
             
                        txNumber: command === "recursiveProof" ? transactions.length : 1,
         | 
| 197 199 | 
             
                        timeCreated,
         | 
| 198 | 
            -
                        timeCreatedString: new Date(timeCreated).toISOString(),
         | 
| 199 200 | 
             
                        timeStarted: timeCreated,
         | 
| 200 | 
            -
                         | 
| 201 | 
            -
                        maxAttempts: 0,
         | 
| 201 | 
            +
                        chain,
         | 
| 202 202 | 
             
                    };
         | 
| 203 203 | 
             
                    const cloud = new LocalCloud({
         | 
| 204 204 | 
             
                        job,
         | 
| @@ -218,15 +218,22 @@ class LocalCloud extends cloud_1.Cloud { | |
| 218 218 | 
             
                            : undefined;
         | 
| 219 219 | 
             
                    const timeFinished = Date.now();
         | 
| 220 220 | 
             
                    if (result !== undefined) {
         | 
| 221 | 
            -
                         | 
| 221 | 
            +
                        LocalStorage.jobEvents[jobId] = {
         | 
| 222 | 
            +
                            jobId,
         | 
| 223 | 
            +
                            jobStatus: "finished",
         | 
| 224 | 
            +
                            eventTime: timeFinished,
         | 
| 225 | 
            +
                            result,
         | 
| 226 | 
            +
                        };
         | 
| 222 227 | 
             
                        job.timeFinished = timeFinished;
         | 
| 223 | 
            -
                        job.result = result;
         | 
| 224 228 | 
             
                    }
         | 
| 225 229 | 
             
                    else {
         | 
| 226 | 
            -
                         | 
| 230 | 
            +
                        LocalStorage.jobEvents[jobId] = {
         | 
| 231 | 
            +
                            jobId,
         | 
| 232 | 
            +
                            jobStatus: "failed",
         | 
| 233 | 
            +
                            eventTime: timeFinished,
         | 
| 234 | 
            +
                        };
         | 
| 227 235 | 
             
                        job.timeFailed = timeFinished;
         | 
| 228 236 | 
             
                    }
         | 
| 229 | 
            -
                    job.maxAttempts = 1;
         | 
| 230 237 | 
             
                    job.billedDuration = timeFinished - timeCreated;
         | 
| 231 238 | 
             
                    LocalStorage.jobs[jobId] = job;
         | 
| 232 239 | 
             
                    return jobId;
         | 
| @@ -362,10 +369,6 @@ class LocalCloud extends cloud_1.Cloud { | |
| 362 369 | 
             
                            metadata: data.metadata,
         | 
| 363 370 | 
             
                            txNumber: 1,
         | 
| 364 371 | 
             
                            timeCreated: timeCreated,
         | 
| 365 | 
            -
                            timeCreatedString: new Date(timeCreated).toISOString(),
         | 
| 366 | 
            -
                            timeStarted: Date.now(),
         | 
| 367 | 
            -
                            jobStatus: "started",
         | 
| 368 | 
            -
                            maxAttempts: 0,
         | 
| 369 372 | 
             
                        };
         | 
| 370 373 | 
             
                        const cloud = new LocalCloud({
         | 
| 371 374 | 
             
                            job,
         | 
| @@ -374,16 +377,25 @@ class LocalCloud extends cloud_1.Cloud { | |
| 374 377 | 
             
                        });
         | 
| 375 378 | 
             
                        const worker = await localWorker(cloud);
         | 
| 376 379 | 
             
                        const result = await worker.task();
         | 
| 377 | 
            -
                         | 
| 378 | 
            -
                        job.maxAttempts = 1;
         | 
| 379 | 
            -
                        job.billedDuration = job.timeFinished - timeCreated;
         | 
| 380 | 
            +
                        const timeFinished = Date.now();
         | 
| 380 381 | 
             
                        if (result !== undefined) {
         | 
| 381 | 
            -
                             | 
| 382 | 
            -
             | 
| 382 | 
            +
                            LocalStorage.jobEvents[jobId] = {
         | 
| 383 | 
            +
                                jobId,
         | 
| 384 | 
            +
                                jobStatus: "finished",
         | 
| 385 | 
            +
                                eventTime: timeFinished,
         | 
| 386 | 
            +
                                result,
         | 
| 387 | 
            +
                            };
         | 
| 388 | 
            +
                            job.timeFinished = timeFinished;
         | 
| 383 389 | 
             
                        }
         | 
| 384 390 | 
             
                        else {
         | 
| 385 | 
            -
                             | 
| 391 | 
            +
                            LocalStorage.jobEvents[jobId] = {
         | 
| 392 | 
            +
                                jobId,
         | 
| 393 | 
            +
                                jobStatus: "failed",
         | 
| 394 | 
            +
                                eventTime: timeFinished,
         | 
| 395 | 
            +
                            };
         | 
| 396 | 
            +
                            job.timeFailed = timeFinished;
         | 
| 386 397 | 
             
                        }
         | 
| 398 | 
            +
                        job.billedDuration = timeFinished - timeCreated;
         | 
| 387 399 | 
             
                        LocalStorage.jobs[jobId] = job;
         | 
| 388 400 | 
             
                    }
         | 
| 389 401 | 
             
                    let count = 0;
         | 
| @@ -442,6 +454,7 @@ class LocalStorage { | |
| 442 454 | 
             
                 * @param name the name to save the data
         | 
| 443 455 | 
             
                 */
         | 
| 444 456 | 
             
                static async saveData(name) {
         | 
| 457 | 
            +
                    throw new Error("Method not implemented.");
         | 
| 445 458 | 
             
                    const data = {
         | 
| 446 459 | 
             
                        jobs: LocalStorage.jobs,
         | 
| 447 460 | 
             
                        data: LocalStorage.data,
         | 
| @@ -449,25 +462,28 @@ class LocalStorage { | |
| 449 462 | 
             
                        tasks: LocalStorage.tasks,
         | 
| 450 463 | 
             
                    };
         | 
| 451 464 | 
             
                    const filename = name + ".cloud";
         | 
| 452 | 
            -
                    await  | 
| 465 | 
            +
                    //await saveFile({ data, filename });
         | 
| 453 466 | 
             
                }
         | 
| 454 467 | 
             
                /**
         | 
| 455 468 | 
             
                 * Loads the data
         | 
| 456 469 | 
             
                 * @param name the name to load the data
         | 
| 457 470 | 
             
                 */
         | 
| 458 471 | 
             
                static async loadData(name) {
         | 
| 472 | 
            +
                    throw new Error("Method not implemented.");
         | 
| 459 473 | 
             
                    const filename = name + ".cloud";
         | 
| 460 | 
            -
                     | 
| 461 | 
            -
                     | 
| 462 | 
            -
             | 
| 474 | 
            +
                    /*
         | 
| 475 | 
            +
                    const data = await loadFile(filename);
         | 
| 476 | 
            +
                    if (data === undefined) return;
         | 
| 463 477 | 
             
                    LocalStorage.jobs = data.jobs;
         | 
| 464 478 | 
             
                    LocalStorage.data = data.data;
         | 
| 465 479 | 
             
                    LocalStorage.transactions = data.transactions;
         | 
| 466 480 | 
             
                    LocalStorage.tasks = data.tasks;
         | 
| 481 | 
            +
                    */
         | 
| 467 482 | 
             
                }
         | 
| 468 483 | 
             
            }
         | 
| 469 484 | 
             
            exports.LocalStorage = LocalStorage;
         | 
| 470 485 | 
             
            LocalStorage.jobs = {};
         | 
| 486 | 
            +
            LocalStorage.jobEvents = {};
         | 
| 471 487 | 
             
            LocalStorage.data = {};
         | 
| 472 488 | 
             
            LocalStorage.transactions = {};
         | 
| 473 489 | 
             
            LocalStorage.tasks = {};
         | 
| @@ -2,11 +2,11 @@ | |
| 2 2 | 
             
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 3 3 | 
             
            exports.fieldFromBase64 = exports.fieldToBase64 = exports.fieldFromBase56 = exports.fieldToBase56 = void 0;
         | 
| 4 4 | 
             
            const o1js_1 = require("o1js");
         | 
| 5 | 
            -
            const  | 
| 5 | 
            +
            const base64_1 = require("../../cloud/utils/base64");
         | 
| 6 6 | 
             
            // URL friendly base64 encoding
         | 
| 7 7 | 
             
            const TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
         | 
| 8 8 | 
             
            function fieldToBase56(field) {
         | 
| 9 | 
            -
                const digits = (0,  | 
| 9 | 
            +
                const digits = (0, base64_1.toBase)(field.toBigInt(), 56n);
         | 
| 10 10 | 
             
                //console.log("digits:", digits);
         | 
| 11 11 | 
             
                const str = digits.map((x) => TABLE[Number(x)]).join("");
         | 
| 12 12 | 
             
                //console.log("str:", str);
         | 
| @@ -15,12 +15,12 @@ function fieldToBase56(field) { | |
| 15 15 | 
             
            exports.fieldToBase56 = fieldToBase56;
         | 
| 16 16 | 
             
            function fieldFromBase56(str) {
         | 
| 17 17 | 
             
                const base56Digits = str.split("").map((x) => BigInt(TABLE.indexOf(x)));
         | 
| 18 | 
            -
                const x = (0,  | 
| 18 | 
            +
                const x = (0, base64_1.fromBase)(base56Digits, 56n);
         | 
| 19 19 | 
             
                return (0, o1js_1.Field)(x);
         | 
| 20 20 | 
             
            }
         | 
| 21 21 | 
             
            exports.fieldFromBase56 = fieldFromBase56;
         | 
| 22 22 | 
             
            function fieldToBase64(field) {
         | 
| 23 | 
            -
                const digits = (0,  | 
| 23 | 
            +
                const digits = (0, base64_1.toBase)(field.toBigInt(), 64n);
         | 
| 24 24 | 
             
                //console.log("digits:", digits);
         | 
| 25 25 | 
             
                const str = digits.map((x) => TABLE[Number(x)]).join("");
         | 
| 26 26 | 
             
                //console.log("str:", str);
         | 
| @@ -29,7 +29,7 @@ function fieldToBase64(field) { | |
| 29 29 | 
             
            exports.fieldToBase64 = fieldToBase64;
         | 
| 30 30 | 
             
            function fieldFromBase64(str) {
         | 
| 31 31 | 
             
                const base64Digits = str.split("").map((x) => BigInt(TABLE.indexOf(x)));
         | 
| 32 | 
            -
                const x = (0,  | 
| 32 | 
            +
                const x = (0, base64_1.fromBase)(base64Digits, 64n);
         | 
| 33 33 | 
             
                return (0, o1js_1.Field)(x);
         | 
| 34 34 | 
             
            }
         | 
| 35 35 | 
             
            exports.fieldFromBase64 = fieldFromBase64;
         |