@aztec/sequencer-client 0.0.1-commit.29c6b1a3 → 0.0.1-commit.2d9cb6034

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 (88) hide show
  1. package/dest/client/sequencer-client.d.ts +15 -7
  2. package/dest/client/sequencer-client.d.ts.map +1 -1
  3. package/dest/client/sequencer-client.js +60 -26
  4. package/dest/config.d.ts +26 -7
  5. package/dest/config.d.ts.map +1 -1
  6. package/dest/config.js +47 -28
  7. package/dest/global_variable_builder/global_builder.d.ts +15 -11
  8. package/dest/global_variable_builder/global_builder.d.ts.map +1 -1
  9. package/dest/global_variable_builder/global_builder.js +29 -25
  10. package/dest/global_variable_builder/index.d.ts +2 -2
  11. package/dest/global_variable_builder/index.d.ts.map +1 -1
  12. package/dest/publisher/config.d.ts +47 -17
  13. package/dest/publisher/config.d.ts.map +1 -1
  14. package/dest/publisher/config.js +121 -42
  15. package/dest/publisher/index.d.ts +2 -1
  16. package/dest/publisher/index.d.ts.map +1 -1
  17. package/dest/publisher/l1_tx_failed_store/factory.d.ts +11 -0
  18. package/dest/publisher/l1_tx_failed_store/factory.d.ts.map +1 -0
  19. package/dest/publisher/l1_tx_failed_store/factory.js +22 -0
  20. package/dest/publisher/l1_tx_failed_store/failed_tx_store.d.ts +59 -0
  21. package/dest/publisher/l1_tx_failed_store/failed_tx_store.d.ts.map +1 -0
  22. package/dest/publisher/l1_tx_failed_store/failed_tx_store.js +1 -0
  23. package/dest/publisher/l1_tx_failed_store/file_store_failed_tx_store.d.ts +15 -0
  24. package/dest/publisher/l1_tx_failed_store/file_store_failed_tx_store.d.ts.map +1 -0
  25. package/dest/publisher/l1_tx_failed_store/file_store_failed_tx_store.js +34 -0
  26. package/dest/publisher/l1_tx_failed_store/index.d.ts +4 -0
  27. package/dest/publisher/l1_tx_failed_store/index.d.ts.map +1 -0
  28. package/dest/publisher/l1_tx_failed_store/index.js +2 -0
  29. package/dest/publisher/sequencer-publisher-factory.d.ts +11 -3
  30. package/dest/publisher/sequencer-publisher-factory.d.ts.map +1 -1
  31. package/dest/publisher/sequencer-publisher-factory.js +27 -2
  32. package/dest/publisher/sequencer-publisher-metrics.d.ts +1 -1
  33. package/dest/publisher/sequencer-publisher-metrics.d.ts.map +1 -1
  34. package/dest/publisher/sequencer-publisher-metrics.js +12 -4
  35. package/dest/publisher/sequencer-publisher.d.ts +76 -31
  36. package/dest/publisher/sequencer-publisher.d.ts.map +1 -1
  37. package/dest/publisher/sequencer-publisher.js +434 -88
  38. package/dest/sequencer/checkpoint_proposal_job.d.ts +61 -13
  39. package/dest/sequencer/checkpoint_proposal_job.d.ts.map +1 -1
  40. package/dest/sequencer/checkpoint_proposal_job.js +400 -201
  41. package/dest/sequencer/checkpoint_voter.d.ts +1 -2
  42. package/dest/sequencer/checkpoint_voter.d.ts.map +1 -1
  43. package/dest/sequencer/checkpoint_voter.js +2 -5
  44. package/dest/sequencer/events.d.ts +2 -1
  45. package/dest/sequencer/events.d.ts.map +1 -1
  46. package/dest/sequencer/metrics.d.ts +21 -5
  47. package/dest/sequencer/metrics.d.ts.map +1 -1
  48. package/dest/sequencer/metrics.js +122 -30
  49. package/dest/sequencer/sequencer.d.ts +42 -17
  50. package/dest/sequencer/sequencer.d.ts.map +1 -1
  51. package/dest/sequencer/sequencer.js +147 -89
  52. package/dest/sequencer/timetable.d.ts +4 -6
  53. package/dest/sequencer/timetable.d.ts.map +1 -1
  54. package/dest/sequencer/timetable.js +7 -11
  55. package/dest/sequencer/types.d.ts +2 -2
  56. package/dest/sequencer/types.d.ts.map +1 -1
  57. package/dest/test/index.d.ts +3 -5
  58. package/dest/test/index.d.ts.map +1 -1
  59. package/dest/test/mock_checkpoint_builder.d.ts +12 -12
  60. package/dest/test/mock_checkpoint_builder.d.ts.map +1 -1
  61. package/dest/test/mock_checkpoint_builder.js +45 -36
  62. package/dest/test/utils.d.ts +3 -3
  63. package/dest/test/utils.d.ts.map +1 -1
  64. package/dest/test/utils.js +5 -4
  65. package/package.json +27 -28
  66. package/src/client/sequencer-client.ts +76 -23
  67. package/src/config.ts +65 -38
  68. package/src/global_variable_builder/global_builder.ts +38 -27
  69. package/src/global_variable_builder/index.ts +1 -1
  70. package/src/publisher/config.ts +153 -43
  71. package/src/publisher/index.ts +3 -0
  72. package/src/publisher/l1_tx_failed_store/factory.ts +32 -0
  73. package/src/publisher/l1_tx_failed_store/failed_tx_store.ts +55 -0
  74. package/src/publisher/l1_tx_failed_store/file_store_failed_tx_store.ts +46 -0
  75. package/src/publisher/l1_tx_failed_store/index.ts +3 -0
  76. package/src/publisher/sequencer-publisher-factory.ts +38 -6
  77. package/src/publisher/sequencer-publisher-metrics.ts +7 -3
  78. package/src/publisher/sequencer-publisher.ts +474 -111
  79. package/src/sequencer/checkpoint_proposal_job.ts +532 -224
  80. package/src/sequencer/checkpoint_voter.ts +1 -12
  81. package/src/sequencer/events.ts +1 -1
  82. package/src/sequencer/metrics.ts +138 -32
  83. package/src/sequencer/sequencer.ts +213 -106
  84. package/src/sequencer/timetable.ts +13 -12
  85. package/src/sequencer/types.ts +1 -1
  86. package/src/test/index.ts +2 -4
  87. package/src/test/mock_checkpoint_builder.ts +65 -53
  88. package/src/test/utils.ts +5 -2
@@ -3,7 +3,7 @@ import { type Logger } from '@aztec/aztec.js/log';
3
3
  import type { BlobClientInterface } from '@aztec/blob-client/client';
4
4
  import type { EpochCache } from '@aztec/epoch-cache';
5
5
  import type { GovernanceProposerContract, RollupContract } from '@aztec/ethereum/contracts';
6
- import type { L1TxUtilsWithBlobs } from '@aztec/ethereum/l1-tx-utils-with-blobs';
6
+ import type { L1TxUtils } from '@aztec/ethereum/l1-tx-utils';
7
7
  import type { PublisherManager } from '@aztec/ethereum/publisher-manager';
8
8
  import type { DateProvider } from '@aztec/foundation/timer';
9
9
  import type { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
@@ -21,10 +21,11 @@ export declare class SequencerPublisherFactory {
21
21
  private publisherMetrics;
22
22
  /** Stores the last slot in which every action was carried out by a publisher */
23
23
  private lastActions;
24
+ private nodeKeyStore;
24
25
  private logger;
25
26
  constructor(sequencerConfig: SequencerClientConfig, deps: {
26
27
  telemetry: TelemetryClient;
27
- publisherManager: PublisherManager<L1TxUtilsWithBlobs>;
28
+ publisherManager: PublisherManager<L1TxUtils>;
28
29
  blobClient: BlobClientInterface;
29
30
  dateProvider: DateProvider;
30
31
  epochCache: EpochCache;
@@ -34,11 +35,18 @@ export declare class SequencerPublisherFactory {
34
35
  nodeKeyStore: NodeKeystoreAdapter;
35
36
  logger?: Logger;
36
37
  });
38
+ /**
39
+ * Updates the node keystore adapter used for publisher lookups.
40
+ * Called when the keystore is reloaded at runtime to reflect new validator-publisher mappings.
41
+ */
42
+ updateNodeKeyStore(adapter: NodeKeystoreAdapter): void;
37
43
  /**
38
44
  * Creates a new SequencerPublisher instance.
39
45
  * @param _validatorAddress - The address of the validator that will be using the publisher.
40
46
  * @returns A new SequencerPublisher instance.
41
47
  */
42
48
  create(validatorAddress?: EthAddress): Promise<AttestorPublisherPair>;
49
+ /** Stops all publishers managed by this factory. Used during sequencer shutdown. */
50
+ stopAll(): Promise<void>;
43
51
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLXB1Ymxpc2hlci1mYWN0b3J5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaGVyL3NlcXVlbmNlci1wdWJsaXNoZXItZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUYsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBbUIsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFELE9BQU8sRUFBZSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNFLE1BQU0sTUFBTSxxQkFBcUIsR0FBRztJQUNsQyxlQUFlLEVBQUUsVUFBVSxDQUFDO0lBQzVCLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQztDQUMvQixDQUFDO0FBRUYscUJBQWEseUJBQXlCO0lBU2xDLE9BQU8sQ0FBQyxlQUFlO0lBQ3ZCLE9BQU8sQ0FBQyxJQUFJO0lBVGQsT0FBTyxDQUFDLGdCQUFnQixDQUE0QjtJQUVwRCxnRkFBZ0Y7SUFDaEYsT0FBTyxDQUFDLFdBQVcsQ0FBMkM7SUFFOUQsT0FBTyxDQUFDLE1BQU0sQ0FBUztJQUV2QixZQUNVLGVBQWUsRUFBRSxxQkFBcUIsRUFDdEMsSUFBSSxFQUFFO1FBQ1osU0FBUyxFQUFFLGVBQWUsQ0FBQztRQUMzQixnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZELFVBQVUsRUFBRSxtQkFBbUIsQ0FBQztRQUNoQyxZQUFZLEVBQUUsWUFBWSxDQUFDO1FBQzNCLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFDdkIsY0FBYyxFQUFFLGNBQWMsQ0FBQztRQUMvQiwwQkFBMEIsRUFBRSwwQkFBMEIsQ0FBQztRQUN2RCxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQztRQUMzQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7UUFDbEMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDO0tBQ2pCLEVBSUY7SUFDRDs7OztPQUlHO0lBQ1UsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQXFDakY7Q0FDRiJ9
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLXB1Ymxpc2hlci1mYWN0b3J5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaGVyL3NlcXVlbmNlci1wdWJsaXNoZXItZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUYsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQW1CLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFM0YsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxRCxPQUFPLEVBQWUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRSxNQUFNLE1BQU0scUJBQXFCLEdBQUc7SUFDbEMsZUFBZSxFQUFFLFVBQVUsQ0FBQztJQUM1QixTQUFTLEVBQUUsa0JBQWtCLENBQUM7Q0FDL0IsQ0FBQztBQUVGLHFCQUFhLHlCQUF5QjtJQVdsQyxPQUFPLENBQUMsZUFBZTtJQUN2QixPQUFPLENBQUMsSUFBSTtJQVhkLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBNEI7SUFFcEQsZ0ZBQWdGO0lBQ2hGLE9BQU8sQ0FBQyxXQUFXLENBQTJDO0lBRTlELE9BQU8sQ0FBQyxZQUFZLENBQXNCO0lBRTFDLE9BQU8sQ0FBQyxNQUFNLENBQVM7SUFFdkIsWUFDVSxlQUFlLEVBQUUscUJBQXFCLEVBQ3RDLElBQUksRUFBRTtRQUNaLFNBQVMsRUFBRSxlQUFlLENBQUM7UUFDM0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDO1FBQ2hDLFlBQVksRUFBRSxZQUFZLENBQUM7UUFDM0IsVUFBVSxFQUFFLFVBQVUsQ0FBQztRQUN2QixjQUFjLEVBQUUsY0FBYyxDQUFDO1FBQy9CLDBCQUEwQixFQUFFLDBCQUEwQixDQUFDO1FBQ3ZELG9CQUFvQixFQUFFLG9CQUFvQixDQUFDO1FBQzNDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztRQUNsQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7S0FDakIsRUFLRjtJQUVEOzs7T0FHRztJQUNJLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxtQkFBbUIsR0FBRyxJQUFJLENBRTVEO0lBRUQ7Ozs7T0FJRztJQUNVLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FvRGpGO0lBRUQsb0ZBQW9GO0lBQ3ZFLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRXBDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer-publisher-factory.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAe,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,UAAU,CAAC;IAC5B,SAAS,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAEF,qBAAa,yBAAyB;IASlC,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,IAAI;IATd,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,gFAAgF;IAChF,OAAO,CAAC,WAAW,CAA2C;IAE9D,OAAO,CAAC,MAAM,CAAS;IAEvB,YACU,eAAe,EAAE,qBAAqB,EACtC,IAAI,EAAE;QACZ,SAAS,EAAE,eAAe,CAAC;QAC3B,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACvD,UAAU,EAAE,mBAAmB,CAAC;QAChC,YAAY,EAAE,YAAY,CAAC;QAC3B,UAAU,EAAE,UAAU,CAAC;QACvB,cAAc,EAAE,cAAc,CAAC;QAC/B,0BAA0B,EAAE,0BAA0B,CAAC;QACvD,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,YAAY,EAAE,mBAAmB,CAAC;QAClC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAIF;IACD;;;;OAIG;IACU,MAAM,CAAC,gBAAgB,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAqCjF;CACF"}
1
+ {"version":3,"file":"sequencer-publisher-factory.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAe,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,UAAU,CAAC;IAC5B,SAAS,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAEF,qBAAa,yBAAyB;IAWlC,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,IAAI;IAXd,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,gFAAgF;IAChF,OAAO,CAAC,WAAW,CAA2C;IAE9D,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,MAAM,CAAS;IAEvB,YACU,eAAe,EAAE,qBAAqB,EACtC,IAAI,EAAE;QACZ,SAAS,EAAE,eAAe,CAAC;QAC3B,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9C,UAAU,EAAE,mBAAmB,CAAC;QAChC,YAAY,EAAE,YAAY,CAAC;QAC3B,UAAU,EAAE,UAAU,CAAC;QACvB,cAAc,EAAE,cAAc,CAAC;QAC/B,0BAA0B,EAAE,0BAA0B,CAAC;QACvD,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,YAAY,EAAE,mBAAmB,CAAC;QAClC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAKF;IAED;;;OAGG;IACI,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAE5D;IAED;;;;OAIG;IACU,MAAM,CAAC,gBAAgB,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAoDjF;IAED,oFAAoF;IACvE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpC;CACF"}
@@ -6,6 +6,7 @@ export class SequencerPublisherFactory {
6
6
  deps;
7
7
  publisherMetrics;
8
8
  /** Stores the last slot in which every action was carried out by a publisher */ lastActions;
9
+ nodeKeyStore;
9
10
  logger;
10
11
  constructor(sequencerConfig, deps){
11
12
  this.sequencerConfig = sequencerConfig;
@@ -13,6 +14,13 @@ export class SequencerPublisherFactory {
13
14
  this.lastActions = {};
14
15
  this.publisherMetrics = new SequencerPublisherMetrics(deps.telemetry, 'SequencerPublisher');
15
16
  this.logger = deps.logger ?? createLogger('sequencer');
17
+ this.nodeKeyStore = this.deps.nodeKeyStore;
18
+ }
19
+ /**
20
+ * Updates the node keystore adapter used for publisher lookups.
21
+ * Called when the keystore is reloaded at runtime to reflect new validator-publisher mappings.
22
+ */ updateNodeKeyStore(adapter) {
23
+ this.nodeKeyStore = adapter;
16
24
  }
17
25
  /**
18
26
  * Creates a new SequencerPublisher instance.
@@ -20,17 +28,31 @@ export class SequencerPublisherFactory {
20
28
  * @returns A new SequencerPublisher instance.
21
29
  */ async create(validatorAddress) {
22
30
  // If we have been given an attestor address we must only allow publishers permitted for that attestor
23
- const allowedPublishers = !validatorAddress ? [] : this.deps.nodeKeyStore.getPublisherAddresses(validatorAddress);
31
+ const allowedPublishers = !validatorAddress ? [] : this.nodeKeyStore.getPublisherAddresses(validatorAddress);
24
32
  const filter = !validatorAddress ? ()=>true : (utils)=>{
25
33
  const publisherAddress = utils.getSenderAddress();
26
34
  return allowedPublishers.some((allowedPublisher)=>allowedPublisher.equals(publisherAddress));
27
35
  };
28
36
  const l1Publisher = await this.deps.publisherManager.getAvailablePublisher(filter);
29
- const attestorAddress = validatorAddress ?? this.deps.nodeKeyStore.getAttestorForPublisher(l1Publisher.getSenderAddress());
37
+ const attestorAddress = validatorAddress ?? this.nodeKeyStore.getAttestorForPublisher(l1Publisher.getSenderAddress());
30
38
  const rollup = this.deps.rollupContract;
31
39
  const slashingProposerContract = await rollup.getSlashingProposer();
40
+ const getNextPublisher = async (excludeAddresses)=>{
41
+ const exclusionFilter = (utils)=>{
42
+ if (excludeAddresses.some((addr)=>addr.equals(utils.getSenderAddress()))) {
43
+ return false;
44
+ }
45
+ return filter(utils);
46
+ };
47
+ try {
48
+ return await this.deps.publisherManager.getAvailablePublisher(exclusionFilter);
49
+ } catch {
50
+ return undefined;
51
+ }
52
+ };
32
53
  const publisher = new SequencerPublisher(this.sequencerConfig, {
33
54
  l1TxUtils: l1Publisher,
55
+ getNextPublisher,
34
56
  telemetry: this.deps.telemetry,
35
57
  blobClient: this.deps.blobClient,
36
58
  rollupContract: this.deps.rollupContract,
@@ -48,4 +70,7 @@ export class SequencerPublisherFactory {
48
70
  publisher
49
71
  };
50
72
  }
73
+ /** Stops all publishers managed by this factory. Used during sequencer shutdown. */ async stopAll() {
74
+ await this.deps.publisherManager.stop();
75
+ }
51
76
  }
@@ -23,4 +23,4 @@ export declare class SequencerPublisherMetrics {
23
23
  recordSenderBalance(wei: bigint, senderAddress: string): void;
24
24
  private recordTx;
25
25
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLXB1Ymxpc2hlci1tZXRyaWNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaGVyL3NlcXVlbmNlci1wdWJsaXNoZXItbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRixPQUFPLEVBS0wsS0FBSyxlQUFlLEVBRXJCLE1BQU0seUJBQXlCLENBQUM7QUFJakMsTUFBTSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUM7QUFFakMscUJBQWEseUJBQXlCO0lBc0JsQyxPQUFPLENBQUMsTUFBTTtJQXJCaEIsT0FBTyxDQUFDLFFBQVEsQ0FBWTtJQUU1QixPQUFPLENBQUMsT0FBTyxDQUFnQjtJQUMvQixPQUFPLENBQUMsVUFBVSxDQUFZO0lBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQVk7SUFDekIsT0FBTyxDQUFDLGNBQWMsQ0FBWTtJQUNsQyxPQUFPLENBQUMsYUFBYSxDQUFZO0lBQ2pDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBWTtJQUNyQyxPQUFPLENBQUMsaUJBQWlCLENBQVk7SUFDckMsT0FBTyxDQUFDLFVBQVUsQ0FBWTtJQUU5QixPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFZO0lBQy9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQVk7SUFDekQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBZ0I7SUFDckQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBZ0I7SUFFckQsT0FBTyxDQUFDLGFBQWEsQ0FBUTtJQUU3QixZQUNFLE1BQU0sRUFBRSxlQUFlLEVBQ3ZCLElBQUksU0FBdUIsRUFDbkIsTUFBTSx1Q0FBOEMsRUErQjdEO0lBRUQsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLFFBUzlCO0lBRUQsb0JBQW9CLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsd0JBQXdCLFFBWXZFO0lBRUQsbUJBQW1CLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUtyRDtJQUVELE9BQU8sQ0FBQyxRQUFRO0NBdUNqQiJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLXB1Ymxpc2hlci1tZXRyaWNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaGVyL3NlcXVlbmNlci1wdWJsaXNoZXItbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRixPQUFPLEVBS0wsS0FBSyxlQUFlLEVBR3JCLE1BQU0seUJBQXlCLENBQUM7QUFJakMsTUFBTSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUM7QUFFakMscUJBQWEseUJBQXlCO0lBc0JsQyxPQUFPLENBQUMsTUFBTTtJQXJCaEIsT0FBTyxDQUFDLFFBQVEsQ0FBWTtJQUU1QixPQUFPLENBQUMsT0FBTyxDQUFnQjtJQUMvQixPQUFPLENBQUMsVUFBVSxDQUFZO0lBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQVk7SUFDekIsT0FBTyxDQUFDLGNBQWMsQ0FBWTtJQUNsQyxPQUFPLENBQUMsYUFBYSxDQUFZO0lBQ2pDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBWTtJQUNyQyxPQUFPLENBQUMsaUJBQWlCLENBQVk7SUFDckMsT0FBTyxDQUFDLFVBQVUsQ0FBWTtJQUU5QixPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFZO0lBQy9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQVk7SUFDekQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBZ0I7SUFDckQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBZ0I7SUFFckQsT0FBTyxDQUFDLGFBQWEsQ0FBUTtJQUU3QixZQUNFLE1BQU0sRUFBRSxlQUFlLEVBQ3ZCLElBQUksU0FBdUIsRUFDbkIsTUFBTSx1Q0FBOEMsRUFrQzdEO0lBRUQsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLFFBUzlCO0lBRUQsb0JBQW9CLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsd0JBQXdCLFFBWXZFO0lBRUQsbUJBQW1CLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUtyRDtJQUVELE9BQU8sQ0FBQyxRQUFRO0NBdUNqQiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer-publisher-metrics.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher-metrics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAkB,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAKL,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAIjC,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC;AAEjC,qBAAa,yBAAyB;IAsBlC,OAAO,CAAC,MAAM;IArBhB,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,iBAAiB,CAAY;IACrC,OAAO,CAAC,iBAAiB,CAAY;IACrC,OAAO,CAAC,UAAU,CAAY;IAE9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAY;IACzD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IAErD,OAAO,CAAC,aAAa,CAAQ;IAE7B,YACE,MAAM,EAAE,eAAe,EACvB,IAAI,SAAuB,EACnB,MAAM,uCAA8C,EA+B7D;IAED,cAAc,CAAC,MAAM,EAAE,QAAQ,QAS9B;IAED,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,QAYvE;IAED,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAKrD;IAED,OAAO,CAAC,QAAQ;CAuCjB"}
1
+ {"version":3,"file":"sequencer-publisher-metrics.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher-metrics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAkB,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAKL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAIjC,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC;AAEjC,qBAAa,yBAAyB;IAsBlC,OAAO,CAAC,MAAM;IArBhB,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,iBAAiB,CAAY;IACrC,OAAO,CAAC,iBAAiB,CAAY;IACrC,OAAO,CAAC,UAAU,CAAY;IAE9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAY;IACzD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IAErD,OAAO,CAAC,aAAa,CAAQ;IAE7B,YACE,MAAM,EAAE,eAAe,EACvB,IAAI,SAAuB,EACnB,MAAM,uCAA8C,EAkC7D;IAED,cAAc,CAAC,MAAM,EAAE,QAAQ,QAS9B;IAED,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,QAYvE;IAED,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAKrD;IAED,OAAO,CAAC,QAAQ;CAuCjB"}
@@ -1,5 +1,5 @@
1
1
  import { createLogger } from '@aztec/aztec.js/log';
2
- import { Attributes, Metrics } from '@aztec/telemetry-client';
2
+ import { Attributes, Metrics, createUpDownCounterWithDefault } from '@aztec/telemetry-client';
3
3
  import { formatEther } from 'viem/utils';
4
4
  export class SequencerPublisherMetrics {
5
5
  logger;
@@ -21,7 +21,15 @@ export class SequencerPublisherMetrics {
21
21
  this.logger = logger;
22
22
  const meter = client.getMeter(name);
23
23
  this.gasPrice = meter.createHistogram(Metrics.L1_PUBLISHER_GAS_PRICE);
24
- this.txCount = meter.createUpDownCounter(Metrics.L1_PUBLISHER_TX_COUNT);
24
+ this.txCount = createUpDownCounterWithDefault(meter, Metrics.L1_PUBLISHER_TX_COUNT, {
25
+ [Attributes.L1_TX_TYPE]: [
26
+ 'process'
27
+ ],
28
+ [Attributes.OK]: [
29
+ true,
30
+ false
31
+ ]
32
+ });
25
33
  this.txDuration = meter.createHistogram(Metrics.L1_PUBLISHER_TX_DURATION);
26
34
  this.txGas = meter.createHistogram(Metrics.L1_PUBLISHER_TX_GAS);
27
35
  this.txCalldataSize = meter.createHistogram(Metrics.L1_PUBLISHER_TX_CALLDATA_SIZE);
@@ -30,8 +38,8 @@ export class SequencerPublisherMetrics {
30
38
  this.txBlobDataGasCost = meter.createHistogram(Metrics.L1_PUBLISHER_TX_BLOBDATA_GAS_COST);
31
39
  this.blobCountHistogram = meter.createHistogram(Metrics.L1_PUBLISHER_BLOB_COUNT);
32
40
  this.blobInclusionBlocksHistogram = meter.createHistogram(Metrics.L1_PUBLISHER_BLOB_INCLUSION_BLOCKS);
33
- this.blobTxSuccessCounter = meter.createUpDownCounter(Metrics.L1_PUBLISHER_BLOB_TX_SUCCESS);
34
- this.blobTxFailureCounter = meter.createUpDownCounter(Metrics.L1_PUBLISHER_BLOB_TX_FAILURE);
41
+ this.blobTxSuccessCounter = createUpDownCounterWithDefault(meter, Metrics.L1_PUBLISHER_BLOB_TX_SUCCESS);
42
+ this.blobTxFailureCounter = createUpDownCounterWithDefault(meter, Metrics.L1_PUBLISHER_BLOB_TX_FAILURE);
35
43
  this.txTotalFee = meter.createHistogram(Metrics.L1_PUBLISHER_TX_TOTAL_FEE);
36
44
  this.senderBalance = meter.createGauge(Metrics.L1_PUBLISHER_BALANCE);
37
45
  }
@@ -1,17 +1,16 @@
1
1
  import type { BlobClientInterface } from '@aztec/blob-client/client';
2
2
  import type { EpochCache } from '@aztec/epoch-cache';
3
3
  import type { L1ContractsConfig } from '@aztec/ethereum/config';
4
- import { type EmpireSlashingProposerContract, type GovernanceProposerContract, RollupContract, type TallySlashingProposerContract } from '@aztec/ethereum/contracts';
4
+ import { type EmpireSlashingProposerContract, type FeeHeader, type GovernanceProposerContract, RollupContract, type TallySlashingProposerContract } from '@aztec/ethereum/contracts';
5
5
  import { type L1FeeAnalysisResult, L1FeeAnalyzer } from '@aztec/ethereum/l1-fee-analysis';
6
- import { type L1BlobInputs, type L1TxConfig, type L1TxRequest, type TransactionStats } from '@aztec/ethereum/l1-tx-utils';
7
- import type { L1TxUtilsWithBlobs } from '@aztec/ethereum/l1-tx-utils-with-blobs';
6
+ import { type L1BlobInputs, type L1TxConfig, type L1TxRequest, type L1TxUtils, type TransactionStats } from '@aztec/ethereum/l1-tx-utils';
8
7
  import { FormattedViemError } from '@aztec/ethereum/utils';
9
8
  import { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
10
9
  import type { Fr } from '@aztec/foundation/curves/bn254';
11
10
  import { EthAddress } from '@aztec/foundation/eth-address';
12
11
  import { Signature } from '@aztec/foundation/eth-signature';
13
12
  import { type Logger } from '@aztec/foundation/log';
14
- import { DateProvider } from '@aztec/foundation/timer';
13
+ import { type DateProvider } from '@aztec/foundation/timer';
15
14
  import { type ProposerSlashAction } from '@aztec/slasher';
16
15
  import { CommitteeAttestationsAndSigners, type ValidateCheckpointResult } from '@aztec/stdlib/block';
17
16
  import type { Checkpoint } from '@aztec/stdlib/checkpoint';
@@ -19,8 +18,24 @@ import { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
19
18
  import type { CheckpointHeader } from '@aztec/stdlib/rollup';
20
19
  import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
21
20
  import { type TransactionReceipt, type TypedDataDefinition } from 'viem';
22
- import type { PublisherConfig, TxSenderConfig } from './config.js';
21
+ import type { SequencerPublisherConfig } from './config.js';
23
22
  import { SequencerPublisherMetrics } from './sequencer-publisher-metrics.js';
23
+ /** Result of a sendRequests call, returned by both sendRequests() and sendRequestsAt(). */
24
+ export type SendRequestsResult = {
25
+ /** The L1 transaction receipt or error from the bundled multicall. */
26
+ result: {
27
+ receipt: TransactionReceipt;
28
+ errorMsg?: string;
29
+ } | FormattedViemError;
30
+ /** Actions that expired (past their deadline) before the request was sent. */
31
+ expiredActions: Action[];
32
+ /** Actions that were included in the sent L1 transaction. */
33
+ sentActions: Action[];
34
+ /** Actions whose L1 simulation succeeded (subset of sentActions). */
35
+ successfulActions: Action[];
36
+ /** Actions whose L1 simulation failed (subset of sentActions). */
37
+ failedActions: Action[];
38
+ };
24
39
  export declare const Actions: readonly ["invalidate-by-invalid-attestation", "invalidate-by-insufficient-attestations", "propose", "governance-signal", "empire-slashing-signal", "create-empire-payload", "execute-empire-payload", "vote-offenses", "execute-slash"];
25
40
  export type Action = (typeof Actions)[number];
26
41
  export declare const compareActions: (a: "create-empire-payload" | "empire-slashing-signal" | "execute-empire-payload" | "execute-slash" | "governance-signal" | "invalidate-by-insufficient-attestations" | "invalidate-by-invalid-attestation" | "propose" | "vote-offenses", b: "create-empire-payload" | "empire-slashing-signal" | "execute-empire-payload" | "execute-slash" | "governance-signal" | "invalidate-by-insufficient-attestations" | "invalidate-by-invalid-attestation" | "propose" | "vote-offenses") => number;
@@ -30,6 +45,8 @@ export type InvalidateCheckpointRequest = {
30
45
  gasUsed: bigint;
31
46
  checkpointNumber: CheckpointNumber;
32
47
  forcePendingCheckpointNumber: CheckpointNumber;
48
+ /** Archive at the rollback target checkpoint (checkpoint N-1). */
49
+ lastArchive: Fr;
33
50
  };
34
51
  interface RequestWithExpiry {
35
52
  action: Action;
@@ -48,31 +65,43 @@ export declare class SequencerPublisher {
48
65
  private interrupted;
49
66
  private metrics;
50
67
  epochCache: EpochCache;
68
+ private failedTxStore?;
51
69
  protected governanceLog: Logger;
52
70
  protected slashingLog: Logger;
53
71
  protected lastActions: Partial<Record<Action, SlotNumber>>;
54
72
  private isPayloadEmptyCache;
73
+ private payloadProposedCache;
55
74
  protected log: Logger;
56
75
  protected ethereumSlotDuration: bigint;
76
+ protected aztecSlotDuration: bigint;
77
+ /** Date provider for wall-clock time. */
78
+ private readonly dateProvider;
57
79
  private blobClient;
58
80
  /** Address to use for simulations in fisherman mode (actual proposer's address) */
59
81
  private proposerAddressForSimulation?;
82
+ /** Optional callback to obtain a replacement publisher when the current one fails to send. */
83
+ private getNextPublisher?;
60
84
  /** L1 fee analyzer for fisherman mode */
61
85
  private l1FeeAnalyzer?;
62
- static PROPOSE_GAS_GUESS: bigint;
86
+ /** Fee asset price oracle for computing price modifiers from Uniswap V4 */
87
+ private feeAssetPriceOracle;
88
+ /** Interruptible sleep used by sendRequestsAt to wait until a target timestamp. */
89
+ private readonly interruptibleSleep;
63
90
  static MULTICALL_OVERHEAD_GAS_GUESS: bigint;
64
91
  static VOTE_GAS_GUESS: bigint;
65
- l1TxUtils: L1TxUtilsWithBlobs;
92
+ l1TxUtils: L1TxUtils;
66
93
  rollupContract: RollupContract;
67
94
  govProposerContract: GovernanceProposerContract;
68
95
  slashingProposerContract: EmpireSlashingProposerContract | TallySlashingProposerContract | undefined;
69
96
  slashFactoryContract: SlashFactoryContract;
70
97
  readonly tracer: Tracer;
71
98
  protected requests: RequestWithExpiry[];
72
- constructor(config: TxSenderConfig & PublisherConfig & Pick<L1ContractsConfig, 'ethereumSlotDuration'>, deps: {
99
+ constructor(config: Pick<SequencerPublisherConfig, 'fishermanMode' | 'l1TxFailedStore'> & Pick<L1ContractsConfig, 'ethereumSlotDuration' | 'aztecSlotDuration'> & {
100
+ l1ChainId: number;
101
+ }, deps: {
73
102
  telemetry?: TelemetryClient;
74
103
  blobClient: BlobClientInterface;
75
- l1TxUtils: L1TxUtilsWithBlobs;
104
+ l1TxUtils: L1TxUtils;
76
105
  rollupContract: RollupContract;
77
106
  slashingProposerContract: EmpireSlashingProposerContract | TallySlashingProposerContract | undefined;
78
107
  governanceProposerContract: GovernanceProposerContract;
@@ -82,8 +111,19 @@ export declare class SequencerPublisher {
82
111
  metrics: SequencerPublisherMetrics;
83
112
  lastActions: Partial<Record<Action, SlotNumber>>;
84
113
  log?: Logger;
114
+ getNextPublisher?: (excludeAddresses: EthAddress[]) => Promise<L1TxUtils | undefined>;
85
115
  });
116
+ /**
117
+ * Backs up a failed L1 transaction to the configured store for debugging.
118
+ * Does nothing if no store is configured.
119
+ */
120
+ private backupFailedTx;
86
121
  getRollupContract(): RollupContract;
122
+ /**
123
+ * Gets the fee asset price modifier from the oracle.
124
+ * Returns 0n if the oracle query fails.
125
+ */
126
+ getFeeAssetPriceModifier(): Promise<bigint>;
87
127
  getSenderAddress(): EthAddress;
88
128
  /**
89
129
  * Gets the L1 fee analyzer instance (only available in fisherman mode)
@@ -115,29 +155,22 @@ export declare class SequencerPublisher {
115
155
  * - a receipt and errorMsg if it failed on L1
116
156
  * - undefined if no valid requests are found OR the tx failed to send.
117
157
  */
118
- sendRequests(): Promise<{
119
- result: FormattedViemError | {
120
- receipt: TransactionReceipt<bigint, number, "reverted" | "success", import("viem").TransactionType>;
121
- stats: TransactionStats | undefined;
122
- errorMsg?: undefined;
123
- } | {
124
- stats?: undefined;
125
- receipt: TransactionReceipt<bigint, number, "reverted" | "success", import("viem").TransactionType>;
126
- errorMsg: string | undefined;
127
- };
128
- expiredActions: ("create-empire-payload" | "empire-slashing-signal" | "execute-empire-payload" | "execute-slash" | "governance-signal" | "invalidate-by-insufficient-attestations" | "invalidate-by-invalid-attestation" | "propose" | "vote-offenses")[];
129
- sentActions: ("create-empire-payload" | "empire-slashing-signal" | "execute-empire-payload" | "execute-slash" | "governance-signal" | "invalidate-by-insufficient-attestations" | "invalidate-by-invalid-attestation" | "propose" | "vote-offenses")[];
130
- successfulActions: ("create-empire-payload" | "empire-slashing-signal" | "execute-empire-payload" | "execute-slash" | "governance-signal" | "invalidate-by-insufficient-attestations" | "invalidate-by-invalid-attestation" | "propose" | "vote-offenses")[];
131
- failedActions: ("create-empire-payload" | "empire-slashing-signal" | "execute-empire-payload" | "execute-slash" | "governance-signal" | "invalidate-by-insufficient-attestations" | "invalidate-by-invalid-attestation" | "propose" | "vote-offenses")[];
132
- } | undefined>;
158
+ sendRequests(): Promise<SendRequestsResult | undefined>;
159
+ private forwardWithPublisherRotation;
160
+ sendRequestsAt(submitAfter: Date): Promise<SendRequestsResult | undefined>;
133
161
  private callbackBundledTransactions;
134
162
  /**
135
- * @notice Will call `canProposeAtNextEthBlock` to make sure that it is possible to propose
163
+ * @notice Will call `canProposeAt` to make sure that it is possible to propose
136
164
  * @param tipArchive - The archive to check
137
165
  * @returns The slot and block number if it is possible to propose, undefined otherwise
138
166
  */
139
- canProposeAtNextEthBlock(tipArchive: Fr, msgSender: EthAddress, opts?: {
167
+ canProposeAt(tipArchive: Fr, msgSender: EthAddress, opts?: {
140
168
  forcePendingCheckpointNumber?: CheckpointNumber;
169
+ forceArchive?: {
170
+ checkpointNumber: CheckpointNumber;
171
+ archive: Fr;
172
+ };
173
+ pipelined?: boolean;
141
174
  }): Promise<{
142
175
  slot: SlotNumber;
143
176
  checkpointNumber: CheckpointNumber;
@@ -161,22 +194,29 @@ export declare class SequencerPublisher {
161
194
  /** Simulates `propose` to make sure that the checkpoint is valid for submission */
162
195
  validateCheckpointForSubmission(checkpoint: Checkpoint, attestationsAndSigners: CommitteeAttestationsAndSigners, attestationsAndSignersSignature: Signature, options: {
163
196
  forcePendingCheckpointNumber?: CheckpointNumber;
164
- }): Promise<bigint>;
197
+ forceProposedFeeHeader?: {
198
+ checkpointNumber: CheckpointNumber;
199
+ feeHeader: FeeHeader;
200
+ };
201
+ }): Promise<void>;
165
202
  private enqueueCastSignalHelper;
166
203
  private isPayloadEmpty;
167
204
  /**
168
205
  * Enqueues a governance castSignal transaction to cast a signal for a given slot number.
169
206
  * @param slotNumber - The slot number to cast a signal for.
170
- * @param timestamp - The timestamp of the slot to cast a signal for.
171
207
  * @returns True if the signal was successfully enqueued, false otherwise.
172
208
  */
173
- enqueueGovernanceCastSignal(governancePayload: EthAddress, slotNumber: SlotNumber, timestamp: bigint, signerAddress: EthAddress, signer: (msg: TypedDataDefinition) => Promise<`0x${string}`>): Promise<boolean>;
209
+ enqueueGovernanceCastSignal(governancePayload: EthAddress, slotNumber: SlotNumber, signerAddress: EthAddress, signer: (msg: TypedDataDefinition) => Promise<`0x${string}`>): Promise<boolean>;
174
210
  /** Enqueues all slashing actions as returned by the slasher client. */
175
- enqueueSlashingActions(actions: ProposerSlashAction[], slotNumber: SlotNumber, timestamp: bigint, signerAddress: EthAddress, signer: (msg: TypedDataDefinition) => Promise<`0x${string}`>): Promise<boolean>;
211
+ enqueueSlashingActions(actions: ProposerSlashAction[], slotNumber: SlotNumber, signerAddress: EthAddress, signer: (msg: TypedDataDefinition) => Promise<`0x${string}`>): Promise<boolean>;
176
212
  /** Simulates and enqueues a proposal for a checkpoint on L1 */
177
213
  enqueueProposeCheckpoint(checkpoint: Checkpoint, attestationsAndSigners: CommitteeAttestationsAndSigners, attestationsAndSignersSignature: Signature, opts?: {
178
214
  txTimeoutAt?: Date;
179
215
  forcePendingCheckpointNumber?: CheckpointNumber;
216
+ forceProposedFeeHeader?: {
217
+ checkpointNumber: CheckpointNumber;
218
+ feeHeader: FeeHeader;
219
+ };
180
220
  }): Promise<void>;
181
221
  enqueueInvalidateCheckpoint(request: InvalidateCheckpointRequest | undefined, opts?: {
182
222
  txTimeoutAt?: Date;
@@ -194,6 +234,11 @@ export declare class SequencerPublisher {
194
234
  private prepareProposeTx;
195
235
  private simulateProposeTx;
196
236
  private addProposeTx;
237
+ /** Returns the timestamp of the last L1 slot within a given L2 slot. Used as the simulation timestamp
238
+ * for eth_simulateV1 calls, since it's guaranteed to be greater than any L1 block produced during the slot. */
239
+ private getSimulationTimestamp;
240
+ /** Returns the timestamp of the next L1 slot boundary after now. */
241
+ private getNextL1SlotTimestamp;
197
242
  }
198
243
  export {};
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLXB1Ymxpc2hlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1Ymxpc2hlci9zZXF1ZW5jZXItcHVibGlzaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsS0FBSyw4QkFBOEIsRUFDbkMsS0FBSywwQkFBMEIsRUFJL0IsY0FBYyxFQUNkLEtBQUssNkJBQTZCLEVBR25DLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLEtBQUssbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUYsT0FBTyxFQUNMLEtBQUssWUFBWSxFQUNqQixLQUFLLFVBQVUsRUFDZixLQUFLLFdBQVcsRUFDaEIsS0FBSyxnQkFBZ0IsRUFFdEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBb0MsTUFBTSx1QkFBdUIsQ0FBQztBQUc3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0UsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQXNCLE1BQU0saUNBQWlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxZQUFZ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
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLXB1Ymxpc2hlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1Ymxpc2hlci9zZXF1ZW5jZXItcHVibGlzaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsS0FBSyw4QkFBOEIsRUFFbkMsS0FBSyxTQUFTLEVBQ2QsS0FBSywwQkFBMEIsRUFJL0IsY0FBYyxFQUNkLEtBQUssNkJBQTZCLEVBR25DLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLEtBQUssbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUYsT0FBTyxFQUNMLEtBQUssWUFBWSxFQUNqQixLQUFLLFVBQVUsRUFDZixLQUFLLFdBQVcsRUFDaEIsS0FBSyxTQUFTLEVBRWQsS0FBSyxnQkFBZ0IsRUFFdEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQStDLE1BQU0sdUJBQXVCLENBQUM7QUFHeEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRy9FLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFzQixNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUlsRSxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQVMsTUFBTSx5QkFB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
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer-publisher.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sequencer-publisher.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher.ts"],"names":[],"mappings":"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"}