@aztec/foundation 0.35.1 → 0.36.0
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/dest/abi/abi.d.ts +44 -0
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +6 -3
- package/dest/abi/decoder.d.ts +2 -3
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +1 -1
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +1 -1
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +1 -1
- package/dest/{errors → error}/index.d.ts +5 -0
- package/dest/error/index.d.ts.map +1 -0
- package/dest/{errors → error}/index.js +6 -1
- package/dest/fifo/memory_fifo.d.ts +8 -4
- package/dest/fifo/memory_fifo.d.ts.map +1 -1
- package/dest/fifo/memory_fifo.js +18 -8
- package/dest/index.d.ts +1 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +2 -2
- package/dest/noir/noir_package_config.d.ts +2 -2
- package/dest/promise/index.d.ts +3 -0
- package/dest/promise/index.d.ts.map +1 -0
- package/dest/promise/index.js +3 -0
- package/dest/promise/running-promise.d.ts +28 -0
- package/dest/promise/running-promise.d.ts.map +1 -0
- package/dest/promise/running-promise.js +45 -0
- package/dest/promise/utils.d.ts +12 -0
- package/dest/promise/utils.d.ts.map +1 -0
- package/dest/promise/utils.js +22 -0
- package/dest/running-promise/index.d.ts +1 -34
- package/dest/running-promise/index.d.ts.map +1 -1
- package/dest/running-promise/index.js +2 -59
- package/dest/sleep/index.js +2 -2
- package/dest/testing/test_data.js +2 -2
- package/dest/timer/timeout.d.ts.map +1 -1
- package/package.json +12 -3
- package/src/abi/abi.ts +52 -2
- package/src/abi/decoder.ts +3 -4
- package/src/abi/function_selector.ts +4 -4
- package/src/aztec-address/index.ts +6 -6
- package/src/{errors → error}/index.ts +5 -0
- package/src/fifo/memory_fifo.ts +18 -7
- package/src/index.ts +1 -1
- package/src/promise/index.ts +2 -0
- package/src/promise/running-promise.ts +47 -0
- package/src/promise/utils.ts +29 -0
- package/src/running-promise/index.ts +1 -60
- package/src/sleep/index.ts +1 -1
- package/src/testing/test_data.ts +1 -1
- package/dest/errors/index.d.ts.map +0 -1
package/dest/abi/abi.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { type Fr } from '../fields/fields.js';
|
|
2
3
|
import { type FunctionSelector } from './function_selector.js';
|
|
3
4
|
/**
|
|
4
5
|
* A basic value.
|
|
@@ -213,6 +214,15 @@ export interface DebugInfo {
|
|
|
213
214
|
*/
|
|
214
215
|
locations: Record<OpcodeLocation, SourceCodeLocation[]>;
|
|
215
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* The debug information for a given program (a collection of functions)
|
|
219
|
+
*/
|
|
220
|
+
export interface ProgramDebugInfo {
|
|
221
|
+
/**
|
|
222
|
+
* A list of debug information that matches with each function in a program
|
|
223
|
+
*/
|
|
224
|
+
debug_infos: Array<DebugInfo>;
|
|
225
|
+
}
|
|
216
226
|
/**
|
|
217
227
|
* Maps a file ID to its metadata for debugging purposes.
|
|
218
228
|
*/
|
|
@@ -226,6 +236,32 @@ export type DebugFileMap = Record<FileId, {
|
|
|
226
236
|
*/
|
|
227
237
|
path: string;
|
|
228
238
|
}>;
|
|
239
|
+
/**
|
|
240
|
+
* Type representing a note in use in the contract.
|
|
241
|
+
*/
|
|
242
|
+
export type ContractNote = {
|
|
243
|
+
/**
|
|
244
|
+
* Note identifier
|
|
245
|
+
*/
|
|
246
|
+
id: Fr;
|
|
247
|
+
/**
|
|
248
|
+
* Type of the note (e.g., 'TransparentNote')
|
|
249
|
+
*/
|
|
250
|
+
typ: string;
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Type representing a field layout in the storage of a contract.
|
|
254
|
+
*/
|
|
255
|
+
export type FieldLayout = {
|
|
256
|
+
/**
|
|
257
|
+
* Slot in which the field is stored.
|
|
258
|
+
*/
|
|
259
|
+
slot: Fr;
|
|
260
|
+
/**
|
|
261
|
+
* Type being stored at the slot (e.g., 'Map<AztecAddress, PublicMutable<U128>>')
|
|
262
|
+
*/
|
|
263
|
+
typ: string;
|
|
264
|
+
};
|
|
229
265
|
/**
|
|
230
266
|
* Defines artifact of a contract.
|
|
231
267
|
*/
|
|
@@ -249,6 +285,14 @@ export interface ContractArtifact {
|
|
|
249
285
|
structs: Record<string, AbiType[]>;
|
|
250
286
|
globals: Record<string, AbiValue[]>;
|
|
251
287
|
};
|
|
288
|
+
/**
|
|
289
|
+
* Storage layout
|
|
290
|
+
*/
|
|
291
|
+
storageLayout: Record<string, FieldLayout>;
|
|
292
|
+
/**
|
|
293
|
+
* The notes used in the contract.
|
|
294
|
+
*/
|
|
295
|
+
notes: Record<string, ContractNote>;
|
|
252
296
|
/**
|
|
253
297
|
* The map of file ID to the source code and path of the file.
|
|
254
298
|
*/
|
package/dest/abi/abi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/abi/abi.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/abi/abi.ts"],"names":[],"mappings":"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"}
|
package/dest/abi/abi.js
CHANGED
|
@@ -48,8 +48,11 @@ export function getFunctionArtifactWithDebugMetadata(artifact, functionNameOrSel
|
|
|
48
48
|
*/
|
|
49
49
|
export function getFunctionDebugMetadata(contractArtifact, functionArtifact) {
|
|
50
50
|
if (functionArtifact.debugSymbols && contractArtifact.fileMap) {
|
|
51
|
-
const
|
|
52
|
-
|
|
51
|
+
const programDebugSymbols = JSON.parse(inflate(Buffer.from(functionArtifact.debugSymbols, 'base64'), { to: 'string', raw: true }));
|
|
52
|
+
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/5813)
|
|
53
|
+
// We only support handling debug info for the contract function entry point.
|
|
54
|
+
// So for now we simply index into the first debug info.
|
|
55
|
+
return { debugSymbols: programDebugSymbols.debug_infos[0], files: contractArtifact.fileMap };
|
|
53
56
|
}
|
|
54
57
|
return undefined;
|
|
55
58
|
}
|
|
@@ -96,4 +99,4 @@ export function getInitializer(contract, initializerNameOrArtifact) {
|
|
|
96
99
|
return initializerNameOrArtifact;
|
|
97
100
|
}
|
|
98
101
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9hYmkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQXlEL0I7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxzQkFHWDtBQUhELFdBQVksc0JBQXNCO0lBQ2hDLDJDQUFpQixDQUFBO0lBQ2pCLDJDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxzQkFBc0IsS0FBdEIsc0JBQXNCLFFBR2pDO0FBK0VEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksWUFJWDtBQUpELFdBQVksWUFBWTtJQUN0QixpQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBYSxDQUFBO0lBQ2IsK0NBQStCLENBQUE7QUFDakMsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCO0FBaU5EOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxRQUEwQixFQUMxQixzQkFBaUQ7SUFFakQsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNuRCxPQUFPLHNCQUFzQixLQUFLLFFBQVE7UUFDeEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssc0JBQXNCO1FBQ25DLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ3hELENBQUM7SUFDRixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixzQkFBc0IsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUNELE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQztBQUVELGtEQUFrRDtBQUNsRCxNQUFNLFVBQVUsK0JBQStCLENBQUMsUUFBMEIsRUFBRSxRQUEwQjtJQUNwRyxP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
|
package/dest/abi/decoder.d.ts
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
2
2
|
import { type Fr } from '../fields/index.js';
|
|
3
|
-
import { type ABIParameter, type
|
|
3
|
+
import { type ABIParameter, type FunctionAbi } from './abi.js';
|
|
4
4
|
/**
|
|
5
5
|
* The type of our decoded ABI.
|
|
6
6
|
*/
|
|
7
7
|
export type DecodedReturn = bigint | boolean | AztecAddress | DecodedReturn[] | {
|
|
8
8
|
[key: string]: DecodedReturn;
|
|
9
9
|
};
|
|
10
|
-
export type ProcessReturnValues = (DecodedReturn | undefined)[] | undefined;
|
|
11
10
|
/**
|
|
12
11
|
* Decodes return values from a function call.
|
|
13
12
|
* @param abi - The ABI entry of the function.
|
|
14
13
|
* @param returnValues - The decoded return values.
|
|
15
14
|
* @returns
|
|
16
15
|
*/
|
|
17
|
-
export declare function decodeReturnValues(abi:
|
|
16
|
+
export declare function decodeReturnValues(abi: FunctionAbi, returnValues: Fr[]): DecodedReturn;
|
|
18
17
|
/**
|
|
19
18
|
* Decodes the signature of a function from the name and parameters.
|
|
20
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/abi/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,YAAY,EAAkC,KAAK,
|
|
1
|
+
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/abi/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,YAAY,EAAkC,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAG/F;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC;AAoFjH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,iBAEtE;AAED;;GAEG;AACH,qBAAa,wBAAwB;IAEvB,OAAO,CAAC,IAAI;IAAU,OAAO,CAAC,UAAU;IAAkB,OAAO,CAAC,YAAY;IAD1F,OAAO,CAAC,SAAS,CAAS;gBACN,IAAI,EAAE,MAAM,EAAU,UAAU,EAAE,YAAY,EAAE,EAAU,YAAY,UAAQ;IAIlG;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAKvB;;;OAGG;IACI,MAAM,IAAI,MAAM;CAGxB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAE/E;AAED;;;;;GAKG;AACH,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAEjG"}
|
package/dest/abi/decoder.js
CHANGED
|
@@ -160,4 +160,4 @@ export function decodeFunctionSignature(name, parameters) {
|
|
|
160
160
|
export function decodeFunctionSignatureWithParameterNames(name, parameters) {
|
|
161
161
|
return new FunctionSignatureDecoder(name, parameters, true).decode();
|
|
162
162
|
}
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvZGVjb2Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBT2xEOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CO0lBQ3ZCLFlBQW9CLFFBQXFCLEVBQVUsU0FBZTtRQUE5QyxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBTTtJQUFHLENBQUM7SUFFdEU7Ozs7T0FJRztJQUNLLFlBQVksQ0FBQyxPQUFnQjtRQUNuQyxRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEMsS0FBSyxTQUFTO2dCQUNaLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2dCQUN0RCxDQUFDO2dCQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLEtBQUssU0FBUztnQkFDWixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZDLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDYixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDM0MsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUM5QyxDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDZCxNQUFNLE1BQU0sR0FBcUMsRUFBRSxDQUFDO2dCQUNwRCxJQUFJLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ2xDLE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQzFELENBQUM7Z0JBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ25DLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3JELENBQUM7Z0JBQ0QsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQztZQUNELEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDZCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDM0MsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDN0MsQ0FBQztnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRDtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssWUFBWTtRQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNO1FBQ1gsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0Y7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFnQixFQUFFLFlBQWtCO0lBQ3JFLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDckUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxZQUFvQixJQUFZLEVBQVUsVUFBMEIsRUFBVSxlQUFlLEtBQUs7UUFBOUUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDaEcsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZ0JBQWdCLENBQUMsS0FBYztRQUNyQyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxPQUFPLENBQUM7WUFDakIsS0FBSyxTQUFTO2dCQUNaLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2dCQUN0RCxDQUFDO2dCQUNELE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsS0FBSyxTQUFTO2dCQUNaLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUssT0FBTztnQkFDVixPQUFPLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDbEUsS0FBSyxRQUFRO2dCQUNYLE9BQU8sT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDaEMsS0FBSyxRQUFRO2dCQUNYLE9BQU8sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ2pHO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZUFBZSxDQUFDLEtBQWtCO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTTtRQUNYLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUMzRyxDQUFDO0NBQ0Y7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxJQUFZLEVBQUUsVUFBMEI7SUFDOUUsT0FBTyxJQUFJLHdCQUF3QixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUNqRSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUseUNBQXlDLENBQUMsSUFBWSxFQUFFLFVBQTBCO0lBQ2hHLE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3ZFLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function_selector.d.ts","sourceRoot":"","sources":["../../src/abi/function_selector.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,aAAa;IACb,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,oFAAoF;AACpF,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C;;;OAGG;
|
|
1
|
+
{"version":3,"file":"function_selector.d.ts","sourceRoot":"","sources":["../../src/abi/function_selector.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,aAAa;IACb,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,oFAAoF;AACpF,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C;;;OAGG;IACM,MAAM,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,OAAO;IACjE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO;IAC/D,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAcjD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAM/C;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IAIvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAK5C;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM;IAQtC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM;IAQlC;;;OAGG;IACH,MAAM,CAAC,KAAK;IAIZ;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,gBAAgB;IAClG,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,gBAAgB;IAcxF;;OAEG;IACH,MAAM,CAAC,MAAM;CAGd"}
|
|
@@ -88,4 +88,4 @@ export class FunctionSelector extends Selector {
|
|
|
88
88
|
return FunctionSelector.fromBuffer(randomBytes(Selector.SIZE));
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25fc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2Z1bmN0aW9uX3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVXpDLG9GQUFvRjtBQUNwRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsUUFBUTtJQVFuQyxNQUFNLENBQ2IsS0FBK0UsRUFDL0UsV0FBNEI7UUFFNUIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLFdBQVksQ0FBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN4RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMzRixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1B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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aztec-address/index.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAc,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,KAAK,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGvE;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,EAAE;gBACtB,MAAM,EAAE,MAAM;IAO1B,CAAC,OAAO,CAAC,MAAM,CAAC;IAIhB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aztec-address/index.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAc,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,KAAK,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGvE;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,EAAE;gBACtB,MAAM,EAAE,MAAM;IAO1B,CAAC,OAAO,CAAC,MAAM,CAAC;IAIhB,OAAgB,IAAI,eAAsC;WAE1C,IAAI,IAAI,YAAY;WAIpB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAIxD,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE;IAIvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAK5C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM;WAIf,UAAU,CAAC,GAAG,EAAE,MAAM;WAKtB,MAAM;IAIb,MAAM;;;;CAMhB"}
|
|
@@ -52,4 +52,4 @@ export class AztecAddress extends Fr {
|
|
|
52
52
|
AztecAddress.ZERO = new AztecAddress(Buffer.alloc(32));
|
|
53
53
|
// For deserializing JSON.
|
|
54
54
|
TypeRegistry.register('AztecAddress', AztecAddress);
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtYWRkcmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFN0Q7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxFQUFFO0lBQ2xDLFlBQVksTUFBYztRQUN4QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ2QsT0FBTyxnQkFBZ0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7SUFDNUMsQ0FBQztJQUlELE1BQU0sQ0FBVSxJQUFJO1FBQ2xCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFVLFVBQVUsQ0FBQyxNQUE2QjtRQUN0RCxPQUFPLFVBQVUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBTTtRQUNyQixPQUFPLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQTBCO1FBQzFDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsT0FBTyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDN0IsT0FBTyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU0sQ0FBVSxVQUFVLENBQUMsR0FBVztRQUNwQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBVSxNQUFNO1FBQ3BCLE9BQU8sSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVRLE1BQU07UUFDYixPQUFPO1lBQ0wsSUFBSSxFQUFFLGNBQWM7WUFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7U0FDdkIsQ0FBQztJQUNKLENBQUM7O0FBckNlLGlCQUFJLEdBQUcsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBd0M1RCwwQkFBMEI7QUFDMUIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,KAAK;CAAG;AAE5C;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;CAAG"}
|
|
@@ -5,4 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export class InterruptError extends Error {
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* An error thrown when an action times out.
|
|
10
|
+
*/
|
|
11
|
+
export class TimeoutError extends Error {
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXJyb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsS0FBSztDQUFHO0FBRTVDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxLQUFLO0NBQUcifQ==
|
|
@@ -17,13 +17,17 @@ export declare class MemoryFifo<T> {
|
|
|
17
17
|
*/
|
|
18
18
|
length(): number;
|
|
19
19
|
/**
|
|
20
|
-
* Returns next item within the queue, or blocks until
|
|
21
|
-
*
|
|
20
|
+
* Returns next item within the queue, or blocks until an item has been put into the queue.
|
|
21
|
+
*
|
|
22
|
+
* If given a timeout, the promise will reject if no item is received after `timeoutSec` seconds.
|
|
23
|
+
* If the timeout is undefined (default), this call will block until an item is available or the queue is closed.
|
|
24
|
+
* If the timeout is 0 and there are no items available then the queue will immediately reject with a TimeoutError.
|
|
25
|
+
*
|
|
22
26
|
* If the queue is flushing, `null` is returned.
|
|
23
|
-
* @param
|
|
27
|
+
* @param timeoutSec - The timeout in seconds.
|
|
24
28
|
* @returns A result promise.
|
|
25
29
|
*/
|
|
26
|
-
get(
|
|
30
|
+
get(timeoutSec?: number): Promise<T | null>;
|
|
27
31
|
/**
|
|
28
32
|
* Put an item onto back of the queue.
|
|
29
33
|
* @param item - The item to enqueue.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory_fifo.d.ts","sourceRoot":"","sources":["../../src/fifo/memory_fifo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory_fifo.d.ts","sourceRoot":"","sources":["../../src/fifo/memory_fifo.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,qBAAa,UAAU,CAAC,CAAC;IAKX,OAAO,CAAC,GAAG;IAJvB,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,QAAQ,CAAS;gBAEL,GAAG,oCAAoD;IAE3E;;;;;OAKG;IACI,MAAM;IAIb;;;;;;;;;;OAUG;IACI,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IA+BlD;;;;OAIG;IACI,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO;IAa5B;;;;OAIG;IACI,GAAG;IAKV;;;;OAIG;IACI,MAAM;IAMb;;;;;;;;OAQG;IACU,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;CAazD"}
|
package/dest/fifo/memory_fifo.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TimeoutError } from '../error/index.js';
|
|
1
2
|
import { createDebugLogger } from '../log/index.js';
|
|
2
3
|
/**
|
|
3
4
|
* A simple fifo queue. It can grow unbounded. It can have multiple producers and consumers.
|
|
@@ -21,30 +22,39 @@ export class MemoryFifo {
|
|
|
21
22
|
return this.items.length;
|
|
22
23
|
}
|
|
23
24
|
/**
|
|
24
|
-
* Returns next item within the queue, or blocks until
|
|
25
|
-
*
|
|
25
|
+
* Returns next item within the queue, or blocks until an item has been put into the queue.
|
|
26
|
+
*
|
|
27
|
+
* If given a timeout, the promise will reject if no item is received after `timeoutSec` seconds.
|
|
28
|
+
* If the timeout is undefined (default), this call will block until an item is available or the queue is closed.
|
|
29
|
+
* If the timeout is 0 and there are no items available then the queue will immediately reject with a TimeoutError.
|
|
30
|
+
*
|
|
26
31
|
* If the queue is flushing, `null` is returned.
|
|
27
|
-
* @param
|
|
32
|
+
* @param timeoutSec - The timeout in seconds.
|
|
28
33
|
* @returns A result promise.
|
|
29
34
|
*/
|
|
30
|
-
get(
|
|
35
|
+
get(timeoutSec) {
|
|
31
36
|
if (this.items.length) {
|
|
32
37
|
return Promise.resolve(this.items.shift());
|
|
33
38
|
}
|
|
34
39
|
if (this.items.length === 0 && this.flushing) {
|
|
35
40
|
return Promise.resolve(null);
|
|
36
41
|
}
|
|
42
|
+
// if the caller doesn't want to wait for an item to be available
|
|
43
|
+
// immediately reject with a Timeout error
|
|
44
|
+
if (timeoutSec === 0) {
|
|
45
|
+
return Promise.reject(new TimeoutError('Timeout getting item from queue.'));
|
|
46
|
+
}
|
|
37
47
|
return new Promise((resolve, reject) => {
|
|
38
48
|
this.waiting.push(resolve);
|
|
39
|
-
if (
|
|
49
|
+
if (timeoutSec) {
|
|
40
50
|
setTimeout(() => {
|
|
41
51
|
const index = this.waiting.findIndex(r => r === resolve);
|
|
42
52
|
if (index > -1) {
|
|
43
53
|
this.waiting.splice(index, 1);
|
|
44
|
-
const err = new
|
|
54
|
+
const err = new TimeoutError('Timeout getting item from queue.');
|
|
45
55
|
reject(err);
|
|
46
56
|
}
|
|
47
|
-
},
|
|
57
|
+
}, timeoutSec * 1000);
|
|
48
58
|
}
|
|
49
59
|
});
|
|
50
60
|
}
|
|
@@ -110,4 +120,4 @@ export class MemoryFifo {
|
|
|
110
120
|
}
|
|
111
121
|
}
|
|
112
122
|
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2ZpZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlmby9tZW1vcnlfZmlmby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBS3JCLFlBQW9CLE1BQU0saUJBQWlCLENBQUMsOEJBQThCLENBQUM7UUFBdkQsUUFBRyxHQUFILEdBQUcsQ0FBb0Q7UUFKbkUsWUFBTyxHQUFpQyxFQUFFLENBQUM7UUFDM0MsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBRXFELENBQUM7SUFFL0U7Ozs7O09BS0c7SUFDSSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLEdBQUcsQ0FBQyxVQUFtQjtRQUM1QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFHLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBRUQsaUVBQWlFO1FBQ2pFLDBDQUEwQztRQUMxQyxJQUFJLFVBQVUsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxZQUFZLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxD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
|
package/dest/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export * as bigintBuffer from './bigint-buffer/index.js';
|
|
|
5
5
|
export * as collection from './collection/index.js';
|
|
6
6
|
export * as committable from './committable/index.js';
|
|
7
7
|
export * as crypto from './crypto/index.js';
|
|
8
|
-
export * as errors from './
|
|
8
|
+
export * as errors from './error/index.js';
|
|
9
9
|
export * as ethAddress from './eth-address/index.js';
|
|
10
10
|
export * as fields from './fields/index.js';
|
|
11
11
|
export * as fifo from './fifo/index.js';
|
package/dest/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC"}
|
package/dest/index.js
CHANGED
|
@@ -6,7 +6,7 @@ export * as bigintBuffer from './bigint-buffer/index.js';
|
|
|
6
6
|
export * as collection from './collection/index.js';
|
|
7
7
|
export * as committable from './committable/index.js';
|
|
8
8
|
export * as crypto from './crypto/index.js';
|
|
9
|
-
export * as errors from './
|
|
9
|
+
export * as errors from './error/index.js';
|
|
10
10
|
export * as ethAddress from './eth-address/index.js';
|
|
11
11
|
export * as fields from './fields/index.js';
|
|
12
12
|
export * as fifo from './fifo/index.js';
|
|
@@ -27,4 +27,4 @@ export * as url from './url/index.js';
|
|
|
27
27
|
export * as wasm from './wasm/index.js';
|
|
28
28
|
export * as worker from './worker/index.js';
|
|
29
29
|
export * as testing from './testing/index.js';
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUVBQW1FO0FBQ25FLE9BQU8sS0FBSyxHQUFHLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxLQUFLLFFBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEtBQUssWUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxZQUFZLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxLQUFLLFVBQVUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssV0FBVyxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sS0FBSyxNQUFNLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEtBQUssVUFBVSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxLQUFLLElBQUksTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEtBQUssT0FBTyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxhQUFhLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxLQUFLLGFBQWEsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEtBQUssR0FBRyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sS0FBSyxLQUFLLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxLQUFLLEtBQUssTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssY0FBYyxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sS0FBSyxTQUFTLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEtBQUssTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssS0FBSyxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxTQUFTLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEtBQUssTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssS0FBSyxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxHQUFHLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxLQUFLLElBQUksTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxPQUFPLE1BQU0sb0JBQW9CLENBQUMifQ==
|
|
@@ -39,8 +39,8 @@ declare const noirPackageConfigSchema: z.ZodObject<{
|
|
|
39
39
|
backend?: string | undefined;
|
|
40
40
|
license?: string | undefined;
|
|
41
41
|
}, {
|
|
42
|
-
name?: string | undefined;
|
|
43
42
|
type?: "lib" | "contract" | "bin" | undefined;
|
|
43
|
+
name?: string | undefined;
|
|
44
44
|
entry?: string | undefined;
|
|
45
45
|
description?: string | undefined;
|
|
46
46
|
authors?: string[] | undefined;
|
|
@@ -87,8 +87,8 @@ declare const noirPackageConfigSchema: z.ZodObject<{
|
|
|
87
87
|
}>;
|
|
88
88
|
}, {
|
|
89
89
|
package: {
|
|
90
|
-
name?: string | undefined;
|
|
91
90
|
type?: "lib" | "contract" | "bin" | undefined;
|
|
91
|
+
name?: string | undefined;
|
|
92
92
|
entry?: string | undefined;
|
|
93
93
|
description?: string | undefined;
|
|
94
94
|
authors?: string[] | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/promise/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './running-promise.js';
|
|
2
|
+
export * from './utils.js';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvbWlzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsWUFBWSxDQUFDIn0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RunningPromise is a utility class that helps manage the execution of an asynchronous function
|
|
3
|
+
* at a specified polling interval. It allows starting, stopping, and checking the status of the
|
|
4
|
+
* internally managed promise. The class also supports interrupting the polling process when stopped.
|
|
5
|
+
*/
|
|
6
|
+
export declare class RunningPromise {
|
|
7
|
+
private fn;
|
|
8
|
+
private pollingIntervalMS;
|
|
9
|
+
private running;
|
|
10
|
+
private runningPromise;
|
|
11
|
+
private interruptibleSleep;
|
|
12
|
+
constructor(fn: () => Promise<void>, pollingIntervalMS?: number);
|
|
13
|
+
/**
|
|
14
|
+
* Starts the running promise.
|
|
15
|
+
*/
|
|
16
|
+
start(): void;
|
|
17
|
+
/**
|
|
18
|
+
* Stops the running promise, resolves any pending interruptible sleep,
|
|
19
|
+
* and waits for the currently executing function to complete.
|
|
20
|
+
*/
|
|
21
|
+
stop(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Checks if the running promise is currently active.
|
|
24
|
+
* @returns True if the promise is running.
|
|
25
|
+
*/
|
|
26
|
+
isRunning(): boolean;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=running-promise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"running-promise.d.ts","sourceRoot":"","sources":["../../src/promise/running-promise.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,qBAAa,cAAc;IAKb,OAAO,CAAC,EAAE;IAAuB,OAAO,CAAC,iBAAiB;IAJtE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAA4B;gBAElC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAU,iBAAiB,SAAQ;IAE9E;;OAEG;IACI,KAAK;IAYZ;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;;OAGG;IACI,SAAS;CAGjB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { InterruptibleSleep } from '../sleep/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* RunningPromise is a utility class that helps manage the execution of an asynchronous function
|
|
4
|
+
* at a specified polling interval. It allows starting, stopping, and checking the status of the
|
|
5
|
+
* internally managed promise. The class also supports interrupting the polling process when stopped.
|
|
6
|
+
*/
|
|
7
|
+
export class RunningPromise {
|
|
8
|
+
constructor(fn, pollingIntervalMS = 10000) {
|
|
9
|
+
this.fn = fn;
|
|
10
|
+
this.pollingIntervalMS = pollingIntervalMS;
|
|
11
|
+
this.running = false;
|
|
12
|
+
this.runningPromise = Promise.resolve();
|
|
13
|
+
this.interruptibleSleep = new InterruptibleSleep();
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Starts the running promise.
|
|
17
|
+
*/
|
|
18
|
+
start() {
|
|
19
|
+
this.running = true;
|
|
20
|
+
const poll = async () => {
|
|
21
|
+
while (this.running) {
|
|
22
|
+
await this.fn();
|
|
23
|
+
await this.interruptibleSleep.sleep(this.pollingIntervalMS);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
this.runningPromise = poll();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Stops the running promise, resolves any pending interruptible sleep,
|
|
30
|
+
* and waits for the currently executing function to complete.
|
|
31
|
+
*/
|
|
32
|
+
async stop() {
|
|
33
|
+
this.running = false;
|
|
34
|
+
this.interruptibleSleep.interrupt();
|
|
35
|
+
await this.runningPromise;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Checks if the running promise is currently active.
|
|
39
|
+
* @returns True if the promise is running.
|
|
40
|
+
*/
|
|
41
|
+
isRunning() {
|
|
42
|
+
return this.running;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmluZy1wcm9taXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb21pc2UvcnVubmluZy1wcm9taXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQUt6QixZQUFvQixFQUF1QixFQUFVLG9CQUFvQixLQUFLO1FBQTFELE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFRO1FBSnRFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsbUJBQWMsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsdUJBQWtCLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBRTJCLENBQUM7SUFFbEY7O09BRUc7SUFDSSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFcEIsTUFBTSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDOUQsQ0FBQztRQUNILENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type PromiseWithResolvers<T> = {
|
|
2
|
+
promise: Promise<T>;
|
|
3
|
+
resolve: (value: T) => void;
|
|
4
|
+
reject: (reason?: any) => void;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* A polyfill for the Promise.withResolvers proposed API.
|
|
8
|
+
* @see https://github.com/tc39/proposal-promise-with-resolvers
|
|
9
|
+
* @returns A promise with resolvers.
|
|
10
|
+
*/
|
|
11
|
+
export declare function promiseWithResolvers<T>(): PromiseWithResolvers<T>;
|
|
12
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/promise/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAiBjE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A polyfill for the Promise.withResolvers proposed API.
|
|
3
|
+
* @see https://github.com/tc39/proposal-promise-with-resolvers
|
|
4
|
+
* @returns A promise with resolvers.
|
|
5
|
+
*/
|
|
6
|
+
export function promiseWithResolvers() {
|
|
7
|
+
// use ! operator to avoid TS error
|
|
8
|
+
let resolve;
|
|
9
|
+
let reject;
|
|
10
|
+
// the ES spec guarantees that the promise executor is called synchronously
|
|
11
|
+
// so the resolve and reject functions will be defined
|
|
12
|
+
const promise = new Promise((res, rej) => {
|
|
13
|
+
resolve = res;
|
|
14
|
+
reject = rej;
|
|
15
|
+
});
|
|
16
|
+
return {
|
|
17
|
+
promise,
|
|
18
|
+
resolve,
|
|
19
|
+
reject,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvbWlzZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxtQ0FBbUM7SUFDbkMsSUFBSSxPQUE0QixDQUFDO0lBQ2pDLElBQUksTUFBK0IsQ0FBQztJQUVwQywyRUFBMkU7SUFDM0Usc0RBQXNEO0lBQ3RELE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQzFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDZCxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsT0FBTztRQUNQLE9BQU87UUFDUCxNQUFNO0tBQ1AsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -1,35 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* RunningPromise is a utility class that helps manage the execution of an asynchronous function
|
|
3
|
-
* at a specified polling interval. It allows starting, stopping, and checking the status of the
|
|
4
|
-
* internally managed promise. The class also supports interrupting the polling process when stopped.
|
|
5
|
-
*/
|
|
6
|
-
export declare class RunningPromise {
|
|
7
|
-
private fn;
|
|
8
|
-
private pollingInterval;
|
|
9
|
-
private running;
|
|
10
|
-
private runningPromise;
|
|
11
|
-
private interruptPromise;
|
|
12
|
-
private interruptResolve;
|
|
13
|
-
constructor(fn: () => Promise<void>, pollingInterval?: number);
|
|
14
|
-
/**
|
|
15
|
-
* Starts the running promise.
|
|
16
|
-
*/
|
|
17
|
-
start(): void;
|
|
18
|
-
/**
|
|
19
|
-
* Stops the running promise, resolves any pending interruptible sleep,
|
|
20
|
-
* and waits for the currently executing function to complete.
|
|
21
|
-
*/
|
|
22
|
-
stop(): Promise<void>;
|
|
23
|
-
/**
|
|
24
|
-
* A sleep function that can be interrupted before the specified time.
|
|
25
|
-
* The sleep duration is determined by 'timeInMs', and it can be terminated early if the 'interruptPromise' is resolved.
|
|
26
|
-
* @param timeInMs - The time in milliseconds.
|
|
27
|
-
*/
|
|
28
|
-
private interruptibleSleep;
|
|
29
|
-
/**
|
|
30
|
-
* Checks if the running promise is currently active.
|
|
31
|
-
* @returns True if the promise is running.
|
|
32
|
-
*/
|
|
33
|
-
isRunning(): boolean;
|
|
34
|
-
}
|
|
1
|
+
export * from '../promise/running-promise.js';
|
|
35
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/running-promise/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/running-promise/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
|
|
@@ -1,59 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* at a specified polling interval. It allows starting, stopping, and checking the status of the
|
|
4
|
-
* internally managed promise. The class also supports interrupting the polling process when stopped.
|
|
5
|
-
*/
|
|
6
|
-
export class RunningPromise {
|
|
7
|
-
constructor(fn, pollingInterval = 10000) {
|
|
8
|
-
this.fn = fn;
|
|
9
|
-
this.pollingInterval = pollingInterval;
|
|
10
|
-
this.running = false;
|
|
11
|
-
this.runningPromise = Promise.resolve();
|
|
12
|
-
this.interruptPromise = Promise.resolve();
|
|
13
|
-
this.interruptResolve = () => { };
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Starts the running promise.
|
|
17
|
-
*/
|
|
18
|
-
start() {
|
|
19
|
-
this.running = true;
|
|
20
|
-
this.interruptPromise = new Promise(resolve => (this.interruptResolve = resolve));
|
|
21
|
-
const poll = async () => {
|
|
22
|
-
while (this.running) {
|
|
23
|
-
await this.fn();
|
|
24
|
-
await this.interruptibleSleep(this.pollingInterval);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
this.runningPromise = poll();
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Stops the running promise, resolves any pending interruptible sleep,
|
|
31
|
-
* and waits for the currently executing function to complete.
|
|
32
|
-
*/
|
|
33
|
-
async stop() {
|
|
34
|
-
this.running = false;
|
|
35
|
-
this.interruptResolve();
|
|
36
|
-
await this.runningPromise;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* A sleep function that can be interrupted before the specified time.
|
|
40
|
-
* The sleep duration is determined by 'timeInMs', and it can be terminated early if the 'interruptPromise' is resolved.
|
|
41
|
-
* @param timeInMs - The time in milliseconds.
|
|
42
|
-
*/
|
|
43
|
-
async interruptibleSleep(timeInMs) {
|
|
44
|
-
let timeout;
|
|
45
|
-
const sleepPromise = new Promise(resolve => {
|
|
46
|
-
timeout = setTimeout(resolve, timeInMs);
|
|
47
|
-
});
|
|
48
|
-
await Promise.race([sleepPromise, this.interruptPromise]);
|
|
49
|
-
clearTimeout(timeout);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Checks if the running promise is currently active.
|
|
53
|
-
* @returns True if the promise is running.
|
|
54
|
-
*/
|
|
55
|
-
isRunning() {
|
|
56
|
-
return this.running;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVubmluZy1wcm9taXNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQUt6QixZQUFvQixFQUF1QixFQUFVLGtCQUFrQixLQUFLO1FBQXhELE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQVE7UUFKcEUsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixtQkFBYyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxxQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMscUJBQWdCLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQzJDLENBQUM7SUFFaEY7O09BRUc7SUFDSSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUVsRixNQUFNLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN0RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBZ0I7UUFDL0MsSUFBSSxPQUF3QixDQUFDO1FBQzdCLE1BQU0sWUFBWSxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDMUQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRiJ9
|
|
1
|
+
export * from '../promise/running-promise.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVubmluZy1wcm9taXNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUMifQ==
|
package/dest/sleep/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InterruptError } from '../
|
|
1
|
+
import { InterruptError } from '../error/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* InterruptibleSleep is a utility class that allows you to create an interruptible sleep function.
|
|
4
4
|
* The sleep function can be interrupted at any time by calling the `interrupt` method, which can
|
|
@@ -68,4 +68,4 @@ export class InterruptibleSleep {
|
|
|
68
68
|
export function sleep(ms, returnValue) {
|
|
69
69
|
return new Promise(resolve => setTimeout(() => resolve(returnValue), ms));
|
|
70
70
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xlZXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQUEvQjtRQUNVLGVBQVUsR0FBMEMsRUFBRSxDQUFDO0lBc0NqRSxDQUFDO0lBcENDOzs7Ozs7O09BT0c7SUFDSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQVU7UUFDM0IsSUFBSSxnQkFBZ0QsQ0FBQztRQUNyRCxNQUFNLGdCQUFnQixHQUFHLElBQUksT0FBTyxDQUFVLE9BQU8sQ0FBQyxFQUFFO1lBQ3RELGdCQUFnQixHQUFHLE9BQU8sQ0FBQztZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sY0FBYyxHQUFHLElBQUksT0FBTyxDQUFVLE9BQU8sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdGLE1BQU0sV0FBVyxHQUFHLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFFM0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTFFLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUksRUFBVSxFQUFFLFdBQWU7SUFDbEQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM1RSxDQUFDIn0=
|
|
@@ -55,7 +55,7 @@ export function updateInlineTestData(targetFileFromRepoRoot, itemName, value) {
|
|
|
55
55
|
const logger = createConsoleLogger('aztec:testing:test_data');
|
|
56
56
|
const targetFile = getPathToFile(targetFileFromRepoRoot);
|
|
57
57
|
const contents = readFileSync(targetFile, 'utf8').toString();
|
|
58
|
-
const regex = new RegExp(`let ${itemName} =
|
|
58
|
+
const regex = new RegExp(`let ${itemName} = [\\s\\S]*?;`, 'g');
|
|
59
59
|
if (!regex.exec(contents)) {
|
|
60
60
|
throw new Error(`Test data marker for ${itemName} not found in ${targetFile}`);
|
|
61
61
|
}
|
|
@@ -70,4 +70,4 @@ function getPathToFile(targetFileFromRepoRoot) {
|
|
|
70
70
|
}
|
|
71
71
|
return join(repoRoot, targetFileFromRepoRoot);
|
|
72
72
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvdGVzdF9kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE1BQU0sUUFBUSxHQUFnRCxFQUFFLENBQUM7QUFFakUsc0RBQXNEO0FBQ3RELE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixLQUFLLEdBQUcsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUM7QUFDdkYsQ0FBQztBQUVELHFGQUFxRjtBQUNyRixNQUFNLFVBQVUsWUFBWSxDQUFDLFFBQWdCLEVBQUUsSUFBNEI7SUFDekUsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsQ0FBQztRQUNqQyxPQUFPO0lBQ1QsQ0FBQztJQUVELElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDbEMsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsZUFBZSxDQUFDO0lBQ25ELE1BQU0sWUFBWSxHQUFHLEdBQUcsUUFBUSxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBRS9DLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUM1QixRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRCxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../src/timer/timeout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,WAAW,CAAC,CAAC;IAKZ,OAAO,CAAC,EAAE;IAAoB,OAAO,CAAC,OAAO;IAJzD,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAK;gBAEF,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAU,OAAO,SAAI,EAAE,MAAM,SAAK;IAM1E;;;;;;;OAOG;IACU,IAAI;IAYjB;;;;;;OAMG;IACI,mBAAmB;IAI1B;;;;;OAKG;IACI,OAAO;CAGf;AAED,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../src/timer/timeout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,WAAW,CAAC,CAAC;IAKZ,OAAO,CAAC,EAAE;IAAoB,OAAO,CAAC,OAAO;IAJzD,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAK;gBAEF,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAU,OAAO,SAAI,EAAE,MAAM,SAAK;IAM1E;;;;;;;OAOG;IACU,IAAI;IAYjB;;;;;;OAMG;IACI,mBAAmB;IAI1B;;;;;OAKG;IACI,OAAO;CAGf;AAED,eAAO,MAAM,cAAc,UAAiB,MAAM,QAAQ,CAAC,CAAC,kDAG3D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/foundation",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.36.0",
|
|
4
4
|
"packageManager": "yarn@3.4.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dest/index.js",
|
|
@@ -39,7 +39,8 @@
|
|
|
39
39
|
"./noir": "./dest/noir/index.js",
|
|
40
40
|
"./testing": "./dest/testing/index.js",
|
|
41
41
|
"./array": "./dest/array/index.js",
|
|
42
|
-
"./validation": "./dest/validation/index.js"
|
|
42
|
+
"./validation": "./dest/validation/index.js",
|
|
43
|
+
"./promise": "./dest/promise/index.js"
|
|
43
44
|
},
|
|
44
45
|
"scripts": {
|
|
45
46
|
"build": "yarn clean && tsc -b",
|
|
@@ -66,10 +67,18 @@
|
|
|
66
67
|
"rootDir": "./src",
|
|
67
68
|
"extensionsToTreatAsEsm": [
|
|
68
69
|
".ts"
|
|
70
|
+
],
|
|
71
|
+
"reporters": [
|
|
72
|
+
[
|
|
73
|
+
"default",
|
|
74
|
+
{
|
|
75
|
+
"summaryThreshold": 9999
|
|
76
|
+
}
|
|
77
|
+
]
|
|
69
78
|
]
|
|
70
79
|
},
|
|
71
80
|
"dependencies": {
|
|
72
|
-
"@aztec/bb.js": "0.
|
|
81
|
+
"@aztec/bb.js": "0.36.0",
|
|
73
82
|
"@koa/cors": "^5.0.0",
|
|
74
83
|
"@noble/curves": "^1.2.0",
|
|
75
84
|
"bn.js": "^5.2.1",
|
package/src/abi/abi.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { inflate } from 'pako';
|
|
2
2
|
|
|
3
|
+
import { type Fr } from '../fields/fields.js';
|
|
3
4
|
import { type FunctionSelector } from './function_selector.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -240,6 +241,16 @@ export interface DebugInfo {
|
|
|
240
241
|
locations: Record<OpcodeLocation, SourceCodeLocation[]>;
|
|
241
242
|
}
|
|
242
243
|
|
|
244
|
+
/**
|
|
245
|
+
* The debug information for a given program (a collection of functions)
|
|
246
|
+
*/
|
|
247
|
+
export interface ProgramDebugInfo {
|
|
248
|
+
/**
|
|
249
|
+
* A list of debug information that matches with each function in a program
|
|
250
|
+
*/
|
|
251
|
+
debug_infos: Array<DebugInfo>;
|
|
252
|
+
}
|
|
253
|
+
|
|
243
254
|
/**
|
|
244
255
|
* Maps a file ID to its metadata for debugging purposes.
|
|
245
256
|
*/
|
|
@@ -257,6 +268,34 @@ export type DebugFileMap = Record<
|
|
|
257
268
|
}
|
|
258
269
|
>;
|
|
259
270
|
|
|
271
|
+
/**
|
|
272
|
+
* Type representing a note in use in the contract.
|
|
273
|
+
*/
|
|
274
|
+
export type ContractNote = {
|
|
275
|
+
/**
|
|
276
|
+
* Note identifier
|
|
277
|
+
*/
|
|
278
|
+
id: Fr;
|
|
279
|
+
/**
|
|
280
|
+
* Type of the note (e.g., 'TransparentNote')
|
|
281
|
+
*/
|
|
282
|
+
typ: string;
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Type representing a field layout in the storage of a contract.
|
|
287
|
+
*/
|
|
288
|
+
export type FieldLayout = {
|
|
289
|
+
/**
|
|
290
|
+
* Slot in which the field is stored.
|
|
291
|
+
*/
|
|
292
|
+
slot: Fr;
|
|
293
|
+
/**
|
|
294
|
+
* Type being stored at the slot (e.g., 'Map<AztecAddress, PublicMutable<U128>>')
|
|
295
|
+
*/
|
|
296
|
+
typ: string;
|
|
297
|
+
};
|
|
298
|
+
|
|
260
299
|
/**
|
|
261
300
|
* Defines artifact of a contract.
|
|
262
301
|
*/
|
|
@@ -282,6 +321,14 @@ export interface ContractArtifact {
|
|
|
282
321
|
structs: Record<string, AbiType[]>;
|
|
283
322
|
globals: Record<string, AbiValue[]>;
|
|
284
323
|
};
|
|
324
|
+
/**
|
|
325
|
+
* Storage layout
|
|
326
|
+
*/
|
|
327
|
+
storageLayout: Record<string, FieldLayout>;
|
|
328
|
+
/**
|
|
329
|
+
* The notes used in the contract.
|
|
330
|
+
*/
|
|
331
|
+
notes: Record<string, ContractNote>;
|
|
285
332
|
|
|
286
333
|
/**
|
|
287
334
|
* The map of file ID to the source code and path of the file.
|
|
@@ -355,10 +402,13 @@ export function getFunctionDebugMetadata(
|
|
|
355
402
|
functionArtifact: FunctionArtifact,
|
|
356
403
|
): FunctionDebugMetadata | undefined {
|
|
357
404
|
if (functionArtifact.debugSymbols && contractArtifact.fileMap) {
|
|
358
|
-
const
|
|
405
|
+
const programDebugSymbols = JSON.parse(
|
|
359
406
|
inflate(Buffer.from(functionArtifact.debugSymbols, 'base64'), { to: 'string', raw: true }),
|
|
360
407
|
);
|
|
361
|
-
|
|
408
|
+
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/5813)
|
|
409
|
+
// We only support handling debug info for the contract function entry point.
|
|
410
|
+
// So for now we simply index into the first debug info.
|
|
411
|
+
return { debugSymbols: programDebugSymbols.debug_infos[0], files: contractArtifact.fileMap };
|
|
362
412
|
}
|
|
363
413
|
return undefined;
|
|
364
414
|
}
|
package/src/abi/decoder.ts
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
2
2
|
import { type Fr } from '../fields/index.js';
|
|
3
|
-
import { type ABIParameter, type ABIVariable, type AbiType, type
|
|
3
|
+
import { type ABIParameter, type ABIVariable, type AbiType, type FunctionAbi } from './abi.js';
|
|
4
4
|
import { isAztecAddressStruct } from './utils.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* The type of our decoded ABI.
|
|
8
8
|
*/
|
|
9
9
|
export type DecodedReturn = bigint | boolean | AztecAddress | DecodedReturn[] | { [key: string]: DecodedReturn };
|
|
10
|
-
export type ProcessReturnValues = (DecodedReturn | undefined)[] | undefined;
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Decodes return values from a function call.
|
|
14
13
|
* Missing support for integer and string.
|
|
15
14
|
*/
|
|
16
15
|
class ReturnValuesDecoder {
|
|
17
|
-
constructor(private artifact:
|
|
16
|
+
constructor(private artifact: FunctionAbi, private flattened: Fr[]) {}
|
|
18
17
|
|
|
19
18
|
/**
|
|
20
19
|
* Decodes a single return value from field to the given type.
|
|
@@ -97,7 +96,7 @@ class ReturnValuesDecoder {
|
|
|
97
96
|
* @param returnValues - The decoded return values.
|
|
98
97
|
* @returns
|
|
99
98
|
*/
|
|
100
|
-
export function decodeReturnValues(abi:
|
|
99
|
+
export function decodeReturnValues(abi: FunctionAbi, returnValues: Fr[]) {
|
|
101
100
|
return new ReturnValuesDecoder(abi, returnValues.slice()).decode();
|
|
102
101
|
}
|
|
103
102
|
|
|
@@ -21,10 +21,10 @@ export class FunctionSelector extends Selector {
|
|
|
21
21
|
* Checks if this function selector is equal to another.
|
|
22
22
|
* @returns True if the function selectors are equal.
|
|
23
23
|
*/
|
|
24
|
-
equals(fn: { name: string; parameters: ABIParameter[] }): boolean;
|
|
25
|
-
equals(otherName: string, otherParams: ABIParameter[]): boolean;
|
|
26
|
-
equals(other: FunctionSelector): boolean;
|
|
27
|
-
equals(
|
|
24
|
+
override equals(fn: { name: string; parameters: ABIParameter[] }): boolean;
|
|
25
|
+
override equals(otherName: string, otherParams: ABIParameter[]): boolean;
|
|
26
|
+
override equals(other: FunctionSelector): boolean;
|
|
27
|
+
override equals(
|
|
28
28
|
other: FunctionSelector | string | { name: string; parameters: ABIParameter[] },
|
|
29
29
|
otherParams?: ABIParameter[],
|
|
30
30
|
): boolean {
|
|
@@ -23,13 +23,13 @@ export class AztecAddress extends Fr {
|
|
|
23
23
|
return `AztecAddress<${this.toString()}>`;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
static ZERO = new AztecAddress(Buffer.alloc(32));
|
|
26
|
+
static override ZERO = new AztecAddress(Buffer.alloc(32));
|
|
27
27
|
|
|
28
|
-
static zero(): AztecAddress {
|
|
28
|
+
static override zero(): AztecAddress {
|
|
29
29
|
return AztecAddress.ZERO;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
32
|
+
static override fromBuffer(buffer: Buffer | BufferReader) {
|
|
33
33
|
return fromBuffer(buffer, AztecAddress);
|
|
34
34
|
}
|
|
35
35
|
|
|
@@ -46,16 +46,16 @@ export class AztecAddress extends Fr {
|
|
|
46
46
|
return AztecAddress.fromField(new Fr(value));
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
static fromString(buf: string) {
|
|
49
|
+
static override fromString(buf: string) {
|
|
50
50
|
const buffer = Buffer.from(buf.replace(/^0x/i, ''), 'hex');
|
|
51
51
|
return new AztecAddress(buffer);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
static random() {
|
|
54
|
+
static override random() {
|
|
55
55
|
return new AztecAddress(super.random().toBuffer());
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
toJSON() {
|
|
58
|
+
override toJSON() {
|
|
59
59
|
return {
|
|
60
60
|
type: 'AztecAddress',
|
|
61
61
|
value: this.toString(),
|
package/src/fifo/memory_fifo.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TimeoutError } from '../error/index.js';
|
|
1
2
|
import { createDebugLogger } from '../log/index.js';
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -23,13 +24,17 @@ export class MemoryFifo<T> {
|
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
|
-
* Returns next item within the queue, or blocks until
|
|
27
|
-
*
|
|
27
|
+
* Returns next item within the queue, or blocks until an item has been put into the queue.
|
|
28
|
+
*
|
|
29
|
+
* If given a timeout, the promise will reject if no item is received after `timeoutSec` seconds.
|
|
30
|
+
* If the timeout is undefined (default), this call will block until an item is available or the queue is closed.
|
|
31
|
+
* If the timeout is 0 and there are no items available then the queue will immediately reject with a TimeoutError.
|
|
32
|
+
*
|
|
28
33
|
* If the queue is flushing, `null` is returned.
|
|
29
|
-
* @param
|
|
34
|
+
* @param timeoutSec - The timeout in seconds.
|
|
30
35
|
* @returns A result promise.
|
|
31
36
|
*/
|
|
32
|
-
public get(
|
|
37
|
+
public get(timeoutSec?: number): Promise<T | null> {
|
|
33
38
|
if (this.items.length) {
|
|
34
39
|
return Promise.resolve(this.items.shift()!);
|
|
35
40
|
}
|
|
@@ -38,18 +43,24 @@ export class MemoryFifo<T> {
|
|
|
38
43
|
return Promise.resolve(null);
|
|
39
44
|
}
|
|
40
45
|
|
|
46
|
+
// if the caller doesn't want to wait for an item to be available
|
|
47
|
+
// immediately reject with a Timeout error
|
|
48
|
+
if (timeoutSec === 0) {
|
|
49
|
+
return Promise.reject(new TimeoutError('Timeout getting item from queue.'));
|
|
50
|
+
}
|
|
51
|
+
|
|
41
52
|
return new Promise<T | null>((resolve, reject) => {
|
|
42
53
|
this.waiting.push(resolve);
|
|
43
54
|
|
|
44
|
-
if (
|
|
55
|
+
if (timeoutSec) {
|
|
45
56
|
setTimeout(() => {
|
|
46
57
|
const index = this.waiting.findIndex(r => r === resolve);
|
|
47
58
|
if (index > -1) {
|
|
48
59
|
this.waiting.splice(index, 1);
|
|
49
|
-
const err = new
|
|
60
|
+
const err = new TimeoutError('Timeout getting item from queue.');
|
|
50
61
|
reject(err);
|
|
51
62
|
}
|
|
52
|
-
},
|
|
63
|
+
}, timeoutSec * 1000);
|
|
53
64
|
}
|
|
54
65
|
});
|
|
55
66
|
}
|
package/src/index.ts
CHANGED
|
@@ -6,7 +6,7 @@ export * as bigintBuffer from './bigint-buffer/index.js';
|
|
|
6
6
|
export * as collection from './collection/index.js';
|
|
7
7
|
export * as committable from './committable/index.js';
|
|
8
8
|
export * as crypto from './crypto/index.js';
|
|
9
|
-
export * as errors from './
|
|
9
|
+
export * as errors from './error/index.js';
|
|
10
10
|
export * as ethAddress from './eth-address/index.js';
|
|
11
11
|
export * as fields from './fields/index.js';
|
|
12
12
|
export * as fifo from './fifo/index.js';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { InterruptibleSleep } from '../sleep/index.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* RunningPromise is a utility class that helps manage the execution of an asynchronous function
|
|
5
|
+
* at a specified polling interval. It allows starting, stopping, and checking the status of the
|
|
6
|
+
* internally managed promise. The class also supports interrupting the polling process when stopped.
|
|
7
|
+
*/
|
|
8
|
+
export class RunningPromise {
|
|
9
|
+
private running = false;
|
|
10
|
+
private runningPromise = Promise.resolve();
|
|
11
|
+
private interruptibleSleep = new InterruptibleSleep();
|
|
12
|
+
|
|
13
|
+
constructor(private fn: () => Promise<void>, private pollingIntervalMS = 10000) {}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Starts the running promise.
|
|
17
|
+
*/
|
|
18
|
+
public start() {
|
|
19
|
+
this.running = true;
|
|
20
|
+
|
|
21
|
+
const poll = async () => {
|
|
22
|
+
while (this.running) {
|
|
23
|
+
await this.fn();
|
|
24
|
+
await this.interruptibleSleep.sleep(this.pollingIntervalMS);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
this.runningPromise = poll();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Stops the running promise, resolves any pending interruptible sleep,
|
|
32
|
+
* and waits for the currently executing function to complete.
|
|
33
|
+
*/
|
|
34
|
+
async stop(): Promise<void> {
|
|
35
|
+
this.running = false;
|
|
36
|
+
this.interruptibleSleep.interrupt();
|
|
37
|
+
await this.runningPromise;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Checks if the running promise is currently active.
|
|
42
|
+
* @returns True if the promise is running.
|
|
43
|
+
*/
|
|
44
|
+
public isRunning() {
|
|
45
|
+
return this.running;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type PromiseWithResolvers<T> = {
|
|
2
|
+
promise: Promise<T>;
|
|
3
|
+
resolve: (value: T) => void;
|
|
4
|
+
reject: (reason?: any) => void;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A polyfill for the Promise.withResolvers proposed API.
|
|
9
|
+
* @see https://github.com/tc39/proposal-promise-with-resolvers
|
|
10
|
+
* @returns A promise with resolvers.
|
|
11
|
+
*/
|
|
12
|
+
export function promiseWithResolvers<T>(): PromiseWithResolvers<T> {
|
|
13
|
+
// use ! operator to avoid TS error
|
|
14
|
+
let resolve!: (value: T) => void;
|
|
15
|
+
let reject!: (reason?: any) => void;
|
|
16
|
+
|
|
17
|
+
// the ES spec guarantees that the promise executor is called synchronously
|
|
18
|
+
// so the resolve and reject functions will be defined
|
|
19
|
+
const promise = new Promise<T>((res, rej) => {
|
|
20
|
+
resolve = res;
|
|
21
|
+
reject = rej;
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
return {
|
|
25
|
+
promise,
|
|
26
|
+
resolve,
|
|
27
|
+
reject,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
@@ -1,60 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* RunningPromise is a utility class that helps manage the execution of an asynchronous function
|
|
3
|
-
* at a specified polling interval. It allows starting, stopping, and checking the status of the
|
|
4
|
-
* internally managed promise. The class also supports interrupting the polling process when stopped.
|
|
5
|
-
*/
|
|
6
|
-
export class RunningPromise {
|
|
7
|
-
private running = false;
|
|
8
|
-
private runningPromise = Promise.resolve();
|
|
9
|
-
private interruptPromise = Promise.resolve();
|
|
10
|
-
private interruptResolve = () => {};
|
|
11
|
-
constructor(private fn: () => Promise<void>, private pollingInterval = 10000) {}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Starts the running promise.
|
|
15
|
-
*/
|
|
16
|
-
public start() {
|
|
17
|
-
this.running = true;
|
|
18
|
-
this.interruptPromise = new Promise(resolve => (this.interruptResolve = resolve));
|
|
19
|
-
|
|
20
|
-
const poll = async () => {
|
|
21
|
-
while (this.running) {
|
|
22
|
-
await this.fn();
|
|
23
|
-
await this.interruptibleSleep(this.pollingInterval);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
this.runningPromise = poll();
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Stops the running promise, resolves any pending interruptible sleep,
|
|
31
|
-
* and waits for the currently executing function to complete.
|
|
32
|
-
*/
|
|
33
|
-
async stop(): Promise<void> {
|
|
34
|
-
this.running = false;
|
|
35
|
-
this.interruptResolve();
|
|
36
|
-
await this.runningPromise;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* A sleep function that can be interrupted before the specified time.
|
|
41
|
-
* The sleep duration is determined by 'timeInMs', and it can be terminated early if the 'interruptPromise' is resolved.
|
|
42
|
-
* @param timeInMs - The time in milliseconds.
|
|
43
|
-
*/
|
|
44
|
-
private async interruptibleSleep(timeInMs: number) {
|
|
45
|
-
let timeout!: NodeJS.Timeout;
|
|
46
|
-
const sleepPromise = new Promise(resolve => {
|
|
47
|
-
timeout = setTimeout(resolve, timeInMs);
|
|
48
|
-
});
|
|
49
|
-
await Promise.race([sleepPromise, this.interruptPromise]);
|
|
50
|
-
clearTimeout(timeout);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Checks if the running promise is currently active.
|
|
55
|
-
* @returns True if the promise is running.
|
|
56
|
-
*/
|
|
57
|
-
public isRunning() {
|
|
58
|
-
return this.running;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
1
|
+
export * from '../promise/running-promise.js';
|
package/src/sleep/index.ts
CHANGED
package/src/testing/test_data.ts
CHANGED
|
@@ -66,7 +66,7 @@ export function updateInlineTestData(targetFileFromRepoRoot: string, itemName: s
|
|
|
66
66
|
const logger = createConsoleLogger('aztec:testing:test_data');
|
|
67
67
|
const targetFile = getPathToFile(targetFileFromRepoRoot);
|
|
68
68
|
const contents = readFileSync(targetFile, 'utf8').toString();
|
|
69
|
-
const regex = new RegExp(`let ${itemName} =
|
|
69
|
+
const regex = new RegExp(`let ${itemName} = [\\s\\S]*?;`, 'g');
|
|
70
70
|
if (!regex.exec(contents)) {
|
|
71
71
|
throw new Error(`Test data marker for ${itemName} not found in ${targetFile}`);
|
|
72
72
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,KAAK;CAAG"}
|