@aztec/foundation 0.7.2 → 0.7.4
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/.tsbuildinfo +1 -0
- package/dest/abi/abi.d.ts +237 -0
- package/dest/abi/abi.d.ts.map +1 -0
- package/dest/abi/abi.js +37 -0
- package/dest/abi/abi_coder.d.ts +8 -0
- package/dest/abi/abi_coder.d.ts.map +1 -0
- package/dest/abi/abi_coder.js +24 -0
- package/dest/abi/decoder.d.ts +57 -0
- package/dest/abi/decoder.d.ts.map +1 -0
- package/dest/abi/decoder.js +149 -0
- package/dest/abi/decoder.test.d.ts +2 -0
- package/dest/abi/decoder.test.d.ts.map +1 -0
- package/dest/abi/decoder.test.js +70 -0
- package/dest/abi/encoder.d.ts +10 -0
- package/dest/abi/encoder.d.ts.map +1 -0
- package/dest/abi/encoder.js +92 -0
- package/dest/abi/encoder.test.d.ts +2 -0
- package/dest/abi/encoder.test.d.ts.map +1 -0
- package/dest/abi/encoder.test.js +74 -0
- package/dest/abi/function_selector.d.ts +73 -0
- package/dest/abi/function_selector.d.ts.map +1 -0
- package/dest/abi/function_selector.js +104 -0
- package/dest/abi/index.d.ts +6 -0
- package/dest/abi/index.d.ts.map +1 -0
- package/dest/abi/index.js +6 -0
- package/dest/async-map/async_map.test.d.ts +2 -0
- package/dest/async-map/async_map.test.d.ts.map +1 -0
- package/dest/async-map/async_map.test.js +9 -0
- package/dest/async-map/index.d.ts +13 -0
- package/dest/async-map/index.d.ts.map +1 -0
- package/dest/async-map/index.js +19 -0
- package/dest/aztec-address/index.d.ts +114 -0
- package/dest/aztec-address/index.d.ts.map +1 -0
- package/dest/aztec-address/index.js +148 -0
- package/dest/bigint-buffer/bigint-buffer.test.d.ts +2 -0
- package/dest/bigint-buffer/bigint-buffer.test.d.ts.map +1 -0
- package/dest/bigint-buffer/bigint-buffer.test.js +18 -0
- package/dest/bigint-buffer/index.d.ts +35 -0
- package/dest/bigint-buffer/index.d.ts.map +1 -0
- package/dest/bigint-buffer/index.js +68 -0
- package/dest/collection/array.d.ts +30 -0
- package/dest/collection/array.d.ts.map +1 -0
- package/dest/collection/array.js +47 -0
- package/dest/collection/index.d.ts +2 -0
- package/dest/collection/index.d.ts.map +1 -0
- package/dest/collection/index.js +2 -0
- package/dest/committable/committable.d.ts +28 -0
- package/dest/committable/committable.d.ts.map +1 -0
- package/dest/committable/committable.js +41 -0
- package/dest/committable/committable.test.d.ts +2 -0
- package/dest/committable/committable.test.d.ts.map +1 -0
- package/dest/committable/committable.test.js +26 -0
- package/dest/committable/index.d.ts +2 -0
- package/dest/committable/index.d.ts.map +1 -0
- package/dest/committable/index.js +2 -0
- package/dest/crypto/index.d.ts +4 -0
- package/dest/crypto/index.d.ts.map +1 -0
- package/dest/crypto/index.js +4 -0
- package/dest/crypto/keccak/index.d.ts +20 -0
- package/dest/crypto/keccak/index.d.ts.map +1 -0
- package/dest/crypto/keccak/index.js +31 -0
- package/dest/crypto/random/index.d.ts +3 -0
- package/dest/crypto/random/index.d.ts.map +1 -0
- package/dest/crypto/random/index.js +36 -0
- package/dest/crypto/random/index.test.d.ts +2 -0
- package/dest/crypto/random/index.test.d.ts.map +1 -0
- package/dest/crypto/random/index.test.js +13 -0
- package/dest/crypto/sha256/index.d.ts +11 -0
- package/dest/crypto/sha256/index.d.ts.map +1 -0
- package/dest/crypto/sha256/index.js +14 -0
- package/dest/crypto/sha256/index.test.d.ts +2 -0
- package/dest/crypto/sha256/index.test.d.ts.map +1 -0
- package/dest/crypto/sha256/index.test.js +11 -0
- package/dest/errors/index.d.ts +8 -0
- package/dest/errors/index.d.ts.map +1 -0
- package/dest/errors/index.js +8 -0
- package/dest/eth-address/eth_address.test.d.ts +2 -0
- package/dest/eth-address/eth_address.test.d.ts.map +1 -0
- package/dest/eth-address/eth_address.test.js +95 -0
- package/dest/eth-address/index.d.ts +144 -0
- package/dest/eth-address/index.d.ts.map +1 -0
- package/dest/eth-address/index.js +228 -0
- package/dest/fields/coordinate.d.ts +67 -0
- package/dest/fields/coordinate.d.ts.map +1 -0
- package/dest/fields/coordinate.js +95 -0
- package/dest/fields/coordinate.test.d.ts +2 -0
- package/dest/fields/coordinate.test.d.ts.map +1 -0
- package/dest/fields/coordinate.test.js +22 -0
- package/dest/fields/fields.d.ts +177 -0
- package/dest/fields/fields.d.ts.map +1 -0
- package/dest/fields/fields.js +219 -0
- package/dest/fields/grumpkin_scalar.d.ts +96 -0
- package/dest/fields/grumpkin_scalar.d.ts.map +1 -0
- package/dest/fields/grumpkin_scalar.js +125 -0
- package/dest/fields/grumpkin_scalar.test.d.ts +2 -0
- package/dest/fields/grumpkin_scalar.test.d.ts.map +1 -0
- package/dest/fields/grumpkin_scalar.test.js +45 -0
- package/dest/fields/index.d.ts +5 -0
- package/dest/fields/index.d.ts.map +1 -0
- package/dest/fields/index.js +5 -0
- package/dest/fields/point.d.ts +105 -0
- package/dest/fields/point.d.ts.map +1 -0
- package/dest/fields/point.js +125 -0
- package/dest/fifo/bounded_serial_queue.d.ts +56 -0
- package/dest/fifo/bounded_serial_queue.d.ts.map +1 -0
- package/dest/fifo/bounded_serial_queue.js +94 -0
- package/dest/fifo/index.d.ts +5 -0
- package/dest/fifo/index.d.ts.map +1 -0
- package/dest/fifo/index.js +5 -0
- package/dest/fifo/memory_fifo.d.ts +55 -0
- package/dest/fifo/memory_fifo.d.ts.map +1 -0
- package/dest/fifo/memory_fifo.js +109 -0
- package/dest/fifo/semaphore.d.ts +23 -0
- package/dest/fifo/semaphore.d.ts.map +1 -0
- package/dest/fifo/semaphore.js +30 -0
- package/dest/fifo/serial_queue.d.ts +48 -0
- package/dest/fifo/serial_queue.d.ts.map +1 -0
- package/dest/fifo/serial_queue.js +74 -0
- package/dest/json-rpc/class_converter.d.ts +144 -0
- package/dest/json-rpc/class_converter.d.ts.map +1 -0
- package/dest/json-rpc/class_converter.js +100 -0
- package/dest/json-rpc/client/index.d.ts +2 -0
- package/dest/json-rpc/client/index.d.ts.map +1 -0
- package/dest/json-rpc/client/index.js +2 -0
- package/dest/json-rpc/client/json_rpc_client.d.ts +29 -0
- package/dest/json-rpc/client/json_rpc_client.d.ts.map +1 -0
- package/dest/json-rpc/client/json_rpc_client.js +104 -0
- package/dest/json-rpc/client/json_rpc_client.test.d.ts +2 -0
- package/dest/json-rpc/client/json_rpc_client.test.d.ts.map +1 -0
- package/dest/json-rpc/client/json_rpc_client.test.js +20 -0
- package/dest/json-rpc/convert.d.ts +28 -0
- package/dest/json-rpc/convert.d.ts.map +1 -0
- package/dest/json-rpc/convert.js +139 -0
- package/dest/json-rpc/convert.test.d.ts +2 -0
- package/dest/json-rpc/convert.test.d.ts.map +1 -0
- package/dest/json-rpc/convert.test.js +68 -0
- package/dest/json-rpc/fixtures/class_a.d.ts +11 -0
- package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -0
- package/dest/json-rpc/fixtures/class_a.js +17 -0
- package/dest/json-rpc/fixtures/class_b.d.ts +11 -0
- package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -0
- package/dest/json-rpc/fixtures/class_b.js +17 -0
- package/dest/json-rpc/fixtures/test_state.d.ts +47 -0
- package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -0
- package/dest/json-rpc/fixtures/test_state.js +62 -0
- package/dest/json-rpc/index.d.ts +3 -0
- package/dest/json-rpc/index.d.ts.map +1 -0
- package/dest/json-rpc/index.js +3 -0
- package/dest/json-rpc/js_utils.d.ts +13 -0
- package/dest/json-rpc/js_utils.d.ts.map +1 -0
- package/dest/json-rpc/js_utils.js +18 -0
- package/dest/json-rpc/server/index.d.ts +3 -0
- package/dest/json-rpc/server/index.d.ts.map +1 -0
- package/dest/json-rpc/server/index.js +3 -0
- package/dest/json-rpc/server/json_proxy.d.ts +18 -0
- package/dest/json-rpc/server/json_proxy.d.ts.map +1 -0
- package/dest/json-rpc/server/json_proxy.js +36 -0
- package/dest/json-rpc/server/json_rpc_server.d.ts +34 -0
- package/dest/json-rpc/server/json_rpc_server.d.ts.map +1 -0
- package/dest/json-rpc/server/json_rpc_server.js +133 -0
- package/dest/json-rpc/server/json_rpc_server.test.d.ts +2 -0
- package/dest/json-rpc/server/json_rpc_server.test.d.ts.map +1 -0
- package/dest/json-rpc/server/json_rpc_server.test.js +22 -0
- package/dest/log/console.d.ts +11 -0
- package/dest/log/console.d.ts.map +1 -0
- package/dest/log/console.js +38 -0
- package/dest/log/debug.d.ts +43 -0
- package/dest/log/debug.d.ts.map +1 -0
- package/dest/log/debug.js +75 -0
- package/dest/log/index.d.ts +9 -0
- package/dest/log/index.d.ts.map +1 -0
- package/dest/log/index.js +5 -0
- package/dest/log/log_history.d.ts +31 -0
- package/dest/log/log_history.d.ts.map +1 -0
- package/dest/log/log_history.js +42 -0
- package/dest/log/log_history.test.d.ts +2 -0
- package/dest/log/log_history.test.d.ts.map +1 -0
- package/dest/log/log_history.test.js +78 -0
- package/dest/log/logger.d.ts +34 -0
- package/dest/log/logger.d.ts.map +1 -0
- package/dest/log/logger.js +78 -0
- package/dest/mutex/index.d.ts +53 -0
- package/dest/mutex/index.d.ts.map +1 -0
- package/dest/mutex/index.js +74 -0
- package/dest/mutex/mutex.test.d.ts +9 -0
- package/dest/mutex/mutex.test.d.ts.map +1 -0
- package/dest/mutex/mutex.test.js +58 -0
- package/dest/mutex/mutex_database.d.ts +10 -0
- package/dest/mutex/mutex_database.d.ts.map +1 -0
- package/dest/mutex/mutex_database.js +2 -0
- package/dest/retry/index.d.ts +44 -0
- package/dest/retry/index.d.ts.map +1 -0
- package/dest/retry/index.js +89 -0
- package/dest/running-promise/index.d.ts +35 -0
- package/dest/running-promise/index.d.ts.map +1 -0
- package/dest/running-promise/index.js +59 -0
- package/dest/serialize/buffer_reader.d.ts +188 -0
- package/dest/serialize/buffer_reader.d.ts.map +1 -0
- package/dest/serialize/buffer_reader.js +229 -0
- package/dest/serialize/buffer_reader.test.d.ts +2 -0
- package/dest/serialize/buffer_reader.test.d.ts.map +1 -0
- package/dest/serialize/buffer_reader.test.js +156 -0
- package/dest/serialize/deserializer.d.ts +134 -0
- package/dest/serialize/deserializer.d.ts.map +1 -0
- package/dest/serialize/deserializer.js +145 -0
- package/dest/serialize/free_funcs.d.ts +203 -0
- package/dest/serialize/free_funcs.d.ts.map +1 -0
- package/dest/serialize/free_funcs.js +250 -0
- package/dest/serialize/index.d.ts +6 -0
- package/dest/serialize/index.d.ts.map +1 -0
- package/dest/serialize/index.js +6 -0
- package/dest/serialize/serialize.test.d.ts +2 -0
- package/dest/serialize/serialize.test.d.ts.map +1 -0
- package/dest/serialize/serialize.test.js +68 -0
- package/dest/serialize/serializer.d.ts +89 -0
- package/dest/serialize/serializer.d.ts.map +1 -0
- package/dest/serialize/serializer.js +111 -0
- package/dest/serialize/types.d.ts +33 -0
- package/dest/serialize/types.d.ts.map +1 -0
- package/dest/serialize/types.js +22 -0
- package/dest/sleep/index.d.ts +52 -0
- package/dest/sleep/index.d.ts.map +1 -0
- package/dest/sleep/index.js +70 -0
- package/dest/timer/index.d.ts +3 -0
- package/dest/timer/index.d.ts.map +1 -0
- package/dest/timer/index.js +3 -0
- package/dest/timer/timeout.d.ts +41 -0
- package/dest/timer/timeout.d.ts.map +1 -0
- package/dest/timer/timeout.js +62 -0
- package/dest/timer/timer.d.ts +33 -0
- package/dest/timer/timer.d.ts.map +1 -0
- package/dest/timer/timer.js +38 -0
- package/dest/transport/browser/index.d.ts +5 -0
- package/dest/transport/browser/index.d.ts.map +1 -0
- package/dest/transport/browser/index.js +5 -0
- package/dest/transport/browser/message_port_socket.d.ts +37 -0
- package/dest/transport/browser/message_port_socket.d.ts.map +1 -0
- package/dest/transport/browser/message_port_socket.js +46 -0
- package/dest/transport/browser/shared_worker_connector.d.ts +19 -0
- package/dest/transport/browser/shared_worker_connector.d.ts.map +1 -0
- package/dest/transport/browser/shared_worker_connector.js +21 -0
- package/dest/transport/browser/shared_worker_listener.d.ts +38 -0
- package/dest/transport/browser/shared_worker_listener.d.ts.map +1 -0
- package/dest/transport/browser/shared_worker_listener.js +37 -0
- package/dest/transport/browser/worker_connector.d.ts +26 -0
- package/dest/transport/browser/worker_connector.d.ts.map +1 -0
- package/dest/transport/browser/worker_connector.js +30 -0
- package/dest/transport/browser/worker_listener.d.ts +39 -0
- package/dest/transport/browser/worker_listener.d.ts.map +1 -0
- package/dest/transport/browser/worker_listener.js +39 -0
- package/dest/transport/dispatch/create_dispatch_fn.d.ts +25 -0
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -0
- package/dest/transport/dispatch/create_dispatch_fn.js +18 -0
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts +102 -0
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -0
- package/dest/transport/dispatch/create_dispatch_proxy.js +56 -0
- package/dest/transport/dispatch/messages.d.ts +52 -0
- package/dest/transport/dispatch/messages.d.ts.map +1 -0
- package/dest/transport/dispatch/messages.js +12 -0
- package/dest/transport/index.d.ts +12 -0
- package/dest/transport/index.d.ts.map +1 -0
- package/dest/transport/index.js +12 -0
- package/dest/transport/interface/connector.d.ts +8 -0
- package/dest/transport/interface/connector.d.ts.map +1 -0
- package/dest/transport/interface/connector.js +2 -0
- package/dest/transport/interface/listener.d.ts +13 -0
- package/dest/transport/interface/listener.d.ts.map +1 -0
- package/dest/transport/interface/listener.js +2 -0
- package/dest/transport/interface/socket.d.ts +13 -0
- package/dest/transport/interface/socket.d.ts.map +1 -0
- package/dest/transport/interface/socket.js +2 -0
- package/dest/transport/interface/transferable.d.ts +68 -0
- package/dest/transport/interface/transferable.d.ts.map +1 -0
- package/dest/transport/interface/transferable.js +63 -0
- package/dest/transport/node/index.d.ts +3 -0
- package/dest/transport/node/index.d.ts.map +1 -0
- package/dest/transport/node/index.js +3 -0
- package/dest/transport/node/node_connector.d.ts +28 -0
- package/dest/transport/node/node_connector.d.ts.map +1 -0
- package/dest/transport/node/node_connector.js +28 -0
- package/dest/transport/node/node_connector_socket.d.ts +42 -0
- package/dest/transport/node/node_connector_socket.d.ts.map +1 -0
- package/dest/transport/node/node_connector_socket.js +48 -0
- package/dest/transport/node/node_listener.d.ts +26 -0
- package/dest/transport/node/node_listener.d.ts.map +1 -0
- package/dest/transport/node/node_listener.js +30 -0
- package/dest/transport/node/node_listener_socket.d.ts +37 -0
- package/dest/transport/node/node_listener_socket.d.ts.map +1 -0
- package/dest/transport/node/node_listener_socket.js +44 -0
- package/dest/transport/transport_client.d.ts +61 -0
- package/dest/transport/transport_client.d.ts.map +1 -0
- package/dest/transport/transport_client.js +94 -0
- package/dest/transport/transport_server.d.ts +56 -0
- package/dest/transport/transport_server.d.ts.map +1 -0
- package/dest/transport/transport_server.js +101 -0
- package/dest/types/index.d.ts +7 -0
- package/dest/types/index.d.ts.map +1 -0
- package/dest/types/index.js +2 -0
- package/dest/url/index.d.ts +9 -0
- package/dest/url/index.d.ts.map +1 -0
- package/dest/url/index.js +66 -0
- package/dest/wasm/empty_wasi_sdk.d.ts +130 -0
- package/dest/wasm/empty_wasi_sdk.d.ts.map +1 -0
- package/dest/wasm/empty_wasi_sdk.js +166 -0
- package/dest/wasm/index.d.ts +2 -0
- package/dest/wasm/index.d.ts.map +1 -0
- package/dest/wasm/index.js +2 -0
- package/dest/wasm/wasm_module.d.ts +135 -0
- package/dest/wasm/wasm_module.d.ts.map +1 -0
- package/dest/wasm/wasm_module.js +205 -0
- package/dest/wasm/wasm_module.test.d.ts +2 -0
- package/dest/wasm/wasm_module.test.d.ts.map +1 -0
- package/dest/wasm/wasm_module.test.js +24 -0
- package/dest/worker/browser/index.d.ts +3 -0
- package/dest/worker/browser/index.d.ts.map +1 -0
- package/dest/worker/browser/index.js +3 -0
- package/dest/worker/browser/start_web_module.d.ts +7 -0
- package/dest/worker/browser/start_web_module.d.ts.map +1 -0
- package/dest/worker/browser/start_web_module.js +22 -0
- package/dest/worker/browser/web_data_store.d.ts +23 -0
- package/dest/worker/browser/web_data_store.d.ts.map +1 -0
- package/dest/worker/browser/web_data_store.js +32 -0
- package/dest/worker/browser/web_worker.d.ts +10 -0
- package/dest/worker/browser/web_worker.d.ts.map +1 -0
- package/dest/worker/browser/web_worker.js +23 -0
- package/dest/worker/data_store.d.ts +20 -0
- package/dest/worker/data_store.d.ts.map +1 -0
- package/dest/worker/data_store.js +2 -0
- package/dest/worker/index.d.ts +3 -0
- package/dest/worker/index.d.ts.map +1 -0
- package/dest/worker/index.js +2 -0
- package/dest/worker/node/index.d.ts +3 -0
- package/dest/worker/node/index.d.ts.map +1 -0
- package/dest/worker/node/index.js +3 -0
- package/dest/worker/node/node_data_store.d.ts +12 -0
- package/dest/worker/node/node_data_store.d.ts.map +1 -0
- package/dest/worker/node/node_data_store.js +21 -0
- package/dest/worker/node/node_worker.d.ts +6 -0
- package/dest/worker/node/node_worker.d.ts.map +1 -0
- package/dest/worker/node/node_worker.js +20 -0
- package/dest/worker/node/start_node_module.d.ts +7 -0
- package/dest/worker/node/start_node_module.d.ts.map +1 -0
- package/dest/worker/node/start_node_module.js +26 -0
- package/dest/worker/wasm_worker.d.ts +9 -0
- package/dest/worker/wasm_worker.d.ts.map +1 -0
- package/dest/worker/wasm_worker.js +2 -0
- package/dest/worker/worker_pool.d.ts +40 -0
- package/dest/worker/worker_pool.d.ts.map +1 -0
- package/dest/worker/worker_pool.js +62 -0
- package/package.json +1 -1
- package/src/abi/abi.ts +8 -2
- package/src/abi/encoder.ts +5 -3
- package/Dockerfile +0 -15
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/**
|
|
3
|
+
* DeserializeFn is a type representing a deserialization function for a specific data type. The function takes
|
|
4
|
+
* a buffer and an offset as input, and returns an object containing the deserialized element of the data type and
|
|
5
|
+
* the number of bytes advanced in the buffer. This type is used to provide custom deserialization logic for arrays,
|
|
6
|
+
* objects or custom data types while working with the Deserializer class.
|
|
7
|
+
*/
|
|
8
|
+
export type DeserializeFn<T> = (buf: Buffer, offset: number) => {
|
|
9
|
+
/**
|
|
10
|
+
* The deserialized element of the specified data type.
|
|
11
|
+
*/
|
|
12
|
+
elem: T;
|
|
13
|
+
/**
|
|
14
|
+
* The number of bytes advanced in the buffer during deserialization.
|
|
15
|
+
*/
|
|
16
|
+
adv: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Deserializer class provides a set of methods to deserialize different data types from a buffer.
|
|
20
|
+
* It maintains an internal buffer and offset, updating the offset as it deserializes each data type.
|
|
21
|
+
* The class supports deserialization of various data types including boolean, integers, big integers,
|
|
22
|
+
* buffers, strings, dates, and arrays with custom deserialization functions.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* const deserializer = new Deserializer(buffer);
|
|
26
|
+
* const boolValue = deserializer.bool();
|
|
27
|
+
* const intValue = deserializer.int32();
|
|
28
|
+
* const bigIntValue = deserializer.bigInt();
|
|
29
|
+
* const stringValue = deserializer.string();
|
|
30
|
+
* const dateValue = deserializer.date();
|
|
31
|
+
* const arrayValue = deserializer.deserializeArray(customDeserializeFn);
|
|
32
|
+
*/
|
|
33
|
+
export declare class Deserializer {
|
|
34
|
+
private buf;
|
|
35
|
+
private offset;
|
|
36
|
+
constructor(buf: Buffer, offset?: number);
|
|
37
|
+
/**
|
|
38
|
+
* Deserialize a boolean value from the buffer at the current offset.
|
|
39
|
+
* Advances the internal offset by one byte after deserialization.
|
|
40
|
+
* Returns 'true' if the deserialized value is non-zero, otherwise returns 'false'.
|
|
41
|
+
*
|
|
42
|
+
* @returns The deserialized boolean value.
|
|
43
|
+
*/
|
|
44
|
+
bool(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Deserialize a 32-bit unsigned integer from the buffer at the current offset.
|
|
47
|
+
* Advances the internal buffer offset by 4 after successful deserialization.
|
|
48
|
+
* The result is returned as a JavaScript number.
|
|
49
|
+
*
|
|
50
|
+
* @returns A 32-bit unsigned integer value.
|
|
51
|
+
*/
|
|
52
|
+
uInt32(): number;
|
|
53
|
+
/**
|
|
54
|
+
* Deserialize a 32-bit signed integer from the internal buffer.
|
|
55
|
+
* Reads 4 bytes from the current offset in the buffer and interprets them as a little-endian int32 value.
|
|
56
|
+
* Advances the internal offset by 4 bytes after successful deserialization.
|
|
57
|
+
*
|
|
58
|
+
* @returns The deserialized 32-bit signed integer value.
|
|
59
|
+
*/
|
|
60
|
+
int32(): number;
|
|
61
|
+
/**
|
|
62
|
+
* Deserialize a BigInt from the buffer, taking into account the specified width.
|
|
63
|
+
* The method reads 'width' bytes from the buffer starting at the current offset and converts it to a BigInt.
|
|
64
|
+
* The offset is advanced by 'width' bytes after successful deserialization.
|
|
65
|
+
*
|
|
66
|
+
* @param width - The number of bytes to read from the buffer to construct the BigInt (default is 32).
|
|
67
|
+
* @returns The deserialized BigInt value.
|
|
68
|
+
*/
|
|
69
|
+
bigInt(width?: number): bigint;
|
|
70
|
+
/**
|
|
71
|
+
* Deserialize a variable-length byte array from the internal buffer.
|
|
72
|
+
* This method reads the length of the array and then extracts the corresponding bytes.
|
|
73
|
+
* It advances the internal offset by the number of bytes read, including the length prefix.
|
|
74
|
+
*
|
|
75
|
+
* @returns A Buffer instance containing the deserialized byte array.
|
|
76
|
+
*/
|
|
77
|
+
vector(): Buffer;
|
|
78
|
+
/**
|
|
79
|
+
* Extract a sub-buffer with the specified width, advancing the internal offset.
|
|
80
|
+
* The function slices the buffer from the current offset to the offset plus the provided width,
|
|
81
|
+
* and advances the internal offset by the width. This can be useful for working with fixed-width
|
|
82
|
+
* structures within the original buffer.
|
|
83
|
+
*
|
|
84
|
+
* @param width - The number of bytes to include in the extracted sub-buffer.
|
|
85
|
+
* @returns A sub-buffer containing the specified number of bytes from the original buffer.
|
|
86
|
+
*/
|
|
87
|
+
buffer(width: number): Buffer;
|
|
88
|
+
/**
|
|
89
|
+
* Deserialize a string from the internal buffer.
|
|
90
|
+
* It first deserializes a vector representing the UTF-8 encoded string from the buffer,
|
|
91
|
+
* and then converts it to a string.
|
|
92
|
+
*
|
|
93
|
+
* @returns The deserialized string.
|
|
94
|
+
*/
|
|
95
|
+
string(): string;
|
|
96
|
+
/**
|
|
97
|
+
* Deserialize a Date object from the internal buffer.
|
|
98
|
+
* The date value is expected to be stored as a 64-bit BigInt representing the number of milliseconds since the Unix epoch.
|
|
99
|
+
* Advances the internal offset by 8 bytes after deserialization.
|
|
100
|
+
*
|
|
101
|
+
* @returns A Date instance representing the deserialized date value.
|
|
102
|
+
*/
|
|
103
|
+
date(): Date;
|
|
104
|
+
/**
|
|
105
|
+
* Deserialize an array of elements using the provided deserialization function.
|
|
106
|
+
* This method reads the serialized data from the buffer and deserializes each element in the array
|
|
107
|
+
* using the given 'fn' deserialization function. The returned array contains the deserialized elements
|
|
108
|
+
* in their original order.
|
|
109
|
+
*
|
|
110
|
+
* @param fn - The deserialization function to be applied on each element in the array.
|
|
111
|
+
* @returns An array containing the deserialized elements.
|
|
112
|
+
*/
|
|
113
|
+
deserializeArray<T>(fn: DeserializeFn<T>): T[];
|
|
114
|
+
/**
|
|
115
|
+
* Executes the given deserialization function on this Deserializer's buffer and updates the internal offset.
|
|
116
|
+
* The DeserializeFn<T> should take a Buffer and an offset as input, and return an object containing the deserialized
|
|
117
|
+
* element and the number of bytes advanced in the buffer. This method is useful for custom deserialization logic
|
|
118
|
+
* or implementing new deserialization functions.
|
|
119
|
+
*
|
|
120
|
+
* @typeparam T - The type of the deserialized element.
|
|
121
|
+
* @param fn - The deserialization function to execute.
|
|
122
|
+
* @returns The deserialized element of type T.
|
|
123
|
+
*/
|
|
124
|
+
exec<T>(fn: DeserializeFn<T>): T;
|
|
125
|
+
/**
|
|
126
|
+
* Returns the current offset value in the Deserializer instance.
|
|
127
|
+
* The offset is updated as elements are deserialized from the buffer.
|
|
128
|
+
* It can be useful for tracking the position in the buffer during complex deserialization processes.
|
|
129
|
+
*
|
|
130
|
+
* @returns The current offset value as a number.
|
|
131
|
+
*/
|
|
132
|
+
getOffset(): number;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=deserializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../../src/serialize/deserializer.ts"],"names":[],"mappings":";AASA;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAC7B,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;;;;;;;;;;;;;;GAcG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,GAAG;IAAU,OAAO,CAAC,MAAM;gBAA3B,GAAG,EAAE,MAAM,EAAU,MAAM,SAAI;IAEnD;;;;;;OAMG;IACI,IAAI;IAIX;;;;;;OAMG;IACI,MAAM;IAIb;;;;;;OAMG;IACI,KAAK;IAIZ;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,SAAK;IAIxB;;;;;;OAMG;IACI,MAAM;IAIb;;;;;;;;OAQG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM;IAM3B;;;;;;OAMG;IACI,MAAM;IAIb;;;;;;OAMG;IACI,IAAI;IAIX;;;;;;;;OAQG;IACI,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IAI/C;;;;;;;;;OASG;IACI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IAMvC;;;;;;OAMG;IACI,SAAS;CAGjB"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { deserializeArrayFromVector, deserializeBigInt, deserializeBool, deserializeBufferFromVector, deserializeInt32, deserializeUInt32, } from './free_funcs.js';
|
|
2
|
+
/**
|
|
3
|
+
* Deserializer class provides a set of methods to deserialize different data types from a buffer.
|
|
4
|
+
* It maintains an internal buffer and offset, updating the offset as it deserializes each data type.
|
|
5
|
+
* The class supports deserialization of various data types including boolean, integers, big integers,
|
|
6
|
+
* buffers, strings, dates, and arrays with custom deserialization functions.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const deserializer = new Deserializer(buffer);
|
|
10
|
+
* const boolValue = deserializer.bool();
|
|
11
|
+
* const intValue = deserializer.int32();
|
|
12
|
+
* const bigIntValue = deserializer.bigInt();
|
|
13
|
+
* const stringValue = deserializer.string();
|
|
14
|
+
* const dateValue = deserializer.date();
|
|
15
|
+
* const arrayValue = deserializer.deserializeArray(customDeserializeFn);
|
|
16
|
+
*/
|
|
17
|
+
export class Deserializer {
|
|
18
|
+
constructor(buf, offset = 0) {
|
|
19
|
+
this.buf = buf;
|
|
20
|
+
this.offset = offset;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Deserialize a boolean value from the buffer at the current offset.
|
|
24
|
+
* Advances the internal offset by one byte after deserialization.
|
|
25
|
+
* Returns 'true' if the deserialized value is non-zero, otherwise returns 'false'.
|
|
26
|
+
*
|
|
27
|
+
* @returns The deserialized boolean value.
|
|
28
|
+
*/
|
|
29
|
+
bool() {
|
|
30
|
+
return this.exec(deserializeBool) ? true : false;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Deserialize a 32-bit unsigned integer from the buffer at the current offset.
|
|
34
|
+
* Advances the internal buffer offset by 4 after successful deserialization.
|
|
35
|
+
* The result is returned as a JavaScript number.
|
|
36
|
+
*
|
|
37
|
+
* @returns A 32-bit unsigned integer value.
|
|
38
|
+
*/
|
|
39
|
+
uInt32() {
|
|
40
|
+
return this.exec(deserializeUInt32);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Deserialize a 32-bit signed integer from the internal buffer.
|
|
44
|
+
* Reads 4 bytes from the current offset in the buffer and interprets them as a little-endian int32 value.
|
|
45
|
+
* Advances the internal offset by 4 bytes after successful deserialization.
|
|
46
|
+
*
|
|
47
|
+
* @returns The deserialized 32-bit signed integer value.
|
|
48
|
+
*/
|
|
49
|
+
int32() {
|
|
50
|
+
return this.exec(deserializeInt32);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Deserialize a BigInt from the buffer, taking into account the specified width.
|
|
54
|
+
* The method reads 'width' bytes from the buffer starting at the current offset and converts it to a BigInt.
|
|
55
|
+
* The offset is advanced by 'width' bytes after successful deserialization.
|
|
56
|
+
*
|
|
57
|
+
* @param width - The number of bytes to read from the buffer to construct the BigInt (default is 32).
|
|
58
|
+
* @returns The deserialized BigInt value.
|
|
59
|
+
*/
|
|
60
|
+
bigInt(width = 32) {
|
|
61
|
+
return this.exec((buf, offset) => deserializeBigInt(buf, offset, width));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Deserialize a variable-length byte array from the internal buffer.
|
|
65
|
+
* This method reads the length of the array and then extracts the corresponding bytes.
|
|
66
|
+
* It advances the internal offset by the number of bytes read, including the length prefix.
|
|
67
|
+
*
|
|
68
|
+
* @returns A Buffer instance containing the deserialized byte array.
|
|
69
|
+
*/
|
|
70
|
+
vector() {
|
|
71
|
+
return this.exec(deserializeBufferFromVector);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Extract a sub-buffer with the specified width, advancing the internal offset.
|
|
75
|
+
* The function slices the buffer from the current offset to the offset plus the provided width,
|
|
76
|
+
* and advances the internal offset by the width. This can be useful for working with fixed-width
|
|
77
|
+
* structures within the original buffer.
|
|
78
|
+
*
|
|
79
|
+
* @param width - The number of bytes to include in the extracted sub-buffer.
|
|
80
|
+
* @returns A sub-buffer containing the specified number of bytes from the original buffer.
|
|
81
|
+
*/
|
|
82
|
+
buffer(width) {
|
|
83
|
+
const buf = this.buf.slice(this.offset, this.offset + width);
|
|
84
|
+
this.offset += width;
|
|
85
|
+
return buf;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Deserialize a string from the internal buffer.
|
|
89
|
+
* It first deserializes a vector representing the UTF-8 encoded string from the buffer,
|
|
90
|
+
* and then converts it to a string.
|
|
91
|
+
*
|
|
92
|
+
* @returns The deserialized string.
|
|
93
|
+
*/
|
|
94
|
+
string() {
|
|
95
|
+
return this.vector().toString();
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Deserialize a Date object from the internal buffer.
|
|
99
|
+
* The date value is expected to be stored as a 64-bit BigInt representing the number of milliseconds since the Unix epoch.
|
|
100
|
+
* Advances the internal offset by 8 bytes after deserialization.
|
|
101
|
+
*
|
|
102
|
+
* @returns A Date instance representing the deserialized date value.
|
|
103
|
+
*/
|
|
104
|
+
date() {
|
|
105
|
+
return new Date(Number(this.bigInt(8)));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Deserialize an array of elements using the provided deserialization function.
|
|
109
|
+
* This method reads the serialized data from the buffer and deserializes each element in the array
|
|
110
|
+
* using the given 'fn' deserialization function. The returned array contains the deserialized elements
|
|
111
|
+
* in their original order.
|
|
112
|
+
*
|
|
113
|
+
* @param fn - The deserialization function to be applied on each element in the array.
|
|
114
|
+
* @returns An array containing the deserialized elements.
|
|
115
|
+
*/
|
|
116
|
+
deserializeArray(fn) {
|
|
117
|
+
return this.exec((buf, offset) => deserializeArrayFromVector(fn, buf, offset));
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Executes the given deserialization function on this Deserializer's buffer and updates the internal offset.
|
|
121
|
+
* The DeserializeFn<T> should take a Buffer and an offset as input, and return an object containing the deserialized
|
|
122
|
+
* element and the number of bytes advanced in the buffer. This method is useful for custom deserialization logic
|
|
123
|
+
* or implementing new deserialization functions.
|
|
124
|
+
*
|
|
125
|
+
* @typeparam T - The type of the deserialized element.
|
|
126
|
+
* @param fn - The deserialization function to execute.
|
|
127
|
+
* @returns The deserialized element of type T.
|
|
128
|
+
*/
|
|
129
|
+
exec(fn) {
|
|
130
|
+
const { elem, adv } = fn(this.buf, this.offset);
|
|
131
|
+
this.offset += adv;
|
|
132
|
+
return elem;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Returns the current offset value in the Deserializer instance.
|
|
136
|
+
* The offset is updated as elements are deserialized from the buffer.
|
|
137
|
+
* It can be useful for tracking the position in the buffer during complex deserialization processes.
|
|
138
|
+
*
|
|
139
|
+
* @returns The current offset value as a number.
|
|
140
|
+
*/
|
|
141
|
+
getOffset() {
|
|
142
|
+
return this.offset;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcmlhbGl6ZS9kZXNlcmlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ2xCLE1BQU0saUJBQWlCLENBQUM7QUFzQnpCOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsR0FBVyxFQUFVLFNBQVMsQ0FBQztRQUEvQixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBSTtJQUFHLENBQUM7SUFFdkQ7Ozs7OztPQU1HO0lBQ0ksSUFBSTtRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksS0FBSztRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVcsRUFBRSxNQUFjLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTTtRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxLQUFhO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUNyQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLElBQUk7UUFDVCxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxnQkFBZ0IsQ0FBSSxFQUFvQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFXLEVBQUUsTUFBYyxFQUFFLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLElBQUksQ0FBSSxFQUFvQjtRQUNqQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
+
/**
|
|
4
|
+
* Convert a boolean value to its corresponding byte representation in a Buffer of size 1.
|
|
5
|
+
* The function takes a boolean value and writes it into a new buffer as either 1 (true) or 0 (false).
|
|
6
|
+
* This method is useful for converting a boolean value into a binary format that can be stored or transmitted easily.
|
|
7
|
+
*
|
|
8
|
+
* @param b - The boolean value to be converted.
|
|
9
|
+
* @returns A Buffer containing the byte representation of the input boolean value.
|
|
10
|
+
*/
|
|
11
|
+
export declare function boolToByte(b: boolean): Buffer;
|
|
12
|
+
/**
|
|
13
|
+
* Convert a number into a 4-byte little-endian unsigned integer buffer.
|
|
14
|
+
* The input number is serialized as an unsigned 32-bit integer in little-endian byte order,
|
|
15
|
+
* and returned as a Buffer of specified size (defaults to 4).
|
|
16
|
+
* If the provided bufferSize is greater than 4, the additional bytes will be padded with zeros.
|
|
17
|
+
*
|
|
18
|
+
* @param n - The number to be converted into a little-endian unsigned integer buffer.
|
|
19
|
+
* @param bufferSize - Optional, the size of the output buffer (default value is 4).
|
|
20
|
+
* @returns A Buffer containing the serialized little-endian unsigned integer representation of the input number.
|
|
21
|
+
*/
|
|
22
|
+
export declare function numToUInt32LE(n: number, bufferSize?: number): Buffer;
|
|
23
|
+
/**
|
|
24
|
+
* Convert a number to a big-endian unsigned 32-bit integer Buffer.
|
|
25
|
+
* This function takes a number and an optional buffer size as input and creates a Buffer with the specified size (defaults to 4) containing the big-endian representation of the input number as an unsigned 32-bit integer. Note that the bufferSize should be greater than or equal to 4, otherwise the output Buffer might truncate the serialized value.
|
|
26
|
+
*
|
|
27
|
+
* @param n - The input number to be converted to a big-endian unsigned 32-bit integer Buffer.
|
|
28
|
+
* @param bufferSize - Optional, the size of the output Buffer (default is 4).
|
|
29
|
+
* @returns A Buffer containing the big-endian unsigned 32-bit integer representation of the input number.
|
|
30
|
+
*/
|
|
31
|
+
export declare function numToUInt32BE(n: number, bufferSize?: number): Buffer;
|
|
32
|
+
/**
|
|
33
|
+
* Serialize a number into a big-endian signed 32-bit integer Buffer with the specified buffer size.
|
|
34
|
+
* This function converts the input number into its binary representation and stores it in a Buffer
|
|
35
|
+
* with the provided buffer size. By default, the buffer size is set to 4 bytes which represents a 32-bit integer.
|
|
36
|
+
* The function will use the last 4 bytes of the buffer to store the serialized number. If the input number
|
|
37
|
+
* is outside the range of a 32-bit signed integer, the resulting serialization may be incorrect due to truncation.
|
|
38
|
+
*
|
|
39
|
+
* @param n - The number to be serialized as a signed 32-bit integer.
|
|
40
|
+
* @param bufferSize - Optional, the size of the output Buffer (default is 4 bytes).
|
|
41
|
+
* @returns A Buffer containing the serialized big-endian signed 32-bit integer.
|
|
42
|
+
*/
|
|
43
|
+
export declare function numToInt32BE(n: number, bufferSize?: number): Buffer;
|
|
44
|
+
/**
|
|
45
|
+
* Convert a number to an 8-bit unsigned integer and return it as a Buffer of length 1.
|
|
46
|
+
* The input number is written as an 8-bit unsigned integer into the buffer. This function
|
|
47
|
+
* is useful for converting small numeric values to a standardized binary format that can be
|
|
48
|
+
* easily stored or transmitted.
|
|
49
|
+
*
|
|
50
|
+
* @param n - The number to be converted to an 8-bit unsigned integer.
|
|
51
|
+
* @returns A Buffer containing the 8-bit unsigned integer representation of the input number.
|
|
52
|
+
*/
|
|
53
|
+
export declare function numToUInt8(n: number): Buffer;
|
|
54
|
+
/**
|
|
55
|
+
* Serialize a Buffer into a vector format by encoding the length of the buffer and concatenating it with the original buffer.
|
|
56
|
+
* The resulting vector consists of a 4-byte header containing the big-endian representation of the original buffer's length, followed by the original buffer.
|
|
57
|
+
* This function is useful when storing buffers as data structures with dynamic lengths and later deserializing them using 'deserializeBufferFromVector'.
|
|
58
|
+
*
|
|
59
|
+
* @param buf - The input Buffer to be serialized into a vector format.
|
|
60
|
+
* @returns A Buffer containing the serialized vector with the encoded length header.
|
|
61
|
+
*/
|
|
62
|
+
export declare function serializeBufferToVector(buf: Buffer): Buffer;
|
|
63
|
+
/**
|
|
64
|
+
* Serialize a BigInt value into a Buffer of specified width.
|
|
65
|
+
* The function converts the input BigInt into its big-endian representation and stores it in a Buffer of the given width.
|
|
66
|
+
* If the width is not provided, a default value of 32 bytes will be used. It is important to provide an appropriate width
|
|
67
|
+
* to avoid truncation or incorrect serialization of large BigInt values.
|
|
68
|
+
*
|
|
69
|
+
* @param n - The BigInt value to be serialized.
|
|
70
|
+
* @param width - The width (in bytes) of the output Buffer, optional with default value 32.
|
|
71
|
+
* @returns A Buffer containing the serialized BigInt value in big-endian format.
|
|
72
|
+
*/
|
|
73
|
+
export declare function serializeBigInt(n: bigint, width?: number): Buffer;
|
|
74
|
+
/**
|
|
75
|
+
* Deserialize a big integer from a buffer, given an offset and width.
|
|
76
|
+
* Reads the specified number of bytes from the buffer starting at the offset, converts it to a big integer, and returns the deserialized result along with the number of bytes read (advanced).
|
|
77
|
+
*
|
|
78
|
+
* @param buf - The buffer containing the big integer to be deserialized.
|
|
79
|
+
* @param offset - The position in the buffer where the big integer starts. Defaults to 0.
|
|
80
|
+
* @param width - The number of bytes to read from the buffer for the big integer. Defaults to 32.
|
|
81
|
+
* @returns An object containing the deserialized big integer value ('elem') and the number of bytes advanced ('adv').
|
|
82
|
+
*/
|
|
83
|
+
export declare function deserializeBigInt(buf: Buffer, offset?: number, width?: number): {
|
|
84
|
+
elem: bigint;
|
|
85
|
+
adv: number;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Serializes a Date object into a Buffer containing its timestamp as a big integer value.
|
|
89
|
+
* The resulting Buffer has a fixed width of 8 bytes, representing a 64-bit big-endian integer.
|
|
90
|
+
* This function is useful for converting date values into a binary format that can be stored or transmitted easily.
|
|
91
|
+
*
|
|
92
|
+
* @param date - The Date object to be serialized.
|
|
93
|
+
* @returns A Buffer containing the serialized timestamp of the input Date object.
|
|
94
|
+
*/
|
|
95
|
+
export declare function serializeDate(date: Date): Buffer;
|
|
96
|
+
/**
|
|
97
|
+
* Deserialize a buffer from a vector by reading the length from its first 4 bytes, and then extracting the contents of the buffer.
|
|
98
|
+
* The function returns an object containing the deserialized buffer as 'elem' and the number of bytes advanced ('adv') after deserialization.
|
|
99
|
+
*
|
|
100
|
+
* @param vector - The input buffer containing the serialized vector.
|
|
101
|
+
* @param offset - The starting position from where the deserialization should begin (default is 0).
|
|
102
|
+
* @returns An object with the deserialized buffer as 'elem' and the number of bytes advanced ('adv') after deserialization.
|
|
103
|
+
*/
|
|
104
|
+
export declare function deserializeBufferFromVector(vector: Buffer, offset?: number): {
|
|
105
|
+
elem: Buffer;
|
|
106
|
+
adv: number;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Deserialize a boolean value from a given buffer at the specified offset.
|
|
110
|
+
* Reads a single byte at the provided offset in the buffer and returns
|
|
111
|
+
* the deserialized boolean value along with the number of bytes read (adv).
|
|
112
|
+
*
|
|
113
|
+
* @param buf - The buffer containing the serialized boolean value.
|
|
114
|
+
* @param offset - The position in the buffer to start reading the boolean value.
|
|
115
|
+
* @returns An object containing the deserialized boolean value (elem) and the number of bytes read (adv).
|
|
116
|
+
*/
|
|
117
|
+
export declare function deserializeBool(buf: Buffer, offset?: number): {
|
|
118
|
+
elem: number;
|
|
119
|
+
adv: number;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Deserialize a 4-byte unsigned integer from a buffer, starting at the specified offset.
|
|
123
|
+
* The deserialization reads 4 bytes from the given buffer and converts it into a number.
|
|
124
|
+
* Returns an object containing the deserialized unsigned integer and the number of bytes advanced (4).
|
|
125
|
+
*
|
|
126
|
+
* @param buf - The buffer containing the serialized unsigned integer.
|
|
127
|
+
* @param offset - The starting position in the buffer to deserialize from (default is 0).
|
|
128
|
+
* @returns An object with the deserialized unsigned integer as 'elem' and the number of bytes advanced ('adv') as 4.
|
|
129
|
+
*/
|
|
130
|
+
export declare function deserializeUInt32(buf: Buffer, offset?: number): {
|
|
131
|
+
elem: number;
|
|
132
|
+
adv: number;
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Deserialize a signed 32-bit integer from a buffer at the given offset.
|
|
136
|
+
* The input 'buf' should be a Buffer containing binary data, and 'offset' should be the position in the buffer
|
|
137
|
+
* where the signed 32-bit integer starts. Returns an object with both the deserialized integer (elem) and the
|
|
138
|
+
* number of bytes advanced in the buffer (adv, always equal to 4).
|
|
139
|
+
*
|
|
140
|
+
* @param buf - The buffer containing the binary data.
|
|
141
|
+
* @param offset - Optional, the position in the buffer where the signed 32-bit integer starts (default is 0).
|
|
142
|
+
* @returns An object with the deserialized integer as 'elem' and the number of bytes advanced as 'adv'.
|
|
143
|
+
*/
|
|
144
|
+
export declare function deserializeInt32(buf: Buffer, offset?: number): {
|
|
145
|
+
elem: number;
|
|
146
|
+
adv: number;
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* Deserialize a field element from a buffer, starting at the given offset.
|
|
150
|
+
* The function reads 32 bytes from the buffer and converts it into a field element using Fr.fromBuffer.
|
|
151
|
+
* It returns an object containing the deserialized field element and the number of bytes read (adv).
|
|
152
|
+
*
|
|
153
|
+
* @param buf - The buffer containing the serialized field element.
|
|
154
|
+
* @param offset - The position in the buffer where the field element starts. Default is 0.
|
|
155
|
+
* @returns An object with 'elem' as the deserialized field element and 'adv' as the number of bytes read.
|
|
156
|
+
*/
|
|
157
|
+
export declare function deserializeField(buf: Buffer, offset?: number): {
|
|
158
|
+
elem: Fr;
|
|
159
|
+
adv: number;
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* Serialize an array of Buffer instances into a single Buffer by concatenating the array length as a 4-byte unsigned integer
|
|
163
|
+
* and then the individual Buffer elements. The function is useful for storing or transmitting an array of binary data chunks
|
|
164
|
+
* (e.g., file parts) in a compact format.
|
|
165
|
+
*
|
|
166
|
+
* @param arr - An array of Buffer instances to be serialized into a single vector-like Buffer.
|
|
167
|
+
* @returns A Buffer containing the serialized array length followed by the concatenated elements of the input Buffer array.
|
|
168
|
+
*/
|
|
169
|
+
export declare function serializeBufferArrayToVector(arr: Buffer[]): Buffer;
|
|
170
|
+
/**
|
|
171
|
+
* Deserialize an array of fixed length elements from a given buffer using a custom deserializer function.
|
|
172
|
+
* The deserializer function should take the buffer and an offset as arguments, and return an object containing
|
|
173
|
+
* the deserialized element and the number of bytes used to deserialize it (adv).
|
|
174
|
+
*
|
|
175
|
+
* @param deserialize - A custom deserializer function to extract individual elements from the buffer.
|
|
176
|
+
* @param vector - The input buffer containing the serialized array.
|
|
177
|
+
* @param offset - An optional starting position in the buffer for deserializing the array.
|
|
178
|
+
* @returns An object containing the deserialized array and the total number of bytes used during deserialization (adv).
|
|
179
|
+
*/
|
|
180
|
+
export declare function deserializeArrayFromVector<T>(deserialize: (buf: Buffer, offset: number) => {
|
|
181
|
+
/**
|
|
182
|
+
* The element.
|
|
183
|
+
*/
|
|
184
|
+
elem: T;
|
|
185
|
+
/**
|
|
186
|
+
* The advancement offset.
|
|
187
|
+
*/
|
|
188
|
+
adv: number;
|
|
189
|
+
}, vector: Buffer, offset?: number): {
|
|
190
|
+
elem: T[];
|
|
191
|
+
adv: number;
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* Parse a buffer as a big integer.
|
|
195
|
+
*/
|
|
196
|
+
export declare function toBigInt(buf: Buffer): bigint;
|
|
197
|
+
/**
|
|
198
|
+
* Stores full 256 bits of information in 2 fields.
|
|
199
|
+
* @param buf - 32 bytes of data
|
|
200
|
+
* @returns 2 field elements
|
|
201
|
+
*/
|
|
202
|
+
export declare function to2Fields(buf: Buffer): [Fr, Fr];
|
|
203
|
+
//# sourceMappingURL=free_funcs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"free_funcs.d.ts","sourceRoot":"","sources":["../../src/serialize/free_funcs.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,UAIpC;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;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,UAIlD;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;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAI;;;EAIrE;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;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI;;;EAGvD;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,UAIzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,WAAW,EAAE,CACX,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,KACX;IACH;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb,EACD,MAAM,EAAE,MAAM,EACd,MAAM,SAAI;;;EAYX;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,CAW/C"}
|