@aztec/foundation 0.0.1-commit.e558bd1c → 0.0.1-commit.e57c76e
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 +47 -30
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +44 -44
- 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 +9 -176
- package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
- package/dest/crypto/bls/bn254_keystore.js +0 -17
- 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 +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/jest/setup.js +24 -0
- 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 +5 -3
- 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 +27 -13
- 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/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.d.ts +1 -1
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/log/pino-logger.js +23 -4
- 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/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 +12 -1
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +21 -0
- 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 +13 -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 -1
- package/dest/serialize/serialize.d.ts.map +1 -1
- package/dest/serialize/serialize.js +31 -0
- 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/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 -2
- package/dest/trees/membership_witness.d.ts.map +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 +5 -4
- package/dest/trees/sibling_path.d.ts.map +1 -1
- package/dest/trees/sibling_path.js +10 -8
- 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 +60 -22
- package/src/config/index.ts +116 -96
- 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 +0 -23
- 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 +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/jest/setup.mjs +27 -0
- 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 +5 -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 +31 -13
- package/src/log/bigint-utils.ts +25 -0
- package/src/log/gcloud-logger-config.ts +5 -0
- package/src/log/log-filters.ts +29 -11
- package/src/log/pino-logger.ts +25 -4
- package/src/noir/noir_package_config.ts +32 -20
- package/src/queue/base_memory_queue.ts +1 -1
- package/src/queue/batch_queue.ts +1 -0
- package/src/retry/index.ts +30 -0
- 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 +15 -0
- package/src/serialize/buffer_sink.ts +350 -0
- package/src/serialize/index.ts +1 -0
- package/src/serialize/serialize.ts +32 -0
- package/src/sleep/index.ts +10 -1
- package/src/string/index.ts +1 -1
- 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/merkle_tree_calculator.ts +4 -10
- package/src/trees/sibling_path.ts +11 -6
- 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
package/src/config/env_var.ts
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
export type EnvVar =
|
|
2
2
|
| 'REGISTRY_CONTRACT_ADDRESS'
|
|
3
3
|
| 'FEE_ASSET_HANDLER_CONTRACT_ADDRESS'
|
|
4
|
-
| 'SLASH_FACTORY_CONTRACT_ADDRESS'
|
|
5
4
|
| 'ACVM_BINARY_PATH'
|
|
6
5
|
| 'ACVM_WORKING_DIRECTORY'
|
|
7
6
|
| 'API_KEY'
|
|
8
7
|
| 'API_PREFIX'
|
|
9
|
-
| 'ARCHIVER_MAX_LOGS'
|
|
10
8
|
| 'ARCHIVER_POLLING_INTERVAL_MS'
|
|
9
|
+
| 'ARCHIVER_SKIP_HISTORICAL_LOGS_CHECK'
|
|
11
10
|
| 'ARCHIVER_URL'
|
|
12
11
|
| 'ARCHIVER_VIEM_POLLING_INTERVAL_MS'
|
|
13
12
|
| 'ARCHIVER_BATCH_SIZE'
|
|
13
|
+
| 'ARCHIVER_ORPHAN_PROPOSED_BLOCK_PRUNE_GRACE_SECONDS'
|
|
14
14
|
| 'AZTEC_ADMIN_PORT'
|
|
15
|
+
| 'AZTEC_NODE_DEBUG'
|
|
16
|
+
| 'AZTEC_ADMIN_API_KEY_HASH'
|
|
17
|
+
| 'AZTEC_DISABLE_ADMIN_API_KEY'
|
|
18
|
+
| 'AZTEC_RESET_ADMIN_API_KEY'
|
|
15
19
|
| 'AZTEC_NODE_ADMIN_URL'
|
|
16
20
|
| 'AZTEC_NODE_URL'
|
|
17
21
|
| 'AZTEC_PORT'
|
|
@@ -20,6 +24,9 @@ export type EnvVar =
|
|
|
20
24
|
| 'BB_WORKING_DIRECTORY'
|
|
21
25
|
| 'BB_NUM_IVC_VERIFIERS'
|
|
22
26
|
| 'BB_IVC_CONCURRENCY'
|
|
27
|
+
| 'BB_CHONK_VERIFY_MAX_BATCH'
|
|
28
|
+
| 'BB_CHONK_VERIFY_BATCH_CONCURRENCY'
|
|
29
|
+
| 'BB_DEBUG_OUTPUT_DIR'
|
|
23
30
|
| 'BOOTSTRAP_NODES'
|
|
24
31
|
| 'BLOB_ARCHIVE_API_URL'
|
|
25
32
|
| 'BLOB_FILE_STORE_URLS'
|
|
@@ -47,7 +54,10 @@ export type EnvVar =
|
|
|
47
54
|
| 'BOT_TX_MINED_WAIT_SECONDS'
|
|
48
55
|
| 'BOT_MAX_CONSECUTIVE_ERRORS'
|
|
49
56
|
| 'BOT_STOP_WHEN_UNHEALTHY'
|
|
50
|
-
| '
|
|
57
|
+
| 'BOT_MODE'
|
|
58
|
+
| 'BOT_L2_TO_L1_MESSAGES_PER_TX'
|
|
59
|
+
| 'BOT_L1_TO_L2_SEED_COUNT'
|
|
60
|
+
| 'BOT_L1_TO_L2_SEED_INTERVAL'
|
|
51
61
|
| 'COINBASE'
|
|
52
62
|
| 'CRS_PATH'
|
|
53
63
|
| 'DATA_DIRECTORY'
|
|
@@ -56,6 +66,7 @@ export type EnvVar =
|
|
|
56
66
|
| 'BLOB_SINK_MAP_SIZE_KB'
|
|
57
67
|
| 'P2P_STORE_MAP_SIZE_KB'
|
|
58
68
|
| 'PROVER_BROKER_STORE_MAP_SIZE_KB'
|
|
69
|
+
| 'SIGNING_PROTECTION_MAP_SIZE_KB'
|
|
59
70
|
| 'WS_DB_MAP_SIZE_KB'
|
|
60
71
|
| 'ARCHIVE_TREE_MAP_SIZE_KB'
|
|
61
72
|
| 'NULLIFIER_TREE_MAP_SIZE_KB'
|
|
@@ -64,6 +75,8 @@ export type EnvVar =
|
|
|
64
75
|
| 'PUBLIC_DATA_TREE_MAP_SIZE_KB'
|
|
65
76
|
| 'DEBUG'
|
|
66
77
|
| 'DEBUG_P2P_DISABLE_COLOCATION_PENALTY'
|
|
78
|
+
| 'ENABLE_PROVER_NODE'
|
|
79
|
+
| 'USE_AUTOMINE_SEQUENCER'
|
|
67
80
|
| 'ETHEREUM_HOSTS'
|
|
68
81
|
| 'ETHEREUM_DEBUG_HOSTS'
|
|
69
82
|
| 'ETHEREUM_ALLOW_NO_DEBUG_HOSTS'
|
|
@@ -73,8 +86,10 @@ export type EnvVar =
|
|
|
73
86
|
| 'KEY_STORE_DIRECTORY'
|
|
74
87
|
| 'L1_CHAIN_ID'
|
|
75
88
|
| 'L1_CONSENSUS_HOST_URLS'
|
|
89
|
+
| 'ETHEREUM_HTTP_TIMEOUT_MS'
|
|
76
90
|
| 'L1_CONSENSUS_HOST_API_KEYS'
|
|
77
91
|
| 'L1_CONSENSUS_HOST_API_KEY_HEADERS'
|
|
92
|
+
| 'L1_TX_FAILED_STORE'
|
|
78
93
|
| 'LOG_JSON'
|
|
79
94
|
| 'LOG_MULTILINE'
|
|
80
95
|
| 'LOG_NO_COLOR_PER_ACTOR'
|
|
@@ -82,14 +97,15 @@ export type EnvVar =
|
|
|
82
97
|
| 'MNEMONIC'
|
|
83
98
|
| 'NETWORK'
|
|
84
99
|
| 'NETWORK_CONFIG_LOCATION'
|
|
85
|
-
| 'NO_PXE'
|
|
86
100
|
| 'USE_GCLOUD_LOGGING'
|
|
87
101
|
| 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT'
|
|
88
102
|
| 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT'
|
|
89
103
|
| 'OTEL_EXPORTER_OTLP_LOGS_ENDPOINT'
|
|
90
104
|
| 'OTEL_COLLECT_INTERVAL_MS'
|
|
105
|
+
| 'OTEL_BSP_MAX_QUEUE_SIZE'
|
|
91
106
|
| 'OTEL_EXCLUDE_METRICS'
|
|
92
107
|
| 'OTEL_INCLUDE_METRICS'
|
|
108
|
+
| 'OTEL_MIN_TRACE_DURATION_MS'
|
|
93
109
|
| 'OTEL_EXPORT_TIMEOUT_MS'
|
|
94
110
|
| 'PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT'
|
|
95
111
|
| 'PUBLIC_OTEL_INCLUDE_METRICS'
|
|
@@ -100,6 +116,7 @@ export type EnvVar =
|
|
|
100
116
|
| 'P2P_BATCH_TX_REQUESTER_TX_BATCH_SIZE'
|
|
101
117
|
| 'P2P_BATCH_TX_REQUESTER_BAD_PEER_THRESHOLD'
|
|
102
118
|
| 'P2P_BLOCK_CHECK_INTERVAL_MS'
|
|
119
|
+
| 'P2P_SLOT_CHECK_INTERVAL_MS'
|
|
103
120
|
| 'P2P_BLOCK_REQUEST_BATCH_SIZE'
|
|
104
121
|
| 'P2P_BOOTSTRAP_NODE_ENR_VERSION_CHECK'
|
|
105
122
|
| 'P2P_BOOTSTRAP_NODES_AS_FULL_PEERS'
|
|
@@ -120,8 +137,10 @@ export type EnvVar =
|
|
|
120
137
|
| 'P2P_L2_QUEUE_SIZE'
|
|
121
138
|
| 'P2P_MAX_PEERS'
|
|
122
139
|
| 'P2P_PEER_CHECK_INTERVAL_MS'
|
|
140
|
+
| 'P2P_PEER_FAILED_BAN_TIME_MS'
|
|
123
141
|
| 'P2P_PEER_PENALTY_VALUES'
|
|
124
142
|
| 'P2P_QUERY_FOR_IP'
|
|
143
|
+
| 'P2P_PUBLIC_IP_SERVICES'
|
|
125
144
|
| 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS'
|
|
126
145
|
| 'P2P_REQRESP_DIAL_TIMEOUT_MS'
|
|
127
146
|
| 'P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS'
|
|
@@ -140,9 +159,12 @@ export type EnvVar =
|
|
|
140
159
|
| 'P2P_PREFERRED_PEERS'
|
|
141
160
|
| 'P2P_MAX_PENDING_TX_COUNT'
|
|
142
161
|
| 'P2P_SEEN_MSG_CACHE_SIZE'
|
|
143
|
-
| 'P2P_DROP_TX'
|
|
144
162
|
| 'P2P_DROP_TX_CHANCE'
|
|
145
163
|
| 'P2P_TX_POOL_DELETE_TXS_AFTER_REORG'
|
|
164
|
+
| 'P2P_MIN_TX_POOL_AGE_MS'
|
|
165
|
+
| 'P2P_MISSING_TX_COLLECTION_DEADLINE_SLOTS'
|
|
166
|
+
| 'P2P_RPC_PRICE_BUMP_PERCENTAGE'
|
|
167
|
+
| 'P2P_TX_VALIDATION_CACHE_SIZE'
|
|
146
168
|
| 'DEBUG_P2P_INSTRUMENT_MESSAGES'
|
|
147
169
|
| 'PEER_ID_PRIVATE_KEY'
|
|
148
170
|
| 'PEER_ID_PRIVATE_KEY_PATH'
|
|
@@ -158,6 +180,7 @@ export type EnvVar =
|
|
|
158
180
|
| 'PROVER_BROKER_MAX_EPOCHS_TO_KEEP_RESULTS_FOR'
|
|
159
181
|
| 'PROVER_BROKER_DEBUG_REPLAY_ENABLED'
|
|
160
182
|
| 'PROVER_CANCEL_JOBS_ON_STOP'
|
|
183
|
+
| 'PROVER_ENQUEUE_CONCURRENCY'
|
|
161
184
|
| 'PROVER_COORDINATION_NODE_URLS'
|
|
162
185
|
| 'PROVER_PROOF_STORE'
|
|
163
186
|
| 'PROVER_FAILED_PROOF_STORE'
|
|
@@ -181,6 +204,7 @@ export type EnvVar =
|
|
|
181
204
|
| 'PROVER_TEST_DELAY_MS'
|
|
182
205
|
| 'PROVER_TEST_DELAY_TYPE'
|
|
183
206
|
| 'PROVER_TEST_VERIFICATION_DELAY_MS'
|
|
207
|
+
| 'PXE_AUTO_SYNC'
|
|
184
208
|
| 'PXE_L2_BLOCK_BATCH_SIZE'
|
|
185
209
|
| 'PXE_PROVER_ENABLED'
|
|
186
210
|
| 'PXE_SYNC_CHAIN_TIP'
|
|
@@ -190,40 +214,49 @@ export type EnvVar =
|
|
|
190
214
|
| 'RPC_SIMULATE_PUBLIC_MAX_DEBUG_LOG_MEMORY_READS'
|
|
191
215
|
| 'SENTINEL_ENABLED'
|
|
192
216
|
| 'SENTINEL_HISTORY_LENGTH_IN_EPOCHS'
|
|
193
|
-
| '
|
|
194
|
-
| '
|
|
217
|
+
| 'SENTINEL_HISTORIC_EPOCH_PERFORMANCE_LENGTH_IN_EPOCHS'
|
|
218
|
+
| 'SENTINEL_EPOCH_END_BUFFER_SLOTS'
|
|
195
219
|
| 'SEQ_MAX_TX_PER_BLOCK'
|
|
220
|
+
| 'SEQ_MAX_TX_PER_CHECKPOINT'
|
|
196
221
|
| 'SEQ_MIN_TX_PER_BLOCK'
|
|
197
222
|
| 'SEQ_PUBLISH_TXS_WITH_PROPOSALS'
|
|
198
223
|
| 'SEQ_MAX_DA_BLOCK_GAS'
|
|
199
224
|
| 'SEQ_MAX_L2_BLOCK_GAS'
|
|
225
|
+
| 'SEQ_PER_BLOCK_ALLOCATION_MULTIPLIER'
|
|
226
|
+
| 'SEQ_REDISTRIBUTE_CHECKPOINT_BUDGET'
|
|
200
227
|
| 'SEQ_PUBLISHER_PRIVATE_KEY'
|
|
201
228
|
| 'SEQ_PUBLISHER_PRIVATE_KEYS'
|
|
202
229
|
| 'SEQ_PUBLISHER_ADDRESSES'
|
|
203
230
|
| 'SEQ_PUBLISHER_ALLOW_INVALID_STATES'
|
|
204
231
|
| 'SEQ_PUBLISHER_FORWARDER_ADDRESS'
|
|
232
|
+
| 'PUBLISHER_FUNDING_THRESHOLD'
|
|
233
|
+
| 'PUBLISHER_FUNDING_AMOUNT'
|
|
205
234
|
| 'SEQ_POLLING_INTERVAL_MS'
|
|
206
235
|
| 'SEQ_ENFORCE_TIME_TABLE'
|
|
207
236
|
| 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT'
|
|
208
237
|
| 'SEQ_ATTESTATION_PROPAGATION_TIME'
|
|
209
238
|
| 'SEQ_BLOCK_DURATION_MS'
|
|
239
|
+
| 'SEQ_LAST_BLOCK_DURATION_MS'
|
|
240
|
+
| 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT'
|
|
210
241
|
| 'SEQ_BUILD_CHECKPOINT_IF_EMPTY'
|
|
211
242
|
| 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_COMMITTEE_MEMBER'
|
|
212
243
|
| 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_NON_COMMITTEE_MEMBER'
|
|
213
|
-
| '
|
|
214
|
-
| 'SLASH_MAX_PENALTY_PERCENTAGE'
|
|
244
|
+
| 'SEQ_SKIP_CHECKPOINT_PUBLISH_PERCENT'
|
|
215
245
|
| 'SLASH_VALIDATORS_ALWAYS'
|
|
216
246
|
| 'SLASH_VALIDATORS_NEVER'
|
|
217
|
-
| 'SLASH_PRUNE_PENALTY'
|
|
218
247
|
| 'SLASH_DATA_WITHHOLDING_PENALTY'
|
|
248
|
+
| 'SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS'
|
|
219
249
|
| 'SLASH_INACTIVITY_PENALTY'
|
|
220
250
|
| 'SLASH_INACTIVITY_TARGET_PERCENTAGE'
|
|
221
251
|
| 'SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD'
|
|
222
252
|
| 'SLASH_INVALID_BLOCK_PENALTY'
|
|
253
|
+
| 'SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY'
|
|
223
254
|
| 'SLASH_DUPLICATE_PROPOSAL_PENALTY'
|
|
255
|
+
| 'SLASH_DUPLICATE_ATTESTATION_PENALTY'
|
|
224
256
|
| 'SLASH_OVERRIDE_PAYLOAD'
|
|
225
257
|
| 'SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY'
|
|
226
|
-
| '
|
|
258
|
+
| 'SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY'
|
|
259
|
+
| 'SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY'
|
|
227
260
|
| 'SLASH_UNKNOWN_PENALTY'
|
|
228
261
|
| 'SLASH_GRACE_PERIOD_L2_SLOTS'
|
|
229
262
|
| 'SLASH_OFFENSE_EXPIRATION_ROUNDS'
|
|
@@ -235,19 +268,19 @@ export type EnvVar =
|
|
|
235
268
|
| 'TELEMETRY'
|
|
236
269
|
| 'TEST_ACCOUNTS'
|
|
237
270
|
| 'SPONSORED_FPC'
|
|
271
|
+
| 'PREFUND_ADDRESSES'
|
|
238
272
|
| 'TX_COLLECTION_FAST_NODES_TIMEOUT_BEFORE_REQ_RESP_MS'
|
|
239
|
-
| 'TX_COLLECTION_SLOW_NODES_INTERVAL_MS'
|
|
240
|
-
| 'TX_COLLECTION_SLOW_REQ_RESP_INTERVAL_MS'
|
|
241
|
-
| 'TX_COLLECTION_SLOW_REQ_RESP_TIMEOUT_MS'
|
|
242
|
-
| 'TX_COLLECTION_RECONCILE_INTERVAL_MS'
|
|
243
|
-
| 'TX_COLLECTION_DISABLE_SLOW_DURING_FAST_REQUESTS'
|
|
244
273
|
| 'TX_COLLECTION_FAST_NODE_INTERVAL_MS'
|
|
245
274
|
| 'TX_COLLECTION_FAST_MAX_PARALLEL_REQUESTS_PER_NODE'
|
|
246
275
|
| 'TX_COLLECTION_NODE_RPC_MAX_BATCH_SIZE'
|
|
247
276
|
| 'TX_COLLECTION_NODE_RPC_URLS'
|
|
248
277
|
| 'TX_COLLECTION_MISSING_TXS_COLLECTOR_TYPE'
|
|
278
|
+
| 'TX_COLLECTION_FILE_STORE_URLS'
|
|
279
|
+
| 'TX_COLLECTION_FILE_STORE_FAST_DELAY_MS'
|
|
280
|
+
| 'TX_COLLECTION_FILE_STORE_FAST_WORKER_COUNT'
|
|
281
|
+
| 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_BASE_MS'
|
|
282
|
+
| 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_MAX_MS'
|
|
249
283
|
| 'TX_FILE_STORE_URL'
|
|
250
|
-
| 'TX_FILE_STORE_DOWNLOAD_URL'
|
|
251
284
|
| 'TX_FILE_STORE_UPLOAD_CONCURRENCY'
|
|
252
285
|
| 'TX_FILE_STORE_MAX_QUEUE_SIZE'
|
|
253
286
|
| 'TX_FILE_STORE_ENABLED'
|
|
@@ -256,15 +289,19 @@ export type EnvVar =
|
|
|
256
289
|
| 'TRANSACTIONS_DISABLED'
|
|
257
290
|
| 'VALIDATOR_ATTESTATIONS_POLLING_INTERVAL_MS'
|
|
258
291
|
| 'VALIDATOR_DISABLED'
|
|
292
|
+
| 'VALIDATOR_MAX_DA_BLOCK_GAS'
|
|
293
|
+
| 'VALIDATOR_MAX_L2_BLOCK_GAS'
|
|
294
|
+
| 'VALIDATOR_MAX_TX_PER_BLOCK'
|
|
295
|
+
| 'VALIDATOR_MAX_TX_PER_CHECKPOINT'
|
|
259
296
|
| 'VALIDATOR_PRIVATE_KEYS'
|
|
260
297
|
| 'VALIDATOR_PRIVATE_KEY'
|
|
261
|
-
| 'VALIDATOR_REEXECUTE'
|
|
262
298
|
| 'VALIDATOR_ADDRESSES'
|
|
263
299
|
| 'ROLLUP_VERSION'
|
|
264
300
|
| 'WS_BLOCK_CHECK_INTERVAL_MS'
|
|
265
301
|
| 'WS_BLOCK_REQUEST_BATCH_SIZE'
|
|
266
302
|
| 'L1_READER_VIEM_POLLING_INTERVAL_MS'
|
|
267
303
|
| 'WS_DATA_DIRECTORY'
|
|
304
|
+
| 'WS_NUM_HISTORIC_CHECKPOINTS'
|
|
268
305
|
| 'WS_NUM_HISTORIC_BLOCKS'
|
|
269
306
|
| 'ETHEREUM_SLOT_DURATION'
|
|
270
307
|
| 'AZTEC_SLOT_DURATION'
|
|
@@ -290,7 +327,7 @@ export type EnvVar =
|
|
|
290
327
|
| 'AZTEC_SLASH_AMOUNT_SMALL'
|
|
291
328
|
| 'AZTEC_SLASH_AMOUNT_MEDIUM'
|
|
292
329
|
| 'AZTEC_SLASH_AMOUNT_LARGE'
|
|
293
|
-
| '
|
|
330
|
+
| 'AZTEC_SLASHER_ENABLED'
|
|
294
331
|
| 'AZTEC_GOVERNANCE_PROPOSER_QUORUM'
|
|
295
332
|
| 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE'
|
|
296
333
|
| 'AZTEC_GOVERNANCE_VOTING_DURATION'
|
|
@@ -319,14 +356,15 @@ export type EnvVar =
|
|
|
319
356
|
| 'K8S_POD_NAME'
|
|
320
357
|
| 'K8S_POD_UID'
|
|
321
358
|
| 'K8S_NAMESPACE_NAME'
|
|
322
|
-
| '
|
|
323
|
-
| 'AUTO_UPDATE'
|
|
324
|
-
| 'AUTO_UPDATE_URL'
|
|
359
|
+
| 'ENABLE_VERSION_CHECK'
|
|
325
360
|
| 'WEB3_SIGNER_URL'
|
|
326
361
|
| 'SKIP_ARCHIVER_INITIAL_SYNC'
|
|
327
362
|
| 'BLOB_ALLOW_EMPTY_SOURCES'
|
|
363
|
+
| 'BLOB_PREFER_FILESTORES'
|
|
364
|
+
| 'BLOB_FILE_STORE_TIMEOUT_MS'
|
|
328
365
|
| 'FISHERMAN_MODE'
|
|
329
366
|
| 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS'
|
|
367
|
+
| 'MAX_BLOCKS_PER_CHECKPOINT'
|
|
330
368
|
| 'LEGACY_BLS_CLI'
|
|
331
369
|
| 'DEBUG_FORCE_TX_PROOF_VERIFICATION'
|
|
332
370
|
| 'VALIDATOR_HA_SIGNING_ENABLED'
|
package/src/config/index.ts
CHANGED
|
@@ -10,14 +10,14 @@ export type { EnvVar, NetworkNames };
|
|
|
10
10
|
export type { NetworkConfig, NetworkConfigMap } from './network_config.js';
|
|
11
11
|
export { NetworkConfigMapSchema, NetworkConfigSchema } from './network_config.js';
|
|
12
12
|
|
|
13
|
-
export interface ConfigMapping {
|
|
13
|
+
export interface ConfigMapping<T> {
|
|
14
14
|
env?: EnvVar;
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
/** Parse an env-var string into `T`. Throws on invalid input. */
|
|
16
|
+
parseEnv?: (val: string) => T;
|
|
17
|
+
defaultValue?: T;
|
|
17
18
|
printDefault?: (val: any) => string;
|
|
18
19
|
description: string;
|
|
19
20
|
isBoolean?: boolean;
|
|
20
|
-
nested?: Record<string, ConfigMapping>;
|
|
21
21
|
fallback?: EnvVar[];
|
|
22
22
|
/**
|
|
23
23
|
* List of deprecated env vars that are still supported but will log a warning.
|
|
@@ -30,7 +30,9 @@ export function isBooleanConfigValue<T>(obj: T, key: keyof T): boolean {
|
|
|
30
30
|
return typeof obj[key] === 'boolean';
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
export type ConfigMappingsType<T> =
|
|
33
|
+
export type ConfigMappingsType<T> = {
|
|
34
|
+
[K in keyof T]-?: ConfigMapping<Required<T>[K]>;
|
|
35
|
+
};
|
|
34
36
|
|
|
35
37
|
/**
|
|
36
38
|
* Shared utility function to get a value from environment variables with fallback support.
|
|
@@ -66,8 +68,8 @@ export function getValueFromEnvWithFallback<T>(
|
|
|
66
68
|
}
|
|
67
69
|
}
|
|
68
70
|
|
|
69
|
-
// Parse the value if needed
|
|
70
|
-
if (value !== undefined) {
|
|
71
|
+
// Parse the value if needed. Empty strings are treated as "not set".
|
|
72
|
+
if (value !== undefined && value !== '') {
|
|
71
73
|
return parseFunc ? parseFunc(value) : (value as unknown as T);
|
|
72
74
|
}
|
|
73
75
|
|
|
@@ -79,22 +81,20 @@ export function getConfigFromMappings<T>(configMappings: ConfigMappingsType<T>):
|
|
|
79
81
|
const config = {} as T;
|
|
80
82
|
|
|
81
83
|
for (const key in configMappings) {
|
|
82
|
-
const { env, parseEnv, defaultValue,
|
|
83
|
-
|
|
84
|
-
(config as any)[key] = getConfigFromMappings(nested);
|
|
85
|
-
} else {
|
|
86
|
-
// Use the shared utility function
|
|
84
|
+
const { env, parseEnv, defaultValue, fallback, deprecatedFallback } = configMappings[key];
|
|
85
|
+
try {
|
|
87
86
|
(config as any)[key] = getValueFromEnvWithFallback(env, parseEnv, defaultValue, fallback);
|
|
87
|
+
} catch (e: any) {
|
|
88
|
+
throw new Error(`Failed to parse config '${key}' (env: ${env ?? 'none'}): ${e.message}`);
|
|
89
|
+
}
|
|
88
90
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
userLog(warningMessage, { deprecatedEnvVar: deprecatedEnv, newEnvVar: env });
|
|
97
|
-
}
|
|
91
|
+
if (deprecatedFallback?.length) {
|
|
92
|
+
const userLog = createConsoleLogger('[DEPRECATED]');
|
|
93
|
+
for (const { env: deprecatedEnv, message } of deprecatedFallback) {
|
|
94
|
+
if (process.env[deprecatedEnv]) {
|
|
95
|
+
const warningMessage =
|
|
96
|
+
message ?? `Environment variable ${deprecatedEnv} is deprecated. Please use ${env} instead.`;
|
|
97
|
+
userLog(warningMessage, { deprecatedEnvVar: deprecatedEnv, newEnvVar: env });
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
}
|
|
@@ -123,7 +123,7 @@ export function omitConfigMappings<T, K extends keyof T>(
|
|
|
123
123
|
* @param defaultVal - The default numerical value to use if the environment variable is not set or is invalid
|
|
124
124
|
* @returns Object with parseEnv and default values for a numerical config value
|
|
125
125
|
*/
|
|
126
|
-
export function numberConfigHelper(defaultVal: number): Pick<ConfigMapping
|
|
126
|
+
export function numberConfigHelper(defaultVal: number): Pick<ConfigMapping<number>, 'parseEnv' | 'defaultValue'> {
|
|
127
127
|
return {
|
|
128
128
|
parseEnv: (val: string) => safeParseNumber(val, defaultVal),
|
|
129
129
|
defaultValue: defaultVal,
|
|
@@ -138,7 +138,7 @@ export function numberConfigHelper(defaultVal: number): Pick<ConfigMapping, 'par
|
|
|
138
138
|
export function floatConfigHelper(
|
|
139
139
|
defaultVal: number,
|
|
140
140
|
validationFn?: (val: number) => void,
|
|
141
|
-
): Pick<ConfigMapping
|
|
141
|
+
): Pick<ConfigMapping<number>, 'parseEnv' | 'defaultValue'> {
|
|
142
142
|
return {
|
|
143
143
|
parseEnv: (val: string): number => {
|
|
144
144
|
const parsed = safeParseFloat(val, defaultVal);
|
|
@@ -152,7 +152,7 @@ export function floatConfigHelper(
|
|
|
152
152
|
/**
|
|
153
153
|
* Parses an environment variable to a 0-1 percentage value
|
|
154
154
|
*/
|
|
155
|
-
export function percentageConfigHelper(defaultVal: number): Pick<ConfigMapping
|
|
155
|
+
export function percentageConfigHelper(defaultVal: number): Pick<ConfigMapping<number>, 'parseEnv' | 'defaultValue'> {
|
|
156
156
|
return {
|
|
157
157
|
parseEnv: (val: string): number => {
|
|
158
158
|
const parsed = safeParseFloat(val, defaultVal);
|
|
@@ -171,11 +171,27 @@ export function percentageConfigHelper(defaultVal: number): Pick<ConfigMapping,
|
|
|
171
171
|
* @param defaultVal - The default numerical value to use if the environment variable is not set or is invalid
|
|
172
172
|
* @returns Object with parseEnv and default values for a numerical config value
|
|
173
173
|
*/
|
|
174
|
-
export function bigintConfigHelper(defaultVal
|
|
174
|
+
export function bigintConfigHelper(defaultVal: bigint): Pick<ConfigMapping<bigint>, 'parseEnv' | 'defaultValue'>;
|
|
175
|
+
export function bigintConfigHelper(): Pick<ConfigMapping<bigint | undefined>, 'parseEnv' | 'defaultValue'>;
|
|
176
|
+
export function bigintConfigHelper(
|
|
177
|
+
defaultVal?: bigint,
|
|
178
|
+
): Pick<ConfigMapping<bigint | undefined>, 'parseEnv' | 'defaultValue'> {
|
|
175
179
|
return {
|
|
176
180
|
parseEnv: (val: string) => {
|
|
177
|
-
|
|
178
|
-
|
|
181
|
+
// Handle scientific notation (e.g. "1e+23", "2E23") which BigInt() doesn't accept directly.
|
|
182
|
+
// We parse it losslessly using bigint arithmetic instead of going through float64.
|
|
183
|
+
if (/[eE]/.test(val)) {
|
|
184
|
+
const match = val.match(/^(-?\d+(?:\.(\d+))?)[eE]([+-]?\d+)$/);
|
|
185
|
+
if (!match) {
|
|
186
|
+
throw new Error(`Cannot convert '${val}' to a BigInt`);
|
|
187
|
+
}
|
|
188
|
+
const digits = match[1].replace('.', '');
|
|
189
|
+
const decimalPlaces = match[2]?.length ?? 0;
|
|
190
|
+
const exponent = parseInt(match[3], 10) - decimalPlaces;
|
|
191
|
+
if (exponent < 0) {
|
|
192
|
+
throw new Error(`Cannot convert '${val}' to a BigInt: result is not an integer`);
|
|
193
|
+
}
|
|
194
|
+
return BigInt(digits) * 10n ** BigInt(exponent);
|
|
179
195
|
}
|
|
180
196
|
return BigInt(val);
|
|
181
197
|
},
|
|
@@ -185,32 +201,37 @@ export function bigintConfigHelper(defaultVal?: bigint): Pick<ConfigMapping, 'pa
|
|
|
185
201
|
|
|
186
202
|
/**
|
|
187
203
|
* Generates parseEnv for an optional numerical config value.
|
|
204
|
+
* Empty strings are already handled by getValueFromEnvWithFallback.
|
|
188
205
|
*/
|
|
189
|
-
export function optionalNumberConfigHelper(): Pick<ConfigMapping
|
|
206
|
+
export function optionalNumberConfigHelper(): Pick<ConfigMapping<number>, 'parseEnv'> {
|
|
190
207
|
return {
|
|
191
|
-
parseEnv: (val: string
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
208
|
+
parseEnv: (val: string) => {
|
|
209
|
+
const parsedValue = parseInt(val);
|
|
210
|
+
if (!Number.isSafeInteger(parsedValue)) {
|
|
211
|
+
throw new Error(`Invalid number: ${val}`);
|
|
195
212
|
}
|
|
196
|
-
return
|
|
213
|
+
return parsedValue;
|
|
197
214
|
},
|
|
198
215
|
};
|
|
199
216
|
}
|
|
200
217
|
|
|
201
218
|
/** Generates parseEnv for an enum-like config value. */
|
|
219
|
+
export function enumConfigHelper<T extends string>(
|
|
220
|
+
values: T[],
|
|
221
|
+
defaultValue: NoInfer<T>,
|
|
222
|
+
): Pick<ConfigMapping<T>, 'parseEnv' | 'defaultValue'>;
|
|
223
|
+
export function enumConfigHelper<T extends string>(
|
|
224
|
+
values: T[],
|
|
225
|
+
): Pick<ConfigMapping<T | undefined>, 'parseEnv' | 'defaultValue'>;
|
|
202
226
|
export function enumConfigHelper<T extends string>(
|
|
203
227
|
values: T[],
|
|
204
228
|
defaultValue?: NoInfer<T>,
|
|
205
|
-
): Pick<ConfigMapping
|
|
229
|
+
): Pick<ConfigMapping<T | undefined>, 'parseEnv' | 'defaultValue'> {
|
|
206
230
|
return {
|
|
207
231
|
parseEnv: (val: string) => {
|
|
208
|
-
const sanitizedVal =
|
|
209
|
-
if (values.
|
|
210
|
-
return
|
|
211
|
-
}
|
|
212
|
-
if (!val && defaultValue) {
|
|
213
|
-
return defaultValue;
|
|
232
|
+
const sanitizedVal = val.trim().toLowerCase();
|
|
233
|
+
if (values.some(v => v.toLowerCase() === sanitizedVal)) {
|
|
234
|
+
return values.find(v => v.toLowerCase() === sanitizedVal)!;
|
|
214
235
|
}
|
|
215
236
|
throw new Error(`Invalid config value '${val}' (must be one of ${values.join(', ')})`);
|
|
216
237
|
},
|
|
@@ -225,7 +246,9 @@ export function enumConfigHelper<T extends string>(
|
|
|
225
246
|
*/
|
|
226
247
|
export function booleanConfigHelper(
|
|
227
248
|
defaultVal = false,
|
|
228
|
-
): Required<
|
|
249
|
+
): Required<
|
|
250
|
+
Pick<ConfigMapping<boolean>, 'parseEnv' | 'defaultValue' | 'isBoolean'> & { parseVal: (val: string) => boolean }
|
|
251
|
+
> {
|
|
229
252
|
const parse = (val: string | boolean) => (typeof val === 'boolean' ? val : parseBooleanEnv(val));
|
|
230
253
|
return {
|
|
231
254
|
parseEnv: parse,
|
|
@@ -235,91 +258,88 @@ export function booleanConfigHelper(
|
|
|
235
258
|
};
|
|
236
259
|
}
|
|
237
260
|
|
|
238
|
-
export function secretValueConfigHelper<T>(parse: (val: string | undefined) => T):
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
261
|
+
export function secretValueConfigHelper<T>(parse: (val: string | undefined) => T): Pick<
|
|
262
|
+
ConfigMapping<SecretValue<T>>,
|
|
263
|
+
'parseEnv' | 'defaultValue'
|
|
264
|
+
> & {
|
|
265
|
+
parseVal: (val: string) => SecretValue<T>;
|
|
266
|
+
} {
|
|
243
267
|
const wrap = (val: string) => new SecretValue(parse(val));
|
|
244
268
|
return {
|
|
245
269
|
parseEnv: wrap,
|
|
246
270
|
parseVal: wrap,
|
|
247
271
|
defaultValue: new SecretValue(parse(undefined)),
|
|
248
|
-
isBoolean: true,
|
|
249
272
|
};
|
|
250
273
|
}
|
|
251
274
|
|
|
252
275
|
export { parseBooleanEnv } from './parse-env.js';
|
|
253
276
|
|
|
254
|
-
export function secretStringConfigHelper():
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
export function secretStringConfigHelper(defaultValue: string):
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
export function secretStringConfigHelper(defaultValue?: string):
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
277
|
+
export function secretStringConfigHelper(): {
|
|
278
|
+
parseEnv: (val: string) => SecretValue<string>;
|
|
279
|
+
parseVal: (val: string) => SecretValue<string>;
|
|
280
|
+
defaultValue: undefined;
|
|
281
|
+
};
|
|
282
|
+
export function secretStringConfigHelper(defaultValue: string): {
|
|
283
|
+
parseEnv: (val: string) => SecretValue<string>;
|
|
284
|
+
parseVal: (val: string) => SecretValue<string>;
|
|
285
|
+
defaultValue: SecretValue<string>;
|
|
286
|
+
};
|
|
287
|
+
export function secretStringConfigHelper(defaultValue?: string): {
|
|
288
|
+
parseEnv: (val: string) => SecretValue<string>;
|
|
289
|
+
parseVal: (val: string) => SecretValue<string>;
|
|
290
|
+
defaultValue: SecretValue<string> | undefined;
|
|
291
|
+
} {
|
|
269
292
|
const parse = (val: string) => new SecretValue(val);
|
|
270
293
|
return {
|
|
271
294
|
parseEnv: parse,
|
|
272
295
|
parseVal: parse,
|
|
273
296
|
defaultValue: defaultValue !== undefined ? new SecretValue(defaultValue) : undefined,
|
|
274
|
-
isBoolean: true,
|
|
275
297
|
};
|
|
276
298
|
}
|
|
277
299
|
|
|
278
|
-
export function secretFrConfigHelper():
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
export function secretFrConfigHelper(defaultValue: Fr):
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
export function secretFrConfigHelper(defaultValue?: Fr):
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
300
|
+
export function secretFrConfigHelper(): {
|
|
301
|
+
parseEnv: (val: string) => SecretValue<Fr>;
|
|
302
|
+
parseVal: (val: string) => SecretValue<Fr>;
|
|
303
|
+
defaultValue: undefined;
|
|
304
|
+
};
|
|
305
|
+
export function secretFrConfigHelper(defaultValue: Fr): {
|
|
306
|
+
parseEnv: (val: string) => SecretValue<Fr>;
|
|
307
|
+
parseVal: (val: string) => SecretValue<Fr>;
|
|
308
|
+
defaultValue: SecretValue<Fr>;
|
|
309
|
+
};
|
|
310
|
+
export function secretFrConfigHelper(defaultValue?: Fr): {
|
|
311
|
+
parseEnv: (val: string) => SecretValue<Fr>;
|
|
312
|
+
parseVal: (val: string) => SecretValue<Fr>;
|
|
313
|
+
defaultValue: SecretValue<Fr> | undefined;
|
|
314
|
+
} {
|
|
293
315
|
const parse = (val: string) => new SecretValue(Fr.fromHexString(val));
|
|
294
316
|
return {
|
|
295
317
|
parseEnv: parse,
|
|
296
318
|
parseVal: parse,
|
|
297
319
|
defaultValue: defaultValue !== undefined ? new SecretValue(defaultValue) : undefined,
|
|
298
|
-
isBoolean: true,
|
|
299
320
|
};
|
|
300
321
|
}
|
|
301
322
|
|
|
302
|
-
export function secretFqConfigHelper(
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
export function secretFqConfigHelper():
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
export function secretFqConfigHelper(defaultValue?: Fq):
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
323
|
+
export function secretFqConfigHelper(): {
|
|
324
|
+
parseEnv: (val: string) => SecretValue<Fq>;
|
|
325
|
+
parseVal: (val: string) => SecretValue<Fq>;
|
|
326
|
+
defaultValue: undefined;
|
|
327
|
+
};
|
|
328
|
+
export function secretFqConfigHelper(defaultValue: Fq): {
|
|
329
|
+
parseEnv: (val: string) => SecretValue<Fq>;
|
|
330
|
+
parseVal: (val: string) => SecretValue<Fq>;
|
|
331
|
+
defaultValue: SecretValue<Fq>;
|
|
332
|
+
};
|
|
333
|
+
export function secretFqConfigHelper(defaultValue?: Fq): {
|
|
334
|
+
parseEnv: (val: string) => SecretValue<Fq>;
|
|
335
|
+
parseVal: (val: string) => SecretValue<Fq>;
|
|
336
|
+
defaultValue: SecretValue<Fq> | undefined;
|
|
337
|
+
} {
|
|
317
338
|
const parse = (val: string) => new SecretValue(Fq.fromHexString(val));
|
|
318
339
|
return {
|
|
319
340
|
parseEnv: parse,
|
|
320
341
|
parseVal: parse,
|
|
321
|
-
defaultValue:
|
|
322
|
-
isBoolean: true,
|
|
342
|
+
defaultValue: defaultValue !== undefined ? new SecretValue(defaultValue) : undefined,
|
|
323
343
|
};
|
|
324
344
|
}
|
|
325
345
|
|
|
@@ -5,10 +5,13 @@ export const NetworkConfigSchema = z
|
|
|
5
5
|
bootnodes: z.array(z.string()),
|
|
6
6
|
snapshots: z.array(z.string()),
|
|
7
7
|
blobFileStoreUrls: z.array(z.string()).optional(),
|
|
8
|
+
txCollectionFileStoreUrls: z.array(z.string()).optional(),
|
|
8
9
|
registryAddress: z.string(),
|
|
9
10
|
feeAssetHandlerAddress: z.string().optional(),
|
|
10
11
|
l1ChainId: z.number(),
|
|
11
12
|
blockDurationMs: z.number().positive().optional(),
|
|
13
|
+
txPublicSetupAllowListExtend: z.string().optional(),
|
|
14
|
+
nodeVersion: z.string().optional(),
|
|
12
15
|
})
|
|
13
16
|
.passthrough(); // Allow additional unknown fields to pass through
|
|
14
17
|
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
export type NetworkNames =
|
|
2
2
|
| 'local'
|
|
3
|
-
| 'staging
|
|
4
|
-
| 'staging-public'
|
|
3
|
+
| 'staging'
|
|
5
4
|
| 'testnet'
|
|
6
5
|
| 'mainnet'
|
|
7
6
|
| 'next-net'
|
|
8
|
-
| 'devnet'
|
|
7
|
+
| 'devnet'
|
|
8
|
+
| `v${number}-devnet-${number}`;
|
|
9
9
|
|
|
10
10
|
export function getActiveNetworkName(name?: string): NetworkNames {
|
|
11
11
|
const network = name || process.env.NETWORK;
|
|
12
12
|
if (!network || network === '' || network === 'local') {
|
|
13
13
|
return 'local';
|
|
14
|
-
} else if (network === 'staging
|
|
15
|
-
return network;
|
|
16
|
-
} else if (network === 'staging-public') {
|
|
14
|
+
} else if (network === 'staging') {
|
|
17
15
|
return network;
|
|
18
16
|
} else if (network === 'testnet' || network === 'alpha-testnet') {
|
|
19
17
|
return 'testnet';
|
|
@@ -23,6 +21,8 @@ export function getActiveNetworkName(name?: string): NetworkNames {
|
|
|
23
21
|
return 'next-net';
|
|
24
22
|
} else if (network === 'devnet') {
|
|
25
23
|
return 'devnet';
|
|
24
|
+
} else if (/^v\d+-devnet-\d+$/.test(network)) {
|
|
25
|
+
return network as `v${number}-devnet-${number}`;
|
|
26
26
|
}
|
|
27
27
|
throw new Error(`Unknown network: ${network}`);
|
|
28
28
|
}
|
|
@@ -43,7 +43,7 @@ export class SecretValue<T> {
|
|
|
43
43
|
/**
|
|
44
44
|
* Returns a Zod schema
|
|
45
45
|
*/
|
|
46
|
-
static schema<O>(valueSchema: ZodType<O, any
|
|
46
|
+
static schema<O>(valueSchema: ZodType<O, any>): ZodType<SecretValue<O>, any> {
|
|
47
47
|
return valueSchema.transform(value => new SecretValue<O>(value));
|
|
48
48
|
}
|
|
49
49
|
}
|