@aztec/foundation 0.20.0 → 0.22.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.js +1 -1
- package/dest/abi/buffer.d.ts +17 -0
- package/dest/abi/buffer.d.ts.map +1 -0
- package/dest/abi/buffer.js +34 -0
- package/dest/abi/decoder.d.ts +2 -1
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +6 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +14 -14
- package/dest/abi/index.d.ts +1 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +2 -2
- package/dest/abi/selector.d.ts +10 -1
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +17 -11
- package/dest/abi/utils.d.ts +5 -0
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +11 -1
- package/dest/array/array.d.ts +2 -2
- package/dest/array/array.d.ts.map +1 -1
- package/dest/array/array.js +1 -1
- package/dest/async-map/index.js +1 -1
- package/dest/aztec-address/index.d.ts +2 -0
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +6 -1
- package/dest/bigint-buffer/index.js +1 -1
- package/dest/collection/array.js +1 -1
- package/dest/committable/committable.js +1 -1
- package/dest/crypto/pedersen/pedersen.elliptic.js +1 -1
- package/dest/crypto/pedersen/pedersen.noble.js +1 -1
- package/dest/crypto/pedersen/pedersen.wasm.js +1 -1
- package/dest/crypto/random/index.js +1 -1
- package/dest/eth-address/index.d.ts +4 -11
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +11 -24
- package/dest/fields/coordinate.js +1 -1
- package/dest/fields/fields.d.ts +2 -0
- package/dest/fields/fields.d.ts.map +1 -1
- package/dest/fields/fields.js +13 -3
- package/dest/fields/point.d.ts +2 -1
- package/dest/fields/point.d.ts.map +1 -1
- package/dest/fields/point.js +6 -2
- package/dest/fifo/bounded_serial_queue.js +1 -1
- package/dest/fifo/memory_fifo.js +1 -1
- package/dest/fifo/serial_queue.js +1 -1
- package/dest/json-rpc/class_converter.d.ts.map +1 -1
- package/dest/json-rpc/class_converter.js +1 -1
- package/dest/json-rpc/client/json_rpc_client.d.ts +7 -1
- package/dest/json-rpc/client/json_rpc_client.d.ts.map +1 -1
- package/dest/json-rpc/client/json_rpc_client.js +15 -5
- package/dest/json-rpc/convert.js +1 -1
- package/dest/json-rpc/fixtures/test_state.js +1 -1
- package/dest/json-rpc/js_utils.js +1 -1
- package/dest/json-rpc/server/index.d.ts +1 -1
- package/dest/json-rpc/server/index.d.ts.map +1 -1
- package/dest/json-rpc/server/index.js +2 -2
- package/dest/json-rpc/server/json_proxy.d.ts +13 -1
- package/dest/json-rpc/server/json_proxy.d.ts.map +1 -1
- package/dest/json-rpc/server/json_proxy.js +14 -5
- package/dest/json-rpc/server/json_rpc_server.d.ts +43 -5
- package/dest/json-rpc/server/json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/json_rpc_server.js +101 -79
- package/dest/log/console.js +1 -1
- package/dest/log/debug.js +1 -1
- package/dest/log/logger.js +1 -1
- package/dest/mutex/index.js +1 -1
- package/dest/noir/noir_package_config.d.ts +2 -2
- package/dest/retry/index.js +1 -1
- package/dest/running-promise/index.js +1 -1
- package/dest/serialize/buffer_reader.d.ts +15 -0
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +26 -1
- package/dest/serialize/field_reader.d.ts +89 -0
- package/dest/serialize/field_reader.d.ts.map +1 -0
- package/dest/serialize/field_reader.js +119 -0
- package/dest/serialize/free_funcs.d.ts +1 -1
- package/dest/serialize/free_funcs.d.ts.map +1 -1
- package/dest/serialize/free_funcs.js +2 -2
- package/dest/serialize/index.d.ts +1 -0
- package/dest/serialize/index.d.ts.map +1 -1
- package/dest/serialize/index.js +2 -1
- package/dest/serialize/serialize.d.ts +15 -5
- package/dest/serialize/serialize.d.ts.map +1 -1
- package/dest/serialize/serialize.js +29 -13
- package/dest/serialize/types.js +2 -2
- package/dest/sleep/index.js +1 -1
- package/dest/testing/test_data.js +1 -1
- package/dest/timer/timeout.js +1 -1
- package/dest/transport/browser/shared_worker_listener.js +1 -1
- package/dest/transport/browser/worker_listener.js +1 -1
- package/dest/transport/dispatch/create_dispatch_proxy.js +1 -1
- package/dest/transport/interface/transferable.js +1 -1
- package/dest/transport/transport_client.js +1 -1
- package/dest/transport/transport_server.js +1 -1
- package/dest/types/index.d.ts +3 -3
- package/dest/types/index.d.ts.map +1 -1
- package/dest/url/index.js +1 -1
- package/dest/wasm/wasm_module.js +1 -1
- package/dest/worker/browser/start_web_module.js +1 -1
- package/dest/worker/node/start_node_module.js +1 -1
- package/package.json +5 -2
- package/dest/abi/abi_coder.d.ts +0 -8
- package/dest/abi/abi_coder.d.ts.map +0 -1
- package/dest/abi/abi_coder.js +0 -24
|
@@ -30,8 +30,8 @@ declare const noirPackageConfigSchema: z.ZodObject<{
|
|
|
30
30
|
backend: z.ZodOptional<z.ZodString>;
|
|
31
31
|
license: z.ZodOptional<z.ZodString>;
|
|
32
32
|
}, "strip", z.ZodTypeAny, {
|
|
33
|
-
type: "lib" | "contract" | "bin";
|
|
34
33
|
name: string;
|
|
34
|
+
type: "lib" | "contract" | "bin";
|
|
35
35
|
entry?: string | undefined;
|
|
36
36
|
description?: string | undefined;
|
|
37
37
|
authors?: string[] | undefined;
|
|
@@ -69,8 +69,8 @@ declare const noirPackageConfigSchema: z.ZodObject<{
|
|
|
69
69
|
}>]>>>;
|
|
70
70
|
}, "strip", z.ZodTypeAny, {
|
|
71
71
|
package: {
|
|
72
|
-
type: "lib" | "contract" | "bin";
|
|
73
72
|
name: string;
|
|
73
|
+
type: "lib" | "contract" | "bin";
|
|
74
74
|
entry?: string | undefined;
|
|
75
75
|
description?: string | undefined;
|
|
76
76
|
authors?: string[] | undefined;
|
package/dest/retry/index.js
CHANGED
|
@@ -86,4 +86,4 @@ export async function retryUntil(fn, name = '', timeout = 0, interval = 1) {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmV0cnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUxQyx3RUFBd0U7QUFDeEUsTUFBTSxPQUFPLFlBQWEsU0FBUSxLQUFLO0NBQUc7QUFFMUM7Ozs7Ozs7R0FPRztBQUNILE1BQU0sU0FBUyxDQUFDLENBQUMsZ0JBQWdCO0lBQy9CLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDVixPQUFPLElBQUksRUFBRSxDQUFDO1FBQ1osTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxTQUFTLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBaUI7SUFDNUMsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM1QixNQUFNLEtBQUssQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLEtBQUssQ0FDekIsRUFBeUIsRUFDekIsSUFBSSxHQUFHLFdBQVcsRUFDbEIsT0FBTyxHQUFHLGdCQUFnQixFQUFFLEVBQzVCLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxFQUNqRCxZQUFZLEdBQUcsS0FBSztJQUVwQixPQUFPLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDO1lBQ0gsT0FBTyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7UUFBQyxPQUFPLEdBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksR0FBRyxZQUFZLFlBQVksRUFBRSxDQUFDO2dCQUNoQyx1RkFBdUY7Z0JBQ3ZGLE1BQU0sR0FBRyxDQUFDO1lBQ1osQ0FBQztZQUNELE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDL0IsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sR0FBRyxDQUFDO1lBQ1osQ0FBQztZQUNELEdBQUcsQ0FBQyxHQUFHLElBQUksMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsQ0FBQyxZQUFZLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDdEIsU0FBUztRQUNYLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFVBQVUsQ0FBSSxFQUFnQyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxRQUFRLEdBQUcsQ0FBQztJQUN4RyxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0lBQzFCLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDWixNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQzFCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRTdCLElBQUksT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsb0JBQW9CLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -56,4 +56,4 @@ export class RunningPromise {
|
|
|
56
56
|
return this.running;
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVubmluZy1wcm9taXNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQUt6QixZQUFvQixFQUF1QixFQUFVLGtCQUFrQixLQUFLO1FBQXhELE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQVE7UUFKcEUsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixtQkFBYyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxxQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMscUJBQWdCLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQzJDLENBQUM7SUFFaEY7O09BRUc7SUFDSSxLQUFLO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUVsRixNQUFNLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN0RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBZ0I7UUFDL0MsSUFBSSxPQUF3QixDQUFDO1FBQzdCLE1BQU0sWUFBWSxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDMUQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRiJ9
|
|
@@ -37,6 +37,12 @@ export declare class BufferReader {
|
|
|
37
37
|
* @returns The read 32-bit unsigned integer value.
|
|
38
38
|
*/
|
|
39
39
|
readNumber(): number;
|
|
40
|
+
/**
|
|
41
|
+
* Reads `count` 32-bit unsigned integers from the buffer at the current index position.
|
|
42
|
+
* @param count - The number of 32-bit unsigned integers to read.
|
|
43
|
+
* @returns An array of 32-bit unsigned integers.
|
|
44
|
+
*/
|
|
45
|
+
readNumbers<N extends number>(count: N): Tuple<number, N>;
|
|
40
46
|
/**
|
|
41
47
|
* Reads a 16-bit unsigned integer from the buffer at the current index position.
|
|
42
48
|
* Updates the index position by 2 bytes after reading the number.
|
|
@@ -44,6 +50,13 @@ export declare class BufferReader {
|
|
|
44
50
|
* @returns The read 16 bit value.
|
|
45
51
|
*/
|
|
46
52
|
readUInt16(): number;
|
|
53
|
+
/**
|
|
54
|
+
* Reads a 8-bit unsigned integer from the buffer at the current index position.
|
|
55
|
+
* Updates the index position by 1 byte after reading the number.
|
|
56
|
+
*
|
|
57
|
+
* @returns The read 8 bit value.
|
|
58
|
+
*/
|
|
59
|
+
readUInt8(): number;
|
|
47
60
|
/**
|
|
48
61
|
* Reads and returns the next boolean value from the buffer.
|
|
49
62
|
* Advances the internal index by 1, treating the byte at the current index as a boolean value.
|
|
@@ -61,6 +74,8 @@ export declare class BufferReader {
|
|
|
61
74
|
* @returns A new Buffer containing the read bytes.
|
|
62
75
|
*/
|
|
63
76
|
readBytes(n: number): Buffer;
|
|
77
|
+
/** Reads until the end of the buffer. */
|
|
78
|
+
readToEnd(): Buffer;
|
|
64
79
|
/**
|
|
65
80
|
* Reads a vector of numbers from the buffer and returns it as an array of numbers.
|
|
66
81
|
* The method utilizes the 'readVector' method, passing a deserializer that reads numbers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer_reader.d.ts","sourceRoot":"","sources":["../../src/serialize/buffer_reader.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;IAEX,OAAO,CAAC,MAAM;IAD1B,OAAO,CAAC,KAAK,CAAS;gBACF,MAAM,EAAE,MAAM,EAAE,MAAM,SAAI;IAI9C;;;;;;;OAOG;WACW,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY;IAYxF;;;;;OAKG;IACI,UAAU,IAAI,MAAM;IAK3B;;;;;OAKG;IACI,UAAU,IAAI,MAAM;IAK3B;;;;;;OAMG;IACI,WAAW,IAAI,OAAO;IAK7B;;;;;;;OAOG;IACI,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAKnC;;;;;OAKG;IACI,gBAAgB,IAAI,MAAM,EAAE;IAMnC;;;;;;;;OAQG;IACI,UAAU,CAAC,CAAC,EAAE,gBAAgB,EAAE;QACrC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC,EAAE;IASP;;;;;;;;;OASG;IACI,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAClC,IAAI,EAAE,CAAC,EACP,gBAAgB,EAAE;QAChB;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAKd;;;;;;;OAOG;IACI,eAAe,CAAC,IAAI,SAAK,GAAG,MAAM,EAAE;IAgB3C;;;;;;OAMG;IACI,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE;QACjC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC;IAIL;;;;;;OAMG;IACI,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAIpC;;;;;;OAMG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;;;;OAOG;IACI,UAAU,IAAI,MAAM;IAK3B;;;;;;;;OAQG;IACI,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE;QAC9B;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;KAAE;IAWxB;;;OAGG;IACI,SAAS,IAAI,MAAM;CAG3B"}
|
|
1
|
+
{"version":3,"file":"buffer_reader.d.ts","sourceRoot":"","sources":["../../src/serialize/buffer_reader.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;IAEX,OAAO,CAAC,MAAM;IAD1B,OAAO,CAAC,KAAK,CAAS;gBACF,MAAM,EAAE,MAAM,EAAE,MAAM,SAAI;IAI9C;;;;;;;OAOG;WACW,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY;IAYxF;;;;;OAKG;IACI,UAAU,IAAI,MAAM;IAK3B;;;;OAIG;IACI,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAKhE;;;;;OAKG;IACI,UAAU,IAAI,MAAM;IAK3B;;;;;OAKG;IACI,SAAS,IAAI,MAAM;IAK1B;;;;;;OAMG;IACI,WAAW,IAAI,OAAO;IAK7B;;;;;;;OAOG;IACI,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAKnC,yCAAyC;IAClC,SAAS,IAAI,MAAM;IAM1B;;;;;OAKG;IACI,gBAAgB,IAAI,MAAM,EAAE;IAMnC;;;;;;;;OAQG;IACI,UAAU,CAAC,CAAC,EAAE,gBAAgB,EAAE;QACrC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC,EAAE;IASP;;;;;;;;;OASG;IACI,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAClC,IAAI,EAAE,CAAC,EACP,gBAAgB,EAAE;QAChB;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAKd;;;;;;;OAOG;IACI,eAAe,CAAC,IAAI,SAAK,GAAG,MAAM,EAAE;IAgB3C;;;;;;OAMG;IACI,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE;QACjC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC;IAIL;;;;;;OAMG;IACI,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAIpC;;;;;;OAMG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;;;;OAOG;IACI,UAAU,IAAI,MAAM;IAK3B;;;;;;;;OAQG;IACI,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE;QAC9B;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;KAAE;IAWxB;;;OAGG;IACI,SAAS,IAAI,MAAM;CAG3B"}
|
|
@@ -47,6 +47,15 @@ export class BufferReader {
|
|
|
47
47
|
this.index += 4;
|
|
48
48
|
return this.buffer.readUint32BE(this.index - 4);
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Reads `count` 32-bit unsigned integers from the buffer at the current index position.
|
|
52
|
+
* @param count - The number of 32-bit unsigned integers to read.
|
|
53
|
+
* @returns An array of 32-bit unsigned integers.
|
|
54
|
+
*/
|
|
55
|
+
readNumbers(count) {
|
|
56
|
+
const result = Array.from({ length: count }, () => this.readNumber());
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
50
59
|
/**
|
|
51
60
|
* Reads a 16-bit unsigned integer from the buffer at the current index position.
|
|
52
61
|
* Updates the index position by 2 bytes after reading the number.
|
|
@@ -57,6 +66,16 @@ export class BufferReader {
|
|
|
57
66
|
this.index += 2;
|
|
58
67
|
return this.buffer.readUInt16BE(this.index - 2);
|
|
59
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Reads a 8-bit unsigned integer from the buffer at the current index position.
|
|
71
|
+
* Updates the index position by 1 byte after reading the number.
|
|
72
|
+
*
|
|
73
|
+
* @returns The read 8 bit value.
|
|
74
|
+
*/
|
|
75
|
+
readUInt8() {
|
|
76
|
+
this.index += 1;
|
|
77
|
+
return this.buffer.readUInt8(this.index - 1);
|
|
78
|
+
}
|
|
60
79
|
/**
|
|
61
80
|
* Reads and returns the next boolean value from the buffer.
|
|
62
81
|
* Advances the internal index by 1, treating the byte at the current index as a boolean value.
|
|
@@ -80,6 +99,12 @@ export class BufferReader {
|
|
|
80
99
|
this.index += n;
|
|
81
100
|
return Buffer.from(this.buffer.subarray(this.index - n, this.index));
|
|
82
101
|
}
|
|
102
|
+
/** Reads until the end of the buffer. */
|
|
103
|
+
readToEnd() {
|
|
104
|
+
const result = this.buffer.subarray(this.index);
|
|
105
|
+
this.index = this.buffer.length;
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
83
108
|
/**
|
|
84
109
|
* Reads a vector of numbers from the buffer and returns it as an array of numbers.
|
|
85
110
|
* The method utilizes the 'readVector' method, passing a deserializer that reads numbers.
|
|
@@ -212,4 +237,4 @@ export class BufferReader {
|
|
|
212
237
|
return this.buffer.length;
|
|
213
238
|
}
|
|
214
239
|
}
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyX3JlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJpYWxpemUvYnVmZmVyX3JlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBRXZCLFlBQW9CLE1BQWMsRUFBRSxNQUFNLEdBQUcsQ0FBQztRQUExQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFrRDtRQUN2RSxJQUFJLGNBQWMsWUFBWSxZQUFZLEVBQUUsQ0FBQztZQUMzQyxPQUFPLGNBQWMsQ0FBQztRQUN4QixDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDekMsQ0FBQyxDQUFDLGNBQWM7WUFDaEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3RixPQUFPLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFVBQVU7UUFDZixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxXQUFXLENBQW1CLEtBQVE7UUFDM0MsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMs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
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Fq, Fr } from '../fields/fields.js';
|
|
2
|
+
import { Tuple } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The FieldReader class provides a utility for reading various data types from a field array.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* Create a new instance of FieldReader with an array of fields and an optional offset.
|
|
8
|
+
* Use the provided methods to read desired data types from the field array.
|
|
9
|
+
* The reading methods automatically advance the internal index.
|
|
10
|
+
*/
|
|
11
|
+
export declare class FieldReader {
|
|
12
|
+
private fields;
|
|
13
|
+
private index;
|
|
14
|
+
private length;
|
|
15
|
+
constructor(fields: Fr[], offset?: number);
|
|
16
|
+
/**
|
|
17
|
+
* Creates a FieldReader instance from either a field array or an existing FieldReader.
|
|
18
|
+
*
|
|
19
|
+
* @param fields - A field array or FieldReader to initialize the FieldReader.
|
|
20
|
+
* @returns An instance of FieldReader.
|
|
21
|
+
*/
|
|
22
|
+
static asReader(fields: Fr[] | FieldReader): FieldReader;
|
|
23
|
+
/**
|
|
24
|
+
* Reads a single field from the array.
|
|
25
|
+
*
|
|
26
|
+
* @returns A field.
|
|
27
|
+
*/
|
|
28
|
+
readField(): Fr;
|
|
29
|
+
/**
|
|
30
|
+
* Reads a Fq from the array.
|
|
31
|
+
*
|
|
32
|
+
* @returns An Fq.
|
|
33
|
+
*/
|
|
34
|
+
readFq(): Fq;
|
|
35
|
+
/**
|
|
36
|
+
* Reads and returns the next boolean value from the field array.
|
|
37
|
+
* Advances the internal index by 1, treating the field at the current index as a boolean value.
|
|
38
|
+
* Returns true if the field is non-zero, false otherwise.
|
|
39
|
+
* Throw if the value is not 0 or 1.
|
|
40
|
+
*
|
|
41
|
+
* @returns A boolean value representing the field at the current index.
|
|
42
|
+
*/
|
|
43
|
+
readBoolean(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Reads a 32-bit unsigned integer from the field array at the current index position.
|
|
46
|
+
* Updates the index position by 1 after reading the number.
|
|
47
|
+
* Throw if the value is greater than 2 ** 32.
|
|
48
|
+
*
|
|
49
|
+
* @returns The read 32-bit unsigned integer value.
|
|
50
|
+
*/
|
|
51
|
+
readU32(): number;
|
|
52
|
+
/**
|
|
53
|
+
* Read an array of a fixed size field array.
|
|
54
|
+
*
|
|
55
|
+
* @param size - The fixed number of fields in the array.
|
|
56
|
+
* @returns An array of fields.
|
|
57
|
+
*/
|
|
58
|
+
readFieldArray<N extends number>(size: N): Tuple<Fr, N>;
|
|
59
|
+
/**
|
|
60
|
+
* Read an array of a fixed size with elements of type T from the field array.
|
|
61
|
+
* The 'itemDeserializer' object should have a 'fromFields' method that takes a FieldReader instance as input,
|
|
62
|
+
* and returns an instance of the desired deserialized data type T.
|
|
63
|
+
* This method will call the 'fromFields' method for each element in the array and return the resulting array.
|
|
64
|
+
*
|
|
65
|
+
* @param size - The fixed number of elements in the array.
|
|
66
|
+
* @param itemDeserializer - An object with a 'fromFields' method to deserialize individual elements of type T.
|
|
67
|
+
* @returns An array of instances of type T.
|
|
68
|
+
*/
|
|
69
|
+
readArray<T, N extends number>(size: N, itemDeserializer: {
|
|
70
|
+
/**
|
|
71
|
+
* A function for deserializing data from a FieldReader instance.
|
|
72
|
+
*/
|
|
73
|
+
fromFields: (reader: FieldReader) => T;
|
|
74
|
+
}): Tuple<T, N>;
|
|
75
|
+
/**
|
|
76
|
+
* Reads a serialized object from a field array and returns the deserialized object using the given deserializer.
|
|
77
|
+
*
|
|
78
|
+
* @typeparam T - The type of the deserialized object.
|
|
79
|
+
* @param deserializer - An object with a 'fromFields' method that takes a FieldReader instance and returns an instance of the deserialized object.
|
|
80
|
+
* @returns The deserialized object of type T.
|
|
81
|
+
*/
|
|
82
|
+
readObject<T>(deserializer: {
|
|
83
|
+
/**
|
|
84
|
+
* A method that takes a FieldReader instance and returns an instance of the deserialized data type.
|
|
85
|
+
*/
|
|
86
|
+
fromFields: (reader: FieldReader) => T;
|
|
87
|
+
}): T;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=field_reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field_reader.d.ts","sourceRoot":"","sources":["../../src/serialize/field_reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;;GAOG;AACH,qBAAa,WAAW;IAGV,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;gBACH,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,SAAI;IAQ5C;;;;;OAKG;WACW,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW;IAQ/D;;;;OAIG;IACI,SAAS,IAAI,EAAE;IAOtB;;;;OAIG;IACI,MAAM,IAAI,EAAE;IAInB;;;;;;;OAOG;IACI,WAAW,IAAI,OAAO;IAS7B;;;;;;OAMG;IACI,OAAO,IAAI,MAAM;IASxB;;;;;OAKG;IACI,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAQ9D;;;;;;;;;OASG;IACI,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAClC,IAAI,EAAE,CAAC,EACP,gBAAgB,EAAE;QAChB;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,CAAC;KACxC,GACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAKd;;;;;;OAMG;IACI,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE;QACjC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,CAAC;KACxC,GAAG,CAAC;CAGN"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { Fq } from '../fields/fields.js';
|
|
2
|
+
/**
|
|
3
|
+
* The FieldReader class provides a utility for reading various data types from a field array.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* Create a new instance of FieldReader with an array of fields and an optional offset.
|
|
7
|
+
* Use the provided methods to read desired data types from the field array.
|
|
8
|
+
* The reading methods automatically advance the internal index.
|
|
9
|
+
*/
|
|
10
|
+
export class FieldReader {
|
|
11
|
+
constructor(fields, offset = 0) {
|
|
12
|
+
this.fields = fields;
|
|
13
|
+
this.index = offset;
|
|
14
|
+
this.length = fields.length;
|
|
15
|
+
if (offset >= this.length) {
|
|
16
|
+
throw new Error('Offset out of bounds.');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Creates a FieldReader instance from either a field array or an existing FieldReader.
|
|
21
|
+
*
|
|
22
|
+
* @param fields - A field array or FieldReader to initialize the FieldReader.
|
|
23
|
+
* @returns An instance of FieldReader.
|
|
24
|
+
*/
|
|
25
|
+
static asReader(fields) {
|
|
26
|
+
if (fields instanceof FieldReader) {
|
|
27
|
+
return fields;
|
|
28
|
+
}
|
|
29
|
+
return new FieldReader(fields);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Reads a single field from the array.
|
|
33
|
+
*
|
|
34
|
+
* @returns A field.
|
|
35
|
+
*/
|
|
36
|
+
readField() {
|
|
37
|
+
if (this.index === this.length) {
|
|
38
|
+
throw new Error('Not enough fields to be consumed.');
|
|
39
|
+
}
|
|
40
|
+
return this.fields[this.index++];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Reads a Fq from the array.
|
|
44
|
+
*
|
|
45
|
+
* @returns An Fq.
|
|
46
|
+
*/
|
|
47
|
+
readFq() {
|
|
48
|
+
return Fq.fromHighLow(this.readField(), this.readField());
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Reads and returns the next boolean value from the field array.
|
|
52
|
+
* Advances the internal index by 1, treating the field at the current index as a boolean value.
|
|
53
|
+
* Returns true if the field is non-zero, false otherwise.
|
|
54
|
+
* Throw if the value is not 0 or 1.
|
|
55
|
+
*
|
|
56
|
+
* @returns A boolean value representing the field at the current index.
|
|
57
|
+
*/
|
|
58
|
+
readBoolean() {
|
|
59
|
+
const field = this.readField();
|
|
60
|
+
const value = field.toBigInt();
|
|
61
|
+
if (value > 1n) {
|
|
62
|
+
throw new Error('Field is not a boolean.');
|
|
63
|
+
}
|
|
64
|
+
return value == 1n;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Reads a 32-bit unsigned integer from the field array at the current index position.
|
|
68
|
+
* Updates the index position by 1 after reading the number.
|
|
69
|
+
* Throw if the value is greater than 2 ** 32.
|
|
70
|
+
*
|
|
71
|
+
* @returns The read 32-bit unsigned integer value.
|
|
72
|
+
*/
|
|
73
|
+
readU32() {
|
|
74
|
+
const field = this.readField();
|
|
75
|
+
const value = field.toBigInt();
|
|
76
|
+
if (value >= 1n << 32n) {
|
|
77
|
+
throw new Error('Field is not a u32.');
|
|
78
|
+
}
|
|
79
|
+
return Number(value);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Read an array of a fixed size field array.
|
|
83
|
+
*
|
|
84
|
+
* @param size - The fixed number of fields in the array.
|
|
85
|
+
* @returns An array of fields.
|
|
86
|
+
*/
|
|
87
|
+
readFieldArray(size) {
|
|
88
|
+
const result = [];
|
|
89
|
+
for (let i = 0; i < size; ++i) {
|
|
90
|
+
result.push(this.readField());
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Read an array of a fixed size with elements of type T from the field array.
|
|
96
|
+
* The 'itemDeserializer' object should have a 'fromFields' method that takes a FieldReader instance as input,
|
|
97
|
+
* and returns an instance of the desired deserialized data type T.
|
|
98
|
+
* This method will call the 'fromFields' method for each element in the array and return the resulting array.
|
|
99
|
+
*
|
|
100
|
+
* @param size - The fixed number of elements in the array.
|
|
101
|
+
* @param itemDeserializer - An object with a 'fromFields' method to deserialize individual elements of type T.
|
|
102
|
+
* @returns An array of instances of type T.
|
|
103
|
+
*/
|
|
104
|
+
readArray(size, itemDeserializer) {
|
|
105
|
+
const result = Array.from({ length: size }, () => itemDeserializer.fromFields(this));
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Reads a serialized object from a field array and returns the deserialized object using the given deserializer.
|
|
110
|
+
*
|
|
111
|
+
* @typeparam T - The type of the deserialized object.
|
|
112
|
+
* @param deserializer - An object with a 'fromFields' method that takes a FieldReader instance and returns an instance of the deserialized object.
|
|
113
|
+
* @returns The deserialized object of type T.
|
|
114
|
+
*/
|
|
115
|
+
readObject(deserializer) {
|
|
116
|
+
return deserializer.fromFields(this);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRfcmVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcmlhbGl6ZS9maWVsZF9yZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBTSxNQUFNLHFCQUFxQixDQUFDO0FBRzdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUFvQixNQUFZLEVBQUUsTUFBTSxHQUFHLENBQUM7UUFBeEIsV0FBTSxHQUFOLE1BQU0sQ0FBTTtRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUEwQjtRQUMvQyxJQUFJLE1BQU0sWUFBWSxXQUFXLEVBQUUsQ0FBQztZQUNsQyxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFNBQVM7UUFDZCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTTtRQUNYLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxXQUFXO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMvQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxLQUFLLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksT0FBTztRQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMvQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksY0FBYyxDQUFtQixJQUFPO1FBQzdDLE1BQU0sTUFBTSxHQUFTLEVBQUUsQ0FBQztRQUN4QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsT0FBTyxNQUFzQixDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxTQUFTLENBQ2QsSUFBTyxFQUNQLGdCQUtDO1FBRUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRixPQUFPLE1BQXFCLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFVBQVUsQ0FBSSxZQUtwQjtRQUNDLE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0YifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { Fr } from '
|
|
2
|
+
import { Fr } from '../fields/fields.js';
|
|
3
3
|
/**
|
|
4
4
|
* Convert a boolean value to its corresponding byte representation in a Buffer of size 1.
|
|
5
5
|
* The function takes a boolean value and writes it into a new buffer as either 1 (true) or 0 (false).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"free_funcs.d.ts","sourceRoot":"","sources":["../../src/serialize/free_funcs.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"free_funcs.d.ts","sourceRoot":"","sources":["../../src/serialize/free_funcs.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAEzC;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,UAIpC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,UAItD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,UAItD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,UAItD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,UAIrD;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,UAKnC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,UAIjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAU/C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAW1D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '
|
|
1
|
+
import { Fr } from '../fields/fields.js';
|
|
2
2
|
/**
|
|
3
3
|
* Convert a boolean value to its corresponding byte representation in a Buffer of size 1.
|
|
4
4
|
* The function takes a boolean value and writes it into a new buffer as either 1 (true) or 0 (false).
|
|
@@ -131,4 +131,4 @@ export function from2Fields(field1, field2) {
|
|
|
131
131
|
// Concatenate the two parts to form the original buffer
|
|
132
132
|
return Buffer.concat([originalPart1, originalPart2]);
|
|
133
133
|
}
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlZV9mdW5jcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJpYWxpemUvZnJlZV9mdW5jcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFekM7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsQ0FBVTtJQUNuQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFCLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLENBQVMsRUFBRSxVQUFVLEdBQUcsQ0FBQztJQUNyRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyQyxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLENBQVMsRUFBRSxVQUFVLEdBQUcsQ0FBQztJQUNyRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyQyxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxDQUFTLEVBQUUsVUFBVSxHQUFHLENBQUM7SUFDckQsTUFBTSxHQUFHLEdBQUcsTUFBTSxD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/serialize/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/serialize/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
|
package/dest/serialize/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './free_funcs.js';
|
|
2
2
|
export * from './buffer_reader.js';
|
|
3
|
+
export * from './field_reader.js';
|
|
3
4
|
export * from './types.js';
|
|
4
5
|
export * from './serialize.js';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXplL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZ0JBQWdCLENBQUMifQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { Fr } from '../fields/fields.js';
|
|
2
3
|
/**
|
|
3
4
|
* For serializing an array of fixed length buffers.
|
|
4
5
|
* TODO move to foundation pkg.
|
|
@@ -62,22 +63,31 @@ export declare function deserializeField(buf: Buffer, offset?: number): {
|
|
|
62
63
|
};
|
|
63
64
|
/** A type that can be written to a buffer. */
|
|
64
65
|
export type Bufferable = boolean | Buffer | number | string | {
|
|
65
|
-
/**
|
|
66
|
-
* Serialize to a buffer of 32 bytes.
|
|
67
|
-
*/
|
|
68
|
-
toBuffer32: () => Buffer;
|
|
69
|
-
} | {
|
|
70
66
|
/**
|
|
71
67
|
* Serialize to a buffer.
|
|
72
68
|
*/
|
|
73
69
|
toBuffer: () => Buffer;
|
|
74
70
|
} | Bufferable[];
|
|
71
|
+
/** A type that can be converted to a Field or a Field array. */
|
|
72
|
+
export type Fieldeable = Fr | boolean | number | bigint | {
|
|
73
|
+
/** Serialize to a field. */
|
|
74
|
+
toField: () => Fr;
|
|
75
|
+
} | {
|
|
76
|
+
/** Serialize to an array of fields. */
|
|
77
|
+
toFields: () => Fr[];
|
|
78
|
+
} | Fieldeable[];
|
|
75
79
|
/**
|
|
76
80
|
* Serializes a list of objects contiguously.
|
|
77
81
|
* @param objs - Objects to serialize.
|
|
78
82
|
* @returns A buffer list with the concatenation of all fields.
|
|
79
83
|
*/
|
|
80
84
|
export declare function serializeToBufferArray(...objs: Bufferable[]): Buffer[];
|
|
85
|
+
/**
|
|
86
|
+
* Serializes a list of objects contiguously.
|
|
87
|
+
* @param objs - Objects to serialize.
|
|
88
|
+
* @returns An array of fields with the concatenation of all fields.
|
|
89
|
+
*/
|
|
90
|
+
export declare function serializeToFields(...objs: Fieldeable[]): Fr[];
|
|
81
91
|
/**
|
|
82
92
|
* Serializes a list of objects contiguously.
|
|
83
93
|
* @param objs - Objects to serialize.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/serialize/serialize.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/serialize/serialize.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAGzC;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAIlE;AAED;;GAEG;AACH,KAAK,aAAa,CAAC,CAAC,IAAI,CACtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,KACX;IACH;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,SAAI,GACT;IACD;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,CAAC;IACV;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb,CAWA;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAGzD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,SAAI,GAAG,MAAM,CAInE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI;;;EAGvD;AAED,8CAA8C;AAC9C,MAAM,MAAM,UAAU,GAClB,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,GACN;IACE;;OAEG;IACH,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB,GACD,UAAU,EAAE,CAAC;AAEjB,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAClB,EAAE,GACF,OAAO,GACP,MAAM,GACN,MAAM,GACN;IACE,4BAA4B;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,GACD;IACE,uCAAuC;IACvC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;CACtB,GACD,UAAU,EAAE,CAAC;AAEjB;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAoBtE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CAgB7D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA0BlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,UAEpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI,EAAE,KAAK,SAAK;;;EAEpE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,UAEvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI;;;EAGtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI;;;EAGxD;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI;;;EAGvD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { toBigIntBE, toBufferBE } from '
|
|
1
|
+
import { toBigIntBE, toBufferBE } from '../bigint-buffer/index.js';
|
|
2
|
+
import { Fr } from '../fields/fields.js';
|
|
2
3
|
import { numToUInt32BE } from './free_funcs.js';
|
|
3
4
|
/**
|
|
4
5
|
* For serializing an array of fixed length buffers.
|
|
@@ -61,14 +62,6 @@ export function deserializeField(buf, offset = 0) {
|
|
|
61
62
|
const adv = 32;
|
|
62
63
|
return { elem: buf.slice(offset, offset + adv), adv };
|
|
63
64
|
}
|
|
64
|
-
/**
|
|
65
|
-
* Checks whether an object implements the toBuffer32 method.
|
|
66
|
-
* @param obj - The object to check.
|
|
67
|
-
* @returns Whether the object implements the toBuffer32 method.
|
|
68
|
-
*/
|
|
69
|
-
function isSerializableToBuffer32(obj) {
|
|
70
|
-
return !!obj.toBuffer32;
|
|
71
|
-
}
|
|
72
65
|
/**
|
|
73
66
|
* Serializes a list of objects contiguously.
|
|
74
67
|
* @param objs - Objects to serialize.
|
|
@@ -94,15 +87,38 @@ export function serializeToBufferArray(...objs) {
|
|
|
94
87
|
ret.push(numToUInt32BE(obj.length));
|
|
95
88
|
ret.push(Buffer.from(obj));
|
|
96
89
|
}
|
|
97
|
-
else if (isSerializableToBuffer32(obj)) {
|
|
98
|
-
ret.push(obj.toBuffer32());
|
|
99
|
-
}
|
|
100
90
|
else {
|
|
101
91
|
ret.push(obj.toBuffer());
|
|
102
92
|
}
|
|
103
93
|
}
|
|
104
94
|
return ret;
|
|
105
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Serializes a list of objects contiguously.
|
|
98
|
+
* @param objs - Objects to serialize.
|
|
99
|
+
* @returns An array of fields with the concatenation of all fields.
|
|
100
|
+
*/
|
|
101
|
+
export function serializeToFields(...objs) {
|
|
102
|
+
let ret = [];
|
|
103
|
+
for (const obj of objs) {
|
|
104
|
+
if (Array.isArray(obj)) {
|
|
105
|
+
ret = [...ret, ...serializeToFields(...obj)];
|
|
106
|
+
}
|
|
107
|
+
else if (obj instanceof Fr) {
|
|
108
|
+
ret.push(obj);
|
|
109
|
+
}
|
|
110
|
+
else if (typeof obj === 'boolean' || typeof obj === 'number' || typeof obj === 'bigint') {
|
|
111
|
+
ret.push(new Fr(obj));
|
|
112
|
+
}
|
|
113
|
+
else if ('toFields' in obj) {
|
|
114
|
+
ret = [...ret, ...obj.toFields()];
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
ret.push(obj.toField());
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return ret;
|
|
121
|
+
}
|
|
106
122
|
/**
|
|
107
123
|
* Serializes a list of objects contiguously.
|
|
108
124
|
* @param objs - Objects to serialize.
|
|
@@ -209,4 +225,4 @@ export function deserializeInt32(buf, offset = 0) {
|
|
|
209
225
|
const adv = 4;
|
|
210
226
|
return { elem: buf.readInt32BE(offset), adv };
|
|
211
227
|
}
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcmlhbGl6ZS9zZXJpYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUFDLEdBQWE7SUFDeEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxTQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBbUJEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxXQUE2QixFQUM3QixNQUFjLEVBQ2QsTUFBTSxHQUFHLENBQUM7SUFXVixJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUM7SUFDakIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ1QsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUksSUFBSSxDQUFDLENBQUM7SUFDL0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzlCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FB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
|
package/dest/serialize/types.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export function assertLength(array, n) {
|
|
8
8
|
if (array.length !== n) {
|
|
9
|
-
throw new Error(
|
|
9
|
+
throw new Error(`Wrong 'fixed array' size. Expected ${n}, got ${array.length}.`);
|
|
10
10
|
}
|
|
11
11
|
return array;
|
|
12
12
|
}
|
|
@@ -19,4 +19,4 @@ export function assertLength(array, n) {
|
|
|
19
19
|
export function mapTuple(tuple, fn) {
|
|
20
20
|
return tuple.map(fn);
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXplL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBc0IsS0FBVSxFQUFFLENBQUk7SUFDaEUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsU0FBUyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBQ0QsT0FBTyxLQUFvQixDQUFDO0FBQzlCLENBQUM7QUFVRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQWdELEtBQVEsRUFBRSxFQUFLO0lBQ3JGLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQW1CLENBQUM7QUFDekMsQ0FBQyJ9
|
package/dest/sleep/index.js
CHANGED
|
@@ -67,4 +67,4 @@ export class InterruptibleSleep {
|
|
|
67
67
|
export function sleep(ms) {
|
|
68
68
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
69
69
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xlZXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQUEvQjtRQUNVLHFCQUFnQixHQUFtQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDNUQscUJBQWdCLEdBQUcsSUFBSSxPQUFPLENBQVUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLGFBQVEsR0FBcUIsRUFBRSxDQUFDO0lBaUMxQyxDQUFDO0lBL0JDOzs7Ozs7O09BT0c7SUFDSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQVU7UUFDM0IsSUFBSSxPQUF3QixDQUFDO1FBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFVLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsTUFBTSxXQUFXLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDekUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztDQUNGO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsRUFBVTtJQUM5QixPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMifQ==
|