@aztec/sequencer-client 0.0.1-commit.e61ad554 → 0.0.1-commit.ec5f612

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 (74) hide show
  1. package/dest/client/sequencer-client.d.ts +12 -7
  2. package/dest/client/sequencer-client.d.ts.map +1 -1
  3. package/dest/client/sequencer-client.js +15 -4
  4. package/dest/config.d.ts +3 -4
  5. package/dest/config.d.ts.map +1 -1
  6. package/dest/config.js +17 -12
  7. package/dest/global_variable_builder/global_builder.d.ts +2 -4
  8. package/dest/global_variable_builder/global_builder.d.ts.map +1 -1
  9. package/dest/publisher/config.d.ts +35 -17
  10. package/dest/publisher/config.d.ts.map +1 -1
  11. package/dest/publisher/config.js +106 -42
  12. package/dest/publisher/index.d.ts +2 -1
  13. package/dest/publisher/index.d.ts.map +1 -1
  14. package/dest/publisher/l1_tx_failed_store/factory.d.ts +11 -0
  15. package/dest/publisher/l1_tx_failed_store/factory.d.ts.map +1 -0
  16. package/dest/publisher/l1_tx_failed_store/factory.js +22 -0
  17. package/dest/publisher/l1_tx_failed_store/failed_tx_store.d.ts +59 -0
  18. package/dest/publisher/l1_tx_failed_store/failed_tx_store.d.ts.map +1 -0
  19. package/dest/publisher/l1_tx_failed_store/failed_tx_store.js +1 -0
  20. package/dest/publisher/l1_tx_failed_store/file_store_failed_tx_store.d.ts +15 -0
  21. package/dest/publisher/l1_tx_failed_store/file_store_failed_tx_store.d.ts.map +1 -0
  22. package/dest/publisher/l1_tx_failed_store/file_store_failed_tx_store.js +34 -0
  23. package/dest/publisher/l1_tx_failed_store/index.d.ts +4 -0
  24. package/dest/publisher/l1_tx_failed_store/index.d.ts.map +1 -0
  25. package/dest/publisher/l1_tx_failed_store/index.js +2 -0
  26. package/dest/publisher/sequencer-publisher-factory.d.ts +11 -3
  27. package/dest/publisher/sequencer-publisher-factory.d.ts.map +1 -1
  28. package/dest/publisher/sequencer-publisher-factory.js +13 -2
  29. package/dest/publisher/sequencer-publisher-metrics.d.ts +1 -1
  30. package/dest/publisher/sequencer-publisher-metrics.d.ts.map +1 -1
  31. package/dest/publisher/sequencer-publisher-metrics.js +12 -4
  32. package/dest/publisher/sequencer-publisher.d.ts +22 -8
  33. package/dest/publisher/sequencer-publisher.d.ts.map +1 -1
  34. package/dest/publisher/sequencer-publisher.js +297 -47
  35. package/dest/sequencer/checkpoint_proposal_job.d.ts +32 -9
  36. package/dest/sequencer/checkpoint_proposal_job.d.ts.map +1 -1
  37. package/dest/sequencer/checkpoint_proposal_job.js +113 -59
  38. package/dest/sequencer/metrics.d.ts +17 -5
  39. package/dest/sequencer/metrics.d.ts.map +1 -1
  40. package/dest/sequencer/metrics.js +111 -30
  41. package/dest/sequencer/sequencer.d.ts +17 -7
  42. package/dest/sequencer/sequencer.d.ts.map +1 -1
  43. package/dest/sequencer/sequencer.js +30 -27
  44. package/dest/sequencer/timetable.d.ts +1 -4
  45. package/dest/sequencer/timetable.d.ts.map +1 -1
  46. package/dest/sequencer/timetable.js +2 -5
  47. package/dest/test/index.d.ts +3 -5
  48. package/dest/test/index.d.ts.map +1 -1
  49. package/dest/test/mock_checkpoint_builder.d.ts +7 -5
  50. package/dest/test/mock_checkpoint_builder.d.ts.map +1 -1
  51. package/dest/test/mock_checkpoint_builder.js +6 -6
  52. package/dest/test/utils.d.ts +3 -3
  53. package/dest/test/utils.d.ts.map +1 -1
  54. package/dest/test/utils.js +5 -4
  55. package/package.json +28 -28
  56. package/src/client/sequencer-client.ts +25 -7
  57. package/src/config.ts +26 -19
  58. package/src/global_variable_builder/global_builder.ts +1 -1
  59. package/src/publisher/config.ts +121 -43
  60. package/src/publisher/index.ts +3 -0
  61. package/src/publisher/l1_tx_failed_store/factory.ts +32 -0
  62. package/src/publisher/l1_tx_failed_store/failed_tx_store.ts +55 -0
  63. package/src/publisher/l1_tx_failed_store/file_store_failed_tx_store.ts +46 -0
  64. package/src/publisher/l1_tx_failed_store/index.ts +3 -0
  65. package/src/publisher/sequencer-publisher-factory.ts +23 -6
  66. package/src/publisher/sequencer-publisher-metrics.ts +7 -3
  67. package/src/publisher/sequencer-publisher.ts +274 -53
  68. package/src/sequencer/checkpoint_proposal_job.ts +157 -76
  69. package/src/sequencer/metrics.ts +124 -32
  70. package/src/sequencer/sequencer.ts +40 -32
  71. package/src/sequencer/timetable.ts +7 -6
  72. package/src/test/index.ts +2 -4
  73. package/src/test/mock_checkpoint_builder.ts +14 -5
  74. package/src/test/utils.ts +5 -2
@@ -1,6 +1,6 @@
1
1
  import type { BlobClientInterface } from '@aztec/blob-client/client';
2
2
  import { EpochCache } from '@aztec/epoch-cache';
3
- import { L1TxUtilsWithBlobs } from '@aztec/ethereum/l1-tx-utils-with-blobs';
3
+ import { type Delayer, L1TxUtils } from '@aztec/ethereum/l1-tx-utils';
4
4
  import { PublisherManager } from '@aztec/ethereum/publisher-manager';
5
5
  import { EthAddress } from '@aztec/foundation/eth-address';
6
6
  import type { DateProvider } from '@aztec/foundation/timer';
@@ -11,20 +11,21 @@ import type { L2BlockSink, L2BlockSource } from '@aztec/stdlib/block';
11
11
  import type { ValidatorClientFullConfig, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
12
12
  import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
13
13
  import { L1Metrics, type TelemetryClient } from '@aztec/telemetry-client';
14
- import { FullNodeCheckpointsBuilder, type ValidatorClient } from '@aztec/validator-client';
15
- import type { SequencerClientConfig } from '../config.js';
14
+ import { FullNodeCheckpointsBuilder, NodeKeystoreAdapter, type ValidatorClient } from '@aztec/validator-client';
15
+ import { type SequencerClientConfig } from '../config.js';
16
16
  import { SequencerPublisherFactory } from '../publisher/sequencer-publisher-factory.js';
17
17
  import { Sequencer, type SequencerConfig } from '../sequencer/index.js';
18
18
  /**
19
19
  * Encapsulates the full sequencer and publisher.
20
20
  */
21
21
  export declare class SequencerClient {
22
- protected publisherManager: PublisherManager<L1TxUtilsWithBlobs>;
22
+ protected publisherManager: PublisherManager<L1TxUtils>;
23
23
  protected sequencer: Sequencer;
24
24
  protected checkpointsBuilder: FullNodeCheckpointsBuilder;
25
25
  protected validatorClient?: ValidatorClient | undefined;
26
26
  private l1Metrics?;
27
- constructor(publisherManager: PublisherManager<L1TxUtilsWithBlobs>, sequencer: Sequencer, checkpointsBuilder: FullNodeCheckpointsBuilder, validatorClient?: ValidatorClient | undefined, l1Metrics?: L1Metrics | undefined);
27
+ private delayer_?;
28
+ constructor(publisherManager: PublisherManager<L1TxUtils>, sequencer: Sequencer, checkpointsBuilder: FullNodeCheckpointsBuilder, validatorClient?: ValidatorClient | undefined, l1Metrics?: L1Metrics | undefined, delayer_?: Delayer | undefined);
28
29
  /**
29
30
  * Initializes a new instance.
30
31
  * @param config - Configuration for the sequencer, publisher, and L1 tx sender.
@@ -50,7 +51,7 @@ export declare class SequencerClient {
50
51
  blobClient: BlobClientInterface;
51
52
  dateProvider: DateProvider;
52
53
  epochCache?: EpochCache;
53
- l1TxUtils: L1TxUtilsWithBlobs[];
54
+ l1TxUtils: L1TxUtils[];
54
55
  nodeKeyStore: KeystoreManager;
55
56
  }): Promise<SequencerClient>;
56
57
  /**
@@ -65,7 +66,11 @@ export declare class SequencerClient {
65
66
  */
66
67
  stop(): Promise<void>;
67
68
  getSequencer(): Sequencer;
69
+ /** Updates the publisher factory's node keystore adapter after a keystore reload. */
70
+ updatePublisherNodeKeyStore(adapter: NodeKeystoreAdapter): void;
71
+ /** Returns the shared tx delayer for sequencer L1 txs, if enabled. Test-only. */
72
+ getDelayer(): Delayer | undefined;
68
73
  get validatorAddresses(): EthAddress[] | undefined;
69
74
  get maxL2BlockGas(): number | undefined;
70
75
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9zZXF1ZW5jZXItY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSWhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6RyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQXVCLEtBQUssZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEgsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhFOztHQUVHO0FBQ0gscUJBQWEsZUFBZTtJQUV4QixTQUFTLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUM7SUFDaEUsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTO0lBQzlCLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSwwQkFBMEI7SUFDeEQsU0FBUyxDQUFDLGVBQWUsQ0FBQztJQUMxQixPQUFPLENBQUMsU0FBUyxDQUFDO0lBTHBCLFlBQ1ksZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsRUFDdEQsU0FBUyxFQUFFLFNBQVMsRUFDcEIsa0JBQWtCLEVBQUUsMEJBQTBCLEVBQzlDLGVBQWUsQ0FBQyw2QkFBaUIsRUFDbkMsU0FBUyxDQUFDLHVCQUFXLEVBQzNCO0lBRUo7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxPQUFvQixHQUFHLENBQ3JCLE1BQU0sRUFBRSxxQkFBcUIsRUFDN0IsSUFBSSxFQUFFO1FBQ0osZUFBZSxFQUFFLGVBQWUsQ0FBQztRQUNqQyxTQUFTLEVBQUUsR0FBRyxDQUFDO1FBQ2Ysc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7UUFDL0MsYUFBYSxFQUFFLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztRQUNsRCxrQkFBa0IsRUFBRSwwQkFBMEIsQ0FBQztRQUMvQyxhQUFhLEVBQUUsYUFBYSxHQUFHLFdBQVcsQ0FBQztRQUMzQyxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQztRQUN6QyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQzNCLGdCQUFnQixDQUFDLEVBQUUseUJBQXlCLENBQUM7UUFDN0MsVUFBVSxFQUFFLG1CQUFtQixDQUFDO1FBQ2hDLFlBQVksRUFBRSxZQUFZLENBQUM7UUFDM0IsVUFBVSxDQUFDLEVBQUUsVUFBVSxDQUFDO1FBQ3hCLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1FBQ2hDLFlBQVksRUFBRSxlQUFlLENBQUM7S0FDL0IsNEJBOEdGO0lBRUQ7OztPQUdHO0lBQ0ksWUFBWSxDQUFDLE1BQU0sRUFBRSxlQUFlLEdBQUcsT0FBTyxDQUFDLHlCQUF5QixDQUFDLFFBSS9FO0lBRUQsNEJBQTRCO0lBQ2YsS0FBSyxrQkFLakI7SUFFRDs7T0FFRztJQUNVLElBQUksa0JBS2hCO0lBRU0sWUFBWSxJQUFJLFNBQVMsQ0FFL0I7SUFFRCxJQUFJLGtCQUFrQixJQUFJLFVBQVUsRUFBRSxHQUFHLFNBQVMsQ0FFakQ7SUFFRCxJQUFJLGFBQWEsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUV0QztDQUNGIn0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9zZXF1ZW5jZXItY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSWhELE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekcsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLG1CQUFtQixFQUFFLEtBQUssZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEgsT0FBTyxFQUFFLEtBQUsscUJBQXFCLEVBQXlDLE1BQU0sY0FBYyxDQUFDO0FBRWpHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RTs7R0FFRztBQUNILHFCQUFhLGVBQWU7SUFFeEIsU0FBUyxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQUN2RCxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVM7SUFDOUIsU0FBUyxDQUFDLGtCQUFrQixFQUFFLDBCQUEwQjtJQUN4RCxTQUFTLENBQUMsZUFBZSxDQUFDO0lBQzFCLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDbEIsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQU5uQixZQUNZLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUM3QyxTQUFTLEVBQUUsU0FBUyxFQUNwQixrQkFBa0IsRUFBRSwwQkFBMEIsRUFDOUMsZUFBZSxDQUFDLDZCQUFpQixFQUNuQyxTQUFTLENBQUMsdUJBQVcsRUFDckIsUUFBUSxDQUFDLHFCQUFTLEVBQ3hCO0lBRUo7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxPQUFvQixHQUFHLENBQ3JCLE1BQU0sRUFBRSxxQkFBcUIsRUFDN0IsSUFBSSxFQUFFO1FBQ0osZUFBZSxFQUFFLGVBQWUsQ0FBQztRQUNqQyxTQUFTLEVBQUUsR0FBRyxDQUFDO1FBQ2Ysc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7UUFDL0MsYUFBYSxFQUFFLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztRQUNsRCxrQkFBa0IsRUFBRSwwQkFBMEIsQ0FBQztRQUMvQyxhQUFhLEVBQUUsYUFBYSxHQUFHLFdBQVcsQ0FBQztRQUMzQyxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQztRQUN6QyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQzNCLGdCQUFnQixDQUFDLEVBQUUseUJBQXlCLENBQUM7UUFDN0MsVUFBVSxFQUFFLG1CQUFtQixDQUFDO1FBQ2hDLFlBQVksRUFBRSxZQUFZLENBQUM7UUFDM0IsVUFBVSxDQUFDLEVBQUUsVUFBVSxDQUFDO1FBQ3hCLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUN2QixZQUFZLEVBQUUsZUFBZSxDQUFDO0tBQy9CLDRCQXFIRjtJQUVEOzs7T0FHRztJQUNJLFlBQVksQ0FBQyxNQUFNLEVBQUUsZUFBZSxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxRQUkvRTtJQUVELDRCQUE0QjtJQUNmLEtBQUssa0JBS2pCO0lBRUQ7O09BRUc7SUFDVSxJQUFJLGtCQUtoQjtJQUVNLFlBQVksSUFBSSxTQUFTLENBRS9CO0lBRUQscUZBQXFGO0lBQzlFLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxtQkFBbUIsR0FBRyxJQUFJLENBRXJFO0lBRUQsaUZBQWlGO0lBQ2pGLFVBQVUsSUFBSSxPQUFPLEdBQUcsU0FBUyxDQUVoQztJQUVELElBQUksa0JBQWtCLElBQUksVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUVqRDtJQUVELElBQUksYUFBYSxJQUFJLE1BQU0sR0FBRyxTQUFTLENBRXRDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer-client.d.ts","sourceRoot":"","sources":["../../src/client/sequencer-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAuB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEhH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExE;;GAEG;AACH,qBAAa,eAAe;IAExB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC;IAChE,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,kBAAkB,EAAE,0BAA0B;IACxD,SAAS,CAAC,eAAe,CAAC;IAC1B,OAAO,CAAC,SAAS,CAAC;IALpB,YACY,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EACtD,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,0BAA0B,EAC9C,eAAe,CAAC,6BAAiB,EACnC,SAAS,CAAC,uBAAW,EAC3B;IAEJ;;;;;;;;;;;OAWG;IACH,OAAoB,GAAG,CACrB,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE;QACJ,eAAe,EAAE,eAAe,CAAC;QACjC,SAAS,EAAE,GAAG,CAAC;QACf,sBAAsB,EAAE,sBAAsB,CAAC;QAC/C,aAAa,EAAE,sBAAsB,GAAG,SAAS,CAAC;QAClD,kBAAkB,EAAE,0BAA0B,CAAC;QAC/C,aAAa,EAAE,aAAa,GAAG,WAAW,CAAC;QAC3C,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,SAAS,EAAE,eAAe,CAAC;QAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;QAC7C,UAAU,EAAE,mBAAmB,CAAC;QAChC,YAAY,EAAE,YAAY,CAAC;QAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,YAAY,EAAE,eAAe,CAAC;KAC/B,4BA8GF;IAED;;;OAGG;IACI,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,yBAAyB,CAAC,QAI/E;IAED,4BAA4B;IACf,KAAK,kBAKjB;IAED;;OAEG;IACU,IAAI,kBAKhB;IAEM,YAAY,IAAI,SAAS,CAE/B;IAED,IAAI,kBAAkB,IAAI,UAAU,EAAE,GAAG,SAAS,CAEjD;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;CACF"}
1
+ {"version":3,"file":"sequencer-client.d.ts","sourceRoot":"","sources":["../../src/client/sequencer-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,OAAO,EAAE,KAAK,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEhH,OAAO,EAAE,KAAK,qBAAqB,EAAyC,MAAM,cAAc,CAAC;AAEjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExE;;GAEG;AACH,qBAAa,eAAe;IAExB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC;IACvD,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,kBAAkB,EAAE,0BAA0B;IACxD,SAAS,CAAC,eAAe,CAAC;IAC1B,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,QAAQ,CAAC;IANnB,YACY,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAC7C,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,0BAA0B,EAC9C,eAAe,CAAC,6BAAiB,EACnC,SAAS,CAAC,uBAAW,EACrB,QAAQ,CAAC,qBAAS,EACxB;IAEJ;;;;;;;;;;;OAWG;IACH,OAAoB,GAAG,CACrB,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE;QACJ,eAAe,EAAE,eAAe,CAAC;QACjC,SAAS,EAAE,GAAG,CAAC;QACf,sBAAsB,EAAE,sBAAsB,CAAC;QAC/C,aAAa,EAAE,sBAAsB,GAAG,SAAS,CAAC;QAClD,kBAAkB,EAAE,0BAA0B,CAAC;QAC/C,aAAa,EAAE,aAAa,GAAG,WAAW,CAAC;QAC3C,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,SAAS,EAAE,eAAe,CAAC;QAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;QAC7C,UAAU,EAAE,mBAAmB,CAAC;QAChC,YAAY,EAAE,YAAY,CAAC;QAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,SAAS,EAAE,SAAS,EAAE,CAAC;QACvB,YAAY,EAAE,eAAe,CAAC;KAC/B,4BAqHF;IAED;;;OAGG;IACI,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,yBAAyB,CAAC,QAI/E;IAED,4BAA4B;IACf,KAAK,kBAKjB;IAED;;OAEG;IACU,IAAI,kBAKhB;IAEM,YAAY,IAAI,SAAS,CAE/B;IAED,qFAAqF;IAC9E,2BAA2B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAErE;IAED,iFAAiF;IACjF,UAAU,IAAI,OAAO,GAAG,SAAS,CAEhC;IAED,IAAI,kBAAkB,IAAI,UAAU,EAAE,GAAG,SAAS,CAEjD;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;CACF"}
@@ -8,6 +8,7 @@ import { createLogger } from '@aztec/foundation/log';
8
8
  import { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
9
9
  import { L1Metrics } from '@aztec/telemetry-client';
10
10
  import { NodeKeystoreAdapter } from '@aztec/validator-client';
11
+ import { getPublisherConfigFromSequencerConfig } from '../config.js';
11
12
  import { GlobalVariableBuilder } from '../global_variable_builder/index.js';
12
13
  import { SequencerPublisherFactory } from '../publisher/sequencer-publisher-factory.js';
13
14
  import { Sequencer } from '../sequencer/index.js';
@@ -19,12 +20,14 @@ import { Sequencer } from '../sequencer/index.js';
19
20
  checkpointsBuilder;
20
21
  validatorClient;
21
22
  l1Metrics;
22
- constructor(publisherManager, sequencer, checkpointsBuilder, validatorClient, l1Metrics){
23
+ delayer_;
24
+ constructor(publisherManager, sequencer, checkpointsBuilder, validatorClient, l1Metrics, delayer_){
23
25
  this.publisherManager = publisherManager;
24
26
  this.sequencer = sequencer;
25
27
  this.checkpointsBuilder = checkpointsBuilder;
26
28
  this.validatorClient = validatorClient;
27
29
  this.l1Metrics = l1Metrics;
30
+ this.delayer_ = delayer_;
28
31
  }
29
32
  /**
30
33
  * Initializes a new instance.
@@ -44,7 +47,7 @@ import { Sequencer } from '../sequencer/index.js';
44
47
  const publicClient = getPublicClient(config);
45
48
  const l1TxUtils = deps.l1TxUtils;
46
49
  const l1Metrics = new L1Metrics(telemetryClient.getMeter('L1PublisherMetrics'), publicClient, l1TxUtils.map((x)=>x.getSenderAddress()));
47
- const publisherManager = new PublisherManager(l1TxUtils, config);
50
+ const publisherManager = new PublisherManager(l1TxUtils, getPublisherConfigFromSequencerConfig(config), log.getBindings());
48
51
  const rollupContract = new RollupContract(publicClient, config.l1Contracts.rollupAddress.toString());
49
52
  const [l1GenesisTime, slotDuration, rollupVersion, rollupManaLimit] = await Promise.all([
50
53
  rollupContract.getL1GenesisTime(),
@@ -102,8 +105,10 @@ import { Sequencer } from '../sequencer/index.js';
102
105
  l1PublishingTime,
103
106
  maxL2BlockGas: sequencerManaLimit
104
107
  }, telemetryClient, log);
105
- await sequencer.init();
106
- return new SequencerClient(publisherManager, sequencer, checkpointsBuilder, validatorClient, l1Metrics);
108
+ sequencer.init();
109
+ // Extract the shared delayer from the first L1TxUtils instance (all instances share the same delayer)
110
+ const delayer = l1TxUtils[0]?.delayer;
111
+ return new SequencerClient(publisherManager, sequencer, checkpointsBuilder, validatorClient, l1Metrics, delayer);
107
112
  }
108
113
  /**
109
114
  * Updates sequencer and validator client config.
@@ -130,6 +135,12 @@ import { Sequencer } from '../sequencer/index.js';
130
135
  getSequencer() {
131
136
  return this.sequencer;
132
137
  }
138
+ /** Updates the publisher factory's node keystore adapter after a keystore reload. */ updatePublisherNodeKeyStore(adapter) {
139
+ this.sequencer.updatePublisherNodeKeyStore(adapter);
140
+ }
141
+ /** Returns the shared tx delayer for sequencer L1 txs, if enabled. Test-only. */ getDelayer() {
142
+ return this.delayer_;
143
+ }
133
144
  get validatorAddresses() {
134
145
  return this.sequencer.getValidatorAddresses();
135
146
  }
package/dest/config.d.ts CHANGED
@@ -6,10 +6,9 @@ import { type P2PConfig } from '@aztec/p2p/config';
6
6
  import { type ChainConfig, type SequencerConfig } from '@aztec/stdlib/config';
7
7
  import type { ResolvedSequencerConfig } from '@aztec/stdlib/interfaces/server';
8
8
  import { type ValidatorClientConfig } from '@aztec/validator-client/config';
9
- import { type PublisherConfig, type TxSenderConfig } from './publisher/config.js';
9
+ import { type SequencerPublisherConfig, type SequencerTxSenderConfig } from './publisher/config.js';
10
10
  export * from './publisher/config.js';
11
11
  export type { SequencerConfig };
12
- export declare const DEFAULT_ATTESTATION_PROPAGATION_TIME = 2;
13
12
  /**
14
13
  * Default values for SequencerConfig.
15
14
  * Centralized location for all sequencer configuration defaults.
@@ -18,11 +17,11 @@ export declare const DefaultSequencerConfig: ResolvedSequencerConfig;
18
17
  /**
19
18
  * Configuration settings for the SequencerClient.
20
19
  */
21
- export type SequencerClientConfig = PublisherConfig & KeyStoreConfig & ValidatorClientConfig & TxSenderConfig & SequencerConfig & L1ReaderConfig & ChainConfig & Pick<P2PConfig, 'txPublicSetupAllowList'> & Pick<L1ContractsConfig, 'ethereumSlotDuration' | 'aztecSlotDuration' | 'aztecEpochDuration'>;
20
+ export type SequencerClientConfig = SequencerPublisherConfig & KeyStoreConfig & ValidatorClientConfig & SequencerTxSenderConfig & SequencerConfig & L1ReaderConfig & ChainConfig & Pick<P2PConfig, 'txPublicSetupAllowList'> & Pick<L1ContractsConfig, 'ethereumSlotDuration' | 'aztecSlotDuration' | 'aztecEpochDuration'>;
22
21
  export declare const sequencerConfigMappings: ConfigMappingsType<SequencerConfig>;
23
22
  export declare const sequencerClientConfigMappings: ConfigMappingsType<SequencerClientConfig>;
24
23
  /**
25
24
  * Creates an instance of SequencerClientConfig out of environment variables using sensible defaults for integration testing if not set.
26
25
  */
27
26
  export declare function getConfigEnvVars(): SequencerClientConfig;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUE2QixNQUFNLHdCQUF3QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFLeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQTBCLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFxQixNQUFNLG1CQUFtQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRSxLQUFLLGVBQWUsRUFBdUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRyxPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxLQUFLLHFCQUFxQixFQUFpQyxNQUFNLGdDQUFnQyxDQUFDO0FBRTNHLE9BQU8sRUFDTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxjQUFjLEVBR3BCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxZQUFZLEVBQUUsZUFBZSxFQUFFLENBQUM7QUFFaEMsZUFBTyxNQUFNLG9DQUFvQyxJQUFJLENBQUM7QUFFdEQ7OztHQUdHO0FBQ0gsZUFBTyxNQUFNLHNCQUFzQixFQUFFLHVCQW9CcEMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHFCQUFxQixHQUFHLGVBQWUsR0FDakQsY0FBYyxHQUNkLHFCQUFxQixHQUNyQixjQUFjLEdBQ2QsZUFBZSxHQUNmLGNBQWMsR0FDZCxXQUFXLEdBQ1gsSUFBSSxDQUFDLFNBQVMsRUFBRSx3QkFBd0IsQ0FBQyxHQUN6QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsc0JBQXNCLEdBQUcsbUJBQW1CLEdBQUcsb0JBQW9CLENBQUMsQ0FBQztBQUUvRixlQUFPLE1BQU0sdUJBQXVCLEVBQUUsa0JBQWtCLENBQUMsZUFBZSxDQThJdkUsQ0FBQztBQUVGLGVBQU8sTUFBTSw2QkFBNkIsRUFBRSxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FTbkYsQ0FBQztBQUVGOztHQUVHO0FBQ0gsd0JBQWdCLGdCQUFnQixJQUFJLHFCQUFxQixDQUV4RCJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUE2QixNQUFNLHdCQUF3QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFLeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQTBCLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFxQixNQUFNLG1CQUFtQixDQUFDO0FBRXRFLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyxlQUFlLEVBR3JCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsS0FBSyxxQkFBcUIsRUFBaUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRyxPQUFPLEVBQ0wsS0FBSyx3QkFBd0IsRUFDN0IsS0FBSyx1QkFBdUIsRUFHN0IsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLFlBQVksRUFBRSxlQUFlLEVBQUUsQ0FBQztBQUVoQzs7O0dBR0c7QUFDSCxlQUFPLE1BQU0sc0JBQXNCLEVBQUUsdUJBcUJwQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLE1BQU0scUJBQXFCLEdBQUcsd0JBQXdCLEdBQzFELGNBQWMsR0FDZCxxQkFBcUIsR0FDckIsdUJBQXVCLEdBQ3ZCLGVBQWUsR0FDZixjQUFjLEdBQ2QsV0FBVyxHQUNYLElBQUksQ0FBQyxTQUFTLEVBQUUsd0JBQXdCLENBQUMsR0FDekMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLHNCQUFzQixHQUFHLG1CQUFtQixHQUFHLG9CQUFvQixDQUFDLENBQUM7QUFFL0YsZUFBTyxNQUFNLHVCQUF1QixFQUFFLGtCQUFrQixDQUFDLGVBQWUsQ0FnSnZFLENBQUM7QUFFRixlQUFPLE1BQU0sNkJBQTZCLEVBQUUsa0JBQWtCLENBQUMscUJBQXFCLENBU25GLENBQUM7QUFFRjs7R0FFRztBQUNILHdCQUFnQixnQkFBZ0IsSUFBSSxxQkFBcUIsQ0FFeEQifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAuB,MAAM,sBAAsB,CAAC;AACnG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,KAAK,qBAAqB,EAAiC,MAAM,gCAAgC,CAAC;AAE3G,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAGpB,MAAM,uBAAuB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AACtC,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,eAAO,MAAM,oCAAoC,IAAI,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,uBAoBpC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,eAAe,GACjD,cAAc,GACd,qBAAqB,GACrB,cAAc,GACd,eAAe,GACf,cAAc,GACd,WAAW,GACX,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,GACzC,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,oBAAoB,CAAC,CAAC;AAE/F,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CA8IvE,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,qBAAqB,CASnF,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,qBAAqB,CAExD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EAGrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E,OAAO,EAAE,KAAK,qBAAqB,EAAiC,MAAM,gCAAgC,CAAC;AAE3G,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAG7B,MAAM,uBAAuB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AACtC,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,uBAqBpC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,GAC1D,cAAc,GACd,qBAAqB,GACrB,uBAAuB,GACvB,eAAe,GACf,cAAc,GACd,WAAW,GACX,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,GACzC,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,oBAAoB,CAAC,CAAC;AAE/F,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CAgJvE,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,qBAAqB,CASnF,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,qBAAqB,CAExD"}
package/dest/config.js CHANGED
@@ -5,11 +5,11 @@ import { EthAddress } from '@aztec/foundation/eth-address';
5
5
  import { keyStoreConfigMappings } from '@aztec/node-keystore/config';
6
6
  import { p2pConfigMappings } from '@aztec/p2p/config';
7
7
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
8
- import { chainConfigMappings } from '@aztec/stdlib/config';
8
+ import { chainConfigMappings, sharedSequencerConfigMappings } from '@aztec/stdlib/config';
9
+ import { DEFAULT_P2P_PROPAGATION_TIME } from '@aztec/stdlib/timetable';
9
10
  import { validatorClientConfigMappings } from '@aztec/validator-client/config';
10
- import { getPublisherConfigMappings, getTxSenderConfigMappings } from './publisher/config.js';
11
+ import { sequencerPublisherConfigMappings, sequencerTxSenderConfigMappings } from './publisher/config.js';
11
12
  export * from './publisher/config.js';
12
- export const DEFAULT_ATTESTATION_PROPAGATION_TIME = 2;
13
13
  /**
14
14
  * Default values for SequencerConfig.
15
15
  * Centralized location for all sequencer configuration defaults.
@@ -23,7 +23,7 @@ export const DEFAULT_ATTESTATION_PROPAGATION_TIME = 2;
23
23
  maxDABlockGas: 10e9,
24
24
  maxBlockSizeInBytes: 1024 * 1024,
25
25
  enforceTimeTable: true,
26
- attestationPropagationTime: DEFAULT_ATTESTATION_PROPAGATION_TIME,
26
+ attestationPropagationTime: DEFAULT_P2P_PROPAGATION_TIME,
27
27
  secondsBeforeInvalidatingBlockAsCommitteeMember: 144,
28
28
  secondsBeforeInvalidatingBlockAsNonCommitteeMember: 432,
29
29
  skipCollectingAttestations: false,
@@ -32,7 +32,8 @@ export const DEFAULT_ATTESTATION_PROPAGATION_TIME = 2;
32
32
  injectFakeAttestation: false,
33
33
  fishermanMode: false,
34
34
  shuffleAttestationOrdering: false,
35
- skipPushProposedBlocksToArchiver: false
35
+ skipPushProposedBlocksToArchiver: false,
36
+ skipPublishingCheckpointsPercent: 0
36
37
  };
37
38
  export const sequencerConfigMappings = {
38
39
  sequencerPollingIntervalMS: {
@@ -152,11 +153,7 @@ export const sequencerConfigMappings = {
152
153
  description: 'Shuffle attestation ordering to create invalid ordering (for testing only)',
153
154
  ...booleanConfigHelper(DefaultSequencerConfig.shuffleAttestationOrdering)
154
155
  },
155
- blockDurationMs: {
156
- env: 'SEQ_BLOCK_DURATION_MS',
157
- description: 'Duration per block in milliseconds when building multiple blocks per slot. ' + 'If undefined (default), builds a single block per slot using the full slot duration.',
158
- parseEnv: (val)=>val ? parseInt(val, 10) : undefined
159
- },
156
+ ...sharedSequencerConfigMappings,
160
157
  buildCheckpointIfEmpty: {
161
158
  env: 'SEQ_BUILD_CHECKPOINT_IF_EMPTY',
162
159
  description: 'Have sequencer build and publish an empty checkpoint if there are no txs',
@@ -166,6 +163,14 @@ export const sequencerConfigMappings = {
166
163
  description: 'Skip pushing proposed blocks to archiver (default: true)',
167
164
  ...booleanConfigHelper(DefaultSequencerConfig.skipPushProposedBlocksToArchiver)
168
165
  },
166
+ minBlocksForCheckpoint: {
167
+ description: 'Minimum number of blocks required for a checkpoint proposal (test only)'
168
+ },
169
+ skipPublishingCheckpointsPercent: {
170
+ env: 'SEQ_SKIP_CHECKPOINT_PUBLISH_PERCENT',
171
+ description: 'Percent probability (0 - 100) of sequencer skipping checkpoint publishing (testing only)',
172
+ ...numberConfigHelper(DefaultSequencerConfig.skipPublishingCheckpointsPercent)
173
+ },
169
174
  ...pickConfigMappings(p2pConfigMappings, [
170
175
  'txPublicSetupAllowList'
171
176
  ])
@@ -175,8 +180,8 @@ export const sequencerClientConfigMappings = {
175
180
  ...sequencerConfigMappings,
176
181
  ...keyStoreConfigMappings,
177
182
  ...l1ReaderConfigMappings,
178
- ...getTxSenderConfigMappings('SEQ'),
179
- ...getPublisherConfigMappings('SEQ'),
183
+ ...sequencerTxSenderConfigMappings,
184
+ ...sequencerPublisherConfigMappings,
180
185
  ...chainConfigMappings,
181
186
  ...pickConfigMappings(l1ContractsConfigMappings, [
182
187
  'ethereumSlotDuration',
@@ -36,8 +36,6 @@ export declare class GlobalVariableBuilder implements GlobalVariableBuilderInter
36
36
  */
37
37
  buildGlobalVariables(blockNumber: BlockNumber, coinbase: EthAddress, feeRecipient: AztecAddress, maybeSlot?: SlotNumber): Promise<GlobalVariables>;
38
38
  /** Builds global variables that are constant throughout a checkpoint. */
39
- buildCheckpointGlobalVariables(coinbase: EthAddress, feeRecipient: AztecAddress, slotNumber: SlotNumber): Promise<CheckpointGlobalVariables & {
40
- timestamp: bigint;
41
- }>;
39
+ buildCheckpointGlobalVariables(coinbase: EthAddress, feeRecipient: AztecAddress, slotNumber: SlotNumber): Promise<CheckpointGlobalVariables>;
42
40
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX2J1aWxkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nbG9iYWxfdmFyaWFibGVfYnVpbGRlci9nbG9iYWxfYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFMUUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQXVCLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxFQUNWLHlCQUF5QixFQUN6QixxQkFBcUIsSUFBSSw4QkFBOEIsRUFDeEQsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJbkQ7O0dBRUc7QUFDSCxxQkFBYSxxQkFBc0IsWUFBVyw4QkFBOEI7SUFDMUUsT0FBTyxDQUFDLEdBQUcsQ0FBcUQ7SUFDaEUsT0FBTyxDQUFDLGNBQWMsQ0FBd0Q7SUFDOUUsT0FBTyxDQUFDLG9CQUFvQixDQUFpQztJQUU3RCxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBaUI7SUFDaEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQW1CO0lBQ2hELE9BQU8sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQVM7SUFDOUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBUztJQUMzQyxPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBUztJQUV2QyxPQUFPLENBQUMsT0FBTyxDQUFLO0lBQ3BCLE9BQU8sQ0FBQyxPQUFPLENBQUs7SUFFcEIsWUFDRSxNQUFNLEVBQUUsY0FBYyxHQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsc0JBQXNCLENBQUMsR0FDL0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGNBQWMsR0FBRyxlQUFlLENBQUMsR0FBRztRQUFFLGFBQWEsRUFBRSxNQUFNLENBQUE7S0FBRSxFQW9CeEY7WUFNYSxxQkFBcUI7SUFldEIsaUJBQWlCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQVVqRDtJQUVEOzs7Ozs7O09BT0c7SUFDVSxvQkFBb0IsQ0FDL0IsV0FBVyxFQUFFLFdBQVcsRUFDeEIsUUFBUSxFQUFFLFVBQVUsRUFDcEIsWUFBWSxFQUFFLFlBQVksRUFDMUIsU0FBUyxDQUFDLEVBQUUsVUFBVSxHQUNyQixPQUFPLENBQUMsZUFBZSxDQUFDLENBUzFCO0lBRUQseUVBQXlFO0lBQzVELDhCQUE4QixDQUN6QyxRQUFRLEVBQUUsVUFBVSxFQUNwQixZQUFZLEVBQUUsWUFBWSxFQUMxQixVQUFVLEVBQUUsVUFBVSxHQUNyQixPQUFPLENBQUMseUJBQXlCLEdBQUc7UUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQyxDQWE1RDtDQUNGIn0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX2J1aWxkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nbG9iYWxfdmFyaWFibGVfYnVpbGRlci9nbG9iYWxfYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFMUUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQXVCLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxFQUNWLHlCQUF5QixFQUN6QixxQkFBcUIsSUFBSSw4QkFBOEIsRUFDeEQsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJbkQ7O0dBRUc7QUFDSCxxQkFBYSxxQkFBc0IsWUFBVyw4QkFBOEI7SUFDMUUsT0FBTyxDQUFDLEdBQUcsQ0FBcUQ7SUFDaEUsT0FBTyxDQUFDLGNBQWMsQ0FBd0Q7SUFDOUUsT0FBTyxDQUFDLG9CQUFvQixDQUFpQztJQUU3RCxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBaUI7SUFDaEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQW1CO0lBQ2hELE9BQU8sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQVM7SUFDOUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBUztJQUMzQyxPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBUztJQUV2QyxPQUFPLENBQUMsT0FBTyxDQUFLO0lBQ3BCLE9BQU8sQ0FBQyxPQUFPLENBQUs7SUFFcEIsWUFDRSxNQUFNLEVBQUUsY0FBYyxHQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsc0JBQXNCLENBQUMsR0FDL0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGNBQWMsR0FBRyxlQUFlLENBQUMsR0FBRztRQUFFLGFBQWEsRUFBRSxNQUFNLENBQUE7S0FBRSxFQW9CeEY7WUFNYSxxQkFBcUI7SUFldEIsaUJBQWlCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQVVqRDtJQUVEOzs7Ozs7O09BT0c7SUFDVSxvQkFBb0IsQ0FDL0IsV0FBVyxFQUFFLFdBQVcsRUFDeEIsUUFBUSxFQUFFLFVBQVUsRUFDcEIsWUFBWSxFQUFFLFlBQVksRUFDMUIsU0FBUyxDQUFDLEVBQUUsVUFBVSxHQUNyQixPQUFPLENBQUMsZUFBZSxDQUFDLENBUzFCO0lBRUQseUVBQXlFO0lBQzVELDhCQUE4QixDQUN6QyxRQUFRLEVBQUUsVUFBVSxFQUNwQixZQUFZLEVBQUUsWUFBWSxFQUMxQixVQUFVLEVBQUUsVUFBVSxHQUNyQixPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FhcEM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"global_builder.d.ts","sourceRoot":"","sources":["../../src/global_variable_builder/global_builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,IAAI,8BAA8B,EACxD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD;;GAEG;AACH,qBAAa,qBAAsB,YAAW,8BAA8B;IAC1E,OAAO,CAAC,GAAG,CAAqD;IAChE,OAAO,CAAC,cAAc,CAAwD;IAC9E,OAAO,CAAC,oBAAoB,CAAiC;IAE7D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IAEpB,YACE,MAAM,EAAE,cAAc,GACpB,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,GAC/C,IAAI,CAAC,iBAAiB,EAAE,cAAc,GAAG,eAAe,CAAC,GAAG;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,EAoBxF;YAMa,qBAAqB;IAetB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAUjD;IAED;;;;;;;OAOG;IACU,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,eAAe,CAAC,CAS1B;IAED,yEAAyE;IAC5D,8BAA8B,CACzC,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,yBAAyB,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAa5D;CACF"}
1
+ {"version":3,"file":"global_builder.d.ts","sourceRoot":"","sources":["../../src/global_variable_builder/global_builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,IAAI,8BAA8B,EACxD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD;;GAEG;AACH,qBAAa,qBAAsB,YAAW,8BAA8B;IAC1E,OAAO,CAAC,GAAG,CAAqD;IAChE,OAAO,CAAC,cAAc,CAAwD;IAC9E,OAAO,CAAC,oBAAoB,CAAiC;IAE7D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IAEpB,YACE,MAAM,EAAE,cAAc,GACpB,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,GAC/C,IAAI,CAAC,iBAAiB,EAAE,cAAc,GAAG,eAAe,CAAC,GAAG;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,EAoBxF;YAMa,qBAAqB;IAetB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAUjD;IAED;;;;;;;OAOG;IACU,oBAAoB,CAC/B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,eAAe,CAAC,CAS1B;IAED,yEAAyE;IAC5D,8BAA8B,CACzC,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,yBAAyB,CAAC,CAapC;CACF"}
@@ -3,22 +3,24 @@ import { type L1ReaderConfig } from '@aztec/ethereum/l1-reader';
3
3
  import { type L1TxUtilsConfig } from '@aztec/ethereum/l1-tx-utils/config';
4
4
  import { type ConfigMappingsType, SecretValue } from '@aztec/foundation/config';
5
5
  import { EthAddress } from '@aztec/foundation/eth-address';
6
- /**
7
- * The configuration of the rollup transaction publisher.
8
- */
6
+ /** Configuration of the transaction publisher. */
9
7
  export type TxSenderConfig = L1ReaderConfig & {
10
- /**
11
- * The private key to be used by the publisher.
12
- */
8
+ /** The private key to be used by the publisher. */
13
9
  publisherPrivateKeys?: SecretValue<`0x${string}`>[];
14
- /**
15
- * Publisher addresses to be used with a remote signer
16
- */
10
+ /** Publisher addresses to be used with a remote signer */
17
11
  publisherAddresses?: EthAddress[];
18
12
  };
19
- /**
20
- * Configuration of the L1Publisher.
21
- */
13
+ export type ProverTxSenderConfig = L1ReaderConfig & {
14
+ proverPublisherPrivateKeys?: SecretValue<`0x${string}`>[];
15
+ proverPublisherAddresses?: EthAddress[];
16
+ };
17
+ export type SequencerTxSenderConfig = L1ReaderConfig & {
18
+ sequencerPublisherPrivateKeys?: SecretValue<`0x${string}`>[];
19
+ sequencerPublisherAddresses?: EthAddress[];
20
+ };
21
+ export declare function getTxSenderConfigFromProverConfig(config: ProverTxSenderConfig): TxSenderConfig;
22
+ export declare function getTxSenderConfigFromSequencerConfig(config: SequencerTxSenderConfig): TxSenderConfig;
23
+ /** Configuration of the L1Publisher. */
22
24
  export type PublisherConfig = L1TxUtilsConfig & BlobClientConfig & {
23
25
  /** True to use publishers in invalid states (timed out, cancelled, etc) if no other is available */
24
26
  publisherAllowInvalidStates?: boolean;
@@ -26,9 +28,25 @@ export type PublisherConfig = L1TxUtilsConfig & BlobClientConfig & {
26
28
  fishermanMode?: boolean;
27
29
  /** Address of the forwarder contract to wrap all L1 transactions through (for testing purposes only) */
28
30
  publisherForwarderAddress?: EthAddress;
31
+ /** Store for failed L1 transaction inputs (test networks only). Format: gs://bucket/path */
32
+ l1TxFailedStore?: string;
33
+ };
34
+ export type ProverPublisherConfig = L1TxUtilsConfig & BlobClientConfig & {
35
+ fishermanMode?: boolean;
36
+ proverPublisherAllowInvalidStates?: boolean;
37
+ proverPublisherForwarderAddress?: EthAddress;
38
+ };
39
+ export type SequencerPublisherConfig = L1TxUtilsConfig & BlobClientConfig & {
40
+ fishermanMode?: boolean;
41
+ sequencerPublisherAllowInvalidStates?: boolean;
42
+ sequencerPublisherForwarderAddress?: EthAddress;
43
+ /** Store for failed L1 transaction inputs (test networks only). Format: gs://bucket/path */
44
+ l1TxFailedStore?: string;
29
45
  };
30
- export declare const getTxSenderConfigMappings: (scope: 'PROVER' | 'SEQ') => ConfigMappingsType<Omit<TxSenderConfig, 'l1Contracts'>>;
31
- export declare function getTxSenderConfigFromEnv(scope: 'PROVER' | 'SEQ'): Omit<TxSenderConfig, 'l1Contracts'>;
32
- export declare const getPublisherConfigMappings: (scope: 'PROVER' | 'SEQ') => ConfigMappingsType<PublisherConfig & L1TxUtilsConfig>;
33
- export declare function getPublisherConfigFromEnv(scope: 'PROVER' | 'SEQ'): PublisherConfig;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaGVyL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBMkIsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQTBCLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUEyQixNQUFNLG9DQUFvQyxDQUFDO0FBQ25HLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBR1osTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0Q7O0dBRUc7QUFDSCxNQUFNLE1BQU0sY0FBYyxHQUFHLGNBQWMsR0FBRztJQUM1Qzs7T0FFRztJQUNILG9CQUFvQixDQUFDLEVBQUUsV0FBVyxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBRXBEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQztDQUNuQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLE1BQU0sZUFBZSxHQUFHLGVBQWUsR0FDM0MsZ0JBQWdCLEdBQUc7SUFDakIsb0dBQW9HO0lBQ3BHLDJCQUEyQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3RDLDRHQUE0RztJQUM1RyxhQUFhLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDeEIsd0dBQXdHO0lBQ3hHLHlCQUF5QixDQUFDLEVBQUUsVUFBVSxDQUFDO0NBQ3hDLENBQUM7QUFFSixlQUFPLE1BQU0seUJBQXlCLEVBQUUsQ0FDdEMsS0FBSyxFQUFFLFFBQVEsR0FBRyxLQUFLLEtBQ3BCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLENBZXpELENBQUM7QUFFSCx3QkFBZ0Isd0JBQXdCLENBQUMsS0FBSyxFQUFFLFFBQVEsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FFckc7QUFFRCxlQUFPLE1BQU0sMEJBQTBCLEVBQUUsQ0FDdkMsS0FBSyxFQUFFLFFBQVEsR0FBRyxLQUFLLEtBQ3BCLGtCQUFrQixDQUFDLGVBQWUsR0FBRyxlQUFlLENBbUJ2RCxDQUFDO0FBRUgsd0JBQWdCLHlCQUF5QixDQUFDLEtBQUssRUFBRSxRQUFRLEdBQUcsS0FBSyxHQUFHLGVBQWUsQ0FFbEYifQ==
46
+ export declare function getPublisherConfigFromProverConfig(config: ProverPublisherConfig): PublisherConfig;
47
+ export declare function getPublisherConfigFromSequencerConfig(config: SequencerPublisherConfig): PublisherConfig;
48
+ export declare const proverTxSenderConfigMappings: ConfigMappingsType<Omit<ProverTxSenderConfig, 'l1Contracts'>>;
49
+ export declare const sequencerTxSenderConfigMappings: ConfigMappingsType<Omit<SequencerTxSenderConfig, 'l1Contracts'>>;
50
+ export declare const sequencerPublisherConfigMappings: ConfigMappingsType<SequencerPublisherConfig & L1TxUtilsConfig>;
51
+ export declare const proverPublisherConfigMappings: ConfigMappingsType<ProverPublisherConfig & L1TxUtilsConfig>;
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaGVyL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBMkIsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQTBCLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUEyQixNQUFNLG9DQUFvQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFFLFdBQVcsRUFBdUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0Qsa0RBQWtEO0FBQ2xELE1BQU0sTUFBTSxjQUFjLEdBQUcsY0FBYyxHQUFHO0lBQzVDLG1EQUFtRDtJQUNuRCxvQkFBb0IsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUVwRCwwREFBMEQ7SUFDMUQsa0JBQWtCLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQztDQUNuQyxDQUFDO0FBRUYsTUFBTSxNQUFNLG9CQUFvQixHQUFHLGNBQWMsR0FBRztJQUNsRCwwQkFBMEIsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMxRCx3QkFBd0IsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ3pDLENBQUM7QUFFRixNQUFNLE1BQU0sdUJBQXVCLEdBQUcsY0FBYyxHQUFHO0lBQ3JELDZCQUE2QixDQUFDLEVBQUUsV0FBVyxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQzdELDJCQUEyQixDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDNUMsQ0FBQztBQUVGLHdCQUFnQixpQ0FBaUMsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLEdBQUcsY0FBYyxDQU05RjtBQUVELHdCQUFnQixvQ0FBb0MsQ0FBQyxNQUFNLEVBQUUsdUJBQXVCLEdBQUcsY0FBYyxDQU1wRztBQUVELHdDQUF3QztBQUN4QyxNQUFNLE1BQU0sZUFBZSxHQUFHLGVBQWUsR0FDM0MsZ0JBQWdCLEdBQUc7SUFDakIsb0dBQW9HO0lBQ3BHLDJCQUEyQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3RDLDRHQUE0RztJQUM1RyxhQUFhLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDeEIsd0dBQXdHO0lBQ3hHLHlCQUF5QixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ3ZDLDRGQUE0RjtJQUM1RixlQUFlLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDMUIsQ0FBQztBQUVKLE1BQU0sTUFBTSxxQkFBcUIsR0FBRyxlQUFlLEdBQ2pELGdCQUFnQixHQUFHO0lBQ2pCLGFBQWEsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN4QixpQ0FBaUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUM1QywrQkFBK0IsQ0FBQyxFQUFFLFVBQVUsQ0FBQztDQUM5QyxDQUFDO0FBRUosTUFBTSxNQUFNLHdCQUF3QixHQUFHLGVBQWUsR0FDcEQsZ0JBQWdCLEdBQUc7SUFDakIsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3hCLG9DQUFvQyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQy9DLGtDQUFrQyxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2hELDRGQUE0RjtJQUM1RixlQUFlLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDMUIsQ0FBQztBQUVKLHdCQUFnQixrQ0FBa0MsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLEdBQUcsZUFBZSxDQU1qRztBQUVELHdCQUFnQixxQ0FBcUMsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLEdBQUcsZUFBZSxDQU92RztBQUVELGVBQU8sTUFBTSw0QkFBNEIsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxDQUFDLENBZXRHLENBQUM7QUFFRixlQUFPLE1BQU0sK0JBQStCLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLGFBQWEsQ0FBQyxDQWU1RyxDQUFDO0FBRUYsZUFBTyxNQUFNLGdDQUFnQyxFQUFFLGtCQUFrQixDQUFDLHdCQUF3QixHQUFHLGVBQWUsQ0F1QjNHLENBQUM7QUFFRixlQUFPLE1BQU0sNkJBQTZCLEVBQUUsa0JBQWtCLENBQUMscUJBQXFCLEdBQUcsZUFBZSxDQW1CckcsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/publisher/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,oCAAoC,CAAC;AACnG,OAAO,EACL,KAAK,kBAAkB,EACvB,WAAW,EAGZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C;;OAEG;IACH,oBAAoB,CAAC,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC;IAEpD;;OAEG;IACH,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,eAAe,GAC3C,gBAAgB,GAAG;IACjB,oGAAoG;IACpG,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,4GAA4G;IAC5G,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wGAAwG;IACxG,yBAAyB,CAAC,EAAE,UAAU,CAAC;CACxC,CAAC;AAEJ,eAAO,MAAM,yBAAyB,EAAE,CACtC,KAAK,EAAE,QAAQ,GAAG,KAAK,KACpB,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAezD,CAAC;AAEH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAErG;AAED,eAAO,MAAM,0BAA0B,EAAE,CACvC,KAAK,EAAE,QAAQ,GAAG,KAAK,KACpB,kBAAkB,CAAC,eAAe,GAAG,eAAe,CAmBvD,CAAC;AAEH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,eAAe,CAElF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/publisher/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,oCAAoC,CAAC;AACnG,OAAO,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAuB,MAAM,0BAA0B,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,kDAAkD;AAClD,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC;IAEpD,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,0BAA0B,CAAC,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC;IAC1D,wBAAwB,CAAC,EAAE,UAAU,EAAE,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,GAAG;IACrD,6BAA6B,CAAC,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC;IAC7D,2BAA2B,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5C,CAAC;AAEF,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAM9F;AAED,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,uBAAuB,GAAG,cAAc,CAMpG;AAED,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG,eAAe,GAC3C,gBAAgB,GAAG;IACjB,oGAAoG;IACpG,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,4GAA4G;IAC5G,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wGAAwG;IACxG,yBAAyB,CAAC,EAAE,UAAU,CAAC;IACvC,4FAA4F;IAC5F,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEJ,MAAM,MAAM,qBAAqB,GAAG,eAAe,GACjD,gBAAgB,GAAG;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,+BAA+B,CAAC,EAAE,UAAU,CAAC;CAC9C,CAAC;AAEJ,MAAM,MAAM,wBAAwB,GAAG,eAAe,GACpD,gBAAgB,GAAG;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,kCAAkC,CAAC,EAAE,UAAU,CAAC;IAChD,4FAA4F;IAC5F,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEJ,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,qBAAqB,GAAG,eAAe,CAMjG;AAED,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,wBAAwB,GAAG,eAAe,CAOvG;AAED,eAAO,MAAM,4BAA4B,EAAE,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAetG,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAe5G,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,kBAAkB,CAAC,wBAAwB,GAAG,eAAe,CAuB3G,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,qBAAqB,GAAG,eAAe,CAmBrG,CAAC"}
@@ -1,48 +1,112 @@
1
1
  import { blobClientConfigMapping } from '@aztec/blob-client/client/config';
2
2
  import { l1ReaderConfigMappings } from '@aztec/ethereum/l1-reader';
3
3
  import { l1TxUtilsConfigMappings } from '@aztec/ethereum/l1-tx-utils/config';
4
- import { SecretValue, booleanConfigHelper, getConfigFromMappings } from '@aztec/foundation/config';
4
+ import { SecretValue, booleanConfigHelper } from '@aztec/foundation/config';
5
5
  import { EthAddress } from '@aztec/foundation/eth-address';
6
- export const getTxSenderConfigMappings = (scope)=>({
7
- ...l1ReaderConfigMappings,
8
- publisherPrivateKeys: {
9
- env: scope === 'PROVER' ? `PROVER_PUBLISHER_PRIVATE_KEYS` : `SEQ_PUBLISHER_PRIVATE_KEYS`,
10
- description: 'The private keys to be used by the publisher.',
11
- parseEnv: (val)=>val.split(',').map((key)=>new SecretValue(`0x${key.replace('0x', '')}`)),
12
- defaultValue: [],
13
- fallback: [
14
- scope === 'PROVER' ? `PROVER_PUBLISHER_PRIVATE_KEY` : `SEQ_PUBLISHER_PRIVATE_KEY`
15
- ]
16
- },
17
- publisherAddresses: {
18
- env: scope === 'PROVER' ? `PROVER_PUBLISHER_ADDRESSES` : `SEQ_PUBLISHER_ADDRESSES`,
19
- description: 'The addresses of the publishers to use with remote signers',
20
- parseEnv: (val)=>val.split(',').map((address)=>EthAddress.fromString(address)),
21
- defaultValue: []
22
- }
23
- });
24
- export function getTxSenderConfigFromEnv(scope) {
25
- return getConfigFromMappings(getTxSenderConfigMappings(scope));
6
+ export function getTxSenderConfigFromProverConfig(config) {
7
+ return {
8
+ ...config,
9
+ publisherPrivateKeys: config.proverPublisherPrivateKeys,
10
+ publisherAddresses: config.proverPublisherAddresses
11
+ };
26
12
  }
27
- export const getPublisherConfigMappings = (scope)=>({
28
- publisherAllowInvalidStates: {
29
- description: 'True to use publishers in invalid states (timed out, cancelled, etc) if no other is available',
30
- env: scope === `PROVER` ? `PROVER_PUBLISHER_ALLOW_INVALID_STATES` : `SEQ_PUBLISHER_ALLOW_INVALID_STATES`,
31
- ...booleanConfigHelper(true)
32
- },
33
- fishermanMode: {
34
- env: 'FISHERMAN_MODE',
35
- description: 'Whether to run in fisherman mode: builds blocks on every slot for validation without publishing to L1',
36
- ...booleanConfigHelper(false)
37
- },
38
- publisherForwarderAddress: {
39
- env: scope === `PROVER` ? `PROVER_PUBLISHER_FORWARDER_ADDRESS` : `SEQ_PUBLISHER_FORWARDER_ADDRESS`,
40
- description: 'Address of the forwarder contract to wrap all L1 transactions through (for testing purposes only)',
41
- parseEnv: (val)=>val ? EthAddress.fromString(val) : undefined
42
- },
43
- ...l1TxUtilsConfigMappings,
44
- ...blobClientConfigMapping
45
- });
46
- export function getPublisherConfigFromEnv(scope) {
47
- return getConfigFromMappings(getPublisherConfigMappings(scope));
13
+ export function getTxSenderConfigFromSequencerConfig(config) {
14
+ return {
15
+ ...config,
16
+ publisherPrivateKeys: config.sequencerPublisherPrivateKeys,
17
+ publisherAddresses: config.sequencerPublisherAddresses
18
+ };
48
19
  }
20
+ export function getPublisherConfigFromProverConfig(config) {
21
+ return {
22
+ ...config,
23
+ publisherAllowInvalidStates: config.proverPublisherAllowInvalidStates,
24
+ publisherForwarderAddress: config.proverPublisherForwarderAddress
25
+ };
26
+ }
27
+ export function getPublisherConfigFromSequencerConfig(config) {
28
+ return {
29
+ ...config,
30
+ publisherAllowInvalidStates: config.sequencerPublisherAllowInvalidStates,
31
+ publisherForwarderAddress: config.sequencerPublisherForwarderAddress,
32
+ l1TxFailedStore: config.l1TxFailedStore
33
+ };
34
+ }
35
+ export const proverTxSenderConfigMappings = {
36
+ ...l1ReaderConfigMappings,
37
+ proverPublisherPrivateKeys: {
38
+ env: `PROVER_PUBLISHER_PRIVATE_KEYS`,
39
+ description: 'The private keys to be used by the prover publisher.',
40
+ parseEnv: (val)=>val.split(',').map((key)=>new SecretValue(`0x${key.replace('0x', '')}`)),
41
+ defaultValue: [],
42
+ fallback: [
43
+ `PROVER_PUBLISHER_PRIVATE_KEY`
44
+ ]
45
+ },
46
+ proverPublisherAddresses: {
47
+ env: `PROVER_PUBLISHER_ADDRESSES`,
48
+ description: 'The addresses of the publishers to use with remote signers',
49
+ parseEnv: (val)=>val.split(',').map((address)=>EthAddress.fromString(address)),
50
+ defaultValue: []
51
+ }
52
+ };
53
+ export const sequencerTxSenderConfigMappings = {
54
+ ...l1ReaderConfigMappings,
55
+ sequencerPublisherPrivateKeys: {
56
+ env: `SEQ_PUBLISHER_PRIVATE_KEYS`,
57
+ description: 'The private keys to be used by the sequencer publisher.',
58
+ parseEnv: (val)=>val.split(',').map((key)=>new SecretValue(`0x${key.replace('0x', '')}`)),
59
+ defaultValue: [],
60
+ fallback: [
61
+ `SEQ_PUBLISHER_PRIVATE_KEY`
62
+ ]
63
+ },
64
+ sequencerPublisherAddresses: {
65
+ env: `SEQ_PUBLISHER_ADDRESSES`,
66
+ description: 'The addresses of the publishers to use with remote signers',
67
+ parseEnv: (val)=>val.split(',').map((address)=>EthAddress.fromString(address)),
68
+ defaultValue: []
69
+ }
70
+ };
71
+ export const sequencerPublisherConfigMappings = {
72
+ ...l1TxUtilsConfigMappings,
73
+ ...blobClientConfigMapping,
74
+ sequencerPublisherAllowInvalidStates: {
75
+ env: `SEQ_PUBLISHER_ALLOW_INVALID_STATES`,
76
+ description: 'True to use publishers in invalid states (timed out, cancelled, etc) if no other is available',
77
+ ...booleanConfigHelper(true)
78
+ },
79
+ fishermanMode: {
80
+ env: 'FISHERMAN_MODE',
81
+ description: 'Whether to run in fisherman mode: builds blocks on every slot for validation without publishing to L1',
82
+ ...booleanConfigHelper(false)
83
+ },
84
+ sequencerPublisherForwarderAddress: {
85
+ env: `SEQ_PUBLISHER_FORWARDER_ADDRESS`,
86
+ description: 'Address of the forwarder contract to wrap all L1 transactions through (for testing purposes only)',
87
+ parseEnv: (val)=>val ? EthAddress.fromString(val) : undefined
88
+ },
89
+ l1TxFailedStore: {
90
+ env: 'L1_TX_FAILED_STORE',
91
+ description: 'Store for failed L1 transaction inputs (test networks only). Format: gs://bucket/path'
92
+ }
93
+ };
94
+ export const proverPublisherConfigMappings = {
95
+ ...l1TxUtilsConfigMappings,
96
+ ...blobClientConfigMapping,
97
+ proverPublisherAllowInvalidStates: {
98
+ env: `PROVER_PUBLISHER_ALLOW_INVALID_STATES`,
99
+ description: 'True to use publishers in invalid states (timed out, cancelled, etc) if no other is available',
100
+ ...booleanConfigHelper(true)
101
+ },
102
+ fishermanMode: {
103
+ env: 'FISHERMAN_MODE',
104
+ description: 'Whether to run in fisherman mode: builds blocks on every slot for validation without publishing to L1',
105
+ ...booleanConfigHelper(false)
106
+ },
107
+ proverPublisherForwarderAddress: {
108
+ env: `PROVER_PUBLISHER_FORWARDER_ADDRESS`,
109
+ description: 'Address of the forwarder contract to wrap all L1 transactions through (for testing purposes only)',
110
+ parseEnv: (val)=>val ? EthAddress.fromString(val) : undefined
111
+ }
112
+ };
@@ -1,4 +1,5 @@
1
1
  export { SequencerPublisher } from './sequencer-publisher.js';
2
2
  export { SequencerPublisherFactory } from './sequencer-publisher-factory.js';
3
3
  export { SequencerPublisherMetrics } from './sequencer-publisher-metrics.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaXNoZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUMifQ==
4
+ export { type FailedL1Tx, type FailedL1TxUri, type L1TxFailedStore } from './l1_tx_failed_store/index.js';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaXNoZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHN0UsT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFFLEtBQUssYUFBYSxFQUFFLEtBQUssZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/publisher/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAG7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/publisher/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAG7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAG7E,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type Logger } from '@aztec/foundation/log';
2
+ import type { L1TxFailedStore } from './failed_tx_store.js';
3
+ /**
4
+ * Creates an L1TxFailedStore from a config string.
5
+ * Supports any backend that FileStore supports (GCS, S3, R2, local filesystem).
6
+ * @param config - Config string (e.g., 'gs://bucket/path', 's3://bucket/path', 'file:///path'). If undefined, returns undefined.
7
+ * @param logger - Optional logger.
8
+ * @returns The store instance, or undefined if config is not provided.
9
+ */
10
+ export declare function createL1TxFailedStore(config: string | undefined, logger?: Logger): Promise<L1TxFailedStore | undefined>;
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1Ymxpc2hlci9sMV90eF9mYWlsZWRfc3RvcmUvZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFHbEUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHNUQ7Ozs7OztHQU1HO0FBQ0gsd0JBQXNCLHFCQUFxQixDQUN6QyxNQUFNLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDMUIsTUFBTSxHQUFFLE1BQXFELEdBQzVELE9BQU8sQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDLENBZXRDIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/publisher/l1_tx_failed_store/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,GAAE,MAAqD,GAC5D,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAetC"}
@@ -0,0 +1,22 @@
1
+ import { createLogger } from '@aztec/foundation/log';
2
+ import { createFileStore } from '@aztec/stdlib/file-store';
3
+ import { FileStoreL1TxFailedStore } from './file_store_failed_tx_store.js';
4
+ /**
5
+ * Creates an L1TxFailedStore from a config string.
6
+ * Supports any backend that FileStore supports (GCS, S3, R2, local filesystem).
7
+ * @param config - Config string (e.g., 'gs://bucket/path', 's3://bucket/path', 'file:///path'). If undefined, returns undefined.
8
+ * @param logger - Optional logger.
9
+ * @returns The store instance, or undefined if config is not provided.
10
+ */ export async function createL1TxFailedStore(config, logger = createLogger('sequencer:l1-tx-failed-store')) {
11
+ if (!config) {
12
+ return undefined;
13
+ }
14
+ const fileStore = await createFileStore(config, logger);
15
+ if (!fileStore) {
16
+ throw new Error(`Failed to create file store from config: '${config}'. ` + `Supported formats: 'gs://bucket/path', 's3://bucket/path', 'file:///path'.`);
17
+ }
18
+ logger.info(`Created L1 tx failed store`, {
19
+ config
20
+ });
21
+ return new FileStoreL1TxFailedStore(fileStore, logger);
22
+ }