@aztec/foundation 0.0.1-commit.9b94fc1 → 0.0.1-commit.9ee6fcc6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/array/index.d.ts +2 -1
- package/dest/array/index.d.ts.map +1 -1
- package/dest/array/index.js +1 -0
- package/dest/array/sorted_array.d.ts +15 -0
- package/dest/array/sorted_array.d.ts.map +1 -0
- package/dest/array/sorted_array.js +109 -0
- package/dest/branded-types/block_number.d.ts +56 -0
- package/dest/branded-types/block_number.d.ts.map +1 -0
- package/dest/branded-types/block_number.js +78 -0
- package/dest/branded-types/checkpoint_number.d.ts +54 -0
- package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
- package/dest/branded-types/checkpoint_number.js +77 -0
- package/dest/branded-types/index.d.ts +4 -1
- package/dest/branded-types/index.d.ts.map +1 -1
- package/dest/branded-types/index.js +3 -0
- package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
- package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
- package/dest/branded-types/index_within_checkpoint.js +59 -0
- package/dest/branded-types/slot.d.ts +4 -1
- package/dest/branded-types/slot.d.ts.map +1 -1
- package/dest/branded-types/slot.js +3 -0
- package/dest/buffer/buffer16.d.ts +5 -2
- package/dest/buffer/buffer16.d.ts.map +1 -1
- package/dest/buffer/buffer16.js +4 -2
- package/dest/buffer/buffer32.d.ts +5 -2
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +4 -2
- 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 +12 -1
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +51 -0
- package/dest/config/env_var.d.ts +2 -2
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/config/index.d.ts +15 -4
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +47 -9
- package/dest/config/network_config.d.ts +31 -1
- package/dest/config/network_config.d.ts.map +1 -1
- package/dest/config/network_config.js +6 -1
- package/dest/config/network_name.d.ts +2 -2
- package/dest/config/network_name.d.ts.map +1 -1
- package/dest/config/network_name.js +2 -0
- package/dest/config/parse-env.d.ts +3 -0
- package/dest/config/parse-env.d.ts.map +1 -0
- package/dest/config/parse-env.js +7 -0
- package/dest/config/secret_value.js +3 -1
- package/dest/crypto/bls/bn254_keystore.js +1 -1
- package/dest/crypto/bls/index.js +1 -1
- package/dest/crypto/bn254/index.d.ts +35 -51
- package/dest/crypto/bn254/index.d.ts.map +1 -1
- package/dest/crypto/bn254/index.js +51 -140
- package/dest/crypto/ecdsa/signature.d.ts +11 -2
- package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
- package/dest/crypto/ecdsa/signature.js +2 -2
- package/dest/crypto/grumpkin/index.d.ts +4 -2
- package/dest/crypto/grumpkin/index.d.ts.map +1 -1
- package/dest/crypto/grumpkin/index.js +2 -1
- package/dest/crypto/keys/index.d.ts +2 -2
- package/dest/crypto/keys/index.d.ts.map +1 -1
- package/dest/crypto/keys/index.js +1 -1
- package/dest/crypto/pedersen/pedersen.wasm.d.ts +2 -2
- package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
- package/dest/crypto/pedersen/pedersen.wasm.js +1 -1
- package/dest/crypto/poseidon/index.d.ts +2 -3
- package/dest/crypto/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.js +14 -23
- package/dest/crypto/random/randomness_singleton.d.ts +4 -3
- package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
- package/dest/crypto/random/randomness_singleton.js +5 -5
- package/dest/crypto/schnorr/index.d.ts +3 -2
- package/dest/crypto/schnorr/index.d.ts.map +1 -1
- package/dest/crypto/schnorr/index.js +1 -1
- package/dest/crypto/schnorr/signature.d.ts +2 -2
- package/dest/crypto/schnorr/signature.d.ts.map +1 -1
- package/dest/crypto/schnorr/signature.js +2 -2
- package/dest/crypto/secp256k1-signer/utils.d.ts +12 -1
- package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
- package/dest/crypto/secp256k1-signer/utils.js +26 -0
- package/dest/crypto/sha256/index.d.ts +2 -2
- package/dest/crypto/sha256/index.d.ts.map +1 -1
- package/dest/crypto/sha256/index.js +1 -1
- package/dest/crypto/sha512/index.d.ts +2 -2
- package/dest/crypto/sha512/index.d.ts.map +1 -1
- package/dest/crypto/sha512/index.js +1 -1
- package/dest/crypto/signature/index.d.ts +2 -2
- package/dest/crypto/signature/index.d.ts.map +1 -1
- package/dest/crypto/sync/pedersen/index.d.ts +2 -2
- package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
- package/dest/crypto/sync/pedersen/index.js +1 -1
- package/dest/crypto/sync/poseidon/index.d.ts +2 -3
- package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/sync/poseidon/index.js +1 -9
- package/dest/{fields/bls12_fields.d.ts → curves/bls12/field.d.ts} +3 -3
- package/dest/curves/bls12/field.d.ts.map +1 -0
- package/dest/{fields/bls12_fields.js → curves/bls12/field.js} +12 -9
- package/dest/curves/bls12/index.d.ts +3 -0
- package/dest/curves/bls12/index.d.ts.map +1 -0
- package/dest/curves/bls12/index.js +2 -0
- package/dest/{fields/bls12_point.d.ts → curves/bls12/point.d.ts} +13 -4
- package/dest/curves/bls12/point.d.ts.map +1 -0
- package/dest/{fields/bls12_point.js → curves/bls12/point.js} +10 -8
- package/dest/{fields/fields.d.ts → curves/bn254/field.d.ts} +8 -15
- package/dest/curves/bn254/field.d.ts.map +1 -0
- package/dest/{fields/fields.js → curves/bn254/field.js} +38 -49
- package/dest/curves/bn254/index.d.ts +3 -0
- package/dest/curves/bn254/index.d.ts.map +1 -0
- package/dest/curves/bn254/index.js +2 -0
- package/dest/curves/bn254/point.d.ts +54 -0
- package/dest/curves/bn254/point.d.ts.map +1 -0
- package/dest/curves/bn254/point.js +143 -0
- package/dest/curves/grumpkin/index.d.ts +10 -0
- package/dest/curves/grumpkin/index.d.ts.map +1 -0
- package/dest/curves/grumpkin/index.js +3 -0
- package/dest/{fields → curves/grumpkin}/point.d.ts +13 -4
- package/dest/curves/grumpkin/point.d.ts.map +1 -0
- package/dest/{fields → curves/grumpkin}/point.js +7 -7
- package/dest/error/index.d.ts +4 -4
- package/dest/error/index.d.ts.map +1 -1
- package/dest/eth-address/index.d.ts +3 -2
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +10 -3
- package/dest/eth-signature/eth_signature.d.ts +5 -1
- package/dest/eth-signature/eth_signature.d.ts.map +1 -1
- package/dest/eth-signature/eth_signature.js +7 -2
- package/dest/fifo/fifo_frame_reader.d.ts +41 -0
- package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
- package/dest/fifo/fifo_frame_reader.js +74 -0
- package/dest/fifo/index.d.ts +2 -0
- package/dest/fifo/index.d.ts.map +1 -0
- package/dest/fifo/index.js +1 -0
- package/dest/iterator/filter.d.ts +3 -0
- package/dest/iterator/filter.d.ts.map +1 -0
- package/dest/iterator/filter.js +7 -0
- package/dest/iterator/index.d.ts +2 -0
- package/dest/iterator/index.d.ts.map +1 -0
- package/dest/iterator/index.js +1 -0
- package/dest/jest/setup.js +28 -1
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts +2 -1
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.js +1 -1
- package/dest/json-rpc/client/undici.d.ts +1 -1
- package/dest/json-rpc/client/undici.d.ts.map +1 -1
- package/dest/json-rpc/client/undici.js +21 -4
- package/dest/json-rpc/fixtures/class_a.d.ts +3 -3
- package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/class_b.d.ts +3 -3
- package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
- package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
- package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
- package/dest/json-rpc/server/api_key_auth.js +57 -0
- package/dest/json-rpc/server/index.d.ts +2 -1
- package/dest/json-rpc/server/index.d.ts.map +1 -1
- package/dest/json-rpc/server/index.js +1 -0
- package/dest/json-rpc/server/safe_json_rpc_server.js +1 -1
- package/dest/log/bigint-utils.d.ts +5 -0
- package/dest/log/bigint-utils.d.ts.map +1 -0
- package/dest/log/bigint-utils.js +21 -0
- package/dest/log/gcloud-logger-config.d.ts +1 -1
- package/dest/log/gcloud-logger-config.d.ts.map +1 -1
- package/dest/log/gcloud-logger-config.js +3 -0
- package/dest/log/libp2p_logger.d.ts +5 -2
- package/dest/log/libp2p_logger.d.ts.map +1 -1
- package/dest/log/libp2p_logger.js +14 -4
- package/dest/log/log-filters.d.ts +17 -4
- package/dest/log/log-filters.d.ts.map +1 -1
- package/dest/log/log-filters.js +26 -12
- package/dest/log/pino-logger-server.d.ts +9 -0
- package/dest/log/pino-logger-server.d.ts.map +1 -0
- package/dest/log/pino-logger-server.js +18 -0
- package/dest/log/pino-logger.d.ts +37 -8
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/log/pino-logger.js +122 -29
- package/dest/queue/base_memory_queue.d.ts +2 -2
- package/dest/queue/base_memory_queue.d.ts.map +1 -1
- package/dest/queue/semaphore.d.ts +5 -1
- package/dest/queue/semaphore.d.ts.map +1 -1
- package/dest/retry/index.d.ts +11 -1
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +11 -0
- package/dest/schemas/schemas.d.ts +7 -3
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +9 -3
- package/dest/schemas/types.d.ts +31 -1
- package/dest/schemas/types.d.ts.map +1 -1
- package/dest/schemas/types.js +25 -1
- package/dest/serialize/buffer_reader.d.ts +14 -4
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +26 -4
- package/dest/serialize/field_reader.d.ts +2 -2
- package/dest/serialize/field_reader.d.ts.map +1 -1
- package/dest/serialize/field_reader.js +1 -1
- package/dest/serialize/free_funcs.d.ts +2 -2
- package/dest/serialize/free_funcs.d.ts.map +1 -1
- package/dest/serialize/free_funcs.js +1 -1
- package/dest/serialize/serialize.d.ts +20 -2
- package/dest/serialize/serialize.d.ts.map +1 -1
- package/dest/serialize/serialize.js +32 -1
- package/dest/sleep/index.d.ts +4 -1
- package/dest/sleep/index.d.ts.map +1 -1
- package/dest/sleep/index.js +14 -1
- package/dest/timer/date.d.ts +26 -1
- package/dest/timer/date.d.ts.map +1 -1
- package/dest/timer/date.js +36 -0
- package/dest/transport/transport_client.js +2 -2
- package/dest/trees/balanced_merkle_tree_root.d.ts +17 -0
- package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
- package/dest/trees/{balanced_merkle_tree.js → balanced_merkle_tree_root.js} +2 -15
- package/dest/trees/hasher.d.ts +3 -1
- package/dest/trees/hasher.d.ts.map +1 -1
- package/dest/trees/hasher.js +10 -5
- package/dest/trees/index.d.ts +4 -4
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +3 -3
- package/dest/trees/indexed_merkle_tree.js +1 -1
- package/dest/trees/membership_witness.d.ts +12 -2
- package/dest/trees/membership_witness.d.ts.map +1 -1
- package/dest/trees/membership_witness.js +10 -1
- package/dest/trees/merkle_tree_calculator.d.ts +1 -1
- package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/merkle_tree_calculator.js +2 -2
- package/dest/trees/sibling_path.d.ts +3 -2
- package/dest/trees/sibling_path.d.ts.map +1 -1
- package/dest/trees/sibling_path.js +3 -3
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +2 -3
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree_calculator.js +1 -5
- package/dest/trees/{unbalanced_merkle_tree.d.ts → unbalanced_merkle_tree_root.d.ts} +3 -5
- package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
- package/dest/trees/{unbalanced_merkle_tree.js → unbalanced_merkle_tree_root.js} +11 -49
- package/dest/trees/unbalanced_tree_store.d.ts +5 -1
- package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
- package/dest/trees/unbalanced_tree_store.js +49 -1
- package/dest/types/index.d.ts +6 -2
- package/dest/types/index.d.ts.map +1 -1
- package/dest/types/index.js +6 -0
- package/package.json +49 -9
- package/src/array/index.ts +1 -0
- package/src/array/sorted_array.ts +138 -0
- package/src/branded-types/block_number.ts +117 -0
- package/src/branded-types/checkpoint_number.ts +115 -0
- package/src/branded-types/index.ts +3 -0
- package/src/branded-types/index_within_checkpoint.ts +88 -0
- package/src/branded-types/slot.ts +5 -0
- package/src/buffer/buffer16.ts +2 -2
- package/src/buffer/buffer32.ts +2 -2
- package/src/buffer/index.ts +1 -0
- package/src/buffer/utils.ts +8 -0
- package/src/collection/array.ts +52 -0
- package/src/config/env_var.ts +90 -17
- package/src/config/index.ts +54 -6
- package/src/config/network_config.ts +5 -0
- package/src/config/network_name.ts +4 -1
- package/src/config/parse-env.ts +4 -0
- package/src/crypto/bls/bn254_keystore.ts +1 -1
- package/src/crypto/bls/index.ts +1 -1
- package/src/crypto/bn254/index.ts +50 -159
- package/src/crypto/ecdsa/signature.ts +2 -2
- package/src/crypto/grumpkin/index.ts +3 -1
- package/src/crypto/keys/index.ts +1 -1
- package/src/crypto/pedersen/pedersen.wasm.ts +1 -1
- package/src/crypto/poseidon/index.ts +14 -24
- package/src/crypto/random/randomness_singleton.ts +6 -4
- package/src/crypto/schnorr/index.ts +2 -1
- package/src/crypto/schnorr/signature.ts +2 -2
- package/src/crypto/secp256k1-signer/utils.ts +32 -0
- package/src/crypto/sha256/index.ts +1 -1
- package/src/crypto/sha512/index.ts +1 -1
- package/src/crypto/signature/index.ts +1 -1
- package/src/crypto/sync/pedersen/index.ts +1 -1
- package/src/crypto/sync/poseidon/index.ts +1 -10
- package/src/{fields/bls12_fields.ts → curves/bls12/field.ts} +6 -6
- package/src/curves/bls12/index.ts +2 -0
- package/src/{fields/bls12_point.ts → curves/bls12/point.ts} +7 -7
- package/src/{fields/fields.ts → curves/bn254/field.ts} +37 -56
- package/src/curves/bn254/index.ts +2 -0
- package/src/curves/bn254/point.ts +170 -0
- package/src/curves/grumpkin/index.ts +11 -0
- package/src/{fields → curves/grumpkin}/point.ts +7 -7
- package/src/eth-address/index.ts +8 -2
- package/src/eth-signature/eth_signature.ts +7 -1
- package/src/fifo/fifo_frame_reader.ts +98 -0
- package/src/fifo/index.ts +1 -0
- package/src/iterator/filter.ts +11 -0
- package/src/iterator/index.ts +1 -0
- package/src/jest/setup.mjs +31 -1
- package/src/json-rpc/client/safe_json_rpc_client.ts +2 -0
- package/src/json-rpc/client/undici.ts +21 -3
- package/src/json-rpc/server/api_key_auth.ts +63 -0
- package/src/json-rpc/server/index.ts +1 -0
- package/src/json-rpc/server/safe_json_rpc_server.ts +1 -1
- package/src/log/bigint-utils.ts +25 -0
- package/src/log/gcloud-logger-config.ts +5 -0
- package/src/log/libp2p_logger.ts +12 -5
- package/src/log/log-filters.ts +29 -11
- package/src/log/pino-logger-server.ts +25 -0
- package/src/log/pino-logger.ts +144 -39
- package/src/queue/base_memory_queue.ts +1 -1
- package/src/queue/semaphore.ts +5 -0
- package/src/retry/index.ts +18 -0
- package/src/schemas/schemas.ts +14 -3
- package/src/schemas/types.ts +33 -0
- package/src/serialize/buffer_reader.ts +36 -9
- package/src/serialize/field_reader.ts +1 -1
- package/src/serialize/free_funcs.ts +1 -1
- package/src/serialize/serialize.ts +33 -1
- package/src/sleep/index.ts +16 -1
- package/src/timer/date.ts +52 -0
- package/src/transport/transport_client.ts +2 -2
- package/src/trees/{balanced_merkle_tree.ts → balanced_merkle_tree_root.ts} +2 -16
- package/src/trees/hasher.ts +9 -0
- package/src/trees/index.ts +3 -3
- package/src/trees/indexed_merkle_tree.ts +1 -1
- package/src/trees/membership_witness.ts +9 -1
- package/src/trees/merkle_tree_calculator.ts +2 -2
- package/src/trees/sibling_path.ts +3 -3
- package/src/trees/unbalanced_merkle_tree_calculator.ts +1 -12
- package/src/trees/{unbalanced_merkle_tree.ts → unbalanced_merkle_tree_root.ts} +17 -61
- package/src/trees/unbalanced_tree_store.ts +57 -2
- package/src/types/index.ts +11 -1
- package/dest/crypto/bn254/bn254_utils.d.ts +0 -39
- package/dest/crypto/bn254/bn254_utils.d.ts.map +0 -1
- package/dest/crypto/bn254/bn254_utils.js +0 -56
- package/dest/crypto/index.d.ts +0 -17
- package/dest/crypto/index.d.ts.map +0 -1
- package/dest/crypto/index.js +0 -16
- package/dest/fields/bls12_fields.d.ts.map +0 -1
- package/dest/fields/bls12_point.d.ts.map +0 -1
- package/dest/fields/coordinate.d.ts +0 -63
- package/dest/fields/coordinate.d.ts.map +0 -1
- package/dest/fields/coordinate.js +0 -96
- package/dest/fields/fields.d.ts.map +0 -1
- package/dest/fields/index.d.ts +0 -6
- package/dest/fields/index.d.ts.map +0 -1
- package/dest/fields/index.js +0 -5
- package/dest/fields/point.d.ts.map +0 -1
- package/dest/index.d.ts +0 -31
- package/dest/index.d.ts.map +0 -1
- package/dest/index.js +0 -31
- package/dest/json-rpc/server/telemetry.d.ts +0 -2
- package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
- package/dest/json-rpc/server/telemetry.js +0 -0
- package/dest/trees/balanced_merkle_tree.d.ts +0 -22
- package/dest/trees/balanced_merkle_tree.d.ts.map +0 -1
- package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
- package/src/crypto/bn254/bn254_utils.ts +0 -64
- package/src/crypto/index.ts +0 -16
- package/src/fields/coordinate.ts +0 -104
- package/src/fields/index.ts +0 -5
- package/src/index.ts +0 -31
- package/src/json-rpc/server/telemetry.ts +0 -0
package/src/buffer/index.ts
CHANGED
package/src/collection/array.ts
CHANGED
|
@@ -250,6 +250,58 @@ export function chunk<T>(items: T[], chunkSize: number): T[][] {
|
|
|
250
250
|
return chunks;
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
+
/**
|
|
254
|
+
* Splits the given array into chunks of the given size, wrapping around to the beginning
|
|
255
|
+
* if the last chunk would be smaller than the requested size.
|
|
256
|
+
* Returns empty array for empty input. Returns single chunk with all items if chunkSize <= 0.
|
|
257
|
+
*/
|
|
258
|
+
export function chunkWrapAround<T>(items: T[], chunkSize: number): T[][] {
|
|
259
|
+
if (items.length === 0) {
|
|
260
|
+
return [];
|
|
261
|
+
}
|
|
262
|
+
if (chunkSize <= 0 || items.length <= chunkSize) {
|
|
263
|
+
return [items];
|
|
264
|
+
}
|
|
265
|
+
const remainder = items.length % chunkSize;
|
|
266
|
+
if (remainder === 0) {
|
|
267
|
+
return chunk(items, chunkSize);
|
|
268
|
+
}
|
|
269
|
+
const wrapAroundCount = chunkSize - remainder;
|
|
270
|
+
const wrappedItems = [...items, ...items.slice(0, wrapAroundCount)];
|
|
271
|
+
return chunk(wrappedItems, chunkSize);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
const UNINITIALIZED = Symbol('uninitialized');
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Splits the given iterable into chunks based on the key returned by the given function.
|
|
278
|
+
* Items must be contiguous to be included in the same chunk.
|
|
279
|
+
*/
|
|
280
|
+
export function chunkBy<T, U>(items: T[], fn: (item: T) => U): T[][] {
|
|
281
|
+
const chunks: T[][] = [];
|
|
282
|
+
let currentChunk: T[] = [];
|
|
283
|
+
let currentKey: U | typeof UNINITIALIZED = UNINITIALIZED;
|
|
284
|
+
|
|
285
|
+
for (const item of items) {
|
|
286
|
+
const key = fn(item);
|
|
287
|
+
if (currentKey === UNINITIALIZED || key !== currentKey) {
|
|
288
|
+
if (currentChunk.length > 0) {
|
|
289
|
+
chunks.push(currentChunk);
|
|
290
|
+
}
|
|
291
|
+
currentChunk = [item];
|
|
292
|
+
currentKey = key;
|
|
293
|
+
} else {
|
|
294
|
+
currentChunk.push(item);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
if (currentChunk.length > 0) {
|
|
299
|
+
chunks.push(currentChunk);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
return chunks;
|
|
303
|
+
}
|
|
304
|
+
|
|
253
305
|
/** Partitions the given iterable into two arrays based on the predicate. */
|
|
254
306
|
export function partition<T>(items: T[], predicate: (item: T) => boolean): [T[], T[]] {
|
|
255
307
|
const pass: T[] = [];
|
package/src/config/env_var.ts
CHANGED
|
@@ -12,6 +12,9 @@ export type EnvVar =
|
|
|
12
12
|
| 'ARCHIVER_VIEM_POLLING_INTERVAL_MS'
|
|
13
13
|
| 'ARCHIVER_BATCH_SIZE'
|
|
14
14
|
| 'AZTEC_ADMIN_PORT'
|
|
15
|
+
| 'AZTEC_ADMIN_API_KEY_HASH'
|
|
16
|
+
| 'AZTEC_DISABLE_ADMIN_API_KEY'
|
|
17
|
+
| 'AZTEC_RESET_ADMIN_API_KEY'
|
|
15
18
|
| 'AZTEC_NODE_ADMIN_URL'
|
|
16
19
|
| 'AZTEC_NODE_URL'
|
|
17
20
|
| 'AZTEC_PORT'
|
|
@@ -20,13 +23,16 @@ export type EnvVar =
|
|
|
20
23
|
| 'BB_WORKING_DIRECTORY'
|
|
21
24
|
| 'BB_NUM_IVC_VERIFIERS'
|
|
22
25
|
| 'BB_IVC_CONCURRENCY'
|
|
26
|
+
| 'BB_CHONK_VERIFY_MAX_BATCH'
|
|
27
|
+
| 'BB_CHONK_VERIFY_BATCH_CONCURRENCY'
|
|
23
28
|
| 'BOOTSTRAP_NODES'
|
|
24
|
-
| '
|
|
25
|
-
| '
|
|
26
|
-
| '
|
|
29
|
+
| 'BLOB_ARCHIVE_API_URL'
|
|
30
|
+
| 'BLOB_FILE_STORE_URLS'
|
|
31
|
+
| 'BLOB_FILE_STORE_UPLOAD_URL'
|
|
32
|
+
| 'BLOB_HEALTHCHECK_UPLOAD_INTERVAL_MINUTES'
|
|
27
33
|
| 'BOT_DA_GAS_LIMIT'
|
|
28
34
|
| 'BOT_FEE_PAYMENT_METHOD'
|
|
29
|
-
| '
|
|
35
|
+
| 'BOT_MIN_FEE_PADDING'
|
|
30
36
|
| 'BOT_FLUSH_SETUP_TRANSACTIONS'
|
|
31
37
|
| 'BOT_FOLLOW_CHAIN'
|
|
32
38
|
| 'BOT_L2_GAS_LIMIT'
|
|
@@ -46,7 +52,10 @@ export type EnvVar =
|
|
|
46
52
|
| 'BOT_TX_MINED_WAIT_SECONDS'
|
|
47
53
|
| 'BOT_MAX_CONSECUTIVE_ERRORS'
|
|
48
54
|
| 'BOT_STOP_WHEN_UNHEALTHY'
|
|
49
|
-
| '
|
|
55
|
+
| 'BOT_MODE'
|
|
56
|
+
| 'BOT_L2_TO_L1_MESSAGES_PER_TX'
|
|
57
|
+
| 'BOT_L1_TO_L2_SEED_COUNT'
|
|
58
|
+
| 'BOT_L1_TO_L2_SEED_INTERVAL'
|
|
50
59
|
| 'COINBASE'
|
|
51
60
|
| 'CRS_PATH'
|
|
52
61
|
| 'DATA_DIRECTORY'
|
|
@@ -55,6 +64,7 @@ export type EnvVar =
|
|
|
55
64
|
| 'BLOB_SINK_MAP_SIZE_KB'
|
|
56
65
|
| 'P2P_STORE_MAP_SIZE_KB'
|
|
57
66
|
| 'PROVER_BROKER_STORE_MAP_SIZE_KB'
|
|
67
|
+
| 'SIGNING_PROTECTION_MAP_SIZE_KB'
|
|
58
68
|
| 'WS_DB_MAP_SIZE_KB'
|
|
59
69
|
| 'ARCHIVE_TREE_MAP_SIZE_KB'
|
|
60
70
|
| 'NULLIFIER_TREE_MAP_SIZE_KB'
|
|
@@ -63,18 +73,23 @@ export type EnvVar =
|
|
|
63
73
|
| 'PUBLIC_DATA_TREE_MAP_SIZE_KB'
|
|
64
74
|
| 'DEBUG'
|
|
65
75
|
| 'DEBUG_P2P_DISABLE_COLOCATION_PENALTY'
|
|
66
|
-
| '
|
|
76
|
+
| 'ENABLE_PROVER_NODE'
|
|
67
77
|
| 'ETHEREUM_HOSTS'
|
|
78
|
+
| 'ETHEREUM_DEBUG_HOSTS'
|
|
79
|
+
| 'ETHEREUM_ALLOW_NO_DEBUG_HOSTS'
|
|
68
80
|
| 'FEE_RECIPIENT'
|
|
69
81
|
| 'FORCE_COLOR'
|
|
70
82
|
| 'GOVERNANCE_PROPOSER_PAYLOAD_ADDRESS'
|
|
71
83
|
| 'KEY_STORE_DIRECTORY'
|
|
72
84
|
| 'L1_CHAIN_ID'
|
|
73
85
|
| 'L1_CONSENSUS_HOST_URLS'
|
|
86
|
+
| 'ETHEREUM_HTTP_TIMEOUT_MS'
|
|
74
87
|
| 'L1_CONSENSUS_HOST_API_KEYS'
|
|
75
88
|
| 'L1_CONSENSUS_HOST_API_KEY_HEADERS'
|
|
89
|
+
| 'L1_TX_FAILED_STORE'
|
|
76
90
|
| 'LOG_JSON'
|
|
77
91
|
| 'LOG_MULTILINE'
|
|
92
|
+
| 'LOG_NO_COLOR_PER_ACTOR'
|
|
78
93
|
| 'LOG_LEVEL'
|
|
79
94
|
| 'MNEMONIC'
|
|
80
95
|
| 'NETWORK'
|
|
@@ -92,7 +107,12 @@ export type EnvVar =
|
|
|
92
107
|
| 'PUBLIC_OTEL_INCLUDE_METRICS'
|
|
93
108
|
| 'PUBLIC_OTEL_COLLECT_FROM'
|
|
94
109
|
| 'PUBLIC_OTEL_OPT_OUT'
|
|
110
|
+
| 'P2P_BATCH_TX_REQUESTER_SMART_PARALLEL_WORKER_COUNT'
|
|
111
|
+
| 'P2P_BATCH_TX_REQUESTER_DUMB_PARALLEL_WORKER_COUNT'
|
|
112
|
+
| 'P2P_BATCH_TX_REQUESTER_TX_BATCH_SIZE'
|
|
113
|
+
| 'P2P_BATCH_TX_REQUESTER_BAD_PEER_THRESHOLD'
|
|
95
114
|
| 'P2P_BLOCK_CHECK_INTERVAL_MS'
|
|
115
|
+
| 'P2P_SLOT_CHECK_INTERVAL_MS'
|
|
96
116
|
| 'P2P_BLOCK_REQUEST_BATCH_SIZE'
|
|
97
117
|
| 'P2P_BOOTSTRAP_NODE_ENR_VERSION_CHECK'
|
|
98
118
|
| 'P2P_BOOTSTRAP_NODES_AS_FULL_PEERS'
|
|
@@ -113,6 +133,7 @@ export type EnvVar =
|
|
|
113
133
|
| 'P2P_L2_QUEUE_SIZE'
|
|
114
134
|
| 'P2P_MAX_PEERS'
|
|
115
135
|
| 'P2P_PEER_CHECK_INTERVAL_MS'
|
|
136
|
+
| 'P2P_PEER_FAILED_BAN_TIME_MS'
|
|
116
137
|
| 'P2P_PEER_PENALTY_VALUES'
|
|
117
138
|
| 'P2P_QUERY_FOR_IP'
|
|
118
139
|
| 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS'
|
|
@@ -131,12 +152,12 @@ export type EnvVar =
|
|
|
131
152
|
| 'P2P_TRUSTED_PEERS'
|
|
132
153
|
| 'P2P_PRIVATE_PEERS'
|
|
133
154
|
| 'P2P_PREFERRED_PEERS'
|
|
134
|
-
| '
|
|
135
|
-
| 'P2P_TX_POOL_OVERFLOW_FACTOR'
|
|
155
|
+
| 'P2P_MAX_PENDING_TX_COUNT'
|
|
136
156
|
| 'P2P_SEEN_MSG_CACHE_SIZE'
|
|
137
|
-
| 'P2P_DROP_TX'
|
|
138
157
|
| 'P2P_DROP_TX_CHANCE'
|
|
139
158
|
| 'P2P_TX_POOL_DELETE_TXS_AFTER_REORG'
|
|
159
|
+
| 'P2P_MIN_TX_POOL_AGE_MS'
|
|
160
|
+
| 'P2P_RPC_PRICE_BUMP_PERCENTAGE'
|
|
140
161
|
| 'DEBUG_P2P_INSTRUMENT_MESSAGES'
|
|
141
162
|
| 'PEER_ID_PRIVATE_KEY'
|
|
142
163
|
| 'PEER_ID_PRIVATE_KEY_PATH'
|
|
@@ -150,7 +171,11 @@ export type EnvVar =
|
|
|
150
171
|
| 'PROVER_BROKER_BATCH_INTERVAL_MS'
|
|
151
172
|
| 'PROVER_BROKER_BATCH_SIZE'
|
|
152
173
|
| 'PROVER_BROKER_MAX_EPOCHS_TO_KEEP_RESULTS_FOR'
|
|
174
|
+
| 'PROVER_BROKER_DEBUG_REPLAY_ENABLED'
|
|
175
|
+
| 'PROVER_CANCEL_JOBS_ON_STOP'
|
|
176
|
+
| 'PROVER_ENQUEUE_CONCURRENCY'
|
|
153
177
|
| 'PROVER_COORDINATION_NODE_URLS'
|
|
178
|
+
| 'PROVER_PROOF_STORE'
|
|
154
179
|
| 'PROVER_FAILED_PROOF_STORE'
|
|
155
180
|
| 'PROVER_NODE_FAILED_EPOCH_STORE'
|
|
156
181
|
| 'PROVER_NODE_DISABLE_PROOF_PUBLISH'
|
|
@@ -166,6 +191,7 @@ export type EnvVar =
|
|
|
166
191
|
| 'PROVER_PUBLISHER_PRIVATE_KEYS'
|
|
167
192
|
| 'PROVER_PUBLISHER_ADDRESSES'
|
|
168
193
|
| 'PROVER_PUBLISHER_ALLOW_INVALID_STATES'
|
|
194
|
+
| 'PROVER_PUBLISHER_FORWARDER_ADDRESS'
|
|
169
195
|
| 'PROVER_REAL_PROOFS'
|
|
170
196
|
| 'PROVER_TEST_DELAY_FACTOR'
|
|
171
197
|
| 'PROVER_TEST_DELAY_MS'
|
|
@@ -173,6 +199,7 @@ export type EnvVar =
|
|
|
173
199
|
| 'PROVER_TEST_VERIFICATION_DELAY_MS'
|
|
174
200
|
| 'PXE_L2_BLOCK_BATCH_SIZE'
|
|
175
201
|
| 'PXE_PROVER_ENABLED'
|
|
202
|
+
| 'PXE_SYNC_CHAIN_TIP'
|
|
176
203
|
| 'RPC_MAX_BATCH_SIZE'
|
|
177
204
|
| 'RPC_MAX_BODY_SIZE'
|
|
178
205
|
| 'RPC_SIMULATE_PUBLIC_MAX_GAS_LIMIT'
|
|
@@ -180,22 +207,32 @@ export type EnvVar =
|
|
|
180
207
|
| 'SENTINEL_ENABLED'
|
|
181
208
|
| 'SENTINEL_HISTORY_LENGTH_IN_EPOCHS'
|
|
182
209
|
| 'SENTINEL_HISTORIC_PROVEN_PERFORMANCE_LENGTH_IN_EPOCHS'
|
|
183
|
-
| '
|
|
210
|
+
| 'SEQ_ENABLE_PROPOSER_PIPELINING'
|
|
184
211
|
| 'SEQ_MAX_TX_PER_BLOCK'
|
|
212
|
+
| 'SEQ_MAX_TX_PER_CHECKPOINT'
|
|
185
213
|
| 'SEQ_MIN_TX_PER_BLOCK'
|
|
186
214
|
| 'SEQ_PUBLISH_TXS_WITH_PROPOSALS'
|
|
187
215
|
| 'SEQ_MAX_DA_BLOCK_GAS'
|
|
188
216
|
| 'SEQ_MAX_L2_BLOCK_GAS'
|
|
217
|
+
| 'SEQ_PER_BLOCK_ALLOCATION_MULTIPLIER'
|
|
218
|
+
| 'SEQ_REDISTRIBUTE_CHECKPOINT_BUDGET'
|
|
189
219
|
| 'SEQ_PUBLISHER_PRIVATE_KEY'
|
|
190
220
|
| 'SEQ_PUBLISHER_PRIVATE_KEYS'
|
|
191
221
|
| 'SEQ_PUBLISHER_ADDRESSES'
|
|
192
222
|
| 'SEQ_PUBLISHER_ALLOW_INVALID_STATES'
|
|
193
|
-
| '
|
|
223
|
+
| 'SEQ_PUBLISHER_FORWARDER_ADDRESS'
|
|
224
|
+
| 'PUBLISHER_FUNDING_THRESHOLD'
|
|
225
|
+
| 'PUBLISHER_FUNDING_AMOUNT'
|
|
226
|
+
| 'SEQ_POLLING_INTERVAL_MS'
|
|
194
227
|
| 'SEQ_ENFORCE_TIME_TABLE'
|
|
195
|
-
| '
|
|
228
|
+
| 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT'
|
|
196
229
|
| 'SEQ_ATTESTATION_PROPAGATION_TIME'
|
|
230
|
+
| 'SEQ_BLOCK_DURATION_MS'
|
|
231
|
+
| 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT'
|
|
232
|
+
| 'SEQ_BUILD_CHECKPOINT_IF_EMPTY'
|
|
197
233
|
| 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_COMMITTEE_MEMBER'
|
|
198
234
|
| 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_NON_COMMITTEE_MEMBER'
|
|
235
|
+
| 'SEQ_SKIP_CHECKPOINT_PUBLISH_PERCENT'
|
|
199
236
|
| 'SLASH_MIN_PENALTY_PERCENTAGE'
|
|
200
237
|
| 'SLASH_MAX_PENALTY_PERCENTAGE'
|
|
201
238
|
| 'SLASH_VALIDATORS_ALWAYS'
|
|
@@ -206,6 +243,8 @@ export type EnvVar =
|
|
|
206
243
|
| 'SLASH_INACTIVITY_TARGET_PERCENTAGE'
|
|
207
244
|
| 'SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD'
|
|
208
245
|
| 'SLASH_INVALID_BLOCK_PENALTY'
|
|
246
|
+
| 'SLASH_DUPLICATE_PROPOSAL_PENALTY'
|
|
247
|
+
| 'SLASH_DUPLICATE_ATTESTATION_PENALTY'
|
|
209
248
|
| 'SLASH_OVERRIDE_PAYLOAD'
|
|
210
249
|
| 'SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY'
|
|
211
250
|
| 'SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY'
|
|
@@ -220,6 +259,7 @@ export type EnvVar =
|
|
|
220
259
|
| 'TELEMETRY'
|
|
221
260
|
| 'TEST_ACCOUNTS'
|
|
222
261
|
| 'SPONSORED_FPC'
|
|
262
|
+
| 'PREFUND_ADDRESSES'
|
|
223
263
|
| 'TX_COLLECTION_FAST_NODES_TIMEOUT_BEFORE_REQ_RESP_MS'
|
|
224
264
|
| 'TX_COLLECTION_SLOW_NODES_INTERVAL_MS'
|
|
225
265
|
| 'TX_COLLECTION_SLOW_REQ_RESP_INTERVAL_MS'
|
|
@@ -230,21 +270,39 @@ export type EnvVar =
|
|
|
230
270
|
| 'TX_COLLECTION_FAST_MAX_PARALLEL_REQUESTS_PER_NODE'
|
|
231
271
|
| 'TX_COLLECTION_NODE_RPC_MAX_BATCH_SIZE'
|
|
232
272
|
| 'TX_COLLECTION_NODE_RPC_URLS'
|
|
273
|
+
| 'TX_COLLECTION_MISSING_TXS_COLLECTOR_TYPE'
|
|
274
|
+
| 'TX_COLLECTION_FILE_STORE_URLS'
|
|
275
|
+
| 'TX_COLLECTION_FILE_STORE_SLOW_DELAY_MS'
|
|
276
|
+
| 'TX_COLLECTION_FILE_STORE_FAST_DELAY_MS'
|
|
277
|
+
| 'TX_COLLECTION_FILE_STORE_FAST_WORKER_COUNT'
|
|
278
|
+
| 'TX_COLLECTION_FILE_STORE_SLOW_WORKER_COUNT'
|
|
279
|
+
| 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_BASE_MS'
|
|
280
|
+
| 'TX_COLLECTION_FILE_STORE_SLOW_BACKOFF_BASE_MS'
|
|
281
|
+
| 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_MAX_MS'
|
|
282
|
+
| 'TX_COLLECTION_FILE_STORE_SLOW_BACKOFF_MAX_MS'
|
|
283
|
+
| 'TX_FILE_STORE_URL'
|
|
284
|
+
| 'TX_FILE_STORE_UPLOAD_CONCURRENCY'
|
|
285
|
+
| 'TX_FILE_STORE_MAX_QUEUE_SIZE'
|
|
286
|
+
| 'TX_FILE_STORE_ENABLED'
|
|
233
287
|
| 'TX_PUBLIC_SETUP_ALLOWLIST'
|
|
234
288
|
| 'TXE_PORT'
|
|
235
289
|
| 'TRANSACTIONS_DISABLED'
|
|
236
290
|
| 'VALIDATOR_ATTESTATIONS_POLLING_INTERVAL_MS'
|
|
237
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'
|
|
238
296
|
| 'VALIDATOR_PRIVATE_KEYS'
|
|
239
297
|
| 'VALIDATOR_PRIVATE_KEY'
|
|
240
298
|
| 'VALIDATOR_REEXECUTE'
|
|
241
299
|
| 'VALIDATOR_ADDRESSES'
|
|
242
300
|
| 'ROLLUP_VERSION'
|
|
243
301
|
| 'WS_BLOCK_CHECK_INTERVAL_MS'
|
|
244
|
-
| 'WS_PROVEN_BLOCKS_ONLY'
|
|
245
302
|
| 'WS_BLOCK_REQUEST_BATCH_SIZE'
|
|
246
303
|
| 'L1_READER_VIEM_POLLING_INTERVAL_MS'
|
|
247
304
|
| 'WS_DATA_DIRECTORY'
|
|
305
|
+
| 'WS_NUM_HISTORIC_CHECKPOINTS'
|
|
248
306
|
| 'WS_NUM_HISTORIC_BLOCKS'
|
|
249
307
|
| 'ETHEREUM_SLOT_DURATION'
|
|
250
308
|
| 'AZTEC_SLOT_DURATION'
|
|
@@ -252,12 +310,14 @@ export type EnvVar =
|
|
|
252
310
|
| 'AZTEC_TARGET_COMMITTEE_SIZE'
|
|
253
311
|
| 'AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET'
|
|
254
312
|
| 'AZTEC_LAG_IN_EPOCHS_FOR_RANDAO'
|
|
313
|
+
| 'AZTEC_INBOX_LAG'
|
|
255
314
|
| 'AZTEC_PROOF_SUBMISSION_EPOCHS'
|
|
256
315
|
| 'AZTEC_ACTIVATION_THRESHOLD'
|
|
257
316
|
| 'AZTEC_EJECTION_THRESHOLD'
|
|
258
317
|
| 'AZTEC_LOCAL_EJECTION_THRESHOLD'
|
|
259
318
|
| 'AZTEC_MANA_TARGET'
|
|
260
319
|
| 'AZTEC_PROVING_COST_PER_MANA'
|
|
320
|
+
| 'AZTEC_INITIAL_ETH_PER_FEE_ASSET'
|
|
261
321
|
| 'AZTEC_SLASHING_QUORUM'
|
|
262
322
|
| 'AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS'
|
|
263
323
|
| 'AZTEC_SLASHING_LIFETIME_IN_ROUNDS'
|
|
@@ -271,6 +331,7 @@ export type EnvVar =
|
|
|
271
331
|
| 'AZTEC_SLASHER_FLAVOR'
|
|
272
332
|
| 'AZTEC_GOVERNANCE_PROPOSER_QUORUM'
|
|
273
333
|
| 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE'
|
|
334
|
+
| 'AZTEC_GOVERNANCE_VOTING_DURATION'
|
|
274
335
|
| 'AZTEC_EXIT_DELAY_SECONDS'
|
|
275
336
|
| 'L1_GAS_LIMIT_BUFFER_PERCENTAGE'
|
|
276
337
|
| 'L1_GAS_PRICE_MAX'
|
|
@@ -279,6 +340,7 @@ export type EnvVar =
|
|
|
279
340
|
| 'L1_BLOB_FEE_PER_GAS_GWEI_MAX'
|
|
280
341
|
| 'L1_PRIORITY_FEE_BUMP_PERCENTAGE'
|
|
281
342
|
| 'L1_PRIORITY_FEE_RETRY_BUMP_PERCENTAGE'
|
|
343
|
+
| 'L1_MINIMUM_PRIORITY_FEE_PER_GAS_GWEI'
|
|
282
344
|
| 'L1_FIXED_PRIORITY_FEE_PER_GAS'
|
|
283
345
|
| 'L1_FIXED_PRIORITY_FEE_PER_GAS_GWEI'
|
|
284
346
|
| 'L1_TX_MONITOR_MAX_ATTEMPTS'
|
|
@@ -295,13 +357,24 @@ export type EnvVar =
|
|
|
295
357
|
| 'K8S_POD_NAME'
|
|
296
358
|
| 'K8S_POD_UID'
|
|
297
359
|
| 'K8S_NAMESPACE_NAME'
|
|
360
|
+
| 'ENABLE_VERSION_CHECK'
|
|
298
361
|
| 'VALIDATOR_REEXECUTE_DEADLINE_MS'
|
|
299
|
-
| 'ALWAYS_REEXECUTE_BLOCK_PROPOSALS'
|
|
300
|
-
| 'AUTO_UPDATE'
|
|
301
|
-
| 'AUTO_UPDATE_URL'
|
|
302
362
|
| 'WEB3_SIGNER_URL'
|
|
303
363
|
| 'SKIP_ARCHIVER_INITIAL_SYNC'
|
|
304
364
|
| 'BLOB_ALLOW_EMPTY_SOURCES'
|
|
305
365
|
| 'FISHERMAN_MODE'
|
|
306
366
|
| 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS'
|
|
307
|
-
| 'LEGACY_BLS_CLI'
|
|
367
|
+
| 'LEGACY_BLS_CLI'
|
|
368
|
+
| 'DEBUG_FORCE_TX_PROOF_VERIFICATION'
|
|
369
|
+
| 'VALIDATOR_HA_SIGNING_ENABLED'
|
|
370
|
+
| 'VALIDATOR_HA_NODE_ID'
|
|
371
|
+
| 'VALIDATOR_HA_POLLING_INTERVAL_MS'
|
|
372
|
+
| 'VALIDATOR_HA_SIGNING_TIMEOUT_MS'
|
|
373
|
+
| 'VALIDATOR_HA_MAX_STUCK_DUTIES_AGE_MS'
|
|
374
|
+
| 'VALIDATOR_HA_OLD_DUTIES_MAX_AGE_H'
|
|
375
|
+
| 'VALIDATOR_HA_DATABASE_URL'
|
|
376
|
+
| 'VALIDATOR_HA_RUN_MIGRATIONS'
|
|
377
|
+
| 'VALIDATOR_HA_POOL_MAX'
|
|
378
|
+
| 'VALIDATOR_HA_POOL_MIN'
|
|
379
|
+
| 'VALIDATOR_HA_POOL_IDLE_TIMEOUT_MS'
|
|
380
|
+
| 'VALIDATOR_HA_POOL_CONNECTION_TIMEOUT_MS';
|
package/src/config/index.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { Fq, Fr } from '../
|
|
1
|
+
import { Fq, Fr } from '../curves/bn254/field.js';
|
|
2
|
+
import { createConsoleLogger } from '../log/console.js';
|
|
2
3
|
import type { EnvVar } from './env_var.js';
|
|
3
4
|
import { type NetworkNames, getActiveNetworkName } from './network_name.js';
|
|
5
|
+
import { parseBooleanEnv } from './parse-env.js';
|
|
4
6
|
import { SecretValue } from './secret_value.js';
|
|
5
7
|
|
|
6
8
|
export { SecretValue, getActiveNetworkName };
|
|
@@ -17,6 +19,11 @@ export interface ConfigMapping {
|
|
|
17
19
|
isBoolean?: boolean;
|
|
18
20
|
nested?: Record<string, ConfigMapping>;
|
|
19
21
|
fallback?: EnvVar[];
|
|
22
|
+
/**
|
|
23
|
+
* List of deprecated env vars that are still supported but will log a warning.
|
|
24
|
+
* These should also be included in the fallback array for parsing.
|
|
25
|
+
*/
|
|
26
|
+
deprecatedFallback?: { env: EnvVar; message?: string }[];
|
|
20
27
|
}
|
|
21
28
|
|
|
22
29
|
export function isBooleanConfigValue<T>(obj: T, key: keyof T): boolean {
|
|
@@ -72,12 +79,24 @@ export function getConfigFromMappings<T>(configMappings: ConfigMappingsType<T>):
|
|
|
72
79
|
const config = {} as T;
|
|
73
80
|
|
|
74
81
|
for (const key in configMappings) {
|
|
75
|
-
const { env, parseEnv, defaultValue, nested, fallback } = configMappings[key];
|
|
82
|
+
const { env, parseEnv, defaultValue, nested, fallback, deprecatedFallback } = configMappings[key];
|
|
76
83
|
if (nested) {
|
|
77
84
|
(config as any)[key] = getConfigFromMappings(nested);
|
|
78
85
|
} else {
|
|
79
86
|
// Use the shared utility function
|
|
80
87
|
(config as any)[key] = getValueFromEnvWithFallback(env, parseEnv, defaultValue, fallback);
|
|
88
|
+
|
|
89
|
+
// Check for deprecated env vars and warn if logger is set
|
|
90
|
+
if (deprecatedFallback?.length) {
|
|
91
|
+
const userLog = createConsoleLogger('[DEPRECATED]');
|
|
92
|
+
for (const { env: deprecatedEnv, message } of deprecatedFallback) {
|
|
93
|
+
if (process.env[deprecatedEnv]) {
|
|
94
|
+
const warningMessage =
|
|
95
|
+
message ?? `Environment variable ${deprecatedEnv} is deprecated. Please use ${env} instead.`;
|
|
96
|
+
userLog(warningMessage, { deprecatedEnvVar: deprecatedEnv, newEnvVar: env });
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
81
100
|
}
|
|
82
101
|
}
|
|
83
102
|
|
|
@@ -130,6 +149,23 @@ export function floatConfigHelper(
|
|
|
130
149
|
};
|
|
131
150
|
}
|
|
132
151
|
|
|
152
|
+
/**
|
|
153
|
+
* Parses an environment variable to a 0-1 percentage value
|
|
154
|
+
*/
|
|
155
|
+
export function percentageConfigHelper(defaultVal: number): Pick<ConfigMapping, 'parseEnv' | 'defaultValue'> {
|
|
156
|
+
return {
|
|
157
|
+
parseEnv: (val: string): number => {
|
|
158
|
+
const parsed = safeParseFloat(val, defaultVal);
|
|
159
|
+
if (parsed < 0 || parsed > 1) {
|
|
160
|
+
throw new TypeError(`Invalid percentage value: ${parsed} should be between 0 and 1`);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
return parsed;
|
|
164
|
+
},
|
|
165
|
+
defaultValue: defaultVal,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
|
|
133
169
|
/**
|
|
134
170
|
* Generates parseEnv and default values for a numerical config value.
|
|
135
171
|
* @param defaultVal - The default numerical value to use if the environment variable is not set or is invalid
|
|
@@ -141,6 +177,21 @@ export function bigintConfigHelper(defaultVal?: bigint): Pick<ConfigMapping, 'pa
|
|
|
141
177
|
if (val === '') {
|
|
142
178
|
return defaultVal;
|
|
143
179
|
}
|
|
180
|
+
// Handle scientific notation (e.g. "1e+23", "2E23") which BigInt() doesn't accept directly.
|
|
181
|
+
// We parse it losslessly using bigint arithmetic instead of going through float64.
|
|
182
|
+
if (/[eE]/.test(val)) {
|
|
183
|
+
const match = val.match(/^(-?\d+(?:\.(\d+))?)[eE]([+-]?\d+)$/);
|
|
184
|
+
if (!match) {
|
|
185
|
+
throw new Error(`Cannot convert '${val}' to a BigInt`);
|
|
186
|
+
}
|
|
187
|
+
const digits = match[1].replace('.', '');
|
|
188
|
+
const decimalPlaces = match[2]?.length ?? 0;
|
|
189
|
+
const exponent = parseInt(match[3], 10) - decimalPlaces;
|
|
190
|
+
if (exponent < 0) {
|
|
191
|
+
throw new Error(`Cannot convert '${val}' to a BigInt: result is not an integer`);
|
|
192
|
+
}
|
|
193
|
+
return BigInt(digits) * 10n ** BigInt(exponent);
|
|
194
|
+
}
|
|
144
195
|
return BigInt(val);
|
|
145
196
|
},
|
|
146
197
|
defaultValue: defaultVal,
|
|
@@ -213,10 +264,7 @@ export function secretValueConfigHelper<T>(parse: (val: string | undefined) => T
|
|
|
213
264
|
};
|
|
214
265
|
}
|
|
215
266
|
|
|
216
|
-
|
|
217
|
-
export function parseBooleanEnv(val: string | undefined): boolean {
|
|
218
|
-
return val !== undefined && ['1', 'true', 'TRUE'].includes(val);
|
|
219
|
-
}
|
|
267
|
+
export { parseBooleanEnv } from './parse-env.js';
|
|
220
268
|
|
|
221
269
|
export function secretStringConfigHelper(): Required<
|
|
222
270
|
Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
|
|
@@ -4,9 +4,14 @@ export const NetworkConfigSchema = z
|
|
|
4
4
|
.object({
|
|
5
5
|
bootnodes: z.array(z.string()),
|
|
6
6
|
snapshots: z.array(z.string()),
|
|
7
|
+
blobFileStoreUrls: z.array(z.string()).optional(),
|
|
8
|
+
txCollectionFileStoreUrls: z.array(z.string()).optional(),
|
|
7
9
|
registryAddress: z.string(),
|
|
8
10
|
feeAssetHandlerAddress: z.string().optional(),
|
|
9
11
|
l1ChainId: z.number(),
|
|
12
|
+
blockDurationMs: z.number().positive().optional(),
|
|
13
|
+
txPublicSetupAllowListExtend: z.string().optional(),
|
|
14
|
+
nodeVersion: z.string().optional(),
|
|
10
15
|
})
|
|
11
16
|
.passthrough(); // Allow additional unknown fields to pass through
|
|
12
17
|
|
|
@@ -5,7 +5,8 @@ export type NetworkNames =
|
|
|
5
5
|
| 'testnet'
|
|
6
6
|
| 'mainnet'
|
|
7
7
|
| 'next-net'
|
|
8
|
-
| 'devnet'
|
|
8
|
+
| 'devnet'
|
|
9
|
+
| `v${number}-devnet-${number}`;
|
|
9
10
|
|
|
10
11
|
export function getActiveNetworkName(name?: string): NetworkNames {
|
|
11
12
|
const network = name || process.env.NETWORK;
|
|
@@ -23,6 +24,8 @@ export function getActiveNetworkName(name?: string): NetworkNames {
|
|
|
23
24
|
return 'next-net';
|
|
24
25
|
} else if (network === 'devnet') {
|
|
25
26
|
return 'devnet';
|
|
27
|
+
} else if (/^v\d+-devnet-\d+$/.test(network)) {
|
|
28
|
+
return network as `v${number}-devnet-${number}`;
|
|
26
29
|
}
|
|
27
30
|
throw new Error(`Unknown network: ${network}`);
|
|
28
31
|
}
|
package/src/crypto/bls/index.ts
CHANGED