@aztec/foundation 0.76.4 → 0.77.0-testnet-ignition.21
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/array/array.d.ts +1 -1
- package/dest/array/array.d.ts.map +1 -1
- package/dest/array/array.js +19 -26
- package/dest/array/index.js +0 -1
- package/dest/async-map/index.js +2 -4
- package/dest/async-pool/index.js +6 -9
- package/dest/bigint-buffer/index.js +6 -13
- package/dest/buffer/buffer32.d.ts +1 -1
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +53 -66
- package/dest/buffer/index.js +0 -1
- package/dest/collection/array.d.ts +1 -1
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +47 -59
- package/dest/collection/index.js +0 -1
- package/dest/collection/object.js +9 -9
- package/dest/committable/committable.js +15 -20
- package/dest/committable/index.js +0 -1
- package/dest/config/env_var.d.ts +1 -1
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/config/env_var.js +1 -2
- package/dest/config/index.d.ts +1 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +31 -36
- package/dest/crypto/aes128/index.d.ts +34 -0
- package/dest/crypto/aes128/index.d.ts.map +1 -0
- package/dest/crypto/aes128/index.js +49 -0
- package/dest/crypto/ecdsa/index.d.ts +39 -0
- package/dest/crypto/ecdsa/index.d.ts.map +1 -0
- package/dest/crypto/ecdsa/index.js +88 -0
- package/dest/crypto/ecdsa/signature.d.ts +71 -0
- package/dest/crypto/ecdsa/signature.d.ts.map +1 -0
- package/dest/crypto/ecdsa/signature.js +92 -0
- package/dest/crypto/grumpkin/index.d.ts +47 -0
- package/dest/crypto/grumpkin/index.d.ts.map +1 -0
- package/dest/crypto/grumpkin/index.js +154 -0
- package/dest/crypto/index.d.ts +6 -0
- package/dest/crypto/index.d.ts.map +1 -1
- package/dest/crypto/index.js +6 -1
- package/dest/crypto/keccak/index.js +60 -69
- package/dest/crypto/keys/index.js +2 -3
- package/dest/crypto/pedersen/index.js +0 -1
- package/dest/crypto/pedersen/pedersen.elliptic.js +153 -146
- package/dest/crypto/pedersen/pedersen.noble.js +140 -142
- package/dest/crypto/pedersen/pedersen.wasm.js +17 -16
- package/dest/crypto/poseidon/index.js +15 -19
- package/dest/crypto/random/index.js +7 -12
- package/dest/crypto/random/randomness_singleton.js +12 -12
- package/dest/crypto/schnorr/index.d.ts +30 -0
- package/dest/crypto/schnorr/index.d.ts.map +1 -0
- package/dest/crypto/schnorr/index.js +68 -0
- package/dest/crypto/schnorr/signature.d.ts +70 -0
- package/dest/crypto/schnorr/signature.d.ts.map +1 -0
- package/dest/crypto/schnorr/signature.js +93 -0
- package/dest/crypto/secp256k1/index.d.ts +32 -0
- package/dest/crypto/secp256k1/index.d.ts.map +1 -0
- package/dest/crypto/secp256k1/index.js +116 -0
- package/dest/crypto/secp256k1-signer/index.js +0 -1
- package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +2 -2
- package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
- package/dest/crypto/secp256k1-signer/secp256k1_signer.js +8 -9
- package/dest/crypto/secp256k1-signer/utils.js +11 -16
- package/dest/crypto/serialize.d.ts +53 -0
- package/dest/crypto/serialize.d.ts.map +1 -0
- package/dest/crypto/serialize.js +68 -0
- package/dest/crypto/sha256/index.js +80 -30
- package/dest/crypto/sha512/index.js +2 -4
- package/dest/crypto/signature/index.d.ts +19 -0
- package/dest/crypto/signature/index.d.ts.map +1 -0
- package/dest/crypto/signature/index.js +3 -0
- package/dest/crypto/sync/index.js +1 -2
- package/dest/crypto/sync/pedersen/index.js +14 -13
- package/dest/crypto/sync/poseidon/index.js +10 -14
- package/dest/decorators/index.js +0 -1
- package/dest/decorators/memoize.js +1 -2
- package/dest/error/index.js +6 -19
- package/dest/eth-address/index.js +92 -113
- package/dest/eth-signature/eth_signature.js +21 -27
- package/dest/eth-signature/index.js +0 -1
- package/dest/fields/coordinate.d.ts +1 -1
- package/dest/fields/coordinate.d.ts.map +1 -1
- package/dest/fields/coordinate.js +47 -46
- package/dest/fields/fields.d.ts.map +1 -1
- package/dest/fields/fields.js +112 -126
- package/dest/fields/index.js +0 -1
- package/dest/fields/point.js +119 -129
- package/dest/fs/index.js +0 -1
- package/dest/fs/run_in_dir.d.ts +1 -1
- package/dest/fs/run_in_dir.d.ts.map +1 -1
- package/dest/fs/run_in_dir.js +16 -7
- package/dest/index.d.ts +0 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +0 -3
- package/dest/iterable/all.js +3 -4
- package/dest/iterable/filter.js +10 -11
- package/dest/iterable/index.js +0 -1
- package/dest/iterable/isAsyncIt.js +1 -3
- package/dest/iterable/map.js +10 -11
- package/dest/iterable/peek.js +14 -14
- package/dest/iterable/sort.js +4 -5
- package/dest/iterable/take.js +6 -7
- package/dest/iterable/toArray.js +1 -2
- package/dest/jest/setup.js +7 -0
- package/dest/json-rpc/client/fetch.js +25 -20
- package/dest/json-rpc/client/index.js +0 -1
- package/dest/json-rpc/client/safe_json_rpc_client.js +20 -9
- package/dest/json-rpc/client/undici.d.ts +1 -1
- package/dest/json-rpc/client/undici.d.ts.map +1 -1
- package/dest/json-rpc/client/undici.js +16 -17
- package/dest/json-rpc/convert.d.ts +1 -1
- package/dest/json-rpc/convert.d.ts.map +1 -1
- package/dest/json-rpc/convert.js +10 -20
- package/dest/json-rpc/fixtures/class_a.js +8 -5
- package/dest/json-rpc/fixtures/class_b.js +8 -5
- package/dest/json-rpc/fixtures/test_state.js +53 -40
- package/dest/json-rpc/index.js +0 -1
- package/dest/json-rpc/js_utils.js +2 -5
- package/dest/json-rpc/server/index.js +0 -1
- package/dest/json-rpc/server/safe_json_rpc_server.js +145 -101
- package/dest/json-rpc/server/telemetry.js +0 -2
- package/dest/json-rpc/test/index.js +0 -1
- package/dest/json-rpc/test/integration.d.ts +1 -1
- package/dest/json-rpc/test/integration.d.ts.map +1 -1
- package/dest/json-rpc/test/integration.js +11 -5
- package/dest/log/console.d.ts +1 -1
- package/dest/log/console.d.ts.map +1 -1
- package/dest/log/console.js +14 -16
- package/dest/log/debug.d.ts +1 -1
- package/dest/log/debug.d.ts.map +1 -1
- package/dest/log/debug.js +9 -18
- package/dest/log/gcloud-logger-config.js +17 -15
- package/dest/log/index.d.ts +1 -0
- package/dest/log/index.d.ts.map +1 -1
- package/dest/log/index.js +1 -1
- package/dest/log/libp2p_logger.d.ts +7 -0
- package/dest/log/libp2p_logger.d.ts.map +1 -0
- package/dest/log/libp2p_logger.js +55 -0
- package/dest/log/log-filters.js +14 -13
- package/dest/log/log-levels.js +10 -2
- package/dest/log/log_fn.js +1 -2
- package/dest/log/log_history.js +21 -25
- package/dest/log/pino-logger.d.ts +8 -4
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/log/pino-logger.js +92 -74
- package/dest/message/index.js +7 -3
- package/dest/mutex/index.d.ts +1 -1
- package/dest/mutex/index.d.ts.map +1 -1
- package/dest/mutex/index.js +34 -32
- package/dest/mutex/mutex_database.js +4 -2
- package/dest/noir/index.js +0 -1
- package/dest/noir/noir_package_config.js +13 -8
- package/dest/promise/index.js +0 -1
- package/dest/promise/running-promise.d.ts +8 -2
- package/dest/promise/running-promise.d.ts.map +1 -1
- package/dest/promise/running-promise.js +44 -31
- package/dest/promise/utils.js +3 -5
- package/dest/queue/base_memory_queue.js +51 -59
- package/dest/queue/batch_queue.js +34 -27
- package/dest/queue/bounded_serial_queue.js +41 -51
- package/dest/queue/fifo_memory_queue.d.ts +1 -1
- package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
- package/dest/queue/fifo_memory_queue.js +4 -8
- package/dest/queue/index.js +0 -1
- package/dest/queue/priority_memory_queue.js +3 -4
- package/dest/queue/priority_queue.js +5 -5
- package/dest/queue/semaphore.js +15 -19
- package/dest/queue/serial_queue.js +37 -47
- package/dest/retry/index.js +21 -18
- package/dest/running-promise/index.js +0 -1
- package/dest/schemas/api.d.ts +2 -2
- package/dest/schemas/api.d.ts.map +1 -1
- package/dest/schemas/api.js +2 -7
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/index.d.ts.map +1 -1
- package/dest/schemas/index.js +1 -2
- package/dest/schemas/parse.js +4 -8
- package/dest/schemas/schemas.d.ts +1 -16
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +28 -56
- package/dest/schemas/types.d.ts +1 -1
- package/dest/schemas/types.d.ts.map +1 -1
- package/dest/schemas/types.js +1 -2
- package/dest/schemas/utils.d.ts +1 -1
- package/dest/schemas/utils.d.ts.map +1 -1
- package/dest/schemas/utils.js +18 -31
- package/dest/serialize/buffer_reader.d.ts +1 -1
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +164 -188
- package/dest/serialize/field_reader.d.ts +1 -1
- package/dest/serialize/field_reader.d.ts.map +1 -1
- package/dest/serialize/field_reader.js +70 -79
- 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 +40 -37
- package/dest/serialize/index.js +0 -1
- package/dest/serialize/serialize.js +72 -83
- package/dest/serialize/type_registry.js +10 -14
- package/dest/serialize/types.js +4 -5
- package/dest/sleep/index.js +25 -29
- package/dest/string/index.js +0 -1
- package/dest/testing/files/index.js +3 -7
- package/dest/testing/index.js +0 -1
- package/dest/testing/port_allocator.js +7 -10
- package/dest/testing/snapshot_serializer.d.ts +1 -1
- package/dest/testing/snapshot_serializer.d.ts.map +1 -1
- package/dest/testing/snapshot_serializer.js +14 -9
- package/dest/testing/test_data.js +7 -8
- package/dest/timer/date.js +9 -7
- package/dest/timer/elapsed.js +10 -7
- package/dest/timer/index.js +0 -1
- package/dest/timer/timeout.js +34 -34
- package/dest/timer/timer.js +17 -21
- package/dest/transport/browser/index.js +0 -1
- package/dest/transport/browser/message_port_socket.d.ts +1 -1
- package/dest/transport/browser/message_port_socket.d.ts.map +1 -1
- package/dest/transport/browser/message_port_socket.js +26 -30
- package/dest/transport/browser/shared_worker_connector.d.ts +1 -1
- package/dest/transport/browser/shared_worker_connector.d.ts.map +1 -1
- package/dest/transport/browser/shared_worker_connector.js +8 -10
- package/dest/transport/browser/shared_worker_listener.d.ts +1 -1
- package/dest/transport/browser/shared_worker_listener.d.ts.map +1 -1
- package/dest/transport/browser/shared_worker_listener.js +13 -17
- package/dest/transport/browser/worker_connector.d.ts +1 -1
- package/dest/transport/browser/worker_connector.d.ts.map +1 -1
- package/dest/transport/browser/worker_connector.js +12 -12
- package/dest/transport/browser/worker_listener.d.ts +1 -1
- package/dest/transport/browser/worker_listener.d.ts.map +1 -1
- package/dest/transport/browser/worker_listener.js +13 -17
- package/dest/transport/dispatch/create_dispatch_fn.js +2 -4
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts +2 -2
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
- package/dest/transport/dispatch/create_dispatch_proxy.js +16 -13
- package/dest/transport/dispatch/messages.js +4 -3
- package/dest/transport/index.js +0 -1
- package/dest/transport/interface/connector.d.ts +1 -1
- package/dest/transport/interface/connector.d.ts.map +1 -1
- package/dest/transport/interface/connector.js +3 -2
- package/dest/transport/interface/listener.d.ts +1 -1
- package/dest/transport/interface/listener.d.ts.map +1 -1
- package/dest/transport/interface/listener.js +4 -2
- package/dest/transport/interface/socket.js +7 -2
- package/dest/transport/interface/transferable.js +7 -9
- package/dest/transport/node/index.js +0 -1
- package/dest/transport/node/node_connector.d.ts +2 -2
- package/dest/transport/node/node_connector.d.ts.map +1 -1
- package/dest/transport/node/node_connector.js +9 -11
- package/dest/transport/node/node_connector_socket.d.ts +2 -2
- package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
- package/dest/transport/node/node_connector_socket.js +21 -25
- package/dest/transport/node/node_listener.d.ts +1 -1
- package/dest/transport/node/node_listener.d.ts.map +1 -1
- package/dest/transport/node/node_listener.js +11 -15
- package/dest/transport/node/node_listener_socket.d.ts +2 -2
- package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
- package/dest/transport/node/node_listener_socket.js +23 -27
- package/dest/transport/transport_client.d.ts +1 -1
- package/dest/transport/transport_client.d.ts.map +1 -1
- package/dest/transport/transport_client.js +47 -46
- package/dest/transport/transport_server.d.ts +1 -1
- package/dest/transport/transport_server.d.ts.map +1 -1
- package/dest/transport/transport_server.js +68 -55
- package/dest/trees/hasher.d.ts +39 -0
- package/dest/trees/hasher.d.ts.map +1 -0
- package/dest/trees/hasher.js +5 -0
- package/dest/trees/index.d.ts +8 -56
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +8 -1
- package/dest/trees/indexed_merkle_tree.d.ts +13 -0
- package/dest/trees/indexed_merkle_tree.d.ts.map +1 -0
- package/dest/trees/indexed_merkle_tree.js +27 -0
- package/dest/trees/indexed_merkle_tree_calculator.d.ts +23 -0
- package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -0
- package/dest/trees/indexed_merkle_tree_calculator.js +83 -0
- package/dest/trees/indexed_tree_leaf.d.ts +57 -0
- package/dest/trees/indexed_tree_leaf.d.ts.map +1 -0
- package/dest/trees/indexed_tree_leaf.js +5 -0
- package/dest/trees/membership_witness.d.ts +62 -0
- package/dest/trees/membership_witness.d.ts.map +1 -0
- package/dest/trees/membership_witness.js +70 -0
- package/dest/trees/merkle_tree.d.ts +18 -0
- package/dest/trees/merkle_tree.d.ts.map +1 -0
- package/dest/trees/merkle_tree.js +58 -0
- package/dest/trees/merkle_tree_calculator.d.ts +16 -0
- package/dest/trees/merkle_tree_calculator.d.ts.map +1 -0
- package/dest/trees/merkle_tree_calculator.js +61 -0
- package/dest/trees/sibling_path.d.ts +132 -0
- package/dest/trees/sibling_path.d.ts.map +1 -0
- package/dest/trees/sibling_path.js +144 -0
- package/dest/trees/unbalanced_merkle_tree.d.ts +1 -1
- package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree.js +28 -18
- package/dest/trees/unbalanced_tree_store.js +43 -29
- package/dest/types/index.js +1 -3
- package/dest/url/index.js +4 -8
- package/dest/validation/index.js +2 -5
- package/dest/wasm/empty_wasi_sdk.js +142 -160
- package/dest/wasm/index.d.ts +1 -1
- package/dest/wasm/index.d.ts.map +1 -1
- package/dest/wasm/index.js +0 -1
- package/dest/wasm/wasm_module.js +80 -90
- package/dest/worker/browser/index.js +0 -1
- package/dest/worker/browser/start_web_module.d.ts +1 -1
- package/dest/worker/browser/start_web_module.d.ts.map +1 -1
- package/dest/worker/browser/start_web_module.js +9 -5
- package/dest/worker/browser/web_data_store.d.ts +1 -1
- package/dest/worker/browser/web_data_store.d.ts.map +1 -1
- package/dest/worker/browser/web_data_store.js +12 -15
- package/dest/worker/browser/web_worker.d.ts +1 -1
- package/dest/worker/browser/web_worker.d.ts.map +1 -1
- package/dest/worker/browser/web_worker.js +6 -5
- package/dest/worker/data_store.js +3 -2
- package/dest/worker/index.d.ts +1 -1
- package/dest/worker/index.d.ts.map +1 -1
- package/dest/worker/index.js +0 -1
- package/dest/worker/node/index.js +0 -1
- package/dest/worker/node/node_data_store.d.ts +1 -1
- package/dest/worker/node/node_data_store.d.ts.map +1 -1
- package/dest/worker/node/node_data_store.js +4 -5
- package/dest/worker/node/node_worker.d.ts +1 -1
- package/dest/worker/node/node_worker.d.ts.map +1 -1
- package/dest/worker/node/node_worker.js +6 -5
- package/dest/worker/node/start_node_module.d.ts +1 -1
- package/dest/worker/node/start_node_module.d.ts.map +1 -1
- package/dest/worker/node/start_node_module.js +9 -5
- package/dest/worker/wasm_worker.d.ts +2 -2
- package/dest/worker/wasm_worker.d.ts.map +1 -1
- package/dest/worker/wasm_worker.js +3 -2
- package/dest/worker/worker_pool.d.ts +1 -1
- package/dest/worker/worker_pool.d.ts.map +1 -1
- package/dest/worker/worker_pool.js +32 -43
- package/package.json +5 -5
- package/src/array/array.ts +1 -1
- package/src/buffer/buffer32.ts +1 -1
- package/src/collection/array.ts +1 -1
- package/src/config/env_var.ts +7 -5
- package/src/config/index.ts +1 -1
- package/src/crypto/aes128/index.ts +59 -0
- package/src/crypto/ecdsa/index.ts +70 -0
- package/src/crypto/ecdsa/signature.ts +100 -0
- package/src/crypto/grumpkin/index.ts +97 -0
- package/src/crypto/index.ts +6 -0
- package/src/crypto/keys/index.ts +1 -1
- package/src/crypto/pedersen/pedersen.wasm.ts +3 -3
- package/src/crypto/poseidon/index.ts +5 -5
- package/src/crypto/schnorr/index.ts +55 -0
- package/src/crypto/schnorr/signature.ts +116 -0
- package/src/crypto/secp256k1/index.ts +57 -0
- package/src/crypto/secp256k1-signer/secp256k1_signer.ts +2 -2
- package/src/crypto/serialize.ts +85 -0
- package/src/crypto/signature/index.ts +17 -0
- package/src/crypto/sync/index.ts +1 -1
- package/src/fields/coordinate.ts +1 -1
- package/src/fields/fields.ts +2 -1
- package/src/fs/run_in_dir.ts +8 -1
- package/src/index.ts +0 -2
- package/src/json-rpc/client/undici.ts +1 -1
- package/src/json-rpc/convert.ts +1 -1
- package/src/json-rpc/server/safe_json_rpc_server.ts +1 -1
- package/src/json-rpc/test/integration.ts +1 -1
- package/src/log/console.ts +1 -1
- package/src/log/debug.ts +1 -1
- package/src/log/gcloud-logger-config.ts +1 -1
- package/src/log/index.ts +1 -0
- package/src/log/libp2p_logger.ts +67 -0
- package/src/log/pino-logger.ts +16 -16
- package/src/mutex/index.ts +1 -1
- package/src/promise/running-promise.ts +24 -5
- package/src/queue/fifo_memory_queue.ts +1 -1
- package/src/schemas/api.ts +2 -2
- package/src/schemas/index.ts +1 -1
- package/src/schemas/schemas.ts +2 -26
- package/src/schemas/types.ts +1 -1
- package/src/schemas/utils.ts +1 -1
- package/src/serialize/buffer_reader.ts +1 -1
- package/src/serialize/field_reader.ts +1 -1
- package/src/serialize/free_funcs.ts +1 -1
- package/src/testing/snapshot_serializer.ts +1 -1
- package/src/transport/browser/message_port_socket.ts +1 -1
- package/src/transport/browser/shared_worker_connector.ts +1 -1
- package/src/transport/browser/shared_worker_listener.ts +1 -1
- package/src/transport/browser/worker_connector.ts +1 -1
- package/src/transport/browser/worker_listener.ts +1 -1
- package/src/transport/dispatch/create_dispatch_proxy.ts +2 -2
- package/src/transport/interface/connector.ts +1 -1
- package/src/transport/interface/listener.ts +1 -1
- package/src/transport/node/node_connector.ts +2 -2
- package/src/transport/node/node_connector_socket.ts +2 -2
- package/src/transport/node/node_listener.ts +1 -1
- package/src/transport/node/node_listener_socket.ts +2 -2
- package/src/transport/transport_client.ts +2 -2
- package/src/transport/transport_server.ts +3 -3
- package/src/trees/hasher.ts +39 -0
- package/src/trees/index.ts +8 -57
- package/src/trees/indexed_merkle_tree.ts +36 -0
- package/src/trees/indexed_merkle_tree_calculator.ts +94 -0
- package/src/trees/indexed_tree_leaf.ts +56 -0
- package/src/trees/membership_witness.ts +99 -0
- package/src/trees/merkle_tree.ts +72 -0
- package/src/trees/merkle_tree_calculator.ts +67 -0
- package/src/trees/sibling_path.ts +183 -0
- package/src/trees/unbalanced_merkle_tree.ts +2 -2
- package/src/wasm/index.ts +1 -1
- package/src/worker/browser/start_web_module.ts +1 -1
- package/src/worker/browser/web_data_store.ts +1 -1
- package/src/worker/browser/web_worker.ts +1 -1
- package/src/worker/index.ts +1 -1
- package/src/worker/node/node_data_store.ts +1 -1
- package/src/worker/node/node_worker.ts +1 -1
- package/src/worker/node/start_node_module.ts +1 -1
- package/src/worker/wasm_worker.ts +2 -2
- package/src/worker/worker_pool.ts +1 -1
- package/dest/abi/abi.d.ts +0 -853
- package/dest/abi/abi.d.ts.map +0 -1
- package/dest/abi/abi.js +0 -214
- package/dest/abi/buffer.d.ts +0 -18
- package/dest/abi/buffer.d.ts.map +0 -1
- package/dest/abi/buffer.js +0 -34
- package/dest/abi/decoder.d.ts +0 -58
- package/dest/abi/decoder.d.ts.map +0 -1
- package/dest/abi/decoder.js +0 -180
- package/dest/abi/encoder.d.ts +0 -16
- package/dest/abi/encoder.d.ts.map +0 -1
- package/dest/abi/encoder.js +0 -174
- package/dest/abi/event_selector.d.ts +0 -52
- package/dest/abi/event_selector.d.ts.map +0 -1
- package/dest/abi/event_selector.js +0 -76
- package/dest/abi/function_selector.d.ts +0 -65
- package/dest/abi/function_selector.d.ts.map +0 -1
- package/dest/abi/function_selector.js +0 -92
- package/dest/abi/index.d.ts +0 -10
- package/dest/abi/index.d.ts.map +0 -1
- package/dest/abi/index.js +0 -10
- package/dest/abi/note_selector.d.ts +0 -42
- package/dest/abi/note_selector.d.ts.map +0 -1
- package/dest/abi/note_selector.js +0 -63
- package/dest/abi/selector.d.ts +0 -42
- package/dest/abi/selector.d.ts.map +0 -1
- package/dest/abi/selector.js +0 -57
- package/dest/abi/u128.d.ts +0 -13
- package/dest/abi/u128.d.ts.map +0 -1
- package/dest/abi/u128.js +0 -58
- package/dest/abi/utils.d.ts +0 -44
- package/dest/abi/utils.d.ts.map +0 -1
- package/dest/abi/utils.js +0 -72
- package/dest/aztec-address/index.d.ts +0 -57
- package/dest/aztec-address/index.d.ts.map +0 -1
- package/dest/aztec-address/index.js +0 -114
- package/src/abi/abi.ts +0 -504
- package/src/abi/buffer.ts +0 -36
- package/src/abi/decoder.ts +0 -195
- package/src/abi/encoder.ts +0 -170
- package/src/abi/event_selector.ts +0 -92
- package/src/abi/function_selector.ts +0 -124
- package/src/abi/index.ts +0 -9
- package/src/abi/note_selector.ts +0 -78
- package/src/abi/selector.ts +0 -64
- package/src/abi/u128.ts +0 -71
- package/src/abi/utils.ts +0 -86
- package/src/aztec-address/index.ts +0 -146
package/src/abi/selector.ts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { inspect } from 'util';
|
|
2
|
-
|
|
3
|
-
import { toBufferBE } from '../bigint-buffer/index.js';
|
|
4
|
-
import { Fr } from '../fields/index.js';
|
|
5
|
-
import { bufferToHex } from '../string/index.js';
|
|
6
|
-
|
|
7
|
-
/** A selector is the first 4 bytes of the hash of a signature. */
|
|
8
|
-
export abstract class Selector {
|
|
9
|
-
/** The size of the selector in bytes. */
|
|
10
|
-
public static SIZE = 4;
|
|
11
|
-
|
|
12
|
-
constructor(/** Value of the selector */ public value: number) {
|
|
13
|
-
if (value > 2 ** (Selector.SIZE * 8) - 1) {
|
|
14
|
-
throw new Error(`Selector must fit in ${Selector.SIZE} bytes (got value ${value}).`);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Checks if the selector is empty (all bytes are 0).
|
|
20
|
-
* @returns True if the selector is empty (all bytes are 0).
|
|
21
|
-
*/
|
|
22
|
-
public isEmpty(): boolean {
|
|
23
|
-
return this.value === 0;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Serialize as a buffer.
|
|
28
|
-
* @param bufferSize - The buffer size.
|
|
29
|
-
* @returns The buffer.
|
|
30
|
-
*/
|
|
31
|
-
toBuffer(bufferSize = Selector.SIZE): Buffer {
|
|
32
|
-
return toBufferBE(BigInt(this.value), bufferSize);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Serialize as a hex string.
|
|
37
|
-
* @returns The string.
|
|
38
|
-
*/
|
|
39
|
-
toString(): string {
|
|
40
|
-
return bufferToHex(this.toBuffer());
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
[inspect.custom]() {
|
|
44
|
-
return `Selector<${this.toString()}>`;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Checks if this selector is equal to another.
|
|
49
|
-
* @param other - The other selector.
|
|
50
|
-
* @returns True if the selectors are equal.
|
|
51
|
-
*/
|
|
52
|
-
equals(other: Selector): boolean {
|
|
53
|
-
return this.value === other.value;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Returns a new field with the same contents as this EthAddress.
|
|
58
|
-
*
|
|
59
|
-
* @returns An Fr instance.
|
|
60
|
-
*/
|
|
61
|
-
public toField() {
|
|
62
|
-
return new Fr(BigInt(this.value));
|
|
63
|
-
}
|
|
64
|
-
}
|
package/src/abi/u128.ts
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Fr } from '../fields/fields.js';
|
|
2
|
-
|
|
3
|
-
// A typescript version of noir::std::U128
|
|
4
|
-
export class U128 {
|
|
5
|
-
private readonly value: bigint;
|
|
6
|
-
|
|
7
|
-
constructor(value: bigint | number) {
|
|
8
|
-
if (typeof value !== 'bigint') {
|
|
9
|
-
value = BigInt(value);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
// Check value is within 128 bits
|
|
13
|
-
if (value < 0n || value >= 2n ** 128n) {
|
|
14
|
-
throw new Error(`Value ${value} is not within 128 bits and hence cannot be converted to U128.`);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
this.value = value;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
static fromU64sLE(lo: bigint, hi: bigint): U128 {
|
|
21
|
-
// Validate limbs are within valid ranges
|
|
22
|
-
if (lo < 0n || lo >= 2n ** 64n) {
|
|
23
|
-
throw new Error(`Lower limb ${lo} is not within valid range (0 to 2^64-1)`);
|
|
24
|
-
}
|
|
25
|
-
if (hi < 0n || hi >= 2n ** 64n) {
|
|
26
|
-
throw new Error(`Higher limb ${hi} is not within valid range (0 to 2^64-1)`);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// Combine limbs into full value and create new instance
|
|
30
|
-
const value = (hi << 64n) | lo;
|
|
31
|
-
return new U128(value);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
get lo(): bigint {
|
|
35
|
-
return this.value & 0xffffffffffffffffn;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
get hi(): bigint {
|
|
39
|
-
return this.value >> 64n;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
toInteger(): bigint {
|
|
43
|
-
return this.value;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// We use little-endian ordering to match the order in which U128 defines its limbs.
|
|
47
|
-
// This is necessary because of how Noir handles serialization:
|
|
48
|
-
// - When calling a contract function from TypeScript, the serialization below gets used and then Noir
|
|
49
|
-
// deserializes using its intrinsic serialization logic (based on the limb order in the struct).
|
|
50
|
-
// - When calling a contract function from another function, the `serialize` method is invoked
|
|
51
|
-
// on the type first.
|
|
52
|
-
// For this reason if we didn't use the ordering of U128 limbs here and in the implementation of Serialize
|
|
53
|
-
// trait for U128 we would get an arguments hash mismatch.
|
|
54
|
-
toFields(): Fr[] {
|
|
55
|
-
return [new Fr(this.lo), new Fr(this.hi)];
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Has to follow ordering of `toFields()`
|
|
59
|
-
static fromFields(fields: Fr[]): U128 {
|
|
60
|
-
if (fields.length !== 2) {
|
|
61
|
-
throw new Error(`Expected 2 fields for U128, got ${fields.length}`);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return U128.fromU64sLE(fields[0].toBigInt(), fields[1].toBigInt());
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// Has to follow ordering of `toFields()`
|
|
68
|
-
static getLimbNames(): string[] {
|
|
69
|
-
return ['lo', 'hi'];
|
|
70
|
-
}
|
|
71
|
-
}
|
package/src/abi/utils.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { type AbiType } from './abi.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Returns whether the ABI type is an Aztec or Ethereum Address defined in Aztec.nr.
|
|
5
|
-
* @param abiType - Type to check.
|
|
6
|
-
* @returns Boolean.
|
|
7
|
-
*/
|
|
8
|
-
export function isAddressStruct(abiType: AbiType) {
|
|
9
|
-
return isEthAddressStruct(abiType) || isAztecAddressStruct(abiType);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Returns whether the ABI type is an Ethereum Address defined in Aztec.nr.
|
|
14
|
-
* @param abiType - Type to check.
|
|
15
|
-
* @returns Boolean.
|
|
16
|
-
*/
|
|
17
|
-
export function isEthAddressStruct(abiType: AbiType) {
|
|
18
|
-
return abiType.kind === 'struct' && abiType.path.endsWith('address::EthAddress');
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Returns whether the ABI type is an Aztec Address defined in Aztec.nr.
|
|
23
|
-
* @param abiType - Type to check.
|
|
24
|
-
* @returns Boolean.
|
|
25
|
-
*/
|
|
26
|
-
export function isAztecAddressStruct(abiType: AbiType) {
|
|
27
|
-
return abiType.kind === 'struct' && abiType.path.endsWith('address::AztecAddress');
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Returns whether the ABI type is an Function Selector defined in Aztec.nr.
|
|
32
|
-
* @param abiType - Type to check.
|
|
33
|
-
* @returns Boolean.
|
|
34
|
-
*/
|
|
35
|
-
export function isFunctionSelectorStruct(abiType: AbiType) {
|
|
36
|
-
return abiType.kind === 'struct' && abiType.path.endsWith('types::abis::function_selector::FunctionSelector');
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Returns whether the ABI type is the U128 defined in noir::std.
|
|
41
|
-
* @param abiType - Type to check.
|
|
42
|
-
*/
|
|
43
|
-
export function isU128Struct(abiType: AbiType) {
|
|
44
|
-
return abiType.kind === 'struct' && abiType.path.endsWith('U128');
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Returns whether the ABI type is a struct with a single `inner` field.
|
|
49
|
-
* @param abiType - Type to check.
|
|
50
|
-
*/
|
|
51
|
-
export function isWrappedFieldStruct(abiType: AbiType) {
|
|
52
|
-
return (
|
|
53
|
-
abiType.kind === 'struct' &&
|
|
54
|
-
abiType.fields.length === 1 &&
|
|
55
|
-
abiType.fields[0].name === 'inner' &&
|
|
56
|
-
abiType.fields[0].type.kind === 'field'
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Returns a bigint by parsing a serialized 2's complement signed int.
|
|
62
|
-
* @param b - The signed int as a buffer
|
|
63
|
-
* @returns - a deserialized bigint
|
|
64
|
-
*/
|
|
65
|
-
export function parseSignedInt(b: Buffer, width?: number) {
|
|
66
|
-
const buf = Buffer.from(b);
|
|
67
|
-
|
|
68
|
-
// We get the last (width / 8) bytes where width = bits of type (i64, i32 etc)
|
|
69
|
-
const slicedBuf = width !== undefined ? buf.subarray(-(width / 8)) : buf;
|
|
70
|
-
|
|
71
|
-
// Then manually deserialize with 2's complement, with the process as follows:
|
|
72
|
-
|
|
73
|
-
// If our most significant bit is high...
|
|
74
|
-
if (0x80 & slicedBuf.subarray(0, 1).readUInt8()) {
|
|
75
|
-
// We flip the bits
|
|
76
|
-
for (let i = 0; i < slicedBuf.length; i++) {
|
|
77
|
-
slicedBuf[i] = ~slicedBuf[i];
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// Add one, then negate it
|
|
81
|
-
return -(BigInt(`0x${slicedBuf.toString('hex')}`) + 1n);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// ...otherwise we just return our positive int
|
|
85
|
-
return BigInt(`0x${slicedBuf.toString('hex')}`);
|
|
86
|
-
}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
|
|
2
|
-
import { inspect } from 'util';
|
|
3
|
-
|
|
4
|
-
import { Fr, Point, fromBuffer } from '../fields/index.js';
|
|
5
|
-
import { hexSchemaFor } from '../schemas/utils.js';
|
|
6
|
-
import { type BufferReader, FieldReader } from '../serialize/index.js';
|
|
7
|
-
import { TypeRegistry } from '../serialize/type_registry.js';
|
|
8
|
-
import { hexToBuffer } from '../string/index.js';
|
|
9
|
-
|
|
10
|
-
/** Branding to ensure fields are not interchangeable types. */
|
|
11
|
-
export interface AztecAddress {
|
|
12
|
-
/** Brand. */
|
|
13
|
-
_branding: 'AztecAddress';
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* AztecAddress represents a 32-byte address in the Aztec Protocol. It provides methods to create, manipulate, and
|
|
17
|
-
* compare addresses, as well as conversion to and from strings, buffers, and other formats.
|
|
18
|
-
* Addresses are the x coordinate of a point in the Grumpkin curve, and therefore their maximum is determined by the
|
|
19
|
-
* field modulus. An address with a value that is not the x coordinate of a point in the curve is a called an 'invalid
|
|
20
|
-
* address'. These addresses have a greatly reduced feature set, as they cannot own secrets nor have messages encrypted
|
|
21
|
-
* to them, making them quite useless. We need to be able to represent them however as they can be encountered in the
|
|
22
|
-
* wild.
|
|
23
|
-
*/
|
|
24
|
-
export class AztecAddress {
|
|
25
|
-
private xCoord: Fr;
|
|
26
|
-
|
|
27
|
-
constructor(buffer: Buffer | Fr) {
|
|
28
|
-
if ('length' in buffer && buffer.length !== 32) {
|
|
29
|
-
throw new Error(`Invalid AztecAddress length ${buffer.length}.`);
|
|
30
|
-
}
|
|
31
|
-
this.xCoord = new Fr(buffer);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
[inspect.custom]() {
|
|
35
|
-
return `AztecAddress<${this.toString()}>`;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
static isAddress(str: string) {
|
|
39
|
-
return /^(0x)?[a-fA-F0-9]{64}$/.test(str);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
static SIZE_IN_BYTES = Fr.SIZE_IN_BYTES;
|
|
43
|
-
|
|
44
|
-
static ZERO = new AztecAddress(Buffer.alloc(32, 0));
|
|
45
|
-
|
|
46
|
-
static zero(): AztecAddress {
|
|
47
|
-
return AztecAddress.ZERO;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static fromField(fr: Fr) {
|
|
51
|
-
return new AztecAddress(fr);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
55
|
-
return new AztecAddress(fromBuffer(buffer, Fr));
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
static fromFields(fields: Fr[] | FieldReader) {
|
|
59
|
-
const reader = FieldReader.asReader(fields);
|
|
60
|
-
return new AztecAddress(reader.readField());
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
static fromBigInt(value: bigint) {
|
|
64
|
-
return new AztecAddress(new Fr(value));
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
static fromNumber(value: number) {
|
|
68
|
-
return new AztecAddress(new Fr(value));
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
static fromString(buf: string) {
|
|
72
|
-
return new AztecAddress(hexToBuffer(buf));
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* @returns a random valid address (i.e. one that can be encrypted to).
|
|
77
|
-
*/
|
|
78
|
-
static async random() {
|
|
79
|
-
// About half of random field elements result in invalid addresses, so we loop until we get a valid one.
|
|
80
|
-
while (true) {
|
|
81
|
-
const candidate = new AztecAddress(Fr.random());
|
|
82
|
-
if (await candidate.isValid()) {
|
|
83
|
-
return candidate;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
get size() {
|
|
89
|
-
return this.xCoord.size;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
equals(other: AztecAddress) {
|
|
93
|
-
return this.xCoord.equals(other.xCoord);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
isZero() {
|
|
97
|
-
return this.xCoord.isZero();
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* @returns true if the address is valid. Invalid addresses cannot receive encrypted messages.
|
|
102
|
-
*/
|
|
103
|
-
async isValid() {
|
|
104
|
-
// An address is a field value (Fr), which for some purposes is assumed to be the x coordinate of a point in the
|
|
105
|
-
// Grumpkin curve (notably in order to encrypt to it). An address that is not the x coordinate of such a point is
|
|
106
|
-
// called an 'invalid' address.
|
|
107
|
-
//
|
|
108
|
-
// For Grumpkin, y^2 = x^3 − 17 . There exist values x ∈ Fr for which no y satisfies this equation. This means that
|
|
109
|
-
// given such an x and t = x^3 − 17, then sqrt(t) does not exist in Fr.
|
|
110
|
-
return (await Point.YFromX(this.xCoord)) !== null;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* @returns the Point from which the address is derived. Throws if the address is invalid.
|
|
115
|
-
*/
|
|
116
|
-
toAddressPoint(): Promise<Point> {
|
|
117
|
-
return Point.fromXAndSign(this.xCoord, true);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
toBuffer() {
|
|
121
|
-
return this.xCoord.toBuffer();
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
toBigInt() {
|
|
125
|
-
return this.xCoord.toBigInt();
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
toField() {
|
|
129
|
-
return this.xCoord;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
toString() {
|
|
133
|
-
return this.xCoord.toString();
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
toJSON() {
|
|
137
|
-
return this.toString();
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
static get schema() {
|
|
141
|
-
return hexSchemaFor(AztecAddress, AztecAddress.isAddress);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// For deserializing JSON.
|
|
146
|
-
TypeRegistry.register('AztecAddress', AztecAddress);
|