@aztec/foundation 0.0.1-commit.f2ce05ee → 0.0.1-commit.f5a9928
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/sorted_array.d.ts +6 -1
- package/dest/array/sorted_array.d.ts.map +1 -1
- package/dest/array/sorted_array.js +18 -15
- 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 +3 -3
- package/dest/branded-types/block_number.d.ts.map +1 -1
- package/dest/branded-types/block_number.js +15 -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 +9 -3
- package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
- package/dest/branded-types/checkpoint_number.js +11 -0
- 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 +2 -1
- package/dest/branded-types/index.d.ts.map +1 -1
- package/dest/branded-types/index.js +1 -0
- package/dest/branded-types/index_within_checkpoint.d.ts +2 -2
- package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -1
- 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 +3 -1
- package/dest/buffer/buffer16.d.ts.map +1 -1
- package/dest/buffer/buffer32.d.ts +28 -61
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +29 -63
- 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 +11 -1
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +33 -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 +67 -37
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +86 -70
- package/dest/config/network_config.d.ts +15 -41
- package/dest/config/network_config.d.ts.map +1 -1
- package/dest/config/network_config.js +4 -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/secret_value.d.ts +2 -2
- package/dest/config/secret_value.d.ts.map +1 -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 +22 -34
- package/dest/crypto/poseidon/index.d.ts +1 -1
- package/dest/crypto/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.js +40 -33
- package/dest/crypto/schnorr/index.d.ts +8 -7
- package/dest/crypto/schnorr/index.d.ts.map +1 -1
- package/dest/crypto/schnorr/index.js +6 -6
- package/dest/crypto/schnorr/signature.d.ts +9 -29
- package/dest/crypto/schnorr/signature.d.ts.map +1 -1
- package/dest/crypto/schnorr/signature.js +20 -36
- 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/curves/bls12/field.d.ts +3 -3
- package/dest/curves/bls12/field.d.ts.map +1 -1
- package/dest/curves/bls12/field.js +0 -5
- package/dest/curves/bls12/point.d.ts +2 -2
- package/dest/curves/bls12/point.d.ts.map +1 -1
- package/dest/curves/bn254/field.d.ts +24 -19
- package/dest/curves/bn254/field.d.ts.map +1 -1
- package/dest/curves/bn254/field.js +28 -19
- package/dest/curves/grumpkin/point.d.ts +14 -28
- package/dest/curves/grumpkin/point.d.ts.map +1 -1
- package/dest/curves/grumpkin/point.js +29 -43
- package/dest/eth-address/index.d.ts +2 -2
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +0 -3
- package/dest/eth-signature/eth_signature.d.ts +3 -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 +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/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/iterable/first.d.ts +8 -0
- package/dest/iterable/first.d.ts.map +1 -0
- package/dest/iterable/first.js +11 -0
- package/dest/iterable/index.d.ts +2 -1
- package/dest/iterable/index.d.ts.map +1 -1
- package/dest/iterable/index.js +1 -0
- package/dest/jest/setup.js +24 -0
- package/dest/json-rpc/client/fetch.d.ts +8 -3
- package/dest/json-rpc/client/fetch.d.ts.map +1 -1
- package/dest/json-rpc/client/fetch.js +11 -7
- 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 +14 -3
- package/dest/json-rpc/client/undici.d.ts.map +1 -1
- package/dest/json-rpc/client/undici.js +47 -14
- 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 +49 -11
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.js +159 -40
- package/dest/log/aws-logger-config.d.ts +8 -0
- package/dest/log/aws-logger-config.d.ts.map +1 -0
- package/dest/log/aws-logger-config.js +55 -0
- 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/pino-logger.d.ts +1 -1
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/log/pino-logger.js +31 -6
- 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 +8 -2
- package/dest/promise/running-promise.d.ts.map +1 -1
- package/dest/promise/running-promise.js +17 -5
- package/dest/promise/utils.d.ts +14 -1
- package/dest/promise/utils.d.ts.map +1 -1
- package/dest/promise/utils.js +20 -0
- 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/retry/index.d.ts +31 -3
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +44 -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 +15 -15
- package/dest/schemas/types.d.ts +3 -3
- package/dest/schemas/types.d.ts.map +1 -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 +8 -1
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +18 -0
- 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/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 +19 -32
- package/dest/serialize/serialize.d.ts.map +1 -1
- package/dest/serialize/serialize.js +31 -21
- package/dest/sleep/index.d.ts +2 -1
- package/dest/sleep/index.d.ts.map +1 -1
- package/dest/sleep/index.js +10 -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 +3 -1
- package/dest/timer/date.d.ts.map +1 -1
- package/dest/timer/date.js +4 -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 +2 -3
- package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -1
- package/dest/trees/balanced_merkle_tree_root.js +2 -3
- package/dest/trees/hasher.d.ts +3 -2
- package/dest/trees/hasher.d.ts.map +1 -1
- package/dest/trees/hasher.js +5 -5
- 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 +2 -6
- package/dest/trees/membership_witness.d.ts.map +1 -1
- package/dest/trees/membership_witness.js +0 -9
- 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 +13 -14
- package/dest/trees/sibling_path.d.ts.map +1 -1
- package/dest/trees/sibling_path.js +23 -28
- package/dest/trees/unbalanced_merkle_tree_root.d.ts +2 -3
- package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree_root.js +2 -3
- package/dest/types/index.d.ts +23 -1
- package/dest/types/index.d.ts.map +1 -1
- package/dest/types/index.js +15 -0
- package/package.json +6 -4
- package/src/array/sorted_array.ts +22 -17
- package/src/bigint-buffer/index.ts +6 -1
- package/src/branded-types/block_number.ts +20 -2
- package/src/branded-types/buffer32_hash.ts +38 -0
- package/src/branded-types/checkpoint_number.ts +16 -1
- package/src/branded-types/epoch.ts +1 -1
- package/src/branded-types/index.ts +1 -0
- package/src/branded-types/index_within_checkpoint.ts +1 -1
- package/src/branded-types/slot.ts +6 -1
- package/src/buffer/buffer16.ts +3 -0
- package/src/buffer/buffer32.ts +39 -68
- package/src/buffer/index.ts +1 -0
- package/src/buffer/utils.ts +8 -0
- package/src/collection/array.ts +34 -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 +85 -23
- package/src/config/index.ts +157 -121
- package/src/config/network_config.ts +3 -0
- package/src/config/network_name.ts +6 -6
- package/src/config/secret_value.ts +1 -1
- package/src/crypto/aes128/index.ts +11 -2
- package/src/crypto/bls/bn254_keystore.ts +33 -43
- package/src/crypto/poseidon/index.ts +42 -34
- package/src/crypto/schnorr/index.ts +9 -8
- package/src/crypto/schnorr/signature.ts +17 -46
- package/src/crypto/secp256k1-signer/utils.ts +32 -0
- package/src/curves/bls12/field.ts +0 -7
- package/src/curves/bn254/field.ts +41 -36
- package/src/curves/grumpkin/point.ts +23 -40
- package/src/eth-address/index.ts +0 -4
- 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/fifo_set/fifo_set.ts +52 -0
- package/src/fifo_set/index.ts +1 -0
- package/src/iterable/first.ts +14 -0
- package/src/iterable/index.ts +1 -0
- package/src/jest/setup.mjs +27 -0
- package/src/json-rpc/client/fetch.ts +19 -5
- package/src/json-rpc/client/safe_json_rpc_client.ts +4 -2
- package/src/json-rpc/client/undici.ts +54 -12
- 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 +204 -47
- package/src/log/aws-logger-config.ts +32 -0
- package/src/log/bigint-utils.ts +25 -0
- package/src/log/gcloud-logger-config.ts +5 -0
- package/src/log/pino-logger.ts +37 -6
- package/src/noir/noir_package_config.ts +32 -20
- package/src/promise/running-promise.ts +20 -7
- package/src/promise/utils.ts +31 -0
- package/src/queue/base_memory_queue.ts +1 -1
- package/src/queue/batch_queue.ts +1 -0
- package/src/retry/index.ts +66 -4
- package/src/schemas/api.ts +25 -25
- package/src/schemas/parse.ts +9 -6
- package/src/schemas/schemas.ts +4 -4
- package/src/schemas/types.ts +2 -2
- package/src/schemas/utils.ts +4 -38
- package/src/serialize/buffer_reader.ts +20 -0
- package/src/serialize/buffer_sink.ts +350 -0
- package/src/serialize/index.ts +1 -0
- package/src/serialize/serialize.ts +32 -50
- package/src/sleep/index.ts +10 -1
- package/src/string/index.ts +1 -1
- package/src/testing/files/index.ts +1 -2
- package/src/timer/date.ts +6 -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_root.ts +2 -5
- package/src/trees/hasher.ts +6 -3
- package/src/trees/indexed_merkle_tree_calculator.ts +5 -1
- package/src/trees/membership_witness.ts +0 -8
- package/src/trees/merkle_tree_calculator.ts +4 -10
- package/src/trees/sibling_path.ts +24 -30
- package/src/trees/unbalanced_merkle_tree_root.ts +2 -5
- package/src/types/index.ts +47 -0
- 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/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/src/crypto/serialize.ts +0 -85
- package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
|
@@ -1,54 +1,28 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const NetworkConfigSchema: z.ZodObject<{
|
|
3
|
-
bootnodes: z.ZodArray<z.ZodString
|
|
4
|
-
snapshots: z.ZodArray<z.ZodString
|
|
5
|
-
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString
|
|
3
|
+
bootnodes: z.ZodArray<z.ZodString>;
|
|
4
|
+
snapshots: z.ZodArray<z.ZodString>;
|
|
5
|
+
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6
|
+
txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6
7
|
registryAddress: z.ZodString;
|
|
7
8
|
feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
|
|
8
9
|
l1ChainId: z.ZodNumber;
|
|
9
10
|
blockDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
14
|
-
registryAddress: z.ZodString;
|
|
15
|
-
feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
|
|
16
|
-
l1ChainId: z.ZodNumber;
|
|
17
|
-
blockDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
18
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
19
|
-
bootnodes: z.ZodArray<z.ZodString, "many">;
|
|
20
|
-
snapshots: z.ZodArray<z.ZodString, "many">;
|
|
21
|
-
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
22
|
-
registryAddress: z.ZodString;
|
|
23
|
-
feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
|
|
24
|
-
l1ChainId: z.ZodNumber;
|
|
25
|
-
blockDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
26
|
-
}, z.ZodTypeAny, "passthrough">>;
|
|
11
|
+
txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
|
|
12
|
+
nodeVersion: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, z.core.$loose>;
|
|
27
14
|
export declare const NetworkConfigMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
28
|
-
bootnodes: z.ZodArray<z.ZodString
|
|
29
|
-
snapshots: z.ZodArray<z.ZodString
|
|
30
|
-
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString
|
|
31
|
-
|
|
32
|
-
feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
|
|
33
|
-
l1ChainId: z.ZodNumber;
|
|
34
|
-
blockDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
35
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
36
|
-
bootnodes: z.ZodArray<z.ZodString, "many">;
|
|
37
|
-
snapshots: z.ZodArray<z.ZodString, "many">;
|
|
38
|
-
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
39
|
-
registryAddress: z.ZodString;
|
|
40
|
-
feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
|
|
41
|
-
l1ChainId: z.ZodNumber;
|
|
42
|
-
blockDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
43
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
44
|
-
bootnodes: z.ZodArray<z.ZodString, "many">;
|
|
45
|
-
snapshots: z.ZodArray<z.ZodString, "many">;
|
|
46
|
-
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
15
|
+
bootnodes: z.ZodArray<z.ZodString>;
|
|
16
|
+
snapshots: z.ZodArray<z.ZodString>;
|
|
17
|
+
blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
18
|
+
txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
47
19
|
registryAddress: z.ZodString;
|
|
48
20
|
feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
|
|
49
21
|
l1ChainId: z.ZodNumber;
|
|
50
22
|
blockDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
51
|
-
|
|
23
|
+
txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
|
|
24
|
+
nodeVersion: z.ZodOptional<z.ZodString>;
|
|
25
|
+
}, z.core.$loose>>;
|
|
52
26
|
export type NetworkConfig = z.infer<typeof NetworkConfigSchema>;
|
|
53
27
|
export type NetworkConfigMap = z.infer<typeof NetworkConfigMapSchema>;
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixlQUFPLE1BQU0sbUJBQW1COzs7Ozs7Ozs7OztpQkFhaEIsQ0FBQztBQUVqQixlQUFPLE1BQU0sc0JBQXNCOzs7Ozs7Ozs7OztrQkFBNEMsQ0FBQztBQUVoRixNQUFNLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ2hFLE1BQU0sTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sc0JBQXNCLENBQUMsQ0FBQyJ9
|
|
@@ -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;;;;;;;;;;;iBAahB,CAAC;AAEjB,eAAO,MAAM,sBAAsB;;;;;;;;;;;kBAA4C,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"}
|
|
@@ -3,9 +3,12 @@ export const NetworkConfigSchema = z.object({
|
|
|
3
3
|
bootnodes: z.array(z.string()),
|
|
4
4
|
snapshots: z.array(z.string()),
|
|
5
5
|
blobFileStoreUrls: z.array(z.string()).optional(),
|
|
6
|
+
txCollectionFileStoreUrls: z.array(z.string()).optional(),
|
|
6
7
|
registryAddress: z.string(),
|
|
7
8
|
feeAssetHandlerAddress: z.string().optional(),
|
|
8
9
|
l1ChainId: z.number(),
|
|
9
|
-
blockDurationMs: z.number().positive().optional()
|
|
10
|
+
blockDurationMs: z.number().positive().optional(),
|
|
11
|
+
txPublicSetupAllowListExtend: z.string().optional(),
|
|
12
|
+
nodeVersion: z.string().optional()
|
|
10
13
|
}).passthrough(); // Allow additional unknown fields to pass through
|
|
11
14
|
export const NetworkConfigMapSchema = z.record(z.string(), NetworkConfigSchema);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type NetworkNames = 'local' | 'staging
|
|
1
|
+
export type NetworkNames = 'local' | 'staging' | '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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19uYW1lLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL25ldHdvcmtfbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE1BQU0sWUFBWSxHQUNwQixPQUFPLEdBQ1AsU0FBUyxHQUNULFNBQVMsR0FDVCxTQUFTLEdBQ1QsVUFBVSxHQUNWLFFBQVEsR0FDUixJQUFJLE1BQU0sV0FBVyxNQUFNLEVBQUUsQ0FBQztBQUVsQyx3QkFBZ0Isb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxHQUFHLFlBQVksQ0FrQmhFIn0=
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"network_name.d.ts","sourceRoot":"","sources":["../../src/config/network_name.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,UAAU,GACV,QAAQ,GACR,IAAI,MAAM,WAAW,MAAM,EAAE,CAAC;AAElC,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAkBhE"}
|
|
@@ -2,9 +2,7 @@ export function getActiveNetworkName(name) {
|
|
|
2
2
|
const network = name || process.env.NETWORK;
|
|
3
3
|
if (!network || network === '' || network === 'local') {
|
|
4
4
|
return 'local';
|
|
5
|
-
} else if (network === 'staging
|
|
6
|
-
return network;
|
|
7
|
-
} else if (network === 'staging-public') {
|
|
5
|
+
} else if (network === 'staging') {
|
|
8
6
|
return network;
|
|
9
7
|
} else if (network === 'testnet' || network === 'alpha-testnet') {
|
|
10
8
|
return 'testnet';
|
|
@@ -14,6 +12,8 @@ export function getActiveNetworkName(name) {
|
|
|
14
12
|
return 'next-net';
|
|
15
13
|
} else if (network === 'devnet') {
|
|
16
14
|
return 'devnet';
|
|
15
|
+
} else if (/^v\d+-devnet-\d+$/.test(network)) {
|
|
16
|
+
return network;
|
|
17
17
|
}
|
|
18
18
|
throw new Error(`Unknown network: ${network}`);
|
|
19
19
|
}
|
|
@@ -23,6 +23,6 @@ export declare class SecretValue<T> {
|
|
|
23
23
|
/**
|
|
24
24
|
* Returns a Zod schema
|
|
25
25
|
*/
|
|
26
|
-
static schema<O>(valueSchema: ZodType<O, any
|
|
26
|
+
static schema<O>(valueSchema: ZodType<O, any>): ZodType<SecretValue<O>, any>;
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0X3ZhbHVlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3NlY3JldF92YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEtBQUssQ0FBQztBQUVuQzs7R0FFRztBQUNILHFCQUFhLFdBQVcsQ0FBQyxDQUFDOztJQU10QixPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWE7SUFGaEMsWUFDRSxLQUFLLEVBQUUsQ0FBQyxFQUNTLGFBQWEsU0FBZSxFQUc5QztJQUVEOztPQUVHO0lBQ0ksUUFBUSxJQUFJLENBQUMsQ0FFbkI7SUFFRDs7T0FFRztJQUNJLFFBQVEsSUFBSSxNQUFNLENBRXhCO0lBRUQ7O09BRUc7SUFDSSxNQUFNLElBQUksTUFBTSxDQUV0QjtJQUVNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUV0QjtJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FFM0U7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret_value.d.ts","sourceRoot":"","sources":["../../src/config/secret_value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC;;IAMtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAFhC,YACE,KAAK,EAAE,CAAC,EACS,aAAa,SAAe,EAG9C;IAED;;OAEG;IACI,QAAQ,IAAI,CAAC,CAEnB;IAED;;OAEG;IACI,QAAQ,IAAI,MAAM,CAExB;IAED;;OAEG;IACI,MAAM,IAAI,MAAM,CAEtB;IAEM,CAAC,OAAO,CAAC,MAAM,CAAC,WAEtB;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"secret_value.d.ts","sourceRoot":"","sources":["../../src/config/secret_value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC;;IAMtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAFhC,YACE,KAAK,EAAE,CAAC,EACS,aAAa,SAAe,EAG9C;IAED;;OAEG;IACI,QAAQ,IAAI,CAAC,CAEnB;IAED;;OAEG;IACI,QAAQ,IAAI,MAAM,CAExB;IAED;;OAEG;IACI,MAAM,IAAI,MAAM,CAEtB;IAEM,CAAC,OAAO,CAAC,MAAM,CAAC,WAEtB;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAE3E;CACF"}
|
|
@@ -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
|
}
|
|
@@ -20,186 +20,28 @@ declare const bn254KeystoreSchema: z.ZodObject<{
|
|
|
20
20
|
c: z.ZodNumber;
|
|
21
21
|
prf: z.ZodString;
|
|
22
22
|
salt: z.ZodString;
|
|
23
|
-
},
|
|
24
|
-
dklen: number;
|
|
25
|
-
c: number;
|
|
26
|
-
prf: string;
|
|
27
|
-
salt: string;
|
|
28
|
-
}, {
|
|
29
|
-
dklen: number;
|
|
30
|
-
c: number;
|
|
31
|
-
prf: string;
|
|
32
|
-
salt: string;
|
|
33
|
-
}>;
|
|
23
|
+
}, z.core.$strip>;
|
|
34
24
|
message: z.ZodString;
|
|
35
|
-
},
|
|
36
|
-
function: "pbkdf2";
|
|
37
|
-
params: {
|
|
38
|
-
dklen: number;
|
|
39
|
-
c: number;
|
|
40
|
-
prf: string;
|
|
41
|
-
salt: string;
|
|
42
|
-
};
|
|
43
|
-
message: string;
|
|
44
|
-
}, {
|
|
45
|
-
function: "pbkdf2";
|
|
46
|
-
params: {
|
|
47
|
-
dklen: number;
|
|
48
|
-
c: number;
|
|
49
|
-
prf: string;
|
|
50
|
-
salt: string;
|
|
51
|
-
};
|
|
52
|
-
message: string;
|
|
53
|
-
}>;
|
|
25
|
+
}, z.core.$strip>;
|
|
54
26
|
checksum: z.ZodObject<{
|
|
55
27
|
function: z.ZodLiteral<"sha256">;
|
|
56
|
-
params: z.ZodObject<{},
|
|
28
|
+
params: z.ZodObject<{}, z.core.$strip>;
|
|
57
29
|
message: z.ZodString;
|
|
58
|
-
},
|
|
59
|
-
function: "sha256";
|
|
60
|
-
params: {};
|
|
61
|
-
message: string;
|
|
62
|
-
}, {
|
|
63
|
-
function: "sha256";
|
|
64
|
-
params: {};
|
|
65
|
-
message: string;
|
|
66
|
-
}>;
|
|
30
|
+
}, z.core.$strip>;
|
|
67
31
|
cipher: z.ZodObject<{
|
|
68
32
|
function: z.ZodLiteral<"aes-128-ctr">;
|
|
69
33
|
params: z.ZodObject<{
|
|
70
34
|
iv: z.ZodString;
|
|
71
|
-
},
|
|
72
|
-
iv: string;
|
|
73
|
-
}, {
|
|
74
|
-
iv: string;
|
|
75
|
-
}>;
|
|
35
|
+
}, z.core.$strip>;
|
|
76
36
|
message: z.ZodString;
|
|
77
|
-
},
|
|
78
|
-
|
|
79
|
-
params: {
|
|
80
|
-
iv: string;
|
|
81
|
-
};
|
|
82
|
-
message: string;
|
|
83
|
-
}, {
|
|
84
|
-
function: "aes-128-ctr";
|
|
85
|
-
params: {
|
|
86
|
-
iv: string;
|
|
87
|
-
};
|
|
88
|
-
message: string;
|
|
89
|
-
}>;
|
|
90
|
-
}, "strip", z.ZodTypeAny, {
|
|
91
|
-
kdf: {
|
|
92
|
-
function: "pbkdf2";
|
|
93
|
-
params: {
|
|
94
|
-
dklen: number;
|
|
95
|
-
c: number;
|
|
96
|
-
prf: string;
|
|
97
|
-
salt: string;
|
|
98
|
-
};
|
|
99
|
-
message: string;
|
|
100
|
-
};
|
|
101
|
-
checksum: {
|
|
102
|
-
function: "sha256";
|
|
103
|
-
params: {};
|
|
104
|
-
message: string;
|
|
105
|
-
};
|
|
106
|
-
cipher: {
|
|
107
|
-
function: "aes-128-ctr";
|
|
108
|
-
params: {
|
|
109
|
-
iv: string;
|
|
110
|
-
};
|
|
111
|
-
message: string;
|
|
112
|
-
};
|
|
113
|
-
}, {
|
|
114
|
-
kdf: {
|
|
115
|
-
function: "pbkdf2";
|
|
116
|
-
params: {
|
|
117
|
-
dklen: number;
|
|
118
|
-
c: number;
|
|
119
|
-
prf: string;
|
|
120
|
-
salt: string;
|
|
121
|
-
};
|
|
122
|
-
message: string;
|
|
123
|
-
};
|
|
124
|
-
checksum: {
|
|
125
|
-
function: "sha256";
|
|
126
|
-
params: {};
|
|
127
|
-
message: string;
|
|
128
|
-
};
|
|
129
|
-
cipher: {
|
|
130
|
-
function: "aes-128-ctr";
|
|
131
|
-
params: {
|
|
132
|
-
iv: string;
|
|
133
|
-
};
|
|
134
|
-
message: string;
|
|
135
|
-
};
|
|
136
|
-
}>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
}, z.core.$strip>;
|
|
137
39
|
description: z.ZodOptional<z.ZodString>;
|
|
138
40
|
pubkey: z.ZodString;
|
|
139
41
|
path: z.ZodString;
|
|
140
42
|
uuid: z.ZodString;
|
|
141
43
|
version: z.ZodNumber;
|
|
142
|
-
},
|
|
143
|
-
crypto: {
|
|
144
|
-
kdf: {
|
|
145
|
-
function: "pbkdf2";
|
|
146
|
-
params: {
|
|
147
|
-
dklen: number;
|
|
148
|
-
c: number;
|
|
149
|
-
prf: string;
|
|
150
|
-
salt: string;
|
|
151
|
-
};
|
|
152
|
-
message: string;
|
|
153
|
-
};
|
|
154
|
-
checksum: {
|
|
155
|
-
function: "sha256";
|
|
156
|
-
params: {};
|
|
157
|
-
message: string;
|
|
158
|
-
};
|
|
159
|
-
cipher: {
|
|
160
|
-
function: "aes-128-ctr";
|
|
161
|
-
params: {
|
|
162
|
-
iv: string;
|
|
163
|
-
};
|
|
164
|
-
message: string;
|
|
165
|
-
};
|
|
166
|
-
};
|
|
167
|
-
description?: string | undefined;
|
|
168
|
-
pubkey: string;
|
|
169
|
-
path: string;
|
|
170
|
-
uuid: string;
|
|
171
|
-
version: number;
|
|
172
|
-
}, {
|
|
173
|
-
crypto: {
|
|
174
|
-
kdf: {
|
|
175
|
-
function: "pbkdf2";
|
|
176
|
-
params: {
|
|
177
|
-
dklen: number;
|
|
178
|
-
c: number;
|
|
179
|
-
prf: string;
|
|
180
|
-
salt: string;
|
|
181
|
-
};
|
|
182
|
-
message: string;
|
|
183
|
-
};
|
|
184
|
-
checksum: {
|
|
185
|
-
function: "sha256";
|
|
186
|
-
params: {};
|
|
187
|
-
message: string;
|
|
188
|
-
};
|
|
189
|
-
cipher: {
|
|
190
|
-
function: "aes-128-ctr";
|
|
191
|
-
params: {
|
|
192
|
-
iv: string;
|
|
193
|
-
};
|
|
194
|
-
message: string;
|
|
195
|
-
};
|
|
196
|
-
};
|
|
197
|
-
description?: string | undefined;
|
|
198
|
-
pubkey: string;
|
|
199
|
-
path: string;
|
|
200
|
-
uuid: string;
|
|
201
|
-
version: number;
|
|
202
|
-
}>;
|
|
44
|
+
}, z.core.$strip>;
|
|
203
45
|
/**
|
|
204
46
|
* Error thrown when BN254 keystore operations fail
|
|
205
47
|
*/
|
|
@@ -256,7 +98,7 @@ export interface Bn254KeystoreInterface {
|
|
|
256
98
|
* @returns BN254 keystore object ready to be serialized to JSON
|
|
257
99
|
* @throws Error if private key is not 32-byte hex
|
|
258
100
|
*/
|
|
259
|
-
export declare function createBn254Keystore(password: string, privateKeyHex: string, pubkeyHex: string, derivationPath: string): Bn254Keystore
|
|
101
|
+
export declare function createBn254Keystore(password: string, privateKeyHex: string, pubkeyHex: string, derivationPath: string): Promise<Bn254Keystore>;
|
|
260
102
|
/**
|
|
261
103
|
* Loads and validates a BN254 keystore file.
|
|
262
104
|
*
|
|
@@ -283,14 +125,5 @@ export declare function decryptBn254Keystore(filePath: string, password: string)
|
|
|
283
125
|
* @throws Bn254KeystoreError if decryption fails or checksum is invalid
|
|
284
126
|
*/
|
|
285
127
|
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
128
|
export {};
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm4yNTRfa2V5c3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vYmxzL2JuMjU0X2tleXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEI7Ozs7Ozs7O0dBUUc7QUFFSDs7R0FFRztBQUNILFFBQUEsTUFBTSxtQkFBbUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQkE4QnZCLENBQUM7QUFFSDs7R0FFRztBQUNILHFCQUFhLGtCQUFtQixTQUFRLEtBQUs7SUFHekIsS0FBSyxDQUFDO0lBRnhCLFlBQ0UsT0FBTyxFQUFFLE1BQU0sRUFDQyxLQUFLLENBQUMsbUJBQU8sRUFJOUI7Q0FDRjtBQUVELE1BQU0sTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLG1CQUFtQixDQUFDLENBQUM7QUFFaEU7OztHQUdHO0FBQ0gsTUFBTSxXQUFXLHNCQUFzQjtJQUNyQyxNQUFNLEVBQUU7UUFDTixHQUFHLEVBQUU7WUFDSCxRQUFRLEVBQUUsUUFBUSxDQUFDO1lBQ25CLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsTUFBTSxDQUFDO2dCQUNkLENBQUMsRUFBRSxNQUFNLENBQUM7Z0JBQ1YsR0FBRyxFQUFFLE1BQU0sQ0FBQztnQkFDWixJQUFJLEVBQUUsTUFBTSxDQUFDO2FBQ2QsQ0FBQztZQUNGLE9BQU8sRUFBRSxNQUFNLENBQUM7U0FDakIsQ0FBQztRQUNGLFFBQVEsRUFBRTtZQUNSLFFBQVEsRUFBRSxRQUFRLENBQUM7WUFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUIsT0FBTyxFQUFFLE1BQU0sQ0FBQztTQUNqQixDQUFDO1FBQ0YsTUFBTSxFQUFFO1lBQ04sUUFBUSxFQUFFLGFBQWEsQ0FBQztZQUN4QixNQUFNLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLE1BQU0sQ0FBQzthQUNaLENBQUM7WUFDRixPQUFPLEVBQUUsTUFBTSxDQUFDO1NBQ2pCLENBQUM7S0FDSCxDQUFDO0lBQ0YsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixPQUFPLEVBQUUsTUFBTSxDQUFDO0NBQ2pCO0FBdUREOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHdCQUFzQixtQkFBbUIsQ0FDdkMsUUFBUSxFQUFFLE1BQU0sRUFDaEIsYUFBYSxFQUFFLE1BQU0sRUFDckIsU0FBUyxFQUFFLE1BQU0sRUFDakIsY0FBYyxFQUFFLE1BQU0sR0FDckIsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUt4QjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLGFBQWEsQ0FnQmpFO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILHdCQUFnQixvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUcvRTtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0IsOEJBQThCLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FpRGhHIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bn254_keystore.d.ts","sourceRoot":"","sources":["../../../src/crypto/bls/bn254_keystore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bn254_keystore.d.ts","sourceRoot":"","sources":["../../../src/crypto/bls/bn254_keystore.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AAEH;;GAEG;AACH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BvB,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;AAuDD;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,aAAa,CAAC,CAKxB;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,6 +1,7 @@
|
|
|
1
1
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
2
|
-
import { createCipheriv, createDecipheriv, createHash, pbkdf2Sync, randomUUID } from 'crypto';
|
|
2
|
+
import { createCipheriv, createDecipheriv, createHash, pbkdf2, pbkdf2Sync, randomUUID } from 'crypto';
|
|
3
3
|
import { readFileSync } from 'fs';
|
|
4
|
+
import { promisify } from 'util';
|
|
4
5
|
import { z } from 'zod';
|
|
5
6
|
/**
|
|
6
7
|
* BN254 Keystore Format
|
|
@@ -52,27 +53,13 @@ import { z } from 'zod';
|
|
|
52
53
|
this.name = 'Bn254KeystoreError';
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
*
|
|
58
|
-
* Uses PBKDF2 with SHA-256 for key derivation and AES-128-CTR for encryption,
|
|
59
|
-
* following the EIP-2335 specification format.
|
|
60
|
-
*
|
|
61
|
-
* @param password - Password for encrypting the private key
|
|
62
|
-
* @param privateKeyHex - Private key as 0x-prefixed hex string (32 bytes)
|
|
63
|
-
* @param pubkeyHex - Public key as hex string (compressed or uncompressed)
|
|
64
|
-
* @param derivationPath - BIP-44 style derivation path (e.g., "m/12381/3600/0/0/0")
|
|
65
|
-
* @returns BN254 keystore object ready to be serialized to JSON
|
|
66
|
-
* @throws Error if private key is not 32-byte hex
|
|
67
|
-
*/ export function createBn254Keystore(password, privateKeyHex, pubkeyHex, derivationPath) {
|
|
56
|
+
const pbkdf2Async = promisify(pbkdf2);
|
|
57
|
+
function createBn254KeystoreFromDerivedKey(privateKeyHex, pubkeyHex, derivationPath, salt, iv, dk) {
|
|
68
58
|
const ensureHex = (hex)=>hex.replace(/^0x/i, '');
|
|
69
59
|
const privHex = ensureHex(privateKeyHex);
|
|
70
60
|
if (!/^[0-9a-fA-F]{64}$/.test(privHex)) {
|
|
71
61
|
throw new Error('BLS private key must be 32-byte hex');
|
|
72
62
|
}
|
|
73
|
-
const salt = randomBytes(32);
|
|
74
|
-
const iv = randomBytes(16);
|
|
75
|
-
const dk = pbkdf2Sync(Buffer.from(password.normalize('NFKD'), 'utf8'), salt, 262144, 32, 'sha256');
|
|
76
63
|
const cipherKey = dk.subarray(0, 16);
|
|
77
64
|
const cipher = createCipheriv('aes-128-ctr', cipherKey, iv);
|
|
78
65
|
const plaintext = Buffer.from(privHex, 'hex');
|
|
@@ -117,6 +104,24 @@ import { z } from 'zod';
|
|
|
117
104
|
version: 4
|
|
118
105
|
};
|
|
119
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Creates a BN254 keystore object for a BN254 BLS private key.
|
|
109
|
+
*
|
|
110
|
+
* Uses PBKDF2 with SHA-256 for key derivation and AES-128-CTR for encryption,
|
|
111
|
+
* following the EIP-2335 specification format.
|
|
112
|
+
*
|
|
113
|
+
* @param password - Password for encrypting the private key
|
|
114
|
+
* @param privateKeyHex - Private key as 0x-prefixed hex string (32 bytes)
|
|
115
|
+
* @param pubkeyHex - Public key as hex string (compressed or uncompressed)
|
|
116
|
+
* @param derivationPath - BIP-44 style derivation path (e.g., "m/12381/3600/0/0/0")
|
|
117
|
+
* @returns BN254 keystore object ready to be serialized to JSON
|
|
118
|
+
* @throws Error if private key is not 32-byte hex
|
|
119
|
+
*/ export async function createBn254Keystore(password, privateKeyHex, pubkeyHex, derivationPath) {
|
|
120
|
+
const salt = randomBytes(32);
|
|
121
|
+
const iv = randomBytes(16);
|
|
122
|
+
const dk = await pbkdf2Async(Buffer.from(password.normalize('NFKD'), 'utf8'), salt, 262144, 32, 'sha256');
|
|
123
|
+
return createBn254KeystoreFromDerivedKey(privateKeyHex, pubkeyHex, derivationPath, salt, iv, dk);
|
|
124
|
+
}
|
|
120
125
|
/**
|
|
121
126
|
* Loads and validates a BN254 keystore file.
|
|
122
127
|
*
|
|
@@ -199,20 +204,3 @@ import { z } from 'zod';
|
|
|
199
204
|
throw new Bn254KeystoreError(`Failed to decrypt keystore: ${String(error)}`, error);
|
|
200
205
|
}
|
|
201
206
|
}
|
|
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
|
-
}
|
|
@@ -20,4 +20,4 @@ export declare function poseidon2HashWithSeparator(input: Fieldable[], separator
|
|
|
20
20
|
*/
|
|
21
21
|
export declare function poseidon2Permutation(input: Fieldable[]): Promise<Fr[]>;
|
|
22
22
|
export declare function poseidon2HashBytes(input: Buffer): Promise<Fr>;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcG9zZWlkb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQXNCakY7Ozs7R0FJRztBQUNILHdCQUFnQixhQUFhLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFN0Q7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQiwwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBSTdGO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFzQixvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBaUI1RTtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FZN0QifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAsBjF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAI7F;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAiB5E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAY7D"}
|
|
@@ -1,33 +1,40 @@
|
|
|
1
|
-
import { BarretenbergSync } from '@aztec/bb.js';
|
|
1
|
+
import { Barretenberg, BarretenbergSync } from '@aztec/bb.js';
|
|
2
2
|
import { Fr } from '../../curves/bn254/field.js';
|
|
3
3
|
import { serializeToFields } from '../../serialize/serialize.js';
|
|
4
|
+
const IS_BROWSER = typeof self !== 'undefined';
|
|
5
|
+
async function poseidon2HashFields(inputFields) {
|
|
6
|
+
if (IS_BROWSER) {
|
|
7
|
+
await BarretenbergSync.initSingleton();
|
|
8
|
+
const api = BarretenbergSync.getSingleton();
|
|
9
|
+
const response = api.poseidon2Hash({
|
|
10
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
11
|
+
});
|
|
12
|
+
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
13
|
+
} else {
|
|
14
|
+
await Barretenberg.initSingleton();
|
|
15
|
+
const api = Barretenberg.getSingleton();
|
|
16
|
+
const response = await api.poseidon2Hash({
|
|
17
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
18
|
+
});
|
|
19
|
+
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
4
22
|
/**
|
|
5
23
|
* Create a poseidon hash (field) from an array of input fields.
|
|
6
24
|
* @param input - The input fields to hash.
|
|
7
25
|
* @returns The poseidon hash.
|
|
8
|
-
*/ export
|
|
9
|
-
|
|
10
|
-
await BarretenbergSync.initSingleton();
|
|
11
|
-
const api = BarretenbergSync.getSingleton();
|
|
12
|
-
const response = api.poseidon2Hash({
|
|
13
|
-
inputs: inputFields.map((i)=>i.toBuffer())
|
|
14
|
-
});
|
|
15
|
-
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
26
|
+
*/ export function poseidon2Hash(input) {
|
|
27
|
+
return poseidon2HashFields(serializeToFields(input));
|
|
16
28
|
}
|
|
17
29
|
/**
|
|
18
30
|
* Create a poseidon hash (field) from an array of input fields and a domain separator.
|
|
19
31
|
* @param input - The input fields to hash.
|
|
20
32
|
* @param separator - The domain separator.
|
|
21
33
|
* @returns The poseidon hash.
|
|
22
|
-
*/ export
|
|
34
|
+
*/ export function poseidon2HashWithSeparator(input, separator) {
|
|
23
35
|
const inputFields = serializeToFields(input);
|
|
24
36
|
inputFields.unshift(new Fr(separator));
|
|
25
|
-
|
|
26
|
-
const api = BarretenbergSync.getSingleton();
|
|
27
|
-
const response = api.poseidon2Hash({
|
|
28
|
-
inputs: inputFields.map((i)=>i.toBuffer())
|
|
29
|
-
});
|
|
30
|
-
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
37
|
+
return poseidon2HashFields(inputFields);
|
|
31
38
|
}
|
|
32
39
|
/**
|
|
33
40
|
* Runs a Poseidon2 permutation.
|
|
@@ -35,18 +42,23 @@ import { serializeToFields } from '../../serialize/serialize.js';
|
|
|
35
42
|
* @returns the output state, size 4.
|
|
36
43
|
*/ export async function poseidon2Permutation(input) {
|
|
37
44
|
const inputFields = serializeToFields(input);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
if (IS_BROWSER) {
|
|
46
|
+
await BarretenbergSync.initSingleton();
|
|
47
|
+
const api = BarretenbergSync.getSingleton();
|
|
48
|
+
const response = api.poseidon2Permutation({
|
|
49
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
50
|
+
});
|
|
51
|
+
return response.outputs.map((o)=>Fr.fromBuffer(Buffer.from(o)));
|
|
52
|
+
} else {
|
|
53
|
+
await Barretenberg.initSingleton();
|
|
54
|
+
const api = Barretenberg.getSingleton();
|
|
55
|
+
const response = await api.poseidon2Permutation({
|
|
56
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
57
|
+
});
|
|
58
|
+
return response.outputs.map((o)=>Fr.fromBuffer(Buffer.from(o)));
|
|
59
|
+
}
|
|
48
60
|
}
|
|
49
|
-
export
|
|
61
|
+
export function poseidon2HashBytes(input) {
|
|
50
62
|
const inputFields = [];
|
|
51
63
|
for(let i = 0; i < input.length; i += 31){
|
|
52
64
|
const fieldBytes = Buffer.alloc(32, 0);
|
|
@@ -55,10 +67,5 @@ export async function poseidon2HashBytes(input) {
|
|
|
55
67
|
fieldBytes.reverse();
|
|
56
68
|
inputFields.push(Fr.fromBuffer(fieldBytes));
|
|
57
69
|
}
|
|
58
|
-
|
|
59
|
-
const api = BarretenbergSync.getSingleton();
|
|
60
|
-
const response = api.poseidon2Hash({
|
|
61
|
-
inputs: inputFields.map((i)=>i.toBuffer())
|
|
62
|
-
});
|
|
63
|
-
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
70
|
+
return poseidon2HashFields(inputFields);
|
|
64
71
|
}
|