@aztec/foundation 0.0.1-commit.2f68f620 → 0.0.1-commit.3100065
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/config/env_var.d.ts +2 -2
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/config/index.d.ts +21 -8
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +46 -30
- package/dest/fifo/fifo_frame_reader.d.ts +2 -2
- package/dest/fifo/fifo_frame_reader.d.ts.map +1 -1
- package/dest/fifo/fifo_frame_reader.js +4 -21
- package/dest/promise/running-promise.d.ts +5 -4
- package/dest/promise/running-promise.d.ts.map +1 -1
- package/dest/promise/running-promise.js +7 -3
- package/dest/retry/index.d.ts +20 -3
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +23 -2
- package/dest/testing/files/index.d.ts +2 -3
- package/dest/testing/files/index.d.ts.map +1 -1
- package/dest/testing/files/index.js +1 -2
- package/dest/trees/membership_witness.d.ts +1 -5
- package/dest/trees/membership_witness.d.ts.map +1 -1
- package/dest/trees/membership_witness.js +0 -9
- package/package.json +2 -2
- package/src/config/env_var.ts +18 -5
- package/src/config/index.ts +46 -30
- package/src/fifo/fifo_frame_reader.ts +2 -17
- package/src/promise/running-promise.ts +8 -5
- package/src/retry/index.ts +36 -4
- package/src/testing/files/index.ts +1 -2
- package/src/trees/membership_witness.ts +0 -8
package/dest/config/env_var.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type EnvVar = 'REGISTRY_CONTRACT_ADDRESS' | 'FEE_ASSET_HANDLER_CONTRACT_ADDRESS' | 'ACVM_BINARY_PATH' | 'ACVM_WORKING_DIRECTORY' | 'API_KEY' | 'API_PREFIX' | 'ARCHIVER_POLLING_INTERVAL_MS' | 'ARCHIVER_SKIP_HISTORICAL_LOGS_CHECK' | 'ARCHIVER_URL' | 'ARCHIVER_VIEM_POLLING_INTERVAL_MS' | 'ARCHIVER_BATCH_SIZE' | 'ARCHIVER_ORPHAN_PROPOSED_BLOCK_PRUNE_GRACE_SECONDS' | 'AZTEC_ADMIN_PORT' | 'AZTEC_NODE_DEBUG' | 'AZTEC_ADMIN_API_KEY_HASH' | 'AZTEC_DISABLE_ADMIN_API_KEY' | 'AZTEC_RESET_ADMIN_API_KEY' | 'AZTEC_NODE_ADMIN_URL' | 'AZTEC_NODE_URL' | 'AZTEC_PORT' | 'BB_BINARY_PATH' | 'BB_SKIP_CLEANUP' | 'BB_WORKING_DIRECTORY' | 'BB_NUM_IVC_VERIFIERS' | 'BB_IVC_CONCURRENCY' | 'BB_CHONK_VERIFY_MAX_BATCH' | 'BB_CHONK_VERIFY_BATCH_CONCURRENCY' | 'BB_DEBUG_OUTPUT_DIR' | 'BOOTSTRAP_NODES' | 'BLOB_ARCHIVE_API_URL' | 'BLOB_FILE_STORE_URLS' | 'BLOB_FILE_STORE_UPLOAD_URL' | 'BLOB_HEALTHCHECK_UPLOAD_INTERVAL_MINUTES' | 'BOT_DA_GAS_LIMIT' | 'BOT_FEE_PAYMENT_METHOD' | 'BOT_MIN_FEE_PADDING' | 'BOT_FLUSH_SETUP_TRANSACTIONS' | 'BOT_FOLLOW_CHAIN' | 'BOT_L2_GAS_LIMIT' | 'BOT_MAX_PENDING_TXS' | 'BOT_NO_START' | 'BOT_L1_MNEMONIC' | 'BOT_L1_PRIVATE_KEY' | 'BOT_L1_TO_L2_TIMEOUT_SECONDS' | 'BOT_PRIVATE_KEY' | 'BOT_ACCOUNT_SALT' | 'BOT_PRIVATE_TRANSFERS_PER_TX' | 'BOT_PUBLIC_TRANSFERS_PER_TX' | 'BOT_RECIPIENT_ENCRYPTION_SECRET' | 'BOT_TOKEN_CONTRACT' | 'BOT_TOKEN_SALT' | 'BOT_TX_INTERVAL_SECONDS' | 'BOT_TX_MINED_WAIT_SECONDS' | 'BOT_MAX_CONSECUTIVE_ERRORS' | 'BOT_STOP_WHEN_UNHEALTHY' | 'BOT_MODE' | 'BOT_L2_TO_L1_MESSAGES_PER_TX' | 'BOT_L1_TO_L2_SEED_COUNT' | 'BOT_L1_TO_L2_SEED_INTERVAL' | 'COINBASE' | 'CRS_PATH' | 'DATA_DIRECTORY' | 'DATA_STORE_MAP_SIZE_KB' | 'ARCHIVER_STORE_MAP_SIZE_KB' | 'BLOB_SINK_MAP_SIZE_KB' | 'P2P_STORE_MAP_SIZE_KB' | 'PROVER_BROKER_STORE_MAP_SIZE_KB' | 'SIGNING_PROTECTION_MAP_SIZE_KB' | 'WS_DB_MAP_SIZE_KB' | 'ARCHIVE_TREE_MAP_SIZE_KB' | 'NULLIFIER_TREE_MAP_SIZE_KB' | 'NOTE_HASH_TREE_MAP_SIZE_KB' | 'MESSAGE_TREE_MAP_SIZE_KB' | 'PUBLIC_DATA_TREE_MAP_SIZE_KB' | 'DEBUG' | 'DEBUG_P2P_DISABLE_COLOCATION_PENALTY' | 'ENABLE_PROVER_NODE' | 'USE_AUTOMINE_SEQUENCER' | 'ETHEREUM_HOSTS' | 'ETHEREUM_DEBUG_HOSTS' | 'ETHEREUM_ALLOW_NO_DEBUG_HOSTS' | 'FEE_RECIPIENT' | 'FORCE_COLOR' | 'GOVERNANCE_PROPOSER_PAYLOAD_ADDRESS' | 'KEY_STORE_DIRECTORY' | 'L1_CHAIN_ID' | 'L1_CONSENSUS_HOST_URLS' | 'ETHEREUM_HTTP_TIMEOUT_MS' | 'L1_CONSENSUS_HOST_API_KEYS' | 'L1_CONSENSUS_HOST_API_KEY_HEADERS' | 'L1_TX_FAILED_STORE' | 'LOG_JSON' | 'LOG_MULTILINE' | 'LOG_NO_COLOR_PER_ACTOR' | 'LOG_LEVEL' | 'MNEMONIC' | 'NETWORK' | 'NETWORK_CONFIG_LOCATION' | 'USE_GCLOUD_LOGGING' | 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT' | 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT' | 'OTEL_EXPORTER_OTLP_LOGS_ENDPOINT' | 'OTEL_COLLECT_INTERVAL_MS' | 'OTEL_BSP_MAX_QUEUE_SIZE' | 'OTEL_EXCLUDE_METRICS' | 'OTEL_INCLUDE_METRICS' | 'OTEL_MIN_TRACE_DURATION_MS' | 'OTEL_EXPORT_TIMEOUT_MS' | 'PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT' | 'PUBLIC_OTEL_INCLUDE_METRICS' | 'PUBLIC_OTEL_COLLECT_FROM' | 'PUBLIC_OTEL_OPT_OUT' | 'P2P_BATCH_TX_REQUESTER_SMART_PARALLEL_WORKER_COUNT' | 'P2P_BATCH_TX_REQUESTER_DUMB_PARALLEL_WORKER_COUNT' | 'P2P_BATCH_TX_REQUESTER_TX_BATCH_SIZE' | 'P2P_BATCH_TX_REQUESTER_BAD_PEER_THRESHOLD' | 'P2P_BLOCK_CHECK_INTERVAL_MS' | 'P2P_SLOT_CHECK_INTERVAL_MS' | 'P2P_BLOCK_REQUEST_BATCH_SIZE' | 'P2P_BOOTSTRAP_NODE_ENR_VERSION_CHECK' | 'P2P_BOOTSTRAP_NODES_AS_FULL_PEERS' | 'P2P_ENABLED' | 'P2P_DISCOVERY_DISABLED' | 'P2P_GOSSIPSUB_D' | 'P2P_GOSSIPSUB_DHI' | 'P2P_GOSSIPSUB_DLO' | 'P2P_GOSSIPSUB_DLAZY' | 'P2P_GOSSIPSUB_FLOOD_PUBLISH' | 'P2P_GOSSIPSUB_INTERVAL_MS' | 'P2P_GOSSIPSUB_MCACHE_GOSSIP' | 'P2P_GOSSIPSUB_MCACHE_LENGTH' | 'P2P_GOSSIPSUB_SEEN_TTL' | 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY' | 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT' | 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT' | 'P2P_L2_QUEUE_SIZE' | 'P2P_MAX_PEERS' | 'P2P_PEER_CHECK_INTERVAL_MS' | 'P2P_PEER_FAILED_BAN_TIME_MS' | 'P2P_PEER_PENALTY_VALUES' | 'P2P_QUERY_FOR_IP' | 'P2P_PUBLIC_IP_SERVICES' | 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS' | 'P2P_REQRESP_DIAL_TIMEOUT_MS' | 'P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS' | 'P2P_DISABLE_STATUS_HANDSHAKE' | 'P2P_ALLOW_ONLY_VALIDATORS' | 'P2P_MAX_AUTH_FAILED_ATTEMPTS_ALLOWED' | 'P2P_REQRESP_OPTIMISTIC_NEGOTIATION' | 'P2P_DOUBLE_SPEND_SEVERE_PEER_PENALTY_WINDOW' | 'P2P_LISTEN_ADDR' | 'P2P_PORT' | 'P2P_BROADCAST_PORT' | 'P2P_IP' | 'P2P_ARCHIVED_TX_LIMIT' | 'P2P_TRUSTED_PEERS' | 'P2P_PRIVATE_PEERS' | 'P2P_PREFERRED_PEERS' | 'P2P_MAX_PENDING_TX_COUNT' | 'P2P_SEEN_MSG_CACHE_SIZE' | 'P2P_DROP_TX_CHANCE' | 'P2P_TX_POOL_DELETE_TXS_AFTER_REORG' | 'P2P_MIN_TX_POOL_AGE_MS' | 'P2P_MISSING_TX_COLLECTION_DEADLINE_SLOTS' | 'P2P_RPC_PRICE_BUMP_PERCENTAGE' | 'P2P_TX_VALIDATION_CACHE_SIZE' | 'DEBUG_P2P_INSTRUMENT_MESSAGES' | 'PEER_ID_PRIVATE_KEY' | 'PEER_ID_PRIVATE_KEY_PATH' | 'PROVER_AGENT_COUNT' | 'PROVER_AGENT_PROOF_TYPES' | 'PROVER_AGENT_POLL_INTERVAL_MS' | 'PROVER_BROKER_HOST' | 'PROVER_BROKER_JOB_TIMEOUT_MS' | 'PROVER_BROKER_POLL_INTERVAL_MS' | 'PROVER_BROKER_JOB_MAX_RETRIES' | 'PROVER_BROKER_BATCH_INTERVAL_MS' | 'PROVER_BROKER_BATCH_SIZE' | 'PROVER_BROKER_MAX_EPOCHS_TO_KEEP_RESULTS_FOR' | 'PROVER_BROKER_DEBUG_REPLAY_ENABLED' | 'PROVER_CANCEL_JOBS_ON_STOP' | 'PROVER_ENQUEUE_CONCURRENCY' | 'PROVER_COORDINATION_NODE_URLS' | 'PROVER_PROOF_STORE' | 'PROVER_FAILED_PROOF_STORE' | 'PROVER_NODE_FAILED_EPOCH_STORE' | 'PROVER_NODE_DISABLE_PROOF_PUBLISH' | 'PROVER_NODE_PROOF_SUBMISSION_TARGET_ADDRESS' | 'PROVER_ID' | 'PROVER_NODE_POLLING_INTERVAL_MS' | 'PROVER_NODE_MAX_PENDING_JOBS' | 'PROVER_NODE_MAX_PARALLEL_BLOCKS_PER_EPOCH' | 'PROVER_NODE_TX_GATHERING_INTERVAL_MS' | 'PROVER_NODE_TX_GATHERING_BATCH_SIZE' | 'PROVER_NODE_TX_GATHERING_MAX_PARALLEL_REQUESTS_PER_NODE' | 'PROVER_NODE_TX_GATHERING_TIMEOUT_MS' | 'PROVER_PUBLISHER_PRIVATE_KEY' | 'PROVER_PUBLISHER_PRIVATE_KEYS' | 'PROVER_PUBLISHER_ADDRESSES' | 'PROVER_PUBLISHER_ALLOW_INVALID_STATES' | 'PROVER_PUBLISHER_FORWARDER_ADDRESS' | 'PROVER_REAL_PROOFS' | 'PROVER_TEST_DELAY_FACTOR' | 'PROVER_TEST_DELAY_MS' | 'PROVER_TEST_DELAY_TYPE' | 'PROVER_TEST_VERIFICATION_DELAY_MS' | 'PXE_AUTO_SYNC' | 'PXE_L2_BLOCK_BATCH_SIZE' | 'PXE_PROVER_ENABLED' | 'PXE_SYNC_CHAIN_TIP' | 'RPC_MAX_BATCH_SIZE' | 'RPC_MAX_BODY_SIZE' | 'RPC_SIMULATE_PUBLIC_MAX_GAS_LIMIT' | 'RPC_SIMULATE_PUBLIC_MAX_DEBUG_LOG_MEMORY_READS' | 'SENTINEL_ENABLED' | 'SENTINEL_HISTORY_LENGTH_IN_EPOCHS' | 'SENTINEL_HISTORIC_EPOCH_PERFORMANCE_LENGTH_IN_EPOCHS' | 'SENTINEL_EPOCH_END_BUFFER_SLOTS' | 'SEQ_MAX_TX_PER_BLOCK' | 'SEQ_MAX_TX_PER_CHECKPOINT' | 'SEQ_MIN_TX_PER_BLOCK' | 'SEQ_PUBLISH_TXS_WITH_PROPOSALS' | 'SEQ_MAX_DA_BLOCK_GAS' | 'SEQ_MAX_L2_BLOCK_GAS' | 'SEQ_PER_BLOCK_ALLOCATION_MULTIPLIER' | 'SEQ_REDISTRIBUTE_CHECKPOINT_BUDGET' | 'SEQ_PUBLISHER_PRIVATE_KEY' | 'SEQ_PUBLISHER_PRIVATE_KEYS' | 'SEQ_PUBLISHER_ADDRESSES' | 'SEQ_PUBLISHER_ALLOW_INVALID_STATES' | 'SEQ_PUBLISHER_FORWARDER_ADDRESS' | 'PUBLISHER_FUNDING_THRESHOLD' | 'PUBLISHER_FUNDING_AMOUNT' | 'SEQ_POLLING_INTERVAL_MS' | 'SEQ_ENFORCE_TIME_TABLE' | 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT' | 'SEQ_ATTESTATION_PROPAGATION_TIME' | 'SEQ_BLOCK_DURATION_MS' | 'SEQ_LAST_BLOCK_DURATION_MS' | 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT' | 'SEQ_BUILD_CHECKPOINT_IF_EMPTY' | 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_COMMITTEE_MEMBER' | 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_NON_COMMITTEE_MEMBER' | 'SEQ_SKIP_CHECKPOINT_PUBLISH_PERCENT' | 'SLASH_VALIDATORS_ALWAYS' | 'SLASH_VALIDATORS_NEVER' | 'SLASH_DATA_WITHHOLDING_PENALTY' | 'SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS' | 'SLASH_INACTIVITY_PENALTY' | 'SLASH_INACTIVITY_TARGET_PERCENTAGE' | 'SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD' | 'SLASH_INVALID_BLOCK_PENALTY' | 'SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY' | 'SLASH_DUPLICATE_PROPOSAL_PENALTY' | 'SLASH_DUPLICATE_ATTESTATION_PENALTY' | 'SLASH_OVERRIDE_PAYLOAD' | 'SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY' | 'SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY' | 'SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY' | 'SLASH_UNKNOWN_PENALTY' | 'SLASH_GRACE_PERIOD_L2_SLOTS' | 'SLASH_OFFENSE_EXPIRATION_ROUNDS' | 'SLASH_MAX_PAYLOAD_SIZE' | 'SLASH_EXECUTE_ROUNDS_LOOK_BACK' | 'SYNC_MODE' | 'SYNC_SNAPSHOTS_URLS' | 'SYNC_SNAPSHOTS_URL' | 'TELEMETRY' | 'TEST_ACCOUNTS' | 'SPONSORED_FPC' | 'PREFUND_ADDRESSES' | 'TX_COLLECTION_FAST_NODES_TIMEOUT_BEFORE_REQ_RESP_MS' | 'TX_COLLECTION_FAST_NODE_INTERVAL_MS' | 'TX_COLLECTION_FAST_MAX_PARALLEL_REQUESTS_PER_NODE' | 'TX_COLLECTION_NODE_RPC_MAX_BATCH_SIZE' | 'TX_COLLECTION_NODE_RPC_URLS' | 'TX_COLLECTION_MISSING_TXS_COLLECTOR_TYPE' | 'TX_COLLECTION_FILE_STORE_URLS' | 'TX_COLLECTION_FILE_STORE_FAST_DELAY_MS' | 'TX_COLLECTION_FILE_STORE_FAST_WORKER_COUNT' | 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_BASE_MS' | 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_MAX_MS' | 'TX_FILE_STORE_URL' | 'TX_FILE_STORE_UPLOAD_CONCURRENCY' | 'TX_FILE_STORE_MAX_QUEUE_SIZE' | 'TX_FILE_STORE_ENABLED' | 'TX_PUBLIC_SETUP_ALLOWLIST' | 'TXE_PORT' | 'TRANSACTIONS_DISABLED' | 'VALIDATOR_ATTESTATIONS_POLLING_INTERVAL_MS' | 'VALIDATOR_DISABLED' | 'VALIDATOR_MAX_DA_BLOCK_GAS' | 'VALIDATOR_MAX_L2_BLOCK_GAS' | 'VALIDATOR_MAX_TX_PER_BLOCK' | 'VALIDATOR_MAX_TX_PER_CHECKPOINT' | 'VALIDATOR_PRIVATE_KEYS' | 'VALIDATOR_PRIVATE_KEY' | 'VALIDATOR_ADDRESSES' | 'ROLLUP_VERSION' | 'WS_BLOCK_CHECK_INTERVAL_MS' | 'WS_BLOCK_REQUEST_BATCH_SIZE' | 'L1_READER_VIEM_POLLING_INTERVAL_MS' | 'WS_DATA_DIRECTORY' | 'WS_NUM_HISTORIC_CHECKPOINTS' | 'WS_NUM_HISTORIC_BLOCKS' | 'ETHEREUM_SLOT_DURATION' | 'AZTEC_SLOT_DURATION' | 'AZTEC_EPOCH_DURATION' | 'AZTEC_TARGET_COMMITTEE_SIZE' | 'AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET' | 'AZTEC_LAG_IN_EPOCHS_FOR_RANDAO' | 'AZTEC_INBOX_LAG' | 'AZTEC_PROOF_SUBMISSION_EPOCHS' | 'AZTEC_ACTIVATION_THRESHOLD' | 'AZTEC_EJECTION_THRESHOLD' | 'AZTEC_LOCAL_EJECTION_THRESHOLD' | 'AZTEC_MANA_TARGET' | 'AZTEC_PROVING_COST_PER_MANA' | 'AZTEC_INITIAL_ETH_PER_FEE_ASSET' | 'AZTEC_SLASHING_QUORUM' | 'AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS' | 'AZTEC_SLASHING_LIFETIME_IN_ROUNDS' | 'AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS' | 'AZTEC_SLASHING_VETOER' | 'AZTEC_SLASHING_OFFSET_IN_ROUNDS' | 'AZTEC_SLASHING_DISABLE_DURATION' | 'AZTEC_SLASH_AMOUNT_SMALL' | 'AZTEC_SLASH_AMOUNT_MEDIUM' | 'AZTEC_SLASH_AMOUNT_LARGE' | 'AZTEC_SLASHER_ENABLED' | 'AZTEC_GOVERNANCE_PROPOSER_QUORUM' | 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE' | 'AZTEC_GOVERNANCE_VOTING_DURATION' | 'AZTEC_EXIT_DELAY_SECONDS' | 'L1_GAS_LIMIT_BUFFER_PERCENTAGE' | 'L1_GAS_PRICE_MAX' | 'L1_FEE_PER_GAS_GWEI_MAX' | 'L1_BLOB_FEE_PER_GAS_MAX' | 'L1_BLOB_FEE_PER_GAS_GWEI_MAX' | 'L1_PRIORITY_FEE_BUMP_PERCENTAGE' | 'L1_PRIORITY_FEE_RETRY_BUMP_PERCENTAGE' | 'L1_MINIMUM_PRIORITY_FEE_PER_GAS_GWEI' | 'L1_FIXED_PRIORITY_FEE_PER_GAS' | 'L1_FIXED_PRIORITY_FEE_PER_GAS_GWEI' | 'L1_TX_MONITOR_MAX_ATTEMPTS' | 'L1_TX_MONITOR_CHECK_INTERVAL_MS' | 'L1_TX_MONITOR_STALL_TIME_MS' | 'L1_TX_MONITOR_TX_TIMEOUT_MS' | 'L1_TX_MONITOR_CANCEL_TX_ON_TIMEOUT' | 'L1_TX_MONITOR_TX_CANCELLATION_TIMEOUT_MS' | 'L1_TX_MONITOR_TX_UNSEEN_CONSIDERED_DROPPED_MS' | 'FAUCET_MNEMONIC_ADDRESS_INDEX' | 'FAUCET_ETH_AMOUNT' | 'FAUCET_INTERVAL_MS' | 'FAUCET_L1_ASSETS' | 'K8S_POD_NAME' | 'K8S_POD_UID' | 'K8S_NAMESPACE_NAME' | 'ENABLE_VERSION_CHECK' | 'WEB3_SIGNER_URL' | 'SKIP_ARCHIVER_INITIAL_SYNC' | 'BLOB_ALLOW_EMPTY_SOURCES' | 'BLOB_PREFER_FILESTORES' | 'BLOB_FILE_STORE_TIMEOUT_MS' | 'FISHERMAN_MODE' | 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS' | 'MAX_BLOCKS_PER_CHECKPOINT' | 'LEGACY_BLS_CLI' | 'DEBUG_FORCE_TX_PROOF_VERIFICATION' | 'VALIDATOR_HA_SIGNING_ENABLED' | 'VALIDATOR_HA_NODE_ID' | 'VALIDATOR_HA_POLLING_INTERVAL_MS' | 'VALIDATOR_HA_SIGNING_TIMEOUT_MS' | 'VALIDATOR_HA_MAX_STUCK_DUTIES_AGE_MS' | 'VALIDATOR_HA_OLD_DUTIES_MAX_AGE_H' | 'VALIDATOR_HA_DATABASE_URL' | 'VALIDATOR_HA_RUN_MIGRATIONS' | 'VALIDATOR_HA_POOL_MAX' | 'VALIDATOR_HA_POOL_MIN' | 'VALIDATOR_HA_POOL_IDLE_TIMEOUT_MS' | 'VALIDATOR_HA_POOL_CONNECTION_TIMEOUT_MS';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export type EnvVar = 'REGISTRY_CONTRACT_ADDRESS' | 'FEE_ASSET_HANDLER_CONTRACT_ADDRESS' | 'ACVM_BINARY_PATH' | 'ACVM_WORKING_DIRECTORY' | 'API_KEY' | 'API_PREFIX' | 'ARCHIVER_POLLING_INTERVAL_MS' | 'ARCHIVER_SKIP_HISTORICAL_LOGS_CHECK' | 'ARCHIVER_URL' | 'ARCHIVER_VIEM_POLLING_INTERVAL_MS' | 'ARCHIVER_BATCH_SIZE' | 'ARCHIVER_ORPHAN_PRUNE_NO_PROPOSAL_TOLERANCE' | 'ARCHIVER_SKIP_ORPHAN_PROPOSED_BLOCK_PRUNING' | 'AZTEC_ADMIN_PORT' | 'AZTEC_NODE_DEBUG' | 'AZTEC_ADMIN_API_KEY_HASH' | 'AZTEC_DISABLE_ADMIN_API_KEY' | 'AZTEC_RESET_ADMIN_API_KEY' | 'AZTEC_NODE_ADMIN_URL' | 'AZTEC_NODE_URL' | 'AZTEC_PORT' | 'BB_BINARY_PATH' | 'BB_SKIP_CLEANUP' | 'BB_WORKING_DIRECTORY' | 'BB_NUM_IVC_VERIFIERS' | 'BB_IVC_CONCURRENCY' | 'BB_CHONK_VERIFY_MAX_BATCH' | 'BB_CHONK_VERIFY_BATCH_CONCURRENCY' | 'BB_DEBUG_OUTPUT_DIR' | 'BOOTSTRAP_NODES' | 'BLOB_ARCHIVE_API_URL' | 'BLOB_FILE_STORE_URLS' | 'BLOB_FILE_STORE_UPLOAD_URL' | 'BLOB_HEALTHCHECK_UPLOAD_INTERVAL_MINUTES' | 'BOT_DA_GAS_LIMIT' | 'BOT_FEE_PAYMENT_METHOD' | 'BOT_MIN_FEE_PADDING' | 'BOT_FLUSH_SETUP_TRANSACTIONS' | 'BOT_FOLLOW_CHAIN' | 'BOT_L2_GAS_LIMIT' | 'BOT_MAX_PENDING_TXS' | 'BOT_NO_START' | 'BOT_L1_MNEMONIC' | 'BOT_L1_PRIVATE_KEY' | 'BOT_L1_TO_L2_TIMEOUT_SECONDS' | 'BOT_PRIVATE_KEY' | 'BOT_ACCOUNT_SALT' | 'BOT_PRIVATE_TRANSFERS_PER_TX' | 'BOT_PUBLIC_TRANSFERS_PER_TX' | 'BOT_RECIPIENT_ENCRYPTION_SECRET' | 'BOT_TOKEN_CONTRACT' | 'BOT_TOKEN_SALT' | 'BOT_TX_INTERVAL_SECONDS' | 'BOT_TX_MINED_WAIT_SECONDS' | 'BOT_MAX_CONSECUTIVE_ERRORS' | 'BOT_STOP_WHEN_UNHEALTHY' | 'BOT_MODE' | 'BOT_L2_TO_L1_MESSAGES_PER_TX' | 'BOT_L1_TO_L2_SEED_COUNT' | 'BOT_L1_TO_L2_SEED_INTERVAL' | 'COINBASE' | 'CRS_PATH' | 'DATA_DIRECTORY' | 'DATA_STORE_MAP_SIZE_KB' | 'ARCHIVER_STORE_MAP_SIZE_KB' | 'BLOB_SINK_MAP_SIZE_KB' | 'P2P_STORE_MAP_SIZE_KB' | 'PROVER_BROKER_STORE_MAP_SIZE_KB' | 'SIGNING_PROTECTION_MAP_SIZE_KB' | 'WS_DB_MAP_SIZE_KB' | 'ARCHIVE_TREE_MAP_SIZE_KB' | 'NULLIFIER_TREE_MAP_SIZE_KB' | 'NOTE_HASH_TREE_MAP_SIZE_KB' | 'MESSAGE_TREE_MAP_SIZE_KB' | 'PUBLIC_DATA_TREE_MAP_SIZE_KB' | 'DEBUG' | 'DEBUG_P2P_DISABLE_COLOCATION_PENALTY' | 'ENABLE_PROVER_NODE' | 'USE_AUTOMINE_SEQUENCER' | 'AUTOMINE_ENABLE_PROVE_EPOCH' | 'ETHEREUM_HOSTS' | 'ETHEREUM_DEBUG_HOSTS' | 'ETHEREUM_ALLOW_NO_DEBUG_HOSTS' | 'FEE_RECIPIENT' | 'FORCE_COLOR' | 'GOVERNANCE_PROPOSER_PAYLOAD_ADDRESS' | 'KEY_STORE_DIRECTORY' | 'L1_CHAIN_ID' | 'L1_CONSENSUS_HOST_URLS' | 'ETHEREUM_HTTP_TIMEOUT_MS' | 'L1_CONSENSUS_HOST_API_KEYS' | 'L1_CONSENSUS_HOST_API_KEY_HEADERS' | 'L1_TX_FAILED_STORE' | 'LOG_JSON' | 'LOG_MULTILINE' | 'LOG_NO_COLOR_PER_ACTOR' | 'LOG_LEVEL' | 'MNEMONIC' | 'NETWORK' | 'NETWORK_CONFIG_LOCATION' | 'ALLOW_OVERRIDING_NETWORK_CONFIG' | 'USE_GCLOUD_LOGGING' | 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT' | 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT' | 'OTEL_EXPORTER_OTLP_LOGS_ENDPOINT' | 'OTEL_COLLECT_INTERVAL_MS' | 'OTEL_BSP_MAX_QUEUE_SIZE' | 'OTEL_EXCLUDE_METRICS' | 'OTEL_INCLUDE_METRICS' | 'OTEL_MIN_TRACE_DURATION_MS' | 'OTEL_EXPORT_TIMEOUT_MS' | 'PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT' | 'PUBLIC_OTEL_INCLUDE_METRICS' | 'PUBLIC_OTEL_COLLECT_FROM' | 'PUBLIC_OTEL_OPT_OUT' | 'P2P_BATCH_TX_REQUESTER_SMART_PARALLEL_WORKER_COUNT' | 'P2P_BATCH_TX_REQUESTER_DUMB_PARALLEL_WORKER_COUNT' | 'P2P_BATCH_TX_REQUESTER_TX_BATCH_SIZE' | 'P2P_BATCH_TX_REQUESTER_BAD_PEER_THRESHOLD' | 'P2P_BLOCK_CHECK_INTERVAL_MS' | 'P2P_BLOCK_REQUEST_BATCH_SIZE' | 'P2P_BOOTSTRAP_NODE_ENR_VERSION_CHECK' | 'P2P_BOOTSTRAP_NODES_AS_FULL_PEERS' | 'P2P_ENABLED' | 'P2P_DISCOVERY_DISABLED' | 'P2P_GOSSIPSUB_D' | 'P2P_GOSSIPSUB_DHI' | 'P2P_GOSSIPSUB_DLO' | 'P2P_GOSSIPSUB_DLAZY' | 'P2P_GOSSIPSUB_FLOOD_PUBLISH' | 'P2P_GOSSIPSUB_INTERVAL_MS' | 'P2P_GOSSIPSUB_MCACHE_GOSSIP' | 'P2P_GOSSIPSUB_MCACHE_LENGTH' | 'P2P_GOSSIPSUB_SEEN_TTL' | 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY' | 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT' | 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT' | 'P2P_L2_QUEUE_SIZE' | 'P2P_MAX_GOSSIP_CLOCK_DISPARITY_MS' | 'P2P_MAX_PEERS' | 'P2P_PEER_BAN_DURATION_SECONDS' | 'P2P_PEER_CHECK_INTERVAL_MS' | 'P2P_PEER_FAILED_BAN_TIME_MS' | 'P2P_PEER_PENALTY_VALUES' | 'P2P_QUERY_FOR_IP' | 'P2P_PUBLIC_IP_SERVICES' | 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS' | 'P2P_REQRESP_DIAL_TIMEOUT_MS' | 'P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS' | 'P2P_DISABLE_STATUS_HANDSHAKE' | 'P2P_ALLOW_ONLY_VALIDATORS' | 'P2P_MAX_AUTH_FAILED_ATTEMPTS_ALLOWED' | 'P2P_REQRESP_OPTIMISTIC_NEGOTIATION' | 'P2P_DOUBLE_SPEND_SEVERE_PEER_PENALTY_WINDOW' | 'P2P_LISTEN_ADDR' | 'P2P_PORT' | 'P2P_BROADCAST_PORT' | 'P2P_IP' | 'P2P_ARCHIVED_TX_LIMIT' | 'P2P_TRUSTED_PEERS' | 'P2P_PRIVATE_PEERS' | 'P2P_PREFERRED_PEERS' | 'P2P_MAX_PENDING_TX_COUNT' | 'P2P_SEEN_MSG_CACHE_SIZE' | 'P2P_DROP_TX_CHANCE' | 'P2P_TX_POOL_DELETE_TXS_AFTER_REORG' | 'P2P_MIN_TX_POOL_AGE_MS' | 'P2P_MISSING_TX_COLLECTION_DEADLINE_SLOTS' | 'P2P_RPC_PRICE_BUMP_PERCENTAGE' | 'P2P_KEEP_FINALIZED_TXS_FOR_SLOTS' | 'P2P_TX_VALIDATION_CACHE_SIZE' | 'DEBUG_P2P_INSTRUMENT_MESSAGES' | 'PEER_ID_PRIVATE_KEY' | 'PEER_ID_PRIVATE_KEY_PATH' | 'PROVER_AGENT_COUNT' | 'PROVER_AGENT_PROOF_TYPES' | 'PROVER_AGENT_POLL_INTERVAL_MS' | 'PROVER_BROKER_HOST' | 'PROVER_BROKER_JOB_TIMEOUT_MS' | 'PROVER_BROKER_POLL_INTERVAL_MS' | 'PROVER_BROKER_JOB_MAX_RETRIES' | 'PROVER_BROKER_BATCH_INTERVAL_MS' | 'PROVER_BROKER_BATCH_SIZE' | 'PROVER_BROKER_MAX_EPOCHS_TO_KEEP_RESULTS_FOR' | 'PROVER_BROKER_DEBUG_REPLAY_ENABLED' | 'PROVER_CANCEL_JOBS_ON_STOP' | 'PROVER_ENQUEUE_CONCURRENCY' | 'PROVER_COORDINATION_NODE_URLS' | 'PROVER_PROOF_STORE' | 'PROVER_FAILED_PROOF_STORE' | 'PROVER_NODE_FAILED_EPOCH_STORE' | 'PROVER_NODE_DISABLE_PROOF_PUBLISH' | 'PROVER_ID' | 'PROVER_NODE_POLLING_INTERVAL_MS' | 'PROVER_NODE_MAX_PENDING_JOBS' | 'PROVER_NODE_MAX_PARALLEL_BLOCKS_PER_EPOCH' | 'PROVER_NODE_TX_GATHERING_INTERVAL_MS' | 'PROVER_NODE_TX_GATHERING_BATCH_SIZE' | 'PROVER_NODE_TX_GATHERING_MAX_PARALLEL_REQUESTS_PER_NODE' | 'PROVER_NODE_TX_GATHERING_TIMEOUT_MS' | 'PROVER_PUBLISHER_PRIVATE_KEY' | 'PROVER_PUBLISHER_PRIVATE_KEYS' | 'PROVER_PUBLISHER_ADDRESSES' | 'PROVER_PUBLISHER_ALLOW_INVALID_STATES' | 'PROVER_PUBLISHER_FORWARDER_ADDRESS' | 'PROVER_REAL_PROOFS' | 'PROVER_TEST_DELAY_FACTOR' | 'PROVER_TEST_DELAY_MS' | 'PROVER_TEST_DELAY_TYPE' | 'PROVER_TEST_VERIFICATION_DELAY_MS' | 'PXE_AUTO_SYNC' | 'PXE_L2_BLOCK_BATCH_SIZE' | 'PXE_PROVER_ENABLED' | 'PXE_SYNC_CHAIN_TIP' | 'RPC_MAX_BATCH_SIZE' | 'RPC_MAX_BODY_SIZE' | 'RPC_SIMULATE_PUBLIC_MAX_GAS_LIMIT' | 'RPC_SIMULATE_PUBLIC_MAX_DEBUG_LOG_MEMORY_READS' | 'OFFENSE_COLLECTION_ENABLED' | 'SENTINEL_ENABLED' | 'SENTINEL_HISTORY_LENGTH_IN_EPOCHS' | 'SENTINEL_HISTORIC_EPOCH_PERFORMANCE_LENGTH_IN_EPOCHS' | 'SENTINEL_EPOCH_END_BUFFER_SLOTS' | 'SEQ_MAX_TX_PER_BLOCK' | 'SEQ_MAX_TX_PER_CHECKPOINT' | 'SEQ_MIN_TX_PER_BLOCK' | 'SEQ_PUBLISH_TXS_WITH_PROPOSALS' | 'SEQ_MAX_DA_BLOCK_GAS' | 'SEQ_MAX_L2_BLOCK_GAS' | 'SEQ_PER_BLOCK_ALLOCATION_MULTIPLIER' | 'SEQ_PER_BLOCK_DA_ALLOCATION_MULTIPLIER' | 'SEQ_REDISTRIBUTE_CHECKPOINT_BUDGET' | 'SEQ_PUBLISHER_PRIVATE_KEY' | 'SEQ_PUBLISHER_PRIVATE_KEYS' | 'SEQ_PUBLISHER_ADDRESSES' | 'SEQ_PUBLISHER_ALLOW_INVALID_STATES' | 'SEQ_PUBLISHER_FORWARDER_ADDRESS' | 'SEQ_PUBLISHER_PREVIOUS_L1_BLOCK_WAIT_TIMEOUT_MS' | 'SEQ_PUBLISHER_PREVIOUS_L1_BLOCK_WAIT_POLL_INTERVAL_MS' | 'PUBLISHER_FUNDING_THRESHOLD' | 'PUBLISHER_FUNDING_AMOUNT' | 'SEQ_POLLING_INTERVAL_MS' | 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT' | 'SEQ_ATTESTATION_PROPAGATION_TIME' | 'SEQ_CHECKPOINT_PROPOSAL_PREPARE_TIME' | 'CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS' | 'SEQ_MIN_BLOCK_DURATION' | 'SEQ_BLOCK_DURATION_MS' | 'SEQ_LAST_BLOCK_DURATION_MS' | 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT' | 'SEQ_BUILD_CHECKPOINT_IF_EMPTY' | 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_COMMITTEE_MEMBER' | 'SEQ_SECONDS_BEFORE_INVALIDATING_BLOCK_AS_NON_COMMITTEE_MEMBER' | 'SEQ_SKIP_CHECKPOINT_PUBLISH_PERCENT' | 'SLASH_VALIDATORS_ALWAYS' | 'SLASH_VALIDATORS_NEVER' | 'SLASH_DATA_WITHHOLDING_PENALTY' | 'SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS' | 'SLASH_INACTIVITY_PENALTY' | 'SLASH_INACTIVITY_TARGET_PERCENTAGE' | 'SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD' | 'SLASH_INVALID_BLOCK_PENALTY' | 'SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY' | 'SLASH_DUPLICATE_PROPOSAL_PENALTY' | 'SLASH_DUPLICATE_ATTESTATION_PENALTY' | 'SLASH_OVERRIDE_PAYLOAD' | 'SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY' | 'SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY' | 'SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY' | 'SLASH_UNKNOWN_PENALTY' | 'SLASH_GRACE_PERIOD_L2_SLOTS' | 'SLASH_OFFENSE_EXPIRATION_ROUNDS' | 'SLASH_MAX_PAYLOAD_SIZE' | 'SLASH_EXECUTE_ROUNDS_LOOK_BACK' | 'SYNC_MODE' | 'SYNC_SNAPSHOTS_URLS' | 'SYNC_SNAPSHOTS_URL' | 'TELEMETRY' | 'TEST_ACCOUNTS' | 'TEST_PRELOAD_STANDARD_CONTRACTS' | 'SPONSORED_FPC' | 'PREFUND_ADDRESSES' | 'TX_COLLECTION_FAST_NODES_TIMEOUT_BEFORE_REQ_RESP_MS' | 'TX_COLLECTION_FAST_NODE_INTERVAL_MS' | 'TX_COLLECTION_FAST_MAX_PARALLEL_REQUESTS_PER_NODE' | 'TX_COLLECTION_NODE_RPC_MAX_BATCH_SIZE' | 'TX_COLLECTION_NODE_RPC_URLS' | 'TX_COLLECTION_MISSING_TXS_COLLECTOR_TYPE' | 'TX_COLLECTION_FILE_STORE_URLS' | 'TX_COLLECTION_FILE_STORE_FAST_DELAY_MS' | 'TX_COLLECTION_FILE_STORE_FAST_WORKER_COUNT' | 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_BASE_MS' | 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_MAX_MS' | 'TX_FILE_STORE_URL' | 'TX_FILE_STORE_UPLOAD_CONCURRENCY' | 'TX_FILE_STORE_MAX_QUEUE_SIZE' | 'TX_FILE_STORE_ENABLED' | 'TX_PUBLIC_SETUP_ALLOWLIST' | 'TXE_PORT' | 'TRANSACTIONS_DISABLED' | 'VALIDATOR_ATTESTATIONS_POLLING_INTERVAL_MS' | 'VALIDATOR_DISABLED' | 'VALIDATOR_MAX_DA_BLOCK_GAS' | 'VALIDATOR_MAX_L2_BLOCK_GAS' | 'VALIDATOR_MAX_TX_PER_BLOCK' | 'VALIDATOR_MAX_TX_PER_CHECKPOINT' | 'VALIDATOR_PRIVATE_KEYS' | 'VALIDATOR_PRIVATE_KEY' | 'VALIDATOR_ADDRESSES' | 'ROLLUP_VERSION' | 'WS_BLOCK_CHECK_INTERVAL_MS' | 'WS_BLOCK_REQUEST_BATCH_SIZE' | 'L1_READER_VIEM_POLLING_INTERVAL_MS' | 'WS_DATA_DIRECTORY' | 'WS_NUM_HISTORIC_CHECKPOINTS' | 'WS_NUM_HISTORIC_BLOCKS' | 'ETHEREUM_SLOT_DURATION' | 'AZTEC_SLOT_DURATION' | 'AZTEC_EPOCH_DURATION' | 'AZTEC_TARGET_COMMITTEE_SIZE' | 'AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET' | 'AZTEC_LAG_IN_EPOCHS_FOR_RANDAO' | 'AZTEC_INBOX_LAG' | 'AZTEC_PROOF_SUBMISSION_EPOCHS' | 'AZTEC_ACTIVATION_THRESHOLD' | 'AZTEC_EJECTION_THRESHOLD' | 'AZTEC_LOCAL_EJECTION_THRESHOLD' | 'AZTEC_MANA_TARGET' | 'AZTEC_PROVING_COST_PER_MANA' | 'AZTEC_INITIAL_ETH_PER_FEE_ASSET' | 'AZTEC_SLASHING_QUORUM' | 'AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS' | 'AZTEC_SLASHING_LIFETIME_IN_ROUNDS' | 'AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS' | 'AZTEC_SLASHING_VETOER' | 'AZTEC_SLASHING_OFFSET_IN_ROUNDS' | 'AZTEC_SLASHING_DISABLE_DURATION' | 'AZTEC_SLASH_AMOUNT_SMALL' | 'AZTEC_SLASH_AMOUNT_MEDIUM' | 'AZTEC_SLASH_AMOUNT_LARGE' | 'AZTEC_SLASHER_ENABLED' | 'AZTEC_GOVERNANCE_PROPOSER_QUORUM' | 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE' | 'AZTEC_GOVERNANCE_VOTING_DURATION' | 'AZTEC_EXIT_DELAY_SECONDS' | 'L1_GAS_LIMIT_BUFFER_PERCENTAGE' | 'L1_GAS_PRICE_MAX' | 'L1_FEE_PER_GAS_GWEI_MAX' | 'L1_BLOB_FEE_PER_GAS_MAX' | 'L1_BLOB_FEE_PER_GAS_GWEI_MAX' | 'L1_PRIORITY_FEE_BUMP_PERCENTAGE' | 'L1_PRIORITY_FEE_RETRY_BUMP_PERCENTAGE' | 'L1_MINIMUM_PRIORITY_FEE_PER_GAS_GWEI' | 'L1_FIXED_PRIORITY_FEE_PER_GAS' | 'L1_FIXED_PRIORITY_FEE_PER_GAS_GWEI' | 'L1_TX_MONITOR_MAX_ATTEMPTS' | 'L1_TX_MONITOR_CHECK_INTERVAL_MS' | 'L1_TX_MONITOR_STALL_TIME_MS' | 'L1_TX_MONITOR_TX_TIMEOUT_MS' | 'L1_TX_MONITOR_CANCEL_TX_ON_TIMEOUT' | 'L1_TX_MONITOR_TX_CANCELLATION_TIMEOUT_MS' | 'L1_TX_MONITOR_TX_UNSEEN_CONSIDERED_DROPPED_MS' | 'FAUCET_MNEMONIC_ADDRESS_INDEX' | 'FAUCET_ETH_AMOUNT' | 'FAUCET_INTERVAL_MS' | 'FAUCET_L1_ASSETS' | 'K8S_POD_NAME' | 'K8S_POD_UID' | 'K8S_NAMESPACE_NAME' | 'ENABLE_AUTO_SHUTDOWN' | 'WEB3_SIGNER_URL' | 'SKIP_ARCHIVER_INITIAL_SYNC' | 'BLOB_ALLOW_EMPTY_SOURCES' | 'BLOB_PREFER_FILESTORES' | 'BLOB_FILE_STORE_TIMEOUT_MS' | 'FISHERMAN_MODE' | 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS' | 'MAX_BLOCKS_PER_CHECKPOINT' | 'LEGACY_BLS_CLI' | 'DEBUG_FORCE_TX_PROOF_VERIFICATION' | 'VALIDATOR_ALLOW_EPHEMERAL_SIGNING_PROTECTION' | 'VALIDATOR_HA_SIGNING_ENABLED' | 'VALIDATOR_HA_NODE_ID' | 'VALIDATOR_HA_POLLING_INTERVAL_MS' | 'VALIDATOR_HA_SIGNING_TIMEOUT_MS' | 'VALIDATOR_SIGNER_CALL_TIMEOUT_MS' | 'VALIDATOR_HA_MAX_STUCK_DUTIES_AGE_MS' | 'VALIDATOR_HA_OLD_DUTIES_MAX_AGE_H' | 'VALIDATOR_HA_DATABASE_URL' | 'VALIDATOR_HA_RUN_MIGRATIONS' | 'VALIDATOR_HA_POOL_MAX' | 'VALIDATOR_HA_POOL_MIN' | 'VALIDATOR_HA_POOL_IDLE_TIMEOUT_MS' | 'VALIDATOR_HA_POOL_CONNECTION_TIMEOUT_MS';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52X3Zhci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9lbnZfdmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sTUFBTSxNQUFNLEdBQ2QsMkJBQTJCLEdBQzNCLG9DQUFvQyxHQUNwQyxrQkFBa0IsR0FDbEIsd0JBQXdCLEdBQ3hCLFNBQVMsR0FDVCxZQUFZLEdBQ1osOEJBQThCLEdBQzlCLHFDQUFxQyxHQUNyQyxjQUFjLEdBQ2QsbUNBQW1DLEdBQ25DLHFCQUFxQixHQUNyQiw2Q0FBNkMsR0FDN0MsNkNBQTZDLEdBQzdDLGtCQUFrQixHQUNsQixrQkFBa0IsR0FDbEIsMEJBQTBCLEdBQzFCLDZCQUE2QixHQUM3QiwyQkFBMkIsR0FDM0Isc0JBQXNCLEdBQ3RCLGdCQUFnQixHQUNoQixZQUFZLEdBQ1osZ0JBQWdCLEdBQ2hCLGlCQUFpQixHQUNqQixzQkFBc0IsR0FDdEIsc0JBQXNCLEdBQ3RCLG9CQUFvQixHQUNwQiwyQkFBMkIsR0FDM0IsbUNBQW1DLEdBQ25DLHFCQUFxQixHQUNyQixpQkFBaUIsR0FDakIsc0JBQXNCLEdBQ3RCLHNCQUFzQixHQUN0Qiw0QkFBNEIsR0FDNUIsMENBQTBDLEdBQzFDLGtCQUFrQixHQUNsQix3QkFBd0IsR0FDeEIscUJBQXFCLEdBQ3JCLDhCQUE4QixHQUM5QixrQkFBa0IsR0FDbEIsa0JBQWtCLEdBQ2xCLHFCQUFxQixHQUNyQixjQUFjLEdBQ2QsaUJBQWlCLEdBQ2pCLG9CQUFvQixHQUNwQiw4QkFBOEIsR0FDOUIsaUJBQWlCLEdBQ2pCLGtCQUFrQixHQUNsQiw4QkFBOEIsR0FDOUIsNkJBQTZCLEdBQzdCLGlDQUFpQyxHQUNqQyxvQkFBb0IsR0FDcEIsZ0JBQWdCLEdBQ2hCLHlCQUF5QixHQUN6QiwyQkFBMkIsR0FDM0IsNEJBQTRCLEdBQzVCLHlCQUF5QixHQUN6QixVQUFVLEdBQ1YsOEJBQThCLEdBQzlCLHlCQUF5QixHQUN6Qiw0QkFBNEIsR0FD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env_var.d.ts","sourceRoot":"","sources":["../../src/config/env_var.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GACd,2BAA2B,GAC3B,oCAAoC,GACpC,kBAAkB,GAClB,wBAAwB,GACxB,SAAS,GACT,YAAY,GACZ,8BAA8B,GAC9B,qCAAqC,GACrC,cAAc,GACd,mCAAmC,GACnC,qBAAqB,GACrB,
|
|
1
|
+
{"version":3,"file":"env_var.d.ts","sourceRoot":"","sources":["../../src/config/env_var.ts"],"names":[],"mappings":"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"}
|
package/dest/config/index.d.ts
CHANGED
|
@@ -48,19 +48,32 @@ export declare function getConfigFromMappings<T>(configMappings: ConfigMappingsT
|
|
|
48
48
|
*/
|
|
49
49
|
export declare function omitConfigMappings<T, K extends keyof T>(configMappings: ConfigMappingsType<T>, keysToFilter: K[]): ConfigMappingsType<Omit<T, K>>;
|
|
50
50
|
/**
|
|
51
|
-
* Generates parseEnv and default values for
|
|
52
|
-
*
|
|
53
|
-
*
|
|
51
|
+
* Generates parseEnv and default values for an integer config value.
|
|
52
|
+
*
|
|
53
|
+
* The default is used only when the environment variable is unset or empty. A set-but-invalid
|
|
54
|
+
* value (non-numeric, fractional, or outside the safe-integer range) throws rather than silently
|
|
55
|
+
* falling back to the default.
|
|
56
|
+
* @param defaultVal - The default value to use when the environment variable is unset
|
|
57
|
+
* @returns Object with parseEnv and default values for an integer config value
|
|
54
58
|
*/
|
|
55
59
|
export declare function numberConfigHelper(defaultVal: number): Pick<ConfigMapping<number>, 'parseEnv' | 'defaultValue'>;
|
|
56
60
|
/**
|
|
57
|
-
* Generates parseEnv and default values for a
|
|
58
|
-
*
|
|
59
|
-
*
|
|
61
|
+
* Generates parseEnv and default values for a floating-point config value.
|
|
62
|
+
*
|
|
63
|
+
* The default is used only when the environment variable is unset or empty. A set-but-invalid
|
|
64
|
+
* value (not a finite number) throws rather than silently falling back to the default.
|
|
65
|
+
* @param defaultVal - The default value to use when the environment variable is unset
|
|
66
|
+
* @param validationFn - Optional extra validation applied to the parsed value; should throw on invalid input
|
|
67
|
+
* @returns Object with parseEnv and default values for a floating-point config value
|
|
60
68
|
*/
|
|
61
69
|
export declare function floatConfigHelper(defaultVal: number, validationFn?: (val: number) => void): Pick<ConfigMapping<number>, 'parseEnv' | 'defaultValue'>;
|
|
62
70
|
/**
|
|
63
|
-
*
|
|
71
|
+
* Generates parseEnv and default values for a 0-1 percentage config value.
|
|
72
|
+
*
|
|
73
|
+
* The default is used only when the environment variable is unset or empty. A set-but-invalid
|
|
74
|
+
* value (not a finite number, or outside the 0-1 range) throws rather than silently falling back
|
|
75
|
+
* to the default.
|
|
76
|
+
* @param defaultVal - The default value to use when the environment variable is unset
|
|
64
77
|
*/
|
|
65
78
|
export declare function percentageConfigHelper(defaultVal: number): Pick<ConfigMapping<number>, 'parseEnv' | 'defaultValue'>;
|
|
66
79
|
/**
|
|
@@ -138,4 +151,4 @@ export declare function pickConfigMappings<T, K extends keyof T>(configMappings:
|
|
|
138
151
|
* @returns {T} - The configuration object with default values.
|
|
139
152
|
*/
|
|
140
153
|
export declare function getDefaultConfig<T>(configMappings: ConfigMappingsType<T>): T;
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztBQUM3QyxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3JDLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRixNQUFNLFdBQVcsYUFBYSxDQUFDLENBQUM7SUFDOUIsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2IsaUVBQWlFO0lBQ2pFLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDOUIsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pCLFlBQVksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxNQUFNLENBQUM7SUFDcEMsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixTQUFTLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDcEIsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEI7OztPQUdHO0lBQ0gsa0JBQWtCLENBQUMsRUFBRTtRQUFFLEdBQUcsRUFBRSxNQUFNLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxN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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;AAC7C,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAElF,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;OAGG;IACH,kBAAkB,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC1D;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,OAAO,CAErE;AAED,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;KACjC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAC3C,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC,GAAG,SAAS,EAC3C,YAAY,EAAE,CAAC,GAAG,SAAS,EAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,CAAC,GAAG,SAAS,CA0Bf;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAwBjF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EACrD,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACrC,YAAY,EAAE,CAAC,EAAE,GAChB,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAIhC;AAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
package/dest/config/index.js
CHANGED
|
@@ -73,23 +73,31 @@ export function getConfigFromMappings(configMappings) {
|
|
|
73
73
|
return Object.fromEntries(Object.entries(configMappings).filter(([key])=>!keysToFilter.includes(key)));
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
|
-
* Generates parseEnv and default values for
|
|
77
|
-
*
|
|
78
|
-
*
|
|
76
|
+
* Generates parseEnv and default values for an integer config value.
|
|
77
|
+
*
|
|
78
|
+
* The default is used only when the environment variable is unset or empty. A set-but-invalid
|
|
79
|
+
* value (non-numeric, fractional, or outside the safe-integer range) throws rather than silently
|
|
80
|
+
* falling back to the default.
|
|
81
|
+
* @param defaultVal - The default value to use when the environment variable is unset
|
|
82
|
+
* @returns Object with parseEnv and default values for an integer config value
|
|
79
83
|
*/ export function numberConfigHelper(defaultVal) {
|
|
80
84
|
return {
|
|
81
|
-
parseEnv: (val)=>
|
|
85
|
+
parseEnv: (val)=>parseSafeInteger(val),
|
|
82
86
|
defaultValue: defaultVal
|
|
83
87
|
};
|
|
84
88
|
}
|
|
85
89
|
/**
|
|
86
|
-
* Generates parseEnv and default values for a
|
|
87
|
-
*
|
|
88
|
-
*
|
|
90
|
+
* Generates parseEnv and default values for a floating-point config value.
|
|
91
|
+
*
|
|
92
|
+
* The default is used only when the environment variable is unset or empty. A set-but-invalid
|
|
93
|
+
* value (not a finite number) throws rather than silently falling back to the default.
|
|
94
|
+
* @param defaultVal - The default value to use when the environment variable is unset
|
|
95
|
+
* @param validationFn - Optional extra validation applied to the parsed value; should throw on invalid input
|
|
96
|
+
* @returns Object with parseEnv and default values for a floating-point config value
|
|
89
97
|
*/ export function floatConfigHelper(defaultVal, validationFn) {
|
|
90
98
|
return {
|
|
91
99
|
parseEnv: (val)=>{
|
|
92
|
-
const parsed =
|
|
100
|
+
const parsed = parseFiniteNumber(val);
|
|
93
101
|
validationFn?.(parsed);
|
|
94
102
|
return parsed;
|
|
95
103
|
},
|
|
@@ -97,11 +105,16 @@ export function getConfigFromMappings(configMappings) {
|
|
|
97
105
|
};
|
|
98
106
|
}
|
|
99
107
|
/**
|
|
100
|
-
*
|
|
108
|
+
* Generates parseEnv and default values for a 0-1 percentage config value.
|
|
109
|
+
*
|
|
110
|
+
* The default is used only when the environment variable is unset or empty. A set-but-invalid
|
|
111
|
+
* value (not a finite number, or outside the 0-1 range) throws rather than silently falling back
|
|
112
|
+
* to the default.
|
|
113
|
+
* @param defaultVal - The default value to use when the environment variable is unset
|
|
101
114
|
*/ export function percentageConfigHelper(defaultVal) {
|
|
102
115
|
return {
|
|
103
116
|
parseEnv: (val)=>{
|
|
104
|
-
const parsed =
|
|
117
|
+
const parsed = parseFiniteNumber(val);
|
|
105
118
|
if (parsed < 0 || parsed > 1) {
|
|
106
119
|
throw new TypeError(`Invalid percentage value: ${parsed} should be between 0 and 1`);
|
|
107
120
|
}
|
|
@@ -138,13 +151,7 @@ export function bigintConfigHelper(defaultVal) {
|
|
|
138
151
|
* Empty strings are already handled by getValueFromEnvWithFallback.
|
|
139
152
|
*/ export function optionalNumberConfigHelper() {
|
|
140
153
|
return {
|
|
141
|
-
parseEnv: (val)=>
|
|
142
|
-
const parsedValue = parseInt(val);
|
|
143
|
-
if (!Number.isSafeInteger(parsedValue)) {
|
|
144
|
-
throw new Error(`Invalid number: ${val}`);
|
|
145
|
-
}
|
|
146
|
-
return parsedValue;
|
|
147
|
-
}
|
|
154
|
+
parseEnv: (val)=>parseSafeInteger(val)
|
|
148
155
|
};
|
|
149
156
|
}
|
|
150
157
|
export function enumConfigHelper(values, defaultValue) {
|
|
@@ -206,24 +213,33 @@ export function secretFqConfigHelper(defaultValue) {
|
|
|
206
213
|
};
|
|
207
214
|
}
|
|
208
215
|
/**
|
|
209
|
-
*
|
|
210
|
-
*
|
|
216
|
+
* Parses a string into a safe integer, throwing if the value is numeric but not an integer.
|
|
217
|
+
*
|
|
218
|
+
* Unlike `parseInt`, this does not silently truncate decimals: `'0.8'` throws rather than
|
|
219
|
+
* becoming `0`. A fractional value indicates the caller intended a non-integer where only
|
|
220
|
+
* integers are supported (use `floatConfigHelper`/`percentageConfigHelper` for those).
|
|
211
221
|
* @param value - The string value to parse
|
|
212
|
-
* @
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
222
|
+
* @returns The parsed integer value
|
|
223
|
+
*/ function parseSafeInteger(value) {
|
|
224
|
+
const parsedValue = parseFloat(value);
|
|
225
|
+
if (!Number.isSafeInteger(parsedValue)) {
|
|
226
|
+
throw new Error(`Invalid integer config value '${value}'; expected a whole number`);
|
|
227
|
+
}
|
|
228
|
+
return parsedValue;
|
|
217
229
|
}
|
|
218
230
|
/**
|
|
219
|
-
*
|
|
220
|
-
*
|
|
231
|
+
* Parses a string into a finite floating-point number, throwing if the value is not a finite number.
|
|
232
|
+
*
|
|
233
|
+
* Invalid input (e.g. `'abc'`, or an overflow to `Infinity`) throws rather than being silently
|
|
234
|
+
* swallowed, so a misconfigured value fails loudly instead of falling back to the config default.
|
|
221
235
|
* @param value - The string value to parse
|
|
222
|
-
* @
|
|
223
|
-
|
|
224
|
-
*/ function safeParseFloat(value, defaultValue) {
|
|
236
|
+
* @returns The parsed number
|
|
237
|
+
*/ function parseFiniteNumber(value) {
|
|
225
238
|
const parsedValue = parseFloat(value);
|
|
226
|
-
|
|
239
|
+
if (!Number.isFinite(parsedValue)) {
|
|
240
|
+
throw new Error(`Invalid number config value '${value}'`);
|
|
241
|
+
}
|
|
242
|
+
return parsedValue;
|
|
227
243
|
}
|
|
228
244
|
/**
|
|
229
245
|
* Picks specific keys from the given configuration mappings.
|
|
@@ -30,7 +30,7 @@ export declare class FifoFrameReader extends EventEmitter<FifoFrameReaderEvents>
|
|
|
30
30
|
private running;
|
|
31
31
|
constructor(maxPayloadSize?: number);
|
|
32
32
|
/** Open a FIFO at the given path and start reading frames. */
|
|
33
|
-
start(fifoPath: string): void;
|
|
33
|
+
start(fifoPath: string, highWaterMark?: number): void;
|
|
34
34
|
/** Start reading frames from an existing readable stream. */
|
|
35
35
|
startFromStream(stream: Readable): void;
|
|
36
36
|
/** Stop reading and destroy the underlying stream. */
|
|
@@ -38,4 +38,4 @@ export declare class FifoFrameReader extends EventEmitter<FifoFrameReaderEvents>
|
|
|
38
38
|
/** Parse complete frames out of the pending buffer. */
|
|
39
39
|
private drainFrames;
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlmb19mcmFtZV9yZWFkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWZvL2ZpZm9fZnJhbWVfcmVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sWUFBWSxNQUFNLGFBQWEsQ0FBQztBQUV2QyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxXQUFXLHFCQUFxQjtJQUNwQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekIsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLEdBQUcsRUFBRSxFQUFFLENBQUM7Q0FDVDtBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxxQkFBYSxlQUFnQixTQUFRLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztJQUsxRCxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWM7SUFKM0MsT0FBTyxDQUFDLE1BQU0sQ0FBeUI7SUFDdkMsT0FBTyxDQUFDLFVBQVUsQ0FBMkI7SUFDN0MsT0FBTyxDQUFDLE9BQU8sQ0FBUztJQUV4QixZQUE2QixjQUFjLFNBQW1CLEVBRTdEO0lBRUQsOERBQThEO0lBQzlELEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLGFBQWEsU0FBWSxHQUFHLElBQUksQ0FFdkQ7SUFFRCw2REFBNkQ7SUFDN0QsZUFBZSxDQUFDLE1BQU0sRUFBRSxRQUFRLEdBQUcsSUFBSSxDQXVCdEM7SUFFRCxzREFBc0Q7SUFDdEQsSUFBSSxJQUFJLElBQUksQ0FNWDtJQUVELHVEQUF1RDtJQUN2RCxPQUFPLENBQUMsV0FBVztDQW1CcEIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fifo_frame_reader.d.ts","sourceRoot":"","sources":["../../src/fifo/fifo_frame_reader.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fifo_frame_reader.d.ts","sourceRoot":"","sources":["../../src/fifo/fifo_frame_reader.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AAEvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtB,GAAG,EAAE,EAAE,CAAC;CACT;AAED;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,YAAY,CAAC,qBAAqB,CAAC;IAK1D,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJ3C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,OAAO,CAAS;IAExB,YAA6B,cAAc,SAAmB,EAE7D;IAED,8DAA8D;IAC9D,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,SAAY,GAAG,IAAI,CAEvD;IAED,6DAA6D;IAC7D,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAuBtC;IAED,sDAAsD;IACtD,IAAI,IAAI,IAAI,CAMX;IAED,uDAAuD;IACvD,OAAO,CAAC,WAAW;CAmBpB"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import EventEmitter from 'node:events';
|
|
2
2
|
import * as fs from 'node:fs';
|
|
3
|
-
import * as net from 'node:net';
|
|
4
3
|
/**
|
|
5
4
|
* Reads length-delimited frames from a readable stream (typically a named FIFO pipe).
|
|
6
5
|
*
|
|
@@ -19,26 +18,10 @@ import * as net from 'node:net';
|
|
|
19
18
|
constructor(maxPayloadSize = 10 * 1024 * 1024){
|
|
20
19
|
super(), this.maxPayloadSize = maxPayloadSize, this.stream = null, this.pendingBuf = Buffer.alloc(0), this.running = false;
|
|
21
20
|
}
|
|
22
|
-
/** Open a FIFO at the given path and start reading frames. */ start(fifoPath) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
// (manifesting as Jest "did not exit"). Opening O_NONBLOCK and wrapping the fd in a pipe
|
|
27
|
-
// handle makes reads epoll-based, so stop()'s destroy() releases the handle immediately,
|
|
28
|
-
// regardless of whether the writer is still attached.
|
|
29
|
-
const fd = fs.openSync(fifoPath, fs.constants.O_RDONLY | fs.constants.O_NONBLOCK);
|
|
30
|
-
let socket;
|
|
31
|
-
try {
|
|
32
|
-
socket = new net.Socket({
|
|
33
|
-
fd,
|
|
34
|
-
readable: true,
|
|
35
|
-
writable: false
|
|
36
|
-
});
|
|
37
|
-
} catch (err) {
|
|
38
|
-
fs.closeSync(fd);
|
|
39
|
-
throw err;
|
|
40
|
-
}
|
|
41
|
-
this.startFromStream(socket);
|
|
21
|
+
/** Open a FIFO at the given path and start reading frames. */ start(fifoPath, highWaterMark = 64 * 1024) {
|
|
22
|
+
this.startFromStream(fs.createReadStream(fifoPath, {
|
|
23
|
+
highWaterMark
|
|
24
|
+
}));
|
|
42
25
|
}
|
|
43
26
|
/** Start reading frames from an existing readable stream. */ startFromStream(stream) {
|
|
44
27
|
if (this.running) {
|
|
@@ -7,7 +7,7 @@ export declare function makeLoggingErrorHandler(logger: Logger, ...ignoredErrors
|
|
|
7
7
|
* at a specified polling interval. It allows starting, stopping, and checking the status of the
|
|
8
8
|
* internally managed promise. The class also supports interrupting the polling process when stopped.
|
|
9
9
|
*/
|
|
10
|
-
export declare class RunningPromise {
|
|
10
|
+
export declare class RunningPromise<T = void> {
|
|
11
11
|
private fn;
|
|
12
12
|
private logger;
|
|
13
13
|
private pollingIntervalMS;
|
|
@@ -16,8 +16,9 @@ export declare class RunningPromise {
|
|
|
16
16
|
private runningPromise;
|
|
17
17
|
private interruptibleSleep;
|
|
18
18
|
private requested;
|
|
19
|
+
private requestedArg;
|
|
19
20
|
static readonly EXIT: typeof EXIT;
|
|
20
|
-
constructor(fn: () => void | Promise<void>, logger?: Logger, pollingIntervalMS?: number, handleError?: ErrorHandler);
|
|
21
|
+
constructor(fn: (arg?: T) => void | Promise<void>, logger?: Logger, pollingIntervalMS?: number, handleError?: ErrorHandler);
|
|
21
22
|
/**
|
|
22
23
|
* Starts the running promise.
|
|
23
24
|
*/
|
|
@@ -36,7 +37,7 @@ export declare class RunningPromise {
|
|
|
36
37
|
* Triggers an immediate run of the function, bypassing the polling interval.
|
|
37
38
|
* If the function is currently running, it will be allowed to continue and then called again immediately.
|
|
38
39
|
*/
|
|
39
|
-
trigger(): Promise<void>;
|
|
40
|
+
trigger(arg?: T): Promise<void>;
|
|
40
41
|
/**
|
|
41
42
|
* Updates the polling interval. The new interval will take effect after the next poll.
|
|
42
43
|
* @param pollingIntervalMS The polling interval in milliseconds.
|
|
@@ -44,4 +45,4 @@ export declare class RunningPromise {
|
|
|
44
45
|
setPollingIntervalMS(pollingIntervalMS: number): void;
|
|
45
46
|
}
|
|
46
47
|
export {};
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmluZy1wcm9taXNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvbWlzZS9ydW5uaW5nLXByb21pc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBSWxFLFFBQUEsTUFBTSxJQUFJLGVBQW9DLENBQUM7QUFFL0MsTUFBTSxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLEtBQUssT0FBTyxJQUFJLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQztBQUU5Rix3QkFBZ0IsdUJBQXVCLENBQ3JDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsR0FBRyxhQUFhLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLEdBQ2xELFlBQVksQ0FNZDtBQUVEOzs7O0dBSUc7QUFDSCxxQkFBYSxjQUFjLENBQUMsQ0FBQyxHQUFHLElBQUk7SUFVaEMsT0FBTyxDQUFDLEVBQUU7SUFDVixPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxpQkFBaUI7SUFDekIsT0FBTyxDQUFDLFdBQVc7SUFackIsT0FBTyxDQUFDLE9BQU8sQ0FBUztJQUN4QixPQUFPLENBQUMsY0FBYyxDQUFxQjtJQUMzQyxPQUFPLENBQUMsa0JBQWtCLENBQTRCO0lBQ3RELE9BQU8sQ0FBQyxTQUFTLENBQXFEO0lBQ3RFLE9BQU8sQ0FBQyxZQUFZLENBQTRCO0lBRWhELGdCQUF1QixJQUFJLEVBQUUsT0FBTyxJQUFJLENBQVE7SUFFaEQsWUFDVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFDckMsTUFBTSxTQUFrQyxFQUN4QyxpQkFBaUIsU0FBUSxFQUN6QixXQUFXLEdBQUUsWUFBOEMsRUFDakU7SUFFSjs7T0FFRztJQUNJLEtBQUssU0FtQ1g7SUFFRDs7O09BR0c7SUFDRyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQU8xQjtJQUVEOzs7T0FHRztJQUNJLFNBQVMsWUFFZjtJQUVEOzs7T0FHRztJQUNVLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWEzQztJQUVEOzs7T0FHRztJQUNILG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLE1BQU0sUUFFN0M7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"running-promise.d.ts","sourceRoot":"","sources":["../../src/promise/running-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,QAAA,MAAM,IAAI,eAAoC,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC;AAE9F,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,aAAa,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,EAAE,GAClD,YAAY,CAMd;AAED;;;;GAIG;AACH,qBAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"running-promise.d.ts","sourceRoot":"","sources":["../../src/promise/running-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,QAAA,MAAM,IAAI,eAAoC,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC;AAE9F,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,aAAa,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,EAAE,GAClD,YAAY,CAMd;AAED;;;;GAIG;AACH,qBAAa,cAAc,CAAC,CAAC,GAAG,IAAI;IAUhC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,WAAW;IAZrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,SAAS,CAAqD;IACtE,OAAO,CAAC,YAAY,CAA4B;IAEhD,gBAAuB,IAAI,EAAE,OAAO,IAAI,CAAQ;IAEhD,YACU,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACrC,MAAM,SAAkC,EACxC,iBAAiB,SAAQ,EACzB,WAAW,GAAE,YAA8C,EACjE;IAEJ;;OAEG;IACI,KAAK,SAmCX;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAO1B;IAED;;;OAGG;IACI,SAAS,YAEf;IAED;;;OAGG;IACU,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3C;IAED;;;OAGG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,QAE7C;CACF"}
|
|
@@ -22,6 +22,7 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
|
|
|
22
22
|
runningPromise;
|
|
23
23
|
interruptibleSleep;
|
|
24
24
|
requested;
|
|
25
|
+
requestedArg;
|
|
25
26
|
static EXIT = EXIT;
|
|
26
27
|
constructor(fn, logger = createLogger('running-promise'), pollingIntervalMS = 10000, handleError = makeLoggingErrorHandler(logger)){
|
|
27
28
|
this.fn = fn;
|
|
@@ -32,6 +33,7 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
|
|
|
32
33
|
this.runningPromise = Promise.resolve();
|
|
33
34
|
this.interruptibleSleep = new InterruptibleSleep();
|
|
34
35
|
this.requested = undefined;
|
|
36
|
+
this.requestedArg = undefined;
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
39
|
* Starts the running promise.
|
|
@@ -45,7 +47,7 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
|
|
|
45
47
|
while(this.running){
|
|
46
48
|
const hasRequested = this.requested !== undefined;
|
|
47
49
|
try {
|
|
48
|
-
await this.fn();
|
|
50
|
+
await this.fn(this.requestedArg);
|
|
49
51
|
} catch (err) {
|
|
50
52
|
const code = await this.handleError(err);
|
|
51
53
|
if (code === RunningPromise.EXIT) {
|
|
@@ -59,6 +61,7 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
|
|
|
59
61
|
if (hasRequested) {
|
|
60
62
|
this.requested.resolve();
|
|
61
63
|
this.requested = undefined;
|
|
64
|
+
this.requestedArg = undefined;
|
|
62
65
|
}
|
|
63
66
|
// If no immediate run was requested, sleep for the polling interval.
|
|
64
67
|
if (this.requested === undefined && this.running) {
|
|
@@ -89,14 +92,15 @@ export function makeLoggingErrorHandler(logger, ...ignoredErrors) {
|
|
|
89
92
|
/**
|
|
90
93
|
* Triggers an immediate run of the function, bypassing the polling interval.
|
|
91
94
|
* If the function is currently running, it will be allowed to continue and then called again immediately.
|
|
92
|
-
*/ async trigger() {
|
|
95
|
+
*/ async trigger(arg) {
|
|
93
96
|
if (!this.running) {
|
|
94
|
-
return this.fn();
|
|
97
|
+
return this.fn(arg);
|
|
95
98
|
}
|
|
96
99
|
let requested = this.requested;
|
|
97
100
|
if (!requested) {
|
|
98
101
|
requested = promiseWithResolvers();
|
|
99
102
|
this.requested = requested;
|
|
103
|
+
this.requestedArg = arg;
|
|
100
104
|
this.interruptibleSleep.interrupt();
|
|
101
105
|
}
|
|
102
106
|
await requested.promise;
|
package/dest/retry/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Logger } from '../log/index.js';
|
|
2
|
+
import { type DateProvider } from '../timer/index.js';
|
|
2
3
|
/** An error that indicates that the operation should not be retried. */
|
|
3
4
|
export declare class NoRetryError extends Error {
|
|
4
5
|
}
|
|
@@ -30,6 +31,19 @@ export declare function makeBackoff(retries: number[]): Generator<number, void,
|
|
|
30
31
|
* @throws If `NoRetryError` is thrown by the `fn`, it is rethrown.
|
|
31
32
|
*/
|
|
32
33
|
export declare function retry<Result>(fn: () => Promise<Result>, name?: string, backoff?: Generator<number, void, unknown>, log?: Logger, failSilently?: boolean): Promise<Result>;
|
|
34
|
+
/**
|
|
35
|
+
* Timeout specification accepted by {@link retryUntil}. Either a plain number of seconds, an explicit
|
|
36
|
+
* `{ timeout }` in seconds, or an absolute `{ deadline }` with an optional {@link DateProvider} used to
|
|
37
|
+
* read the current time. A deadline is converted to the remaining seconds at call time; a deadline that
|
|
38
|
+
* has already passed yields a zero remaining budget, matching the immediate-timeout semantics of a
|
|
39
|
+
* non-positive numeric timeout.
|
|
40
|
+
*/
|
|
41
|
+
export type RetryUntilTimeout = number | {
|
|
42
|
+
timeout: number;
|
|
43
|
+
} | {
|
|
44
|
+
deadline: Date;
|
|
45
|
+
dateProvider?: DateProvider;
|
|
46
|
+
};
|
|
33
47
|
/**
|
|
34
48
|
* Retry an asynchronous function until it returns a truthy value or the specified timeout is exceeded.
|
|
35
49
|
* The function is retried periodically with a fixed interval between attempts. The operation can be named for better error messages.
|
|
@@ -37,11 +51,14 @@ export declare function retry<Result>(fn: () => Promise<Result>, name?: string,
|
|
|
37
51
|
*
|
|
38
52
|
* @param fn - The asynchronous function to be retried, which should return a truthy value upon success or undefined otherwise.
|
|
39
53
|
* @param name - The optional name of the operation, used for generating timeout error message.
|
|
40
|
-
* @param timeout - The
|
|
54
|
+
* @param timeout - The maximum time to keep retrying before throwing a timeout error. Accepts a number of
|
|
55
|
+
* seconds (0 = never time out), an explicit `{ timeout }` in seconds, or an absolute `{ deadline }` with an
|
|
56
|
+
* optional `dateProvider`. A deadline already in the past times out on the first interval, the same as a
|
|
57
|
+
* zero/negative numeric timeout. Defaults to 0 (never timeout).
|
|
41
58
|
* @param interval - The optional interval, in seconds, between retry attempts. Defaults to 1 second.
|
|
42
59
|
* @returns A Promise that resolves with the successful (truthy) result of the provided function, or rejects if timeout is exceeded.
|
|
43
60
|
*/
|
|
44
|
-
export declare function retryUntil<T>(fn: () => (T | undefined) | Promise<T | undefined>, name?: string, timeout?:
|
|
61
|
+
export declare function retryUntil<T>(fn: () => (T | undefined) | Promise<T | undefined>, name?: string, timeout?: RetryUntilTimeout, interval?: number): Promise<NonNullable<Awaited<T>>>;
|
|
45
62
|
/**
|
|
46
63
|
* Retry an asynchronous function until it returns a truthy value or the maximum number of retries is exceeded.
|
|
47
64
|
* The function is retried periodically with a fixed interval between attempts.
|
|
@@ -63,4 +80,4 @@ export declare function retryTimes<T>(fn: () => (T | undefined) | Promise<T | un
|
|
|
63
80
|
* @param interval - Optional interval in seconds. Defaults to 0.1s (100ms).
|
|
64
81
|
*/
|
|
65
82
|
export declare function retryFastUntil<T>(fn: () => (T | undefined) | Promise<T | undefined>, name?: string, timeout?: number, interval?: number): Promise<NonNullable<Awaited<T>>>;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXRyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7QUFFNUQsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFTLE1BQU0sbUJBQW1CLENBQUM7QUFFN0Qsd0VBQXdFO0FBQ3hFLHFCQUFhLFlBQWEsU0FBUSxLQUFLO0NBQUc7QUFFMUM7Ozs7Ozs7R0FPRztBQUNILHdCQUFpQixnQkFBZ0IscUNBTWhDO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFpQixXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxvQ0FJN0M7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILHdCQUFzQixLQUFLLENBQUMsTUFBTSxFQUNoQyxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQ3pCLElBQUksU0FBYyxFQUNsQixPQUFPLG1DQUFxQixFQUM1QixHQUFHLEdBQUUsTUFBeUMsRUFDOUMsWUFBWSxVQUFRLG1CQW9CckI7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxHQUFHO0lBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQTtDQUFFLEdBQUc7SUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDO0lBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFBO0NBQUUsQ0FBQztBQXFCL0c7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILHdCQUFzQixVQUFVLENBQUMsQ0FBQyxFQUNoQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUNsRCxJQUFJLFNBQUssRUFDVCxPQUFPLEdBQUUsaUJBQXFCLEVBQzlCLFFBQVEsU0FBSSxvQ0FnQmI7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBc0IsVUFBVSxDQUFDLENBQUMsRUFDaEMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsRUFDbEQsSUFBSSxvQkFBSyxFQUNULFVBQVUsRUFBRSxNQUFNLEVBQ2xCLGFBQWEsU0FBSSxvQ0FjbEI7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUM5QixFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUNsRCxJQUFJLFNBQUssRUFDVCxPQUFPLFNBQUssRUFDWixRQUFRLFNBQU0sb0NBR2YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retry/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retry/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,mBAAmB,CAAC;AAE7D,wEAAwE;AACxE,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C;;;;;;;GAOG;AACH,wBAAiB,gBAAgB,qCAMhC;AAED;;;;GAIG;AACH,wBAAiB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,oCAI7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,MAAM,EAChC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACzB,IAAI,SAAc,EAClB,OAAO,mCAAqB,EAC5B,GAAG,GAAE,MAAyC,EAC9C,YAAY,UAAQ,mBAoBrB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC;AAqB/G;;;;;;;;;;;;;GAaG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,SAAK,EACT,OAAO,GAAE,iBAAqB,EAC9B,QAAQ,SAAI,oCAgBb;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,oBAAK,EACT,UAAU,EAAE,MAAM,EAClB,aAAa,SAAI,oCAclB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,SAAK,EACT,OAAO,SAAK,EACZ,QAAQ,SAAM,oCAGf"}
|
package/dest/retry/index.js
CHANGED
|
@@ -68,6 +68,23 @@ import { Timer } from '../timer/index.js';
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Resolves a {@link RetryUntilTimeout} to a numeric timeout in seconds for the legacy timer-based loop.
|
|
73
|
+
* A numeric/`{ timeout }` value passes through unchanged (0 means never time out, negative times out on the
|
|
74
|
+
* first interval). A `{ deadline }` is the remaining seconds until the deadline; when the deadline is already
|
|
75
|
+
* at or past `now` it resolves to a negative value so the loop times out immediately instead of being read as
|
|
76
|
+
* the never-timeout sentinel 0.
|
|
77
|
+
*/ function resolveRetryUntilTimeoutSeconds(timeout) {
|
|
78
|
+
if (typeof timeout === 'number') {
|
|
79
|
+
return timeout;
|
|
80
|
+
}
|
|
81
|
+
if ('deadline' in timeout) {
|
|
82
|
+
const now = timeout.dateProvider?.now() ?? Date.now();
|
|
83
|
+
const remainingSeconds = (timeout.deadline.getTime() - now) / 1000;
|
|
84
|
+
return remainingSeconds > 0 ? remainingSeconds : -1;
|
|
85
|
+
}
|
|
86
|
+
return timeout.timeout;
|
|
87
|
+
}
|
|
71
88
|
/**
|
|
72
89
|
* Retry an asynchronous function until it returns a truthy value or the specified timeout is exceeded.
|
|
73
90
|
* The function is retried periodically with a fixed interval between attempts. The operation can be named for better error messages.
|
|
@@ -75,10 +92,14 @@ import { Timer } from '../timer/index.js';
|
|
|
75
92
|
*
|
|
76
93
|
* @param fn - The asynchronous function to be retried, which should return a truthy value upon success or undefined otherwise.
|
|
77
94
|
* @param name - The optional name of the operation, used for generating timeout error message.
|
|
78
|
-
* @param timeout - The
|
|
95
|
+
* @param timeout - The maximum time to keep retrying before throwing a timeout error. Accepts a number of
|
|
96
|
+
* seconds (0 = never time out), an explicit `{ timeout }` in seconds, or an absolute `{ deadline }` with an
|
|
97
|
+
* optional `dateProvider`. A deadline already in the past times out on the first interval, the same as a
|
|
98
|
+
* zero/negative numeric timeout. Defaults to 0 (never timeout).
|
|
79
99
|
* @param interval - The optional interval, in seconds, between retry attempts. Defaults to 1 second.
|
|
80
100
|
* @returns A Promise that resolves with the successful (truthy) result of the provided function, or rejects if timeout is exceeded.
|
|
81
101
|
*/ export async function retryUntil(fn, name = '', timeout = 0, interval = 1) {
|
|
102
|
+
const timeoutSeconds = resolveRetryUntilTimeoutSeconds(timeout);
|
|
82
103
|
const timer = new Timer();
|
|
83
104
|
while(true){
|
|
84
105
|
const result = await fn();
|
|
@@ -86,7 +107,7 @@ import { Timer } from '../timer/index.js';
|
|
|
86
107
|
return result;
|
|
87
108
|
}
|
|
88
109
|
await sleep(interval * 1000);
|
|
89
|
-
if (
|
|
110
|
+
if (timeoutSeconds && timer.s() > timeoutSeconds) {
|
|
90
111
|
throw new TimeoutError(name ? `Timeout awaiting ${name}` : 'Timeout');
|
|
91
112
|
}
|
|
92
113
|
}
|
|
@@ -11,9 +11,8 @@ export declare function updateInlineTestData(targetFileFromRepoRoot: string, ite
|
|
|
11
11
|
/**
|
|
12
12
|
* Updates the sample Prover.toml files in noir-projects/noir-protocol-circuits/crates/.
|
|
13
13
|
* @remarks Requires AZTEC_GENERATE_TEST_DATA=1 to be set
|
|
14
|
-
* To re-gen, run 'AZTEC_GENERATE_TEST_DATA=1 FAKE_PROOFS=1 yarn test:e2e full.test'
|
|
15
|
-
* To re-gen public base only, run 'AZTEC_GENERATE_TEST_DATA=1 yarn workspace @aztec/prover-client test orchestrator_public_functions'
|
|
14
|
+
* To re-gen, run 'AZTEC_GENERATE_TEST_DATA=1 FAKE_PROOFS=1 yarn test:e2e e2e_prover/full.test'
|
|
16
15
|
*/
|
|
17
16
|
export declare function updateProtocolCircuitSampleInputs(circuitName: string, value: string): void;
|
|
18
17
|
export declare function getPathToFile(targetFileFromRepoRoot: string): string;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0aW5nL2ZpbGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLDJGQUEyRjtBQUMzRix3QkFBZ0IsYUFBYSxDQUFDLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxHQUFHLEdBQUUsT0FBZSxRQVM1RztBQUVELHdCQUFnQixZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBR3JEO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFtQm5HO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFnQixpQ0FBaUMsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLFFBTW5GO0FBRUQsd0JBQWdCLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLFVBTzNEIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/files/index.ts"],"names":[],"mappings":"AAOA,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAE,OAAe,QAS5G;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAmBnG;AAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/files/index.ts"],"names":[],"mappings":"AAOA,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAE,OAAe,QAS5G;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAmBnG;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAMnF;AAED,wBAAgB,aAAa,CAAC,sBAAsB,EAAE,MAAM,UAO3D"}
|
|
@@ -40,8 +40,7 @@ export function readTestData(repoPath) {
|
|
|
40
40
|
/**
|
|
41
41
|
* Updates the sample Prover.toml files in noir-projects/noir-protocol-circuits/crates/.
|
|
42
42
|
* @remarks Requires AZTEC_GENERATE_TEST_DATA=1 to be set
|
|
43
|
-
* To re-gen, run 'AZTEC_GENERATE_TEST_DATA=1 FAKE_PROOFS=1 yarn test:e2e full.test'
|
|
44
|
-
* To re-gen public base only, run 'AZTEC_GENERATE_TEST_DATA=1 yarn workspace @aztec/prover-client test orchestrator_public_functions'
|
|
43
|
+
* To re-gen, run 'AZTEC_GENERATE_TEST_DATA=1 FAKE_PROOFS=1 yarn test:e2e e2e_prover/full.test'
|
|
45
44
|
*/ export function updateProtocolCircuitSampleInputs(circuitName, value) {
|
|
46
45
|
const logger = createConsoleLogger('aztec:testing:test_data');
|
|
47
46
|
const targetFileFromRepoRoot = `noir-projects/noir-protocol-circuits/crates/${circuitName}/Prover.toml`;
|
|
@@ -29,10 +29,6 @@ export declare class MembershipWitness<N extends number> {
|
|
|
29
29
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
30
30
|
toJSON(): Buffer<ArrayBufferLike>;
|
|
31
31
|
toFields(): Fr[];
|
|
32
|
-
/**
|
|
33
|
-
* Returns a representation of the membership witness as expected by intrinsic Noir deserialization.
|
|
34
|
-
*/
|
|
35
|
-
toNoirRepresentation(): (string | string[])[];
|
|
36
32
|
static schemaFor<N extends number>(size: N): import("zod").ZodPipe<import("../schemas/types.js").ZodFor<Buffer<ArrayBufferLike>>, import("zod").ZodTransform<MembershipWitness<N>, Buffer<ArrayBufferLike>>>;
|
|
37
33
|
/**
|
|
38
34
|
* Creates a random membership witness. Used for testing purposes.
|
|
@@ -64,4 +60,4 @@ export declare class MembershipWitness<N extends number> {
|
|
|
64
60
|
};
|
|
65
61
|
static fromSiblingPath<N extends number>(leafIndex: bigint, siblingPath: SiblingPath<N>): MembershipWitness<N>;
|
|
66
62
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcF93aXRuZXNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvbWVtYmVyc2hpcF93aXRuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssS0FBSyxFQUFxQixNQUFNLHVCQUF1QixDQUFDO0FBQ3BGLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJEOztHQUVHO0FBQ0gscUJBQWEsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLE1BQU07SUFNM0M7O09BRUc7SUFDSSxTQUFTLEVBQUUsTUFBTTtJQUN4Qjs7T0FFRztJQUNJLFdBQVcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQVpsQztJQUNFOztPQUVHO0lBQ0gsUUFBUSxFQUFFLENBQUM7SUFDWDs7T0FFRztJQUNJLFNBQVMsRUFBRSxNQUFNO0lBQ3hCOztPQUVHO0lBQ0ksV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBR2pDO0lBRUQsUUFBUSw0QkFFUDtJQUVELE1BQU0sNEJBRUw7SUFFRCxRQUFRLElBQUksRUFBRSxFQUFFLENBRWY7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsbUtBRXpDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQWMsTUFBTSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsd0JBUWpEO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFjLEtBQUssQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsU0FBUyxTQUFLLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBS3ZGO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBTS9HO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUtoRztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRztRQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUFFLENBU2xIO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FFN0c7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"membership_witness.d.ts","sourceRoot":"","sources":["../../src/trees/membership_witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM;IAM3C;;OAEG;IACI,SAAS,EAAE,MAAM;IACxB;;OAEG;IACI,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAZlC;IACE;;OAEG;IACH,QAAQ,EAAE,CAAC;IACX;;OAEG;IACI,SAAS,EAAE,MAAM;IACxB;;OAEG;IACI,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAGjC;IAED,QAAQ,4BAEP;IAED,MAAM,4BAEL;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED
|
|
1
|
+
{"version":3,"file":"membership_witness.d.ts","sourceRoot":"","sources":["../../src/trees/membership_witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM;IAM3C;;OAEG;IACI,SAAS,EAAE,MAAM;IACxB;;OAEG;IACI,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAZlC;IACE;;OAEG;IACH,QAAQ,EAAE,CAAC;IACX;;OAEG;IACI,SAAS,EAAE,MAAM;IACxB;;OAEG;IACI,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAGjC;IAED,QAAQ,4BAEP;IAED,MAAM,4BAEL;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,mKAEzC;IAED;;;;OAIG;IACH,OAAc,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,wBAQjD;IAED;;;;;OAKG;IACH,OAAc,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,SAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAKvF;IAED,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAM/G;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAKhG;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG;QAAE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;KAAE,CASlH;IAED,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAE7G;CACF"}
|
|
@@ -31,15 +31,6 @@ import { BufferReader, serializeToBuffer } from '../serialize/index.js';
|
|
|
31
31
|
...this.siblingPath
|
|
32
32
|
];
|
|
33
33
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Returns a representation of the membership witness as expected by intrinsic Noir deserialization.
|
|
36
|
-
*/ toNoirRepresentation() {
|
|
37
|
-
// TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
|
|
38
|
-
return [
|
|
39
|
-
new Fr(this.leafIndex).toString(),
|
|
40
|
-
this.siblingPath.map((fr)=>fr.toString())
|
|
41
|
-
];
|
|
42
|
-
}
|
|
43
34
|
static schemaFor(size) {
|
|
44
35
|
return schemas.Buffer.transform((b)=>MembershipWitness.fromBuffer(b, size));
|
|
45
36
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/foundation",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.3100065",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dest/index.js",
|
|
6
6
|
"types": "./dest/index.d.ts",
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
"testEnvironment": "../../foundation/src/jest/env.mjs"
|
|
147
147
|
},
|
|
148
148
|
"dependencies": {
|
|
149
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
149
|
+
"@aztec/bb.js": "0.0.1-commit.3100065",
|
|
150
150
|
"@koa/cors": "^5.0.0",
|
|
151
151
|
"@noble/curves": "=1.7.0",
|
|
152
152
|
"@noble/hashes": "^1.6.1",
|
package/src/config/env_var.ts
CHANGED
|
@@ -10,7 +10,8 @@ export type EnvVar =
|
|
|
10
10
|
| 'ARCHIVER_URL'
|
|
11
11
|
| 'ARCHIVER_VIEM_POLLING_INTERVAL_MS'
|
|
12
12
|
| 'ARCHIVER_BATCH_SIZE'
|
|
13
|
-
| '
|
|
13
|
+
| 'ARCHIVER_ORPHAN_PRUNE_NO_PROPOSAL_TOLERANCE'
|
|
14
|
+
| 'ARCHIVER_SKIP_ORPHAN_PROPOSED_BLOCK_PRUNING'
|
|
14
15
|
| 'AZTEC_ADMIN_PORT'
|
|
15
16
|
| 'AZTEC_NODE_DEBUG'
|
|
16
17
|
| 'AZTEC_ADMIN_API_KEY_HASH'
|
|
@@ -77,6 +78,7 @@ export type EnvVar =
|
|
|
77
78
|
| 'DEBUG_P2P_DISABLE_COLOCATION_PENALTY'
|
|
78
79
|
| 'ENABLE_PROVER_NODE'
|
|
79
80
|
| 'USE_AUTOMINE_SEQUENCER'
|
|
81
|
+
| 'AUTOMINE_ENABLE_PROVE_EPOCH'
|
|
80
82
|
| 'ETHEREUM_HOSTS'
|
|
81
83
|
| 'ETHEREUM_DEBUG_HOSTS'
|
|
82
84
|
| 'ETHEREUM_ALLOW_NO_DEBUG_HOSTS'
|
|
@@ -97,6 +99,7 @@ export type EnvVar =
|
|
|
97
99
|
| 'MNEMONIC'
|
|
98
100
|
| 'NETWORK'
|
|
99
101
|
| 'NETWORK_CONFIG_LOCATION'
|
|
102
|
+
| 'ALLOW_OVERRIDING_NETWORK_CONFIG'
|
|
100
103
|
| 'USE_GCLOUD_LOGGING'
|
|
101
104
|
| 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT'
|
|
102
105
|
| 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT'
|
|
@@ -116,7 +119,6 @@ export type EnvVar =
|
|
|
116
119
|
| 'P2P_BATCH_TX_REQUESTER_TX_BATCH_SIZE'
|
|
117
120
|
| 'P2P_BATCH_TX_REQUESTER_BAD_PEER_THRESHOLD'
|
|
118
121
|
| 'P2P_BLOCK_CHECK_INTERVAL_MS'
|
|
119
|
-
| 'P2P_SLOT_CHECK_INTERVAL_MS'
|
|
120
122
|
| 'P2P_BLOCK_REQUEST_BATCH_SIZE'
|
|
121
123
|
| 'P2P_BOOTSTRAP_NODE_ENR_VERSION_CHECK'
|
|
122
124
|
| 'P2P_BOOTSTRAP_NODES_AS_FULL_PEERS'
|
|
@@ -135,7 +137,9 @@ export type EnvVar =
|
|
|
135
137
|
| 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT'
|
|
136
138
|
| 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT'
|
|
137
139
|
| 'P2P_L2_QUEUE_SIZE'
|
|
140
|
+
| 'P2P_MAX_GOSSIP_CLOCK_DISPARITY_MS'
|
|
138
141
|
| 'P2P_MAX_PEERS'
|
|
142
|
+
| 'P2P_PEER_BAN_DURATION_SECONDS'
|
|
139
143
|
| 'P2P_PEER_CHECK_INTERVAL_MS'
|
|
140
144
|
| 'P2P_PEER_FAILED_BAN_TIME_MS'
|
|
141
145
|
| 'P2P_PEER_PENALTY_VALUES'
|
|
@@ -164,6 +168,7 @@ export type EnvVar =
|
|
|
164
168
|
| 'P2P_MIN_TX_POOL_AGE_MS'
|
|
165
169
|
| 'P2P_MISSING_TX_COLLECTION_DEADLINE_SLOTS'
|
|
166
170
|
| 'P2P_RPC_PRICE_BUMP_PERCENTAGE'
|
|
171
|
+
| 'P2P_KEEP_FINALIZED_TXS_FOR_SLOTS'
|
|
167
172
|
| 'P2P_TX_VALIDATION_CACHE_SIZE'
|
|
168
173
|
| 'DEBUG_P2P_INSTRUMENT_MESSAGES'
|
|
169
174
|
| 'PEER_ID_PRIVATE_KEY'
|
|
@@ -186,7 +191,6 @@ export type EnvVar =
|
|
|
186
191
|
| 'PROVER_FAILED_PROOF_STORE'
|
|
187
192
|
| 'PROVER_NODE_FAILED_EPOCH_STORE'
|
|
188
193
|
| 'PROVER_NODE_DISABLE_PROOF_PUBLISH'
|
|
189
|
-
| 'PROVER_NODE_PROOF_SUBMISSION_TARGET_ADDRESS'
|
|
190
194
|
| 'PROVER_ID'
|
|
191
195
|
| 'PROVER_NODE_POLLING_INTERVAL_MS'
|
|
192
196
|
| 'PROVER_NODE_MAX_PENDING_JOBS'
|
|
@@ -213,6 +217,7 @@ export type EnvVar =
|
|
|
213
217
|
| 'RPC_MAX_BODY_SIZE'
|
|
214
218
|
| 'RPC_SIMULATE_PUBLIC_MAX_GAS_LIMIT'
|
|
215
219
|
| 'RPC_SIMULATE_PUBLIC_MAX_DEBUG_LOG_MEMORY_READS'
|
|
220
|
+
| 'OFFENSE_COLLECTION_ENABLED'
|
|
216
221
|
| 'SENTINEL_ENABLED'
|
|
217
222
|
| 'SENTINEL_HISTORY_LENGTH_IN_EPOCHS'
|
|
218
223
|
| 'SENTINEL_HISTORIC_EPOCH_PERFORMANCE_LENGTH_IN_EPOCHS'
|
|
@@ -224,18 +229,23 @@ export type EnvVar =
|
|
|
224
229
|
| 'SEQ_MAX_DA_BLOCK_GAS'
|
|
225
230
|
| 'SEQ_MAX_L2_BLOCK_GAS'
|
|
226
231
|
| 'SEQ_PER_BLOCK_ALLOCATION_MULTIPLIER'
|
|
232
|
+
| 'SEQ_PER_BLOCK_DA_ALLOCATION_MULTIPLIER'
|
|
227
233
|
| 'SEQ_REDISTRIBUTE_CHECKPOINT_BUDGET'
|
|
228
234
|
| 'SEQ_PUBLISHER_PRIVATE_KEY'
|
|
229
235
|
| 'SEQ_PUBLISHER_PRIVATE_KEYS'
|
|
230
236
|
| 'SEQ_PUBLISHER_ADDRESSES'
|
|
231
237
|
| 'SEQ_PUBLISHER_ALLOW_INVALID_STATES'
|
|
232
238
|
| 'SEQ_PUBLISHER_FORWARDER_ADDRESS'
|
|
239
|
+
| 'SEQ_PUBLISHER_PREVIOUS_L1_BLOCK_WAIT_TIMEOUT_MS'
|
|
240
|
+
| 'SEQ_PUBLISHER_PREVIOUS_L1_BLOCK_WAIT_POLL_INTERVAL_MS'
|
|
233
241
|
| 'PUBLISHER_FUNDING_THRESHOLD'
|
|
234
242
|
| 'PUBLISHER_FUNDING_AMOUNT'
|
|
235
243
|
| 'SEQ_POLLING_INTERVAL_MS'
|
|
236
|
-
| 'SEQ_ENFORCE_TIME_TABLE'
|
|
237
244
|
| 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT'
|
|
238
245
|
| 'SEQ_ATTESTATION_PROPAGATION_TIME'
|
|
246
|
+
| 'SEQ_CHECKPOINT_PROPOSAL_PREPARE_TIME'
|
|
247
|
+
| 'CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS'
|
|
248
|
+
| 'SEQ_MIN_BLOCK_DURATION'
|
|
239
249
|
| 'SEQ_BLOCK_DURATION_MS'
|
|
240
250
|
| 'SEQ_LAST_BLOCK_DURATION_MS'
|
|
241
251
|
| 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT'
|
|
@@ -268,6 +278,7 @@ export type EnvVar =
|
|
|
268
278
|
| 'SYNC_SNAPSHOTS_URL'
|
|
269
279
|
| 'TELEMETRY'
|
|
270
280
|
| 'TEST_ACCOUNTS'
|
|
281
|
+
| 'TEST_PRELOAD_STANDARD_CONTRACTS'
|
|
271
282
|
| 'SPONSORED_FPC'
|
|
272
283
|
| 'PREFUND_ADDRESSES'
|
|
273
284
|
| 'TX_COLLECTION_FAST_NODES_TIMEOUT_BEFORE_REQ_RESP_MS'
|
|
@@ -357,7 +368,7 @@ export type EnvVar =
|
|
|
357
368
|
| 'K8S_POD_NAME'
|
|
358
369
|
| 'K8S_POD_UID'
|
|
359
370
|
| 'K8S_NAMESPACE_NAME'
|
|
360
|
-
| '
|
|
371
|
+
| 'ENABLE_AUTO_SHUTDOWN'
|
|
361
372
|
| 'WEB3_SIGNER_URL'
|
|
362
373
|
| 'SKIP_ARCHIVER_INITIAL_SYNC'
|
|
363
374
|
| 'BLOB_ALLOW_EMPTY_SOURCES'
|
|
@@ -368,10 +379,12 @@ export type EnvVar =
|
|
|
368
379
|
| 'MAX_BLOCKS_PER_CHECKPOINT'
|
|
369
380
|
| 'LEGACY_BLS_CLI'
|
|
370
381
|
| 'DEBUG_FORCE_TX_PROOF_VERIFICATION'
|
|
382
|
+
| 'VALIDATOR_ALLOW_EPHEMERAL_SIGNING_PROTECTION'
|
|
371
383
|
| 'VALIDATOR_HA_SIGNING_ENABLED'
|
|
372
384
|
| 'VALIDATOR_HA_NODE_ID'
|
|
373
385
|
| 'VALIDATOR_HA_POLLING_INTERVAL_MS'
|
|
374
386
|
| 'VALIDATOR_HA_SIGNING_TIMEOUT_MS'
|
|
387
|
+
| 'VALIDATOR_SIGNER_CALL_TIMEOUT_MS'
|
|
375
388
|
| 'VALIDATOR_HA_MAX_STUCK_DUTIES_AGE_MS'
|
|
376
389
|
| 'VALIDATOR_HA_OLD_DUTIES_MAX_AGE_H'
|
|
377
390
|
| 'VALIDATOR_HA_DATABASE_URL'
|
package/src/config/index.ts
CHANGED
|
@@ -119,21 +119,29 @@ export function omitConfigMappings<T, K extends keyof T>(
|
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
|
-
* Generates parseEnv and default values for
|
|
123
|
-
*
|
|
124
|
-
*
|
|
122
|
+
* Generates parseEnv and default values for an integer config value.
|
|
123
|
+
*
|
|
124
|
+
* The default is used only when the environment variable is unset or empty. A set-but-invalid
|
|
125
|
+
* value (non-numeric, fractional, or outside the safe-integer range) throws rather than silently
|
|
126
|
+
* falling back to the default.
|
|
127
|
+
* @param defaultVal - The default value to use when the environment variable is unset
|
|
128
|
+
* @returns Object with parseEnv and default values for an integer config value
|
|
125
129
|
*/
|
|
126
130
|
export function numberConfigHelper(defaultVal: number): Pick<ConfigMapping<number>, 'parseEnv' | 'defaultValue'> {
|
|
127
131
|
return {
|
|
128
|
-
parseEnv: (val: string) =>
|
|
132
|
+
parseEnv: (val: string) => parseSafeInteger(val),
|
|
129
133
|
defaultValue: defaultVal,
|
|
130
134
|
};
|
|
131
135
|
}
|
|
132
136
|
|
|
133
137
|
/**
|
|
134
|
-
* Generates parseEnv and default values for a
|
|
135
|
-
*
|
|
136
|
-
*
|
|
138
|
+
* Generates parseEnv and default values for a floating-point config value.
|
|
139
|
+
*
|
|
140
|
+
* The default is used only when the environment variable is unset or empty. A set-but-invalid
|
|
141
|
+
* value (not a finite number) throws rather than silently falling back to the default.
|
|
142
|
+
* @param defaultVal - The default value to use when the environment variable is unset
|
|
143
|
+
* @param validationFn - Optional extra validation applied to the parsed value; should throw on invalid input
|
|
144
|
+
* @returns Object with parseEnv and default values for a floating-point config value
|
|
137
145
|
*/
|
|
138
146
|
export function floatConfigHelper(
|
|
139
147
|
defaultVal: number,
|
|
@@ -141,7 +149,7 @@ export function floatConfigHelper(
|
|
|
141
149
|
): Pick<ConfigMapping<number>, 'parseEnv' | 'defaultValue'> {
|
|
142
150
|
return {
|
|
143
151
|
parseEnv: (val: string): number => {
|
|
144
|
-
const parsed =
|
|
152
|
+
const parsed = parseFiniteNumber(val);
|
|
145
153
|
validationFn?.(parsed);
|
|
146
154
|
return parsed;
|
|
147
155
|
},
|
|
@@ -150,12 +158,17 @@ export function floatConfigHelper(
|
|
|
150
158
|
}
|
|
151
159
|
|
|
152
160
|
/**
|
|
153
|
-
*
|
|
161
|
+
* Generates parseEnv and default values for a 0-1 percentage config value.
|
|
162
|
+
*
|
|
163
|
+
* The default is used only when the environment variable is unset or empty. A set-but-invalid
|
|
164
|
+
* value (not a finite number, or outside the 0-1 range) throws rather than silently falling back
|
|
165
|
+
* to the default.
|
|
166
|
+
* @param defaultVal - The default value to use when the environment variable is unset
|
|
154
167
|
*/
|
|
155
168
|
export function percentageConfigHelper(defaultVal: number): Pick<ConfigMapping<number>, 'parseEnv' | 'defaultValue'> {
|
|
156
169
|
return {
|
|
157
170
|
parseEnv: (val: string): number => {
|
|
158
|
-
const parsed =
|
|
171
|
+
const parsed = parseFiniteNumber(val);
|
|
159
172
|
if (parsed < 0 || parsed > 1) {
|
|
160
173
|
throw new TypeError(`Invalid percentage value: ${parsed} should be between 0 and 1`);
|
|
161
174
|
}
|
|
@@ -205,13 +218,7 @@ export function bigintConfigHelper(
|
|
|
205
218
|
*/
|
|
206
219
|
export function optionalNumberConfigHelper(): Pick<ConfigMapping<number>, 'parseEnv'> {
|
|
207
220
|
return {
|
|
208
|
-
parseEnv: (val: string) =>
|
|
209
|
-
const parsedValue = parseInt(val);
|
|
210
|
-
if (!Number.isSafeInteger(parsedValue)) {
|
|
211
|
-
throw new Error(`Invalid number: ${val}`);
|
|
212
|
-
}
|
|
213
|
-
return parsedValue;
|
|
214
|
-
},
|
|
221
|
+
parseEnv: (val: string) => parseSafeInteger(val),
|
|
215
222
|
};
|
|
216
223
|
}
|
|
217
224
|
|
|
@@ -344,27 +351,36 @@ export function secretFqConfigHelper(defaultValue?: Fq): {
|
|
|
344
351
|
}
|
|
345
352
|
|
|
346
353
|
/**
|
|
347
|
-
*
|
|
348
|
-
*
|
|
354
|
+
* Parses a string into a safe integer, throwing if the value is numeric but not an integer.
|
|
355
|
+
*
|
|
356
|
+
* Unlike `parseInt`, this does not silently truncate decimals: `'0.8'` throws rather than
|
|
357
|
+
* becoming `0`. A fractional value indicates the caller intended a non-integer where only
|
|
358
|
+
* integers are supported (use `floatConfigHelper`/`percentageConfigHelper` for those).
|
|
349
359
|
* @param value - The string value to parse
|
|
350
|
-
* @
|
|
351
|
-
* @returns Either parsed value or default value
|
|
360
|
+
* @returns The parsed integer value
|
|
352
361
|
*/
|
|
353
|
-
function
|
|
354
|
-
const parsedValue =
|
|
355
|
-
|
|
362
|
+
function parseSafeInteger(value: string): number {
|
|
363
|
+
const parsedValue = parseFloat(value);
|
|
364
|
+
if (!Number.isSafeInteger(parsedValue)) {
|
|
365
|
+
throw new Error(`Invalid integer config value '${value}'; expected a whole number`);
|
|
366
|
+
}
|
|
367
|
+
return parsedValue;
|
|
356
368
|
}
|
|
357
369
|
|
|
358
370
|
/**
|
|
359
|
-
*
|
|
360
|
-
*
|
|
371
|
+
* Parses a string into a finite floating-point number, throwing if the value is not a finite number.
|
|
372
|
+
*
|
|
373
|
+
* Invalid input (e.g. `'abc'`, or an overflow to `Infinity`) throws rather than being silently
|
|
374
|
+
* swallowed, so a misconfigured value fails loudly instead of falling back to the config default.
|
|
361
375
|
* @param value - The string value to parse
|
|
362
|
-
* @
|
|
363
|
-
* @returns Either parsed value or default value
|
|
376
|
+
* @returns The parsed number
|
|
364
377
|
*/
|
|
365
|
-
function
|
|
378
|
+
function parseFiniteNumber(value: string): number {
|
|
366
379
|
const parsedValue = parseFloat(value);
|
|
367
|
-
|
|
380
|
+
if (!Number.isFinite(parsedValue)) {
|
|
381
|
+
throw new Error(`Invalid number config value '${value}'`);
|
|
382
|
+
}
|
|
383
|
+
return parsedValue;
|
|
368
384
|
}
|
|
369
385
|
|
|
370
386
|
/**
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import EventEmitter from 'node:events';
|
|
2
2
|
import * as fs from 'node:fs';
|
|
3
|
-
import * as net from 'node:net';
|
|
4
3
|
import type { Readable } from 'node:stream';
|
|
5
4
|
|
|
6
5
|
/**
|
|
@@ -37,22 +36,8 @@ export class FifoFrameReader extends EventEmitter<FifoFrameReaderEvents> {
|
|
|
37
36
|
}
|
|
38
37
|
|
|
39
38
|
/** Open a FIFO at the given path and start reading frames. */
|
|
40
|
-
start(fifoPath: string): void {
|
|
41
|
-
|
|
42
|
-
// An fs read stream services the pipe with a blocking threadpool read that destroy() cannot
|
|
43
|
-
// cancel: if a writer never closes, that read stays parked and keeps the host process alive
|
|
44
|
-
// (manifesting as Jest "did not exit"). Opening O_NONBLOCK and wrapping the fd in a pipe
|
|
45
|
-
// handle makes reads epoll-based, so stop()'s destroy() releases the handle immediately,
|
|
46
|
-
// regardless of whether the writer is still attached.
|
|
47
|
-
const fd = fs.openSync(fifoPath, fs.constants.O_RDONLY | fs.constants.O_NONBLOCK);
|
|
48
|
-
let socket: net.Socket;
|
|
49
|
-
try {
|
|
50
|
-
socket = new net.Socket({ fd, readable: true, writable: false });
|
|
51
|
-
} catch (err) {
|
|
52
|
-
fs.closeSync(fd);
|
|
53
|
-
throw err;
|
|
54
|
-
}
|
|
55
|
-
this.startFromStream(socket);
|
|
39
|
+
start(fifoPath: string, highWaterMark = 64 * 1024): void {
|
|
40
|
+
this.startFromStream(fs.createReadStream(fifoPath, { highWaterMark }));
|
|
56
41
|
}
|
|
57
42
|
|
|
58
43
|
/** Start reading frames from an existing readable stream. */
|
|
@@ -22,16 +22,17 @@ export function makeLoggingErrorHandler(
|
|
|
22
22
|
* at a specified polling interval. It allows starting, stopping, and checking the status of the
|
|
23
23
|
* internally managed promise. The class also supports interrupting the polling process when stopped.
|
|
24
24
|
*/
|
|
25
|
-
export class RunningPromise {
|
|
25
|
+
export class RunningPromise<T = void> {
|
|
26
26
|
private running = false;
|
|
27
27
|
private runningPromise = Promise.resolve();
|
|
28
28
|
private interruptibleSleep = new InterruptibleSleep();
|
|
29
29
|
private requested: PromiseWithResolvers<void> | undefined = undefined;
|
|
30
|
+
private requestedArg: T | undefined = undefined;
|
|
30
31
|
|
|
31
32
|
public static readonly EXIT: typeof EXIT = EXIT;
|
|
32
33
|
|
|
33
34
|
constructor(
|
|
34
|
-
private fn: () => void | Promise<void>,
|
|
35
|
+
private fn: (arg?: T) => void | Promise<void>,
|
|
35
36
|
private logger = createLogger('running-promise'),
|
|
36
37
|
private pollingIntervalMS = 10000,
|
|
37
38
|
private handleError: ErrorHandler = makeLoggingErrorHandler(logger),
|
|
@@ -51,7 +52,7 @@ export class RunningPromise {
|
|
|
51
52
|
while (this.running) {
|
|
52
53
|
const hasRequested = this.requested !== undefined;
|
|
53
54
|
try {
|
|
54
|
-
await this.fn();
|
|
55
|
+
await this.fn(this.requestedArg);
|
|
55
56
|
} catch (err) {
|
|
56
57
|
const code = await this.handleError(err);
|
|
57
58
|
if (code === RunningPromise.EXIT) {
|
|
@@ -64,6 +65,7 @@ export class RunningPromise {
|
|
|
64
65
|
if (hasRequested) {
|
|
65
66
|
this.requested!.resolve();
|
|
66
67
|
this.requested = undefined;
|
|
68
|
+
this.requestedArg = undefined;
|
|
67
69
|
}
|
|
68
70
|
|
|
69
71
|
// If no immediate run was requested, sleep for the polling interval.
|
|
@@ -101,15 +103,16 @@ export class RunningPromise {
|
|
|
101
103
|
* Triggers an immediate run of the function, bypassing the polling interval.
|
|
102
104
|
* If the function is currently running, it will be allowed to continue and then called again immediately.
|
|
103
105
|
*/
|
|
104
|
-
public async trigger() {
|
|
106
|
+
public async trigger(arg?: T): Promise<void> {
|
|
105
107
|
if (!this.running) {
|
|
106
|
-
return this.fn();
|
|
108
|
+
return this.fn(arg);
|
|
107
109
|
}
|
|
108
110
|
|
|
109
111
|
let requested = this.requested;
|
|
110
112
|
if (!requested) {
|
|
111
113
|
requested = promiseWithResolvers<void>();
|
|
112
114
|
this.requested = requested;
|
|
115
|
+
this.requestedArg = arg;
|
|
113
116
|
this.interruptibleSleep.interrupt();
|
|
114
117
|
}
|
|
115
118
|
await requested!.promise;
|
package/src/retry/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TimeoutError } from '../error/index.js';
|
|
2
2
|
import { type Logger, createLogger } from '../log/index.js';
|
|
3
3
|
import { sleep } from '../sleep/index.js';
|
|
4
|
-
import { Timer } from '../timer/index.js';
|
|
4
|
+
import { type DateProvider, Timer } from '../timer/index.js';
|
|
5
5
|
|
|
6
6
|
/** An error that indicates that the operation should not be retried. */
|
|
7
7
|
export class NoRetryError extends Error {}
|
|
@@ -72,6 +72,34 @@ export async function retry<Result>(
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
/**
|
|
76
|
+
* Timeout specification accepted by {@link retryUntil}. Either a plain number of seconds, an explicit
|
|
77
|
+
* `{ timeout }` in seconds, or an absolute `{ deadline }` with an optional {@link DateProvider} used to
|
|
78
|
+
* read the current time. A deadline is converted to the remaining seconds at call time; a deadline that
|
|
79
|
+
* has already passed yields a zero remaining budget, matching the immediate-timeout semantics of a
|
|
80
|
+
* non-positive numeric timeout.
|
|
81
|
+
*/
|
|
82
|
+
export type RetryUntilTimeout = number | { timeout: number } | { deadline: Date; dateProvider?: DateProvider };
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Resolves a {@link RetryUntilTimeout} to a numeric timeout in seconds for the legacy timer-based loop.
|
|
86
|
+
* A numeric/`{ timeout }` value passes through unchanged (0 means never time out, negative times out on the
|
|
87
|
+
* first interval). A `{ deadline }` is the remaining seconds until the deadline; when the deadline is already
|
|
88
|
+
* at or past `now` it resolves to a negative value so the loop times out immediately instead of being read as
|
|
89
|
+
* the never-timeout sentinel 0.
|
|
90
|
+
*/
|
|
91
|
+
function resolveRetryUntilTimeoutSeconds(timeout: RetryUntilTimeout): number {
|
|
92
|
+
if (typeof timeout === 'number') {
|
|
93
|
+
return timeout;
|
|
94
|
+
}
|
|
95
|
+
if ('deadline' in timeout) {
|
|
96
|
+
const now = timeout.dateProvider?.now() ?? Date.now();
|
|
97
|
+
const remainingSeconds = (timeout.deadline.getTime() - now) / 1000;
|
|
98
|
+
return remainingSeconds > 0 ? remainingSeconds : -1;
|
|
99
|
+
}
|
|
100
|
+
return timeout.timeout;
|
|
101
|
+
}
|
|
102
|
+
|
|
75
103
|
/**
|
|
76
104
|
* Retry an asynchronous function until it returns a truthy value or the specified timeout is exceeded.
|
|
77
105
|
* The function is retried periodically with a fixed interval between attempts. The operation can be named for better error messages.
|
|
@@ -79,16 +107,20 @@ export async function retry<Result>(
|
|
|
79
107
|
*
|
|
80
108
|
* @param fn - The asynchronous function to be retried, which should return a truthy value upon success or undefined otherwise.
|
|
81
109
|
* @param name - The optional name of the operation, used for generating timeout error message.
|
|
82
|
-
* @param timeout - The
|
|
110
|
+
* @param timeout - The maximum time to keep retrying before throwing a timeout error. Accepts a number of
|
|
111
|
+
* seconds (0 = never time out), an explicit `{ timeout }` in seconds, or an absolute `{ deadline }` with an
|
|
112
|
+
* optional `dateProvider`. A deadline already in the past times out on the first interval, the same as a
|
|
113
|
+
* zero/negative numeric timeout. Defaults to 0 (never timeout).
|
|
83
114
|
* @param interval - The optional interval, in seconds, between retry attempts. Defaults to 1 second.
|
|
84
115
|
* @returns A Promise that resolves with the successful (truthy) result of the provided function, or rejects if timeout is exceeded.
|
|
85
116
|
*/
|
|
86
117
|
export async function retryUntil<T>(
|
|
87
118
|
fn: () => (T | undefined) | Promise<T | undefined>,
|
|
88
119
|
name = '',
|
|
89
|
-
timeout = 0,
|
|
120
|
+
timeout: RetryUntilTimeout = 0,
|
|
90
121
|
interval = 1,
|
|
91
122
|
) {
|
|
123
|
+
const timeoutSeconds = resolveRetryUntilTimeoutSeconds(timeout);
|
|
92
124
|
const timer = new Timer();
|
|
93
125
|
while (true) {
|
|
94
126
|
const result = await fn();
|
|
@@ -98,7 +130,7 @@ export async function retryUntil<T>(
|
|
|
98
130
|
|
|
99
131
|
await sleep(interval * 1000);
|
|
100
132
|
|
|
101
|
-
if (
|
|
133
|
+
if (timeoutSeconds && timer.s() > timeoutSeconds) {
|
|
102
134
|
throw new TimeoutError(name ? `Timeout awaiting ${name}` : 'Timeout');
|
|
103
135
|
}
|
|
104
136
|
}
|
|
@@ -52,8 +52,7 @@ export function updateInlineTestData(targetFileFromRepoRoot: string, itemName: s
|
|
|
52
52
|
/**
|
|
53
53
|
* Updates the sample Prover.toml files in noir-projects/noir-protocol-circuits/crates/.
|
|
54
54
|
* @remarks Requires AZTEC_GENERATE_TEST_DATA=1 to be set
|
|
55
|
-
* To re-gen, run 'AZTEC_GENERATE_TEST_DATA=1 FAKE_PROOFS=1 yarn test:e2e full.test'
|
|
56
|
-
* To re-gen public base only, run 'AZTEC_GENERATE_TEST_DATA=1 yarn workspace @aztec/prover-client test orchestrator_public_functions'
|
|
55
|
+
* To re-gen, run 'AZTEC_GENERATE_TEST_DATA=1 FAKE_PROOFS=1 yarn test:e2e e2e_prover/full.test'
|
|
57
56
|
*/
|
|
58
57
|
export function updateProtocolCircuitSampleInputs(circuitName: string, value: string) {
|
|
59
58
|
const logger = createConsoleLogger('aztec:testing:test_data');
|
|
@@ -38,14 +38,6 @@ export class MembershipWitness<N extends number> {
|
|
|
38
38
|
return [new Fr(this.leafIndex), ...this.siblingPath];
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
/**
|
|
42
|
-
* Returns a representation of the membership witness as expected by intrinsic Noir deserialization.
|
|
43
|
-
*/
|
|
44
|
-
public toNoirRepresentation(): (string | string[])[] {
|
|
45
|
-
// TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
|
|
46
|
-
return [new Fr(this.leafIndex).toString() as string, this.siblingPath.map(fr => fr.toString()) as string[]];
|
|
47
|
-
}
|
|
48
|
-
|
|
49
41
|
static schemaFor<N extends number>(size: N) {
|
|
50
42
|
return schemas.Buffer.transform(b => MembershipWitness.fromBuffer(b, size));
|
|
51
43
|
}
|