@aztec/foundation 0.0.1-commit.c949de6bc → 0.0.1-commit.cbf2c2d5d

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.
Files changed (50) hide show
  1. package/dest/branded-types/slot.d.ts +4 -1
  2. package/dest/branded-types/slot.d.ts.map +1 -1
  3. package/dest/branded-types/slot.js +3 -0
  4. package/dest/buffer/index.d.ts +2 -1
  5. package/dest/buffer/index.d.ts.map +1 -1
  6. package/dest/buffer/index.js +1 -0
  7. package/dest/buffer/utils.d.ts +3 -0
  8. package/dest/buffer/utils.d.ts.map +1 -0
  9. package/dest/buffer/utils.js +7 -0
  10. package/dest/config/env_var.d.ts +2 -2
  11. package/dest/config/env_var.d.ts.map +1 -1
  12. package/dest/config/index.d.ts +1 -1
  13. package/dest/config/index.d.ts.map +1 -1
  14. package/dest/config/index.js +15 -0
  15. package/dest/config/network_config.d.ts +19 -1
  16. package/dest/config/network_config.d.ts.map +1 -1
  17. package/dest/config/network_config.js +4 -1
  18. package/dest/crypto/secp256k1-signer/utils.d.ts +12 -1
  19. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  20. package/dest/crypto/secp256k1-signer/utils.js +26 -0
  21. package/dest/eth-signature/eth_signature.d.ts +2 -1
  22. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  23. package/dest/eth-signature/eth_signature.js +7 -2
  24. package/dest/fifo/fifo_frame_reader.d.ts +41 -0
  25. package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
  26. package/dest/fifo/fifo_frame_reader.js +74 -0
  27. package/dest/fifo/index.d.ts +2 -0
  28. package/dest/fifo/index.d.ts.map +1 -0
  29. package/dest/fifo/index.js +1 -0
  30. package/dest/jest/setup.js +24 -0
  31. package/dest/log/bigint-utils.d.ts +1 -1
  32. package/dest/log/bigint-utils.d.ts.map +1 -1
  33. package/dest/log/bigint-utils.js +3 -0
  34. package/dest/sleep/index.d.ts +2 -1
  35. package/dest/sleep/index.d.ts.map +1 -1
  36. package/dest/sleep/index.js +10 -1
  37. package/package.json +3 -2
  38. package/src/branded-types/slot.ts +5 -0
  39. package/src/buffer/index.ts +1 -0
  40. package/src/buffer/utils.ts +8 -0
  41. package/src/config/env_var.ts +19 -3
  42. package/src/config/index.ts +15 -0
  43. package/src/config/network_config.ts +3 -0
  44. package/src/crypto/secp256k1-signer/utils.ts +32 -0
  45. package/src/eth-signature/eth_signature.ts +7 -1
  46. package/src/fifo/fifo_frame_reader.ts +98 -0
  47. package/src/fifo/index.ts +1 -0
  48. package/src/jest/setup.mjs +27 -0
  49. package/src/log/bigint-utils.ts +3 -0
  50. package/src/sleep/index.ts +10 -1
@@ -31,6 +31,9 @@ export declare namespace SlotNumber {
31
31
  export declare namespace SlotNumber {
32
32
  var isValid: (value: unknown) => value is SlotNumber;
33
33
  }
34
+ export declare namespace SlotNumber {
35
+ var add: (sn: SlotNumber, increment: number) => SlotNumber;
36
+ }
34
37
  export declare namespace SlotNumber {
35
38
  var ZERO: SlotNumber;
36
39
  }
@@ -39,4 +42,4 @@ export declare namespace SlotNumber {
39
42
  * Accepts numbers, bigints, or strings and coerces them to SlotNumber.
40
43
  */
41
44
  export declare const SlotNumberSchema: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, SlotNumber, string | number | bigint>;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JyYW5kZWQtdHlwZXMvc2xvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxQzs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBRXZEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FRcEQ7Ozs7Ozs7Ozs7Ozs7QUE4Q0Q7OztHQUdHO0FBQ0gsZUFBTyxNQUFNLGdCQUFnQixxSUFHVyxDQUFDIn0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JyYW5kZWQtdHlwZXMvc2xvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxQzs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBRXZEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FRcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtREQ7OztHQUdHO0FBQ0gsZUFBTyxNQUFNLGdCQUFnQixxSUFHVyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"slot.d.ts","sourceRoot":"","sources":["../../src/branded-types/slot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEvD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAQpD;;;;;;;;;;;;;AA8CD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,qIAGW,CAAC"}
1
+ {"version":3,"file":"slot.d.ts","sourceRoot":"","sources":["../../src/branded-types/slot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEvD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAQpD;;;;;;;;;;;;;;;;AAmDD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,qIAGW,CAAC"}
@@ -46,6 +46,9 @@ import { z } from 'zod';
46
46
  */ SlotNumber.isValid = function(value) {
47
47
  return typeof value === 'number' && Number.isInteger(value) && value >= 0;
48
48
  };
49
+ /** Increments a SlotNumber by a given value. */ SlotNumber.add = function(sn, increment) {
50
+ return SlotNumber(sn + increment);
51
+ };
49
52
  /**
50
53
  * The zero slot value.
51
54
  */ SlotNumber.ZERO = SlotNumber(0);
@@ -1,3 +1,4 @@
1
1
  export * from './buffer32.js';
2
2
  export * from './buffer16.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWZmZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxlQUFlLENBQUMifQ==
3
+ export * from './utils.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWZmZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/buffer/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/buffer/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './buffer32.js';
2
2
  export * from './buffer16.js';
3
+ export * from './utils.js';
@@ -0,0 +1,3 @@
1
+ /** Returns the number of bytes in the buffer, excluding any trailing zero bytes. */
2
+ export declare function trimmedBytesLength(buf: Uint8Array): number;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWZmZXIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0ZBQW9GO0FBQ3BGLHdCQUFnQixrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsVUFBVSxHQUFHLE1BQU0sQ0FNMUQifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/buffer/utils.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAM1D"}
@@ -0,0 +1,7 @@
1
+ /** Returns the number of bytes in the buffer, excluding any trailing zero bytes. */ export function trimmedBytesLength(buf) {
2
+ let end = buf.length;
3
+ while(end > 0 && buf[end - 1] === 0){
4
+ end--;
5
+ }
6
+ return end;
7
+ }
@@ -1,2 +1,2 @@
1
- export type EnvVar = 'REGISTRY_CONTRACT_ADDRESS' | 'FEE_ASSET_HANDLER_CONTRACT_ADDRESS' | 'SLASH_FACTORY_CONTRACT_ADDRESS' | 'ACVM_BINARY_PATH' | 'ACVM_WORKING_DIRECTORY' | 'API_KEY' | 'API_PREFIX' | 'ARCHIVER_MAX_LOGS' | 'ARCHIVER_POLLING_INTERVAL_MS' | 'ARCHIVER_URL' | 'ARCHIVER_VIEM_POLLING_INTERVAL_MS' | 'ARCHIVER_BATCH_SIZE' | 'AZTEC_ADMIN_PORT' | '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' | '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' | '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' | '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' | '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' | 'NO_PXE' | 'USE_GCLOUD_LOGGING' | 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT' | 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT' | 'OTEL_EXPORTER_OTLP_LOGS_ENDPOINT' | 'OTEL_COLLECT_INTERVAL_MS' | 'OTEL_EXCLUDE_METRICS' | 'OTEL_INCLUDE_METRICS' | '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_PENALTY_VALUES' | 'P2P_QUERY_FOR_IP' | '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' | '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_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_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_PROVEN_PERFORMANCE_LENGTH_IN_EPOCHS' | 'SEQ_MAX_BLOCK_SIZE_IN_BYTES' | 'SEQ_MAX_TX_PER_BLOCK' | 'SEQ_MIN_TX_PER_BLOCK' | 'SEQ_PUBLISH_TXS_WITH_PROPOSALS' | 'SEQ_MAX_DA_BLOCK_GAS' | 'SEQ_MAX_L2_BLOCK_GAS' | 'SEQ_PUBLISHER_PRIVATE_KEY' | 'SEQ_PUBLISHER_PRIVATE_KEYS' | 'SEQ_PUBLISHER_ADDRESSES' | 'SEQ_PUBLISHER_ALLOW_INVALID_STATES' | 'SEQ_PUBLISHER_FORWARDER_ADDRESS' | 'SEQ_POLLING_INTERVAL_MS' | 'SEQ_ENFORCE_TIME_TABLE' | 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT' | 'SEQ_ATTESTATION_PROPAGATION_TIME' | 'SEQ_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_MIN_PENALTY_PERCENTAGE' | 'SLASH_MAX_PENALTY_PERCENTAGE' | 'SLASH_VALIDATORS_ALWAYS' | 'SLASH_VALIDATORS_NEVER' | 'SLASH_PRUNE_PENALTY' | 'SLASH_DATA_WITHHOLDING_PENALTY' | 'SLASH_INACTIVITY_PENALTY' | 'SLASH_INACTIVITY_TARGET_PERCENTAGE' | 'SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD' | 'SLASH_INVALID_BLOCK_PENALTY' | 'SLASH_DUPLICATE_PROPOSAL_PENALTY' | 'SLASH_DUPLICATE_ATTESTATION_PENALTY' | 'SLASH_OVERRIDE_PAYLOAD' | 'SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY' | 'SLASH_ATTEST_DESCENDANT_OF_INVALID_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' | 'TX_COLLECTION_FAST_NODES_TIMEOUT_BEFORE_REQ_RESP_MS' | 'TX_COLLECTION_SLOW_NODES_INTERVAL_MS' | 'TX_COLLECTION_SLOW_REQ_RESP_INTERVAL_MS' | 'TX_COLLECTION_SLOW_REQ_RESP_TIMEOUT_MS' | 'TX_COLLECTION_RECONCILE_INTERVAL_MS' | 'TX_COLLECTION_DISABLE_SLOW_DURING_FAST_REQUESTS' | '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_SLOW_DELAY_MS' | 'TX_COLLECTION_FILE_STORE_FAST_DELAY_MS' | 'TX_COLLECTION_FILE_STORE_FAST_WORKER_COUNT' | 'TX_COLLECTION_FILE_STORE_SLOW_WORKER_COUNT' | 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_BASE_MS' | 'TX_COLLECTION_FILE_STORE_SLOW_BACKOFF_BASE_MS' | 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_MAX_MS' | 'TX_COLLECTION_FILE_STORE_SLOW_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_PRIVATE_KEYS' | 'VALIDATOR_PRIVATE_KEY' | 'VALIDATOR_REEXECUTE' | '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_FLAVOR' | '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' | 'VALIDATOR_REEXECUTE_DEADLINE_MS' | 'AUTO_UPDATE' | 'AUTO_UPDATE_URL' | 'WEB3_SIGNER_URL' | 'SKIP_ARCHIVER_INITIAL_SYNC' | 'BLOB_ALLOW_EMPTY_SOURCES' | 'FISHERMAN_MODE' | 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS' | '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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52X3Zhci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9lbnZfdmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sTUFBTSxNQUFNLEdBQ2QsMkJBQTJCLEdBQzNCLG9DQUFvQyxHQUNwQyxnQ0FBZ0MsR0FDaEMsa0JBQWtCLEdBQ2xCLHdCQUF3QixHQUN4QixTQUFTLEdBQ1QsWUFBWSxHQUNaLG1CQUFtQixHQUNuQiw4QkFBOEIsR0FDOUIsY0FBYyxHQUNkLG1DQUFtQyxHQUNuQyxxQkFBcUIsR0FDckIsa0JBQWtCLEdBQ2xCLDBCQUEwQixHQUMxQiw2QkFBNkIsR0FDN0IsMkJBQTJCLEdBQzNCLHNCQUFzQixHQUN0QixnQkFBZ0IsR0FDaEIsWUFBWSxHQUNaLGdCQUFnQixHQUNoQixpQkFBaUIsR0FDakIsc0JBQXNCLEdBQ3RCLHNCQUFzQixHQUN0QixvQkFBb0IsR0FDcEIsaUJBQWlCLEdBQ2pCLHNCQUFzQixHQUN0QixzQkFBc0IsR0FDdEIsNEJBQTRCLEdBQzVCLDBDQUEwQyxHQUMxQyxrQkFBa0IsR0FDbEIsd0JBQXdCLEdBQ3hCLHFCQUFxQixHQUNyQiw4QkFBOEIsR0FDOUIsa0JBQWtCLEdBQ2xCLGtCQUFrQixHQUNsQixxQkFBcUIsR0FDckIsY0FBYyxHQUNkLGlCQUFpQixHQUNqQixvQkFBb0IsR0FDcEIsOEJBQThCLEdBQzlCLGlCQUFpQixHQUNqQixrQkFBa0IsR0FDbEIsOEJBQThCLEdBQzlCLDZCQUE2QixHQUM3QixpQ0FBaUMsR0FDakMsb0JBQW9CLEdBQ3BCLGdCQUFnQixHQUNoQix5QkFBeUIsR0FDekIsMkJBQTJCLEdBQzNCLDRCQUE0QixHQUM1Qix5QkFBeUIsR0FDekIsVUFBVSxHQUNWLDhCQUE4QixHQUM5Qix5QkFBeUIsR0FDekIsNEJBQTRCLEdBQzVCLFVBQVUsR0FDVixVQUFVLEdBQ1YsZ0JBQWdCLEdBQ2hCLHdCQUF3QixHQUN4Qiw0QkFBNEIsR0FDNUIsdUJB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
1
+ export type EnvVar = 'REGISTRY_CONTRACT_ADDRESS' | 'FEE_ASSET_HANDLER_CONTRACT_ADDRESS' | 'SLASH_FACTORY_CONTRACT_ADDRESS' | 'ACVM_BINARY_PATH' | 'ACVM_WORKING_DIRECTORY' | 'API_KEY' | 'API_PREFIX' | 'ARCHIVER_MAX_LOGS' | 'ARCHIVER_POLLING_INTERVAL_MS' | 'ARCHIVER_URL' | 'ARCHIVER_VIEM_POLLING_INTERVAL_MS' | 'ARCHIVER_BATCH_SIZE' | 'AZTEC_ADMIN_PORT' | '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' | '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' | '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' | 'NO_PXE' | 'USE_GCLOUD_LOGGING' | 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT' | 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT' | 'OTEL_EXPORTER_OTLP_LOGS_ENDPOINT' | 'OTEL_COLLECT_INTERVAL_MS' | 'OTEL_EXCLUDE_METRICS' | 'OTEL_INCLUDE_METRICS' | '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_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_RPC_PRICE_BUMP_PERCENTAGE' | '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_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_PROVEN_PERFORMANCE_LENGTH_IN_EPOCHS' | 'SEQ_ENABLE_PROPOSER_PIPELINING' | '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_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_MIN_PENALTY_PERCENTAGE' | 'SLASH_MAX_PENALTY_PERCENTAGE' | 'SLASH_VALIDATORS_ALWAYS' | 'SLASH_VALIDATORS_NEVER' | 'SLASH_PRUNE_PENALTY' | 'SLASH_DATA_WITHHOLDING_PENALTY' | 'SLASH_INACTIVITY_PENALTY' | 'SLASH_INACTIVITY_TARGET_PERCENTAGE' | 'SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD' | 'SLASH_INVALID_BLOCK_PENALTY' | 'SLASH_DUPLICATE_PROPOSAL_PENALTY' | 'SLASH_DUPLICATE_ATTESTATION_PENALTY' | 'SLASH_OVERRIDE_PAYLOAD' | 'SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY' | 'SLASH_ATTEST_DESCENDANT_OF_INVALID_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_SLOW_NODES_INTERVAL_MS' | 'TX_COLLECTION_SLOW_REQ_RESP_INTERVAL_MS' | 'TX_COLLECTION_SLOW_REQ_RESP_TIMEOUT_MS' | 'TX_COLLECTION_RECONCILE_INTERVAL_MS' | 'TX_COLLECTION_DISABLE_SLOW_DURING_FAST_REQUESTS' | '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_SLOW_DELAY_MS' | 'TX_COLLECTION_FILE_STORE_FAST_DELAY_MS' | 'TX_COLLECTION_FILE_STORE_FAST_WORKER_COUNT' | 'TX_COLLECTION_FILE_STORE_SLOW_WORKER_COUNT' | 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_BASE_MS' | 'TX_COLLECTION_FILE_STORE_SLOW_BACKOFF_BASE_MS' | 'TX_COLLECTION_FILE_STORE_FAST_BACKOFF_MAX_MS' | 'TX_COLLECTION_FILE_STORE_SLOW_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_REEXECUTE' | '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_FLAVOR' | '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' | 'VALIDATOR_REEXECUTE_DEADLINE_MS' | 'WEB3_SIGNER_URL' | 'SKIP_ARCHIVER_INITIAL_SYNC' | 'BLOB_ALLOW_EMPTY_SOURCES' | 'FISHERMAN_MODE' | 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS' | '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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52X3Zhci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9lbnZfdmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sTUFBTSxNQUFNLEdBQ2QsMkJBQTJCLEdBQzNCLG9DQUFvQyxHQUNwQyxnQ0FBZ0MsR0FDaEMsa0JBQWtCLEdBQ2xCLHdCQUF3QixHQUN4QixTQUFTLEdBQ1QsWUFBWSxHQUNaLG1CQUFtQixHQUNuQiw4QkFBOEIsR0FDOUIsY0FBYyxHQUNkLG1DQUFtQyxHQUNuQyxxQkFBcUIsR0FDckIsa0JBQWtCLEdBQ2xCLDBCQUEwQixHQUMxQiw2QkFBNkIsR0FDN0IsMkJBQTJCLEdBQzNCLHNCQUFzQixHQUN0QixnQkFBZ0IsR0FDaEIsWUFBWSxHQUNaLGdCQUFnQixHQUNoQixpQkFBaUIsR0FDakIsc0JBQXNCLEdBQ3RCLHNCQUFzQixHQUN0QixvQkFBb0IsR0FDcEIsMkJBQTJCLEdBQzNCLG1DQUFtQyxHQUNuQyxpQkFBaUIsR0FDakIsc0JBQXNCLEdBQ3RCLHNCQUFzQixHQUN0Qiw0QkFBNEIsR0FDNUIsMENBQTBDLEdBQzFDLGtCQUFrQixHQUNsQix3QkFBd0IsR0FDeEIscUJBQXFCLEdBQ3JCLDhCQUE4QixHQUM5QixrQkFBa0IsR0FDbEIsa0JBQWtCLEdBQ2xCLHFCQUFxQixHQUNyQixjQUFjLEdBQ2QsaUJBQWlCLEdBQ2pCLG9CQUFvQixHQUNwQiw4QkFBOEIsR0FDOUIsaUJBQWlCLEdBQ2pCLGtCQUFrQixHQUNsQiw4QkFBOEIsR0FDOUIsNkJBQTZCLEdBQzdCLGlDQUFpQyxHQUNqQyxvQkFBb0IsR0FDcEIsZ0JBQWdCLEdBQ2hCLHlCQUF5QixHQUN6QiwyQkFBMkIsR0FDM0IsNEJBQTRCLEdBQzVCLHlCQUF5QixHQUN6QixVQUFVLEdBQ1YsOEJBQThCLEdBQzlCLHlCQUF5QixHQUN6Qiw0QkFBNEIsR0FDNUIsVUFBVSxHQUNWLFVBQVUsR0FDVixnQkFBZ0IsR0FDaEIsd0JB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
@@ -1 +1 @@
1
- {"version":3,"file":"env_var.d.ts","sourceRoot":"","sources":["../../src/config/env_var.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env_var.d.ts","sourceRoot":"","sources":["../../src/config/env_var.ts"],"names":[],"mappings":"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"}
@@ -121,4 +121,4 @@ export declare function pickConfigMappings<T, K extends keyof T>(configMappings:
121
121
  * @returns {T} - The configuration object with default values.
122
122
  */
123
123
  export declare function getDefaultConfig<T>(configMappings: ConfigMappingsType<T>): T;
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztBQUM3QyxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3JDLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRixNQUFNLFdBQVcsYUFBYTtJQUM1QixHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssR0FBRyxDQUFDO0lBQ2hDLFlBQVksQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNuQixZQUFZLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssTUFBTSxDQUFDO0lBQ3BDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3BCLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdkMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEI7OztPQUdHO0lBQ0gsa0JBQWtCLENBQUMsRUFBRTtRQUFFLEdBQUcsRUFB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
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztBQUM3QyxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3JDLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRixNQUFNLFdBQVcsYUFBYTtJQUM1QixHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssR0FBRyxDQUFDO0lBQ2hDLFlBQVksQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNuQixZQUFZLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssTUFBTSxDQUFDO0lBQ3BDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3BCLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdkMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEI7OztPQUdHO0lBQ0gsa0JBQWtCLENBQUMsRUFBRTtRQUFFLEdBQUcsRUFBRSxNQUFNLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxFQUFFLENBQUM7Q0FDMUQ7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FFckU7QUFFRCxNQUFNLE1BQU0sa0JBQWtCLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUVuRTs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBZ0IsMkJBQTJCLENBQUMsQ0FBQyxFQUMzQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDdkIsU0FBUyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxLQUFLLENBQUMsQ0FBQyxHQUFHLFNBQVMsRUFDM0MsWUFBWSxFQUFFLENBQUMsR0FBRyxTQUFTLEVBQzNCLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUNsQixDQUFDLEdBQUcsU0FBUyxDQTBCZjtBQUVELHdCQUFnQixxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0EwQmpGO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0Isa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxNQUFNLENBQUMsRUFDckQsY0FBYyxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUNyQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLEdBQ2hCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FJaEM7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEdBQUcsY0FBYyxDQUFDLENBS3ZHO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFnQixpQkFBaUIsQ0FDL0IsVUFBVSxFQUFFLE1BQU0sRUFDbEIsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxLQUFLLElBQUksR0FDbkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEdBQUcsY0FBYyxDQUFDLENBU2xEO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0Isc0JBQXNCLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsR0FBRyxjQUFjLENBQUMsQ0FZM0c7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsR0FBRyxjQUFjLENBQUMsQ0F5QnhHO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0IsMEJBQTBCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FVNUU7QUFFRCx3REFBd0Q7QUFDeEQsd0JBQWdCLGdCQUFnQixDQUFDLENBQUMsU0FBUyxNQUFNLEVBQy9DLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFDWCxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxHQUFHLGNBQWMsQ0FBQyxDQWNsRDtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0IsbUJBQW1CLENBQ2pDLFVBQVUsVUFBUSxHQUNqQixRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEdBQUcsY0FBYyxHQUFHLFdBQVcsQ0FBQyxHQUFHO0lBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sS0FBSyxPQUFPLENBQUE7Q0FBRSxDQUFDLENBUW5IO0FBRUQsd0JBQWdCLHVCQUF1QixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFNBQVMsS0FBSyxDQUFDLEdBQUcsUUFBUSxDQUN6RixJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsR0FBRyxjQUFjLEdBQUcsV0FBVyxDQUFDLEdBQUc7SUFDL0QsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDM0MsQ0FDRixDQVFBO0FBRUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELHdCQUFnQix3QkFBd0IsSUFBSSxRQUFRLENBQ2xELElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxHQUFHLGNBQWMsR0FBRyxXQUFXLENBQUMsR0FBRztJQUMvRCxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxLQUFLLFdBQVcsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUM7Q0FDNUQsQ0FDRixDQUFDO0FBQ0Ysd0JBQWdCLHdCQUF3QixDQUFDLFlBQVksRUFBRSxNQUFNLEdBQUcsUUFBUSxDQUN0RSxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsR0FBRyxjQUFjLEdBQUcsV0FBVyxDQUFDLEdBQUc7SUFDL0QsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sS0FBSyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDaEQsQ0FDRixDQUFDO0FBZUYsd0JBQWdCLG9CQUFvQixJQUFJLFFBQVEsQ0FDOUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEdBQUcsY0FBYyxHQUFHLFdBQVcsQ0FBQyxHQUFHO0lBQy9ELFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssV0FBVyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztDQUN4RCxDQUNGLENBQUM7QUFDRix3QkFBZ0Isb0JBQW9CLENBQUMsWUFBWSxFQUFFLEVBQUUsR0FBRyxRQUFRLENBQzlELElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxHQUFHLGNBQWMsR0FBRyxXQUFXLENBQUMsR0FBRztJQUMvRCxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxLQUFLLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUM1QyxDQUNGLENBQUM7QUFlRix3QkFBZ0Isb0JBQW9CLENBQUMsWUFBWSxFQUFFLEVBQUUsR0FBRyxRQUFRLENBQzlELElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxHQUFHLGNBQWMsR0FBRyxXQUFXLENBQUMsR0FBRztJQUMvRCxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxLQUFLLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUM1QyxDQUNGLENBQUM7QUFDRix3QkFBZ0Isb0JBQW9CLElBQUksUUFBUSxDQUM5QyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsR0FBRyxjQUFjLEdBQUcsV0FBVyxDQUFDLEdBQUc7SUFDL0QsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sS0FBSyxXQUFXLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0NBQ3hELENBQ0YsQ0FBQztBQXVDRjs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQixrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxFQUNyRCxjQUFjLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQ3JDLElBQUksRUFBRSxDQUFDLEVBQUUsR0FDUixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBRWhDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQVU1RSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -122,6 +122,21 @@ export function getConfigFromMappings(configMappings) {
122
122
  if (val === '') {
123
123
  return defaultVal;
124
124
  }
125
+ // Handle scientific notation (e.g. "1e+23", "2E23") which BigInt() doesn't accept directly.
126
+ // We parse it losslessly using bigint arithmetic instead of going through float64.
127
+ if (/[eE]/.test(val)) {
128
+ const match = val.match(/^(-?\d+(?:\.(\d+))?)[eE]([+-]?\d+)$/);
129
+ if (!match) {
130
+ throw new Error(`Cannot convert '${val}' to a BigInt`);
131
+ }
132
+ const digits = match[1].replace('.', '');
133
+ const decimalPlaces = match[2]?.length ?? 0;
134
+ const exponent = parseInt(match[3], 10) - decimalPlaces;
135
+ if (exponent < 0) {
136
+ throw new Error(`Cannot convert '${val}' to a BigInt: result is not an integer`);
137
+ }
138
+ return BigInt(digits) * 10n ** BigInt(exponent);
139
+ }
125
140
  return BigInt(val);
126
141
  },
127
142
  defaultValue: defaultVal
@@ -3,52 +3,70 @@ export declare const NetworkConfigSchema: z.ZodObject<{
3
3
  bootnodes: z.ZodArray<z.ZodString, "many">;
4
4
  snapshots: z.ZodArray<z.ZodString, "many">;
5
5
  blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
6
+ txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
6
7
  registryAddress: z.ZodString;
7
8
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
8
9
  l1ChainId: z.ZodNumber;
9
10
  blockDurationMs: z.ZodOptional<z.ZodNumber>;
11
+ txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
12
+ nodeVersion: z.ZodOptional<z.ZodString>;
10
13
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
11
14
  bootnodes: z.ZodArray<z.ZodString, "many">;
12
15
  snapshots: z.ZodArray<z.ZodString, "many">;
13
16
  blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
17
+ txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
14
18
  registryAddress: z.ZodString;
15
19
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
16
20
  l1ChainId: z.ZodNumber;
17
21
  blockDurationMs: z.ZodOptional<z.ZodNumber>;
22
+ txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
23
+ nodeVersion: z.ZodOptional<z.ZodString>;
18
24
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
19
25
  bootnodes: z.ZodArray<z.ZodString, "many">;
20
26
  snapshots: z.ZodArray<z.ZodString, "many">;
21
27
  blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
28
+ txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
22
29
  registryAddress: z.ZodString;
23
30
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
24
31
  l1ChainId: z.ZodNumber;
25
32
  blockDurationMs: z.ZodOptional<z.ZodNumber>;
33
+ txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
34
+ nodeVersion: z.ZodOptional<z.ZodString>;
26
35
  }, z.ZodTypeAny, "passthrough">>;
27
36
  export declare const NetworkConfigMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
28
37
  bootnodes: z.ZodArray<z.ZodString, "many">;
29
38
  snapshots: z.ZodArray<z.ZodString, "many">;
30
39
  blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
40
+ txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
31
41
  registryAddress: z.ZodString;
32
42
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
33
43
  l1ChainId: z.ZodNumber;
34
44
  blockDurationMs: z.ZodOptional<z.ZodNumber>;
45
+ txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
46
+ nodeVersion: z.ZodOptional<z.ZodString>;
35
47
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
36
48
  bootnodes: z.ZodArray<z.ZodString, "many">;
37
49
  snapshots: z.ZodArray<z.ZodString, "many">;
38
50
  blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
51
+ txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
39
52
  registryAddress: z.ZodString;
40
53
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
41
54
  l1ChainId: z.ZodNumber;
42
55
  blockDurationMs: z.ZodOptional<z.ZodNumber>;
56
+ txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
57
+ nodeVersion: z.ZodOptional<z.ZodString>;
43
58
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
44
59
  bootnodes: z.ZodArray<z.ZodString, "many">;
45
60
  snapshots: z.ZodArray<z.ZodString, "many">;
46
61
  blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
62
+ txCollectionFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
47
63
  registryAddress: z.ZodString;
48
64
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
49
65
  l1ChainId: z.ZodNumber;
50
66
  blockDurationMs: z.ZodOptional<z.ZodNumber>;
67
+ txPublicSetupAllowListExtend: z.ZodOptional<z.ZodString>;
68
+ nodeVersion: z.ZodOptional<z.ZodString>;
51
69
  }, z.ZodTypeAny, "passthrough">>>;
52
70
  export type NetworkConfig = z.infer<typeof NetworkConfigSchema>;
53
71
  export type NetworkConfigMap = z.infer<typeof NetworkConfigMapSchema>;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixlQUFPLE1BQU0sbUJBQW1COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0NBVWhCLENBQUM7QUFFakIsZUFBTyxNQUFNLHNCQUFzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQUE0QyxDQUFDO0FBRWhGLE1BQU0sTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLG1CQUFtQixDQUFDLENBQUM7QUFDaEUsTUFBTSxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxzQkFBc0IsQ0FBQyxDQUFDIn0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixlQUFPLE1BQU0sbUJBQW1COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0NBYWhCLENBQUM7QUFFakIsZUFBTyxNQUFNLHNCQUFzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQUE0QyxDQUFDO0FBRWhGLE1BQU0sTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLG1CQUFtQixDQUFDLENBQUM7QUFDaEUsTUFBTSxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxzQkFBc0IsQ0FBQyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;gCAUhB,CAAC;AAEjB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;iCAA4C,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAahB,CAAC;AAEjB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAA4C,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -3,9 +3,12 @@ export const NetworkConfigSchema = z.object({
3
3
  bootnodes: z.array(z.string()),
4
4
  snapshots: z.array(z.string()),
5
5
  blobFileStoreUrls: z.array(z.string()).optional(),
6
+ txCollectionFileStoreUrls: z.array(z.string()).optional(),
6
7
  registryAddress: z.string(),
7
8
  feeAssetHandlerAddress: z.string().optional(),
8
9
  l1ChainId: z.number(),
9
- blockDurationMs: z.number().positive().optional()
10
+ blockDurationMs: z.number().positive().optional(),
11
+ txPublicSetupAllowListExtend: z.string().optional(),
12
+ nodeVersion: z.string().optional()
10
13
  }).passthrough(); // Allow additional unknown fields to pass through
11
14
  export const NetworkConfigMapSchema = z.record(z.string(), NetworkConfigSchema);
@@ -87,5 +87,16 @@ export declare function normalizeSignature(signature: Signature): Signature;
87
87
  * @returns The public key.
88
88
  */
89
89
  export declare function recoverPublicKey(hash: Buffer32, signature: Signature, opts?: RecoveryOpts): Buffer;
90
+ /**
91
+ * Generates a random valid ECDSA signature that is recoverable to some address.
92
+ * Since Signature.random() produces real signatures via secp256k1 signing, the result is always
93
+ * recoverable, but we verify defensively by checking tryRecoverAddress.
94
+ */
95
+ export declare function generateRecoverableSignature(): Signature;
96
+ /**
97
+ * Generates a random signature where ECDSA address recovery fails.
98
+ * Uses random r/s values (not from real signing) so that r is unlikely to be a valid secp256k1 x-coordinate.
99
+ */
100
+ export declare function generateUnrecoverableSignature(): Signature;
90
101
  export {};
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2VjcDI1NmsxLXNpZ25lci91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUtqRSxpQ0FBaUM7QUFDakMsS0FBSyxZQUFZLEdBQUc7SUFDbEI7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN6Qjs7T0FFRztJQUNILGVBQWUsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUMzQixDQUFDO0FBRUYscUJBQWEsY0FBZSxTQUFRLEtBQUs7SUFDdkMsWUFBWSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQTtLQUFFLEVBR3JEO0NBQ0Y7QUFHRCx3QkFBZ0IsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxRQUFRLENBRzdEO0FBWUQ7Ozs7R0FJRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFbEU7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQUdwRTtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxZQUFZLEdBQUcsVUFBVSxDQVVwRztBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsWUFBWSxHQUFHLFVBQVUsR0FBRyxTQUFTLENBT25IO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLFVBQVUsRUFBRSxNQUFNLFNBVy9DO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFHaEU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxHQUFHLFNBQVMsQ0FNN0Q7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0Isa0JBQWtCLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxTQUFTLENBVWxFO0FBNkJEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUUsWUFBaUIsR0FBRyxNQUFNLENBWXRHIn0=
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2VjcDI1NmsxLXNpZ25lci91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUtqRSxpQ0FBaUM7QUFDakMsS0FBSyxZQUFZLEdBQUc7SUFDbEI7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN6Qjs7T0FFRztJQUNILGVBQWUsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUMzQixDQUFDO0FBRUYscUJBQWEsY0FBZSxTQUFRLEtBQUs7SUFDdkMsWUFBWSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQTtLQUFFLEVBR3JEO0NBQ0Y7QUFHRCx3QkFBZ0IsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxRQUFRLENBRzdEO0FBWUQ7Ozs7R0FJRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFbEU7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQUdwRTtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxZQUFZLEdBQUcsVUFBVSxDQVVwRztBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsWUFBWSxHQUFHLFVBQVUsR0FBRyxTQUFTLENBT25IO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLFVBQVUsRUFBRSxNQUFNLFNBVy9DO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFHaEU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxHQUFHLFNBQVMsQ0FNN0Q7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0Isa0JBQWtCLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxTQUFTLENBVWxFO0FBNkJEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUUsWUFBaUIsR0FBRyxNQUFNLENBWXRHO0FBS0Q7Ozs7R0FJRztBQUNILHdCQUFnQiw0QkFBNEIsSUFBSSxTQUFTLENBUXhEO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLDhCQUE4QixJQUFJLFNBQVMsQ0FRMUQifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAKjE,iCAAiC;AACjC,KAAK,YAAY,GAAG;IAClB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qBAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,EAGrD;CACF;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAG7D;AAYD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAGpE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAUpG;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAOnH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,SAW/C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAGhE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAM7D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAUlE;AA6BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,GAAE,YAAiB,GAAG,MAAM,CAYtG"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAKjE,iCAAiC;AACjC,KAAK,YAAY,GAAG;IAClB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qBAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,EAGrD;CACF;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAG7D;AAYD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAGpE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAUpG;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAOnH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,SAW/C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAGhE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAM7D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAUlE;AA6BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,GAAE,YAAiB,GAAG,MAAM,CAYtG;AAKD;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,SAAS,CAQxD;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,SAAS,CAQ1D"}
@@ -168,3 +168,29 @@ export function makeEthSignDigest(message) {
168
168
  const publicKey = sig.recoverPublicKey(hash.buffer).toHex(false);
169
169
  return Buffer.from(publicKey, 'hex');
170
170
  }
171
+ /** Arbitrary hash used for testing signature recoverability. */ const PROBE_HASH = Buffer32.fromBuffer(keccak256(Buffer.from('signature-recoverability-probe')));
172
+ /**
173
+ * Generates a random valid ECDSA signature that is recoverable to some address.
174
+ * Since Signature.random() produces real signatures via secp256k1 signing, the result is always
175
+ * recoverable, but we verify defensively by checking tryRecoverAddress.
176
+ */ export function generateRecoverableSignature() {
177
+ for(let i = 0; i < 100; i++){
178
+ const sig = Signature.random();
179
+ if (tryRecoverAddress(PROBE_HASH, sig) !== undefined) {
180
+ return sig;
181
+ }
182
+ }
183
+ throw new Secp256k1Error('Failed to generate a recoverable signature after 100 attempts');
184
+ }
185
+ /**
186
+ * Generates a random signature where ECDSA address recovery fails.
187
+ * Uses random r/s values (not from real signing) so that r is unlikely to be a valid secp256k1 x-coordinate.
188
+ */ export function generateUnrecoverableSignature() {
189
+ for(let i = 0; i < 100; i++){
190
+ const sig = new Signature(Buffer32.random(), Buffer32.random(), 27);
191
+ if (tryRecoverAddress(PROBE_HASH, sig) === undefined) {
192
+ return sig;
193
+ }
194
+ }
195
+ throw new Secp256k1Error('Failed to generate an unrecoverable signature after 100 attempts');
196
+ }
@@ -43,6 +43,7 @@ export declare class Signature {
43
43
  static fromString(sig: `0x${string}`): Signature;
44
44
  static fromViemSignature(sig: ViemSignature): Signature;
45
45
  static fromViemTransactionSignature(sig: ViemTransactionSignature): Signature;
46
+ /** Generates a random valid ECDSA signature with a low s-value by signing a random message with a random key. */
46
47
  static random(): Signature;
47
48
  static empty(): Signature;
48
49
  isEmpty(): boolean;
@@ -61,4 +62,4 @@ export declare class Signature {
61
62
  toJSON(): `0x${string}`;
62
63
  static get schema(): z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, `0x${string}`, string>, `0x${string}`, string>, Signature, string>;
63
64
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoX3NpZ25hdHVyZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V0aC1zaWduYXR1cmUvZXRoX3NpZ25hdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBSXhCOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGFBQWEsR0FBRztJQUMxQixDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUNqQixDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUNqQixDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ1gsQ0FBQztBQUVGLE1BQU0sTUFBTSx3QkFBd0IsR0FBRztJQUNyQyxDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUNqQixDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUNqQixPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUNoQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxxQkFBYSxTQUFTO0lBT2xCLG1DQUFtQzthQUNuQixDQUFDLEVBQUUsUUFBUTtJQUMzQixtQ0FBbUM7YUFDbkIsQ0FBQyxFQUFFLFFBQVE7SUFDM0IsbUNBQW1DO2FBQ25CLENBQUMsRUFBRSxNQUFNO0lBVjNCLE9BQU8sQ0FBQyxJQUFJLENBQXFCO0lBRWpDLFNBQWdCLEtBQUssRUFBRSxPQUFPLENBQUM7SUFFL0I7SUFDRSxtQ0FBbUM7SUFDbkIsQ0FBQyxFQUFFLFFBQVE7SUFDM0IsbUNBQW1DO0lBQ25CLENBQUMsRUFBRSxRQUFRO0lBQzNCLG1DQUFtQztJQUNuQixDQUFDLEVBQUUsTUFBTSxFQUcxQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsU0FBUyxDQVF2RDtJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLEtBQUssTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUVoRDtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxLQUFLLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FRL0M7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLGFBQWEsR0FBRyxTQUFTLENBRXREO0lBRUQsTUFBTSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsRUFBRSx3QkFBd0IsR0FBRyxTQUFTLENBRTVFO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxTQUFTLENBRXpCO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxTQUFTLENBRXhCO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FFakI7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsR0FBRyxPQUFPLENBRWhDO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxPQUFPLElBQUksTUFBTSxDQVFoQjtJQUVELFFBQVEsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUV4QjtJQUVEOztPQUVHO0lBQ0gsZUFBZSxJQUFJLGFBQWEsQ0FNL0I7SUFFRDs7T0FFRztJQUNILDBCQUEwQixJQUFJLHdCQUF3QixDQVNyRDtJQUVELE1BQU0sa0JBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSwySEFNaEI7Q0FDRiJ9
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoX3NpZ25hdHVyZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V0aC1zaWduYXR1cmUvZXRoX3NpZ25hdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUc5RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBS3hCOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGFBQWEsR0FBRztJQUMxQixDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUNqQixDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUNqQixDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ1gsQ0FBQztBQUVGLE1BQU0sTUFBTSx3QkFBd0IsR0FBRztJQUNyQyxDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUNqQixDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUNqQixPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUNoQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxxQkFBYSxTQUFTO0lBT2xCLG1DQUFtQzthQUNuQixDQUFDLEVBQUUsUUFBUTtJQUMzQixtQ0FBbUM7YUFDbkIsQ0FBQyxFQUFFLFFBQVE7SUFDM0IsbUNBQW1DO2FBQ25CLENBQUMsRUFBRSxNQUFNO0lBVjNCLE9BQU8sQ0FBQyxJQUFJLENBQXFCO0lBRWpDLFNBQWdCLEtBQUssRUFBRSxPQUFPLENBQUM7SUFFL0I7SUFDRSxtQ0FBbUM7SUFDbkIsQ0FBQyxFQUFFLFFBQVE7SUFDM0IsbUNBQW1DO0lBQ25CLENBQUMsRUFBRSxRQUFRO0lBQzNCLG1DQUFtQztJQUNuQixDQUFDLEVBQUUsTUFBTSxFQUcxQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsU0FBUyxDQVF2RDtJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLEtBQUssTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUVoRDtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxLQUFLLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FRL0M7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLGFBQWEsR0FBRyxTQUFTLENBRXREO0lBRUQsTUFBTSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsRUFBRSx3QkFBd0IsR0FBRyxTQUFTLENBRTVFO0lBRUQsaUhBQWlIO0lBQ2pILE1BQU0sQ0FBQyxNQUFNLElBQUksU0FBUyxDQUt6QjtJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUksU0FBUyxDQUV4QjtJQUVELE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUVoQztJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FRaEI7SUFFRCxRQUFRLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FFeEI7SUFFRDs7T0FFRztJQUNILGVBQWUsSUFBSSxhQUFhLENBTS9CO0lBRUQ7O09BRUc7SUFDSCwwQkFBMEIsSUFBSSx3QkFBd0IsQ0FTckQ7SUFFRCxNQUFNLGtCQUVMO0lBRUQsTUFBTSxLQUFLLE1BQU0sMkhBTWhCO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"eth_signature.d.ts","sourceRoot":"","sources":["../../src/eth-signature/eth_signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACjB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACjB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,qBAAa,SAAS;IAOlB,mCAAmC;aACnB,CAAC,EAAE,QAAQ;IAC3B,mCAAmC;aACnB,CAAC,EAAE,QAAQ;IAC3B,mCAAmC;aACnB,CAAC,EAAE,MAAM;IAV3B,OAAO,CAAC,IAAI,CAAqB;IAEjC,SAAgB,KAAK,EAAE,OAAO,CAAC;IAE/B;IACE,mCAAmC;IACnB,CAAC,EAAE,QAAQ;IAC3B,mCAAmC;IACnB,CAAC,EAAE,QAAQ;IAC3B,mCAAmC;IACnB,CAAC,EAAE,MAAM,EAG1B;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAQvD;IAED,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,CAEhD;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAQ/C;IAED,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CAEtD;IAED,MAAM,CAAC,4BAA4B,CAAC,GAAG,EAAE,wBAAwB,GAAG,SAAS,CAE5E;IAED,MAAM,CAAC,MAAM,IAAI,SAAS,CAEzB;IAED,MAAM,CAAC,KAAK,IAAI,SAAS,CAExB;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhC;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,OAAO,IAAI,MAAM,CAQhB;IAED,QAAQ,IAAI,KAAK,MAAM,EAAE,CAExB;IAED;;OAEG;IACH,eAAe,IAAI,aAAa,CAM/B;IAED;;OAEG;IACH,0BAA0B,IAAI,wBAAwB,CASrD;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,2HAMhB;CACF"}
1
+ {"version":3,"file":"eth_signature.d.ts","sourceRoot":"","sources":["../../src/eth-signature/eth_signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACjB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACjB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,qBAAa,SAAS;IAOlB,mCAAmC;aACnB,CAAC,EAAE,QAAQ;IAC3B,mCAAmC;aACnB,CAAC,EAAE,QAAQ;IAC3B,mCAAmC;aACnB,CAAC,EAAE,MAAM;IAV3B,OAAO,CAAC,IAAI,CAAqB;IAEjC,SAAgB,KAAK,EAAE,OAAO,CAAC;IAE/B;IACE,mCAAmC;IACnB,CAAC,EAAE,QAAQ;IAC3B,mCAAmC;IACnB,CAAC,EAAE,QAAQ;IAC3B,mCAAmC;IACnB,CAAC,EAAE,MAAM,EAG1B;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAQvD;IAED,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,CAEhD;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAQ/C;IAED,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CAEtD;IAED,MAAM,CAAC,4BAA4B,CAAC,GAAG,EAAE,wBAAwB,GAAG,SAAS,CAE5E;IAED,iHAAiH;IACjH,MAAM,CAAC,MAAM,IAAI,SAAS,CAKzB;IAED,MAAM,CAAC,KAAK,IAAI,SAAS,CAExB;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhC;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,OAAO,IAAI,MAAM,CAQhB;IAED,QAAQ,IAAI,KAAK,MAAM,EAAE,CAExB;IAED;;OAEG;IACH,eAAe,IAAI,aAAa,CAM/B;IAED;;OAEG;IACH,0BAA0B,IAAI,wBAAwB,CASrD;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,2HAMhB;CACF"}
@@ -1,6 +1,8 @@
1
1
  import { Buffer32 } from '@aztec/foundation/buffer';
2
2
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { secp256k1 } from '@noble/curves/secp256k1';
3
4
  import { z } from 'zod';
5
+ import { randomBytes } from '../crypto/random/index.js';
4
6
  import { hasHexPrefix, hexToBuffer } from '../string/index.js';
5
7
  /**
6
8
  * Contains a signature split into it's primary components (r,s,v)
@@ -45,8 +47,11 @@ import { hasHexPrefix, hexToBuffer } from '../string/index.js';
45
47
  static fromViemTransactionSignature(sig) {
46
48
  return new Signature(Buffer32.fromBuffer(hexToBuffer(sig.r)), Buffer32.fromBuffer(hexToBuffer(sig.s)), sig.yParity);
47
49
  }
48
- static random() {
49
- return new Signature(Buffer32.random(), Buffer32.random(), 1);
50
+ /** Generates a random valid ECDSA signature with a low s-value by signing a random message with a random key. */ static random() {
51
+ const privateKey = randomBytes(32);
52
+ const message = randomBytes(32);
53
+ const { r, s, recovery } = secp256k1.sign(message, privateKey);
54
+ return new Signature(Buffer32.fromBigInt(r), Buffer32.fromBigInt(s), recovery ? 28 : 27);
50
55
  }
51
56
  static empty() {
52
57
  return new Signature(Buffer32.ZERO, Buffer32.ZERO, 0);
@@ -0,0 +1,41 @@
1
+ import EventEmitter from 'node:events';
2
+ import type { Readable } from 'node:stream';
3
+ /**
4
+ * Events emitted by FifoFrameReader.
5
+ *
6
+ * - `frame`: A complete frame payload (without the 4-byte length header).
7
+ * - `error`: An unrecoverable error (invalid frame length, stream error).
8
+ * - `end`: The underlying stream has ended.
9
+ */
10
+ export interface FifoFrameReaderEvents {
11
+ frame: [payload: Buffer];
12
+ error: [error: Error];
13
+ end: [];
14
+ }
15
+ /**
16
+ * Reads length-delimited frames from a readable stream (typically a named FIFO pipe).
17
+ *
18
+ * Wire format: `[4-byte big-endian payload length][payload bytes]`
19
+ *
20
+ * Emits a `frame` event for each complete frame with the raw payload buffer.
21
+ * Callers are responsible for deserializing the payload (e.g., via msgpack).
22
+ *
23
+ * On encountering an invalid payload length (0 or >maxPayloadSize), emits `error`
24
+ * and destroys the stream.
25
+ */
26
+ export declare class FifoFrameReader extends EventEmitter<FifoFrameReaderEvents> {
27
+ private readonly maxPayloadSize;
28
+ private stream;
29
+ private pendingBuf;
30
+ private running;
31
+ constructor(maxPayloadSize?: number);
32
+ /** Open a FIFO at the given path and start reading frames. */
33
+ start(fifoPath: string, highWaterMark?: number): void;
34
+ /** Start reading frames from an existing readable stream. */
35
+ startFromStream(stream: Readable): void;
36
+ /** Stop reading and destroy the underlying stream. */
37
+ stop(): void;
38
+ /** Parse complete frames out of the pending buffer. */
39
+ private drainFrames;
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlmb19mcmFtZV9yZWFkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWZvL2ZpZm9fZnJhbWVfcmVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sWUFBWSxNQUFNLGFBQWEsQ0FBQztBQUV2QyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxXQUFXLHFCQUFxQjtJQUNwQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekIsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLEdBQUcsRUFBRSxFQUFFLENBQUM7Q0FDVDtBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxxQkFBYSxlQUFnQixTQUFRLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztJQUsxRCxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWM7SUFKM0MsT0FBTyxDQUFDLE1BQU0sQ0FBeUI7SUFDdkMsT0FBTyxDQUFDLFVBQVUsQ0FBMkI7SUFDN0MsT0FBTyxDQUFDLE9BQU8sQ0FBUztJQUV4QixZQUE2QixjQUFjLFNBQW1CLEVBRTdEO0lBRUQsOERBQThEO0lBQzlELEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLGFBQWEsU0FBWSxHQUFHLElBQUksQ0FFdkQ7SUFFRCw2REFBNkQ7SUFDN0QsZUFBZSxDQUFDLE1BQU0sRUFBRSxRQUFRLEdBQUcsSUFBSSxDQXVCdEM7SUFFRCxzREFBc0Q7SUFDdEQsSUFBSSxJQUFJLElBQUksQ0FNWDtJQUVELHVEQUF1RDtJQUN2RCxPQUFPLENBQUMsV0FBVztDQW1CcEIifQ==
@@ -0,0 +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;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"}
@@ -0,0 +1,74 @@
1
+ import EventEmitter from 'node:events';
2
+ import * as fs from 'node:fs';
3
+ /**
4
+ * Reads length-delimited frames from a readable stream (typically a named FIFO pipe).
5
+ *
6
+ * Wire format: `[4-byte big-endian payload length][payload bytes]`
7
+ *
8
+ * Emits a `frame` event for each complete frame with the raw payload buffer.
9
+ * Callers are responsible for deserializing the payload (e.g., via msgpack).
10
+ *
11
+ * On encountering an invalid payload length (0 or >maxPayloadSize), emits `error`
12
+ * and destroys the stream.
13
+ */ export class FifoFrameReader extends EventEmitter {
14
+ maxPayloadSize;
15
+ stream;
16
+ pendingBuf;
17
+ running;
18
+ constructor(maxPayloadSize = 10 * 1024 * 1024){
19
+ super(), this.maxPayloadSize = maxPayloadSize, this.stream = null, this.pendingBuf = Buffer.alloc(0), this.running = false;
20
+ }
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
+ }));
25
+ }
26
+ /** Start reading frames from an existing readable stream. */ startFromStream(stream) {
27
+ if (this.running) {
28
+ throw new Error('FifoFrameReader is already running');
29
+ }
30
+ this.running = true;
31
+ this.pendingBuf = Buffer.alloc(0);
32
+ this.stream = stream;
33
+ stream.on('data', (chunk)=>{
34
+ const buf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
35
+ this.pendingBuf = this.pendingBuf.length > 0 ? Buffer.concat([
36
+ this.pendingBuf,
37
+ buf
38
+ ]) : buf;
39
+ this.drainFrames();
40
+ });
41
+ stream.on('error', (err)=>{
42
+ if (this.running) {
43
+ this.emit('error', err);
44
+ }
45
+ });
46
+ stream.on('end', ()=>{
47
+ this.emit('end');
48
+ });
49
+ }
50
+ /** Stop reading and destroy the underlying stream. */ stop() {
51
+ this.running = false;
52
+ if (this.stream) {
53
+ this.stream.destroy();
54
+ this.stream = null;
55
+ }
56
+ }
57
+ /** Parse complete frames out of the pending buffer. */ drainFrames() {
58
+ while(this.pendingBuf.length >= 4){
59
+ const payloadLen = this.pendingBuf.readUInt32BE(0);
60
+ if (payloadLen === 0 || payloadLen > this.maxPayloadSize) {
61
+ this.emit('error', new Error(`Invalid payload length: ${payloadLen}`));
62
+ this.stop();
63
+ return;
64
+ }
65
+ const frameLen = 4 + payloadLen;
66
+ if (this.pendingBuf.length < frameLen) {
67
+ break; // Wait for more data
68
+ }
69
+ const payload = this.pendingBuf.subarray(4, frameLen);
70
+ this.pendingBuf = this.pendingBuf.subarray(frameLen);
71
+ this.emit('frame', Buffer.from(payload));
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,2 @@
1
+ export { FifoFrameReader } from './fifo_frame_reader.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWZvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fifo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1 @@
1
+ export { FifoFrameReader } from './fifo_frame_reader.js';
@@ -8,3 +8,27 @@ import pretty from 'pino-pretty';
8
8
  if (!parseBooleanEnv(process.env.LOG_JSON)) {
9
9
  overwriteLoggingStream(pretty(pinoPrettyOpts));
10
10
  }
11
+ // Prevent timers from keeping the process alive after tests complete.
12
+ // Libraries like viem create internal polling loops (via setTimeout) that
13
+ // reschedule themselves indefinitely. In test environments we never want a
14
+ // timer to be the reason the process can't exit. We also unref stdout/stderr
15
+ // which, when they are pipes (as in Jest workers), remain ref'd by default.
16
+ {
17
+ const origSetTimeout = globalThis.setTimeout;
18
+ const origSetInterval = globalThis.setInterval;
19
+ globalThis.setTimeout = function unrefSetTimeout(...args) {
20
+ const id = origSetTimeout.apply(this, args);
21
+ id?.unref?.();
22
+ return id;
23
+ };
24
+ // Preserve .unref, .__promisify__ etc. that may exist on the original
25
+ Object.setPrototypeOf(globalThis.setTimeout, origSetTimeout);
26
+ globalThis.setInterval = function unrefSetInterval(...args) {
27
+ const id = origSetInterval.apply(this, args);
28
+ id?.unref?.();
29
+ return id;
30
+ };
31
+ Object.setPrototypeOf(globalThis.setInterval, origSetInterval);
32
+ if (process.stdout?._handle?.unref) process.stdout._handle.unref();
33
+ if (process.stderr?._handle?.unref) process.stderr._handle.unref();
34
+ }
@@ -2,4 +2,4 @@
2
2
  * Converts bigint values to strings recursively in a log object to avoid serialization issues.
3
3
  */
4
4
  export declare function convertBigintsToStrings(obj: unknown): unknown;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlnaW50LXV0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9nL2JpZ2ludC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FrQjdEIn0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlnaW50LXV0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9nL2JpZ2ludC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FxQjdEIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"bigint-utils.d.ts","sourceRoot":"","sources":["../../src/log/bigint-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAkB7D"}
1
+ {"version":3,"file":"bigint-utils.d.ts","sourceRoot":"","sources":["../../src/log/bigint-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAqB7D"}
@@ -8,6 +8,9 @@
8
8
  return obj.map((item)=>convertBigintsToStrings(item));
9
9
  }
10
10
  if (obj !== null && typeof obj === 'object') {
11
+ if (typeof obj.toJSON === 'function') {
12
+ return convertBigintsToStrings(obj.toJSON());
13
+ }
11
14
  const result = {};
12
15
  for(const key in obj){
13
16
  result[key] = convertBigintsToStrings(obj[key]);
@@ -20,6 +20,7 @@
20
20
  */
21
21
  export declare class InterruptibleSleep {
22
22
  private interrupts;
23
+ private timeoutIds;
23
24
  /**
24
25
  * Sleep for a specified amount of time in milliseconds.
25
26
  * The sleep function will pause the execution of the current async function
@@ -50,4 +51,4 @@ export declare class InterruptibleSleep {
50
51
  export declare function sleep<T>(ms: number, returnValue?: T): Promise<T>;
51
52
  /** Sleeps until the target date */
52
53
  export declare function sleepUntil<T>(target: Date, now: Date, returnValue?: T): Promise<T>;
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGVlcC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILHFCQUFhLGtCQUFrQjtJQUM3QixPQUFPLENBQUMsVUFBVSxDQUE2QztJQUUvRDs7Ozs7OztPQU9HO0lBQ1UsS0FBSyxDQUFDLEVBQUUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWU1QztJQUVEOzs7Ozs7T0FNRztJQUNJLFNBQVMsQ0FBQyxnQkFBZ0IsVUFBUSxHQUFHLElBQUksQ0FHL0M7Q0FDRjtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUVoRTtBQUVELG1DQUFtQztBQUNuQyx3QkFBZ0IsVUFBVSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FHbEYifQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGVlcC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILHFCQUFhLGtCQUFrQjtJQUM3QixPQUFPLENBQUMsVUFBVSxDQUE2QztJQUMvRCxPQUFPLENBQUMsVUFBVSxDQUF3QjtJQUUxQzs7Ozs7OztPQU9HO0lBQ1UsS0FBSyxDQUFDLEVBQUUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQXFCNUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxTQUFTLENBQUMsZ0JBQWdCLFVBQVEsR0FBRyxJQUFJLENBSy9DO0NBQ0Y7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FFaEU7QUFFRCxtQ0FBbUM7QUFDbkMsd0JBQWdCLFVBQVUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBR2xGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sleep/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAA6C;IAE/D;;;;;;;OAOG;IACU,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe5C;IAED;;;;;;OAMG;IACI,SAAS,CAAC,gBAAgB,UAAQ,GAAG,IAAI,CAG/C;CACF;AAED;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEhE;AAED,mCAAmC;AACnC,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAGlF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sleep/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,UAAU,CAAwB;IAE1C;;;;;;;OAOG;IACU,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB5C;IAED;;;;;;OAMG;IACI,SAAS,CAAC,gBAAgB,UAAQ,GAAG,IAAI,CAK/C;CACF;AAED;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEhE;AAED,mCAAmC;AACnC,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAGlF"}
@@ -20,6 +20,7 @@ import { InterruptError } from '../error/index.js';
20
20
  * setTimeout(() =\> sleeper.interrupt(true), 1500); // Interrupt the sleep after 1.5 seconds
21
21
  */ export class InterruptibleSleep {
22
22
  interrupts = [];
23
+ timeoutIds = [];
23
24
  /**
24
25
  * Sleep for a specified amount of time in milliseconds.
25
26
  * The sleep function will pause the execution of the current async function
@@ -33,11 +34,17 @@ import { InterruptError } from '../error/index.js';
33
34
  interruptResolve = resolve;
34
35
  this.interrupts.push(resolve);
35
36
  });
36
- const timeoutPromise = new Promise((resolve)=>setTimeout(()=>resolve(false), ms));
37
+ let timeoutId;
38
+ const timeoutPromise = new Promise((resolve)=>{
39
+ timeoutId = setTimeout(()=>resolve(false), ms);
40
+ this.timeoutIds.push(timeoutId);
41
+ });
37
42
  const shouldThrow = await Promise.race([
38
43
  interruptPromise,
39
44
  timeoutPromise
40
45
  ]);
46
+ clearTimeout(timeoutId);
47
+ this.timeoutIds = this.timeoutIds.filter((id)=>id !== timeoutId);
41
48
  this.interrupts = this.interrupts.filter((res)=>res !== interruptResolve);
42
49
  if (shouldThrow) {
43
50
  throw new InterruptError('Interrupted.');
@@ -52,6 +59,8 @@ import { InterruptError } from '../error/index.js';
52
59
  */ interrupt(sleepShouldThrow = false) {
53
60
  this.interrupts.forEach((resolve)=>resolve(sleepShouldThrow));
54
61
  this.interrupts = [];
62
+ this.timeoutIds.forEach((id)=>clearTimeout(id));
63
+ this.timeoutIds = [];
55
64
  }
56
65
  }
57
66
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/foundation",
3
- "version": "0.0.1-commit.c949de6bc",
3
+ "version": "0.0.1-commit.cbf2c2d5d",
4
4
  "type": "module",
5
5
  "main": "./dest/index.js",
6
6
  "types": "./dest/index.d.ts",
@@ -61,6 +61,7 @@
61
61
  "./eth-address": "./dest/eth-address/index.js",
62
62
  "./eth-signature": "./dest/eth-signature/index.js",
63
63
  "./queue": "./dest/queue/index.js",
64
+ "./fifo": "./dest/fifo/index.js",
64
65
  "./fs": "./dest/fs/index.js",
65
66
  "./buffer": "./dest/buffer/index.js",
66
67
  "./json-rpc": "./dest/json-rpc/index.js",
@@ -144,7 +145,7 @@
144
145
  "testEnvironment": "../../foundation/src/jest/env.mjs"
145
146
  },
146
147
  "dependencies": {
147
- "@aztec/bb.js": "0.0.1-commit.c949de6bc",
148
+ "@aztec/bb.js": "0.0.1-commit.cbf2c2d5d",
148
149
  "@koa/cors": "^5.0.0",
149
150
  "@noble/curves": "=1.7.0",
150
151
  "@noble/hashes": "^1.6.1",
@@ -73,6 +73,11 @@ SlotNumber.isValid = function (value: unknown): value is SlotNumber {
73
73
  return typeof value === 'number' && Number.isInteger(value) && value >= 0;
74
74
  };
75
75
 
76
+ /** Increments a SlotNumber by a given value. */
77
+ SlotNumber.add = function (sn: SlotNumber, increment: number): SlotNumber {
78
+ return SlotNumber(sn + increment);
79
+ };
80
+
76
81
  /**
77
82
  * The zero slot value.
78
83
  */
@@ -1,2 +1,3 @@
1
1
  export * from './buffer32.js';
2
2
  export * from './buffer16.js';
3
+ export * from './utils.js';
@@ -0,0 +1,8 @@
1
+ /** Returns the number of bytes in the buffer, excluding any trailing zero bytes. */
2
+ export function trimmedBytesLength(buf: Uint8Array): number {
3
+ let end = buf.length;
4
+ while (end > 0 && buf[end - 1] === 0) {
5
+ end--;
6
+ }
7
+ return end;
8
+ }
@@ -23,6 +23,8 @@ export type EnvVar =
23
23
  | 'BB_WORKING_DIRECTORY'
24
24
  | 'BB_NUM_IVC_VERIFIERS'
25
25
  | 'BB_IVC_CONCURRENCY'
26
+ | 'BB_CHONK_VERIFY_MAX_BATCH'
27
+ | 'BB_CHONK_VERIFY_BATCH_CONCURRENCY'
26
28
  | 'BOOTSTRAP_NODES'
27
29
  | 'BLOB_ARCHIVE_API_URL'
28
30
  | 'BLOB_FILE_STORE_URLS'
@@ -62,6 +64,7 @@ export type EnvVar =
62
64
  | 'BLOB_SINK_MAP_SIZE_KB'
63
65
  | 'P2P_STORE_MAP_SIZE_KB'
64
66
  | 'PROVER_BROKER_STORE_MAP_SIZE_KB'
67
+ | 'SIGNING_PROTECTION_MAP_SIZE_KB'
65
68
  | 'WS_DB_MAP_SIZE_KB'
66
69
  | 'ARCHIVE_TREE_MAP_SIZE_KB'
67
70
  | 'NULLIFIER_TREE_MAP_SIZE_KB'
@@ -80,6 +83,7 @@ export type EnvVar =
80
83
  | 'KEY_STORE_DIRECTORY'
81
84
  | 'L1_CHAIN_ID'
82
85
  | 'L1_CONSENSUS_HOST_URLS'
86
+ | 'ETHEREUM_HTTP_TIMEOUT_MS'
83
87
  | 'L1_CONSENSUS_HOST_API_KEYS'
84
88
  | 'L1_CONSENSUS_HOST_API_KEY_HEADERS'
85
89
  | 'L1_TX_FAILED_STORE'
@@ -129,6 +133,7 @@ export type EnvVar =
129
133
  | 'P2P_L2_QUEUE_SIZE'
130
134
  | 'P2P_MAX_PEERS'
131
135
  | 'P2P_PEER_CHECK_INTERVAL_MS'
136
+ | 'P2P_PEER_FAILED_BAN_TIME_MS'
132
137
  | 'P2P_PEER_PENALTY_VALUES'
133
138
  | 'P2P_QUERY_FOR_IP'
134
139
  | 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS'
@@ -152,6 +157,7 @@ export type EnvVar =
152
157
  | 'P2P_DROP_TX_CHANCE'
153
158
  | 'P2P_TX_POOL_DELETE_TXS_AFTER_REORG'
154
159
  | 'P2P_MIN_TX_POOL_AGE_MS'
160
+ | 'P2P_RPC_PRICE_BUMP_PERCENTAGE'
155
161
  | 'DEBUG_P2P_INSTRUMENT_MESSAGES'
156
162
  | 'PEER_ID_PRIVATE_KEY'
157
163
  | 'PEER_ID_PRIVATE_KEY_PATH'
@@ -167,6 +173,7 @@ export type EnvVar =
167
173
  | 'PROVER_BROKER_MAX_EPOCHS_TO_KEEP_RESULTS_FOR'
168
174
  | 'PROVER_BROKER_DEBUG_REPLAY_ENABLED'
169
175
  | 'PROVER_CANCEL_JOBS_ON_STOP'
176
+ | 'PROVER_ENQUEUE_CONCURRENCY'
170
177
  | 'PROVER_COORDINATION_NODE_URLS'
171
178
  | 'PROVER_PROOF_STORE'
172
179
  | 'PROVER_FAILED_PROOF_STORE'
@@ -200,17 +207,22 @@ export type EnvVar =
200
207
  | 'SENTINEL_ENABLED'
201
208
  | 'SENTINEL_HISTORY_LENGTH_IN_EPOCHS'
202
209
  | 'SENTINEL_HISTORIC_PROVEN_PERFORMANCE_LENGTH_IN_EPOCHS'
203
- | 'SEQ_MAX_BLOCK_SIZE_IN_BYTES'
210
+ | 'SEQ_ENABLE_PROPOSER_PIPELINING'
204
211
  | 'SEQ_MAX_TX_PER_BLOCK'
212
+ | 'SEQ_MAX_TX_PER_CHECKPOINT'
205
213
  | 'SEQ_MIN_TX_PER_BLOCK'
206
214
  | 'SEQ_PUBLISH_TXS_WITH_PROPOSALS'
207
215
  | 'SEQ_MAX_DA_BLOCK_GAS'
208
216
  | 'SEQ_MAX_L2_BLOCK_GAS'
217
+ | 'SEQ_PER_BLOCK_ALLOCATION_MULTIPLIER'
218
+ | 'SEQ_REDISTRIBUTE_CHECKPOINT_BUDGET'
209
219
  | 'SEQ_PUBLISHER_PRIVATE_KEY'
210
220
  | 'SEQ_PUBLISHER_PRIVATE_KEYS'
211
221
  | 'SEQ_PUBLISHER_ADDRESSES'
212
222
  | 'SEQ_PUBLISHER_ALLOW_INVALID_STATES'
213
223
  | 'SEQ_PUBLISHER_FORWARDER_ADDRESS'
224
+ | 'PUBLISHER_FUNDING_THRESHOLD'
225
+ | 'PUBLISHER_FUNDING_AMOUNT'
214
226
  | 'SEQ_POLLING_INTERVAL_MS'
215
227
  | 'SEQ_ENFORCE_TIME_TABLE'
216
228
  | 'SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT'
@@ -247,6 +259,7 @@ export type EnvVar =
247
259
  | 'TELEMETRY'
248
260
  | 'TEST_ACCOUNTS'
249
261
  | 'SPONSORED_FPC'
262
+ | 'PREFUND_ADDRESSES'
250
263
  | 'TX_COLLECTION_FAST_NODES_TIMEOUT_BEFORE_REQ_RESP_MS'
251
264
  | 'TX_COLLECTION_SLOW_NODES_INTERVAL_MS'
252
265
  | 'TX_COLLECTION_SLOW_REQ_RESP_INTERVAL_MS'
@@ -276,6 +289,10 @@ export type EnvVar =
276
289
  | 'TRANSACTIONS_DISABLED'
277
290
  | 'VALIDATOR_ATTESTATIONS_POLLING_INTERVAL_MS'
278
291
  | 'VALIDATOR_DISABLED'
292
+ | 'VALIDATOR_MAX_DA_BLOCK_GAS'
293
+ | 'VALIDATOR_MAX_L2_BLOCK_GAS'
294
+ | 'VALIDATOR_MAX_TX_PER_BLOCK'
295
+ | 'VALIDATOR_MAX_TX_PER_CHECKPOINT'
279
296
  | 'VALIDATOR_PRIVATE_KEYS'
280
297
  | 'VALIDATOR_PRIVATE_KEY'
281
298
  | 'VALIDATOR_REEXECUTE'
@@ -340,9 +357,8 @@ export type EnvVar =
340
357
  | 'K8S_POD_NAME'
341
358
  | 'K8S_POD_UID'
342
359
  | 'K8S_NAMESPACE_NAME'
360
+ | 'ENABLE_VERSION_CHECK'
343
361
  | 'VALIDATOR_REEXECUTE_DEADLINE_MS'
344
- | 'AUTO_UPDATE'
345
- | 'AUTO_UPDATE_URL'
346
362
  | 'WEB3_SIGNER_URL'
347
363
  | 'SKIP_ARCHIVER_INITIAL_SYNC'
348
364
  | 'BLOB_ALLOW_EMPTY_SOURCES'
@@ -177,6 +177,21 @@ export function bigintConfigHelper(defaultVal?: bigint): Pick<ConfigMapping, 'pa
177
177
  if (val === '') {
178
178
  return defaultVal;
179
179
  }
180
+ // Handle scientific notation (e.g. "1e+23", "2E23") which BigInt() doesn't accept directly.
181
+ // We parse it losslessly using bigint arithmetic instead of going through float64.
182
+ if (/[eE]/.test(val)) {
183
+ const match = val.match(/^(-?\d+(?:\.(\d+))?)[eE]([+-]?\d+)$/);
184
+ if (!match) {
185
+ throw new Error(`Cannot convert '${val}' to a BigInt`);
186
+ }
187
+ const digits = match[1].replace('.', '');
188
+ const decimalPlaces = match[2]?.length ?? 0;
189
+ const exponent = parseInt(match[3], 10) - decimalPlaces;
190
+ if (exponent < 0) {
191
+ throw new Error(`Cannot convert '${val}' to a BigInt: result is not an integer`);
192
+ }
193
+ return BigInt(digits) * 10n ** BigInt(exponent);
194
+ }
180
195
  return BigInt(val);
181
196
  },
182
197
  defaultValue: defaultVal,
@@ -5,10 +5,13 @@ export const NetworkConfigSchema = z
5
5
  bootnodes: z.array(z.string()),
6
6
  snapshots: z.array(z.string()),
7
7
  blobFileStoreUrls: z.array(z.string()).optional(),
8
+ txCollectionFileStoreUrls: z.array(z.string()).optional(),
8
9
  registryAddress: z.string(),
9
10
  feeAssetHandlerAddress: z.string().optional(),
10
11
  l1ChainId: z.number(),
11
12
  blockDurationMs: z.number().positive().optional(),
13
+ txPublicSetupAllowListExtend: z.string().optional(),
14
+ nodeVersion: z.string().optional(),
12
15
  })
13
16
  .passthrough(); // Allow additional unknown fields to pass through
14
17
 
@@ -210,3 +210,35 @@ export function recoverPublicKey(hash: Buffer32, signature: Signature, opts: Rec
210
210
  const publicKey = sig.recoverPublicKey(hash.buffer).toHex(false);
211
211
  return Buffer.from(publicKey, 'hex');
212
212
  }
213
+
214
+ /** Arbitrary hash used for testing signature recoverability. */
215
+ const PROBE_HASH = Buffer32.fromBuffer(keccak256(Buffer.from('signature-recoverability-probe')));
216
+
217
+ /**
218
+ * Generates a random valid ECDSA signature that is recoverable to some address.
219
+ * Since Signature.random() produces real signatures via secp256k1 signing, the result is always
220
+ * recoverable, but we verify defensively by checking tryRecoverAddress.
221
+ */
222
+ export function generateRecoverableSignature(): Signature {
223
+ for (let i = 0; i < 100; i++) {
224
+ const sig = Signature.random();
225
+ if (tryRecoverAddress(PROBE_HASH, sig) !== undefined) {
226
+ return sig;
227
+ }
228
+ }
229
+ throw new Secp256k1Error('Failed to generate a recoverable signature after 100 attempts');
230
+ }
231
+
232
+ /**
233
+ * Generates a random signature where ECDSA address recovery fails.
234
+ * Uses random r/s values (not from real signing) so that r is unlikely to be a valid secp256k1 x-coordinate.
235
+ */
236
+ export function generateUnrecoverableSignature(): Signature {
237
+ for (let i = 0; i < 100; i++) {
238
+ const sig = new Signature(Buffer32.random(), Buffer32.random(), 27);
239
+ if (tryRecoverAddress(PROBE_HASH, sig) === undefined) {
240
+ return sig;
241
+ }
242
+ }
243
+ throw new Secp256k1Error('Failed to generate an unrecoverable signature after 100 attempts');
244
+ }
@@ -1,8 +1,10 @@
1
1
  import { Buffer32 } from '@aztec/foundation/buffer';
2
2
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
3
 
4
+ import { secp256k1 } from '@noble/curves/secp256k1';
4
5
  import { z } from 'zod';
5
6
 
7
+ import { randomBytes } from '../crypto/random/index.js';
6
8
  import { hasHexPrefix, hexToBuffer } from '../string/index.js';
7
9
 
8
10
  /**
@@ -77,8 +79,12 @@ export class Signature {
77
79
  return new Signature(Buffer32.fromBuffer(hexToBuffer(sig.r)), Buffer32.fromBuffer(hexToBuffer(sig.s)), sig.yParity);
78
80
  }
79
81
 
82
+ /** Generates a random valid ECDSA signature with a low s-value by signing a random message with a random key. */
80
83
  static random(): Signature {
81
- return new Signature(Buffer32.random(), Buffer32.random(), 1);
84
+ const privateKey = randomBytes(32);
85
+ const message = randomBytes(32);
86
+ const { r, s, recovery } = secp256k1.sign(message, privateKey);
87
+ return new Signature(Buffer32.fromBigInt(r), Buffer32.fromBigInt(s), recovery ? 28 : 27);
82
88
  }
83
89
 
84
90
  static empty(): Signature {
@@ -0,0 +1,98 @@
1
+ import EventEmitter from 'node:events';
2
+ import * as fs from 'node:fs';
3
+ import type { Readable } from 'node:stream';
4
+
5
+ /**
6
+ * Events emitted by FifoFrameReader.
7
+ *
8
+ * - `frame`: A complete frame payload (without the 4-byte length header).
9
+ * - `error`: An unrecoverable error (invalid frame length, stream error).
10
+ * - `end`: The underlying stream has ended.
11
+ */
12
+ export interface FifoFrameReaderEvents {
13
+ frame: [payload: Buffer];
14
+ error: [error: Error];
15
+ end: [];
16
+ }
17
+
18
+ /**
19
+ * Reads length-delimited frames from a readable stream (typically a named FIFO pipe).
20
+ *
21
+ * Wire format: `[4-byte big-endian payload length][payload bytes]`
22
+ *
23
+ * Emits a `frame` event for each complete frame with the raw payload buffer.
24
+ * Callers are responsible for deserializing the payload (e.g., via msgpack).
25
+ *
26
+ * On encountering an invalid payload length (0 or >maxPayloadSize), emits `error`
27
+ * and destroys the stream.
28
+ */
29
+ export class FifoFrameReader extends EventEmitter<FifoFrameReaderEvents> {
30
+ private stream: Readable | null = null;
31
+ private pendingBuf: Buffer = Buffer.alloc(0);
32
+ private running = false;
33
+
34
+ constructor(private readonly maxPayloadSize = 10 * 1024 * 1024) {
35
+ super();
36
+ }
37
+
38
+ /** Open a FIFO at the given path and start reading frames. */
39
+ start(fifoPath: string, highWaterMark = 64 * 1024): void {
40
+ this.startFromStream(fs.createReadStream(fifoPath, { highWaterMark }));
41
+ }
42
+
43
+ /** Start reading frames from an existing readable stream. */
44
+ startFromStream(stream: Readable): void {
45
+ if (this.running) {
46
+ throw new Error('FifoFrameReader is already running');
47
+ }
48
+ this.running = true;
49
+ this.pendingBuf = Buffer.alloc(0);
50
+ this.stream = stream;
51
+
52
+ stream.on('data', (chunk: Buffer | string) => {
53
+ const buf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
54
+ this.pendingBuf = this.pendingBuf.length > 0 ? Buffer.concat([this.pendingBuf, buf]) : buf;
55
+ this.drainFrames();
56
+ });
57
+
58
+ stream.on('error', (err: Error) => {
59
+ if (this.running) {
60
+ this.emit('error', err);
61
+ }
62
+ });
63
+
64
+ stream.on('end', () => {
65
+ this.emit('end');
66
+ });
67
+ }
68
+
69
+ /** Stop reading and destroy the underlying stream. */
70
+ stop(): void {
71
+ this.running = false;
72
+ if (this.stream) {
73
+ this.stream.destroy();
74
+ this.stream = null;
75
+ }
76
+ }
77
+
78
+ /** Parse complete frames out of the pending buffer. */
79
+ private drainFrames(): void {
80
+ while (this.pendingBuf.length >= 4) {
81
+ const payloadLen = this.pendingBuf.readUInt32BE(0);
82
+ if (payloadLen === 0 || payloadLen > this.maxPayloadSize) {
83
+ this.emit('error', new Error(`Invalid payload length: ${payloadLen}`));
84
+ this.stop();
85
+ return;
86
+ }
87
+
88
+ const frameLen = 4 + payloadLen;
89
+ if (this.pendingBuf.length < frameLen) {
90
+ break; // Wait for more data
91
+ }
92
+
93
+ const payload = this.pendingBuf.subarray(4, frameLen);
94
+ this.pendingBuf = this.pendingBuf.subarray(frameLen);
95
+ this.emit('frame', Buffer.from(payload));
96
+ }
97
+ }
98
+ }
@@ -0,0 +1 @@
1
+ export { FifoFrameReader } from './fifo_frame_reader.js';
@@ -10,3 +10,30 @@ import pretty from 'pino-pretty';
10
10
  if (!parseBooleanEnv(process.env.LOG_JSON)) {
11
11
  overwriteLoggingStream(pretty(pinoPrettyOpts));
12
12
  }
13
+
14
+ // Prevent timers from keeping the process alive after tests complete.
15
+ // Libraries like viem create internal polling loops (via setTimeout) that
16
+ // reschedule themselves indefinitely. In test environments we never want a
17
+ // timer to be the reason the process can't exit. We also unref stdout/stderr
18
+ // which, when they are pipes (as in Jest workers), remain ref'd by default.
19
+ {
20
+ const origSetTimeout = globalThis.setTimeout;
21
+ const origSetInterval = globalThis.setInterval;
22
+ globalThis.setTimeout = function unrefSetTimeout(...args) {
23
+ const id = origSetTimeout.apply(this, args);
24
+ id?.unref?.();
25
+ return id;
26
+ };
27
+ // Preserve .unref, .__promisify__ etc. that may exist on the original
28
+ Object.setPrototypeOf(globalThis.setTimeout, origSetTimeout);
29
+
30
+ globalThis.setInterval = function unrefSetInterval(...args) {
31
+ const id = origSetInterval.apply(this, args);
32
+ id?.unref?.();
33
+ return id;
34
+ };
35
+ Object.setPrototypeOf(globalThis.setInterval, origSetInterval);
36
+
37
+ if (process.stdout?._handle?.unref) process.stdout._handle.unref();
38
+ if (process.stderr?._handle?.unref) process.stderr._handle.unref();
39
+ }
@@ -11,6 +11,9 @@ export function convertBigintsToStrings(obj: unknown): unknown {
11
11
  }
12
12
 
13
13
  if (obj !== null && typeof obj === 'object') {
14
+ if (typeof (obj as any).toJSON === 'function') {
15
+ return convertBigintsToStrings((obj as any).toJSON());
16
+ }
14
17
  const result: Record<string, unknown> = {};
15
18
  for (const key in obj) {
16
19
  result[key] = convertBigintsToStrings((obj as Record<string, unknown>)[key]);
@@ -22,6 +22,7 @@ import { InterruptError } from '../error/index.js';
22
22
  */
23
23
  export class InterruptibleSleep {
24
24
  private interrupts: Array<(shouldThrow: boolean) => void> = [];
25
+ private timeoutIds: NodeJS.Timeout[] = [];
25
26
 
26
27
  /**
27
28
  * Sleep for a specified amount of time in milliseconds.
@@ -38,9 +39,15 @@ export class InterruptibleSleep {
38
39
  this.interrupts.push(resolve);
39
40
  });
40
41
 
41
- const timeoutPromise = new Promise<boolean>(resolve => setTimeout(() => resolve(false), ms));
42
+ let timeoutId: NodeJS.Timeout;
43
+ const timeoutPromise = new Promise<boolean>(resolve => {
44
+ timeoutId = setTimeout(() => resolve(false), ms);
45
+ this.timeoutIds.push(timeoutId);
46
+ });
42
47
  const shouldThrow = await Promise.race([interruptPromise, timeoutPromise]);
43
48
 
49
+ clearTimeout(timeoutId!);
50
+ this.timeoutIds = this.timeoutIds.filter(id => id !== timeoutId);
44
51
  this.interrupts = this.interrupts.filter(res => res !== interruptResolve);
45
52
 
46
53
  if (shouldThrow) {
@@ -58,6 +65,8 @@ export class InterruptibleSleep {
58
65
  public interrupt(sleepShouldThrow = false): void {
59
66
  this.interrupts.forEach(resolve => resolve(sleepShouldThrow));
60
67
  this.interrupts = [];
68
+ this.timeoutIds.forEach(id => clearTimeout(id));
69
+ this.timeoutIds = [];
61
70
  }
62
71
  }
63
72