zkcloudworker 0.17.5 → 0.17.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. package/lib/ts/src/mina/index.d.ts +1 -0
  2. package/lib/ts/src/mina/index.js +1 -0
  3. package/lib/ts/src/mina/storage/ipfs.js +8 -0
  4. package/lib/ts/src/mina/storage/pinata.d.ts +2 -2
  5. package/lib/ts/src/mina/storage/pinata.js +5 -1
  6. package/lib/ts/src/mina/token/index.d.ts +1 -0
  7. package/lib/ts/src/mina/token/index.js +1 -0
  8. package/lib/ts/src/mina/token/whitelist.d.ts +305 -0
  9. package/lib/ts/src/mina/token/whitelist.js +139 -0
  10. package/lib/ts/src/mina/transactions/{accont.d.ts → account.d.ts} +1 -1
  11. package/lib/ts/src/mina/transactions/{accont.js → account.js} +2 -2
  12. package/lib/ts/src/mina/transactions/index.d.ts +1 -0
  13. package/lib/ts/src/mina/transactions/index.js +1 -0
  14. package/lib/ts/src/mina/transactions/send.d.ts +13 -1
  15. package/lib/ts/src/mina/transactions/send.js +13 -1
  16. package/lib/ts/src/mina/utils/indexed-map.d.ts +2 -0
  17. package/lib/ts/src/mina/utils/indexed-map.js +14 -4
  18. package/lib/ts/tsconfig.tsbuildinfo +1 -1
  19. package/lib/web/src/mina/index.d.ts +1 -0
  20. package/lib/web/src/mina/index.js +1 -0
  21. package/lib/web/src/mina/index.js.map +1 -1
  22. package/lib/web/src/mina/storage/ipfs.js +8 -0
  23. package/lib/web/src/mina/storage/ipfs.js.map +1 -1
  24. package/lib/web/src/mina/storage/pinata.d.ts +2 -2
  25. package/lib/web/src/mina/storage/pinata.js +5 -1
  26. package/lib/web/src/mina/storage/pinata.js.map +1 -1
  27. package/lib/web/src/mina/token/FungibleTokenAdmin.js.map +1 -1
  28. package/lib/web/src/mina/token/index.d.ts +1 -0
  29. package/lib/web/src/mina/token/index.js +1 -0
  30. package/lib/web/src/mina/token/index.js.map +1 -1
  31. package/lib/web/src/mina/token/whitelist.d.ts +305 -0
  32. package/lib/web/src/mina/token/whitelist.js +132 -0
  33. package/lib/web/src/mina/token/whitelist.js.map +1 -0
  34. package/lib/web/src/mina/transactions/{accont.d.ts → account.d.ts} +1 -1
  35. package/lib/web/src/mina/transactions/{accont.js → account.js} +2 -2
  36. package/lib/web/src/mina/transactions/account.js.map +1 -0
  37. package/lib/web/src/mina/transactions/index.d.ts +1 -0
  38. package/lib/web/src/mina/transactions/index.js +1 -0
  39. package/lib/web/src/mina/transactions/index.js.map +1 -1
  40. package/lib/web/src/mina/transactions/send.d.ts +13 -1
  41. package/lib/web/src/mina/transactions/send.js +13 -1
  42. package/lib/web/src/mina/transactions/send.js.map +1 -1
  43. package/lib/web/src/mina/utils/indexed-map.d.ts +2 -0
  44. package/lib/web/src/mina/utils/indexed-map.js +15 -5
  45. package/lib/web/src/mina/utils/indexed-map.js.map +1 -1
  46. package/lib/web/tsconfig.web.tsbuildinfo +1 -1
  47. package/package.json +1 -1
  48. package/lib/web/src/mina/transactions/accont.js.map +0 -1
@@ -0,0 +1,305 @@
1
+ import { Field, Option, PublicKey, UInt64, Bool } from "o1js";
2
+ import { Storage } from "../..";
3
+ declare const WhitelistMap_base: typeof import("o1js/dist/node/lib/provable/merkle-tree-indexed").IndexedMerkleMapBase;
4
+ /** Represents the whitelist using an Indexed Merkle Map. */
5
+ export declare class WhitelistMap extends WhitelistMap_base {
6
+ }
7
+ declare const WhitelistMapOption_base: import("o1js/dist/node/lib/provable/types/provable-intf").Provable<Option<import("o1js/dist/node/lib/provable/merkle-tree-indexed").IndexedMerkleMapBase, {
8
+ root: bigint;
9
+ length: bigint;
10
+ data: {
11
+ nodes: (bigint | undefined)[][];
12
+ sortedLeaves: {
13
+ readonly value: bigint;
14
+ readonly key: bigint;
15
+ readonly nextKey: bigint;
16
+ readonly index: number;
17
+ }[];
18
+ };
19
+ }>, {
20
+ root: bigint;
21
+ length: bigint;
22
+ data: {
23
+ nodes: (bigint | undefined)[][];
24
+ sortedLeaves: {
25
+ readonly value: bigint;
26
+ readonly key: bigint;
27
+ readonly nextKey: bigint;
28
+ readonly index: number;
29
+ }[];
30
+ };
31
+ } | undefined> & (new (option: {
32
+ isSome: Bool;
33
+ value: import("o1js/dist/node/lib/provable/merkle-tree-indexed").IndexedMerkleMapBase;
34
+ }) => Option<import("o1js/dist/node/lib/provable/merkle-tree-indexed").IndexedMerkleMapBase, {
35
+ root: bigint;
36
+ length: bigint;
37
+ data: {
38
+ nodes: (bigint | undefined)[][];
39
+ sortedLeaves: {
40
+ readonly value: bigint;
41
+ readonly key: bigint;
42
+ readonly nextKey: bigint;
43
+ readonly index: number;
44
+ }[];
45
+ };
46
+ }>) & {
47
+ fromValue(value: import("o1js/dist/node/lib/provable/merkle-tree-indexed").IndexedMerkleMapBase | {
48
+ root: bigint;
49
+ length: bigint;
50
+ data: {
51
+ nodes: (bigint | undefined)[][];
52
+ sortedLeaves: {
53
+ readonly value: bigint;
54
+ readonly key: bigint;
55
+ readonly nextKey: bigint;
56
+ readonly index: number;
57
+ }[];
58
+ };
59
+ } | {
60
+ isSome: boolean | Bool;
61
+ value: import("o1js/dist/node/lib/provable/merkle-tree-indexed").IndexedMerkleMapBase | {
62
+ root: bigint;
63
+ length: bigint;
64
+ data: {
65
+ nodes: (bigint | undefined)[][];
66
+ sortedLeaves: {
67
+ readonly value: bigint;
68
+ readonly key: bigint;
69
+ readonly nextKey: bigint;
70
+ readonly index: number;
71
+ }[];
72
+ };
73
+ };
74
+ } | undefined): Option<import("o1js/dist/node/lib/provable/merkle-tree-indexed").IndexedMerkleMapBase, {
75
+ root: bigint;
76
+ length: bigint;
77
+ data: {
78
+ nodes: (bigint | undefined)[][];
79
+ sortedLeaves: {
80
+ readonly value: bigint;
81
+ readonly key: bigint;
82
+ readonly nextKey: bigint;
83
+ readonly index: number;
84
+ }[];
85
+ };
86
+ }>;
87
+ from(value?: import("o1js/dist/node/lib/provable/merkle-tree-indexed").IndexedMerkleMapBase | {
88
+ root: bigint;
89
+ length: bigint;
90
+ data: {
91
+ nodes: (bigint | undefined)[][];
92
+ sortedLeaves: {
93
+ readonly value: bigint;
94
+ readonly key: bigint;
95
+ readonly nextKey: bigint;
96
+ readonly index: number;
97
+ }[];
98
+ };
99
+ } | undefined): Option<import("o1js/dist/node/lib/provable/merkle-tree-indexed").IndexedMerkleMapBase, {
100
+ root: bigint;
101
+ length: bigint;
102
+ data: {
103
+ nodes: (bigint | undefined)[][];
104
+ sortedLeaves: {
105
+ readonly value: bigint;
106
+ readonly key: bigint;
107
+ readonly nextKey: bigint;
108
+ readonly index: number;
109
+ }[];
110
+ };
111
+ }>;
112
+ none(): Option<import("o1js/dist/node/lib/provable/merkle-tree-indexed").IndexedMerkleMapBase, {
113
+ root: bigint;
114
+ length: bigint;
115
+ data: {
116
+ nodes: (bigint | undefined)[][];
117
+ sortedLeaves: {
118
+ readonly value: bigint;
119
+ readonly key: bigint;
120
+ readonly nextKey: bigint;
121
+ readonly index: number;
122
+ }[];
123
+ };
124
+ }>;
125
+ };
126
+ export declare class WhitelistMapOption extends WhitelistMapOption_base {
127
+ }
128
+ declare const UInt64Option_base: Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<Option<UInt64, bigint>, bigint | undefined>, "fromFields"> & {
129
+ fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => Option<UInt64, bigint>;
130
+ } & (new (option: {
131
+ isSome: Bool;
132
+ value: UInt64;
133
+ }) => Option<UInt64, bigint>) & {
134
+ fromValue(value: bigint | UInt64 | {
135
+ isSome: boolean | Bool;
136
+ value: bigint | UInt64;
137
+ } | undefined): Option<UInt64, bigint>;
138
+ from(value?: bigint | UInt64 | undefined): Option<UInt64, bigint>;
139
+ none(): Option<UInt64, bigint>;
140
+ };
141
+ export declare class UInt64Option extends UInt64Option_base {
142
+ }
143
+ declare const WhitelistedAddress_base: (new (value: {
144
+ address: PublicKey;
145
+ amount: UInt64;
146
+ }) => {
147
+ address: PublicKey;
148
+ amount: UInt64;
149
+ }) & {
150
+ _isStruct: true;
151
+ } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
152
+ address: PublicKey;
153
+ amount: UInt64;
154
+ }, {
155
+ address: {
156
+ x: bigint;
157
+ isOdd: boolean;
158
+ };
159
+ amount: bigint;
160
+ }>, "fromFields"> & {
161
+ fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
162
+ address: PublicKey;
163
+ amount: UInt64;
164
+ };
165
+ } & {
166
+ fromValue: (value: {
167
+ address: PublicKey | {
168
+ x: Field | bigint;
169
+ isOdd: Bool | boolean;
170
+ };
171
+ amount: bigint | UInt64;
172
+ }) => {
173
+ address: PublicKey;
174
+ amount: UInt64;
175
+ };
176
+ toInput: (x: {
177
+ address: PublicKey;
178
+ amount: UInt64;
179
+ }) => {
180
+ fields?: Field[] | undefined;
181
+ packed?: [Field, number][] | undefined;
182
+ };
183
+ toJSON: (x: {
184
+ address: PublicKey;
185
+ amount: UInt64;
186
+ }) => {
187
+ address: string;
188
+ amount: string;
189
+ };
190
+ fromJSON: (x: {
191
+ address: string;
192
+ amount: string;
193
+ }) => {
194
+ address: PublicKey;
195
+ amount: UInt64;
196
+ };
197
+ empty: () => {
198
+ address: PublicKey;
199
+ amount: UInt64;
200
+ };
201
+ };
202
+ export declare class WhitelistedAddress extends WhitelistedAddress_base {
203
+ }
204
+ declare const Whitelist_base: (new (value: {
205
+ root: import("o1js/dist/node/lib/provable/field").Field;
206
+ storage: Storage;
207
+ }) => {
208
+ root: import("o1js/dist/node/lib/provable/field").Field;
209
+ storage: Storage;
210
+ }) & {
211
+ _isStruct: true;
212
+ } & Omit<import("o1js/dist/node/lib/provable/types/provable-intf").Provable<{
213
+ root: import("o1js/dist/node/lib/provable/field").Field;
214
+ storage: Storage;
215
+ }, {
216
+ root: bigint;
217
+ storage: {
218
+ url: bigint[];
219
+ };
220
+ }>, "fromFields"> & {
221
+ fromFields: (fields: import("o1js/dist/node/lib/provable/field").Field[]) => {
222
+ root: import("o1js/dist/node/lib/provable/field").Field;
223
+ storage: Storage;
224
+ };
225
+ } & {
226
+ fromValue: (value: {
227
+ root: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field;
228
+ storage: Storage | {
229
+ url: import("o1js/dist/node/lib/provable/field").Field[] | bigint[];
230
+ };
231
+ }) => {
232
+ root: import("o1js/dist/node/lib/provable/field").Field;
233
+ storage: Storage;
234
+ };
235
+ toInput: (x: {
236
+ root: import("o1js/dist/node/lib/provable/field").Field;
237
+ storage: Storage;
238
+ }) => {
239
+ fields?: Field[] | undefined;
240
+ packed?: [Field, number][] | undefined;
241
+ };
242
+ toJSON: (x: {
243
+ root: import("o1js/dist/node/lib/provable/field").Field;
244
+ storage: Storage;
245
+ }) => {
246
+ root: string;
247
+ storage: {
248
+ url: string[];
249
+ };
250
+ };
251
+ fromJSON: (x: {
252
+ root: string;
253
+ storage: {
254
+ url: string[];
255
+ };
256
+ }) => {
257
+ root: import("o1js/dist/node/lib/provable/field").Field;
258
+ storage: Storage;
259
+ };
260
+ empty: () => {
261
+ root: import("o1js/dist/node/lib/provable/field").Field;
262
+ storage: Storage;
263
+ };
264
+ };
265
+ export declare class Whitelist extends Whitelist_base {
266
+ isNone(): Bool;
267
+ isSome(): Bool;
268
+ load(): Promise<WhitelistMapOption>;
269
+ /**
270
+ * The function fetches a whitelisted amount associated with a given address using a map and returns it
271
+ * as a UInt64Option.
272
+ * @param {PublicKey} address - The `address` parameter is of type `PublicKey`, which represents a
273
+ * public key used in cryptography for various purposes such as encryption, digital signatures, and
274
+ * authentication. In the context of the `fetchWhitelistedAmount` function, the `address` parameter is
275
+ * used to retrieve a whitelisted amount
276
+ * @returns The `fetchWhitelistedAmount` function returns a `Promise` that resolves to a `UInt64Option`
277
+ * object. This object contains a `value` property representing the amount retrieved from a map based
278
+ * on the provided address. The `isSome` property indicates whether the value is present or not.
279
+ * The value is not present if the whitelist is NOT empty and the address is NOT whitelisted.
280
+ * The value is present if the whitelist is NOT empty or the address IS whitelisted.
281
+ * The value is present and equals to UInt64.MAXINT() if the whitelist IS empty.
282
+ */
283
+ getWhitelistedAmount(address: PublicKey): Promise<UInt64Option>;
284
+ static empty(): Whitelist;
285
+ /**
286
+ * Creates a new whitelist and pins it to IPFS.
287
+ * @param params - The parameters for creating the whitelist.
288
+ * @returns A new `Whitelist` instance.
289
+ */
290
+ static create(params: {
291
+ list: WhitelistedAddress[] | {
292
+ address: string;
293
+ amount?: number;
294
+ }[];
295
+ name?: string;
296
+ keyvalues?: {
297
+ key: string;
298
+ value: string;
299
+ }[];
300
+ timeout?: number;
301
+ attempts?: number;
302
+ auth?: string;
303
+ }): Promise<Whitelist>;
304
+ }
305
+ export {};
@@ -0,0 +1,132 @@
1
+ import { Experimental, Struct, Field, Option, Provable, PublicKey, UInt64, Poseidon, } from "o1js";
2
+ import { serializeIndexedMap, createIpfsURL, pinJSON, Storage, sleep, loadIndexedMerkleMap, } from "../..";
3
+ const { IndexedMerkleMap } = Experimental;
4
+ const WHITELIST_HEIGHT = 20;
5
+ /** Represents the whitelist using an Indexed Merkle Map. */
6
+ export class WhitelistMap extends IndexedMerkleMap(WHITELIST_HEIGHT) {
7
+ }
8
+ export class WhitelistMapOption extends Option(WhitelistMap) {
9
+ }
10
+ export class UInt64Option extends Option(UInt64) {
11
+ }
12
+ export class WhitelistedAddress extends Struct({
13
+ address: PublicKey,
14
+ amount: UInt64, // Maximum permitted amount of the transaction
15
+ }) {
16
+ }
17
+ export class Whitelist extends Struct({
18
+ /** The root hash of the Merkle tree representing the whitelist. */
19
+ root: Field,
20
+ /** Off-chain storage information, typically an IPFS hash pointing to the whitelist data. */
21
+ storage: Storage,
22
+ }) {
23
+ isNone() {
24
+ return this.root
25
+ .equals(Field(0))
26
+ .or(Storage.equals(this.storage, Storage.empty()));
27
+ }
28
+ isSome() {
29
+ return this.isNone().not();
30
+ }
31
+ async load() {
32
+ const isNone = this.isNone();
33
+ const map = await Provable.witnessAsync(WhitelistMapOption, async () => {
34
+ if (isNone.toBoolean())
35
+ return WhitelistMapOption.none();
36
+ else
37
+ return WhitelistMapOption.fromValue(await loadIndexedMerkleMap({
38
+ url: createIpfsURL({ hash: this.storage.toString() }),
39
+ type: WhitelistMap,
40
+ }));
41
+ });
42
+ isNone.assertEquals(map.isSome.not());
43
+ const root = Provable.if(map.isSome, map.orElse(new WhitelistMap()).root, Field(0));
44
+ root.equals(this.root);
45
+ return map;
46
+ }
47
+ /**
48
+ * The function fetches a whitelisted amount associated with a given address using a map and returns it
49
+ * as a UInt64Option.
50
+ * @param {PublicKey} address - The `address` parameter is of type `PublicKey`, which represents a
51
+ * public key used in cryptography for various purposes such as encryption, digital signatures, and
52
+ * authentication. In the context of the `fetchWhitelistedAmount` function, the `address` parameter is
53
+ * used to retrieve a whitelisted amount
54
+ * @returns The `fetchWhitelistedAmount` function returns a `Promise` that resolves to a `UInt64Option`
55
+ * object. This object contains a `value` property representing the amount retrieved from a map based
56
+ * on the provided address. The `isSome` property indicates whether the value is present or not.
57
+ * The value is not present if the whitelist is NOT empty and the address is NOT whitelisted.
58
+ * The value is present if the whitelist is NOT empty or the address IS whitelisted.
59
+ * The value is present and equals to UInt64.MAXINT() if the whitelist IS empty.
60
+ */
61
+ async getWhitelistedAmount(address) {
62
+ const map = await this.load();
63
+ const key = Poseidon.hashPacked(PublicKey, address);
64
+ const value = map.orElse(new WhitelistMap()).getOption(key);
65
+ const valueField = value.orElse(UInt64.MAXINT().value);
66
+ valueField.assertLessThanOrEqual(UInt64.MAXINT().value);
67
+ const amount = UInt64.Unsafe.fromField(valueField);
68
+ return new UInt64Option({
69
+ value: amount,
70
+ isSome: value.isSome.or(this.isNone()),
71
+ });
72
+ }
73
+ static empty() {
74
+ return new Whitelist({
75
+ root: Field(0),
76
+ storage: Storage.empty(),
77
+ });
78
+ }
79
+ /**
80
+ * Creates a new whitelist and pins it to IPFS.
81
+ * @param params - The parameters for creating the whitelist.
82
+ * @returns A new `Whitelist` instance.
83
+ */
84
+ static async create(params) {
85
+ const { name = "whitelist.json", keyvalues = [{ key: "library", value: "zkcloudworker" }], timeout = 60 * 1000, attempts = 5, auth, } = params;
86
+ const list = typeof params.list[0].address === "string"
87
+ ? params.list.map((item) => new WhitelistedAddress({
88
+ address: PublicKey.fromBase58(item.address),
89
+ amount: item.amount
90
+ ? UInt64.from(item.amount)
91
+ : UInt64.MAXINT(),
92
+ }))
93
+ : params.list;
94
+ const map = new WhitelistMap();
95
+ for (const item of list) {
96
+ map.insert(Poseidon.hashPacked(PublicKey, item.address), item.amount.toBigInt());
97
+ }
98
+ const serializedMap = serializeIndexedMap(map);
99
+ const json = {
100
+ map: serializedMap,
101
+ whitelist: list.map((item) => ({
102
+ address: item.address.toBase58(),
103
+ amount: Number(item.amount.toBigInt()),
104
+ })),
105
+ };
106
+ let attempt = 0;
107
+ const start = Date.now();
108
+ let hash = await pinJSON({
109
+ data: json,
110
+ name,
111
+ keyvalues,
112
+ auth,
113
+ });
114
+ while (!hash && attempt < attempts && Date.now() - start < timeout) {
115
+ attempt++;
116
+ await sleep(5000 * attempt); // handle rate-limits
117
+ hash = await pinJSON({
118
+ data: json,
119
+ name,
120
+ keyvalues,
121
+ auth,
122
+ });
123
+ }
124
+ if (!hash)
125
+ throw new Error("Failed to pin whitelist");
126
+ return new Whitelist({
127
+ root: map.root,
128
+ storage: Storage.fromString(hash),
129
+ });
130
+ }
131
+ }
132
+ //# sourceMappingURL=whitelist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whitelist.js","sourceRoot":"","sources":["../../../../../../src/mina/token/whitelist.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { PublicKey, Field } from "o1js";
2
2
  export declare function accountExists(address: string | PublicKey, tokenId?: Field): Promise<boolean>;
3
- export declare function accountBalance(address: string | PublicKey, tokenId?: Field): Promise<number | undefined>;
3
+ export declare function tokenBalance(address: string | PublicKey, tokenId?: Field): Promise<number | undefined>;
4
4
  export declare function checkAddress(address: string | undefined): Promise<boolean>;
@@ -10,7 +10,7 @@ export async function accountExists(address, tokenId) {
10
10
  return false;
11
11
  }
12
12
  }
13
- export async function accountBalance(address, tokenId) {
13
+ export async function tokenBalance(address, tokenId) {
14
14
  try {
15
15
  const publicKey = typeof address === "string" ? PublicKey.fromBase58(address) : address;
16
16
  await fetchMinaAccount({ publicKey, tokenId, force: false });
@@ -41,4 +41,4 @@ export async function checkAddress(address) {
41
41
  return false;
42
42
  }
43
43
  }
44
- //# sourceMappingURL=accont.js.map
44
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAS,MAAM,MAAM,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA2B,EAC3B,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,SAAS,GACb,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACxE,MAAM,gBAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA2B,EAC3B,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,SAAS,GACb,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACxE,MAAM,gBAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC;YACxC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAChE,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA2B;IAE3B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CACT,oCAAoC,EACpC,OAAO,EACP,SAAS,CAAC,QAAQ,EAAE,CACrB,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -5,3 +5,4 @@ export * from "./chain";
5
5
  export * from "./blockberry";
6
6
  export * from "./tiny-contract";
7
7
  export * from "./send";
8
+ export * from "./account";
@@ -5,4 +5,5 @@ export * from "./chain";
5
5
  export * from "./blockberry";
6
6
  export * from "./tiny-contract";
7
7
  export * from "./send";
8
+ export * from "./account";
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
@@ -1,12 +1,24 @@
1
1
  import { Mina } from "o1js";
2
2
  import { blockchain } from "../../cloud";
3
+ /**
4
+ * The function `sendTx` sends a transaction, checks account updates, and waits for
5
+ * confirmation on the blockchain.
6
+ * @param params The parameters object
7
+ * @param params.tx The transaction to send
8
+ * @param params.description A description of the transaction
9
+ * @param params.verbose Whether to log verbose information
10
+ * @param params.wait Whether to wait for the transaction to be included in a block
11
+ * @param params.chain The blockchain to send the transaction on
12
+ * @returns The `sendTx` function returns a `Mina.IncludedTransaction`, `Mina.PendingTransaction`,
13
+ * `Mina.RejectedTransaction`, or `undefined` if there was an error during the process.
14
+ */
3
15
  export declare function sendTx(params: {
4
16
  tx: Mina.Transaction<false, true> | Mina.Transaction<true, true>;
5
17
  description?: string;
6
18
  verbose?: boolean;
7
19
  wait?: boolean;
8
20
  chain?: blockchain;
9
- }): Promise<Mina.PendingTransaction | Mina.RejectedTransaction | Mina.IncludedTransaction | undefined>;
21
+ }): Promise<Mina.IncludedTransaction | Mina.PendingTransaction | Mina.RejectedTransaction | undefined>;
10
22
  export declare function getTxStatusFast(params: {
11
23
  hash: string;
12
24
  chain?: blockchain;
@@ -1,6 +1,18 @@
1
1
  import { checkZkappTransaction } from "o1js";
2
2
  import { sleep } from "../../cloud";
3
3
  import { fetchMinaAccount, getCurrentNetwork } from "..";
4
+ /**
5
+ * The function `sendTx` sends a transaction, checks account updates, and waits for
6
+ * confirmation on the blockchain.
7
+ * @param params The parameters object
8
+ * @param params.tx The transaction to send
9
+ * @param params.description A description of the transaction
10
+ * @param params.verbose Whether to log verbose information
11
+ * @param params.wait Whether to wait for the transaction to be included in a block
12
+ * @param params.chain The blockchain to send the transaction on
13
+ * @returns The `sendTx` function returns a `Mina.IncludedTransaction`, `Mina.PendingTransaction`,
14
+ * `Mina.RejectedTransaction`, or `undefined` if there was an error during the process.
15
+ */
4
16
  export async function sendTx(params) {
5
17
  const { tx, description = "", verbose = true, wait = true, chain = getCurrentNetwork().network.chainId, } = params;
6
18
  // flatten accountUpdates
@@ -49,7 +61,7 @@ export async function sendTx(params) {
49
61
  }
50
62
  else {
51
63
  console.error(`${description} tx NOT sent: hash: ${txSent?.hash} status: ${txSent?.status}`, txSent.errors);
52
- return undefined;
64
+ return txSent;
53
65
  }
54
66
  }
55
67
  if (txSent === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/send.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/send.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ export interface IndexedMapSerialized {
11
11
  export declare function loadIndexedMerkleMap(params: {
12
12
  url: string;
13
13
  type: ReturnType<typeof IndexedMerkleMap>;
14
+ timeout?: number;
15
+ attempts?: number;
14
16
  }): Promise<import("o1js/dist/node/lib/provable/merkle-tree-indexed").IndexedMerkleMapBase>;
15
17
  export declare function saveIndexedMerkleMap(params: {
16
18
  map: IndexedMerkleMap;
@@ -1,14 +1,24 @@
1
1
  import { Experimental, Field } from "o1js";
2
- import { bigintToBase64, bigintFromBase64 } from "../../cloud";
2
+ import { bigintToBase64, bigintFromBase64, sleep } from "../../cloud";
3
3
  import { pinJSON } from "../storage/pinata";
4
4
  const { IndexedMerkleMap } = Experimental;
5
5
  export async function loadIndexedMerkleMap(params) {
6
- const { url, type } = params;
7
- const response = await fetch(url);
6
+ const { url, type, timeout = 60000, attempts = 5 } = params;
7
+ let attempt = 0;
8
+ const start = Date.now();
9
+ let response = await fetch(url);
10
+ while (!response.ok && attempt < attempts && Date.now() - start < timeout) {
11
+ attempt++;
12
+ await sleep(5000 * attempt); // handle rate limiting
13
+ response = await fetch(url);
14
+ }
8
15
  if (!response.ok) {
9
16
  throw new Error("Failed to fetch IndexedMerkleMap");
10
17
  }
11
- const serializedIndexedMap = (await response.json());
18
+ const json = await response.json();
19
+ const serializedIndexedMap = json.map;
20
+ if (!serializedIndexedMap)
21
+ throw new Error("wrong IndexedMerkleMap json format");
12
22
  const map = deserializeIndexedMerkleMapInternal({
13
23
  serializedIndexedMap,
14
24
  type,
@@ -22,7 +32,7 @@ export async function saveIndexedMerkleMap(params) {
22
32
  const { map, name = "indexed-map", keyvalues, auth } = params;
23
33
  const serialized = serializeIndexedMap(map);
24
34
  const ipfsHash = await pinJSON({
25
- data: serialized,
35
+ data: { map: serialized },
26
36
  name,
27
37
  keyvalues,
28
38
  auth,
@@ -1 +1 @@
1
- {"version":3,"file":"indexed-map.js","sourceRoot":"","sources":["../../../../../../src/mina/utils/indexed-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexed-map.js","sourceRoot":"","sources":["../../../../../../src/mina/utils/indexed-map.ts"],"names":[],"mappings":"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"}