@aztec/sequencer-client 0.69.0 → 0.69.1-devnet

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 (82) hide show
  1. package/dest/client/sequencer-client.d.ts +4 -0
  2. package/dest/client/sequencer-client.d.ts.map +1 -1
  3. package/dest/client/sequencer-client.js +4 -5
  4. package/dest/config.d.ts.map +1 -1
  5. package/dest/config.js +11 -1
  6. package/dest/index.d.ts +3 -1
  7. package/dest/index.d.ts.map +1 -1
  8. package/dest/index.js +4 -2
  9. package/dest/publisher/config.d.ts +4 -0
  10. package/dest/publisher/config.d.ts.map +1 -1
  11. package/dest/publisher/config.js +6 -1
  12. package/dest/publisher/index.d.ts +0 -1
  13. package/dest/publisher/index.d.ts.map +1 -1
  14. package/dest/publisher/index.js +1 -2
  15. package/dest/publisher/l1-publisher.d.ts +43 -12
  16. package/dest/publisher/l1-publisher.d.ts.map +1 -1
  17. package/dest/publisher/l1-publisher.js +184 -132
  18. package/dest/sequencer/index.d.ts +1 -0
  19. package/dest/sequencer/index.d.ts.map +1 -1
  20. package/dest/sequencer/index.js +2 -1
  21. package/dest/sequencer/sequencer.d.ts +22 -29
  22. package/dest/sequencer/sequencer.d.ts.map +1 -1
  23. package/dest/sequencer/sequencer.js +68 -132
  24. package/dest/sequencer/utils.d.ts +2 -2
  25. package/dest/sequencer/utils.d.ts.map +1 -1
  26. package/dest/sequencer/utils.js +3 -3
  27. package/dest/slasher/factory.d.ts +11 -0
  28. package/dest/slasher/factory.d.ts.map +1 -0
  29. package/dest/slasher/factory.js +10 -0
  30. package/dest/slasher/index.d.ts +3 -0
  31. package/dest/slasher/index.d.ts.map +1 -0
  32. package/dest/slasher/index.js +3 -0
  33. package/dest/slasher/slasher_client.d.ts +127 -0
  34. package/dest/slasher/slasher_client.d.ts.map +1 -0
  35. package/dest/slasher/slasher_client.js +305 -0
  36. package/dest/test/index.d.ts +18 -0
  37. package/dest/test/index.d.ts.map +1 -0
  38. package/dest/test/index.js +8 -0
  39. package/dest/{publisher → test}/test-l1-publisher.d.ts +1 -1
  40. package/dest/test/test-l1-publisher.d.ts.map +1 -0
  41. package/dest/test/test-l1-publisher.js +11 -0
  42. package/dest/tx_validator/archive_cache.d.ts +14 -0
  43. package/dest/tx_validator/archive_cache.d.ts.map +1 -0
  44. package/dest/tx_validator/archive_cache.js +22 -0
  45. package/dest/tx_validator/gas_validator.d.ts +2 -3
  46. package/dest/tx_validator/gas_validator.d.ts.map +1 -1
  47. package/dest/tx_validator/gas_validator.js +9 -22
  48. package/dest/tx_validator/nullifier_cache.d.ts +16 -0
  49. package/dest/tx_validator/nullifier_cache.d.ts.map +1 -0
  50. package/dest/tx_validator/nullifier_cache.js +24 -0
  51. package/dest/tx_validator/phases_validator.d.ts +2 -3
  52. package/dest/tx_validator/phases_validator.d.ts.map +1 -1
  53. package/dest/tx_validator/phases_validator.js +15 -24
  54. package/dest/tx_validator/tx_validator_factory.d.ts +15 -14
  55. package/dest/tx_validator/tx_validator_factory.d.ts.map +1 -1
  56. package/dest/tx_validator/tx_validator_factory.js +41 -24
  57. package/package.json +24 -20
  58. package/src/client/sequencer-client.ts +9 -3
  59. package/src/config.ts +10 -0
  60. package/src/index.ts +3 -1
  61. package/src/publisher/config.ts +10 -0
  62. package/src/publisher/index.ts +0 -1
  63. package/src/publisher/l1-publisher.ts +222 -137
  64. package/src/sequencer/index.ts +1 -0
  65. package/src/sequencer/sequencer.ts +91 -195
  66. package/src/sequencer/utils.ts +2 -2
  67. package/src/slasher/factory.ts +22 -0
  68. package/src/slasher/index.ts +2 -0
  69. package/src/slasher/slasher_client.ts +402 -0
  70. package/src/test/index.ts +23 -0
  71. package/src/{publisher → test}/test-l1-publisher.ts +1 -1
  72. package/src/tx_validator/archive_cache.ts +27 -0
  73. package/src/tx_validator/gas_validator.ts +11 -24
  74. package/src/tx_validator/nullifier_cache.ts +29 -0
  75. package/src/tx_validator/phases_validator.ts +22 -33
  76. package/src/tx_validator/tx_validator_factory.ts +89 -40
  77. package/dest/publisher/test-l1-publisher.d.ts.map +0 -1
  78. package/dest/publisher/test-l1-publisher.js +0 -11
  79. package/dest/publisher/utils.d.ts +0 -2
  80. package/dest/publisher/utils.d.ts.map +0 -1
  81. package/dest/publisher/utils.js +0 -13
  82. package/src/publisher/utils.ts +0 -14
@@ -1,3 +1,4 @@
1
1
  export * from './config.js';
2
2
  export * from './sequencer.js';
3
+ export * from './allowed.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sequencer/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sequencer/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './config.js';
2
2
  export * from './sequencer.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUMifQ==
3
+ export * from './allowed.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUMifQ==
@@ -1,8 +1,8 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
- import { type EpochProofQuote, type L1RollupConstants, type L1ToL2MessageSource, type L2Block, type L2BlockSource, type ProcessedTx, Tx, type TxHash, type TxValidator, type WorldStateSynchronizer } from '@aztec/circuit-types';
3
+ import { type EpochProofQuote, type L1RollupConstants, type L1ToL2MessageSource, type L2Block, type L2BlockSource, type TxHash, type WorldStateSynchronizer } from '@aztec/circuit-types';
4
4
  import type { Signature } from '@aztec/circuit-types/interfaces';
5
- import { BlockHeader } from '@aztec/circuits.js';
5
+ import { type ContractDataSource } from '@aztec/circuits.js';
6
6
  import { AztecAddress } from '@aztec/foundation/aztec-address';
7
7
  import { EthAddress } from '@aztec/foundation/eth-address';
8
8
  import { type DateProvider } from '@aztec/foundation/timer';
@@ -13,15 +13,10 @@ import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
13
13
  import { type ValidatorClient } from '@aztec/validator-client';
14
14
  import { type GlobalVariableBuilder } from '../global_variable_builder/global_builder.js';
15
15
  import { type L1Publisher } from '../publisher/l1-publisher.js';
16
- import { type TxValidatorFactory } from '../tx_validator/tx_validator_factory.js';
16
+ import { type SlasherClient } from '../slasher/slasher_client.js';
17
17
  import { type SequencerConfig } from './config.js';
18
18
  import { SequencerState } from './utils.js';
19
19
  export { SequencerState };
20
- export type ShouldProposeArgs = {
21
- pendingTxsCount?: number;
22
- validTxsCount?: number;
23
- processedTxsCount?: number;
24
- };
25
20
  export declare class SequencerTooSlowError extends Error {
26
21
  readonly currentState: SequencerState;
27
22
  readonly proposedState: SequencerState;
@@ -40,20 +35,21 @@ type SequencerRollupConstants = Pick<L1RollupConstants, 'ethereumSlotDuration' |
40
35
  * - Publishes L1 tx(s) to the rollup contract via RollupPublisher.
41
36
  */
42
37
  export declare class Sequencer {
43
- private publisher;
44
- private validatorClient;
45
- private globalsBuilder;
46
- private p2pClient;
47
- private worldState;
48
- private blockBuilderFactory;
49
- private l2BlockSource;
50
- private l1ToL2MessageSource;
51
- private publicProcessorFactory;
52
- private txValidatorFactory;
38
+ protected publisher: L1Publisher;
39
+ protected validatorClient: ValidatorClient | undefined;
40
+ protected globalsBuilder: GlobalVariableBuilder;
41
+ protected p2pClient: P2P;
42
+ protected worldState: WorldStateSynchronizer;
43
+ protected slasherClient: SlasherClient;
44
+ protected blockBuilderFactory: BlockBuilderFactory;
45
+ protected l2BlockSource: L2BlockSource;
46
+ protected l1ToL2MessageSource: L1ToL2MessageSource;
47
+ protected publicProcessorFactory: PublicProcessorFactory;
48
+ protected contractDataSource: ContractDataSource;
53
49
  protected l1Constants: SequencerRollupConstants;
54
- private dateProvider;
55
- private config;
56
- private log;
50
+ protected dateProvider: DateProvider;
51
+ protected config: SequencerConfig;
52
+ protected log: import("@aztec/foundation/log").Logger;
57
53
  private runningPromise?;
58
54
  private pollingIntervalMs;
59
55
  private maxTxsPerBlock;
@@ -64,7 +60,8 @@ export declare class Sequencer {
64
60
  private state;
65
61
  private allowedInSetup;
66
62
  private maxBlockSizeInBytes;
67
- private processTxTime;
63
+ private maxBlockGas;
64
+ protected processTxTime: number;
68
65
  private metrics;
69
66
  private isFlushing;
70
67
  /**
@@ -74,7 +71,7 @@ export declare class Sequencer {
74
71
  protected timeTable: Record<SequencerState, number>;
75
72
  protected enforceTimeTable: boolean;
76
73
  constructor(publisher: L1Publisher, validatorClient: ValidatorClient | undefined, // During migration the validator client can be inactive
77
- globalsBuilder: GlobalVariableBuilder, p2pClient: P2P, worldState: WorldStateSynchronizer, blockBuilderFactory: BlockBuilderFactory, l2BlockSource: L2BlockSource, l1ToL2MessageSource: L1ToL2MessageSource, publicProcessorFactory: PublicProcessorFactory, txValidatorFactory: TxValidatorFactory, l1Constants: SequencerRollupConstants, dateProvider: DateProvider, telemetry: TelemetryClient, config?: SequencerConfig, log?: import("@aztec/foundation/log").Logger);
74
+ globalsBuilder: GlobalVariableBuilder, p2pClient: P2P, worldState: WorldStateSynchronizer, slasherClient: SlasherClient, blockBuilderFactory: BlockBuilderFactory, l2BlockSource: L2BlockSource, l1ToL2MessageSource: L1ToL2MessageSource, publicProcessorFactory: PublicProcessorFactory, contractDataSource: ContractDataSource, l1Constants: SequencerRollupConstants, dateProvider: DateProvider, telemetry: TelemetryClient, config?: SequencerConfig, log?: import("@aztec/foundation/log").Logger);
78
75
  get tracer(): Tracer;
79
76
  /**
80
77
  * Updates sequencer config.
@@ -123,16 +120,14 @@ export declare class Sequencer {
123
120
  * it is only used to check if we have enough time left in the slot to transition to the new state.
124
121
  */
125
122
  setState(proposedState: SequencerState, currentSlotNumber: bigint, force?: boolean): void;
126
- shouldProposeBlock(historicalHeader: BlockHeader | undefined, args: ShouldProposeArgs): boolean;
127
123
  /**
128
124
  * Build a block
129
125
  *
130
126
  * Shared between the sequencer and the validator for re-execution
131
127
  *
132
- * @param validTxs - The valid transactions to construct the block from
128
+ * @param pendingTxs - The pending transactions to construct the block from
133
129
  * @param newGlobalVariables - The global variables for the new block
134
130
  * @param historicalHeader - The historical header of the parent
135
- * @param interrupt - The interrupt callback, used to validate the block for submission and check if we should propose the block
136
131
  * @param opts - Whether to just validate the block as a validator, as opposed to building it as a proposal
137
132
  */
138
133
  private buildBlock;
@@ -142,7 +137,7 @@ export declare class Sequencer {
142
137
  * @dev MUST throw instead of exiting early to ensure that world-state
143
138
  * is being rolled back if the block is dropped.
144
139
  *
145
- * @param validTxs - The valid transactions to construct the block from
140
+ * @param pendingTxs - Iterable of pending transactions to construct the block from
146
141
  * @param proposalHeader - The partial header constructed for the proposal
147
142
  * @param historicalHeader - The historical header of the parent
148
143
  */
@@ -156,8 +151,6 @@ export declare class Sequencer {
156
151
  * @param block - The L2Block to be published.
157
152
  */
158
153
  protected publishL2Block(block: L2Block, attestations?: Signature[], txHashes?: TxHash[], proofQuote?: EpochProofQuote): Promise<void>;
159
- protected takeValidTxs<T extends Tx | ProcessedTx>(txs: T[], validator: TxValidator<T>): Promise<T[]>;
160
- protected takeTxsWithinMaxSize(txs: Tx[]): Tx[];
161
154
  protected claimEpochProofRightIfAvailable(slotNumber: bigint): Promise<bigint | undefined>;
162
155
  /**
163
156
  * Returns whether all dependencies have caught up.
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"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"}