@aztec/foundation 0.0.1-commit.03f7ef2 → 0.0.1-commit.04d373f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/array/index.d.ts +2 -1
- package/dest/array/index.d.ts.map +1 -1
- package/dest/array/index.js +1 -0
- package/dest/array/sorted_array.d.ts +15 -0
- package/dest/array/sorted_array.d.ts.map +1 -0
- package/dest/array/sorted_array.js +109 -0
- package/dest/bigint-buffer/index.d.ts +1 -1
- package/dest/bigint-buffer/index.d.ts.map +1 -1
- package/dest/bigint-buffer/index.js +6 -1
- package/dest/branded-types/block_number.d.ts +6 -3
- package/dest/branded-types/block_number.d.ts.map +1 -1
- package/dest/branded-types/block_number.js +18 -4
- package/dest/branded-types/buffer32_hash.d.ts +27 -0
- package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
- package/dest/branded-types/buffer32_hash.js +12 -0
- package/dest/branded-types/checkpoint_number.d.ts +17 -3
- package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
- package/dest/branded-types/checkpoint_number.js +28 -8
- package/dest/branded-types/epoch.d.ts +2 -2
- package/dest/branded-types/epoch.d.ts.map +1 -1
- package/dest/branded-types/index.d.ts +4 -2
- package/dest/branded-types/index.d.ts.map +1 -1
- package/dest/branded-types/index.js +3 -1
- package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
- package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
- package/dest/branded-types/index_within_checkpoint.js +59 -0
- package/dest/branded-types/slot.d.ts +5 -2
- package/dest/branded-types/slot.d.ts.map +1 -1
- package/dest/branded-types/slot.js +3 -0
- package/dest/buffer/buffer16.d.ts +6 -1
- package/dest/buffer/buffer16.d.ts.map +1 -1
- package/dest/buffer/buffer16.js +3 -1
- package/dest/buffer/buffer32.d.ts +28 -58
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +32 -64
- package/dest/buffer/index.d.ts +2 -1
- package/dest/buffer/index.d.ts.map +1 -1
- package/dest/buffer/index.js +1 -0
- package/dest/buffer/utils.d.ts +3 -0
- package/dest/buffer/utils.d.ts.map +1 -0
- package/dest/buffer/utils.js +7 -0
- package/dest/collection/array.d.ts +22 -1
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +84 -0
- package/dest/collection/index.d.ts +3 -1
- package/dest/collection/index.d.ts.map +1 -1
- package/dest/collection/index.js +2 -0
- package/dest/collection/lru_map.d.ts +41 -0
- package/dest/collection/lru_map.d.ts.map +1 -0
- package/dest/collection/lru_map.js +119 -0
- package/dest/collection/lru_set.d.ts +35 -0
- package/dest/collection/lru_set.d.ts.map +1 -0
- package/dest/collection/lru_set.js +95 -0
- package/dest/committable/committable.js +1 -1
- package/dest/config/env_var.d.ts +2 -2
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/config/index.d.ts +51 -31
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +59 -50
- 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 +2 -2
- package/dest/config/parse-env.d.ts +3 -0
- package/dest/config/parse-env.d.ts.map +1 -0
- package/dest/config/parse-env.js +7 -0
- package/dest/config/secret_value.d.ts +2 -2
- package/dest/config/secret_value.d.ts.map +1 -1
- package/dest/config/secret_value.js +3 -1
- package/dest/crypto/aes128/index.d.ts +2 -1
- package/dest/crypto/aes128/index.d.ts.map +1 -1
- package/dest/crypto/aes128/index.js +11 -2
- package/dest/crypto/bls/bn254_keystore.d.ts +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/ecdsa/signature.d.ts +10 -1
- package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.d.ts +1 -2
- package/dest/crypto/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.js +40 -42
- 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 +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/crypto/sync/poseidon/index.d.ts +1 -2
- package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/sync/poseidon/index.js +0 -8
- 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 +6 -8
- package/dest/curves/bls12/point.d.ts +11 -2
- package/dest/curves/bls12/point.d.ts.map +1 -1
- package/dest/curves/bls12/point.js +3 -1
- package/dest/curves/bn254/field.d.ts +25 -19
- package/dest/curves/bn254/field.d.ts.map +1 -1
- package/dest/curves/bn254/field.js +36 -21
- package/dest/curves/grumpkin/point.d.ts +21 -26
- package/dest/curves/grumpkin/point.d.ts.map +1 -1
- package/dest/curves/grumpkin/point.js +29 -43
- package/dest/error/index.d.ts +4 -4
- package/dest/error/index.d.ts.map +1 -1
- 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 +4 -5
- package/dest/eth-signature/eth_signature.d.ts +6 -2
- package/dest/eth-signature/eth_signature.d.ts.map +1 -1
- package/dest/eth-signature/eth_signature.js +7 -2
- package/dest/fifo/fifo_frame_reader.d.ts +41 -0
- package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
- package/dest/fifo/fifo_frame_reader.js +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/jest/setup.js +28 -1
- package/dest/json-rpc/client/fetch.d.ts +1 -1
- package/dest/json-rpc/client/fetch.d.ts.map +1 -1
- package/dest/json-rpc/client/fetch.js +4 -3
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts +2 -1
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.js +3 -3
- package/dest/json-rpc/client/undici.d.ts +1 -1
- package/dest/json-rpc/client/undici.d.ts.map +1 -1
- package/dest/json-rpc/client/undici.js +23 -4
- package/dest/json-rpc/fixtures/class_a.d.ts +3 -3
- package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/class_b.d.ts +3 -3
- package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/test_state.d.ts +4 -8
- package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/test_state.js +57 -17
- package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
- package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
- package/dest/json-rpc/server/api_key_auth.js +57 -0
- package/dest/json-rpc/server/index.d.ts +2 -1
- package/dest/json-rpc/server/index.d.ts.map +1 -1
- package/dest/json-rpc/server/index.js +1 -0
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts +8 -3
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.js +28 -14
- package/dest/log/bigint-utils.d.ts +5 -0
- package/dest/log/bigint-utils.d.ts.map +1 -0
- package/dest/log/bigint-utils.js +21 -0
- package/dest/log/gcloud-logger-config.d.ts +1 -1
- package/dest/log/gcloud-logger-config.d.ts.map +1 -1
- package/dest/log/gcloud-logger-config.js +3 -0
- package/dest/log/libp2p_logger.d.ts +5 -2
- package/dest/log/libp2p_logger.d.ts.map +1 -1
- package/dest/log/libp2p_logger.js +14 -4
- package/dest/log/log-filters.d.ts +17 -4
- package/dest/log/log-filters.d.ts.map +1 -1
- package/dest/log/log-filters.js +26 -12
- package/dest/log/pino-logger-server.d.ts +9 -0
- package/dest/log/pino-logger-server.d.ts.map +1 -0
- package/dest/log/pino-logger-server.js +18 -0
- package/dest/log/pino-logger.d.ts +37 -8
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/log/pino-logger.js +138 -30
- package/dest/noir/noir_package_config.d.ts +19 -104
- package/dest/noir/noir_package_config.d.ts.map +1 -1
- package/dest/noir/noir_package_config.js +1 -1
- package/dest/queue/base_memory_queue.d.ts +2 -2
- package/dest/queue/base_memory_queue.d.ts.map +1 -1
- package/dest/queue/batch_queue.d.ts +1 -1
- package/dest/queue/batch_queue.d.ts.map +1 -1
- package/dest/queue/batch_queue.js +1 -0
- package/dest/queue/semaphore.d.ts +5 -1
- package/dest/queue/semaphore.d.ts.map +1 -1
- package/dest/retry/index.d.ts +22 -1
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +32 -0
- package/dest/schemas/api.d.ts +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 +14 -4
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +26 -4
- package/dest/serialize/buffer_sink.d.ts +134 -0
- package/dest/serialize/buffer_sink.d.ts.map +1 -0
- package/dest/serialize/buffer_sink.js +297 -0
- package/dest/serialize/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 +25 -1
- package/dest/timer/date.d.ts.map +1 -1
- package/dest/timer/date.js +33 -0
- package/dest/timer/index.d.ts +2 -2
- package/dest/timer/index.d.ts.map +1 -1
- package/dest/timer/index.js +1 -1
- package/dest/timer/timeout.d.ts +3 -1
- package/dest/timer/timeout.d.ts.map +1 -1
- package/dest/timer/timeout.js +26 -0
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
- package/dest/transport/index.d.ts +1 -2
- package/dest/transport/index.d.ts.map +1 -1
- package/dest/transport/index.js +0 -1
- package/dest/transport/transport_client.js +2 -2
- package/dest/trees/balanced_merkle_tree_root.d.ts +16 -0
- package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
- package/dest/trees/{balanced_merkle_tree.js → balanced_merkle_tree_root.js} +3 -19
- package/dest/trees/hasher.d.ts +4 -1
- package/dest/trees/hasher.d.ts.map +1 -1
- package/dest/trees/hasher.js +10 -5
- package/dest/trees/index.d.ts +4 -4
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +3 -3
- package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
- package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/indexed_merkle_tree_calculator.js +5 -1
- package/dest/trees/membership_witness.d.ts +12 -2
- package/dest/trees/membership_witness.d.ts.map +1 -1
- package/dest/trees/membership_witness.js +9 -0
- 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 +6 -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_calculator.d.ts +2 -3
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree_calculator.js +1 -5
- package/dest/trees/{unbalanced_merkle_tree.d.ts → unbalanced_merkle_tree_root.d.ts} +4 -7
- package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
- package/dest/trees/{unbalanced_merkle_tree.js → unbalanced_merkle_tree_root.js} +12 -51
- package/dest/trees/unbalanced_tree_store.d.ts +5 -1
- package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
- package/dest/trees/unbalanced_tree_store.js +49 -1
- package/dest/types/index.d.ts +12 -2
- package/dest/types/index.d.ts.map +1 -1
- package/dest/types/index.js +3 -0
- package/package.json +29 -6
- package/src/array/index.ts +1 -0
- package/src/array/sorted_array.ts +138 -0
- package/src/bigint-buffer/index.ts +6 -1
- package/src/branded-types/block_number.ts +25 -2
- package/src/branded-types/buffer32_hash.ts +38 -0
- package/src/branded-types/checkpoint_number.ts +37 -7
- package/src/branded-types/epoch.ts +1 -1
- package/src/branded-types/index.ts +3 -1
- package/src/branded-types/index_within_checkpoint.ts +88 -0
- package/src/branded-types/slot.ts +6 -1
- package/src/buffer/buffer16.ts +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 +86 -0
- package/src/collection/index.ts +2 -0
- package/src/collection/lru_map.ts +143 -0
- package/src/collection/lru_set.ts +115 -0
- package/src/committable/committable.ts +1 -1
- package/src/config/env_var.ts +96 -30
- package/src/config/index.ts +134 -99
- package/src/config/network_config.ts +3 -0
- package/src/config/network_name.ts +4 -4
- package/src/config/parse-env.ts +4 -0
- package/src/config/secret_value.ts +1 -1
- package/src/crypto/aes128/index.ts +11 -2
- package/src/crypto/bls/bn254_keystore.ts +0 -23
- package/src/crypto/poseidon/index.ts +42 -44
- package/src/crypto/random/randomness_singleton.ts +6 -4
- 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/crypto/sync/poseidon/index.ts +0 -9
- package/src/curves/bls12/field.ts +0 -7
- package/src/curves/bn254/field.ts +45 -36
- package/src/curves/grumpkin/point.ts +23 -40
- package/src/eth-address/index.ts +1 -5
- 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/jest/setup.mjs +31 -1
- package/src/json-rpc/client/fetch.ts +4 -3
- package/src/json-rpc/client/safe_json_rpc_client.ts +4 -2
- package/src/json-rpc/client/undici.ts +23 -3
- package/src/json-rpc/fixtures/test_state.ts +10 -10
- package/src/json-rpc/server/api_key_auth.ts +63 -0
- package/src/json-rpc/server/index.ts +1 -0
- package/src/json-rpc/server/safe_json_rpc_server.ts +32 -14
- package/src/log/bigint-utils.ts +25 -0
- package/src/log/gcloud-logger-config.ts +5 -0
- package/src/log/libp2p_logger.ts +12 -5
- package/src/log/log-filters.ts +29 -11
- package/src/log/pino-logger-server.ts +25 -0
- package/src/log/pino-logger.ts +162 -40
- package/src/noir/noir_package_config.ts +32 -20
- package/src/queue/base_memory_queue.ts +1 -1
- package/src/queue/batch_queue.ts +1 -0
- package/src/queue/semaphore.ts +5 -0
- package/src/retry/index.ts +48 -0
- package/src/schemas/api.ts +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 +36 -9
- 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 +48 -0
- package/src/timer/index.ts +1 -1
- package/src/timer/timeout.ts +31 -0
- package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
- package/src/transport/index.ts +0 -1
- package/src/transport/transport_client.ts +2 -2
- package/src/trees/{balanced_merkle_tree.ts → balanced_merkle_tree_root.ts} +3 -22
- package/src/trees/hasher.ts +12 -0
- package/src/trees/index.ts +3 -3
- package/src/trees/indexed_merkle_tree_calculator.ts +5 -1
- package/src/trees/membership_witness.ts +8 -0
- package/src/trees/merkle_tree_calculator.ts +4 -10
- package/src/trees/sibling_path.ts +11 -6
- package/src/trees/unbalanced_merkle_tree_calculator.ts +1 -12
- package/src/trees/{unbalanced_merkle_tree.ts → unbalanced_merkle_tree_root.ts} +17 -64
- package/src/trees/unbalanced_tree_store.ts +57 -2
- package/src/types/index.ts +20 -1
- 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/json-rpc/server/telemetry.d.ts +0 -2
- package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
- package/dest/json-rpc/server/telemetry.js +0 -0
- package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
- package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
- package/dest/trees/balanced_merkle_tree.d.ts +0 -22
- package/dest/trees/balanced_merkle_tree.d.ts.map +0 -1
- package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
- package/src/crypto/serialize.ts +0 -85
- package/src/json-rpc/server/telemetry.ts +0 -0
- package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
package/src/collection/array.ts
CHANGED
|
@@ -138,6 +138,26 @@ export function unique<T>(arr: T[]): T[] {
|
|
|
138
138
|
return [...new Set(arr)];
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
+
/**
|
|
142
|
+
* Removes duplicates from the given array using a key function. The first occurrence of each key is kept.
|
|
143
|
+
* @param arr - The array.
|
|
144
|
+
* @param keyFn - A function that returns a primitive key for each element. Elements with the same key are
|
|
145
|
+
* considered duplicates.
|
|
146
|
+
* @returns A new array.
|
|
147
|
+
*/
|
|
148
|
+
export function uniqueBy<T, K extends string | number | bigint>(arr: T[], keyFn: (item: T) => K): T[] {
|
|
149
|
+
const seen = new Set<K>();
|
|
150
|
+
const result: T[] = [];
|
|
151
|
+
for (const item of arr) {
|
|
152
|
+
const key = keyFn(item);
|
|
153
|
+
if (!seen.has(key)) {
|
|
154
|
+
seen.add(key);
|
|
155
|
+
result.push(item);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return result;
|
|
159
|
+
}
|
|
160
|
+
|
|
141
161
|
/**
|
|
142
162
|
* Removes all undefined elements from the array.
|
|
143
163
|
* @param arr - The array.
|
|
@@ -250,6 +270,58 @@ export function chunk<T>(items: T[], chunkSize: number): T[][] {
|
|
|
250
270
|
return chunks;
|
|
251
271
|
}
|
|
252
272
|
|
|
273
|
+
/**
|
|
274
|
+
* Splits the given array into chunks of the given size, wrapping around to the beginning
|
|
275
|
+
* if the last chunk would be smaller than the requested size.
|
|
276
|
+
* Returns empty array for empty input. Returns single chunk with all items if chunkSize <= 0.
|
|
277
|
+
*/
|
|
278
|
+
export function chunkWrapAround<T>(items: T[], chunkSize: number): T[][] {
|
|
279
|
+
if (items.length === 0) {
|
|
280
|
+
return [];
|
|
281
|
+
}
|
|
282
|
+
if (chunkSize <= 0 || items.length <= chunkSize) {
|
|
283
|
+
return [items];
|
|
284
|
+
}
|
|
285
|
+
const remainder = items.length % chunkSize;
|
|
286
|
+
if (remainder === 0) {
|
|
287
|
+
return chunk(items, chunkSize);
|
|
288
|
+
}
|
|
289
|
+
const wrapAroundCount = chunkSize - remainder;
|
|
290
|
+
const wrappedItems = [...items, ...items.slice(0, wrapAroundCount)];
|
|
291
|
+
return chunk(wrappedItems, chunkSize);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
const UNINITIALIZED = Symbol('uninitialized');
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* Splits the given iterable into chunks based on the key returned by the given function.
|
|
298
|
+
* Items must be contiguous to be included in the same chunk.
|
|
299
|
+
*/
|
|
300
|
+
export function chunkBy<T, U>(items: T[], fn: (item: T) => U): T[][] {
|
|
301
|
+
const chunks: T[][] = [];
|
|
302
|
+
let currentChunk: T[] = [];
|
|
303
|
+
let currentKey: U | typeof UNINITIALIZED = UNINITIALIZED;
|
|
304
|
+
|
|
305
|
+
for (const item of items) {
|
|
306
|
+
const key = fn(item);
|
|
307
|
+
if (currentKey === UNINITIALIZED || key !== currentKey) {
|
|
308
|
+
if (currentChunk.length > 0) {
|
|
309
|
+
chunks.push(currentChunk);
|
|
310
|
+
}
|
|
311
|
+
currentChunk = [item];
|
|
312
|
+
currentKey = key;
|
|
313
|
+
} else {
|
|
314
|
+
currentChunk.push(item);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
if (currentChunk.length > 0) {
|
|
319
|
+
chunks.push(currentChunk);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
return chunks;
|
|
323
|
+
}
|
|
324
|
+
|
|
253
325
|
/** Partitions the given iterable into two arrays based on the predicate. */
|
|
254
326
|
export function partition<T>(items: T[], predicate: (item: T) => boolean): [T[], T[]] {
|
|
255
327
|
const pass: T[] = [];
|
|
@@ -263,3 +335,17 @@ export function partition<T>(items: T[], predicate: (item: T) => boolean): [T[],
|
|
|
263
335
|
}
|
|
264
336
|
return [pass, fail];
|
|
265
337
|
}
|
|
338
|
+
|
|
339
|
+
/** Partitions the given iterable into two arrays based on the predicate. */
|
|
340
|
+
export async function partitionAsync<T>(items: T[], predicate: (item: T) => Promise<boolean>): Promise<[T[], T[]]> {
|
|
341
|
+
const pass: T[] = [];
|
|
342
|
+
const fail: T[] = [];
|
|
343
|
+
for (const item of items) {
|
|
344
|
+
if (await predicate(item)) {
|
|
345
|
+
pass.push(item);
|
|
346
|
+
} else {
|
|
347
|
+
fail.push(item);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
return [pass, fail];
|
|
351
|
+
}
|
package/src/collection/index.ts
CHANGED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/** Node in a doubly-linked list used by {@link LruMap}. */
|
|
2
|
+
type LruNode<K, V> = {
|
|
3
|
+
key: K;
|
|
4
|
+
value: V;
|
|
5
|
+
prev: LruNode<K, V> | undefined;
|
|
6
|
+
next: LruNode<K, V> | undefined;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A bounded key-value map with Least Recently Used (LRU) eviction.
|
|
11
|
+
* Both {@link get} and {@link set} count as an access and refresh the entry's
|
|
12
|
+
* recency, so entries that are actively used stay in the map longest.
|
|
13
|
+
*
|
|
14
|
+
* Uses a doubly-linked list for O(1) ordering and a Map for O(1) lookup.
|
|
15
|
+
* Head = least recent, tail = most recent.
|
|
16
|
+
*/
|
|
17
|
+
export class LruMap<K, V> {
|
|
18
|
+
/** Map from key to its linked-list node for O(1) lookup. */
|
|
19
|
+
private readonly map = new Map<K, LruNode<K, V>>();
|
|
20
|
+
private head: LruNode<K, V> | undefined;
|
|
21
|
+
private tail: LruNode<K, V> | undefined;
|
|
22
|
+
|
|
23
|
+
constructor(private readonly maxSize: number) {
|
|
24
|
+
if (maxSize < 1) {
|
|
25
|
+
throw new Error('LruMap maxSize must be at least 1');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** Number of entries in the map. */
|
|
30
|
+
get size(): number {
|
|
31
|
+
return this.map.size;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/** Returns true if the key is present, without refreshing its recency. */
|
|
35
|
+
has(key: K): boolean {
|
|
36
|
+
return this.map.has(key);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Returns the value for the key, or undefined if absent.
|
|
41
|
+
* Refreshes the entry's recency so it becomes the most recently used.
|
|
42
|
+
*/
|
|
43
|
+
get(key: K): V | undefined {
|
|
44
|
+
const node = this.map.get(key);
|
|
45
|
+
if (!node) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
this.moveToTail(node);
|
|
49
|
+
return node.value;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Stores a value for the key, refreshing its recency. If the key already exists, overwrites the value.
|
|
54
|
+
* If the map is at capacity, evicts the least recently used entry.
|
|
55
|
+
*/
|
|
56
|
+
set(key: K, value: V): void {
|
|
57
|
+
const existing = this.map.get(key);
|
|
58
|
+
if (existing) {
|
|
59
|
+
existing.value = value;
|
|
60
|
+
this.moveToTail(existing);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (this.map.size >= this.maxSize) {
|
|
65
|
+
this.evictHead();
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const node: LruNode<K, V> = { key, value, prev: this.tail, next: undefined };
|
|
69
|
+
if (this.tail) {
|
|
70
|
+
this.tail.next = node;
|
|
71
|
+
} else {
|
|
72
|
+
this.head = node;
|
|
73
|
+
}
|
|
74
|
+
this.tail = node;
|
|
75
|
+
this.map.set(key, node);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** Removes the entry for the key, returning true if it was present. */
|
|
79
|
+
delete(key: K): boolean {
|
|
80
|
+
const node = this.map.get(key);
|
|
81
|
+
if (!node) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
this.unlink(node);
|
|
85
|
+
this.map.delete(key);
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** Removes all entries from the map. */
|
|
90
|
+
clear(): void {
|
|
91
|
+
this.map.clear();
|
|
92
|
+
this.head = undefined;
|
|
93
|
+
this.tail = undefined;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/** Unlinks a node from its current position and relinks it at the tail. */
|
|
97
|
+
private moveToTail(node: LruNode<K, V>): void {
|
|
98
|
+
if (node === this.tail) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this.unlink(node);
|
|
102
|
+
|
|
103
|
+
node.prev = this.tail;
|
|
104
|
+
node.next = undefined;
|
|
105
|
+
if (this.tail) {
|
|
106
|
+
this.tail.next = node;
|
|
107
|
+
} else {
|
|
108
|
+
this.head = node;
|
|
109
|
+
}
|
|
110
|
+
this.tail = node;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/** Detaches a node from the linked list, fixing up its neighbours and the head/tail pointers. */
|
|
114
|
+
private unlink(node: LruNode<K, V>): void {
|
|
115
|
+
if (node.prev) {
|
|
116
|
+
node.prev.next = node.next;
|
|
117
|
+
} else {
|
|
118
|
+
this.head = node.next;
|
|
119
|
+
}
|
|
120
|
+
if (node.next) {
|
|
121
|
+
node.next.prev = node.prev;
|
|
122
|
+
} else {
|
|
123
|
+
this.tail = node.prev;
|
|
124
|
+
}
|
|
125
|
+
node.prev = undefined;
|
|
126
|
+
node.next = undefined;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/** Evicts the head (least recently used) node. */
|
|
130
|
+
private evictHead(): void {
|
|
131
|
+
const oldHead = this.head;
|
|
132
|
+
if (!oldHead) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
this.head = oldHead.next;
|
|
136
|
+
if (this.head) {
|
|
137
|
+
this.head.prev = undefined;
|
|
138
|
+
} else {
|
|
139
|
+
this.tail = undefined;
|
|
140
|
+
}
|
|
141
|
+
this.map.delete(oldHead.key);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/** Node in a doubly-linked list used by {@link LruSet}. */
|
|
2
|
+
type LruNode<T> = {
|
|
3
|
+
value: T;
|
|
4
|
+
prev: LruNode<T> | undefined;
|
|
5
|
+
next: LruNode<T> | undefined;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A bounded set with Least Recently Used (LRU) eviction.
|
|
10
|
+
* Both {@link has} and {@link add} count as an access and refresh the entry's
|
|
11
|
+
* recency, so items that are actively checked stay in the set longest.
|
|
12
|
+
*
|
|
13
|
+
* Uses a doubly-linked list for O(1) ordering and a Map for O(1) lookup.
|
|
14
|
+
* Head = least recent, tail = most recent.
|
|
15
|
+
*/
|
|
16
|
+
export class LruSet<T> {
|
|
17
|
+
/** Map from value to its linked-list node for O(1) lookup. */
|
|
18
|
+
private readonly map = new Map<T, LruNode<T>>();
|
|
19
|
+
private head: LruNode<T> | undefined;
|
|
20
|
+
private tail: LruNode<T> | undefined;
|
|
21
|
+
|
|
22
|
+
constructor(private readonly maxSize: number) {
|
|
23
|
+
if (maxSize < 1) {
|
|
24
|
+
throw new Error('LruSet maxSize must be at least 1');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** Number of entries in the set. */
|
|
29
|
+
get size(): number {
|
|
30
|
+
return this.map.size;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Returns true if the item is in the set.
|
|
35
|
+
* Refreshes the item's recency so it becomes the most recently used.
|
|
36
|
+
*/
|
|
37
|
+
has(item: T): boolean {
|
|
38
|
+
const node = this.map.get(item);
|
|
39
|
+
if (!node) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
this.moveToTail(node);
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Adds an item to the set. If the item already exists, refreshes its recency.
|
|
48
|
+
* If the set is at capacity, evicts the least recently used item.
|
|
49
|
+
*/
|
|
50
|
+
add(item: T): void {
|
|
51
|
+
const existing = this.map.get(item);
|
|
52
|
+
if (existing) {
|
|
53
|
+
this.moveToTail(existing);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (this.map.size >= this.maxSize) {
|
|
58
|
+
this.evictHead();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const node: LruNode<T> = { value: item, prev: this.tail, next: undefined };
|
|
62
|
+
if (this.tail) {
|
|
63
|
+
this.tail.next = node;
|
|
64
|
+
} else {
|
|
65
|
+
this.head = node;
|
|
66
|
+
}
|
|
67
|
+
this.tail = node;
|
|
68
|
+
this.map.set(item, node);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/** Removes all entries from the set. */
|
|
72
|
+
clear(): void {
|
|
73
|
+
this.map.clear();
|
|
74
|
+
this.head = undefined;
|
|
75
|
+
this.tail = undefined;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** Unlinks a node from its current position and relinks it at the tail. */
|
|
79
|
+
private moveToTail(node: LruNode<T>): void {
|
|
80
|
+
if (node === this.tail) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Unlink
|
|
85
|
+
if (node.prev) {
|
|
86
|
+
node.prev.next = node.next;
|
|
87
|
+
} else {
|
|
88
|
+
this.head = node.next;
|
|
89
|
+
}
|
|
90
|
+
if (node.next) {
|
|
91
|
+
node.next.prev = node.prev;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Relink at tail
|
|
95
|
+
node.prev = this.tail;
|
|
96
|
+
node.next = undefined;
|
|
97
|
+
if (this.tail) {
|
|
98
|
+
this.tail.next = node;
|
|
99
|
+
}
|
|
100
|
+
this.tail = node;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/** Evicts the head (least recently used) node. */
|
|
104
|
+
private evictHead(): void {
|
|
105
|
+
const oldHead = this.head!;
|
|
106
|
+
this.map.delete(oldHead.value);
|
|
107
|
+
|
|
108
|
+
this.head = oldHead.next;
|
|
109
|
+
if (this.head) {
|
|
110
|
+
this.head.prev = undefined;
|
|
111
|
+
} else {
|
|
112
|
+
this.tail = undefined;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
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,15 +24,17 @@ 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
|
-
| '
|
|
25
|
-
| 'BLOB_SINK_PORT'
|
|
26
|
-
| 'BLOB_SINK_URL'
|
|
31
|
+
| 'BLOB_ARCHIVE_API_URL'
|
|
27
32
|
| 'BLOB_FILE_STORE_URLS'
|
|
28
33
|
| 'BLOB_FILE_STORE_UPLOAD_URL'
|
|
34
|
+
| 'BLOB_HEALTHCHECK_UPLOAD_INTERVAL_MINUTES'
|
|
29
35
|
| 'BOT_DA_GAS_LIMIT'
|
|
30
36
|
| 'BOT_FEE_PAYMENT_METHOD'
|
|
31
|
-
| '
|
|
37
|
+
| 'BOT_MIN_FEE_PADDING'
|
|
32
38
|
| 'BOT_FLUSH_SETUP_TRANSACTIONS'
|
|
33
39
|
| 'BOT_FOLLOW_CHAIN'
|
|
34
40
|
| 'BOT_L2_GAS_LIMIT'
|
|
@@ -48,7 +54,10 @@ export type EnvVar =
|
|
|
48
54
|
| 'BOT_TX_MINED_WAIT_SECONDS'
|
|
49
55
|
| 'BOT_MAX_CONSECUTIVE_ERRORS'
|
|
50
56
|
| 'BOT_STOP_WHEN_UNHEALTHY'
|
|
51
|
-
| '
|
|
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'
|
|
52
61
|
| 'COINBASE'
|
|
53
62
|
| 'CRS_PATH'
|
|
54
63
|
| 'DATA_DIRECTORY'
|
|
@@ -57,6 +66,7 @@ export type EnvVar =
|
|
|
57
66
|
| 'BLOB_SINK_MAP_SIZE_KB'
|
|
58
67
|
| 'P2P_STORE_MAP_SIZE_KB'
|
|
59
68
|
| 'PROVER_BROKER_STORE_MAP_SIZE_KB'
|
|
69
|
+
| 'SIGNING_PROTECTION_MAP_SIZE_KB'
|
|
60
70
|
| 'WS_DB_MAP_SIZE_KB'
|
|
61
71
|
| 'ARCHIVE_TREE_MAP_SIZE_KB'
|
|
62
72
|
| 'NULLIFIER_TREE_MAP_SIZE_KB'
|
|
@@ -65,6 +75,8 @@ export type EnvVar =
|
|
|
65
75
|
| 'PUBLIC_DATA_TREE_MAP_SIZE_KB'
|
|
66
76
|
| 'DEBUG'
|
|
67
77
|
| 'DEBUG_P2P_DISABLE_COLOCATION_PENALTY'
|
|
78
|
+
| 'ENABLE_PROVER_NODE'
|
|
79
|
+
| 'USE_AUTOMINE_SEQUENCER'
|
|
68
80
|
| 'ETHEREUM_HOSTS'
|
|
69
81
|
| 'ETHEREUM_DEBUG_HOSTS'
|
|
70
82
|
| 'ETHEREUM_ALLOW_NO_DEBUG_HOSTS'
|
|
@@ -74,28 +86,37 @@ export type EnvVar =
|
|
|
74
86
|
| 'KEY_STORE_DIRECTORY'
|
|
75
87
|
| 'L1_CHAIN_ID'
|
|
76
88
|
| 'L1_CONSENSUS_HOST_URLS'
|
|
89
|
+
| 'ETHEREUM_HTTP_TIMEOUT_MS'
|
|
77
90
|
| 'L1_CONSENSUS_HOST_API_KEYS'
|
|
78
91
|
| 'L1_CONSENSUS_HOST_API_KEY_HEADERS'
|
|
92
|
+
| 'L1_TX_FAILED_STORE'
|
|
79
93
|
| 'LOG_JSON'
|
|
80
94
|
| 'LOG_MULTILINE'
|
|
95
|
+
| 'LOG_NO_COLOR_PER_ACTOR'
|
|
81
96
|
| 'LOG_LEVEL'
|
|
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'
|
|
96
112
|
| 'PUBLIC_OTEL_COLLECT_FROM'
|
|
97
113
|
| 'PUBLIC_OTEL_OPT_OUT'
|
|
114
|
+
| 'P2P_BATCH_TX_REQUESTER_SMART_PARALLEL_WORKER_COUNT'
|
|
115
|
+
| 'P2P_BATCH_TX_REQUESTER_DUMB_PARALLEL_WORKER_COUNT'
|
|
116
|
+
| 'P2P_BATCH_TX_REQUESTER_TX_BATCH_SIZE'
|
|
117
|
+
| 'P2P_BATCH_TX_REQUESTER_BAD_PEER_THRESHOLD'
|
|
98
118
|
| 'P2P_BLOCK_CHECK_INTERVAL_MS'
|
|
119
|
+
| 'P2P_SLOT_CHECK_INTERVAL_MS'
|
|
99
120
|
| 'P2P_BLOCK_REQUEST_BATCH_SIZE'
|
|
100
121
|
| 'P2P_BOOTSTRAP_NODE_ENR_VERSION_CHECK'
|
|
101
122
|
| 'P2P_BOOTSTRAP_NODES_AS_FULL_PEERS'
|
|
@@ -116,8 +137,10 @@ export type EnvVar =
|
|
|
116
137
|
| 'P2P_L2_QUEUE_SIZE'
|
|
117
138
|
| 'P2P_MAX_PEERS'
|
|
118
139
|
| 'P2P_PEER_CHECK_INTERVAL_MS'
|
|
140
|
+
| 'P2P_PEER_FAILED_BAN_TIME_MS'
|
|
119
141
|
| 'P2P_PEER_PENALTY_VALUES'
|
|
120
142
|
| 'P2P_QUERY_FOR_IP'
|
|
143
|
+
| 'P2P_PUBLIC_IP_SERVICES'
|
|
121
144
|
| 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS'
|
|
122
145
|
| 'P2P_REQRESP_DIAL_TIMEOUT_MS'
|
|
123
146
|
| 'P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS'
|
|
@@ -134,12 +157,14 @@ export type EnvVar =
|
|
|
134
157
|
| 'P2P_TRUSTED_PEERS'
|
|
135
158
|
| 'P2P_PRIVATE_PEERS'
|
|
136
159
|
| 'P2P_PREFERRED_PEERS'
|
|
137
|
-
| '
|
|
138
|
-
| 'P2P_TX_POOL_OVERFLOW_FACTOR'
|
|
160
|
+
| 'P2P_MAX_PENDING_TX_COUNT'
|
|
139
161
|
| 'P2P_SEEN_MSG_CACHE_SIZE'
|
|
140
|
-
| 'P2P_DROP_TX'
|
|
141
162
|
| 'P2P_DROP_TX_CHANCE'
|
|
142
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'
|
|
143
168
|
| 'DEBUG_P2P_INSTRUMENT_MESSAGES'
|
|
144
169
|
| 'PEER_ID_PRIVATE_KEY'
|
|
145
170
|
| 'PEER_ID_PRIVATE_KEY_PATH'
|
|
@@ -153,7 +178,11 @@ export type EnvVar =
|
|
|
153
178
|
| 'PROVER_BROKER_BATCH_INTERVAL_MS'
|
|
154
179
|
| 'PROVER_BROKER_BATCH_SIZE'
|
|
155
180
|
| 'PROVER_BROKER_MAX_EPOCHS_TO_KEEP_RESULTS_FOR'
|
|
181
|
+
| 'PROVER_BROKER_DEBUG_REPLAY_ENABLED'
|
|
182
|
+
| 'PROVER_CANCEL_JOBS_ON_STOP'
|
|
183
|
+
| 'PROVER_ENQUEUE_CONCURRENCY'
|
|
156
184
|
| 'PROVER_COORDINATION_NODE_URLS'
|
|
185
|
+
| 'PROVER_PROOF_STORE'
|
|
157
186
|
| 'PROVER_FAILED_PROOF_STORE'
|
|
158
187
|
| 'PROVER_NODE_FAILED_EPOCH_STORE'
|
|
159
188
|
| 'PROVER_NODE_DISABLE_PROOF_PUBLISH'
|
|
@@ -175,47 +204,60 @@ export type EnvVar =
|
|
|
175
204
|
| 'PROVER_TEST_DELAY_MS'
|
|
176
205
|
| 'PROVER_TEST_DELAY_TYPE'
|
|
177
206
|
| 'PROVER_TEST_VERIFICATION_DELAY_MS'
|
|
207
|
+
| 'PXE_AUTO_SYNC'
|
|
178
208
|
| 'PXE_L2_BLOCK_BATCH_SIZE'
|
|
179
209
|
| 'PXE_PROVER_ENABLED'
|
|
210
|
+
| 'PXE_SYNC_CHAIN_TIP'
|
|
180
211
|
| 'RPC_MAX_BATCH_SIZE'
|
|
181
212
|
| 'RPC_MAX_BODY_SIZE'
|
|
182
213
|
| 'RPC_SIMULATE_PUBLIC_MAX_GAS_LIMIT'
|
|
183
214
|
| 'RPC_SIMULATE_PUBLIC_MAX_DEBUG_LOG_MEMORY_READS'
|
|
184
215
|
| 'SENTINEL_ENABLED'
|
|
185
216
|
| 'SENTINEL_HISTORY_LENGTH_IN_EPOCHS'
|
|
186
|
-
| '
|
|
187
|
-
| '
|
|
217
|
+
| 'SENTINEL_HISTORIC_EPOCH_PERFORMANCE_LENGTH_IN_EPOCHS'
|
|
218
|
+
| 'SENTINEL_EPOCH_END_BUFFER_SLOTS'
|
|
219
|
+
| 'SEQ_ENABLE_PROPOSER_PIPELINING'
|
|
188
220
|
| 'SEQ_MAX_TX_PER_BLOCK'
|
|
221
|
+
| 'SEQ_MAX_TX_PER_CHECKPOINT'
|
|
189
222
|
| 'SEQ_MIN_TX_PER_BLOCK'
|
|
190
223
|
| 'SEQ_PUBLISH_TXS_WITH_PROPOSALS'
|
|
191
224
|
| 'SEQ_MAX_DA_BLOCK_GAS'
|
|
192
225
|
| 'SEQ_MAX_L2_BLOCK_GAS'
|
|
226
|
+
| 'SEQ_PER_BLOCK_ALLOCATION_MULTIPLIER'
|
|
227
|
+
| 'SEQ_REDISTRIBUTE_CHECKPOINT_BUDGET'
|
|
193
228
|
| 'SEQ_PUBLISHER_PRIVATE_KEY'
|
|
194
229
|
| 'SEQ_PUBLISHER_PRIVATE_KEYS'
|
|
195
230
|
| 'SEQ_PUBLISHER_ADDRESSES'
|
|
196
231
|
| 'SEQ_PUBLISHER_ALLOW_INVALID_STATES'
|
|
197
232
|
| 'SEQ_PUBLISHER_FORWARDER_ADDRESS'
|
|
233
|
+
| 'PUBLISHER_FUNDING_THRESHOLD'
|
|
234
|
+
| 'PUBLISHER_FUNDING_AMOUNT'
|
|
198
235
|
| 'SEQ_POLLING_INTERVAL_MS'
|
|
199
236
|
| 'SEQ_ENFORCE_TIME_TABLE'
|
|
200
237
|
| 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT'
|
|
201
238
|
| 'SEQ_ATTESTATION_PROPAGATION_TIME'
|
|
202
239
|
| 'SEQ_BLOCK_DURATION_MS'
|
|
240
|
+
| 'SEQ_LAST_BLOCK_DURATION_MS'
|
|
241
|
+
| 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT'
|
|
203
242
|
| 'SEQ_BUILD_CHECKPOINT_IF_EMPTY'
|
|
204
243
|
| 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_COMMITTEE_MEMBER'
|
|
205
244
|
| 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_NON_COMMITTEE_MEMBER'
|
|
206
|
-
| '
|
|
207
|
-
| 'SLASH_MAX_PENALTY_PERCENTAGE'
|
|
245
|
+
| 'SEQ_SKIP_CHECKPOINT_PUBLISH_PERCENT'
|
|
208
246
|
| 'SLASH_VALIDATORS_ALWAYS'
|
|
209
247
|
| 'SLASH_VALIDATORS_NEVER'
|
|
210
|
-
| 'SLASH_PRUNE_PENALTY'
|
|
211
248
|
| 'SLASH_DATA_WITHHOLDING_PENALTY'
|
|
249
|
+
| 'SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS'
|
|
212
250
|
| 'SLASH_INACTIVITY_PENALTY'
|
|
213
251
|
| 'SLASH_INACTIVITY_TARGET_PERCENTAGE'
|
|
214
252
|
| 'SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD'
|
|
215
253
|
| 'SLASH_INVALID_BLOCK_PENALTY'
|
|
254
|
+
| 'SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY'
|
|
255
|
+
| 'SLASH_DUPLICATE_PROPOSAL_PENALTY'
|
|
256
|
+
| 'SLASH_DUPLICATE_ATTESTATION_PENALTY'
|
|
216
257
|
| 'SLASH_OVERRIDE_PAYLOAD'
|
|
217
258
|
| 'SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY'
|
|
218
|
-
| '
|
|
259
|
+
| 'SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY'
|
|
260
|
+
| 'SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY'
|
|
219
261
|
| 'SLASH_UNKNOWN_PENALTY'
|
|
220
262
|
| 'SLASH_GRACE_PERIOD_L2_SLOTS'
|
|
221
263
|
| 'SLASH_OFFENSE_EXPIRATION_ROUNDS'
|
|
@@ -227,31 +269,40 @@ export type EnvVar =
|
|
|
227
269
|
| 'TELEMETRY'
|
|
228
270
|
| 'TEST_ACCOUNTS'
|
|
229
271
|
| 'SPONSORED_FPC'
|
|
272
|
+
| 'PREFUND_ADDRESSES'
|
|
230
273
|
| 'TX_COLLECTION_FAST_NODES_TIMEOUT_BEFORE_REQ_RESP_MS'
|
|
231
|
-
| 'TX_COLLECTION_SLOW_NODES_INTERVAL_MS'
|
|
232
|
-
| 'TX_COLLECTION_SLOW_REQ_RESP_INTERVAL_MS'
|
|
233
|
-
| 'TX_COLLECTION_SLOW_REQ_RESP_TIMEOUT_MS'
|
|
234
|
-
| 'TX_COLLECTION_RECONCILE_INTERVAL_MS'
|
|
235
|
-
| 'TX_COLLECTION_DISABLE_SLOW_DURING_FAST_REQUESTS'
|
|
236
274
|
| 'TX_COLLECTION_FAST_NODE_INTERVAL_MS'
|
|
237
275
|
| 'TX_COLLECTION_FAST_MAX_PARALLEL_REQUESTS_PER_NODE'
|
|
238
276
|
| 'TX_COLLECTION_NODE_RPC_MAX_BATCH_SIZE'
|
|
239
277
|
| 'TX_COLLECTION_NODE_RPC_URLS'
|
|
278
|
+
| 'TX_COLLECTION_MISSING_TXS_COLLECTOR_TYPE'
|
|
279
|
+
| 'TX_COLLECTION_FILE_STORE_URLS'
|
|
280
|
+
| 'TX_COLLECTION_FILE_STORE_FAST_DELAY_MS'
|
|
281
|
+
| 'TX_COLLECTION_FILE_STORE_FAST_WORKER_COUNT'
|
|
282
|
+
| 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_BASE_MS'
|
|
283
|
+
| 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_MAX_MS'
|
|
284
|
+
| 'TX_FILE_STORE_URL'
|
|
285
|
+
| 'TX_FILE_STORE_UPLOAD_CONCURRENCY'
|
|
286
|
+
| 'TX_FILE_STORE_MAX_QUEUE_SIZE'
|
|
287
|
+
| 'TX_FILE_STORE_ENABLED'
|
|
240
288
|
| 'TX_PUBLIC_SETUP_ALLOWLIST'
|
|
241
289
|
| 'TXE_PORT'
|
|
242
290
|
| 'TRANSACTIONS_DISABLED'
|
|
243
291
|
| 'VALIDATOR_ATTESTATIONS_POLLING_INTERVAL_MS'
|
|
244
292
|
| 'VALIDATOR_DISABLED'
|
|
293
|
+
| 'VALIDATOR_MAX_DA_BLOCK_GAS'
|
|
294
|
+
| 'VALIDATOR_MAX_L2_BLOCK_GAS'
|
|
295
|
+
| 'VALIDATOR_MAX_TX_PER_BLOCK'
|
|
296
|
+
| 'VALIDATOR_MAX_TX_PER_CHECKPOINT'
|
|
245
297
|
| 'VALIDATOR_PRIVATE_KEYS'
|
|
246
298
|
| 'VALIDATOR_PRIVATE_KEY'
|
|
247
|
-
| 'VALIDATOR_REEXECUTE'
|
|
248
299
|
| 'VALIDATOR_ADDRESSES'
|
|
249
300
|
| 'ROLLUP_VERSION'
|
|
250
301
|
| 'WS_BLOCK_CHECK_INTERVAL_MS'
|
|
251
|
-
| 'WS_PROVEN_BLOCKS_ONLY'
|
|
252
302
|
| 'WS_BLOCK_REQUEST_BATCH_SIZE'
|
|
253
303
|
| 'L1_READER_VIEM_POLLING_INTERVAL_MS'
|
|
254
304
|
| 'WS_DATA_DIRECTORY'
|
|
305
|
+
| 'WS_NUM_HISTORIC_CHECKPOINTS'
|
|
255
306
|
| 'WS_NUM_HISTORIC_BLOCKS'
|
|
256
307
|
| 'ETHEREUM_SLOT_DURATION'
|
|
257
308
|
| 'AZTEC_SLOT_DURATION'
|
|
@@ -259,12 +310,14 @@ export type EnvVar =
|
|
|
259
310
|
| 'AZTEC_TARGET_COMMITTEE_SIZE'
|
|
260
311
|
| 'AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET'
|
|
261
312
|
| 'AZTEC_LAG_IN_EPOCHS_FOR_RANDAO'
|
|
313
|
+
| 'AZTEC_INBOX_LAG'
|
|
262
314
|
| 'AZTEC_PROOF_SUBMISSION_EPOCHS'
|
|
263
315
|
| 'AZTEC_ACTIVATION_THRESHOLD'
|
|
264
316
|
| 'AZTEC_EJECTION_THRESHOLD'
|
|
265
317
|
| 'AZTEC_LOCAL_EJECTION_THRESHOLD'
|
|
266
318
|
| 'AZTEC_MANA_TARGET'
|
|
267
319
|
| 'AZTEC_PROVING_COST_PER_MANA'
|
|
320
|
+
| 'AZTEC_INITIAL_ETH_PER_FEE_ASSET'
|
|
268
321
|
| 'AZTEC_SLASHING_QUORUM'
|
|
269
322
|
| 'AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS'
|
|
270
323
|
| 'AZTEC_SLASHING_LIFETIME_IN_ROUNDS'
|
|
@@ -275,9 +328,10 @@ export type EnvVar =
|
|
|
275
328
|
| 'AZTEC_SLASH_AMOUNT_SMALL'
|
|
276
329
|
| 'AZTEC_SLASH_AMOUNT_MEDIUM'
|
|
277
330
|
| 'AZTEC_SLASH_AMOUNT_LARGE'
|
|
278
|
-
| '
|
|
331
|
+
| 'AZTEC_SLASHER_ENABLED'
|
|
279
332
|
| 'AZTEC_GOVERNANCE_PROPOSER_QUORUM'
|
|
280
333
|
| 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE'
|
|
334
|
+
| 'AZTEC_GOVERNANCE_VOTING_DURATION'
|
|
281
335
|
| 'AZTEC_EXIT_DELAY_SECONDS'
|
|
282
336
|
| 'L1_GAS_LIMIT_BUFFER_PERCENTAGE'
|
|
283
337
|
| 'L1_GAS_PRICE_MAX'
|
|
@@ -303,14 +357,26 @@ export type EnvVar =
|
|
|
303
357
|
| 'K8S_POD_NAME'
|
|
304
358
|
| 'K8S_POD_UID'
|
|
305
359
|
| 'K8S_NAMESPACE_NAME'
|
|
306
|
-
| '
|
|
307
|
-
| 'ALWAYS_REEXECUTE_BLOCK_PROPOSALS'
|
|
308
|
-
| 'AUTO_UPDATE'
|
|
309
|
-
| 'AUTO_UPDATE_URL'
|
|
360
|
+
| 'ENABLE_VERSION_CHECK'
|
|
310
361
|
| 'WEB3_SIGNER_URL'
|
|
311
362
|
| 'SKIP_ARCHIVER_INITIAL_SYNC'
|
|
312
363
|
| 'BLOB_ALLOW_EMPTY_SOURCES'
|
|
364
|
+
| 'BLOB_PREFER_FILESTORES'
|
|
365
|
+
| 'BLOB_FILE_STORE_TIMEOUT_MS'
|
|
313
366
|
| 'FISHERMAN_MODE'
|
|
314
367
|
| 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS'
|
|
368
|
+
| 'MAX_BLOCKS_PER_CHECKPOINT'
|
|
315
369
|
| 'LEGACY_BLS_CLI'
|
|
316
|
-
| 'DEBUG_FORCE_TX_PROOF_VERIFICATION'
|
|
370
|
+
| 'DEBUG_FORCE_TX_PROOF_VERIFICATION'
|
|
371
|
+
| 'VALIDATOR_HA_SIGNING_ENABLED'
|
|
372
|
+
| 'VALIDATOR_HA_NODE_ID'
|
|
373
|
+
| 'VALIDATOR_HA_POLLING_INTERVAL_MS'
|
|
374
|
+
| 'VALIDATOR_HA_SIGNING_TIMEOUT_MS'
|
|
375
|
+
| 'VALIDATOR_HA_MAX_STUCK_DUTIES_AGE_MS'
|
|
376
|
+
| 'VALIDATOR_HA_OLD_DUTIES_MAX_AGE_H'
|
|
377
|
+
| 'VALIDATOR_HA_DATABASE_URL'
|
|
378
|
+
| 'VALIDATOR_HA_RUN_MIGRATIONS'
|
|
379
|
+
| 'VALIDATOR_HA_POOL_MAX'
|
|
380
|
+
| 'VALIDATOR_HA_POOL_MIN'
|
|
381
|
+
| 'VALIDATOR_HA_POOL_IDLE_TIMEOUT_MS'
|
|
382
|
+
| 'VALIDATOR_HA_POOL_CONNECTION_TIMEOUT_MS';
|