@aztec/foundation 4.0.0-nightly.20250907 → 4.0.0-nightly.20260108
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 -9
- package/dest/array/array.d.ts.map +1 -1
- package/dest/array/array.js +0 -11
- package/dest/array/index.d.ts +2 -1
- package/dest/array/index.d.ts.map +1 -1
- package/dest/array/index.js +1 -0
- package/dest/array/sorted_array.d.ts +10 -0
- package/dest/array/sorted_array.d.ts.map +1 -0
- package/dest/array/sorted_array.js +106 -0
- package/dest/async-map/index.d.ts +1 -1
- package/dest/async-pool/index.d.ts +1 -1
- package/dest/bigint/index.d.ts +1 -1
- package/dest/bigint-buffer/index.d.ts +1 -1
- package/dest/branded-types/block_number.d.ts +53 -0
- package/dest/branded-types/block_number.d.ts.map +1 -0
- package/dest/branded-types/block_number.js +75 -0
- package/dest/branded-types/checkpoint_number.d.ts +46 -0
- package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
- package/dest/branded-types/checkpoint_number.js +68 -0
- package/dest/branded-types/epoch.d.ts +42 -0
- package/dest/branded-types/epoch.d.ts.map +1 -0
- package/dest/branded-types/epoch.js +59 -0
- package/dest/branded-types/index.d.ts +6 -0
- package/dest/branded-types/index.d.ts.map +1 -0
- package/dest/branded-types/index.js +4 -0
- package/dest/branded-types/slot.d.ts +42 -0
- package/dest/branded-types/slot.d.ts.map +1 -0
- package/dest/branded-types/slot.js +59 -0
- package/dest/branded-types/types.d.ts +5 -0
- package/dest/branded-types/types.d.ts.map +1 -0
- package/dest/branded-types/types.js +1 -0
- package/dest/buffer/buffer16.d.ts +2 -5
- package/dest/buffer/buffer16.d.ts.map +1 -1
- package/dest/buffer/buffer16.js +4 -2
- package/dest/buffer/buffer32.d.ts +2 -5
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +4 -2
- package/dest/buffer/index.d.ts +1 -1
- package/dest/collection/array.d.ts +3 -1
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +12 -3
- package/dest/collection/index.d.ts +1 -1
- package/dest/collection/object.d.ts +5 -1
- package/dest/collection/object.d.ts.map +1 -1
- package/dest/collection/object.js +6 -0
- package/dest/committable/committable.d.ts +1 -1
- package/dest/committable/committable.d.ts.map +1 -1
- package/dest/committable/index.d.ts +1 -1
- package/dest/config/env_var.d.ts +2 -2
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/config/index.d.ts +12 -2
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +17 -2
- package/dest/config/network_config.d.ts +54 -0
- package/dest/config/network_config.d.ts.map +1 -0
- package/dest/config/network_config.js +11 -0
- package/dest/config/network_name.d.ts +2 -2
- package/dest/config/network_name.d.ts.map +1 -1
- package/dest/config/network_name.js +10 -2
- package/dest/config/secret_value.d.ts +1 -1
- package/dest/config/secret_value.d.ts.map +1 -1
- package/dest/config/secret_value.js +3 -1
- package/dest/crypto/aes128/index.d.ts +1 -1
- package/dest/crypto/aes128/index.d.ts.map +1 -1
- package/dest/crypto/aes128/index.js +19 -6
- package/dest/crypto/bls/bn254_keystore.d.ts +296 -0
- package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -0
- package/dest/crypto/bls/bn254_keystore.js +218 -0
- package/dest/crypto/bls/index.d.ts +13 -0
- package/dest/crypto/bls/index.d.ts.map +1 -0
- package/dest/crypto/bls/index.js +87 -0
- package/dest/crypto/bn254/index.d.ts +39 -0
- package/dest/crypto/bn254/index.d.ts.map +1 -0
- package/dest/crypto/bn254/index.js +56 -0
- package/dest/crypto/ecdsa/index.d.ts +1 -1
- package/dest/crypto/ecdsa/index.d.ts.map +1 -1
- package/dest/crypto/ecdsa/index.js +58 -48
- package/dest/crypto/ecdsa/signature.d.ts +2 -11
- package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
- package/dest/crypto/ecdsa/signature.js +2 -2
- package/dest/crypto/grumpkin/index.d.ts +10 -13
- package/dest/crypto/grumpkin/index.d.ts.map +1 -1
- package/dest/crypto/grumpkin/index.js +61 -55
- package/dest/crypto/keccak/index.d.ts +1 -1
- package/dest/crypto/keys/index.d.ts +2 -2
- package/dest/crypto/keys/index.d.ts.map +1 -1
- package/dest/crypto/keys/index.js +8 -5
- package/dest/crypto/pedersen/index.d.ts +1 -1
- package/dest/crypto/pedersen/pedersen.noble.d.ts +1 -1
- package/dest/crypto/pedersen/pedersen.wasm.d.ts +2 -2
- package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
- package/dest/crypto/pedersen/pedersen.wasm.js +24 -14
- package/dest/crypto/poseidon/index.d.ts +2 -2
- package/dest/crypto/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.js +33 -18
- package/dest/crypto/random/index.d.ts +1 -1
- package/dest/crypto/random/index.d.ts.map +1 -1
- package/dest/crypto/random/randomness_singleton.d.ts +1 -1
- package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
- package/dest/crypto/schnorr/index.d.ts +3 -2
- package/dest/crypto/schnorr/index.d.ts.map +1 -1
- package/dest/crypto/schnorr/index.js +30 -38
- package/dest/crypto/schnorr/signature.d.ts +2 -2
- package/dest/crypto/schnorr/signature.d.ts.map +1 -1
- package/dest/crypto/schnorr/signature.js +2 -2
- package/dest/crypto/secp256k1/index.d.ts +1 -1
- package/dest/crypto/secp256k1/index.d.ts.map +1 -1
- package/dest/crypto/secp256k1/index.js +23 -18
- package/dest/crypto/secp256k1-signer/index.d.ts +1 -1
- package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +1 -1
- package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
- package/dest/crypto/secp256k1-signer/utils.d.ts +49 -3
- package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
- package/dest/crypto/secp256k1-signer/utils.js +87 -5
- package/dest/crypto/serialize.d.ts +1 -1
- package/dest/crypto/sha256/index.d.ts +2 -2
- package/dest/crypto/sha256/index.d.ts.map +1 -1
- package/dest/crypto/sha256/index.js +1 -1
- package/dest/crypto/sha512/index.d.ts +3 -3
- package/dest/crypto/sha512/index.d.ts.map +1 -1
- package/dest/crypto/sha512/index.js +1 -1
- package/dest/crypto/signature/index.d.ts +2 -2
- package/dest/crypto/signature/index.d.ts.map +1 -1
- package/dest/crypto/sync/index.d.ts +1 -1
- package/dest/crypto/sync/index.js +1 -1
- package/dest/crypto/sync/pedersen/index.d.ts +2 -2
- package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
- package/dest/crypto/sync/pedersen/index.js +18 -11
- package/dest/crypto/sync/poseidon/index.d.ts +2 -2
- package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/sync/poseidon/index.js +28 -13
- package/dest/{fields/bls12_fields.d.ts → curves/bls12/field.d.ts} +3 -3
- package/dest/curves/bls12/field.d.ts.map +1 -0
- package/dest/{fields/bls12_fields.js → curves/bls12/field.js} +12 -9
- package/dest/curves/bls12/index.d.ts +3 -0
- package/dest/curves/bls12/index.d.ts.map +1 -0
- package/dest/curves/bls12/index.js +2 -0
- package/dest/{fields/bls12_point.d.ts → curves/bls12/point.d.ts} +11 -20
- package/dest/curves/bls12/point.d.ts.map +1 -0
- package/dest/{fields/bls12_point.js → curves/bls12/point.js} +17 -15
- package/dest/curves/bn254/field.d.ts +180 -0
- package/dest/curves/bn254/field.d.ts.map +1 -0
- package/dest/{fields/fields.js → curves/bn254/field.js} +71 -59
- package/dest/curves/bn254/index.d.ts +3 -0
- package/dest/curves/bn254/index.d.ts.map +1 -0
- package/dest/curves/bn254/index.js +2 -0
- package/dest/curves/bn254/point.d.ts +54 -0
- package/dest/curves/bn254/point.d.ts.map +1 -0
- package/dest/curves/bn254/point.js +143 -0
- package/dest/curves/grumpkin/index.d.ts +10 -0
- package/dest/curves/grumpkin/index.d.ts.map +1 -0
- package/dest/curves/grumpkin/index.js +3 -0
- package/dest/{fields → curves/grumpkin}/point.d.ts +13 -13
- package/dest/curves/grumpkin/point.d.ts.map +1 -0
- package/dest/{fields → curves/grumpkin}/point.js +24 -7
- package/dest/decorators/index.d.ts +1 -1
- package/dest/decorators/memoize.d.ts +1 -1
- package/dest/decorators/memoize.d.ts.map +1 -1
- package/dest/error/index.d.ts +4 -4
- package/dest/error/index.d.ts.map +1 -1
- package/dest/eth-address/index.d.ts +14 -4
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +26 -2
- package/dest/eth-signature/eth_signature.d.ts +1 -4
- package/dest/eth-signature/eth_signature.d.ts.map +1 -1
- package/dest/eth-signature/eth_signature.js +2 -4
- package/dest/eth-signature/index.d.ts +1 -1
- package/dest/fs/index.d.ts +1 -1
- package/dest/fs/run_in_dir.d.ts +1 -1
- package/dest/fs/try_rm_dir.d.ts +1 -1
- package/dest/iterable/all.d.ts +1 -1
- package/dest/iterable/filter.d.ts +1 -1
- package/dest/iterable/index.d.ts +1 -1
- package/dest/iterable/isAsyncIt.d.ts +1 -1
- package/dest/iterable/map.d.ts +1 -1
- package/dest/iterable/peek.d.ts +1 -1
- package/dest/iterable/sort.d.ts +1 -1
- package/dest/iterable/take.d.ts +1 -1
- package/dest/iterable/toArray.d.ts +1 -1
- package/dest/iterator/filter.d.ts +3 -0
- package/dest/iterator/filter.d.ts.map +1 -0
- package/dest/iterator/filter.js +7 -0
- package/dest/iterator/index.d.ts +2 -0
- package/dest/iterator/index.d.ts.map +1 -0
- package/dest/iterator/index.js +1 -0
- package/dest/json-rpc/client/fetch.d.ts +1 -1
- package/dest/json-rpc/client/index.d.ts +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.js +9 -0
- package/dest/json-rpc/client/undici.d.ts +1 -1
- package/dest/json-rpc/convert.d.ts +1 -1
- package/dest/json-rpc/errors.d.ts +1 -1
- package/dest/json-rpc/errors.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/class_a.d.ts +3 -3
- package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/class_b.d.ts +3 -3
- package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/test_state.d.ts +1 -1
- package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
- package/dest/json-rpc/index.d.ts +1 -1
- package/dest/json-rpc/js_utils.d.ts +1 -1
- package/dest/json-rpc/js_utils.d.ts.map +1 -1
- package/dest/json-rpc/server/index.d.ts +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/test/index.d.ts +1 -1
- package/dest/json-rpc/test/integration.d.ts +1 -1
- package/dest/log/console.d.ts +1 -1
- package/dest/log/gcloud-logger-config.d.ts +1 -1
- package/dest/log/gcloud-logger-config.d.ts.map +1 -1
- package/dest/log/index.d.ts +1 -1
- package/dest/log/libp2p_logger.d.ts +1 -1
- package/dest/log/log-filters.d.ts +1 -1
- package/dest/log/log-levels.d.ts +1 -1
- package/dest/log/log_fn.d.ts +2 -2
- package/dest/log/log_fn.d.ts.map +1 -1
- package/dest/log/noir_debug_log_util.d.ts +1 -1
- package/dest/log/pino-logger.d.ts +2 -2
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/log/pino-logger.js +0 -1
- package/dest/message/index.d.ts +1 -1
- package/dest/message/index.d.ts.map +1 -1
- package/dest/mutex/index.d.ts +1 -1
- package/dest/mutex/index.d.ts.map +1 -1
- package/dest/mutex/mutex_database.d.ts +1 -1
- package/dest/noir/index.d.ts +1 -1
- package/dest/noir/noir_package_config.d.ts +9 -9
- package/dest/number/index.d.ts +1 -1
- package/dest/profiler/index.d.ts +2 -0
- package/dest/profiler/index.d.ts.map +1 -0
- package/dest/profiler/index.js +1 -0
- package/dest/profiler/profiler.d.ts +8 -0
- package/dest/profiler/profiler.d.ts.map +1 -0
- package/dest/profiler/profiler.js +97 -0
- package/dest/promise/index.d.ts +1 -1
- package/dest/promise/running-promise.d.ts +1 -1
- package/dest/promise/running-promise.d.ts.map +1 -1
- package/dest/promise/utils.d.ts +1 -1
- package/dest/queue/base_memory_queue.d.ts +1 -1
- package/dest/queue/base_memory_queue.d.ts.map +1 -1
- package/dest/queue/batch_queue.d.ts +1 -1
- package/dest/queue/batch_queue.d.ts.map +1 -1
- package/dest/queue/bounded_serial_queue.d.ts +1 -1
- package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
- package/dest/queue/fifo_memory_queue.d.ts +1 -1
- package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
- package/dest/queue/index.d.ts +1 -1
- package/dest/queue/priority_memory_queue.d.ts +1 -1
- package/dest/queue/priority_memory_queue.d.ts.map +1 -1
- package/dest/queue/priority_queue.d.ts +1 -1
- package/dest/queue/priority_queue.d.ts.map +1 -1
- package/dest/queue/semaphore.d.ts +1 -1
- package/dest/queue/semaphore.d.ts.map +1 -1
- package/dest/queue/serial_queue.d.ts +1 -1
- package/dest/queue/serial_queue.d.ts.map +1 -1
- package/dest/retry/index.d.ts +1 -1
- package/dest/running-promise/index.d.ts +1 -1
- package/dest/schemas/api.d.ts +1 -1
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/parse.d.ts +1 -1
- package/dest/schemas/schemas.d.ts +15 -17
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +14 -10
- package/dest/schemas/types.d.ts +31 -1
- package/dest/schemas/types.d.ts.map +1 -1
- package/dest/schemas/types.js +25 -1
- package/dest/schemas/utils.d.ts +4 -4
- package/dest/schemas/utils.d.ts.map +1 -1
- package/dest/schemas/utils.js +15 -5
- package/dest/serialize/buffer_reader.d.ts +3 -1
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +3 -0
- package/dest/serialize/field_reader.d.ts +2 -2
- package/dest/serialize/field_reader.d.ts.map +1 -1
- package/dest/serialize/field_reader.js +1 -1
- package/dest/serialize/free_funcs.d.ts +2 -2
- package/dest/serialize/free_funcs.d.ts.map +1 -1
- package/dest/serialize/free_funcs.js +1 -1
- package/dest/serialize/index.d.ts +1 -1
- package/dest/serialize/serialize.d.ts +2 -2
- package/dest/serialize/serialize.d.ts.map +1 -1
- package/dest/serialize/serialize.js +1 -1
- package/dest/serialize/type_registry.d.ts +1 -1
- package/dest/serialize/type_registry.d.ts.map +1 -1
- package/dest/serialize/types.d.ts +1 -1
- package/dest/sleep/index.d.ts +3 -1
- package/dest/sleep/index.d.ts.map +1 -1
- package/dest/sleep/index.js +4 -0
- package/dest/string/index.d.ts +5 -1
- package/dest/string/index.d.ts.map +1 -1
- package/dest/string/index.js +19 -2
- package/dest/testing/files/index.d.ts +2 -1
- package/dest/testing/files/index.d.ts.map +1 -1
- package/dest/testing/files/index.js +1 -1
- package/dest/testing/formatting.d.ts +4 -0
- package/dest/testing/formatting.d.ts.map +1 -0
- package/dest/testing/formatting.js +3 -0
- package/dest/testing/index.d.ts +2 -1
- package/dest/testing/index.d.ts.map +1 -1
- package/dest/testing/index.js +1 -0
- package/dest/testing/port_allocator.d.ts +1 -1
- package/dest/testing/snapshot_serializer.d.ts +1 -1
- package/dest/testing/test_data.d.ts +1 -1
- package/dest/timer/date.d.ts +2 -1
- package/dest/timer/date.d.ts.map +1 -1
- package/dest/timer/date.js +3 -0
- package/dest/timer/elapsed.d.ts +1 -1
- package/dest/timer/index.d.ts +1 -1
- package/dest/timer/timeout.d.ts +1 -1
- package/dest/timer/timeout.d.ts.map +1 -1
- package/dest/timer/timer.d.ts +1 -1
- package/dest/timer/timer.d.ts.map +1 -1
- package/dest/transport/dispatch/create_dispatch_fn.d.ts +1 -1
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts +1 -1
- package/dest/transport/dispatch/messages.d.ts +1 -1
- package/dest/transport/index.d.ts +1 -1
- package/dest/transport/interface/connector.d.ts +1 -1
- package/dest/transport/interface/listener.d.ts +1 -1
- package/dest/transport/interface/socket.d.ts +1 -1
- package/dest/transport/interface/transferable.d.ts +1 -1
- package/dest/transport/node/index.d.ts +1 -1
- package/dest/transport/node/node_connector.d.ts +1 -1
- package/dest/transport/node/node_connector.d.ts.map +1 -1
- package/dest/transport/node/node_connector_socket.d.ts +1 -1
- package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
- 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_socket.d.ts +1 -1
- package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
- package/dest/transport/transport_client.d.ts +1 -1
- package/dest/transport/transport_client.d.ts.map +1 -1
- package/dest/transport/transport_server.d.ts +1 -10
- package/dest/transport/transport_server.d.ts.map +1 -1
- package/dest/trees/balanced_merkle_tree.d.ts +22 -0
- package/dest/trees/balanced_merkle_tree.d.ts.map +1 -0
- package/dest/trees/balanced_merkle_tree.js +66 -0
- package/dest/trees/hasher.d.ts +1 -1
- package/dest/trees/index.d.ts +2 -1
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +1 -0
- package/dest/trees/indexed_merkle_tree.d.ts +1 -1
- package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
- package/dest/trees/indexed_merkle_tree.js +1 -1
- package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
- package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/indexed_tree_leaf.d.ts +1 -1
- package/dest/trees/membership_witness.d.ts +3 -24
- package/dest/trees/membership_witness.d.ts.map +1 -1
- package/dest/trees/membership_witness.js +1 -1
- package/dest/trees/merkle_tree.d.ts +1 -1
- package/dest/trees/merkle_tree.d.ts.map +1 -1
- package/dest/trees/merkle_tree_calculator.d.ts +2 -12
- package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/merkle_tree_calculator.js +1 -31
- package/dest/trees/sibling_path.d.ts +5 -39
- package/dest/trees/sibling_path.d.ts.map +1 -1
- package/dest/trees/sibling_path.js +2 -2
- package/dest/trees/unbalanced_merkle_tree.d.ts +5 -4
- package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree.js +33 -10
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +27 -23
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree_calculator.js +123 -97
- package/dest/trees/unbalanced_tree_store.d.ts +2 -1
- package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
- package/dest/trees/unbalanced_tree_store.js +6 -0
- package/dest/types/index.d.ts +3 -1
- package/dest/types/index.d.ts.map +1 -1
- package/dest/types/index.js +3 -0
- package/dest/url/index.d.ts +1 -1
- package/dest/validation/index.d.ts +1 -1
- package/package.json +32 -8
- package/src/array/array.ts +0 -16
- package/src/array/index.ts +1 -0
- package/src/array/sorted_array.ts +133 -0
- package/src/branded-types/block_number.ts +112 -0
- package/src/branded-types/checkpoint_number.ts +100 -0
- package/src/branded-types/epoch.ts +88 -0
- package/src/branded-types/index.ts +6 -0
- package/src/branded-types/slot.ts +88 -0
- package/src/branded-types/types.ts +2 -0
- package/src/buffer/buffer16.ts +2 -2
- package/src/buffer/buffer32.ts +2 -2
- package/src/collection/array.ts +15 -3
- package/src/collection/object.ts +8 -0
- package/src/config/env_var.ts +44 -10
- package/src/config/index.ts +22 -2
- package/src/config/network_config.ts +18 -0
- package/src/config/network_name.ts +18 -3
- package/src/crypto/aes128/index.ts +19 -10
- package/src/crypto/bls/bn254_keystore.ts +287 -0
- package/src/crypto/bls/index.ts +77 -0
- package/src/crypto/bn254/index.ts +64 -0
- package/src/crypto/ecdsa/index.ts +40 -37
- package/src/crypto/ecdsa/signature.ts +2 -2
- package/src/crypto/grumpkin/index.ts +38 -46
- package/src/crypto/keys/index.ts +6 -6
- package/src/crypto/pedersen/pedersen.wasm.ts +23 -19
- package/src/crypto/poseidon/index.ts +33 -25
- package/src/crypto/schnorr/index.ts +22 -18
- package/src/crypto/schnorr/signature.ts +2 -2
- package/src/crypto/secp256k1/index.ts +15 -11
- package/src/crypto/secp256k1-signer/utils.ts +115 -7
- package/src/crypto/sha256/index.ts +1 -1
- package/src/crypto/sha512/index.ts +1 -1
- package/src/crypto/signature/index.ts +1 -1
- package/src/crypto/sync/index.ts +1 -1
- package/src/crypto/sync/pedersen/index.ts +17 -16
- package/src/crypto/sync/poseidon/index.ts +28 -23
- package/src/{fields/bls12_fields.ts → curves/bls12/field.ts} +6 -6
- package/src/curves/bls12/index.ts +2 -0
- package/src/{fields/bls12_point.ts → curves/bls12/point.ts} +14 -14
- package/src/{fields/fields.ts → curves/bn254/field.ts} +69 -62
- package/src/curves/bn254/index.ts +2 -0
- package/src/curves/bn254/point.ts +170 -0
- package/src/curves/grumpkin/index.ts +11 -0
- package/src/{fields → curves/grumpkin}/point.ts +26 -7
- package/src/eth-address/index.ts +28 -3
- package/src/eth-signature/eth_signature.ts +2 -4
- package/src/iterator/filter.ts +11 -0
- package/src/iterator/index.ts +1 -0
- package/src/json-rpc/client/safe_json_rpc_client.ts +9 -0
- package/src/log/log_fn.ts +1 -1
- package/src/log/pino-logger.ts +0 -1
- package/src/profiler/index.ts +1 -0
- package/src/profiler/profiler.ts +125 -0
- package/src/schemas/schemas.ts +24 -13
- package/src/schemas/types.ts +33 -0
- package/src/schemas/utils.ts +21 -8
- package/src/serialize/buffer_reader.ts +5 -0
- package/src/serialize/field_reader.ts +1 -1
- package/src/serialize/free_funcs.ts +1 -1
- package/src/serialize/serialize.ts +1 -1
- package/src/sleep/index.ts +6 -0
- package/src/string/index.ts +24 -1
- package/src/testing/files/index.ts +1 -1
- package/src/testing/formatting.ts +3 -0
- package/src/testing/index.ts +1 -0
- package/src/timer/date.ts +4 -0
- package/src/trees/balanced_merkle_tree.ts +84 -0
- package/src/trees/index.ts +1 -0
- package/src/trees/indexed_merkle_tree.ts +1 -1
- package/src/trees/membership_witness.ts +1 -1
- package/src/trees/merkle_tree_calculator.ts +1 -34
- package/src/trees/sibling_path.ts +2 -2
- package/src/trees/unbalanced_merkle_tree.ts +55 -7
- package/src/trees/unbalanced_merkle_tree_calculator.ts +134 -93
- package/src/trees/unbalanced_tree_store.ts +5 -1
- package/src/types/index.ts +5 -0
- package/dest/crypto/index.d.ts +0 -15
- package/dest/crypto/index.d.ts.map +0 -1
- package/dest/crypto/index.js +0 -14
- package/dest/fields/bls12_fields.d.ts.map +0 -1
- package/dest/fields/bls12_point.d.ts.map +0 -1
- package/dest/fields/coordinate.d.ts +0 -66
- package/dest/fields/coordinate.d.ts.map +0 -1
- package/dest/fields/coordinate.js +0 -96
- package/dest/fields/fields.d.ts +0 -174
- package/dest/fields/fields.d.ts.map +0 -1
- package/dest/fields/index.d.ts +0 -6
- package/dest/fields/index.d.ts.map +0 -1
- package/dest/fields/index.js +0 -5
- package/dest/fields/point.d.ts.map +0 -1
- package/dest/index.d.ts +0 -29
- package/dest/index.d.ts.map +0 -1
- package/dest/index.js +0 -29
- package/dest/json-rpc/server/telemetry.d.ts +0 -2
- package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
- package/dest/json-rpc/server/telemetry.js +0 -0
- package/src/crypto/index.ts +0 -14
- package/src/fields/coordinate.ts +0 -104
- package/src/fields/index.ts +0 -5
- package/src/index.ts +0 -29
- package/src/json-rpc/server/telemetry.ts +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './pedersen.wasm.js';
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcGVkZXJzZW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyJ9
|
|
@@ -6,4 +6,4 @@ export declare function pedersenCommitNoble(input: Buffer[], generatorOffset?: n
|
|
|
6
6
|
* Create a pedersen hash (field) from an array of input fields.
|
|
7
7
|
*/
|
|
8
8
|
export declare function pedersenHashWithHashIndexNoble(input: Buffer[], index?: number): Buffer<ArrayBufferLike>;
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVkZXJzZW4ubm9ibGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcGVkZXJzZW4vcGVkZXJzZW4ubm9ibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOGlCQTs7R0FFRztBQUNILHdCQUFnQixtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsZUFBZSxTQUFJLDZCQUd2RTtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLDhCQUE4QixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxLQUFLLFNBQUksMkJBR3hFIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '../../
|
|
1
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
2
2
|
import { type Fieldable } from '../../serialize/serialize.js';
|
|
3
3
|
/**
|
|
4
4
|
* Create a pedersen commitment (point) from an array of input fields.
|
|
@@ -16,4 +16,4 @@ export declare function pedersenHash(input: Fieldable[], index?: number): Promis
|
|
|
16
16
|
* Create a pedersen hash from an arbitrary length buffer.
|
|
17
17
|
*/
|
|
18
18
|
export declare function pedersenHashBuffer(input: Buffer, index?: number): Promise<Buffer<ArrayBuffer>>;
|
|
19
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVkZXJzZW4ud2FzbS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NyeXB0by9wZWRlcnNlbi9wZWRlcnNlbi53YXNtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQXFCLE1BQU0sOEJBQThCLENBQUM7QUFFakY7OztHQUdHO0FBQ0gsd0JBQXNCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxTQUFJLGtDQVkvRDtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsS0FBSyxTQUFJLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQVM3RTtBQUVEOztHQUVHO0FBQ0gsd0JBQXNCLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxTQUFJLGdDQVFoRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pedersen.wasm.d.ts","sourceRoot":"","sources":["../../../src/crypto/pedersen/pedersen.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"pedersen.wasm.d.ts","sourceRoot":"","sources":["../../../src/crypto/pedersen/pedersen.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,SAAI,kCAY/D;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAS7E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,gCAQhE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BarretenbergSync
|
|
2
|
-
import { Fr } from '../../
|
|
1
|
+
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
3
3
|
import { serializeToFields } from '../../serialize/serialize.js';
|
|
4
4
|
/**
|
|
5
5
|
* Create a pedersen commitment (point) from an array of input fields.
|
|
@@ -12,13 +12,15 @@ import { serializeToFields } from '../../serialize/serialize.js';
|
|
|
12
12
|
Buffer.alloc(32 - i.length, 0),
|
|
13
13
|
i
|
|
14
14
|
]) : i);
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
await BarretenbergSync.initSingleton();
|
|
16
|
+
const api = BarretenbergSync.getSingleton();
|
|
17
|
+
const response = api.pedersenCommit({
|
|
18
|
+
inputs: input,
|
|
19
|
+
hashIndex: offset
|
|
20
|
+
});
|
|
19
21
|
return [
|
|
20
|
-
Buffer.from(point.x
|
|
21
|
-
Buffer.from(point.y
|
|
22
|
+
Buffer.from(response.point.x),
|
|
23
|
+
Buffer.from(response.point.y)
|
|
22
24
|
];
|
|
23
25
|
}
|
|
24
26
|
/**
|
|
@@ -28,14 +30,22 @@ import { serializeToFields } from '../../serialize/serialize.js';
|
|
|
28
30
|
* @returns The pedersen hash.
|
|
29
31
|
*/ export async function pedersenHash(input, index = 0) {
|
|
30
32
|
const inputFields = serializeToFields(input);
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
33
|
+
await BarretenbergSync.initSingleton();
|
|
34
|
+
const api = BarretenbergSync.getSingleton();
|
|
35
|
+
const response = api.pedersenHash({
|
|
36
|
+
inputs: inputFields.map((i)=>i.toBuffer()),
|
|
37
|
+
hashIndex: index
|
|
38
|
+
});
|
|
39
|
+
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
34
40
|
}
|
|
35
41
|
/**
|
|
36
42
|
* Create a pedersen hash from an arbitrary length buffer.
|
|
37
43
|
*/ export async function pedersenHashBuffer(input, index = 0) {
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
|
|
44
|
+
await BarretenbergSync.initSingleton();
|
|
45
|
+
const api = BarretenbergSync.getSingleton();
|
|
46
|
+
const response = api.pedersenHashBuffer({
|
|
47
|
+
input,
|
|
48
|
+
hashIndex: index
|
|
49
|
+
});
|
|
50
|
+
return Buffer.from(response.hash);
|
|
41
51
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '../../
|
|
1
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
2
2
|
import { type Fieldable } from '../../serialize/serialize.js';
|
|
3
3
|
/**
|
|
4
4
|
* Create a poseidon hash (field) from an array of input fields.
|
|
@@ -21,4 +21,4 @@ export declare function poseidon2HashAccumulate(input: Fieldable[]): Promise<Fr>
|
|
|
21
21
|
*/
|
|
22
22
|
export declare function poseidon2Permutation(input: Fieldable[]): Promise<Fr[]>;
|
|
23
23
|
export declare function poseidon2HashBytes(input: Buffer): Promise<Fr>;
|
|
24
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcG9zZWlkb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRjs7OztHQUlHO0FBQ0gsd0JBQXNCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQVFuRTtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLDBCQUEwQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FTbkc7QUFFRCx3QkFBc0IsdUJBQXVCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FRN0U7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQXNCLG9CQUFvQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FZNUU7QUFFRCx3QkFBc0Isa0JBQWtCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBa0JuRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAQnE;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CASnG;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAQ7E;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAY5E;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAkBnE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BarretenbergSync
|
|
2
|
-
import { Fr } from '../../
|
|
1
|
+
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
3
3
|
import { serializeToFields } from '../../serialize/serialize.js';
|
|
4
4
|
/**
|
|
5
5
|
* Create a poseidon hash (field) from an array of input fields.
|
|
@@ -7,9 +7,12 @@ import { serializeToFields } from '../../serialize/serialize.js';
|
|
|
7
7
|
* @returns The poseidon hash.
|
|
8
8
|
*/ export async function poseidon2Hash(input) {
|
|
9
9
|
const inputFields = serializeToFields(input);
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
10
|
+
await BarretenbergSync.initSingleton();
|
|
11
|
+
const api = BarretenbergSync.getSingleton();
|
|
12
|
+
const response = api.poseidon2Hash({
|
|
13
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
14
|
+
});
|
|
15
|
+
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
13
16
|
}
|
|
14
17
|
/**
|
|
15
18
|
* Create a poseidon hash (field) from an array of input fields and a domain separator.
|
|
@@ -19,15 +22,21 @@ import { serializeToFields } from '../../serialize/serialize.js';
|
|
|
19
22
|
*/ export async function poseidon2HashWithSeparator(input, separator) {
|
|
20
23
|
const inputFields = serializeToFields(input);
|
|
21
24
|
inputFields.unshift(new Fr(separator));
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
+
await BarretenbergSync.initSingleton();
|
|
26
|
+
const api = BarretenbergSync.getSingleton();
|
|
27
|
+
const response = api.poseidon2Hash({
|
|
28
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
29
|
+
});
|
|
30
|
+
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
25
31
|
}
|
|
26
32
|
export async function poseidon2HashAccumulate(input) {
|
|
27
33
|
const inputFields = serializeToFields(input);
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
34
|
+
await BarretenbergSync.initSingleton();
|
|
35
|
+
const api = BarretenbergSync.getSingleton();
|
|
36
|
+
const response = api.poseidon2HashAccumulate({
|
|
37
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
38
|
+
});
|
|
39
|
+
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
31
40
|
}
|
|
32
41
|
/**
|
|
33
42
|
* Runs a Poseidon2 permutation.
|
|
@@ -37,11 +46,14 @@ export async function poseidon2HashAccumulate(input) {
|
|
|
37
46
|
const inputFields = serializeToFields(input);
|
|
38
47
|
// We'd like this assertion but it's not possible to use it in the browser.
|
|
39
48
|
// assert(input.length === 4, 'Input state must be of size 4');
|
|
40
|
-
|
|
41
|
-
const
|
|
49
|
+
await BarretenbergSync.initSingleton();
|
|
50
|
+
const api = BarretenbergSync.getSingleton();
|
|
51
|
+
const response = api.poseidon2Permutation({
|
|
52
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
53
|
+
});
|
|
42
54
|
// We'd like this assertion but it's not possible to use it in the browser.
|
|
43
|
-
// assert(
|
|
44
|
-
return
|
|
55
|
+
// assert(response.outputs.length === 4, 'Output state must be of size 4');
|
|
56
|
+
return response.outputs.map((o)=>Fr.fromBuffer(Buffer.from(o)));
|
|
45
57
|
}
|
|
46
58
|
export async function poseidon2HashBytes(input) {
|
|
47
59
|
const inputFields = [];
|
|
@@ -52,7 +64,10 @@ export async function poseidon2HashBytes(input) {
|
|
|
52
64
|
fieldBytes.reverse();
|
|
53
65
|
inputFields.push(Fr.fromBuffer(fieldBytes));
|
|
54
66
|
}
|
|
55
|
-
|
|
56
|
-
const
|
|
57
|
-
|
|
67
|
+
await BarretenbergSync.initSingleton();
|
|
68
|
+
const api = BarretenbergSync.getSingleton();
|
|
69
|
+
const response = api.poseidon2Hash({
|
|
70
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
71
|
+
});
|
|
72
|
+
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
58
73
|
}
|
|
@@ -20,4 +20,4 @@ export declare const randomBigInt: (max: bigint) => bigint;
|
|
|
20
20
|
* @returns A random boolean value.
|
|
21
21
|
*/
|
|
22
22
|
export declare const randomBoolean: () => boolean;
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcmFuZG9tL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLGVBQU8sTUFBTSxXQUFXLDBDQU92QixDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsZUFBTyxNQUFNLFNBQVMseUJBSXJCLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxlQUFPLE1BQU0sWUFBWSx5QkFJeEIsQ0FBQztBQUVGOzs7R0FHRztBQUNILGVBQU8sTUFBTSxhQUFhLGVBR3pCLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,0CAOvB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,yBAIrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,yBAIxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,eAGzB,CAAC"}
|
|
@@ -20,4 +20,4 @@ export declare class RandomnessSingleton {
|
|
|
20
20
|
isDeterministic(): boolean;
|
|
21
21
|
getBytes(length: number): Buffer;
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9tbmVzc19zaW5nbGV0b24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcmFuZG9tL3JhbmRvbW5lc3Nfc2luZ2xldG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7O0dBT0c7QUFDSCxxQkFBYSxtQkFBbUI7SUFNNUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHO0lBTnRCLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFzQjtJQUU3QyxPQUFPLENBQUMsT0FBTyxDQUFLO0lBRXBCLE9BQU8sZUFVTjtJQUVELE9BQWMsV0FBVyxJQUFJLG1CQUFtQixDQU8vQztJQUVEOzs7T0FHRztJQUNJLGVBQWUsSUFBSSxPQUFPLENBRWhDO0lBRU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsTUFBTSxDQWdCdEM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"randomness_singleton.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/randomness_singleton.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAE7C,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO;
|
|
1
|
+
{"version":3,"file":"randomness_singleton.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/randomness_singleton.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAE7C,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,eAUN;IAED,OAAc,WAAW,IAAI,mBAAmB,CAO/C;IAED;;;OAGG;IACI,eAAe,IAAI,OAAO,CAEhC;IAEM,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBtC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
2
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
2
3
|
import { SchnorrSignature } from './signature.js';
|
|
3
4
|
export * from './signature.js';
|
|
4
5
|
/**
|
|
@@ -27,4 +28,4 @@ export declare class Schnorr {
|
|
|
27
28
|
*/
|
|
28
29
|
verifySignature(msg: Uint8Array, pubKey: Point, sig: SchnorrSignature): Promise<boolean>;
|
|
29
30
|
}
|
|
30
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2Nobm9yci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQjs7R0FFRztBQUNILHFCQUFhLE9BQU87SUFDbEI7Ozs7T0FJRztJQUNVLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxjQUFjLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUt4RTtJQUVEOzs7OztPQUtHO0lBQ1Usa0JBQWtCLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsY0FBYyw2QkFRMUU7SUFFRDs7Ozs7O09BTUc7SUFDVSxlQUFlLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxnQkFBZ0Isb0JBVWpGO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,cAAc,gBAAgB,CAAC;AAE/B;;GAEG;AACH,qBAAa,OAAO;IAClB;;;;OAIG;IACU,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAKxE;IAED;;;;;OAKG;IACU,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,6BAQ1E;IAED;;;;;;OAMG;IACU,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,oBAUjF;CACF"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
-
import { Point } from '@aztec/foundation/
|
|
3
|
-
import { numToInt32BE } from '@aztec/foundation/serialize';
|
|
4
|
-
import { concatenateUint8Arrays } from '../serialize.js';
|
|
2
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
5
3
|
import { SchnorrSignature } from './signature.js';
|
|
6
4
|
export * from './signature.js';
|
|
7
5
|
/**
|
|
@@ -12,13 +10,15 @@ export * from './signature.js';
|
|
|
12
10
|
* @param privateKey - The private key.
|
|
13
11
|
* @returns A grumpkin public key.
|
|
14
12
|
*/ async computePublicKey(privateKey) {
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
await BarretenbergSync.initSingleton();
|
|
14
|
+
const api = BarretenbergSync.getSingleton();
|
|
15
|
+
const response = api.schnorrComputePublicKey({
|
|
16
|
+
privateKey: privateKey.toBuffer()
|
|
17
|
+
});
|
|
18
|
+
return Point.fromBuffer(Buffer.concat([
|
|
19
|
+
Buffer.from(response.publicKey.x),
|
|
20
|
+
Buffer.from(response.publicKey.y)
|
|
21
|
+
]));
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Constructs a Schnorr signature given a msg and a private key.
|
|
@@ -26,21 +26,15 @@ export * from './signature.js';
|
|
|
26
26
|
* @param privateKey - The private key of the signer.
|
|
27
27
|
* @returns A Schnorr signature of the form (s, e).
|
|
28
28
|
*/ async constructSignature(msg, privateKey) {
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
msg
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
messageArray,
|
|
36
|
-
privateKey.toBuffer()
|
|
37
|
-
], [
|
|
38
|
-
32,
|
|
39
|
-
32
|
|
40
|
-
]);
|
|
29
|
+
await BarretenbergSync.initSingleton();
|
|
30
|
+
const api = BarretenbergSync.getSingleton();
|
|
31
|
+
const response = api.schnorrConstructSignature({
|
|
32
|
+
message: msg,
|
|
33
|
+
privateKey: privateKey.toBuffer()
|
|
34
|
+
});
|
|
41
35
|
return new SchnorrSignature(Buffer.from([
|
|
42
|
-
...s,
|
|
43
|
-
...e
|
|
36
|
+
...response.s,
|
|
37
|
+
...response.e
|
|
44
38
|
]));
|
|
45
39
|
}
|
|
46
40
|
/**
|
|
@@ -50,19 +44,17 @@ export * from './signature.js';
|
|
|
50
44
|
* @param sig - The Schnorr signature.
|
|
51
45
|
* @returns True or false.
|
|
52
46
|
*/ async verifySignature(msg, pubKey, sig) {
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
msg
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
sig.s,
|
|
62
|
-
sig.e
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
]);
|
|
66
|
-
return result[0] === 1;
|
|
47
|
+
await BarretenbergSync.initSingleton();
|
|
48
|
+
const api = BarretenbergSync.getSingleton();
|
|
49
|
+
const response = api.schnorrVerifySignature({
|
|
50
|
+
message: msg,
|
|
51
|
+
publicKey: {
|
|
52
|
+
x: pubKey.x.toBuffer(),
|
|
53
|
+
y: pubKey.y.toBuffer()
|
|
54
|
+
},
|
|
55
|
+
s: sig.s,
|
|
56
|
+
e: sig.e
|
|
57
|
+
});
|
|
58
|
+
return response.verified;
|
|
67
59
|
}
|
|
68
60
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
3
3
|
import type { Signature } from '../signature/index.js';
|
|
4
4
|
/**
|
|
@@ -65,4 +65,4 @@ export declare class SchnorrSignature implements Signature {
|
|
|
65
65
|
*/
|
|
66
66
|
toFields(): Fr[];
|
|
67
67
|
}
|
|
68
|
-
//# sourceMappingURL=
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3NjaG5vcnIvc2lnbmF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sNkJBQTZCLENBQUM7QUFFckUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gscUJBQWEsZ0JBQWlCLFlBQVcsU0FBUztJQVdwQyxPQUFPLENBQUMsTUFBTTtJQVYxQjs7T0FFRztJQUNILE9BQWMsSUFBSSxTQUFNO0lBRXhCOztPQUVHO0lBQ0gsT0FBYyxLQUFLLG1CQUEwQztJQUU3RCxZQUFvQixNQUFNLEVBQUUsTUFBTSxFQUlqQztJQUVEOzs7O09BSUc7SUFDSCxPQUFjLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxXQUUxQztJQUVEOzs7O09BSUc7SUFDSCxPQUFjLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxvQkFLekM7SUFFRDs7O09BR0c7SUFDSCxPQUFjLE1BQU0scUJBRW5CO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLDRCQUVKO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLDRCQUVKO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSw0QkFFUDtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGdCQUFnQixDQUdqRTtJQUVEOzs7T0FHRztJQUNILFFBQVEsV0FFUDtJQUVEOzs7T0FHRztJQUNILFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FZZjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/signature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/signature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAY,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAWpC,OAAO,CAAC,MAAM;IAV1B;;OAEG;IACH,OAAc,IAAI,SAAM;IAExB;;OAEG;IACH,OAAc,KAAK,mBAA0C;IAE7D,YAAoB,MAAM,EAAE,MAAM,EAIjC;IAED;;;;OAIG;IACH,OAAc,WAAW,CAAC,SAAS,EAAE,MAAM,WAE1C;IAED;;;;OAIG;IACH,OAAc,UAAU,CAAC,SAAS,EAAE,MAAM,oBAKzC;IAED;;;OAGG;IACH,OAAc,MAAM,qBAEnB;IAED;;;OAGG;IACH,IAAI,CAAC,4BAEJ;IAED;;;OAGG;IACH,IAAI,CAAC,4BAEJ;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAGjE;IAED;;;OAGG;IACH,QAAQ,WAEP;IAED;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAYf;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { randomBytes } from '@aztec/foundation/crypto';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { BufferReader, mapTuple } from '@aztec/foundation/serialize';
|
|
4
4
|
/**
|
|
5
5
|
* Schnorr signature used for transactions.
|
|
@@ -27,4 +27,4 @@ export declare class Secp256k1 {
|
|
|
27
27
|
*/
|
|
28
28
|
reduce512BufferToFr(uint512Buf: Buffer): Promise<Buffer<ArrayBuffer>>;
|
|
29
29
|
}
|
|
30
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2VjcDI1NmsxL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gscUJBQWEsU0FBUztJQUVwQixNQUFNLENBQUMsU0FBUyxzQkFLYjtJQUVIOzs7T0FHRztJQUNJLFNBQVMsSUFBSSxNQUFNLENBRXpCO0lBRUQ7Ozs7O09BS0c7SUFDVSxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxnQ0FRckQ7SUFFRDs7O09BR0c7SUFDVSxXQUFXLGlDQUt2QjtJQUVEOzs7O09BSUc7SUFDVSxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxnQ0FLbEQ7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,SAAS;IAEpB,MAAM,CAAC,SAAS,sBAKb;IAEH;;;OAGG;IACI,SAAS,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,SAAS;IAEpB,MAAM,CAAC,SAAS,sBAKb;IAEH;;;OAGG;IACI,SAAS,IAAI,MAAM,CAEzB;IAED;;;;;OAKG;IACU,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,gCAQrD;IAED;;;OAGG;IACU,WAAW,iCAKvB;IAED;;;;OAIG;IACU,mBAAmB,CAAC,UAAU,EAAE,MAAM,gCAKlD;CACF"}
|
|
@@ -81,36 +81,41 @@ import { BarretenbergSync } from '@aztec/bb.js';
|
|
|
81
81
|
* @param scalar - Scalar to multiply by.
|
|
82
82
|
* @returns Result of the multiplication.
|
|
83
83
|
*/ async mul(point, scalar) {
|
|
84
|
-
|
|
85
|
-
const
|
|
86
|
-
|
|
84
|
+
await BarretenbergSync.initSingleton();
|
|
85
|
+
const api = BarretenbergSync.getSingleton();
|
|
86
|
+
const response = api.secp256k1Mul({
|
|
87
|
+
point: {
|
|
88
|
+
x: point.subarray(0, 32),
|
|
89
|
+
y: point.subarray(32, 64)
|
|
90
|
+
},
|
|
87
91
|
scalar
|
|
88
|
-
|
|
89
|
-
|
|
92
|
+
});
|
|
93
|
+
return Buffer.concat([
|
|
94
|
+
Buffer.from(response.point.x),
|
|
95
|
+
Buffer.from(response.point.y)
|
|
90
96
|
]);
|
|
91
|
-
return Buffer.from(result);
|
|
92
97
|
}
|
|
93
98
|
/**
|
|
94
99
|
* Gets a random field element.
|
|
95
100
|
* @returns Random field element.
|
|
96
101
|
*/ async getRandomFr() {
|
|
97
|
-
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
await BarretenbergSync.initSingleton();
|
|
103
|
+
const api = BarretenbergSync.getSingleton();
|
|
104
|
+
const response = api.secp256k1GetRandomFr({
|
|
105
|
+
dummy: 0
|
|
106
|
+
});
|
|
107
|
+
return Buffer.from(response.value);
|
|
102
108
|
}
|
|
103
109
|
/**
|
|
104
110
|
* Converts a 512 bits long buffer to a field.
|
|
105
111
|
* @param uint512Buf - The buffer to convert.
|
|
106
112
|
* @returns Buffer representation of the field element.
|
|
107
113
|
*/ async reduce512BufferToFr(uint512Buf) {
|
|
108
|
-
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return Buffer.from(result);
|
|
114
|
+
await BarretenbergSync.initSingleton();
|
|
115
|
+
const api = BarretenbergSync.getSingleton();
|
|
116
|
+
const response = api.secp256k1Reduce512({
|
|
117
|
+
input: uint512Buf
|
|
118
|
+
});
|
|
119
|
+
return Buffer.from(response.value);
|
|
115
120
|
}
|
|
116
121
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './secp256k1_signer.js';
|
|
2
2
|
export * from './utils.js';
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2VjcDI1NmsxLXNpZ25lci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsWUFBWSxDQUFDIn0=
|
|
@@ -21,4 +21,4 @@ export declare class Secp256k1Signer {
|
|
|
21
21
|
signMessage(message: Buffer32): Signature;
|
|
22
22
|
static random(): Secp256k1Signer;
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxX3NpZ25lci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NyeXB0by9zZWNwMjU2azEtc2lnbmVyL3NlY3AyNTZrMV9zaWduZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSWpFOzs7Ozs7R0FNRztBQUNILHFCQUFhLGVBQWU7SUFHZCxPQUFPLENBQUMsVUFBVTtJQUY5QixTQUFnQixPQUFPLEVBQUUsVUFBVSxDQUFDO0lBRXBDLFlBQW9CLFVBQVUsRUFBRSxRQUFRLEVBRXZDO0lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEdBQUcsU0FBUyxDQUVqQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxTQUFTLENBR3hDO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxlQUFlLENBRS9CO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secp256k1_signer.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/secp256k1_signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAIjE;;;;;;GAMG;AACH,qBAAa,eAAe;IAGd,OAAO,CAAC,UAAU;IAF9B,SAAgB,OAAO,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"secp256k1_signer.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/secp256k1_signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAIjE;;;;;;GAMG;AACH,qBAAa,eAAe;IAGd,OAAO,CAAC,UAAU;IAF9B,SAAgB,OAAO,EAAE,UAAU,CAAC;IAEpC,YAAoB,UAAU,EAAE,QAAQ,EAEvC;IAED,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAEjC;IAED;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAGxC;IAED,MAAM,CAAC,MAAM,IAAI,eAAe,CAE/B;CACF"}
|
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
import { Buffer32 } from '../../buffer/buffer32.js';
|
|
2
2
|
import { EthAddress } from '../../eth-address/index.js';
|
|
3
3
|
import { Signature } from '../../eth-signature/eth_signature.js';
|
|
4
|
+
/** Signature recovery options */
|
|
5
|
+
type RecoveryOpts = {
|
|
6
|
+
/**
|
|
7
|
+
* Whether to allow s-values in the high half of the curve (s >= CURVE.n/2).
|
|
8
|
+
* These are discouraged by EIP2 to prevent signature malleability, and outright
|
|
9
|
+
* rejected in OpenZeppelin's ECDSA recover, which we use in our Rollup contract.
|
|
10
|
+
*/
|
|
11
|
+
allowMalleable?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Whether to allow an y-parity 0-1 bit instead of the standard v value 27-28.
|
|
14
|
+
*/
|
|
15
|
+
allowYParityAsV?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export declare class Secp256k1Error extends Error {
|
|
18
|
+
constructor(message: string, opts?: {
|
|
19
|
+
cause: unknown;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
4
22
|
export declare function makeEthSignDigest(message: Buffer32): Buffer32;
|
|
5
23
|
/**
|
|
6
24
|
* Converts a private key to a public key.
|
|
@@ -18,9 +36,19 @@ export declare function addressFromPrivateKey(privateKey: Buffer): EthAddress;
|
|
|
18
36
|
* Recovers an address from a hash and a signature.
|
|
19
37
|
* @param hash - The hash to recover the address from.
|
|
20
38
|
* @param signature - The signature to recover the address from.
|
|
39
|
+
* @param opts - Recovery options.
|
|
21
40
|
* @returns The address.
|
|
41
|
+
* @throws Error if signature recovery fails or if signature is malleable and allowMalleable is false.
|
|
22
42
|
*/
|
|
23
|
-
export declare function recoverAddress(hash: Buffer32, signature: Signature): EthAddress;
|
|
43
|
+
export declare function recoverAddress(hash: Buffer32, signature: Signature, opts?: RecoveryOpts): EthAddress;
|
|
44
|
+
/**
|
|
45
|
+
* Safely attempts to recover an address from a hash and a signature.
|
|
46
|
+
* @param hash - The hash to recover the address from.
|
|
47
|
+
* @param signature - The signature to recover the address from.
|
|
48
|
+
* @param opts - Recovery options.
|
|
49
|
+
* @returns The address if recovery succeeds, undefined otherwise.
|
|
50
|
+
*/
|
|
51
|
+
export declare function tryRecoverAddress(hash: Buffer32, signature: Signature, opts?: RecoveryOpts): EthAddress | undefined;
|
|
24
52
|
/**
|
|
25
53
|
* @attribution - viem
|
|
26
54
|
* Converts a yParityOrV value to a recovery bit.
|
|
@@ -35,11 +63,29 @@ export declare function toRecoveryBit(yParityOrV: number): 0 | 1;
|
|
|
35
63
|
* @returns The signature.
|
|
36
64
|
*/
|
|
37
65
|
export declare function signMessage(message: Buffer32, privateKey: Buffer): Signature;
|
|
66
|
+
/**
|
|
67
|
+
* Flips an ECDSA signature.
|
|
68
|
+
* If the signature has a low s-value (s < CURVE.n/2), it flips it to high s-value (CURVE.n - s) and vice versa.
|
|
69
|
+
* Also flips the v value accordingly (27 <-> 28, or 0 <-> 1).
|
|
70
|
+
* This is useful for testing signature malleability handling.
|
|
71
|
+
* @param signature - The signature to flip.
|
|
72
|
+
* @returns A new signature with flipped s-value and v-value.
|
|
73
|
+
*/
|
|
74
|
+
export declare function flipSignature(signature: Signature): Signature;
|
|
75
|
+
/**
|
|
76
|
+
* Normalizes an ECDSA signature.
|
|
77
|
+
* If the signature has a high s-value (s >= CURVE.n/2), it flips it to low s-value (CURVE.n - s), and flips v accordingly.
|
|
78
|
+
* If the signature uses a recovery bit of 0/1, it is converted to a v-value 27/28 for ecrecover.
|
|
79
|
+
* @remarks This does not handle post EIP155 tx signatures which embed the chain id in v. Use it only for feeding into ECRECOVER precompiles.
|
|
80
|
+
* @param signature - The signature to normalize.
|
|
81
|
+
*/
|
|
82
|
+
export declare function normalizeSignature(signature: Signature): Signature;
|
|
38
83
|
/**
|
|
39
84
|
* Recovers a public key from a hash and a signature.
|
|
40
85
|
* @param hash - The hash to recover the public key from.
|
|
41
86
|
* @param signature - The signature to recover the public key from.
|
|
42
87
|
* @returns The public key.
|
|
43
88
|
*/
|
|
44
|
-
export declare function recoverPublicKey(hash: Buffer32, signature: Signature): Buffer;
|
|
45
|
-
|
|
89
|
+
export declare function recoverPublicKey(hash: Buffer32, signature: Signature, opts?: RecoveryOpts): Buffer;
|
|
90
|
+
export {};
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2VjcDI1NmsxLXNpZ25lci91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUtqRSxpQ0FBaUM7QUFDakMsS0FBSyxZQUFZLEdBQUc7SUFDbEI7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN6Qjs7T0FFRztJQUNILGVBQWUsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUMzQixDQUFDO0FBRUYscUJBQWEsY0FBZSxTQUFRLEtBQUs7SUFDdkMsWUFBWSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQTtLQUFFLEVBR3JEO0NBQ0Y7QUFHRCx3QkFBZ0IsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxRQUFRLENBRzdEO0FBWUQ7Ozs7R0FJRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFbEU7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQUdwRTtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxZQUFZLEdBQUcsVUFBVSxDQVVwRztBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsWUFBWSxHQUFHLFVBQVUsR0FBRyxTQUFTLENBT25IO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLFVBQVUsRUFBRSxNQUFNLFNBVy9DO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFHaEU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxHQUFHLFNBQVMsQ0FNN0Q7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0Isa0JBQWtCLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxTQUFTLENBVWxFO0FBNkJEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUUsWUFBaUIsR0FBRyxNQUFNLENBWXRHIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAKjE,iCAAiC;AACjC,KAAK,YAAY,GAAG;IAClB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qBAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,EAGrD;CACF;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAG7D;AAYD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAGpE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAUpG;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAOnH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,SAW/C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAGhE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAM7D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAUlE;AA6BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,GAAE,YAAiB,GAAG,MAAM,CAYtG"}
|