@aztec/sequencer-client 0.0.1-commit.6c91f13 → 0.0.1-commit.96bb3f7

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 (67) hide show
  1. package/dest/client/sequencer-client.d.ts +4 -5
  2. package/dest/client/sequencer-client.d.ts.map +1 -1
  3. package/dest/config.d.ts +1 -1
  4. package/dest/config.d.ts.map +1 -1
  5. package/dest/config.js +8 -1
  6. package/dest/global_variable_builder/global_builder.d.ts +4 -4
  7. package/dest/global_variable_builder/global_builder.d.ts.map +1 -1
  8. package/dest/global_variable_builder/global_builder.js +12 -12
  9. package/dest/index.d.ts +2 -3
  10. package/dest/index.d.ts.map +1 -1
  11. package/dest/index.js +1 -2
  12. package/dest/publisher/sequencer-publisher-metrics.d.ts +1 -1
  13. package/dest/publisher/sequencer-publisher-metrics.d.ts.map +1 -1
  14. package/dest/publisher/sequencer-publisher-metrics.js +15 -86
  15. package/dest/publisher/sequencer-publisher.d.ts +17 -16
  16. package/dest/publisher/sequencer-publisher.d.ts.map +1 -1
  17. package/dest/publisher/sequencer-publisher.js +442 -49
  18. package/dest/sequencer/block_builder.d.ts +1 -1
  19. package/dest/sequencer/block_builder.d.ts.map +1 -1
  20. package/dest/sequencer/block_builder.js +1 -1
  21. package/dest/sequencer/checkpoint_proposal_job.d.ts +11 -8
  22. package/dest/sequencer/checkpoint_proposal_job.d.ts.map +1 -1
  23. package/dest/sequencer/checkpoint_proposal_job.js +475 -28
  24. package/dest/sequencer/index.d.ts +1 -2
  25. package/dest/sequencer/index.d.ts.map +1 -1
  26. package/dest/sequencer/index.js +0 -1
  27. package/dest/sequencer/metrics.d.ts +3 -3
  28. package/dest/sequencer/metrics.d.ts.map +1 -1
  29. package/dest/sequencer/metrics.js +30 -121
  30. package/dest/sequencer/sequencer.d.ts +13 -11
  31. package/dest/sequencer/sequencer.d.ts.map +1 -1
  32. package/dest/sequencer/sequencer.js +425 -37
  33. package/dest/test/index.d.ts +2 -3
  34. package/dest/test/index.d.ts.map +1 -1
  35. package/dest/test/mock_checkpoint_builder.d.ts +10 -2
  36. package/dest/test/mock_checkpoint_builder.d.ts.map +1 -1
  37. package/dest/test/mock_checkpoint_builder.js +23 -0
  38. package/dest/test/utils.d.ts +8 -4
  39. package/dest/test/utils.d.ts.map +1 -1
  40. package/dest/test/utils.js +21 -12
  41. package/package.json +27 -27
  42. package/src/client/sequencer-client.ts +3 -4
  43. package/src/config.ts +7 -0
  44. package/src/global_variable_builder/global_builder.ts +12 -12
  45. package/src/index.ts +0 -3
  46. package/src/publisher/sequencer-publisher-metrics.ts +14 -70
  47. package/src/publisher/sequencer-publisher.ts +84 -73
  48. package/src/sequencer/block_builder.ts +1 -2
  49. package/src/sequencer/checkpoint_proposal_job.ts +75 -39
  50. package/src/sequencer/index.ts +0 -1
  51. package/src/sequencer/metrics.ts +23 -131
  52. package/src/sequencer/sequencer.ts +46 -35
  53. package/src/test/index.ts +1 -2
  54. package/src/test/mock_checkpoint_builder.ts +34 -2
  55. package/src/test/utils.ts +39 -19
  56. package/dest/sequencer/checkpoint_builder.d.ts +0 -63
  57. package/dest/sequencer/checkpoint_builder.d.ts.map +0 -1
  58. package/dest/sequencer/checkpoint_builder.js +0 -131
  59. package/dest/tx_validator/nullifier_cache.d.ts +0 -14
  60. package/dest/tx_validator/nullifier_cache.d.ts.map +0 -1
  61. package/dest/tx_validator/nullifier_cache.js +0 -24
  62. package/dest/tx_validator/tx_validator_factory.d.ts +0 -18
  63. package/dest/tx_validator/tx_validator_factory.d.ts.map +0 -1
  64. package/dest/tx_validator/tx_validator_factory.js +0 -53
  65. package/src/sequencer/checkpoint_builder.ts +0 -217
  66. package/src/tx_validator/nullifier_cache.ts +0 -30
  67. package/src/tx_validator/tx_validator_factory.ts +0 -133
@@ -5,7 +5,7 @@ import { L2BlockNew } from '@aztec/stdlib/block';
5
5
  import { Checkpoint } from '@aztec/stdlib/checkpoint';
6
6
  import type { FullNodeBlockBuilderConfig, PublicProcessorLimits } from '@aztec/stdlib/interfaces/server';
7
7
  import type { CheckpointGlobalVariables, Tx } from '@aztec/stdlib/tx';
8
- import type { BuildBlockInCheckpointResult, CheckpointBuilder, FullNodeCheckpointsBuilder } from '../sequencer/checkpoint_builder.js';
8
+ import type { BuildBlockInCheckpointResult, CheckpointBuilder, FullNodeCheckpointsBuilder } from '@aztec/validator-client';
9
9
  /**
10
10
  * A fake CheckpointBuilder for testing that implements the same interface as the real one.
11
11
  * Can be seeded with blocks to return sequentially on each `buildBlock` call.
@@ -62,6 +62,12 @@ export declare class MockCheckpointsBuilder implements FunctionsOf<FullNodeCheck
62
62
  constants: CheckpointGlobalVariables;
63
63
  l1ToL2Messages: Fr[];
64
64
  }>;
65
+ openCheckpointCalls: Array<{
66
+ checkpointNumber: CheckpointNumber;
67
+ constants: CheckpointGlobalVariables;
68
+ l1ToL2Messages: Fr[];
69
+ existingBlocks: L2BlockNew[];
70
+ }>;
65
71
  updateConfigCalls: Array<Partial<FullNodeBlockBuilderConfig>>;
66
72
  /**
67
73
  * Set the MockCheckpointBuilder to return from startCheckpoint.
@@ -75,9 +81,11 @@ export declare class MockCheckpointsBuilder implements FunctionsOf<FullNodeCheck
75
81
  createCheckpointBuilder(constants: CheckpointGlobalVariables, checkpointNumber: CheckpointNumber): MockCheckpointBuilder;
76
82
  /** Get the current checkpoint builder (for assertions) */
77
83
  getCheckpointBuilder(): MockCheckpointBuilder | undefined;
84
+ getConfig(): FullNodeBlockBuilderConfig;
78
85
  updateConfig(config: Partial<FullNodeBlockBuilderConfig>): void;
79
86
  startCheckpoint(checkpointNumber: CheckpointNumber, constants: CheckpointGlobalVariables, l1ToL2Messages: Fr[], _fork: unknown): Promise<CheckpointBuilder>;
87
+ openCheckpoint(checkpointNumber: CheckpointNumber, constants: CheckpointGlobalVariables, l1ToL2Messages: Fr[], _fork: unknown, existingBlocks?: L2BlockNew[]): Promise<CheckpointBuilder>;
80
88
  /** Reset for reuse in another test */
81
89
  reset(): void;
82
90
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19jaGVja3BvaW50X2J1aWxkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L21vY2tfY2hlY2twb2ludF9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLDBCQUEwQixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHekcsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdEUsT0FBTyxLQUFLLEVBQ1YsNEJBQTRCLEVBQzVCLGlCQUFpQixFQUNqQiwwQkFBMEIsRUFDM0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDSCxxQkFBYSxxQkFBc0IsWUFBVyxXQUFXLENBQUMsaUJBQWlCLENBQUM7SUFzQnhFLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQjtJQXRCbkMsT0FBTyxDQUFDLE1BQU0sQ0FBb0I7SUFDbEMsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFDdkMsT0FBTyxDQUFDLGVBQWUsQ0FBYztJQUNyQyxPQUFPLENBQUMsVUFBVSxDQUFLO0lBRXZCLHFGQUFxRjtJQUNyRixPQUFPLENBQUMsYUFBYSxDQUE2QztJQUVsRSxpQ0FBaUM7SUFDMUIsZUFBZSxFQUFFLEtBQUssQ0FBQztRQUM1QixXQUFX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
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19jaGVja3BvaW50X2J1aWxkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L21vY2tfY2hlY2twb2ludF9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLDBCQUEwQixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHekcsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQ1YsNEJBQTRCLEVBQzVCLGlCQUFpQixFQUNqQiwwQkFBMEIsRUFDM0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQzs7O0dBR0c7QUFDSCxxQkFBYSxxQkFBc0IsWUFBVyxXQUFXLENBQUMsaUJBQWlCLENBQUM7SUFzQnhFLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQjtJQXRCbkMsT0FBTyxDQUFDLE1BQU0sQ0FBb0I7SUFDbEMsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFDdkMsT0FBTyxDQUFDLGVBQWUsQ0FBYztJQUNyQyxPQUFPLENBQUMsVUFBVSxDQUFLO0lBRXZCLHFGQUFxRjtJQUNyRixPQUFPLENBQUMsYUFBYSxDQUE2QztJQUVsRSxpQ0FBaUM7SUFDMUIsZUFBZSxFQUFFLEtBQUssQ0FBQztRQUM1QixXQUFX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
@@ -1 +1 @@
1
- {"version":3,"file":"mock_checkpoint_builder.d.ts","sourceRoot":"","sources":["../../src/test/mock_checkpoint_builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock_checkpoint_builder.d.ts","sourceRoot":"","sources":["../../src/test/mock_checkpoint_builder.ts"],"names":[],"mappings":"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"}
@@ -138,6 +138,7 @@ import { makeAppendOnlyTreeSnapshot } from '@aztec/stdlib/testing';
138
138
  */ export class MockCheckpointsBuilder {
139
139
  checkpointBuilder;
140
140
  /** Track calls for assertions */ startCheckpointCalls = [];
141
+ openCheckpointCalls = [];
141
142
  updateConfigCalls = [];
142
143
  /**
143
144
  * Set the MockCheckpointBuilder to return from startCheckpoint.
@@ -156,6 +157,14 @@ import { makeAppendOnlyTreeSnapshot } from '@aztec/stdlib/testing';
156
157
  /** Get the current checkpoint builder (for assertions) */ getCheckpointBuilder() {
157
158
  return this.checkpointBuilder;
158
159
  }
160
+ getConfig() {
161
+ return {
162
+ l1GenesisTime: 0n,
163
+ slotDuration: 24,
164
+ l1ChainId: 1,
165
+ rollupVersion: 1
166
+ };
167
+ }
159
168
  updateConfig(config) {
160
169
  this.updateConfigCalls.push(config);
161
170
  }
@@ -171,9 +180,23 @@ import { makeAppendOnlyTreeSnapshot } from '@aztec/stdlib/testing';
171
180
  }
172
181
  return Promise.resolve(this.checkpointBuilder);
173
182
  }
183
+ openCheckpoint(checkpointNumber, constants, l1ToL2Messages, _fork, existingBlocks = []) {
184
+ this.openCheckpointCalls.push({
185
+ checkpointNumber,
186
+ constants,
187
+ l1ToL2Messages,
188
+ existingBlocks
189
+ });
190
+ if (!this.checkpointBuilder) {
191
+ // Auto-create a builder if none was set
192
+ this.checkpointBuilder = new MockCheckpointBuilder(constants, checkpointNumber);
193
+ }
194
+ return Promise.resolve(this.checkpointBuilder);
195
+ }
174
196
  /** Reset for reuse in another test */ reset() {
175
197
  this.checkpointBuilder = undefined;
176
198
  this.startCheckpointCalls = [];
199
+ this.openCheckpointCalls = [];
177
200
  this.updateConfigCalls = [];
178
201
  }
179
202
  }
@@ -4,7 +4,7 @@ import type { EthAddress } from '@aztec/foundation/eth-address';
4
4
  import { Signature } from '@aztec/foundation/eth-signature';
5
5
  import type { P2P } from '@aztec/p2p';
6
6
  import { CommitteeAttestation, L2BlockNew } from '@aztec/stdlib/block';
7
- import { BlockAttestation, BlockProposal } from '@aztec/stdlib/p2p';
7
+ import { BlockProposal, CheckpointAttestation, CheckpointProposal } from '@aztec/stdlib/p2p';
8
8
  import { GlobalVariables, type Tx } from '@aztec/stdlib/tx';
9
9
  import type { MockProxy } from 'jest-mock-extended';
10
10
  export { MockCheckpointBuilder, MockCheckpointsBuilder } from './mock_checkpoint_builder.js';
@@ -33,11 +33,15 @@ export declare function createMockSignatures(signer: Secp256k1Signer): Committee
33
33
  */
34
34
  export declare function createBlockProposal(block: L2BlockNew, signature: Signature): BlockProposal;
35
35
  /**
36
- * Creates a block attestation from a block and signature.
36
+ * Creates a checkpoint proposal from a block and signature
37
+ */
38
+ export declare function createCheckpointProposal(block: L2BlockNew, checkpointSignature: Signature, blockSignature?: Signature): CheckpointProposal;
39
+ /**
40
+ * Creates a checkpoint attestation from a block and signature.
37
41
  * Note: We manually set the sender since we use random signatures in tests.
38
42
  * In production, the sender is recovered from the signature.
39
43
  */
40
- export declare function createBlockAttestation(block: L2BlockNew, signature: Signature, sender: EthAddress): BlockAttestation;
44
+ export declare function createCheckpointAttestation(block: L2BlockNew, signature: Signature, sender: EthAddress): CheckpointAttestation;
41
45
  /**
42
46
  * Creates transactions and a block, and mocks P2P to return them.
43
47
  * Helper for tests that need to set up a block with transactions.
@@ -46,4 +50,4 @@ export declare function setupTxsAndBlock(p2p: MockProxy<P2P>, globalVariables: G
46
50
  txs: Tx[];
47
51
  block: L2BlockNew;
48
52
  }>;
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUd0RixPQUFPLEVBR0wsZUFBZSxFQUNmLEtBQUssRUFBRSxFQUVSLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFN0Y7O0dBRUc7QUFDSCx3QkFBc0IsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQU1yRTtBQUVEOztHQUVHO0FBQ0gsd0JBQXNCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLGVBQWUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBVWhHO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FHbkU7QUFFRDs7R0FFRztBQUNILHdCQUF1QixjQUFjLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUluRjtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxlQUFlLEdBQUcsb0JBQW9CLEVBQUUsQ0FHcEY7QUFzQkQ7O0dBRUc7QUFDSCx3QkFBZ0IsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxHQUFHLGFBQWEsQ0FLMUY7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLHNCQUFzQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxHQUFHLGdCQUFnQixDQVFwSDtBQUVEOzs7R0FHRztBQUNILHdCQUFzQixnQkFBZ0IsQ0FDcEMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFDbkIsZUFBZSxFQUFFLGVBQWUsRUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFDZixPQUFPLEVBQUUsRUFBRSxHQUNWLE9BQU8sQ0FBQztJQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUFDLEtBQUssRUFBRSxVQUFVLENBQUE7Q0FBRSxDQUFDLENBSzNDIn0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUcvRyxPQUFPLEVBQWUsZUFBZSxFQUFFLEtBQUssRUFBRSxFQUFvQyxNQUFNLGtCQUFrQixDQUFDO0FBRTNHLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTdGOztHQUVHO0FBQ0gsd0JBQXNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FNckU7QUFFRDs7R0FFRztBQUNILHdCQUFzQixTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxlQUFlLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQVVoRztBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBR25FO0FBRUQ7O0dBRUc7QUFDSCx3QkFBdUIsY0FBYyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FJbkY7QUFFRDs7R0FFRztBQUNILHdCQUFnQixvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsZUFBZSxHQUFHLG9CQUFvQixFQUFFLENBR3BGO0FBc0JEOztHQUVHO0FBQ0gsd0JBQWdCLG1CQUFtQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsR0FBRyxhQUFhLENBVTFGO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0Isd0JBQXdCLENBQ3RDLEtBQUssRUFBRSxVQUFVLEVBQ2pCLG1CQUFtQixFQUFFLFNBQVMsRUFDOUIsY0FBYyxDQUFDLEVBQUUsU0FBUyxHQUN6QixrQkFBa0IsQ0FTcEI7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLDJCQUEyQixDQUN6QyxLQUFLLEVBQUUsVUFBVSxFQUNqQixTQUFTLEVBQUUsU0FBUyxFQUNwQixNQUFNLEVBQUUsVUFBVSxHQUNqQixxQkFBcUIsQ0FPdkI7QUFFRDs7O0dBR0c7QUFDSCx3QkFBc0IsZ0JBQWdCLENBQ3BDLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQ25CLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLE9BQU8sRUFBRSxNQUFNLEVBQ2YsT0FBTyxFQUFFLEVBQUUsR0FDVixPQUFPLENBQUM7SUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFBQyxLQUFLLEVBQUUsVUFBVSxDQUFBO0NBQUUsQ0FBQyxDQUszQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AAGtF,OAAO,EAGL,eAAe,EACf,KAAK,EAAE,EAER,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE7F;;GAEG;AACH,wBAAsB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAMrE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAUhG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAGnE;AAED;;GAEG;AACH,wBAAuB,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAInF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,oBAAoB,EAAE,CAGpF;AAsBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,aAAa,CAK1F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAQpH;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EACnB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,EAAE,GACV,OAAO,CAAC;IAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC,CAK3C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;AAG/G,OAAO,EAAe,eAAe,EAAE,KAAK,EAAE,EAAoC,MAAM,kBAAkB,CAAC;AAE3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE7F;;GAEG;AACH,wBAAsB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAMrE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAUhG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAGnE;AAED;;GAEG;AACH,wBAAuB,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAInF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,oBAAoB,EAAE,CAGpF;AAsBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,aAAa,CAU1F;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,UAAU,EACjB,mBAAmB,EAAE,SAAS,EAC9B,cAAc,CAAC,EAAE,SAAS,GACzB,kBAAkB,CASpB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,UAAU,GACjB,qBAAqB,CAOvB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EACnB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,EAAE,GACV,OAAO,CAAC;IAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC,CAK3C"}
@@ -5,10 +5,10 @@ import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { Signature } from '@aztec/foundation/eth-signature';
6
6
  import { PublicDataWrite } from '@aztec/stdlib/avm';
7
7
  import { CommitteeAttestation, L2BlockNew } from '@aztec/stdlib/block';
8
- import { BlockAttestation, BlockProposal, ConsensusPayload } from '@aztec/stdlib/p2p';
8
+ import { BlockProposal, CheckpointAttestation, CheckpointProposal, ConsensusPayload } from '@aztec/stdlib/p2p';
9
9
  import { CheckpointHeader } from '@aztec/stdlib/rollup';
10
10
  import { makeAppendOnlyTreeSnapshot, mockTxForRollup } from '@aztec/stdlib/testing';
11
- import { BlockHeader, ContentCommitment, makeProcessedTxFromPrivateOnlyTx } from '@aztec/stdlib/tx';
11
+ import { BlockHeader, makeProcessedTxFromPrivateOnlyTx } from '@aztec/stdlib/tx';
12
12
  // Re-export mock classes from their dedicated file
13
13
  export { MockCheckpointBuilder, MockCheckpointsBuilder } from './mock_checkpoint_builder.js';
14
14
  /**
@@ -54,28 +54,37 @@ export { MockCheckpointBuilder, MockCheckpointsBuilder } from './mock_checkpoint
54
54
  }
55
55
  /**
56
56
  * Creates a CheckpointHeader from an L2BlockNew for testing purposes.
57
- * Uses mock values for contentCommitment and blockHeadersHash since
58
- * L2BlockNew doesn't have these fields.
57
+ * Uses mock values for blockHeadersHash, blobsHash and inHash since L2BlockNew doesn't have these fields.
59
58
  */ function createCheckpointHeaderFromBlock(block) {
60
59
  const gv = block.header.globalVariables;
61
- return new CheckpointHeader(block.header.lastArchive.root, Fr.random(), ContentCommitment.empty(), gv.slotNumber, gv.timestamp, gv.coinbase, gv.feeRecipient, gv.gasFees, block.header.totalManaUsed);
60
+ return new CheckpointHeader(block.header.lastArchive.root, Fr.random(), Fr.random(), Fr.random(), gv.slotNumber, gv.timestamp, gv.coinbase, gv.feeRecipient, gv.gasFees, block.header.totalManaUsed);
62
61
  }
63
62
  /**
64
63
  * Creates a block proposal from a block and signature
65
64
  */ export function createBlockProposal(block, signature) {
66
- const checkpointHeader = createCheckpointHeaderFromBlock(block);
67
- const consensusPayload = new ConsensusPayload(checkpointHeader, block.archive.root);
68
65
  const txHashes = block.body.txEffects.map((tx)=>tx.txHash);
69
- return new BlockProposal(consensusPayload, signature, txHashes);
66
+ return new BlockProposal(block.header, block.indexWithinCheckpoint, Fr.ZERO, block.archive.root, txHashes, signature);
67
+ }
68
+ /**
69
+ * Creates a checkpoint proposal from a block and signature
70
+ */ export function createCheckpointProposal(block, checkpointSignature, blockSignature) {
71
+ const txHashes = block.body.txEffects.map((tx)=>tx.txHash);
72
+ const checkpointHeader = createCheckpointHeaderFromBlock(block);
73
+ return new CheckpointProposal(checkpointHeader, block.archive.root, checkpointSignature, {
74
+ blockHeader: block.header,
75
+ indexWithinCheckpoint: block.indexWithinCheckpoint,
76
+ txHashes,
77
+ signature: blockSignature ?? checkpointSignature
78
+ });
70
79
  }
71
80
  /**
72
- * Creates a block attestation from a block and signature.
81
+ * Creates a checkpoint attestation from a block and signature.
73
82
  * Note: We manually set the sender since we use random signatures in tests.
74
83
  * In production, the sender is recovered from the signature.
75
- */ export function createBlockAttestation(block, signature, sender) {
84
+ */ export function createCheckpointAttestation(block, signature, sender) {
76
85
  const checkpointHeader = createCheckpointHeaderFromBlock(block);
77
- const consensusPayload = new ConsensusPayload(checkpointHeader, block.archive.root);
78
- const attestation = new BlockAttestation(consensusPayload, signature, signature);
86
+ const payload = new ConsensusPayload(checkpointHeader, block.archive.root);
87
+ const attestation = new CheckpointAttestation(payload, signature, signature);
79
88
  // Set sender directly for testing (bypasses signature recovery)
80
89
  attestation.sender = sender;
81
90
  return attestation;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/sequencer-client",
3
- "version": "0.0.1-commit.6c91f13",
3
+ "version": "0.0.1-commit.96bb3f7",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -26,37 +26,37 @@
26
26
  "test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
27
27
  },
28
28
  "dependencies": {
29
- "@aztec/aztec.js": "0.0.1-commit.6c91f13",
30
- "@aztec/bb-prover": "0.0.1-commit.6c91f13",
31
- "@aztec/blob-client": "0.0.1-commit.6c91f13",
32
- "@aztec/blob-lib": "0.0.1-commit.6c91f13",
33
- "@aztec/constants": "0.0.1-commit.6c91f13",
34
- "@aztec/epoch-cache": "0.0.1-commit.6c91f13",
35
- "@aztec/ethereum": "0.0.1-commit.6c91f13",
36
- "@aztec/foundation": "0.0.1-commit.6c91f13",
37
- "@aztec/l1-artifacts": "0.0.1-commit.6c91f13",
38
- "@aztec/merkle-tree": "0.0.1-commit.6c91f13",
39
- "@aztec/node-keystore": "0.0.1-commit.6c91f13",
40
- "@aztec/noir-acvm_js": "0.0.1-commit.6c91f13",
41
- "@aztec/noir-contracts.js": "0.0.1-commit.6c91f13",
42
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.6c91f13",
43
- "@aztec/noir-types": "0.0.1-commit.6c91f13",
44
- "@aztec/p2p": "0.0.1-commit.6c91f13",
45
- "@aztec/protocol-contracts": "0.0.1-commit.6c91f13",
46
- "@aztec/prover-client": "0.0.1-commit.6c91f13",
47
- "@aztec/simulator": "0.0.1-commit.6c91f13",
48
- "@aztec/slasher": "0.0.1-commit.6c91f13",
49
- "@aztec/stdlib": "0.0.1-commit.6c91f13",
50
- "@aztec/telemetry-client": "0.0.1-commit.6c91f13",
51
- "@aztec/validator-client": "0.0.1-commit.6c91f13",
52
- "@aztec/world-state": "0.0.1-commit.6c91f13",
29
+ "@aztec/aztec.js": "0.0.1-commit.96bb3f7",
30
+ "@aztec/bb-prover": "0.0.1-commit.96bb3f7",
31
+ "@aztec/blob-client": "0.0.1-commit.96bb3f7",
32
+ "@aztec/blob-lib": "0.0.1-commit.96bb3f7",
33
+ "@aztec/constants": "0.0.1-commit.96bb3f7",
34
+ "@aztec/epoch-cache": "0.0.1-commit.96bb3f7",
35
+ "@aztec/ethereum": "0.0.1-commit.96bb3f7",
36
+ "@aztec/foundation": "0.0.1-commit.96bb3f7",
37
+ "@aztec/l1-artifacts": "0.0.1-commit.96bb3f7",
38
+ "@aztec/merkle-tree": "0.0.1-commit.96bb3f7",
39
+ "@aztec/node-keystore": "0.0.1-commit.96bb3f7",
40
+ "@aztec/noir-acvm_js": "0.0.1-commit.96bb3f7",
41
+ "@aztec/noir-contracts.js": "0.0.1-commit.96bb3f7",
42
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.96bb3f7",
43
+ "@aztec/noir-types": "0.0.1-commit.96bb3f7",
44
+ "@aztec/p2p": "0.0.1-commit.96bb3f7",
45
+ "@aztec/protocol-contracts": "0.0.1-commit.96bb3f7",
46
+ "@aztec/prover-client": "0.0.1-commit.96bb3f7",
47
+ "@aztec/simulator": "0.0.1-commit.96bb3f7",
48
+ "@aztec/slasher": "0.0.1-commit.96bb3f7",
49
+ "@aztec/stdlib": "0.0.1-commit.96bb3f7",
50
+ "@aztec/telemetry-client": "0.0.1-commit.96bb3f7",
51
+ "@aztec/validator-client": "0.0.1-commit.96bb3f7",
52
+ "@aztec/world-state": "0.0.1-commit.96bb3f7",
53
53
  "lodash.chunk": "^4.2.0",
54
54
  "tslib": "^2.4.0",
55
55
  "viem": "npm:@aztec/viem@2.38.2"
56
56
  },
57
57
  "devDependencies": {
58
- "@aztec/archiver": "0.0.1-commit.6c91f13",
59
- "@aztec/kv-store": "0.0.1-commit.6c91f13",
58
+ "@aztec/archiver": "0.0.1-commit.96bb3f7",
59
+ "@aztec/kv-store": "0.0.1-commit.96bb3f7",
60
60
  "@jest/globals": "^30.0.0",
61
61
  "@types/jest": "^30.0.0",
62
62
  "@types/lodash.chunk": "^4.2.7",
@@ -11,17 +11,16 @@ import type { DateProvider } from '@aztec/foundation/timer';
11
11
  import type { KeystoreManager } from '@aztec/node-keystore';
12
12
  import type { P2P } from '@aztec/p2p';
13
13
  import type { SlasherClientInterface } from '@aztec/slasher';
14
- import type { L2BlockSource } from '@aztec/stdlib/block';
14
+ import type { L2BlockSink, L2BlockSource } from '@aztec/stdlib/block';
15
15
  import type { ValidatorClientFullConfig, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
16
16
  import { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
17
17
  import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
18
18
  import { L1Metrics, type TelemetryClient } from '@aztec/telemetry-client';
19
- import { NodeKeystoreAdapter, type ValidatorClient } from '@aztec/validator-client';
19
+ import { FullNodeCheckpointsBuilder, NodeKeystoreAdapter, type ValidatorClient } from '@aztec/validator-client';
20
20
 
21
21
  import type { SequencerClientConfig } from '../config.js';
22
22
  import { GlobalVariableBuilder } from '../global_variable_builder/index.js';
23
23
  import { SequencerPublisherFactory } from '../publisher/sequencer-publisher-factory.js';
24
- import { FullNodeCheckpointsBuilder } from '../sequencer/checkpoint_builder.js';
25
24
  import { Sequencer, type SequencerConfig } from '../sequencer/index.js';
26
25
 
27
26
  /**
@@ -56,7 +55,7 @@ export class SequencerClient {
56
55
  worldStateSynchronizer: WorldStateSynchronizer;
57
56
  slasherClient: SlasherClientInterface | undefined;
58
57
  checkpointsBuilder: FullNodeCheckpointsBuilder;
59
- l2BlockSource: L2BlockSource;
58
+ l2BlockSource: L2BlockSource & L2BlockSink;
60
59
  l1ToL2MessageSource: L1ToL2MessageSource;
61
60
  telemetry: TelemetryClient;
62
61
  publisherFactory?: SequencerPublisherFactory;
package/src/config.ts CHANGED
@@ -50,6 +50,8 @@ export const DefaultSequencerConfig: ResolvedSequencerConfig = {
50
50
  injectFakeAttestation: false,
51
51
  fishermanMode: false,
52
52
  shuffleAttestationOrdering: false,
53
+ // TODO(palla/mbps): Change default to false once block sync is stable
54
+ skipPushProposedBlocksToArchiver: true,
53
55
  };
54
56
 
55
57
  /**
@@ -202,6 +204,11 @@ export const sequencerConfigMappings: ConfigMappingsType<SequencerConfig> = {
202
204
  description: 'Have sequencer build and publish an empty checkpoint if there are no txs',
203
205
  ...booleanConfigHelper(DefaultSequencerConfig.buildCheckpointIfEmpty),
204
206
  },
207
+ // TODO(palla/mbps): Change default to false once block sync is stable
208
+ skipPushProposedBlocksToArchiver: {
209
+ description: 'Skip pushing proposed blocks to archiver (default: true)',
210
+ ...booleanConfigHelper(DefaultSequencerConfig.skipPushProposedBlocksToArchiver),
211
+ },
205
212
  ...pickConfigMappings(p2pConfigMappings, ['txPublicSetupAllowList']),
206
213
  };
207
214
 
@@ -23,7 +23,7 @@ import { createPublicClient, fallback, http } from 'viem';
23
23
  */
24
24
  export class GlobalVariableBuilder implements GlobalVariableBuilderInterface {
25
25
  private log = createLogger('sequencer:global_variable_builder');
26
- private currentBaseFees: Promise<GasFees> = Promise.resolve(new GasFees(0, 0));
26
+ private currentMinFees: Promise<GasFees> = Promise.resolve(new GasFees(0, 0));
27
27
  private currentL1BlockNumber: bigint | undefined = undefined;
28
28
 
29
29
  private readonly rollupContract: RollupContract;
@@ -61,34 +61,34 @@ export class GlobalVariableBuilder implements GlobalVariableBuilderInterface {
61
61
  }
62
62
 
63
63
  /**
64
- * Computes the "current" base fees, e.g., the price that you currently should pay to get include in the next block
65
- * @returns Base fees for the next block
64
+ * Computes the "current" min fees, e.g., the price that you currently should pay to get include in the next block
65
+ * @returns Min fees for the next block
66
66
  */
67
- private async computeCurrentBaseFees(): Promise<GasFees> {
67
+ private async computeCurrentMinFees(): Promise<GasFees> {
68
68
  // Since this might be called in the middle of a slot where a block might have been published,
69
69
  // we need to fetch the last block written, and estimate the earliest timestamp for the next block.
70
70
  // The timestamp of that last block will act as a lower bound for the next block.
71
71
 
72
72
  const lastBlock = await this.rollupContract.getPendingCheckpoint();
73
73
  const earliestTimestamp = await this.rollupContract.getTimestampForSlot(
74
- SlotNumber.fromBigInt(lastBlock.slotNumber + 1n),
74
+ SlotNumber.fromBigInt(BigInt(lastBlock.slotNumber) + 1n),
75
75
  );
76
76
  const nextEthTimestamp = BigInt((await this.publicClient.getBlock()).timestamp + BigInt(this.ethereumSlotDuration));
77
77
  const timestamp = earliestTimestamp > nextEthTimestamp ? earliestTimestamp : nextEthTimestamp;
78
78
 
79
- return new GasFees(0, await this.rollupContract.getManaBaseFeeAt(timestamp, true));
79
+ return new GasFees(0, await this.rollupContract.getManaMinFeeAt(timestamp, true));
80
80
  }
81
81
 
82
- public async getCurrentBaseFees(): Promise<GasFees> {
82
+ public async getCurrentMinFees(): Promise<GasFees> {
83
83
  // Get the current block number
84
84
  const blockNumber = await this.publicClient.getBlockNumber();
85
85
 
86
- // If the L1 block number has changed then chain a new promise to get the current base fees
86
+ // If the L1 block number has changed then chain a new promise to get the current min fees
87
87
  if (this.currentL1BlockNumber === undefined || blockNumber > this.currentL1BlockNumber) {
88
88
  this.currentL1BlockNumber = blockNumber;
89
- this.currentBaseFees = this.currentBaseFees.then(() => this.computeCurrentBaseFees());
89
+ this.currentMinFees = this.currentMinFees.then(() => this.computeCurrentMinFees());
90
90
  }
91
- return this.currentBaseFees;
91
+ return this.currentMinFees;
92
92
  }
93
93
 
94
94
  /**
@@ -128,9 +128,9 @@ export class GlobalVariableBuilder implements GlobalVariableBuilderInterface {
128
128
  l1GenesisTime: this.l1GenesisTime,
129
129
  });
130
130
 
131
- // We can skip much of the logic in getCurrentBaseFees since it we already check that we are not within a slot elsewhere.
131
+ // We can skip much of the logic in getCurrentMinFees since it we already check that we are not within a slot elsewhere.
132
132
  // TODO(palla/mbps): Can we use a cached value here?
133
- const gasFees = new GasFees(0, await this.rollupContract.getManaBaseFeeAt(timestamp, true));
133
+ const gasFees = new GasFees(0, await this.rollupContract.getManaMinFeeAt(timestamp, true));
134
134
 
135
135
  return { chainId, version, slotNumber, timestamp, coinbase, feeRecipient, gasFees };
136
136
  }
package/src/index.ts CHANGED
@@ -3,13 +3,10 @@ export * from './config.js';
3
3
  export * from './publisher/index.js';
4
4
  export {
5
5
  FullNodeBlockBuilder as BlockBuilder,
6
- FullNodeCheckpointsBuilder as CheckpointsBuilder,
7
- CheckpointBuilder,
8
6
  Sequencer,
9
7
  SequencerState,
10
8
  type SequencerEvents,
11
9
  } from './sequencer/index.js';
12
- export * from './tx_validator/tx_validator_factory.js';
13
10
 
14
11
  // Used by the node to simulate public parts of transactions. Should these be moved to a shared library?
15
12
  // ISSUE(#9832)
@@ -7,7 +7,6 @@ import {
7
7
  Metrics,
8
8
  type TelemetryClient,
9
9
  type UpDownCounter,
10
- ValueType,
11
10
  } from '@aztec/telemetry-client';
12
11
 
13
12
  import { formatEther } from 'viem/utils';
@@ -40,88 +39,33 @@ export class SequencerPublisherMetrics {
40
39
  ) {
41
40
  const meter = client.getMeter(name);
42
41
 
43
- this.gasPrice = meter.createHistogram(Metrics.L1_PUBLISHER_GAS_PRICE, {
44
- description: 'The gas price used for transactions',
45
- unit: 'gwei',
46
- valueType: ValueType.DOUBLE,
47
- });
42
+ this.gasPrice = meter.createHistogram(Metrics.L1_PUBLISHER_GAS_PRICE);
48
43
 
49
- this.txCount = meter.createUpDownCounter(Metrics.L1_PUBLISHER_TX_COUNT, {
50
- description: 'The number of transactions processed',
51
- });
44
+ this.txCount = meter.createUpDownCounter(Metrics.L1_PUBLISHER_TX_COUNT);
52
45
 
53
- this.txDuration = meter.createHistogram(Metrics.L1_PUBLISHER_TX_DURATION, {
54
- description: 'The duration of transaction processing',
55
- unit: 'ms',
56
- valueType: ValueType.INT,
57
- });
46
+ this.txDuration = meter.createHistogram(Metrics.L1_PUBLISHER_TX_DURATION);
58
47
 
59
- this.txGas = meter.createHistogram(Metrics.L1_PUBLISHER_TX_GAS, {
60
- description: 'The gas consumed by transactions',
61
- unit: 'gas',
62
- valueType: ValueType.INT,
63
- });
48
+ this.txGas = meter.createHistogram(Metrics.L1_PUBLISHER_TX_GAS);
64
49
 
65
- this.txCalldataSize = meter.createHistogram(Metrics.L1_PUBLISHER_TX_CALLDATA_SIZE, {
66
- description: 'The size of the calldata in transactions',
67
- unit: 'By',
68
- valueType: ValueType.INT,
69
- });
50
+ this.txCalldataSize = meter.createHistogram(Metrics.L1_PUBLISHER_TX_CALLDATA_SIZE);
70
51
 
71
- this.txCalldataGas = meter.createHistogram(Metrics.L1_PUBLISHER_TX_CALLDATA_GAS, {
72
- description: 'The gas consumed by the calldata in transactions',
73
- unit: 'gas',
74
- valueType: ValueType.INT,
75
- });
52
+ this.txCalldataGas = meter.createHistogram(Metrics.L1_PUBLISHER_TX_CALLDATA_GAS);
76
53
 
77
- this.txBlobDataGasUsed = meter.createHistogram(Metrics.L1_PUBLISHER_TX_BLOBDATA_GAS_USED, {
78
- description: 'The amount of blob gas used in transactions',
79
- unit: 'gas',
80
- valueType: ValueType.INT,
81
- });
54
+ this.txBlobDataGasUsed = meter.createHistogram(Metrics.L1_PUBLISHER_TX_BLOBDATA_GAS_USED);
82
55
 
83
- this.txBlobDataGasCost = meter.createHistogram(Metrics.L1_PUBLISHER_TX_BLOBDATA_GAS_COST, {
84
- description: 'The gas cost of blobs in transactions',
85
- unit: 'gwei',
86
- valueType: ValueType.INT,
87
- });
56
+ this.txBlobDataGasCost = meter.createHistogram(Metrics.L1_PUBLISHER_TX_BLOBDATA_GAS_COST);
88
57
 
89
- this.blobCountHistogram = meter.createHistogram(Metrics.L1_PUBLISHER_BLOB_COUNT, {
90
- description: 'Number of blobs in L1 transactions',
91
- unit: 'blobs',
92
- valueType: ValueType.INT,
93
- });
58
+ this.blobCountHistogram = meter.createHistogram(Metrics.L1_PUBLISHER_BLOB_COUNT);
94
59
 
95
- this.blobInclusionBlocksHistogram = meter.createHistogram(Metrics.L1_PUBLISHER_BLOB_INCLUSION_BLOCKS, {
96
- description: 'Number of L1 blocks between blob tx submission and inclusion',
97
- unit: 'blocks',
98
- valueType: ValueType.INT,
99
- });
60
+ this.blobInclusionBlocksHistogram = meter.createHistogram(Metrics.L1_PUBLISHER_BLOB_INCLUSION_BLOCKS);
100
61
 
101
- this.blobTxSuccessCounter = meter.createUpDownCounter(Metrics.L1_PUBLISHER_BLOB_TX_SUCCESS, {
102
- description: 'Number of successful L1 transactions with blobs',
103
- });
62
+ this.blobTxSuccessCounter = meter.createUpDownCounter(Metrics.L1_PUBLISHER_BLOB_TX_SUCCESS);
104
63
 
105
- this.blobTxFailureCounter = meter.createUpDownCounter(Metrics.L1_PUBLISHER_BLOB_TX_FAILURE, {
106
- description: 'Number of failed L1 transactions with blobs',
107
- });
64
+ this.blobTxFailureCounter = meter.createUpDownCounter(Metrics.L1_PUBLISHER_BLOB_TX_FAILURE);
108
65
 
109
- this.txTotalFee = meter.createHistogram(Metrics.L1_PUBLISHER_TX_TOTAL_FEE, {
110
- description: 'How much L1 tx costs',
111
- unit: 'eth',
112
- valueType: ValueType.DOUBLE,
113
- advice: {
114
- explicitBucketBoundaries: [
115
- 0.001, 0.002, 0.004, 0.008, 0.01, 0.02, 0.04, 0.08, 0.1, 0.2, 0.4, 0.8, 1, 1.2, 1.4, 1.8, 2,
116
- ],
117
- },
118
- });
66
+ this.txTotalFee = meter.createHistogram(Metrics.L1_PUBLISHER_TX_TOTAL_FEE);
119
67
 
120
- this.senderBalance = meter.createGauge(Metrics.L1_PUBLISHER_BALANCE, {
121
- unit: 'eth',
122
- description: 'The balance of the sender address',
123
- valueType: ValueType.DOUBLE,
124
- });
68
+ this.senderBalance = meter.createGauge(Metrics.L1_PUBLISHER_BALANCE);
125
69
  }
126
70
 
127
71
  recordFailedTx(txType: L1TxType) {