@aztec/foundation 0.0.1-commit.d3ec352c → 0.0.1-commit.d58ff9d0
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/bigint-buffer/index.d.ts +1 -1
- package/dest/bigint-buffer/index.d.ts.map +1 -1
- package/dest/bigint-buffer/index.js +6 -1
- package/dest/branded-types/block_number.d.ts +6 -3
- package/dest/branded-types/block_number.d.ts.map +1 -1
- package/dest/branded-types/block_number.js +18 -4
- package/dest/branded-types/buffer32_hash.d.ts +27 -0
- package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
- package/dest/branded-types/buffer32_hash.js +12 -0
- package/dest/branded-types/checkpoint_number.d.ts +17 -3
- package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
- package/dest/branded-types/checkpoint_number.js +28 -8
- package/dest/branded-types/epoch.d.ts +2 -2
- package/dest/branded-types/epoch.d.ts.map +1 -1
- package/dest/branded-types/index.d.ts +4 -2
- package/dest/branded-types/index.d.ts.map +1 -1
- package/dest/branded-types/index.js +3 -1
- 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 +5 -2
- 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 +33 -65
- 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 +22 -1
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +84 -0
- package/dest/collection/index.d.ts +3 -1
- package/dest/collection/index.d.ts.map +1 -1
- package/dest/collection/index.js +2 -0
- package/dest/collection/lru_map.d.ts +41 -0
- package/dest/collection/lru_map.d.ts.map +1 -0
- package/dest/collection/lru_map.js +119 -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/committable/committable.js +1 -1
- package/dest/config/env_var.d.ts +2 -2
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/config/index.d.ts +79 -38
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +103 -64
- package/dest/config/network_config.d.ts +17 -31
- 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 +3 -3
- 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.d.ts +2 -2
- package/dest/config/secret_value.d.ts.map +1 -1
- package/dest/config/secret_value.js +3 -1
- package/dest/crypto/aes128/index.d.ts +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 +10 -177
- package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
- package/dest/crypto/bls/bn254_keystore.js +23 -35
- 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 +4 -3
- package/dest/crypto/keys/index.d.ts.map +1 -1
- package/dest/crypto/keys/index.js +31 -7
- 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 +10 -8
- package/dest/crypto/schnorr/index.d.ts.map +1 -1
- package/dest/crypto/schnorr/index.js +7 -7
- package/dest/crypto/schnorr/signature.d.ts +10 -30
- package/dest/crypto/schnorr/signature.d.ts.map +1 -1
- package/dest/crypto/schnorr/signature.js +21 -37
- 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} +5 -5
- 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} +14 -5
- package/dest/curves/bls12/point.d.ts.map +1 -0
- package/dest/{fields/bls12_point.js → curves/bls12/point.js} +10 -8
- package/dest/curves/bn254/field.d.ts +185 -0
- package/dest/curves/bn254/field.d.ts.map +1 -0
- package/dest/{fields/fields.js → curves/bn254/field.js} +57 -62
- 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 +23 -28
- package/dest/curves/grumpkin/point.d.ts.map +1 -0
- package/dest/{fields → curves/grumpkin}/point.js +35 -49
- package/dest/error/index.d.ts +4 -4
- package/dest/error/index.d.ts.map +1 -1
- package/dest/eth-address/index.d.ts +4 -3
- 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 +6 -2
- 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 +91 -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/fifo_set/fifo_set.d.ts +15 -0
- package/dest/fifo_set/fifo_set.d.ts.map +1 -0
- package/dest/fifo_set/fifo_set.js +39 -0
- package/dest/fifo_set/index.d.ts +2 -0
- package/dest/fifo_set/index.d.ts.map +1 -0
- package/dest/fifo_set/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 +3 -3
- 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/fixtures/test_state.d.ts +4 -8
- package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/test_state.js +57 -17
- 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.d.ts +8 -3
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.js +28 -14
- 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/noir/noir_package_config.d.ts +19 -104
- package/dest/noir/noir_package_config.d.ts.map +1 -1
- package/dest/noir/noir_package_config.js +1 -1
- package/dest/promise/running-promise.d.ts +5 -4
- package/dest/promise/running-promise.d.ts.map +1 -1
- package/dest/promise/running-promise.js +7 -3
- 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 +41 -3
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +55 -2
- package/dest/schemas/api.d.ts +12 -10
- package/dest/schemas/api.d.ts.map +1 -1
- package/dest/schemas/api.js +7 -1
- package/dest/schemas/parse.d.ts +4 -4
- package/dest/schemas/parse.d.ts.map +1 -1
- package/dest/schemas/parse.js +6 -5
- package/dest/schemas/schemas.d.ts +20 -16
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +9 -3
- package/dest/schemas/types.d.ts +32 -2
- package/dest/schemas/types.d.ts.map +1 -1
- package/dest/schemas/types.js +25 -1
- package/dest/schemas/utils.d.ts +7 -11
- package/dest/schemas/utils.d.ts.map +1 -1
- package/dest/schemas/utils.js +2 -18
- 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/buffer_sink.d.ts +134 -0
- package/dest/serialize/buffer_sink.d.ts.map +1 -0
- package/dest/serialize/buffer_sink.js +297 -0
- package/dest/serialize/field_reader.d.ts +2 -2
- package/dest/serialize/field_reader.d.ts.map +1 -1
- package/dest/serialize/field_reader.js +1 -1
- package/dest/serialize/free_funcs.d.ts +2 -2
- package/dest/serialize/free_funcs.d.ts.map +1 -1
- package/dest/serialize/free_funcs.js +1 -1
- package/dest/serialize/index.d.ts +2 -1
- package/dest/serialize/index.d.ts.map +1 -1
- package/dest/serialize/index.js +1 -0
- 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/testing/files/index.d.ts +2 -3
- package/dest/testing/files/index.d.ts.map +1 -1
- package/dest/testing/files/index.js +1 -2
- 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/timer/index.d.ts +2 -2
- package/dest/timer/index.d.ts.map +1 -1
- package/dest/timer/index.js +1 -1
- package/dest/timer/timeout.d.ts +3 -1
- package/dest/timer/timeout.d.ts.map +1 -1
- package/dest/timer/timeout.js +26 -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 +9 -3
- package/dest/trees/membership_witness.d.ts.map +1 -1
- package/dest/trees/membership_witness.js +1 -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 +7 -5
- package/dest/trees/sibling_path.d.ts.map +1 -1
- package/dest/trees/sibling_path.js +11 -9
- 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 +28 -2
- package/dest/types/index.d.ts.map +1 -1
- package/dest/types/index.js +21 -0
- package/package.json +50 -9
- package/src/array/index.ts +1 -0
- package/src/array/sorted_array.ts +138 -0
- package/src/bigint-buffer/index.ts +6 -1
- package/src/branded-types/block_number.ts +25 -2
- package/src/branded-types/buffer32_hash.ts +38 -0
- package/src/branded-types/checkpoint_number.ts +37 -7
- package/src/branded-types/epoch.ts +1 -1
- package/src/branded-types/index.ts +3 -1
- package/src/branded-types/index_within_checkpoint.ts +88 -0
- package/src/branded-types/slot.ts +6 -1
- package/src/buffer/buffer16.ts +5 -2
- package/src/buffer/buffer32.ts +41 -70
- package/src/buffer/index.ts +1 -0
- package/src/buffer/utils.ts +8 -0
- package/src/collection/array.ts +86 -0
- package/src/collection/index.ts +2 -0
- package/src/collection/lru_map.ts +143 -0
- package/src/collection/lru_set.ts +115 -0
- package/src/committable/committable.ts +1 -1
- package/src/config/env_var.ts +127 -34
- package/src/config/index.ts +183 -114
- package/src/config/network_config.ts +5 -0
- package/src/config/network_name.ts +6 -6
- package/src/config/parse-env.ts +4 -0
- package/src/config/secret_value.ts +1 -1
- package/src/crypto/aes128/index.ts +11 -2
- package/src/crypto/bls/bn254_keystore.ts +34 -44
- 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 +21 -5
- 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 +11 -9
- package/src/crypto/schnorr/signature.ts +18 -47
- 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} +68 -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 +29 -46
- package/src/eth-address/index.ts +8 -6
- package/src/eth-signature/eth_signature.ts +7 -1
- package/src/fifo/fifo_frame_reader.ts +113 -0
- package/src/fifo/index.ts +1 -0
- package/src/fifo_set/fifo_set.ts +52 -0
- package/src/fifo_set/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 +4 -2
- package/src/json-rpc/client/undici.ts +23 -3
- package/src/json-rpc/fixtures/test_state.ts +10 -10
- 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 +32 -14
- 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/noir/noir_package_config.ts +32 -20
- package/src/promise/running-promise.ts +8 -5
- 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 +84 -4
- package/src/schemas/api.ts +25 -25
- package/src/schemas/parse.ts +9 -6
- package/src/schemas/schemas.ts +17 -6
- package/src/schemas/types.ts +34 -1
- package/src/schemas/utils.ts +4 -38
- package/src/serialize/buffer_reader.ts +36 -9
- package/src/serialize/buffer_sink.ts +350 -0
- package/src/serialize/field_reader.ts +1 -1
- package/src/serialize/free_funcs.ts +1 -1
- package/src/serialize/index.ts +1 -0
- package/src/serialize/serialize.ts +33 -1
- package/src/sleep/index.ts +16 -1
- package/src/string/index.ts +1 -1
- package/src/testing/files/index.ts +1 -2
- package/src/timer/date.ts +52 -0
- package/src/timer/index.ts +1 -1
- package/src/timer/timeout.ts +31 -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 +1 -1
- package/src/trees/merkle_tree_calculator.ts +4 -10
- package/src/trees/sibling_path.ts +12 -7
- 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 +58 -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 +0 -188
- 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,24 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import type { AsyncHasher, Hasher } from './hasher.js';
|
|
4
|
-
|
|
5
|
-
export const shaMerkleHash: Hasher['hash'] = (left: Buffer, right: Buffer) =>
|
|
6
|
-
sha256Trunc(Buffer.concat([left, right])) as Buffer<ArrayBuffer>;
|
|
7
|
-
|
|
8
|
-
export const pedersenMerkleHash: AsyncHasher['hash'] = async (left: Buffer, right: Buffer) =>
|
|
9
|
-
(await pedersenHashArray([left, right])).toBuffer() as Buffer<ArrayBuffer>;
|
|
10
|
-
|
|
11
|
-
export const poseidonMerkleHash: AsyncHasher['hash'] = async (left: Buffer, right: Buffer) =>
|
|
12
|
-
(await poseidon2Hash([left, right])).toBuffer() as Buffer<ArrayBuffer>;
|
|
1
|
+
import { shaMerkleHash } from './hasher.js';
|
|
13
2
|
|
|
14
3
|
export const computeBalancedShaRoot = (leaves: Buffer[]) => computeBalancedMerkleTreeRoot(leaves);
|
|
15
4
|
|
|
16
|
-
export const computeBalancedPedersenRoot = async (leaves: Buffer[]) =>
|
|
17
|
-
await computeBalancedMerkleTreeRootAsync(leaves, pedersenMerkleHash);
|
|
18
|
-
|
|
19
|
-
export const computeBalancedPoseidonRoot = async (leaves: Buffer[]) =>
|
|
20
|
-
await computeBalancedMerkleTreeRootAsync(leaves, poseidonMerkleHash);
|
|
21
|
-
|
|
22
5
|
/**
|
|
23
6
|
* Computes the Merkle root with the provided leaves **synchronously**.
|
|
24
7
|
* This method uses a synchronous hash function (defaults to `sha256Trunc`).
|
|
@@ -44,13 +27,13 @@ export function computeBalancedMerkleTreeRoot(leaves: Buffer[], hasher = shaMerk
|
|
|
44
27
|
|
|
45
28
|
/**
|
|
46
29
|
* Computes the Merkle root with the provided leaves **asynchronously**.
|
|
47
|
-
* This method uses an asynchronous hash function (defaults to `
|
|
30
|
+
* This method uses an asynchronous hash function (defaults to `poseidon2Hash`).
|
|
48
31
|
*
|
|
49
32
|
* @throws If the number of leaves is not a power of two.
|
|
50
33
|
*/
|
|
51
34
|
export async function computeBalancedMerkleTreeRootAsync(
|
|
52
35
|
leaves: Buffer[],
|
|
53
|
-
hasher
|
|
36
|
+
hasher: (left: Buffer, right: Buffer) => Promise<Buffer<ArrayBuffer>>,
|
|
54
37
|
): Promise<Buffer> {
|
|
55
38
|
const height = getTreeHeight(leaves);
|
|
56
39
|
let nodes = leaves.slice();
|
package/src/trees/hasher.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { poseidon2HashWithSeparator } from '../crypto/poseidon/index.js';
|
|
2
|
+
import { sha256Trunc } from '../crypto/sha256/index.js';
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* Defines hasher interface used by Merkle trees.
|
|
3
6
|
*/
|
|
@@ -37,3 +40,12 @@ export interface AsyncHasher {
|
|
|
37
40
|
*/
|
|
38
41
|
hashInputs(inputs: Buffer[]): Promise<Buffer<ArrayBuffer>>;
|
|
39
42
|
}
|
|
43
|
+
|
|
44
|
+
export const shaMerkleHash: Hasher['hash'] = (left: Buffer, right: Buffer) =>
|
|
45
|
+
sha256Trunc(Buffer.concat([left, right])) as Buffer<ArrayBuffer>;
|
|
46
|
+
|
|
47
|
+
/** Creates a poseidon2 merkle hasher with the given domain separator. */
|
|
48
|
+
export const makePoseidonMerkleHash =
|
|
49
|
+
(separator: number): AsyncHasher['hash'] =>
|
|
50
|
+
async (left: Buffer, right: Buffer) =>
|
|
51
|
+
(await poseidon2HashWithSeparator([left, right], separator)).toBuffer() as Buffer<ArrayBuffer>;
|
package/src/trees/index.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './unbalanced_merkle_tree.js';
|
|
3
|
-
export * from './unbalanced_tree_store.js';
|
|
1
|
+
export * from './balanced_merkle_tree_root.js';
|
|
4
2
|
export * from './merkle_tree_calculator.js';
|
|
5
3
|
export * from './merkle_tree.js';
|
|
6
4
|
export * from './indexed_merkle_tree_calculator.js';
|
|
@@ -10,3 +8,5 @@ export * from './membership_witness.js';
|
|
|
10
8
|
export * from './hasher.js';
|
|
11
9
|
export * from './indexed_tree_leaf.js';
|
|
12
10
|
export * from './unbalanced_merkle_tree_calculator.js';
|
|
11
|
+
export * from './unbalanced_merkle_tree_root.js';
|
|
12
|
+
export * from './unbalanced_tree_store.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '../
|
|
1
|
+
import { Fr } from '../curves/bn254/index.js';
|
|
2
2
|
import { assertLength } from '../serialize/index.js';
|
|
3
3
|
import type { IndexedTreeLeafPreimage } from './indexed_tree_leaf.js';
|
|
4
4
|
import { MembershipWitness } from './membership_witness.js';
|
|
@@ -40,7 +40,11 @@ export class IndexedMerkleTreeCalculator<T extends IndexedTreeLeafPreimage, N ex
|
|
|
40
40
|
}
|
|
41
41
|
const sorted = values
|
|
42
42
|
.map((v, i) => ({ value: v, index: i }))
|
|
43
|
-
.sort((a, b)
|
|
43
|
+
.sort((a, b): -1 | 0 | 1 => {
|
|
44
|
+
const aBigInt = toBigIntBE(a.value);
|
|
45
|
+
const bBigInt = toBigIntBE(b.value);
|
|
46
|
+
return aBigInt < bBigInt ? 1 : aBigInt > bBigInt ? -1 : 0;
|
|
47
|
+
});
|
|
44
48
|
const indexedLeaves = sorted.map((item, i) => ({
|
|
45
49
|
leaf: this.factory.fromBuffer(
|
|
46
50
|
Buffer.concat([
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertMemberLength } from '../array/array.js';
|
|
2
2
|
import { toBigIntBE, toBufferBE } from '../bigint-buffer/index.js';
|
|
3
|
-
import { Fr } from '../
|
|
3
|
+
import { Fr } from '../curves/bn254/field.js';
|
|
4
4
|
import { schemas } from '../schemas/schemas.js';
|
|
5
5
|
import { BufferReader, type Tuple, serializeToBuffer } from '../serialize/index.js';
|
|
6
6
|
import type { SiblingPath } from './sibling_path.js';
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { pedersenHash } from '@aztec/foundation/crypto';
|
|
2
|
-
|
|
3
|
-
import type { AsyncHasher } from './hasher.js';
|
|
4
1
|
import { MerkleTree } from './merkle_tree.js';
|
|
5
2
|
|
|
3
|
+
type MerkleHashFn = (left: Buffer, right: Buffer) => Promise<Buffer<ArrayBuffer>>;
|
|
4
|
+
|
|
6
5
|
/**
|
|
7
6
|
* Merkle tree calculator.
|
|
8
7
|
*/
|
|
@@ -10,17 +9,12 @@ export class MerkleTreeCalculator {
|
|
|
10
9
|
private constructor(
|
|
11
10
|
private height: number,
|
|
12
11
|
private zeroHashes: Buffer[],
|
|
13
|
-
private hasher:
|
|
12
|
+
private hasher: MerkleHashFn,
|
|
14
13
|
) {
|
|
15
14
|
this.hasher = hasher;
|
|
16
15
|
}
|
|
17
16
|
|
|
18
|
-
static async create(
|
|
19
|
-
height: number,
|
|
20
|
-
zeroLeaf: Buffer = Buffer.alloc(32),
|
|
21
|
-
hasher = async (left: Buffer, right: Buffer) =>
|
|
22
|
-
(await pedersenHash([left, right])).toBuffer() as Buffer<ArrayBuffer>,
|
|
23
|
-
) {
|
|
17
|
+
static async create(height: number, zeroLeaf: Buffer = Buffer.alloc(32), hasher: MerkleHashFn) {
|
|
24
18
|
const zeroHashes = [zeroLeaf];
|
|
25
19
|
for (let i = 0; i < height; i++) {
|
|
26
20
|
zeroHashes.push((await hasher(zeroHashes[i], zeroHashes[i])) as Buffer<ArrayBuffer>);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
1
3
|
import { makeTuple } from '../array/array.js';
|
|
2
|
-
import {
|
|
3
|
-
import { Fr } from '../fields/index.js';
|
|
4
|
+
import { Fr } from '../curves/bn254/index.js';
|
|
4
5
|
import { schemas } from '../schemas/index.js';
|
|
5
6
|
import {
|
|
6
7
|
type Tuple,
|
|
@@ -43,10 +44,14 @@ export class SiblingPath<N extends number> {
|
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
static schemaFor<N extends number>(size: N) {
|
|
46
|
-
return schemas.Buffer.transform(b => SiblingPath.fromBuffer(b) as SiblingPath<N>).
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
return schemas.Buffer.transform(b => SiblingPath.fromBuffer(b) as SiblingPath<N>).superRefine((path, ctx) => {
|
|
48
|
+
if (path.pathSize !== size) {
|
|
49
|
+
ctx.addIssue({
|
|
50
|
+
code: z.ZodIssueCode.custom,
|
|
51
|
+
message: `Expected sibling path size ${size} but got ${path.pathSize}`,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
});
|
|
50
55
|
}
|
|
51
56
|
|
|
52
57
|
toJSON() {
|
|
@@ -172,7 +177,7 @@ export async function computeRootFromSiblingPath(
|
|
|
172
177
|
leaf: Buffer,
|
|
173
178
|
siblingPath: Buffer[],
|
|
174
179
|
index: number,
|
|
175
|
-
hasher
|
|
180
|
+
hasher: (left: Buffer, right: Buffer) => Promise<Buffer>,
|
|
176
181
|
) {
|
|
177
182
|
let result = leaf;
|
|
178
183
|
for (const sibling of siblingPath) {
|
|
@@ -1,18 +1,7 @@
|
|
|
1
|
-
import { shaMerkleHash } from './
|
|
2
|
-
import type { Hasher } from './hasher.js';
|
|
1
|
+
import { type Hasher, shaMerkleHash } from './hasher.js';
|
|
3
2
|
import { SiblingPath } from './sibling_path.js';
|
|
4
3
|
import { type TreeNodeLocation, UnbalancedTreeStore } from './unbalanced_tree_store.js';
|
|
5
4
|
|
|
6
|
-
export function computeCompressedUnbalancedMerkleTreeRoot(
|
|
7
|
-
leaves: Buffer[],
|
|
8
|
-
valueToCompress = Buffer.alloc(32),
|
|
9
|
-
emptyRoot = Buffer.alloc(32),
|
|
10
|
-
hasher?: Hasher['hash'],
|
|
11
|
-
): Buffer {
|
|
12
|
-
const calculator = UnbalancedMerkleTreeCalculator.create(leaves, valueToCompress, emptyRoot, hasher);
|
|
13
|
-
return calculator.getRoot();
|
|
14
|
-
}
|
|
15
|
-
|
|
16
5
|
interface TreeNode {
|
|
17
6
|
value: Buffer;
|
|
18
7
|
leafIndex?: number;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
poseidonMerkleHash,
|
|
5
|
-
shaMerkleHash,
|
|
6
|
-
} from './balanced_merkle_tree.js';
|
|
1
|
+
import { computeBalancedMerkleTreeRoot, computeBalancedMerkleTreeRootAsync } from './balanced_merkle_tree_root.js';
|
|
2
|
+
import { shaMerkleHash } from './hasher.js';
|
|
3
|
+
import { UnbalancedMerkleTreeCalculator } from './unbalanced_merkle_tree_calculator.js';
|
|
7
4
|
|
|
8
5
|
export const computeUnbalancedShaRoot = (leaves: Buffer[]) => computeUnbalancedMerkleTreeRoot(leaves, shaMerkleHash);
|
|
9
6
|
|
|
10
|
-
export const
|
|
11
|
-
await computeUnbalancedMerkleTreeRootAsync(leaves, poseidonMerkleHash);
|
|
7
|
+
export const computeWonkyShaRoot = (leaves: Buffer[]) => computeWonkyMerkleTreeRoot(leaves);
|
|
12
8
|
|
|
13
9
|
/**
|
|
14
10
|
* Computes the Merkle root of an unbalanced tree.
|
|
@@ -68,7 +64,7 @@ export function computeUnbalancedMerkleTreeRoot(
|
|
|
68
64
|
|
|
69
65
|
export async function computeUnbalancedMerkleTreeRootAsync(
|
|
70
66
|
leaves: Buffer[],
|
|
71
|
-
hasher
|
|
67
|
+
hasher: (left: Uint8Array, right: Uint8Array) => Promise<Buffer<ArrayBuffer>>,
|
|
72
68
|
emptyRoot = Buffer.alloc(32),
|
|
73
69
|
): Promise<Buffer> {
|
|
74
70
|
if (!leaves.length) {
|
|
@@ -101,59 +97,16 @@ export async function computeUnbalancedMerkleTreeRootAsync(
|
|
|
101
97
|
return root!;
|
|
102
98
|
}
|
|
103
99
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
return
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
function findPosition(
|
|
119
|
-
rootLevel: number,
|
|
120
|
-
leafLevel: number,
|
|
121
|
-
numLeaves: number,
|
|
122
|
-
indexOffset: number,
|
|
123
|
-
targetIndex: number,
|
|
124
|
-
): { level: number; indexAtLevel: number } {
|
|
125
|
-
if (numLeaves <= 1) {
|
|
126
|
-
// Single leaf.
|
|
127
|
-
return { level: rootLevel, indexAtLevel: indexOffset };
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// The largest balanced tree that can be created with the given number of leaves.
|
|
131
|
-
const maxBalancedTreeDepth = getMaxBalancedSubtreeDepth(numLeaves);
|
|
132
|
-
const numBalancedLeaves = 2 ** maxBalancedTreeDepth;
|
|
133
|
-
const numRemainingLeaves = numLeaves - numBalancedLeaves;
|
|
134
|
-
|
|
135
|
-
if (targetIndex < numBalancedLeaves) {
|
|
136
|
-
// Target is in the balanced tree.
|
|
137
|
-
|
|
138
|
-
// - If numRemainingLeaves is 0: this balanced tree is grown from the current root.
|
|
139
|
-
// - If numRemainingLeaves is not 0: the remaining leaves will form another tree, which will become the right child of the root.
|
|
140
|
-
// And the balanced tree will be the left child of the root.
|
|
141
|
-
// There will be an extra level between the root of the balanced tree and the current root.
|
|
142
|
-
const extraLevel = numRemainingLeaves ? 1 : 0;
|
|
143
|
-
|
|
144
|
-
return { level: rootLevel + maxBalancedTreeDepth + extraLevel, indexAtLevel: indexOffset + targetIndex };
|
|
145
|
-
} else {
|
|
146
|
-
// Target is in the right branch.
|
|
147
|
-
const rightBranchMaxLevel = getMaxUnbalancedTreeDepth(numRemainingLeaves);
|
|
148
|
-
const shiftedUp = leafLevel - rootLevel - rightBranchMaxLevel - 1;
|
|
149
|
-
const nextLeafLevel = leafLevel - shiftedUp;
|
|
150
|
-
const newIndexOffset = (indexOffset + numBalancedLeaves) >> shiftedUp;
|
|
151
|
-
const shiftedTargetIndex = targetIndex - numBalancedLeaves;
|
|
152
|
-
return findPosition(rootLevel + 1, nextLeafLevel, numRemainingLeaves, newIndexOffset, shiftedTargetIndex);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
export function findLeafLevelAndIndex(numLeaves: number, leafIndex: number) {
|
|
157
|
-
const maxLevel = getMaxUnbalancedTreeDepth(numLeaves);
|
|
158
|
-
return findPosition(0, maxLevel, numLeaves, 0, leafIndex);
|
|
100
|
+
// A **wonky** tree is a "compressed" unbalanced Merkle tree.
|
|
101
|
+
// It is constructed in the same way as an unbalanced tree: by first creating the largest possible left subtree, with
|
|
102
|
+
// the remaining leaves forming a right subtree that follows the same process recursively.
|
|
103
|
+
// During construction, leaves equal to `valueToCompress` are skipped (compressed) and do not contribute to the tree.
|
|
104
|
+
export function computeWonkyMerkleTreeRoot(
|
|
105
|
+
leaves: Buffer[],
|
|
106
|
+
valueToCompress = Buffer.alloc(32),
|
|
107
|
+
emptyRoot = Buffer.alloc(32),
|
|
108
|
+
hasher = shaMerkleHash,
|
|
109
|
+
): Buffer {
|
|
110
|
+
const calculator = UnbalancedMerkleTreeCalculator.create(leaves, valueToCompress, emptyRoot, hasher);
|
|
111
|
+
return calculator.getRoot();
|
|
159
112
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { findLeafLevelAndIndex } from './unbalanced_merkle_tree.js';
|
|
2
|
-
|
|
3
1
|
export interface TreeNodeLocation {
|
|
4
2
|
level: number;
|
|
5
3
|
index: number;
|
|
@@ -104,3 +102,60 @@ export class UnbalancedTreeStore<T> {
|
|
|
104
102
|
return `${location.level}-${location.index}`;
|
|
105
103
|
}
|
|
106
104
|
}
|
|
105
|
+
|
|
106
|
+
/// Get the depth of the maximum balanced tree that can be created with the given number of leaves. The subtree will be
|
|
107
|
+
/// the left most subtree of the unbalanced tree with a total of `numLeaves` leaves.
|
|
108
|
+
///
|
|
109
|
+
/// Note: All the leaves may not be used to form the tree. For example, if there are 5 leaves, the maximum depth is 2,
|
|
110
|
+
/// only 4 leaves are used to form a balanced tree.
|
|
111
|
+
function getMaxBalancedSubtreeDepth(numLeaves: number) {
|
|
112
|
+
return Math.floor(Math.log2(numLeaves));
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/// Get the maximum depth of an unbalanced tree that can be created with the given number of leaves.
|
|
116
|
+
function getMaxUnbalancedTreeDepth(numLeaves: number) {
|
|
117
|
+
return Math.ceil(Math.log2(numLeaves));
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function findPosition(
|
|
121
|
+
rootLevel: number,
|
|
122
|
+
leafLevel: number,
|
|
123
|
+
numLeaves: number,
|
|
124
|
+
indexOffset: number,
|
|
125
|
+
targetIndex: number,
|
|
126
|
+
): { level: number; indexAtLevel: number } {
|
|
127
|
+
if (numLeaves <= 1) {
|
|
128
|
+
// Single leaf.
|
|
129
|
+
return { level: rootLevel, indexAtLevel: indexOffset };
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// The largest balanced tree that can be created with the given number of leaves.
|
|
133
|
+
const maxBalancedTreeDepth = getMaxBalancedSubtreeDepth(numLeaves);
|
|
134
|
+
const numBalancedLeaves = 2 ** maxBalancedTreeDepth;
|
|
135
|
+
const numRemainingLeaves = numLeaves - numBalancedLeaves;
|
|
136
|
+
|
|
137
|
+
if (targetIndex < numBalancedLeaves) {
|
|
138
|
+
// Target is in the balanced tree.
|
|
139
|
+
|
|
140
|
+
// - If numRemainingLeaves is 0: this balanced tree is grown from the current root.
|
|
141
|
+
// - If numRemainingLeaves is not 0: the remaining leaves will form another tree, which will become the right child of the root.
|
|
142
|
+
// And the balanced tree will be the left child of the root.
|
|
143
|
+
// There will be an extra level between the root of the balanced tree and the current root.
|
|
144
|
+
const extraLevel = numRemainingLeaves ? 1 : 0;
|
|
145
|
+
|
|
146
|
+
return { level: rootLevel + maxBalancedTreeDepth + extraLevel, indexAtLevel: indexOffset + targetIndex };
|
|
147
|
+
} else {
|
|
148
|
+
// Target is in the right branch.
|
|
149
|
+
const rightBranchMaxLevel = getMaxUnbalancedTreeDepth(numRemainingLeaves);
|
|
150
|
+
const shiftedUp = leafLevel - rootLevel - rightBranchMaxLevel - 1;
|
|
151
|
+
const nextLeafLevel = leafLevel - shiftedUp;
|
|
152
|
+
const newIndexOffset = (indexOffset + numBalancedLeaves) >> shiftedUp;
|
|
153
|
+
const shiftedTargetIndex = targetIndex - numBalancedLeaves;
|
|
154
|
+
return findPosition(rootLevel + 1, nextLeafLevel, numRemainingLeaves, newIndexOffset, shiftedTargetIndex);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export function findLeafLevelAndIndex(numLeaves: number, leafIndex: number) {
|
|
159
|
+
const maxLevel = getMaxUnbalancedTreeDepth(numLeaves);
|
|
160
|
+
return findPosition(0, maxLevel, numLeaves, 0, leafIndex);
|
|
161
|
+
}
|
package/src/types/index.ts
CHANGED
|
@@ -19,16 +19,73 @@ export function unfreeze<T>(obj: T): Writeable<T> {
|
|
|
19
19
|
return obj as Writeable<T>;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
/** Is defined type guard */
|
|
23
|
+
export function isDefined<T>(value: T | undefined): value is T {
|
|
24
|
+
return value !== undefined;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** Type guard for error classes */
|
|
28
|
+
export function isErrorClass<T extends Error>(value: unknown, errorClass: new (...args: any[]) => T): value is T {
|
|
29
|
+
return value instanceof errorClass || (value instanceof Error && value.name === errorClass.name);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const MAX_ERR_DEPTH = 10;
|
|
33
|
+
|
|
34
|
+
/** Returns the first error in the cause chain matching the given error class. */
|
|
35
|
+
export function getErrorCause<T extends Error>(err: unknown, errorClass: new (...args: any[]) => T): T | undefined {
|
|
36
|
+
let current = err;
|
|
37
|
+
for (let i = 0; current !== undefined && current !== null && i < MAX_ERR_DEPTH; i++) {
|
|
38
|
+
if (isErrorClass(current, errorClass)) {
|
|
39
|
+
return current;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (typeof current === 'object' && Object.hasOwn(current, 'cause')) {
|
|
43
|
+
current = (current as { cause: unknown }).cause;
|
|
44
|
+
} else {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
|
|
22
51
|
/** Resolves a record-like type. Lifted from viem. */
|
|
23
52
|
export type Prettify<T> = {
|
|
24
53
|
[K in keyof T]: T[K];
|
|
25
54
|
} & {};
|
|
26
55
|
|
|
56
|
+
/** Returns a type T based on a flag: T if true, undefined if false, optional otherwise. */
|
|
57
|
+
export type DefineIfFlag<Opts, Key extends keyof Opts, T> = Opts extends {
|
|
58
|
+
[K in Key]: true;
|
|
59
|
+
}
|
|
60
|
+
? T
|
|
61
|
+
: Opts extends { [K in Key]: false }
|
|
62
|
+
? never
|
|
63
|
+
: Opts extends { [K in Key]?: boolean }
|
|
64
|
+
? T | undefined
|
|
65
|
+
: never;
|
|
66
|
+
|
|
67
|
+
/** Returns a type with fields conditionally required based on a flag */
|
|
68
|
+
export type PickIfFlag<
|
|
69
|
+
OptsSchema,
|
|
70
|
+
Opts extends OptsSchema,
|
|
71
|
+
Key extends keyof OptsSchema,
|
|
72
|
+
Field extends object,
|
|
73
|
+
> = Opts extends { [K in Key]: true }
|
|
74
|
+
? Field
|
|
75
|
+
: Opts extends { [K in Key]: false }
|
|
76
|
+
? {}
|
|
77
|
+
: Opts extends { [K in Key]?: boolean }
|
|
78
|
+
? Partial<Field>
|
|
79
|
+
: {};
|
|
80
|
+
|
|
81
|
+
/** Picks only the defined (non-undefined) properties of a type. */
|
|
82
|
+
export type PickDefined<T> = Prettify<Pick<T, { [K in keyof T]: T[K] extends undefined ? never : K }[keyof T]>>;
|
|
83
|
+
|
|
27
84
|
/**
|
|
28
85
|
* Type-safe Event Emitter type
|
|
29
86
|
* @example
|
|
30
87
|
* export type ArchiverEmitter = TypedEventEmitter<{
|
|
31
|
-
* [L2BlockSourceEvents.
|
|
88
|
+
* [L2BlockSourceEvents.L2PruneUnproven]: (args: L2BlockSourceEvent) => void;
|
|
32
89
|
* [L2BlockSourceEvents.L2BlockProven]: (args: L2BlockSourceEvent) => void;
|
|
33
90
|
* }>;
|
|
34
91
|
* class Archiver extends (EventEmitter as new () => ArchiverEmitter) {
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
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
|
-
*/
|
|
6
|
-
/**
|
|
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)
|
|
11
|
-
*/
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm4yNTRfdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vYm4yNTQvYm4yNTRfdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7Ozs7R0FJRztBQUVIOzs7OztHQUtHO0FBQ0gsd0JBQXNCLGlDQUFpQyxDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQVU5RjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLHVCQUF1QixDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDO0lBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUFDLENBQUMsRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDLENBUXRHO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBc0IsdUJBQXVCLENBQUMsYUFBYSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDNUUsQ0FBQyxFQUFFO1FBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQztRQUFDLEVBQUUsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDO0lBQzlCLENBQUMsRUFBRTtRQUFFLEVBQUUsRUFBRSxNQUFNLENBQUM7UUFBQyxFQUFFLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQztDQUMvQixDQUFDLENBV0QifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bn254_utils.d.ts","sourceRoot":"","sources":["../../../src/crypto/bn254/bn254_utils.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,56 +0,0 @@
|
|
|
1
|
-
import { Fr } from '../../fields/fields.js';
|
|
2
|
-
import { Bn254G1Point, Bn254G2Point } from './index.js';
|
|
3
|
-
/**
|
|
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
|
-
};
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
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()
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
}
|
package/dest/crypto/index.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export * from './keccak/index.js';
|
|
2
|
-
export * from './random/index.js';
|
|
3
|
-
export * from './sha256/index.js';
|
|
4
|
-
export * from './sha512/index.js';
|
|
5
|
-
export * from './pedersen/index.js';
|
|
6
|
-
export * from './poseidon/index.js';
|
|
7
|
-
export * from './secp256k1-signer/index.js';
|
|
8
|
-
export * from './keys/index.js';
|
|
9
|
-
export * from './aes128/index.js';
|
|
10
|
-
export * from './bn254/index.js';
|
|
11
|
-
export * from './grumpkin/index.js';
|
|
12
|
-
export * from './ecdsa/index.js';
|
|
13
|
-
export * from './secp256k1/index.js';
|
|
14
|
-
export * from './schnorr/index.js';
|
|
15
|
-
export * from './signature/index.js';
|
|
16
|
-
export * from './bls/index.js';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jcnlwdG8vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC"}
|
package/dest/crypto/index.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export * from './keccak/index.js';
|
|
2
|
-
export * from './random/index.js';
|
|
3
|
-
export * from './sha256/index.js';
|
|
4
|
-
export * from './sha512/index.js';
|
|
5
|
-
export * from './pedersen/index.js';
|
|
6
|
-
export * from './poseidon/index.js';
|
|
7
|
-
export * from './secp256k1-signer/index.js';
|
|
8
|
-
export * from './keys/index.js';
|
|
9
|
-
export * from './aes128/index.js';
|
|
10
|
-
export * from './bn254/index.js';
|
|
11
|
-
export * from './grumpkin/index.js';
|
|
12
|
-
export * from './ecdsa/index.js';
|
|
13
|
-
export * from './secp256k1/index.js';
|
|
14
|
-
export * from './schnorr/index.js';
|
|
15
|
-
export * from './signature/index.js';
|
|
16
|
-
export * from './bls/index.js';
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Buffer } from 'buffer';
|
|
2
|
-
/**
|
|
3
|
-
* For serializing an array of fixed length buffers.
|
|
4
|
-
* TODO move to foundation pkg.
|
|
5
|
-
* @param arr - Array of bufffers.
|
|
6
|
-
* @returns The serialized buffers.
|
|
7
|
-
*/
|
|
8
|
-
export declare function serializeBufferArrayToVector(arr: Buffer[]): Buffer<ArrayBuffer>;
|
|
9
|
-
/**
|
|
10
|
-
* Helper function for deserializeArrayFromVector.
|
|
11
|
-
*/
|
|
12
|
-
type DeserializeFn<T> = (buf: Buffer, offset: number) => {
|
|
13
|
-
/**
|
|
14
|
-
* The deserialized type.
|
|
15
|
-
*/
|
|
16
|
-
elem: T;
|
|
17
|
-
/**
|
|
18
|
-
* How many bytes to advance by.
|
|
19
|
-
*/
|
|
20
|
-
adv: number;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* For deserializing numbers to 32-bit little-endian form.
|
|
24
|
-
* TODO move to foundation pkg.
|
|
25
|
-
* @param n - The number.
|
|
26
|
-
* @returns The endian-corrected number.
|
|
27
|
-
*/
|
|
28
|
-
export declare function deserializeArrayFromVector<T>(deserialize: DeserializeFn<T>, vector: Buffer, offset?: number): {
|
|
29
|
-
elem: T[];
|
|
30
|
-
adv: number;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* For serializing numbers to 32 bit little-endian form.
|
|
34
|
-
* TODO move to foundation pkg.
|
|
35
|
-
* @param n - The number.
|
|
36
|
-
* @returns The endian-corrected number.
|
|
37
|
-
*/
|
|
38
|
-
export declare function numToUInt32LE(n: number, bufferSize?: number): Buffer<ArrayBuffer>;
|
|
39
|
-
/**
|
|
40
|
-
* Deserialize the 256-bit number at address `offset`.
|
|
41
|
-
* @param buf - The buffer.
|
|
42
|
-
* @param offset - The address.
|
|
43
|
-
* @returns The derserialized 256-bit field.
|
|
44
|
-
*/
|
|
45
|
-
export declare function deserializeField(buf: Buffer, offset?: number): {
|
|
46
|
-
elem: Buffer<ArrayBuffer>;
|
|
47
|
-
adv: number;
|
|
48
|
-
};
|
|
49
|
-
export declare function concatenateUint8Arrays(arrayOfUint8Arrays: Uint8Array[]): Uint8Array<ArrayBuffer>;
|
|
50
|
-
export {};
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL3NlcmlhbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWhDOzs7OztHQUtHO0FBQ0gsd0JBQWdCLDRCQUE0QixDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsdUJBSXpEO0FBRUQ7O0dBRUc7QUFDSCxLQUFLLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FDdEIsR0FBRyxFQUFFLE1BQU0sRUFDWCxNQUFNLEVBQUUsTUFBTSxLQUNYO0lBQ0g7O09BRUc7SUFDSCxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ1I7O09BRUc7SUFDSCxHQUFHLEVBQUUsTUFBTSxDQUFDO0NBQ2IsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsd0JBQWdCLDBCQUEwQixDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFJOzs7RUFXdEc7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixhQUFhLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLFNBQUksdUJBSXREO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQUk7OztFQUd2RDtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsMkJBU3RFIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/crypto/serialize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,uBAIzD;AAED;;GAEG;AACH,KAAK,aAAa,CAAC,CAAC,IAAI,CACtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,KACX;IACH;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAI;;;EAWtG;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,uBAItD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI;;;EAGvD;AAED,wBAAgB,sBAAsB,CAAC,kBAAkB,EAAE,UAAU,EAAE,2BAStE"}
|