@aztec/foundation 0.0.1-commit.9b94fc1 → 0.0.1-commit.9badcec54
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/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 +15 -0
- package/dest/array/sorted_array.d.ts.map +1 -0
- package/dest/array/sorted_array.js +109 -0
- package/dest/branded-types/block_number.d.ts +56 -0
- package/dest/branded-types/block_number.d.ts.map +1 -0
- package/dest/branded-types/block_number.js +78 -0
- package/dest/branded-types/buffer32_hash.d.ts +24 -0
- package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
- package/dest/branded-types/buffer32_hash.js +19 -0
- package/dest/branded-types/checkpoint_number.d.ts +57 -0
- package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
- package/dest/branded-types/checkpoint_number.js +80 -0
- package/dest/branded-types/index.d.ts +5 -1
- package/dest/branded-types/index.d.ts.map +1 -1
- package/dest/branded-types/index.js +4 -0
- package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
- package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
- package/dest/branded-types/index_within_checkpoint.js +59 -0
- package/dest/branded-types/slot.d.ts +4 -1
- package/dest/branded-types/slot.d.ts.map +1 -1
- package/dest/branded-types/slot.js +3 -0
- package/dest/buffer/buffer16.d.ts +7 -2
- package/dest/buffer/buffer16.d.ts.map +1 -1
- package/dest/buffer/buffer16.js +4 -2
- package/dest/buffer/buffer32.d.ts +29 -59
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +30 -62
- package/dest/buffer/index.d.ts +2 -1
- package/dest/buffer/index.d.ts.map +1 -1
- package/dest/buffer/index.js +1 -0
- package/dest/buffer/utils.d.ts +3 -0
- package/dest/buffer/utils.d.ts.map +1 -0
- package/dest/buffer/utils.js +7 -0
- package/dest/collection/array.d.ts +14 -1
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +66 -0
- package/dest/collection/index.d.ts +2 -1
- package/dest/collection/index.d.ts.map +1 -1
- package/dest/collection/index.js +1 -0
- package/dest/collection/lru_set.d.ts +35 -0
- package/dest/collection/lru_set.d.ts.map +1 -0
- package/dest/collection/lru_set.js +95 -0
- 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 +61 -32
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +66 -37
- package/dest/config/network_config.d.ts +31 -1
- package/dest/config/network_config.d.ts.map +1 -1
- package/dest/config/network_config.js +6 -1
- 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 +2 -0
- package/dest/config/parse-env.d.ts +3 -0
- package/dest/config/parse-env.d.ts.map +1 -0
- package/dest/config/parse-env.js +7 -0
- package/dest/config/secret_value.js +3 -1
- package/dest/crypto/aes128/index.d.ts +2 -1
- package/dest/crypto/aes128/index.d.ts.map +1 -1
- package/dest/crypto/aes128/index.js +11 -2
- package/dest/crypto/bls/bn254_keystore.d.ts +1 -10
- package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
- package/dest/crypto/bls/bn254_keystore.js +1 -18
- package/dest/crypto/bls/index.js +1 -1
- package/dest/crypto/bn254/index.d.ts +35 -51
- package/dest/crypto/bn254/index.d.ts.map +1 -1
- package/dest/crypto/bn254/index.js +51 -140
- package/dest/crypto/ecdsa/signature.d.ts +11 -2
- 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 +4 -2
- package/dest/crypto/grumpkin/index.d.ts.map +1 -1
- package/dest/crypto/grumpkin/index.js +2 -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 +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 +1 -1
- package/dest/crypto/poseidon/index.d.ts +2 -3
- package/dest/crypto/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.js +41 -43
- package/dest/crypto/random/randomness_singleton.d.ts +4 -3
- package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
- package/dest/crypto/random/randomness_singleton.js +5 -5
- 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 +1 -1
- 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-signer/utils.d.ts +12 -1
- package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
- package/dest/crypto/secp256k1-signer/utils.js +26 -0
- 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 +2 -2
- 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/pedersen/index.d.ts +2 -2
- package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
- package/dest/crypto/sync/pedersen/index.js +1 -1
- package/dest/crypto/sync/poseidon/index.d.ts +2 -3
- package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/sync/poseidon/index.js +1 -9
- 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} +11 -13
- 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} +13 -4
- package/dest/curves/bls12/point.d.ts.map +1 -0
- package/dest/{fields/bls12_point.js → curves/bls12/point.js} +10 -8
- package/dest/{fields/fields.d.ts → curves/bn254/field.d.ts} +24 -30
- package/dest/curves/bn254/field.d.ts.map +1 -0
- package/dest/{fields/fields.js → curves/bn254/field.js} +55 -61
- 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 +16 -7
- package/dest/curves/grumpkin/point.d.ts.map +1 -0
- package/dest/{fields → curves/grumpkin}/point.js +14 -11
- package/dest/error/index.d.ts +4 -4
- package/dest/error/index.d.ts.map +1 -1
- package/dest/eth-address/index.d.ts +3 -2
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +10 -6
- package/dest/eth-signature/eth_signature.d.ts +5 -1
- package/dest/eth-signature/eth_signature.d.ts.map +1 -1
- package/dest/eth-signature/eth_signature.js +7 -2
- package/dest/fifo/fifo_frame_reader.d.ts +41 -0
- package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
- package/dest/fifo/fifo_frame_reader.js +74 -0
- package/dest/fifo/index.d.ts +2 -0
- package/dest/fifo/index.d.ts.map +1 -0
- package/dest/fifo/index.js +1 -0
- 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/jest/setup.js +28 -1
- package/dest/json-rpc/client/fetch.d.ts +1 -1
- package/dest/json-rpc/client/fetch.d.ts.map +1 -1
- package/dest/json-rpc/client/fetch.js +4 -3
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts +2 -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 +1 -1
- 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 +23 -4
- 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/server/api_key_auth.d.ts +19 -0
- package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
- package/dest/json-rpc/server/api_key_auth.js +57 -0
- package/dest/json-rpc/server/index.d.ts +2 -1
- package/dest/json-rpc/server/index.d.ts.map +1 -1
- package/dest/json-rpc/server/index.js +1 -0
- package/dest/json-rpc/server/safe_json_rpc_server.js +1 -1
- package/dest/log/bigint-utils.d.ts +5 -0
- package/dest/log/bigint-utils.d.ts.map +1 -0
- package/dest/log/bigint-utils.js +21 -0
- package/dest/log/gcloud-logger-config.d.ts +1 -1
- package/dest/log/gcloud-logger-config.d.ts.map +1 -1
- package/dest/log/gcloud-logger-config.js +3 -0
- package/dest/log/libp2p_logger.d.ts +5 -2
- package/dest/log/libp2p_logger.d.ts.map +1 -1
- package/dest/log/libp2p_logger.js +14 -4
- package/dest/log/log-filters.d.ts +17 -4
- package/dest/log/log-filters.d.ts.map +1 -1
- package/dest/log/log-filters.js +26 -12
- package/dest/log/pino-logger-server.d.ts +9 -0
- package/dest/log/pino-logger-server.d.ts.map +1 -0
- package/dest/log/pino-logger-server.js +18 -0
- package/dest/log/pino-logger.d.ts +37 -8
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/log/pino-logger.js +138 -30
- package/dest/queue/base_memory_queue.d.ts +2 -2
- 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/batch_queue.js +1 -0
- package/dest/queue/semaphore.d.ts +5 -1
- package/dest/queue/semaphore.d.ts.map +1 -1
- package/dest/retry/index.d.ts +22 -1
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +32 -0
- package/dest/schemas/api.d.ts +2 -2
- package/dest/schemas/api.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +7 -3
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +9 -3
- 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/serialize/buffer_reader.d.ts +14 -4
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +26 -4
- 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/serialize.d.ts +20 -2
- package/dest/serialize/serialize.d.ts.map +1 -1
- package/dest/serialize/serialize.js +32 -1
- package/dest/sleep/index.d.ts +4 -1
- package/dest/sleep/index.d.ts.map +1 -1
- package/dest/sleep/index.js +14 -1
- package/dest/string/index.js +1 -1
- package/dest/timer/date.d.ts +26 -1
- package/dest/timer/date.d.ts.map +1 -1
- package/dest/timer/date.js +36 -0
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
- package/dest/transport/index.d.ts +1 -2
- package/dest/transport/index.d.ts.map +1 -1
- package/dest/transport/index.js +0 -1
- package/dest/transport/transport_client.js +2 -2
- package/dest/trees/balanced_merkle_tree_root.d.ts +16 -0
- package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
- package/dest/trees/{balanced_merkle_tree.js → balanced_merkle_tree_root.js} +3 -17
- package/dest/trees/hasher.d.ts +4 -1
- package/dest/trees/hasher.d.ts.map +1 -1
- package/dest/trees/hasher.js +10 -5
- package/dest/trees/index.d.ts +4 -4
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +3 -3
- 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_merkle_tree_calculator.js +5 -1
- package/dest/trees/membership_witness.d.ts +12 -2
- package/dest/trees/membership_witness.d.ts.map +1 -1
- package/dest/trees/membership_witness.js +10 -1
- package/dest/trees/merkle_tree_calculator.d.ts +4 -2
- package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/merkle_tree_calculator.js +1 -5
- package/dest/trees/sibling_path.d.ts +4 -3
- package/dest/trees/sibling_path.d.ts.map +1 -1
- package/dest/trees/sibling_path.js +2 -6
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +2 -3
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree_calculator.js +1 -5
- package/dest/trees/{unbalanced_merkle_tree.d.ts → unbalanced_merkle_tree_root.d.ts} +4 -7
- package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
- package/dest/trees/{unbalanced_merkle_tree.js → unbalanced_merkle_tree_root.js} +12 -51
- package/dest/trees/unbalanced_tree_store.d.ts +5 -1
- package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
- package/dest/trees/unbalanced_tree_store.js +49 -1
- package/dest/types/index.d.ts +6 -2
- package/dest/types/index.d.ts.map +1 -1
- package/dest/types/index.js +6 -0
- package/package.json +49 -9
- package/src/array/index.ts +1 -0
- package/src/array/sorted_array.ts +138 -0
- package/src/branded-types/block_number.ts +117 -0
- package/src/branded-types/buffer32_hash.ts +42 -0
- package/src/branded-types/checkpoint_number.ts +120 -0
- package/src/branded-types/index.ts +4 -0
- package/src/branded-types/index_within_checkpoint.ts +88 -0
- package/src/branded-types/slot.ts +5 -0
- package/src/buffer/buffer16.ts +5 -2
- package/src/buffer/buffer32.ts +38 -67
- package/src/buffer/index.ts +1 -0
- package/src/buffer/utils.ts +8 -0
- package/src/collection/array.ts +66 -0
- package/src/collection/index.ts +1 -0
- package/src/collection/lru_set.ts +115 -0
- package/src/config/env_var.ts +95 -24
- package/src/config/index.ts +148 -88
- package/src/config/network_config.ts +5 -0
- package/src/config/network_name.ts +4 -1
- package/src/config/parse-env.ts +4 -0
- package/src/crypto/aes128/index.ts +11 -2
- package/src/crypto/bls/bn254_keystore.ts +1 -24
- package/src/crypto/bls/index.ts +1 -1
- package/src/crypto/bn254/index.ts +50 -159
- package/src/crypto/ecdsa/signature.ts +2 -2
- package/src/crypto/grumpkin/index.ts +3 -1
- package/src/crypto/keys/index.ts +1 -1
- package/src/crypto/pedersen/pedersen.wasm.ts +1 -1
- package/src/crypto/poseidon/index.ts +43 -45
- package/src/crypto/random/randomness_singleton.ts +6 -4
- package/src/crypto/schnorr/index.ts +2 -1
- package/src/crypto/schnorr/signature.ts +2 -2
- package/src/crypto/secp256k1-signer/utils.ts +32 -0
- 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/pedersen/index.ts +1 -1
- package/src/crypto/sync/poseidon/index.ts +1 -10
- package/src/{fields/bls12_fields.ts → curves/bls12/field.ts} +5 -12
- package/src/curves/bls12/index.ts +2 -0
- package/src/{fields/bls12_point.ts → curves/bls12/point.ts} +7 -7
- package/src/{fields/fields.ts → curves/bn254/field.ts} +61 -86
- 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 +13 -10
- package/src/eth-address/index.ts +8 -6
- package/src/eth-signature/eth_signature.ts +7 -1
- package/src/fifo/fifo_frame_reader.ts +98 -0
- package/src/fifo/index.ts +1 -0
- package/src/iterator/filter.ts +11 -0
- package/src/iterator/index.ts +1 -0
- package/src/jest/setup.mjs +31 -1
- package/src/json-rpc/client/fetch.ts +4 -3
- package/src/json-rpc/client/safe_json_rpc_client.ts +2 -0
- package/src/json-rpc/client/undici.ts +23 -3
- package/src/json-rpc/server/api_key_auth.ts +63 -0
- package/src/json-rpc/server/index.ts +1 -0
- package/src/json-rpc/server/safe_json_rpc_server.ts +1 -1
- package/src/log/bigint-utils.ts +25 -0
- package/src/log/gcloud-logger-config.ts +5 -0
- package/src/log/libp2p_logger.ts +12 -5
- package/src/log/log-filters.ts +29 -11
- package/src/log/pino-logger-server.ts +25 -0
- package/src/log/pino-logger.ts +162 -40
- package/src/queue/base_memory_queue.ts +1 -1
- package/src/queue/batch_queue.ts +1 -0
- package/src/queue/semaphore.ts +5 -0
- package/src/retry/index.ts +48 -0
- package/src/schemas/api.ts +4 -1
- package/src/schemas/schemas.ts +14 -3
- package/src/schemas/types.ts +33 -0
- package/src/serialize/buffer_reader.ts +36 -9
- package/src/serialize/field_reader.ts +1 -1
- package/src/serialize/free_funcs.ts +1 -1
- package/src/serialize/serialize.ts +33 -1
- package/src/sleep/index.ts +16 -1
- package/src/string/index.ts +1 -1
- package/src/timer/date.ts +52 -0
- package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
- package/src/transport/index.ts +0 -1
- package/src/transport/transport_client.ts +2 -2
- package/src/trees/{balanced_merkle_tree.ts → balanced_merkle_tree_root.ts} +3 -20
- package/src/trees/hasher.ts +12 -0
- package/src/trees/index.ts +3 -3
- package/src/trees/indexed_merkle_tree.ts +1 -1
- package/src/trees/indexed_merkle_tree_calculator.ts +5 -1
- package/src/trees/membership_witness.ts +9 -1
- package/src/trees/merkle_tree_calculator.ts +4 -10
- package/src/trees/sibling_path.ts +2 -3
- package/src/trees/unbalanced_merkle_tree_calculator.ts +1 -12
- package/src/trees/{unbalanced_merkle_tree.ts → unbalanced_merkle_tree_root.ts} +17 -64
- package/src/trees/unbalanced_tree_store.ts +57 -2
- package/src/types/index.ts +11 -1
- package/dest/crypto/bn254/bn254_utils.d.ts +0 -39
- package/dest/crypto/bn254/bn254_utils.d.ts.map +0 -1
- package/dest/crypto/bn254/bn254_utils.js +0 -56
- package/dest/crypto/index.d.ts +0 -17
- package/dest/crypto/index.d.ts.map +0 -1
- package/dest/crypto/index.js +0 -16
- package/dest/crypto/serialize.d.ts +0 -51
- package/dest/crypto/serialize.d.ts.map +0 -1
- package/dest/crypto/serialize.js +0 -68
- 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 -63
- package/dest/fields/coordinate.d.ts.map +0 -1
- package/dest/fields/coordinate.js +0 -96
- 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 -31
- package/dest/index.d.ts.map +0 -1
- package/dest/index.js +0 -31
- 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/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
- package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
- package/dest/trees/balanced_merkle_tree.d.ts +0 -22
- package/dest/trees/balanced_merkle_tree.d.ts.map +0 -1
- package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
- package/src/crypto/bn254/bn254_utils.ts +0 -64
- package/src/crypto/index.ts +0 -16
- package/src/crypto/serialize.ts +0 -85
- package/src/fields/coordinate.ts +0 -104
- package/src/fields/index.ts +0 -5
- package/src/index.ts +0 -31
- package/src/json-rpc/server/telemetry.ts +0 -0
- package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { Fr
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
3
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
2
4
|
/**
|
|
3
5
|
* Grumpkin elliptic curve operations.
|
|
4
6
|
*/
|
|
@@ -37,4 +39,4 @@ export declare class Grumpkin {
|
|
|
37
39
|
*/
|
|
38
40
|
static reduce512BufferToFr(uint512Buf: Buffer): Promise<Fr>;
|
|
39
41
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vZ3J1bXBraW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUxRDs7R0FFRztBQUNILHFCQUFhLFFBQVE7SUFFbkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLFFBS3JCO0lBRUo7Ozs7O09BS0c7SUFDSCxPQUFvQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FRNUU7SUFFRDs7Ozs7T0FLRztJQUNILE9BQW9CLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQVExRDtJQUVEOzs7OztPQUtHO0lBQ0gsT0FBb0IsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsY0FBYyxvQkFTbkU7SUFFRDs7O09BR0c7SUFDSCxPQUFvQixXQUFXLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUs3QztJQUVEOzs7O09BSUc7SUFDSCxPQUFvQixtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FLdkU7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/grumpkin/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,KAAK,cAAc,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/grumpkin/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D;;GAEG;AACH,qBAAa,QAAQ;IAEnB,MAAM,CAAC,QAAQ,CAAC,SAAS,QAKrB;IAEJ;;;;;OAKG;IACH,OAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAQ5E;IAED;;;;;OAKG;IACH,OAAoB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAQ1D;IAED;;;;;OAKG;IACH,OAAoB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,oBASnE;IAED;;;OAGG;IACH,OAAoB,WAAW,IAAI,OAAO,CAAC,EAAE,CAAC,CAK7C;IAED;;;;OAIG;IACH,OAAoB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAKvE;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
-
import { Fr
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
3
4
|
/**
|
|
4
5
|
* Grumpkin elliptic curve operations.
|
|
5
6
|
*/ export class Grumpkin {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Fr } from '../../
|
|
1
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
2
2
|
export declare function vkAsFieldsMegaHonk(input: Buffer): Promise<Fr[]>;
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8va2V5cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFakQsd0JBQXNCLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBS3JFIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/keys/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/keys/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAEjD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAKrE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
-
import { Fr } from '../../
|
|
2
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
3
3
|
export async function vkAsFieldsMegaHonk(input) {
|
|
4
4
|
await BarretenbergSync.initSingleton();
|
|
5
5
|
const api = BarretenbergSync.getSingleton();
|
|
@@ -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=data:application/json;base64,
|
|
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
1
|
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
-
import { Fr } from '../../
|
|
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.
|
|
@@ -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.
|
|
@@ -13,7 +13,6 @@ export declare function poseidon2Hash(input: Fieldable[]): Promise<Fr>;
|
|
|
13
13
|
* @returns The poseidon hash.
|
|
14
14
|
*/
|
|
15
15
|
export declare function poseidon2HashWithSeparator(input: Fieldable[], separator: number): Promise<Fr>;
|
|
16
|
-
export declare function poseidon2HashAccumulate(input: Fieldable[]): Promise<Fr>;
|
|
17
16
|
/**
|
|
18
17
|
* Runs a Poseidon2 permutation.
|
|
19
18
|
* @param input the input state. Expected to be of size 4.
|
|
@@ -21,4 +20,4 @@ export declare function poseidon2HashAccumulate(input: Fieldable[]): Promise<Fr>
|
|
|
21
20
|
*/
|
|
22
21
|
export declare function poseidon2Permutation(input: Fieldable[]): Promise<Fr[]>;
|
|
23
22
|
export declare function poseidon2HashBytes(input: Buffer): Promise<Fr>;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcG9zZWlkb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQXNCakY7Ozs7R0FJRztBQUNILHdCQUFnQixhQUFhLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFN0Q7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQiwwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBSTdGO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFzQixvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBaUI1RTtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FZN0QifQ==
|
|
@@ -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;AAsBjF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAI7F;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAiB5E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAY7D"}
|
|
@@ -1,42 +1,40 @@
|
|
|
1
|
-
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
-
import { Fr } from '../../
|
|
1
|
+
import { Barretenberg, BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
3
3
|
import { serializeToFields } from '../../serialize/serialize.js';
|
|
4
|
+
const IS_BROWSER = typeof self !== 'undefined';
|
|
5
|
+
async function poseidon2HashFields(inputFields) {
|
|
6
|
+
if (IS_BROWSER) {
|
|
7
|
+
await BarretenbergSync.initSingleton();
|
|
8
|
+
const api = BarretenbergSync.getSingleton();
|
|
9
|
+
const response = api.poseidon2Hash({
|
|
10
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
11
|
+
});
|
|
12
|
+
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
13
|
+
} else {
|
|
14
|
+
await Barretenberg.initSingleton();
|
|
15
|
+
const api = Barretenberg.getSingleton();
|
|
16
|
+
const response = await api.poseidon2Hash({
|
|
17
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
18
|
+
});
|
|
19
|
+
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
4
22
|
/**
|
|
5
23
|
* Create a poseidon hash (field) from an array of input fields.
|
|
6
24
|
* @param input - The input fields to hash.
|
|
7
25
|
* @returns The poseidon hash.
|
|
8
|
-
*/ export
|
|
9
|
-
|
|
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));
|
|
26
|
+
*/ export function poseidon2Hash(input) {
|
|
27
|
+
return poseidon2HashFields(serializeToFields(input));
|
|
16
28
|
}
|
|
17
29
|
/**
|
|
18
30
|
* Create a poseidon hash (field) from an array of input fields and a domain separator.
|
|
19
31
|
* @param input - The input fields to hash.
|
|
20
32
|
* @param separator - The domain separator.
|
|
21
33
|
* @returns The poseidon hash.
|
|
22
|
-
*/ export
|
|
34
|
+
*/ export function poseidon2HashWithSeparator(input, separator) {
|
|
23
35
|
const inputFields = serializeToFields(input);
|
|
24
36
|
inputFields.unshift(new Fr(separator));
|
|
25
|
-
|
|
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));
|
|
31
|
-
}
|
|
32
|
-
export async function poseidon2HashAccumulate(input) {
|
|
33
|
-
const inputFields = serializeToFields(input);
|
|
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));
|
|
37
|
+
return poseidon2HashFields(inputFields);
|
|
40
38
|
}
|
|
41
39
|
/**
|
|
42
40
|
* Runs a Poseidon2 permutation.
|
|
@@ -44,18 +42,23 @@ export async function poseidon2HashAccumulate(input) {
|
|
|
44
42
|
* @returns the output state, size 4.
|
|
45
43
|
*/ export async function poseidon2Permutation(input) {
|
|
46
44
|
const inputFields = serializeToFields(input);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
45
|
+
if (IS_BROWSER) {
|
|
46
|
+
await BarretenbergSync.initSingleton();
|
|
47
|
+
const api = BarretenbergSync.getSingleton();
|
|
48
|
+
const response = api.poseidon2Permutation({
|
|
49
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
50
|
+
});
|
|
51
|
+
return response.outputs.map((o)=>Fr.fromBuffer(Buffer.from(o)));
|
|
52
|
+
} else {
|
|
53
|
+
await Barretenberg.initSingleton();
|
|
54
|
+
const api = Barretenberg.getSingleton();
|
|
55
|
+
const response = await api.poseidon2Permutation({
|
|
56
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
57
|
+
});
|
|
58
|
+
return response.outputs.map((o)=>Fr.fromBuffer(Buffer.from(o)));
|
|
59
|
+
}
|
|
57
60
|
}
|
|
58
|
-
export
|
|
61
|
+
export function poseidon2HashBytes(input) {
|
|
59
62
|
const inputFields = [];
|
|
60
63
|
for(let i = 0; i < input.length; i += 31){
|
|
61
64
|
const fieldBytes = Buffer.alloc(32, 0);
|
|
@@ -64,10 +67,5 @@ export async function poseidon2HashBytes(input) {
|
|
|
64
67
|
fieldBytes.reverse();
|
|
65
68
|
inputFields.push(Fr.fromBuffer(fieldBytes));
|
|
66
69
|
}
|
|
67
|
-
|
|
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));
|
|
70
|
+
return poseidon2HashFields(inputFields);
|
|
73
71
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type LoggerBindings } from '../../log/pino-logger.js';
|
|
1
2
|
/**
|
|
2
3
|
* A number generator which is used as a source of randomness in the system. If the SEED env variable is set, the
|
|
3
4
|
* generator will be deterministic and will always produce the same sequence of numbers. Otherwise a true randomness
|
|
@@ -8,11 +9,11 @@
|
|
|
8
9
|
*/
|
|
9
10
|
export declare class RandomnessSingleton {
|
|
10
11
|
private readonly seed?;
|
|
11
|
-
private readonly log;
|
|
12
12
|
private static instance;
|
|
13
13
|
private counter;
|
|
14
|
+
private log;
|
|
14
15
|
private constructor();
|
|
15
|
-
static getInstance(): RandomnessSingleton;
|
|
16
|
+
static getInstance(bindings?: LoggerBindings): RandomnessSingleton;
|
|
16
17
|
/**
|
|
17
18
|
* Indicates whether the generator is deterministic (was seeded) or not.
|
|
18
19
|
* @returns Whether the generator is deterministic.
|
|
@@ -20,4 +21,4 @@ export declare class RandomnessSingleton {
|
|
|
20
21
|
isDeterministic(): boolean;
|
|
21
22
|
getBytes(length: number): Buffer;
|
|
22
23
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9tbmVzc19zaW5nbGV0b24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcmFuZG9tL3JhbmRvbW5lc3Nfc2luZ2xldG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRjs7Ozs7OztHQU9HO0FBQ0gscUJBQWEsbUJBQW1CO0lBTzVCLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBTnhCLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFzQjtJQUU3QyxPQUFPLENBQUMsT0FBTyxDQUFLO0lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFFcEIsT0FBTyxlQVdOO0lBRUQsT0FBYyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxHQUFHLG1CQUFtQixDQU94RTtJQUVEOzs7T0FHRztJQUNJLGVBQWUsSUFBSSxPQUFPLENBRWhDO0lBRU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsTUFBTSxDQWdCdEM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"randomness_singleton.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/randomness_singleton.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"randomness_singleton.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/randomness_singleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,0BAA0B,CAAC;AAE1F;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAO5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IANxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAE7C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,eAWN;IAED,OAAc,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAOxE;IAED;;;OAGG;IACI,eAAe,IAAI,OAAO,CAEhC;IAEM,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBtC;CACF"}
|
|
@@ -8,13 +8,13 @@ import { createLogger } from '../../log/pino-logger.js';
|
|
|
8
8
|
* TODO(#3949): This is not safe enough for production and should be made safer or removed before mainnet.
|
|
9
9
|
*/ export class RandomnessSingleton {
|
|
10
10
|
seed;
|
|
11
|
-
log;
|
|
12
11
|
static instance;
|
|
13
12
|
counter;
|
|
14
|
-
|
|
13
|
+
log;
|
|
14
|
+
constructor(seed, bindings){
|
|
15
15
|
this.seed = seed;
|
|
16
|
-
this.log = log;
|
|
17
16
|
this.counter = 0;
|
|
17
|
+
this.log = createLogger('foundation:randomness_singleton', bindings);
|
|
18
18
|
if (seed !== undefined) {
|
|
19
19
|
this.log.debug(`Using pseudo-randomness with seed: ${seed}`);
|
|
20
20
|
this.counter = seed;
|
|
@@ -22,10 +22,10 @@ import { createLogger } from '../../log/pino-logger.js';
|
|
|
22
22
|
this.log.debug('Using true randomness');
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
static getInstance() {
|
|
25
|
+
static getInstance(bindings) {
|
|
26
26
|
if (!RandomnessSingleton.instance) {
|
|
27
27
|
const seed = process.env.SEED ? Number(process.env.SEED) : undefined;
|
|
28
|
-
RandomnessSingleton.instance = new RandomnessSingleton(seed);
|
|
28
|
+
RandomnessSingleton.instance = new RandomnessSingleton(seed, bindings);
|
|
29
29
|
}
|
|
30
30
|
return RandomnessSingleton.instance;
|
|
31
31
|
}
|
|
@@ -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=data:application/json;base64,
|
|
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,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=data:application/json;base64,
|
|
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.
|
|
@@ -87,5 +87,16 @@ export declare function normalizeSignature(signature: Signature): Signature;
|
|
|
87
87
|
* @returns The public key.
|
|
88
88
|
*/
|
|
89
89
|
export declare function recoverPublicKey(hash: Buffer32, signature: Signature, opts?: RecoveryOpts): Buffer;
|
|
90
|
+
/**
|
|
91
|
+
* Generates a random valid ECDSA signature that is recoverable to some address.
|
|
92
|
+
* Since Signature.random() produces real signatures via secp256k1 signing, the result is always
|
|
93
|
+
* recoverable, but we verify defensively by checking tryRecoverAddress.
|
|
94
|
+
*/
|
|
95
|
+
export declare function generateRecoverableSignature(): Signature;
|
|
96
|
+
/**
|
|
97
|
+
* Generates a random signature where ECDSA address recovery fails.
|
|
98
|
+
* Uses random r/s values (not from real signing) so that r is unlikely to be a valid secp256k1 x-coordinate.
|
|
99
|
+
*/
|
|
100
|
+
export declare function generateUnrecoverableSignature(): Signature;
|
|
90
101
|
export {};
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2VjcDI1NmsxLXNpZ25lci91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUtqRSxpQ0FBaUM7QUFDakMsS0FBSyxZQUFZLEdBQUc7SUFDbEI7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN6Qjs7T0FFRztJQUNILGVBQWUsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUMzQixDQUFDO0FBRUYscUJBQWEsY0FBZSxTQUFRLEtBQUs7SUFDdkMsWUFBWSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQTtLQUFFLEVBR3JEO0NBQ0Y7QUFHRCx3QkFBZ0IsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxRQUFRLENBRzdEO0FBWUQ7Ozs7R0FJRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFbEU7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQUdwRTtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxZQUFZLEdBQUcsVUFBVSxDQVVwRztBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsWUFBWSxHQUFHLFVBQVUsR0FBRyxTQUFTLENBT25IO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLFVBQVUsRUFBRSxNQUFNLFNBVy9DO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFHaEU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxHQUFHLFNBQVMsQ0FNN0Q7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0Isa0JBQWtCLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxTQUFTLENBVWxFO0FBNkJEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUUsWUFBaUIsR0FBRyxNQUFNLENBWXRHO0FBS0Q7Ozs7R0FJRztBQUNILHdCQUFnQiw0QkFBNEIsSUFBSSxTQUFTLENBUXhEO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLDhCQUE4QixJQUFJLFNBQVMsQ0FRMUQifQ==
|
|
@@ -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;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"}
|
|
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;AAKD;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,SAAS,CAQxD;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,SAAS,CAQ1D"}
|
|
@@ -168,3 +168,29 @@ export function makeEthSignDigest(message) {
|
|
|
168
168
|
const publicKey = sig.recoverPublicKey(hash.buffer).toHex(false);
|
|
169
169
|
return Buffer.from(publicKey, 'hex');
|
|
170
170
|
}
|
|
171
|
+
/** Arbitrary hash used for testing signature recoverability. */ const PROBE_HASH = Buffer32.fromBuffer(keccak256(Buffer.from('signature-recoverability-probe')));
|
|
172
|
+
/**
|
|
173
|
+
* Generates a random valid ECDSA signature that is recoverable to some address.
|
|
174
|
+
* Since Signature.random() produces real signatures via secp256k1 signing, the result is always
|
|
175
|
+
* recoverable, but we verify defensively by checking tryRecoverAddress.
|
|
176
|
+
*/ export function generateRecoverableSignature() {
|
|
177
|
+
for(let i = 0; i < 100; i++){
|
|
178
|
+
const sig = Signature.random();
|
|
179
|
+
if (tryRecoverAddress(PROBE_HASH, sig) !== undefined) {
|
|
180
|
+
return sig;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
throw new Secp256k1Error('Failed to generate a recoverable signature after 100 attempts');
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Generates a random signature where ECDSA address recovery fails.
|
|
187
|
+
* Uses random r/s values (not from real signing) so that r is unlikely to be a valid secp256k1 x-coordinate.
|
|
188
|
+
*/ export function generateUnrecoverableSignature() {
|
|
189
|
+
for(let i = 0; i < 100; i++){
|
|
190
|
+
const sig = new Signature(Buffer32.random(), Buffer32.random(), 27);
|
|
191
|
+
if (tryRecoverAddress(PROBE_HASH, sig) === undefined) {
|
|
192
|
+
return sig;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
throw new Secp256k1Error('Failed to generate an unrecoverable signature after 100 attempts');
|
|
196
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '../../
|
|
1
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
2
2
|
import { type Bufferable } from '../../serialize/serialize.js';
|
|
3
3
|
import type { Hasher } from '../../trees/hasher.js';
|
|
4
4
|
export declare function sha256(data: Buffer): Buffer<ArrayBuffer>;
|
|
@@ -34,4 +34,4 @@ export declare class SHA256Trunc implements Hasher {
|
|
|
34
34
|
hash(lhs: Uint8Array, rhs: Uint8Array): Buffer<ArrayBuffer>;
|
|
35
35
|
hashInputs(inputs: Buffer[]): Buffer<ArrayBuffer>;
|
|
36
36
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2hhMjU2L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQXFCLE1BQU0sOEJBQThCLENBQUM7QUFDbEYsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsd0JBQWdCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSx1QkFFbEM7QUFFRCx3QkFBZ0IsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLDJCQUV2QztBQUVELHdCQUFnQixhQUFhLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUcvQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCx3QkFBZ0IsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxHQUFHLFdBQVcsQ0F5RXRGO0FBNENEOzs7O0dBSUc7QUFDSCxxQkFBYSxNQUFPLFlBQVcsTUFBTTtJQUs1QixJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSx1QkFFM0M7SUFNTSxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSx1QkFFakM7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxxQkFBYSxXQUFZLFlBQVcsTUFBTTtJQUtqQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSx1QkFFM0M7SUFNTSxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSx1QkFFakM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/sha256/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/sha256/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAEjD,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,uBAElC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,2BAEvC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,MAG/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,WAAW,CAyEtF;AA4CD;;;;GAIG;AACH,qBAAa,MAAO,YAAW,MAAM;IAK5B,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,uBAE3C;IAMM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,uBAEjC;CACF;AAED;;;;GAIG;AACH,qBAAa,WAAY,YAAW,MAAM;IAKjC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,uBAE3C;IAMM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,uBAEjC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable camelcase */ import { default as hash } from 'hash.js';
|
|
2
|
-
import { Fr } from '../../
|
|
2
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
3
3
|
import { truncateAndPad } from '../../serialize/free_funcs.js';
|
|
4
4
|
import { serializeToBuffer } from '../../serialize/serialize.js';
|
|
5
5
|
export function sha256(data) {
|
|
@@ -5,5 +5,5 @@ export declare const sha512: (data: Buffer<ArrayBufferLike>) => Buffer<ArrayBuff
|
|
|
5
5
|
* we don't care only about collision resistance but we need the output to be uniformly distributed as well. This is
|
|
6
6
|
* because we use it as a pseudo-random function.
|
|
7
7
|
*/
|
|
8
|
-
export declare const sha512ToGrumpkinScalar: (data: Bufferable[]) => import("../../
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
export declare const sha512ToGrumpkinScalar: (data: Bufferable[]) => import("../../schemas/schemas.js").Fq;
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2hhNTEyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUVsRixlQUFPLE1BQU0sTUFBTSx3REFBcUUsQ0FBQztBQUV6Rjs7OztHQUlHO0FBQ0gsZUFBTyxNQUFNLHNCQUFzQiwrREFHbEMsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/sha512/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,8BAA8B,CAAC;AAElF,eAAO,MAAM,MAAM,wDAAqE,CAAC;AAEzF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/sha512/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,8BAA8B,CAAC;AAElF,eAAO,MAAM,MAAM,wDAAqE,CAAC;AAEzF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,+DAGlC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as hash } from 'hash.js';
|
|
2
|
-
import { GrumpkinScalar } from '../../
|
|
2
|
+
import { GrumpkinScalar } from '../../curves/grumpkin/index.js';
|
|
3
3
|
import { serializeToBuffer } from '../../serialize/serialize.js';
|
|
4
4
|
export const sha512 = (data)=>Buffer.from(hash.sha512().update(data).digest());
|
|
5
5
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Fr } from '@aztec/foundation/
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
/**
|
|
3
3
|
* Interface to represent a signature.
|
|
4
4
|
*/
|
|
@@ -14,4 +14,4 @@ export interface Signature {
|
|
|
14
14
|
*/
|
|
15
15
|
toFields(): Fr[];
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2lnbmF0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpEOztHQUVHO0FBQ0gsTUFBTSxXQUFXLFNBQVM7SUFDeEI7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FBQztJQUNuQjs7O09BR0c7SUFDSCxRQUFRLElBQUksRUFBRSxFQUFFLENBQUM7Q0FDbEIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/signature/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/signature/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAAC;CAClB"}
|
|
@@ -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): Fr;
|
|
|
16
16
|
* Create a pedersen hash from an arbitrary length buffer.
|
|
17
17
|
*/
|
|
18
18
|
export declare function pedersenHashBuffer(input: Buffer, index?: number): Buffer<ArrayBuffer>;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vc3luYy9wZWRlcnNlbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBRXBGOzs7R0FHRztBQUNILHdCQUFnQixjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sU0FBSSx5QkFVekQ7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLEtBQUssU0FBSSxHQUFHLEVBQUUsQ0FPOUQ7QUFFRDs7R0FFRztBQUNILHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssU0FBSSx1QkFNMUQifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crypto/sync/pedersen/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crypto/sync/pedersen/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,iCAAiC,CAAC;AAEpF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,SAAI,yBAUzD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,SAAI,GAAG,EAAE,CAO9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,uBAM1D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
-
import { Fr } from '../../../
|
|
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.
|
|
@@ -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.
|
|
@@ -13,7 +13,6 @@ export declare function poseidon2Hash(input: Fieldable[]): Fr;
|
|
|
13
13
|
* @returns The poseidon hash.
|
|
14
14
|
*/
|
|
15
15
|
export declare function poseidon2HashWithSeparator(input: Fieldable[], separator: number): Fr;
|
|
16
|
-
export declare function poseidon2HashAccumulate(input: Fieldable[]): Fr;
|
|
17
16
|
/**
|
|
18
17
|
* Runs a Poseidon2 permutation.
|
|
19
18
|
* @param input the input state. Expected to be of size 4.
|
|
@@ -21,4 +20,4 @@ export declare function poseidon2HashAccumulate(input: Fieldable[]): Fr;
|
|
|
21
20
|
*/
|
|
22
21
|
export declare function poseidon2Permutation(input: Fieldable[]): Fr[];
|
|
23
22
|
export declare function poseidon2HashBytes(input: Buffer): Fr;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vc3luYy9wb3NlaWRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBRXBGOzs7O0dBSUc7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBT3BEO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsMEJBQTBCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcsRUFBRSxDQVNwRjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQVc3RDtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FpQnBEIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crypto/sync/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crypto/sync/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,iCAAiC,CAAC;AAEpF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAOpD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,CASpF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAW7D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAiBpD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
-
import { Fr } from '../../../
|
|
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.
|
|
@@ -27,14 +27,6 @@ import { serializeToFields } from '../../../serialize/serialize.js';
|
|
|
27
27
|
});
|
|
28
28
|
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
29
29
|
}
|
|
30
|
-
export function poseidon2HashAccumulate(input) {
|
|
31
|
-
const inputFields = serializeToFields(input);
|
|
32
|
-
const api = BarretenbergSync.getSingleton();
|
|
33
|
-
const response = api.poseidon2HashAccumulate({
|
|
34
|
-
inputs: inputFields.map((i)=>i.toBuffer())
|
|
35
|
-
});
|
|
36
|
-
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
37
|
-
}
|
|
38
30
|
/**
|
|
39
31
|
* Runs a Poseidon2 permutation.
|
|
40
32
|
* @param input the input state. Expected to be of size 4.
|