zkcloudworker 0.14.1 → 0.14.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. package/lib/ts/src/mina/index.d.ts +0 -1
  2. package/lib/ts/src/mina/index.js +1 -1
  3. package/lib/ts/src/mina/token/deploy.d.ts +10 -0
  4. package/lib/ts/src/mina/token/deploy.js +2 -0
  5. package/lib/ts/src/mina/token/index.d.ts +1 -0
  6. package/lib/ts/src/mina/token/index.js +1 -0
  7. package/lib/ts/tsconfig.tsbuildinfo +1 -1
  8. package/lib/web/src/mina/index.d.ts +0 -1
  9. package/lib/web/src/mina/index.js +1 -1
  10. package/lib/web/src/mina/index.js.map +1 -1
  11. package/lib/web/src/mina/token/deploy.d.ts +10 -0
  12. package/lib/web/src/mina/token/deploy.js +2 -0
  13. package/lib/web/src/mina/token/deploy.js.map +1 -0
  14. package/lib/web/src/mina/token/index.d.ts +1 -0
  15. package/lib/web/src/mina/token/index.js +1 -0
  16. package/lib/web/src/mina/token/index.js.map +1 -1
  17. package/lib/web/tsconfig.web.tsbuildinfo +1 -1
  18. package/package.json +2 -3
  19. package/lib/ts/src/mina/encryption/client.d.ts +0 -19
  20. package/lib/ts/src/mina/encryption/client.js +0 -154
  21. package/lib/ts/src/mina/encryption/connections.d.ts +0 -1
  22. package/lib/ts/src/mina/encryption/connections.js +0 -4
  23. package/lib/ts/src/mina/encryption/encryption.d.ts +0 -13
  24. package/lib/ts/src/mina/encryption/encryption.js +0 -41
  25. package/lib/ts/src/mina/encryption/index.d.ts +0 -4
  26. package/lib/ts/src/mina/encryption/index.js +0 -14
  27. package/lib/ts/src/mina/encryption/messages.d.ts +0 -3
  28. package/lib/ts/src/mina/encryption/messages.js +0 -50
  29. package/lib/web/src/mina/encryption/client.d.ts +0 -19
  30. package/lib/web/src/mina/encryption/client.js +0 -151
  31. package/lib/web/src/mina/encryption/client.js.map +0 -1
  32. package/lib/web/src/mina/encryption/connections.d.ts +0 -1
  33. package/lib/web/src/mina/encryption/connections.js +0 -2
  34. package/lib/web/src/mina/encryption/connections.js.map +0 -1
  35. package/lib/web/src/mina/encryption/encryption.d.ts +0 -13
  36. package/lib/web/src/mina/encryption/encryption.js +0 -39
  37. package/lib/web/src/mina/encryption/encryption.js.map +0 -1
  38. package/lib/web/src/mina/encryption/index.d.ts +0 -4
  39. package/lib/web/src/mina/encryption/index.js +0 -5
  40. package/lib/web/src/mina/encryption/index.js.map +0 -1
  41. package/lib/web/src/mina/encryption/messages.d.ts +0 -3
  42. package/lib/web/src/mina/encryption/messages.js +0 -46
  43. package/lib/web/src/mina/encryption/messages.js.map +0 -1
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CipherText = void 0;
4
- const o1js_1 = require("o1js");
5
- class CipherText {
6
- static stringify(cipherText) {
7
- return JSON.stringify(cipherText);
8
- }
9
- static parse(jsonStr) {
10
- let obj = JSON.parse(jsonStr);
11
- return {
12
- publicKey: new o1js_1.Group(obj.publicKey),
13
- cipherText: (obj.cipherText || []).map((t) => (0, o1js_1.Field)(t)),
14
- };
15
- }
16
- static encrypt(message, publicId) {
17
- try {
18
- let fields = o1js_1.Encoding.stringToFields(message);
19
- let encripted = o1js_1.Encryption.encrypt(fields, o1js_1.PublicKey.fromBase58(publicId));
20
- return CipherText.stringify(encripted);
21
- }
22
- catch (err) {
23
- throw Error(`Could not encrypt message='${message}' using key='${publicId}'.` +
24
- ` Error ${err}`);
25
- }
26
- }
27
- static decrypt(cipherText, privateKey) {
28
- try {
29
- let fields = o1js_1.Encryption.decrypt(CipherText.parse(cipherText), o1js_1.PrivateKey.fromBase58(privateKey));
30
- let decrypted = o1js_1.Encoding.stringFromFields(fields);
31
- return decrypted;
32
- }
33
- catch (err) {
34
- throw Error(`Could not decrypt cipher='${cipherText}'.` + ` Error ${err}`);
35
- }
36
- }
37
- static async initialize() {
38
- await (0, o1js_1.initializeBindings)();
39
- }
40
- }
41
- exports.CipherText = CipherText;
@@ -1,4 +0,0 @@
1
- export { NATS_SERVER } from "./connections";
2
- export { CipherText } from "./encryption";
3
- export { NATSClient, listen } from "./client";
4
- export { postReadyMessage, postDoneMessage, postOptionsMessage, } from "./messages";
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.postOptionsMessage = exports.postDoneMessage = exports.postReadyMessage = exports.listen = exports.NATSClient = exports.CipherText = exports.NATS_SERVER = void 0;
4
- var connections_1 = require("./connections");
5
- Object.defineProperty(exports, "NATS_SERVER", { enumerable: true, get: function () { return connections_1.NATS_SERVER; } });
6
- var encryption_1 = require("./encryption");
7
- Object.defineProperty(exports, "CipherText", { enumerable: true, get: function () { return encryption_1.CipherText; } });
8
- var client_1 = require("./client");
9
- Object.defineProperty(exports, "NATSClient", { enumerable: true, get: function () { return client_1.NATSClient; } });
10
- Object.defineProperty(exports, "listen", { enumerable: true, get: function () { return client_1.listen; } });
11
- var messages_1 = require("./messages");
12
- Object.defineProperty(exports, "postReadyMessage", { enumerable: true, get: function () { return messages_1.postReadyMessage; } });
13
- Object.defineProperty(exports, "postDoneMessage", { enumerable: true, get: function () { return messages_1.postDoneMessage; } });
14
- Object.defineProperty(exports, "postOptionsMessage", { enumerable: true, get: function () { return messages_1.postOptionsMessage; } });
@@ -1,3 +0,0 @@
1
- export declare function postOptionsMessage(clientAddress: string, workerAddress: string): Promise<any>;
2
- export declare function postReadyMessage(clientAddress: string, workerAddress: string): Promise<any>;
3
- export declare function postDoneMessage(clientAddress: string, encrypted: string): Promise<any>;
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.postOptionsMessage = postOptionsMessage;
4
- exports.postReadyMessage = postReadyMessage;
5
- exports.postDoneMessage = postDoneMessage;
6
- const nats_1 = require("nats");
7
- const connections_1 = require("./connections");
8
- const codec = (0, nats_1.JSONCodec)();
9
- async function postOptionsMessage(clientAddress, workerAddress) {
10
- // connect to the NATS server and send a 'ready' request
11
- const nc = await (0, nats_1.connect)({ servers: connections_1.NATS_SERVER });
12
- const msg = await nc.request(`zkcw:${clientAddress}`, codec.encode({
13
- "post": "options",
14
- "params": { "key": workerAddress }
15
- }));
16
- const response = codec.decode(msg.data);
17
- console.log("Response: ", response);
18
- // disconect and clean all pendings
19
- await nc.drain();
20
- return response;
21
- }
22
- ;
23
- async function postReadyMessage(clientAddress, workerAddress) {
24
- // connect to the NATS server and send a 'ready' request
25
- const nc = await (0, nats_1.connect)({ servers: connections_1.NATS_SERVER });
26
- const msg = await nc.request(`zkcw:${clientAddress}`, codec.encode({
27
- "post": "ready",
28
- "params": { "key": workerAddress }
29
- }));
30
- const response = codec.decode(msg.data);
31
- console.log("Response: ", response);
32
- // disconect and clean all pendings
33
- await nc.drain();
34
- return response;
35
- }
36
- ;
37
- async function postDoneMessage(clientAddress, encrypted) {
38
- // connect to the NATS server and send a 'ready' request
39
- const nc = await (0, nats_1.connect)({ servers: connections_1.NATS_SERVER });
40
- const msg = await nc.request(`zkcw:${clientAddress}`, codec.encode({
41
- "post": "done",
42
- "params": { "result": encrypted }
43
- }));
44
- const response = codec.decode(msg.data);
45
- console.log("Response: ", response);
46
- // disconect and clean all pendings
47
- await nc.drain();
48
- return response;
49
- }
50
- ;
@@ -1,19 +0,0 @@
1
- export interface INATSClient {
2
- address: string;
3
- secret: string;
4
- callme: {
5
- onOptions: (params: any) => void;
6
- onReady: (params: any) => void;
7
- onDone: (params: any) => void;
8
- };
9
- }
10
- export declare function NATSClient(callme: {
11
- onOptions: (params: any) => void;
12
- onReady: (params: any) => void;
13
- onDone: (params: any) => void;
14
- }): Promise<INATSClient>;
15
- export declare function listen(subject: string, callme: {
16
- onOptions: (params: any) => void;
17
- onReady: (params: any) => void;
18
- onDone: (params: any) => void;
19
- }): Promise<void>;
@@ -1,151 +0,0 @@
1
- import { PrivateKey } from "o1js";
2
- import { connect, JSONCodec } from "nats";
3
- import { initializeBindings } from "o1js";
4
- import { CipherText } from "./encryption";
5
- import { NATS_SERVER } from "./connections";
6
- export async function NATSClient(callme) {
7
- // create some client address, this will be done by
8
- // the web API BEFORE calling a worker
9
- const secret = PrivateKey.random();
10
- let address = secret.toPublicKey().toBase58();
11
- console.log("Client address ", address);
12
- // now subscribe and listen in this Address
13
- // we use the 'zkcw' prefix for zkCloudWorkers subscriptions
14
- await listen(`zkcw:${address}`, callme);
15
- return {
16
- address: address,
17
- secret: secret.toBase58(),
18
- callme: callme,
19
- };
20
- }
21
- export async function listen(subject, callme) {
22
- // Create a JSON codec for encoding and decoding messages
23
- const codec = JSONCodec();
24
- const connection = await connect({ servers: NATS_SERVER });
25
- // Subscribe to the subject
26
- const subscription = connection.subscribe(subject);
27
- console.log(`Subscribed to subject ${subject}`);
28
- // Process messages received on the subscribed subject
29
- (async () => {
30
- // Error decoding message: Error: Could not encrypt message={}
31
- // Error: Poseidon.Sponge(): bindings are not initialized, try calling `await initializeBindings()` first.
32
- // This shouldn't have happened and indicates an internal bug.
33
- await initializeBindings();
34
- for await (const msg of subscription) {
35
- try {
36
- const data = codec.decode(msg.data);
37
- //console.log(`Received message on subject ${subject}:`, data);
38
- // Perform processing logic here
39
- const { post, params } = data;
40
- // console.log(`Post: `, post, params);
41
- switch (post) {
42
- case "options":
43
- {
44
- // the workers announces it is ready
45
- // and we receive the worker's publicKey
46
- let workerKey = params.key || "";
47
- console.log("\nReceived 'options' message from worker");
48
- console.log("Worker publicKey: ", workerKey);
49
- let options = callme.onOptions(params);
50
- console.log("options:", options);
51
- // we will use its key to encrypt the message
52
- const encryptedOptions = CipherText.encrypt(JSON.stringify(options), workerKey);
53
- console.log("Encrypted options: ", encryptedOptions);
54
- // we reply with the command we want the worker to execute
55
- // and with the encrypted payload
56
- msg.respond(codec.encode({
57
- success: true,
58
- data: {
59
- command: "options",
60
- encrypted: encryptedOptions,
61
- },
62
- error: undefined,
63
- }));
64
- }
65
- break;
66
- case "ready":
67
- {
68
- // the workers announces it is ready
69
- // and we receive the worker's publicKey
70
- let workerKey = params.key || "";
71
- console.log("\nReceived 'ready' message from worker");
72
- console.log("Worker publicKey: ", workerKey);
73
- let payload = callme.onReady(params);
74
- console.log("payload:", payload);
75
- // we will use its key to encrypt the message
76
- const encryptedPayload = CipherText.encrypt(JSON.stringify(payload), workerKey);
77
- console.log("Encrypted payload: ", encryptedPayload);
78
- // we reply with the command we want the worker to execute
79
- // and with the encrypted payload
80
- msg.respond(codec.encode({
81
- success: true,
82
- data: {
83
- command: "execute",
84
- encrypted: encryptedPayload,
85
- },
86
- error: undefined,
87
- }));
88
- }
89
- break;
90
- case "done":
91
- {
92
- let result = params.result || "";
93
- console.log("\nReceived 'done' message from worker");
94
- let done = callme.onDone(params);
95
- console.log("done: ", done);
96
- msg.respond(codec.encode({
97
- success: true,
98
- data: {
99
- command: "close",
100
- status: JSON.stringify(done),
101
- },
102
- error: undefined,
103
- }));
104
- // we want to insure that messages that are in flight
105
- // get processed, so we are going to drain the
106
- // connection. Drain is the same as close, but makes
107
- // sure that all messages in flight get seen
108
- // by the iterator. After calling drain on the connection
109
- // the connection closes.
110
- setTimeout(async () => {
111
- await connection.drain();
112
- }, 1000);
113
- }
114
- break;
115
- }
116
- }
117
- catch (err) {
118
- console.error("Error decoding message: ", err);
119
- }
120
- }
121
- })();
122
- }
123
- /*
124
- async function main(args: string[]) {
125
- const nc = await connect({ servers: NATS_SERVER });
126
-
127
- // create some client address, this will be done by
128
- // the web API when calling a worker
129
- const clientSecret = PrivateKey.random();
130
- let clientAddress = clientSecret.toPublicKey().toBase58();
131
- console.log("Client address ", clientAddress);
132
-
133
- clientAddress = "B62qrYPDY555koJFAdNaUyw21WCNUgie9bmsBs2gCh6DSdhQmuN4qu6";
134
-
135
- // now subscribe and listen in this Address
136
- listen(nc, `zkcw:${clientAddress}`);
137
-
138
- // we want to insure that messages that are in flight
139
- // get processed, so we are going to drain the
140
- // connection. Drain is the same as close, but makes
141
- // sure that all messages in flight get seen
142
- // by the iterator. After calling drain on the connection
143
- // the connection closes.
144
- //await nc.drain();
145
- }
146
-
147
- main(process.argv.slice(2)).catch((error) => {
148
- console.error(error);
149
- });
150
- */
151
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../../src/mina/encryption/client.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare const NATS_SERVER = "nats.socialcap.dev:4222";
@@ -1,2 +0,0 @@
1
- export const NATS_SERVER = "nats.socialcap.dev:4222";
2
- //# sourceMappingURL=connections.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../../../../../src/mina/encryption/connections.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,yBAAyB,CAAC"}
@@ -1,13 +0,0 @@
1
- import { Field, Group } from "o1js";
2
- export { CipherText };
3
- interface CipherTextObject {
4
- cipherText: Field[];
5
- publicKey: Group;
6
- }
7
- declare class CipherText {
8
- static stringify(cipherText: CipherTextObject): string;
9
- static parse(jsonStr: string): CipherTextObject;
10
- static encrypt(message: string, publicId: string): string;
11
- static decrypt(cipherText: string, privateKey: string): string;
12
- static initialize(): Promise<void>;
13
- }
@@ -1,39 +0,0 @@
1
- import { Field, PublicKey, PrivateKey, Encoding, Group, Encryption, initializeBindings, } from "o1js";
2
- export { CipherText };
3
- class CipherText {
4
- static stringify(cipherText) {
5
- return JSON.stringify(cipherText);
6
- }
7
- static parse(jsonStr) {
8
- let obj = JSON.parse(jsonStr);
9
- return {
10
- publicKey: new Group(obj.publicKey),
11
- cipherText: (obj.cipherText || []).map((t) => Field(t)),
12
- };
13
- }
14
- static encrypt(message, publicId) {
15
- try {
16
- let fields = Encoding.stringToFields(message);
17
- let encripted = Encryption.encrypt(fields, PublicKey.fromBase58(publicId));
18
- return CipherText.stringify(encripted);
19
- }
20
- catch (err) {
21
- throw Error(`Could not encrypt message='${message}' using key='${publicId}'.` +
22
- ` Error ${err}`);
23
- }
24
- }
25
- static decrypt(cipherText, privateKey) {
26
- try {
27
- let fields = Encryption.decrypt(CipherText.parse(cipherText), PrivateKey.fromBase58(privateKey));
28
- let decrypted = Encoding.stringFromFields(fields);
29
- return decrypted;
30
- }
31
- catch (err) {
32
- throw Error(`Could not decrypt cipher='${cipherText}'.` + ` Error ${err}`);
33
- }
34
- }
35
- static async initialize() {
36
- await initializeBindings();
37
- }
38
- }
39
- //# sourceMappingURL=encryption.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../../../../../src/mina/encryption/encryption.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,KAAK,EACL,UAAU,EACV,kBAAkB,GACnB,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,UAAU,EAAE,CAAC;AAOtB,MAAM,UAAU;IACd,MAAM,CAAC,SAAS,CAAC,UAA4B;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO;YACL,SAAS,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;YACnC,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,QAAgB;QAC9C,IAAI,CAAC;YACH,IAAI,MAAM,GAAY,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,SAAS,GAAG,UAAU,CAAC,OAAO,CAChC,MAAM,EACN,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC/B,CAAC;YACF,OAAO,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,CACT,8BAA8B,OAAO,gBAAgB,QAAQ,IAAI;gBAC/D,UAAU,GAAG,EAAE,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,UAAkB,EAAE,UAAkB;QACnD,IAAI,CAAC;YACH,IAAI,MAAM,GAAG,UAAU,CAAC,OAAO,CAC7B,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAC5B,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAClC,CAAC;YACF,IAAI,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAClD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,CACT,6BAA6B,UAAU,IAAI,GAAG,UAAU,GAAG,EAAE,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU;QACrB,MAAM,kBAAkB,EAAE,CAAC;IAC7B,CAAC;CACF"}
@@ -1,4 +0,0 @@
1
- export { NATS_SERVER } from "./connections";
2
- export { CipherText } from "./encryption";
3
- export { NATSClient, listen } from "./client";
4
- export { postReadyMessage, postDoneMessage, postOptionsMessage, } from "./messages";
@@ -1,5 +0,0 @@
1
- export { NATS_SERVER } from "./connections";
2
- export { CipherText } from "./encryption";
3
- export { NATSClient, listen } from "./client";
4
- export { postReadyMessage, postDoneMessage, postOptionsMessage, } from "./messages";
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/mina/encryption/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function postOptionsMessage(clientAddress: string, workerAddress: string): Promise<any>;
2
- export declare function postReadyMessage(clientAddress: string, workerAddress: string): Promise<any>;
3
- export declare function postDoneMessage(clientAddress: string, encrypted: string): Promise<any>;
@@ -1,46 +0,0 @@
1
- import { connect, JSONCodec } from "nats";
2
- import { NATS_SERVER } from "./connections";
3
- const codec = JSONCodec();
4
- export async function postOptionsMessage(clientAddress, workerAddress) {
5
- // connect to the NATS server and send a 'ready' request
6
- const nc = await connect({ servers: NATS_SERVER });
7
- const msg = await nc.request(`zkcw:${clientAddress}`, codec.encode({
8
- "post": "options",
9
- "params": { "key": workerAddress }
10
- }));
11
- const response = codec.decode(msg.data);
12
- console.log("Response: ", response);
13
- // disconect and clean all pendings
14
- await nc.drain();
15
- return response;
16
- }
17
- ;
18
- export async function postReadyMessage(clientAddress, workerAddress) {
19
- // connect to the NATS server and send a 'ready' request
20
- const nc = await connect({ servers: NATS_SERVER });
21
- const msg = await nc.request(`zkcw:${clientAddress}`, codec.encode({
22
- "post": "ready",
23
- "params": { "key": workerAddress }
24
- }));
25
- const response = codec.decode(msg.data);
26
- console.log("Response: ", response);
27
- // disconect and clean all pendings
28
- await nc.drain();
29
- return response;
30
- }
31
- ;
32
- export async function postDoneMessage(clientAddress, encrypted) {
33
- // connect to the NATS server and send a 'ready' request
34
- const nc = await connect({ servers: NATS_SERVER });
35
- const msg = await nc.request(`zkcw:${clientAddress}`, codec.encode({
36
- "post": "done",
37
- "params": { "result": encrypted }
38
- }));
39
- const response = codec.decode(msg.data);
40
- console.log("Response: ", response);
41
- // disconect and clean all pendings
42
- await nc.drain();
43
- return response;
44
- }
45
- ;
46
- //# sourceMappingURL=messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../../src/mina/encryption/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,aAAqB,EACrB,aAAqB;IAErB,wDAAwD;IACxD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACnD,MAAM,GAAG,GAAQ,MAAM,EAAE,CAAC,OAAO,CAC/B,QAAQ,aAAa,EAAE,EACvB,KAAK,CAAC,MAAM,CAAC;QACX,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;KACnC,CAAC,CACH,CAAA;IACD,MAAM,QAAQ,GAAQ,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEpC,mCAAmC;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAEjB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAAA,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,aAAqB,EACrB,aAAqB;IAErB,wDAAwD;IACxD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACnD,MAAM,GAAG,GAAQ,MAAM,EAAE,CAAC,OAAO,CAC/B,QAAQ,aAAa,EAAE,EACvB,KAAK,CAAC,MAAM,CAAC;QACX,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;KACnC,CAAC,CACH,CAAA;IACD,MAAM,QAAQ,GAAQ,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEpC,mCAAmC;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAEjB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAAA,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,aAAqB,EACrB,SAAiB;IAEjB,wDAAwD;IACxD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACnD,MAAM,GAAG,GAAQ,MAAM,EAAE,CAAC,OAAO,CAC/B,QAAQ,aAAa,EAAE,EACvB,KAAK,CAAC,MAAM,CAAC;QACX,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;KAClC,CAAC,CACH,CAAA;IACD,MAAM,QAAQ,GAAQ,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEpC,mCAAmC;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAEjB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAAA,CAAC"}