@aztec/foundation 0.0.1-commit.5daedc8 → 0.0.1-commit.6201a7b05
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 +14 -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 +96 -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 +25 -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
|
@@ -2,41 +2,71 @@ import { z } from 'zod';
|
|
|
2
2
|
export declare const NetworkConfigSchema: z.ZodObject<{
|
|
3
3
|
bootnodes: z.ZodArray<z.ZodString, "many">;
|
|
4
4
|
snapshots: z.ZodArray<z.ZodString, "many">;
|
|
5
|
+
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6
|
+
txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
5
7
|
registryAddress: z.ZodString;
|
|
6
8
|
feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
|
|
7
9
|
l1ChainId: z.ZodNumber;
|
|
10
|
+
blockDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
|
|
12
|
+
nodeVersion: z.ZodOptional<z.ZodString>;
|
|
8
13
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
9
14
|
bootnodes: z.ZodArray<z.ZodString, "many">;
|
|
10
15
|
snapshots: z.ZodArray<z.ZodString, "many">;
|
|
16
|
+
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
17
|
+
txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
11
18
|
registryAddress: z.ZodString;
|
|
12
19
|
feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
|
|
13
20
|
l1ChainId: z.ZodNumber;
|
|
21
|
+
blockDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
|
|
23
|
+
nodeVersion: z.ZodOptional<z.ZodString>;
|
|
14
24
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
15
25
|
bootnodes: z.ZodArray<z.ZodString, "many">;
|
|
16
26
|
snapshots: z.ZodArray<z.ZodString, "many">;
|
|
27
|
+
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
28
|
+
txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
17
29
|
registryAddress: z.ZodString;
|
|
18
30
|
feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
|
|
19
31
|
l1ChainId: z.ZodNumber;
|
|
32
|
+
blockDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
33
|
+
txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
|
|
34
|
+
nodeVersion: z.ZodOptional<z.ZodString>;
|
|
20
35
|
}, z.ZodTypeAny, "passthrough">>;
|
|
21
36
|
export declare const NetworkConfigMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
22
37
|
bootnodes: z.ZodArray<z.ZodString, "many">;
|
|
23
38
|
snapshots: z.ZodArray<z.ZodString, "many">;
|
|
39
|
+
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
40
|
+
txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
24
41
|
registryAddress: z.ZodString;
|
|
25
42
|
feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
|
|
26
43
|
l1ChainId: z.ZodNumber;
|
|
44
|
+
blockDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
45
|
+
txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
|
|
46
|
+
nodeVersion: z.ZodOptional<z.ZodString>;
|
|
27
47
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
28
48
|
bootnodes: z.ZodArray<z.ZodString, "many">;
|
|
29
49
|
snapshots: z.ZodArray<z.ZodString, "many">;
|
|
50
|
+
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
51
|
+
txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
30
52
|
registryAddress: z.ZodString;
|
|
31
53
|
feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
|
|
32
54
|
l1ChainId: z.ZodNumber;
|
|
55
|
+
blockDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
|
|
57
|
+
nodeVersion: z.ZodOptional<z.ZodString>;
|
|
33
58
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
34
59
|
bootnodes: z.ZodArray<z.ZodString, "many">;
|
|
35
60
|
snapshots: z.ZodArray<z.ZodString, "many">;
|
|
61
|
+
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
62
|
+
txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
36
63
|
registryAddress: z.ZodString;
|
|
37
64
|
feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
|
|
38
65
|
l1ChainId: z.ZodNumber;
|
|
66
|
+
blockDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
|
|
68
|
+
nodeVersion: z.ZodOptional<z.ZodString>;
|
|
39
69
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
40
70
|
export type NetworkConfig = z.infer<typeof NetworkConfigSchema>;
|
|
41
71
|
export type NetworkConfigMap = z.infer<typeof NetworkConfigMapSchema>;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixlQUFPLE1BQU0sbUJBQW1COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0NBYWhCLENBQUM7QUFFakIsZUFBTyxNQUFNLHNCQUFzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQUE0QyxDQUFDO0FBRWhGLE1BQU0sTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLG1CQUFtQixDQUFDLENBQUM7QUFDaEUsTUFBTSxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxzQkFBc0IsQ0FBQyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAahB,CAAC;AAEjB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAA4C,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -2,8 +2,13 @@ import { z } from 'zod';
|
|
|
2
2
|
export const NetworkConfigSchema = z.object({
|
|
3
3
|
bootnodes: z.array(z.string()),
|
|
4
4
|
snapshots: z.array(z.string()),
|
|
5
|
+
blobFileStoreUrls: z.array(z.string()).optional(),
|
|
6
|
+
txCollectionFileStoreUrls: z.array(z.string()).optional(),
|
|
5
7
|
registryAddress: z.string(),
|
|
6
8
|
feeAssetHandlerAddress: z.string().optional(),
|
|
7
|
-
l1ChainId: z.number()
|
|
9
|
+
l1ChainId: z.number(),
|
|
10
|
+
blockDurationMs: z.number().positive().optional(),
|
|
11
|
+
txPublicSetupAllowListExtend: z.string().optional(),
|
|
12
|
+
nodeVersion: z.string().optional()
|
|
8
13
|
}).passthrough(); // Allow additional unknown fields to pass through
|
|
9
14
|
export const NetworkConfigMapSchema = z.record(z.string(), NetworkConfigSchema);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type NetworkNames = 'local' | 'staging-ignition' | 'staging-public' | 'testnet' | 'mainnet' | 'next-net' | 'devnet'
|
|
1
|
+
export type NetworkNames = 'local' | 'staging-ignition' | 'staging-public' | 'testnet' | 'mainnet' | 'next-net' | 'devnet' | `v${number}-devnet-${number}`;
|
|
2
2
|
export declare function getActiveNetworkName(name?: string): NetworkNames;
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19uYW1lLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL25ldHdvcmtfbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE1BQU0sWUFBWSxHQUNwQixPQUFPLEdBQ1Asa0JBQWtCLEdBQ2xCLGdCQUFnQixHQUNoQixTQUFTLEdBQ1QsU0FBUyxHQUNULFVBQVUsR0FDVixRQUFRLEdBQ1IsSUFBSSxNQUFNLFdBQVcsTUFBTSxFQUFFLENBQUM7QUFFbEMsd0JBQWdCLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sR0FBRyxZQUFZLENBb0JoRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network_name.d.ts","sourceRoot":"","sources":["../../src/config/network_name.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,kBAAkB,GAClB,gBAAgB,GAChB,SAAS,GACT,SAAS,GACT,UAAU,GACV,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"network_name.d.ts","sourceRoot":"","sources":["../../src/config/network_name.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,kBAAkB,GAClB,gBAAgB,GAChB,SAAS,GACT,SAAS,GACT,UAAU,GACV,QAAQ,GACR,IAAI,MAAM,WAAW,MAAM,EAAE,CAAC;AAElC,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAoBhE"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Parses an env var as boolean. Returns true only if value is 1, true, or TRUE. */
|
|
2
|
+
export declare function parseBooleanEnv(val: string | undefined): boolean;
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZW52LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3BhcnNlLWVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvRkFBb0Y7QUFDcEYsd0JBQWdCLGVBQWUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxPQUFPLENBRWhFIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-env.d.ts","sourceRoot":"","sources":["../../src/config/parse-env.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEhE"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
var _computedKey;
|
|
1
2
|
import { inspect } from 'util';
|
|
3
|
+
_computedKey = inspect.custom;
|
|
2
4
|
/**
|
|
3
5
|
* A class wrapping a secret value to protect it from accidently being leaked in logs
|
|
4
6
|
*/ export class SecretValue {
|
|
@@ -23,7 +25,7 @@ import { inspect } from 'util';
|
|
|
23
25
|
*/ toJSON() {
|
|
24
26
|
return this.redactedValue;
|
|
25
27
|
}
|
|
26
|
-
[
|
|
28
|
+
[_computedKey]() {
|
|
27
29
|
return this.toString();
|
|
28
30
|
}
|
|
29
31
|
/**
|
|
@@ -26,7 +26,8 @@ export declare class Aes128 {
|
|
|
26
26
|
* @param iv - AES initialization vector.
|
|
27
27
|
* @param key - Key to decrypt with.
|
|
28
28
|
* @returns Decrypted data.
|
|
29
|
+
* @throws If the decrypted buffer has invalid PKCS#7 padding.
|
|
29
30
|
*/
|
|
30
31
|
decryptBufferCBC(data: Uint8Array, iv: Uint8Array, key: Uint8Array): Promise<Buffer<ArrayBufferLike>>;
|
|
31
32
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vYWVzMTI4L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFaEM7O0dBRUc7QUFDSCxxQkFBYSxNQUFNO0lBQ2pCOzs7Ozs7T0FNRztJQUNVLGdCQUFnQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxnQ0FrQjlFO0lBRUQ7Ozs7Ozs7T0FPRztJQUNVLDJCQUEyQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FVM0c7SUFFRDs7Ozs7OztPQU9HO0lBQ1UsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLG9DQVk5RTtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/aes128/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;GAEG;AACH,qBAAa,MAAM;IACjB;;;;;;OAMG;IACU,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,gCAkB9E;IAED;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAU3G;IAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/aes128/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;GAEG;AACH,qBAAa,MAAM;IACjB;;;;;;OAMG;IACU,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,gCAkB9E;IAED;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAU3G;IAED;;;;;;;OAOG;IACU,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,oCAY9E;CACF"}
|
|
@@ -54,9 +54,18 @@ import { Buffer } from 'buffer';
|
|
|
54
54
|
* @param iv - AES initialization vector.
|
|
55
55
|
* @param key - Key to decrypt with.
|
|
56
56
|
* @returns Decrypted data.
|
|
57
|
+
* @throws If the decrypted buffer has invalid PKCS#7 padding.
|
|
57
58
|
*/ async decryptBufferCBC(data, iv, key) {
|
|
58
59
|
const paddedBuffer = await this.decryptBufferCBCKeepPadding(data, iv, key);
|
|
59
|
-
const
|
|
60
|
-
|
|
60
|
+
const paddingLen = paddedBuffer[paddedBuffer.length - 1];
|
|
61
|
+
if (paddingLen === 0 || paddingLen > 16) {
|
|
62
|
+
throw new Error(`Invalid PKCS#7 padding length: ${paddingLen}`);
|
|
63
|
+
}
|
|
64
|
+
for(let i = paddedBuffer.length - paddingLen; i < paddedBuffer.length; i++){
|
|
65
|
+
if (paddedBuffer[i] !== paddingLen) {
|
|
66
|
+
throw new Error('Invalid PKCS#7 padding');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return paddedBuffer.subarray(0, paddedBuffer.length - paddingLen);
|
|
61
70
|
}
|
|
62
71
|
}
|
|
@@ -283,14 +283,5 @@ export declare function decryptBn254Keystore(filePath: string, password: string)
|
|
|
283
283
|
* @throws Bn254KeystoreError if decryption fails or checksum is invalid
|
|
284
284
|
*/
|
|
285
285
|
export declare function decryptBn254KeystoreFromObject(keystore: Bn254Keystore, password: string): string;
|
|
286
|
-
/**
|
|
287
|
-
* Validates that a decrypted private key matches the public key in the keystore.
|
|
288
|
-
*
|
|
289
|
-
* @param privateKeyHex - Decrypted private key (0x-prefixed)
|
|
290
|
-
* @param expectedPubkey - Expected public key from keystore
|
|
291
|
-
* @param computePublicKey - Function to compute public key from private key
|
|
292
|
-
* @returns true if keys match, false otherwise
|
|
293
|
-
*/
|
|
294
|
-
export declare function verifyBn254Keypair(privateKeyHex: string, expectedPubkey: string, computePublicKey: (privateKey: string) => string): boolean;
|
|
295
286
|
export {};
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm4yNTRfa2V5c3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vYmxzL2JuMjU0X2tleXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEI7Ozs7Ozs7O0dBUUc7QUFFSDs7R0FFRztBQUNILFFBQUEsTUFBTSxtQkFBbUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBOEJ2QixDQUFDO0FBRUg7O0dBRUc7QUFDSCxxQkFBYSxrQkFBbUIsU0FBUSxLQUFLO0lBR3pCLEtBQUssQ0FBQztJQUZ4QixZQUNFLE9BQU8sRUFBRSxNQUFNLEVBQ0MsS0FBSyxDQUFDLG1CQUFPLEVBSTlCO0NBQ0Y7QUFFRCxNQUFNLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxtQkFBbUIsQ0FBQyxDQUFDO0FBRWhFOzs7R0FHRztBQUNILE1BQU0sV0FBVyxzQkFBc0I7SUFDckMsTUFBTSxFQUFFO1FBQ04sR0FBRyxFQUFFO1lBQ0gsUUFBUSxFQUFFLFFBQVEsQ0FBQztZQUNuQixNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLE1BQU0sQ0FBQztnQkFDZCxDQUFDLEVBQUUsTUFBTSxDQUFDO2dCQUNWLEdBQUcsRUFBRSxNQUFNLENBQUM7Z0JBQ1osSUFBSSxFQUFFLE1BQU0sQ0FBQzthQUNkLENBQUM7WUFDRixPQUFPLEVBQUUsTUFBTSxDQUFDO1NBQ2pCLENBQUM7UUFDRixRQUFRLEVBQUU7WUFDUixRQUFRLEVBQUUsUUFBUSxDQUFDO1lBQ25CLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzlCLE9BQU8sRUFBRSxNQUFNLENBQUM7U0FDakIsQ0FBQztRQUNGLE1BQU0sRUFBRTtZQUNOLFFBQVEsRUFBRSxhQUFhLENBQUM7WUFDeEIsTUFBTSxFQUFFO2dCQUNOLEVBQUUsRUFBRSxNQUFNLENBQUM7YUFDWixDQUFDO1lBQ0YsT0FBTyxFQUFFLE1BQU0sQ0FBQztTQUNqQixDQUFDO0tBQ0gsQ0FBQztJQUNGLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2IsT0FBTyxFQUFFLE1BQU0sQ0FBQztDQUNqQjtBQUVEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHdCQUFnQixtQkFBbUIsQ0FDakMsUUFBUSxFQUFFLE1BQU0sRUFDaEIsYUFBYSxFQUFFLE1BQU0sRUFDckIsU0FBUyxFQUFFLE1BQU0sRUFDakIsY0FBYyxFQUFFLE1BQU0sR0FDckIsYUFBYSxDQThDZjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLGFBQWEsQ0FnQmpFO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILHdCQUFnQixvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUcvRTtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0IsOEJBQThCLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FpRGhHIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bn254_keystore.d.ts","sourceRoot":"","sources":["../../../src/crypto/bls/bn254_keystore.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AAEH;;GAEG;AACH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BvB,CAAC;AAEH;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAGzB,KAAK,CAAC;IAFxB,YACE,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,mBAAO,EAI9B;CACF;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE;QACN,GAAG,EAAE;YACH,QAAQ,EAAE,QAAQ,CAAC;YACnB,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAC;gBACd,CAAC,EAAE,MAAM,CAAC;gBACV,GAAG,EAAE,MAAM,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;YACF,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,QAAQ,EAAE;YACR,QAAQ,EAAE,QAAQ,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,MAAM,EAAE;YACN,QAAQ,EAAE,aAAa,CAAC;YACxB,MAAM,EAAE;gBACN,EAAE,EAAE,MAAM,CAAC;aACZ,CAAC;YACF,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,aAAa,CA8Cf;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAgBjE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG/E;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiDhG
|
|
1
|
+
{"version":3,"file":"bn254_keystore.d.ts","sourceRoot":"","sources":["../../../src/crypto/bls/bn254_keystore.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AAEH;;GAEG;AACH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BvB,CAAC;AAEH;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAGzB,KAAK,CAAC;IAFxB,YACE,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,mBAAO,EAI9B;CACF;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE;QACN,GAAG,EAAE;YACH,QAAQ,EAAE,QAAQ,CAAC;YACnB,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAC;gBACd,CAAC,EAAE,MAAM,CAAC;gBACV,GAAG,EAAE,MAAM,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;YACF,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,QAAQ,EAAE;YACR,QAAQ,EAAE,QAAQ,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,MAAM,EAAE;YACN,QAAQ,EAAE,aAAa,CAAC;YACxB,MAAM,EAAE;gBACN,EAAE,EAAE,MAAM,CAAC;aACZ,CAAC;YACF,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,aAAa,CA8Cf;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAgBjE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG/E;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiDhG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { randomBytes } from '@aztec/foundation/crypto';
|
|
1
|
+
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
2
2
|
import { createCipheriv, createDecipheriv, createHash, pbkdf2Sync, randomUUID } from 'crypto';
|
|
3
3
|
import { readFileSync } from 'fs';
|
|
4
4
|
import { z } from 'zod';
|
|
@@ -199,20 +199,3 @@ import { z } from 'zod';
|
|
|
199
199
|
throw new Bn254KeystoreError(`Failed to decrypt keystore: ${String(error)}`, error);
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
|
-
/**
|
|
203
|
-
* Validates that a decrypted private key matches the public key in the keystore.
|
|
204
|
-
*
|
|
205
|
-
* @param privateKeyHex - Decrypted private key (0x-prefixed)
|
|
206
|
-
* @param expectedPubkey - Expected public key from keystore
|
|
207
|
-
* @param computePublicKey - Function to compute public key from private key
|
|
208
|
-
* @returns true if keys match, false otherwise
|
|
209
|
-
*/ export function verifyBn254Keypair(privateKeyHex, expectedPubkey, computePublicKey) {
|
|
210
|
-
try {
|
|
211
|
-
const computedPubkey = computePublicKey(privateKeyHex);
|
|
212
|
-
const normalizedExpected = expectedPubkey.toLowerCase().replace(/^0x/i, '');
|
|
213
|
-
const normalizedComputed = computedPubkey.toLowerCase().replace(/^0x/i, '');
|
|
214
|
-
return normalizedExpected === normalizedComputed;
|
|
215
|
-
} catch {
|
|
216
|
-
return false;
|
|
217
|
-
}
|
|
218
|
-
}
|
package/dest/crypto/bls/index.js
CHANGED
|
@@ -1,55 +1,39 @@
|
|
|
1
|
-
import { Fq, Fr } from '../../fields/fields.js';
|
|
2
1
|
/**
|
|
3
|
-
* BN254
|
|
4
|
-
*
|
|
2
|
+
* BN254 utility functions for point operations.
|
|
3
|
+
* Provides compression, decompression, and public key generation for the BN254 curve.
|
|
4
|
+
* Uses the bb.js Barretenberg backend for point operations.
|
|
5
5
|
*/
|
|
6
|
-
export declare class Bn254G1Point {
|
|
7
|
-
readonly x: Fq;
|
|
8
|
-
readonly y: Fq;
|
|
9
|
-
constructor(x: Fq, y: Fq);
|
|
10
|
-
private toBbApiPoint;
|
|
11
|
-
private static fromBbApiPoint;
|
|
12
|
-
isOnCurve(): Promise<boolean>;
|
|
13
|
-
/**
|
|
14
|
-
* Get the generator point for BN254 G1, or perform scalar multiplication.
|
|
15
|
-
* When called without arguments, returns the base generator point.
|
|
16
|
-
* When called with a scalar, returns scalar * generator (useful for public key derivation).
|
|
17
|
-
*/
|
|
18
|
-
static generator(scalar?: Fr): Promise<Bn254G1Point>;
|
|
19
|
-
/**
|
|
20
|
-
* Decompress a BN254 G1 point from compressed form (32 bytes).
|
|
21
|
-
* The compressed format encodes the x-coordinate and the sign bit of the y-coordinate
|
|
22
|
-
* in the most significant bit.
|
|
23
|
-
*/
|
|
24
|
-
static fromCompressed(compressed: Buffer): Promise<Bn254G1Point>;
|
|
25
|
-
/**
|
|
26
|
-
* Compress this BN254 G1 point to 32 bytes.
|
|
27
|
-
* The compressed format encodes the x-coordinate and the sign bit of the y-coordinate
|
|
28
|
-
* in the most significant bit (bit 255).
|
|
29
|
-
*/
|
|
30
|
-
compress(): Buffer;
|
|
31
|
-
equals(other: Bn254G1Point): boolean;
|
|
32
|
-
toString(): string;
|
|
33
|
-
}
|
|
34
6
|
/**
|
|
35
|
-
* BN254
|
|
36
|
-
*
|
|
37
|
-
*
|
|
7
|
+
* Generate a compressed BN254 G1 public key from a private key.
|
|
8
|
+
*
|
|
9
|
+
* @param privateKeyHex - Private key as 0x-prefixed hex string
|
|
10
|
+
* @returns Compressed G1 point (32 bytes with sign bit in MSB)
|
|
38
11
|
*/
|
|
39
|
-
export declare
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
12
|
+
export declare function computeBn254G1PublicKeyCompressed(privateKeyHex: string): Promise<string>;
|
|
13
|
+
/**
|
|
14
|
+
* Generate uncompressed BN254 G1 public key from a private key.
|
|
15
|
+
*
|
|
16
|
+
* @param privateKeyHex - Private key as 0x-prefixed hex string
|
|
17
|
+
* @returns G1 point in affine coordinates
|
|
18
|
+
*/
|
|
19
|
+
export declare function computeBn254G1PublicKey(privateKeyHex: string): Promise<{
|
|
20
|
+
x: bigint;
|
|
21
|
+
y: bigint;
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Generate BN254 G2 public key from a private key.
|
|
25
|
+
*
|
|
26
|
+
* @param privateKeyHex - Private key as 0x-prefixed hex string
|
|
27
|
+
* @returns G2 point in affine coordinates
|
|
28
|
+
*/
|
|
29
|
+
export declare function computeBn254G2PublicKey(privateKeyHex: string): Promise<{
|
|
30
|
+
x: {
|
|
31
|
+
c0: bigint;
|
|
32
|
+
c1: bigint;
|
|
33
|
+
};
|
|
34
|
+
y: {
|
|
35
|
+
c0: bigint;
|
|
36
|
+
c1: bigint;
|
|
37
|
+
};
|
|
38
|
+
}>;
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vYm4yNTQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7Ozs7R0FJRztBQUVIOzs7OztHQUtHO0FBQ0gsd0JBQXNCLGlDQUFpQyxDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQVU5RjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLHVCQUF1QixDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDO0lBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUFDLENBQUMsRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDLENBUXRHO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBc0IsdUJBQXVCLENBQUMsYUFBYSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDNUUsQ0FBQyxFQUFFO1FBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQztRQUFDLEVBQUUsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDO0lBQzlCLENBQUMsRUFBRTtRQUFFLEVBQUUsRUFBRSxNQUFNLENBQUM7UUFBQyxFQUFFLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQztDQUMvQixDQUFDLENBV0QifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/bn254/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/bn254/index.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAsB,iCAAiC,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU9F;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAQtG;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5E,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B,CAAC,CAWD"}
|
|
@@ -1,145 +1,56 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Fr } from '../../curves/bn254/field.js';
|
|
2
|
+
import { Bn254G1Point, Bn254G2Point } from '../../curves/bn254/point.js';
|
|
3
3
|
/**
|
|
4
|
-
* BN254
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
*/ static async generator(scalar) {
|
|
36
|
-
if (!scalar) {
|
|
37
|
-
return new Bn254G1Point(Fq.fromBuffer(Buffer.from(BN254_G1_GENERATOR.x)), Fq.fromBuffer(Buffer.from(BN254_G1_GENERATOR.y)));
|
|
38
|
-
}
|
|
39
|
-
await BarretenbergSync.initSingleton();
|
|
40
|
-
const api = BarretenbergSync.getSingleton();
|
|
41
|
-
const response = api.bn254G1Mul({
|
|
42
|
-
point: BN254_G1_GENERATOR,
|
|
43
|
-
scalar: scalar.toBuffer()
|
|
44
|
-
});
|
|
45
|
-
return Bn254G1Point.fromBbApiPoint(response.point);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Decompress a BN254 G1 point from compressed form (32 bytes).
|
|
49
|
-
* The compressed format encodes the x-coordinate and the sign bit of the y-coordinate
|
|
50
|
-
* in the most significant bit.
|
|
51
|
-
*/ static async fromCompressed(compressed) {
|
|
52
|
-
if (compressed.length !== 32) {
|
|
53
|
-
throw new Error('Invalid compressed point length');
|
|
54
|
-
}
|
|
55
|
-
await BarretenbergSync.initSingleton();
|
|
56
|
-
const api = BarretenbergSync.getSingleton();
|
|
57
|
-
const response = api.bn254G1FromCompressed({
|
|
58
|
-
compressed: new Uint8Array(compressed)
|
|
59
|
-
});
|
|
60
|
-
return Bn254G1Point.fromBbApiPoint(response.point);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Compress this BN254 G1 point to 32 bytes.
|
|
64
|
-
* The compressed format encodes the x-coordinate and the sign bit of the y-coordinate
|
|
65
|
-
* in the most significant bit (bit 255).
|
|
66
|
-
*/ compress() {
|
|
67
|
-
const xBytes = this.x.toBuffer();
|
|
68
|
-
// Get the least significant bit of y to determine the sign
|
|
69
|
-
const yLsb = this.y.toBigInt() & 1n;
|
|
70
|
-
// If y is odd, set the most significant bit (bit 255) of the output
|
|
71
|
-
if (yLsb === 1n) {
|
|
72
|
-
xBytes[0] |= 0x80;
|
|
73
|
-
}
|
|
74
|
-
return xBytes;
|
|
75
|
-
}
|
|
76
|
-
equals(other) {
|
|
77
|
-
return this.x.equals(other.x) && this.y.equals(other.y);
|
|
78
|
-
}
|
|
79
|
-
toString() {
|
|
80
|
-
return `Bn254G1Point(x: ${this.x.toString()}, y: ${this.y.toString()})`;
|
|
81
|
-
}
|
|
4
|
+
* BN254 utility functions for point operations.
|
|
5
|
+
* Provides compression, decompression, and public key generation for the BN254 curve.
|
|
6
|
+
* Uses the bb.js Barretenberg backend for point operations.
|
|
7
|
+
*/ /**
|
|
8
|
+
* Generate a compressed BN254 G1 public key from a private key.
|
|
9
|
+
*
|
|
10
|
+
* @param privateKeyHex - Private key as 0x-prefixed hex string
|
|
11
|
+
* @returns Compressed G1 point (32 bytes with sign bit in MSB)
|
|
12
|
+
*/ export async function computeBn254G1PublicKeyCompressed(privateKeyHex) {
|
|
13
|
+
const sk = BigInt(privateKeyHex);
|
|
14
|
+
const skReduced = sk % Fr.MODULUS;
|
|
15
|
+
// Generate G1 point on BN254 curve using bb.js
|
|
16
|
+
const scalar = Fr.fromString(skReduced.toString());
|
|
17
|
+
const pk1 = await Bn254G1Point.generator(scalar);
|
|
18
|
+
// Compress the point using the primitive method
|
|
19
|
+
return '0x' + pk1.compress().toString('hex');
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Generate uncompressed BN254 G1 public key from a private key.
|
|
23
|
+
*
|
|
24
|
+
* @param privateKeyHex - Private key as 0x-prefixed hex string
|
|
25
|
+
* @returns G1 point in affine coordinates
|
|
26
|
+
*/ export async function computeBn254G1PublicKey(privateKeyHex) {
|
|
27
|
+
const sk = BigInt(privateKeyHex);
|
|
28
|
+
const skReduced = sk % Fr.MODULUS;
|
|
29
|
+
const scalar = Fr.fromString(skReduced.toString());
|
|
30
|
+
const pk1 = await Bn254G1Point.generator(scalar);
|
|
31
|
+
return {
|
|
32
|
+
x: pk1.x.toBigInt(),
|
|
33
|
+
y: pk1.y.toBigInt()
|
|
34
|
+
};
|
|
82
35
|
}
|
|
83
36
|
/**
|
|
84
|
-
* BN254 G2
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
],
|
|
100
|
-
|
|
101
|
-
this.y[0].toBuffer(),
|
|
102
|
-
this.y[1].toBuffer()
|
|
103
|
-
]
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
static fromBbApiPoint(point) {
|
|
107
|
-
return new Bn254G2Point([
|
|
108
|
-
Fq.fromBuffer(Buffer.from(point.x[0])),
|
|
109
|
-
Fq.fromBuffer(Buffer.from(point.x[1]))
|
|
110
|
-
], [
|
|
111
|
-
Fq.fromBuffer(Buffer.from(point.y[0])),
|
|
112
|
-
Fq.fromBuffer(Buffer.from(point.y[1]))
|
|
113
|
-
]);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Get the generator point for BN254 G2, or perform scalar multiplication.
|
|
117
|
-
* When called without arguments, returns the base generator point.
|
|
118
|
-
* When called with a scalar, returns scalar * generator.
|
|
119
|
-
*/ static async generator(scalar) {
|
|
120
|
-
if (!scalar) {
|
|
121
|
-
return new Bn254G2Point([
|
|
122
|
-
Fq.fromBuffer(Buffer.from(BN254_G2_GENERATOR.x[0])),
|
|
123
|
-
Fq.fromBuffer(Buffer.from(BN254_G2_GENERATOR.x[1]))
|
|
124
|
-
], [
|
|
125
|
-
Fq.fromBuffer(Buffer.from(BN254_G2_GENERATOR.y[0])),
|
|
126
|
-
Fq.fromBuffer(Buffer.from(BN254_G2_GENERATOR.y[1]))
|
|
127
|
-
]);
|
|
37
|
+
* Generate BN254 G2 public key from a private key.
|
|
38
|
+
*
|
|
39
|
+
* @param privateKeyHex - Private key as 0x-prefixed hex string
|
|
40
|
+
* @returns G2 point in affine coordinates
|
|
41
|
+
*/ export async function computeBn254G2PublicKey(privateKeyHex) {
|
|
42
|
+
const sk = BigInt(privateKeyHex);
|
|
43
|
+
const skReduced = sk % Fr.MODULUS;
|
|
44
|
+
const scalar = Fr.fromString(skReduced.toString());
|
|
45
|
+
const pk2 = await Bn254G2Point.generator(scalar);
|
|
46
|
+
return {
|
|
47
|
+
x: {
|
|
48
|
+
c0: pk2.x[0].toBigInt(),
|
|
49
|
+
c1: pk2.x[1].toBigInt()
|
|
50
|
+
},
|
|
51
|
+
y: {
|
|
52
|
+
c0: pk2.y[0].toBigInt(),
|
|
53
|
+
c1: pk2.y[1].toBigInt()
|
|
128
54
|
}
|
|
129
|
-
|
|
130
|
-
const api = BarretenbergSync.getSingleton();
|
|
131
|
-
const response = api.bn254G2Mul({
|
|
132
|
-
point: BN254_G2_GENERATOR,
|
|
133
|
-
scalar: scalar.toBuffer()
|
|
134
|
-
});
|
|
135
|
-
return Bn254G2Point.fromBbApiPoint(response.point);
|
|
136
|
-
}
|
|
137
|
-
equals(other) {
|
|
138
|
-
return this.x[0].equals(other.x[0]) && this.x[1].equals(other.x[1]) && this.y[0].equals(other.y[0]) && this.y[1].equals(other.y[1]);
|
|
139
|
-
}
|
|
140
|
-
toString() {
|
|
141
|
-
return `Bn254G2Point(x: (${this.x[0].toString()}, ${this.x[1].toString()}), y: (${this.y[0].toString()}, ${this.y[1].toString()}))`;
|
|
142
|
-
}
|
|
55
|
+
};
|
|
143
56
|
}
|
|
144
|
-
// Re-export BN254 point utility functions
|
|
145
|
-
export { computeBn254G1PublicKeyCompressed, computeBn254G1PublicKey, computeBn254G2PublicKey } from './bn254_utils.js';
|
|
@@ -1,12 +1,21 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { Signature } from '../signature/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* ECDSA signature used for transactions.
|
|
5
5
|
* @see cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.hpp
|
|
6
6
|
*/
|
|
7
7
|
export declare class EcdsaSignature implements Signature {
|
|
8
|
+
/**
|
|
9
|
+
* The r byte-array (32 bytes) in an ECDSA signature.
|
|
10
|
+
*/
|
|
8
11
|
r: Buffer;
|
|
12
|
+
/**
|
|
13
|
+
* The s byte-array (32 bytes) in an ECDSA signature.
|
|
14
|
+
*/
|
|
9
15
|
s: Buffer;
|
|
16
|
+
/**
|
|
17
|
+
* The recovery id (1 byte) in an ECDSA signature.
|
|
18
|
+
*/
|
|
10
19
|
v: Buffer;
|
|
11
20
|
constructor(
|
|
12
21
|
/**
|
|
@@ -57,4 +66,4 @@ export declare class EcdsaSignature implements Signature {
|
|
|
57
66
|
*/
|
|
58
67
|
toFields(includeV?: boolean): Fr[];
|
|
59
68
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL2VjZHNhL3NpZ25hdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gscUJBQWEsY0FBZSxZQUFXLFNBQVM7SUFFNUM7O09BRUc7SUFDSSxDQUFDLEVBQUUsTUFBTTtJQUNoQjs7T0FFRztJQUNJLENBQUMsRUFBRSxNQUFNO0lBQ2hCOztPQUVHO0lBQ0ksQ0FBQyxFQUFFLE1BQU07SUFabEI7SUFDRTs7T0FFRztJQUNJLENBQUMsRUFBRSxNQUFNO0lBQ2hCOztPQUVHO0lBQ0ksQ0FBQyxFQUFFLE1BQU07SUFDaEI7O09BRUc7SUFDSSxDQUFDLEVBQUUsTUFBTSxFQVdqQjtJQUVEOzs7T0FHRztJQUNILFFBQVEsd0JBRVA7SUFFRDs7OztPQUlHO0lBQ0gsT0FBYyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sa0JBRXRDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsT0FBYyxXQUFXLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUV4RDtJQUVEOzs7T0FHRztJQUNILE9BQWMsTUFBTSxtQkFFbkI7SUFFRDs7O09BR0c7SUFDSCxRQUFRLFdBRVA7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLFFBQVEsVUFBUSxHQUFHLEVBQUUsRUFBRSxDQVkvQjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/ecdsa/signature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/ecdsa/signature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,cAAe,YAAW,SAAS;IAE5C;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAZlB;IACE;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM,EAWjB;IAED;;;OAGG;IACH,QAAQ,wBAEP;IAED;;;;OAIG;IACH,OAAc,UAAU,CAAC,MAAM,EAAE,MAAM,kBAEtC;IAED;;;;;;OAMG;IACH,OAAc,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,kBAExD;IAED;;;OAGG;IACH,OAAc,MAAM,mBAEnB;IAED;;;OAGG;IACH,QAAQ,WAEP;IAED;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,UAAQ,GAAG,EAAE,EAAE,CAY/B;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
2
|
-
import { randomBytes } from '@aztec/foundation/crypto';
|
|
3
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
3
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { mapTuple } from '@aztec/foundation/serialize';
|
|
5
5
|
/**
|
|
6
6
|
* ECDSA signature used for transactions.
|