@aztec/sequencer-client 0.69.1 → 0.71.0

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 (58) hide show
  1. package/dest/client/sequencer-client.d.ts +2 -0
  2. package/dest/client/sequencer-client.d.ts.map +1 -1
  3. package/dest/client/sequencer-client.js +4 -4
  4. package/dest/config.js +2 -2
  5. package/dest/publisher/index.d.ts +0 -1
  6. package/dest/publisher/index.d.ts.map +1 -1
  7. package/dest/publisher/index.js +1 -2
  8. package/dest/publisher/l1-publisher.d.ts +9 -3
  9. package/dest/publisher/l1-publisher.d.ts.map +1 -1
  10. package/dest/publisher/l1-publisher.js +63 -77
  11. package/dest/sequencer/metrics.d.ts +2 -1
  12. package/dest/sequencer/metrics.d.ts.map +1 -1
  13. package/dest/sequencer/metrics.js +8 -2
  14. package/dest/sequencer/sequencer.d.ts +34 -35
  15. package/dest/sequencer/sequencer.d.ts.map +1 -1
  16. package/dest/sequencer/sequencer.js +62 -101
  17. package/dest/sequencer/timetable.d.ts +38 -0
  18. package/dest/sequencer/timetable.d.ts.map +1 -0
  19. package/dest/sequencer/timetable.js +96 -0
  20. package/dest/slasher/factory.d.ts.map +1 -1
  21. package/dest/slasher/factory.js +3 -3
  22. package/dest/slasher/slasher_client.d.ts.map +1 -1
  23. package/dest/slasher/slasher_client.js +3 -4
  24. package/dest/test/index.d.ts +17 -0
  25. package/dest/test/index.d.ts.map +1 -0
  26. package/dest/test/index.js +8 -0
  27. package/dest/{publisher → test}/test-l1-publisher.d.ts +1 -1
  28. package/dest/test/test-l1-publisher.d.ts.map +1 -0
  29. package/dest/test/test-l1-publisher.js +11 -0
  30. package/dest/tx_validator/archive_cache.d.ts +14 -0
  31. package/dest/tx_validator/archive_cache.d.ts.map +1 -0
  32. package/dest/tx_validator/archive_cache.js +22 -0
  33. package/dest/tx_validator/gas_validator.js +2 -2
  34. package/dest/tx_validator/phases_validator.js +2 -2
  35. package/dest/tx_validator/tx_validator_factory.d.ts.map +1 -1
  36. package/dest/tx_validator/tx_validator_factory.js +9 -6
  37. package/package.json +22 -20
  38. package/src/client/sequencer-client.ts +6 -3
  39. package/src/config.ts +1 -1
  40. package/src/publisher/index.ts +0 -1
  41. package/src/publisher/l1-publisher.ts +84 -83
  42. package/src/sequencer/metrics.ts +11 -1
  43. package/src/sequencer/sequencer.ts +95 -141
  44. package/src/sequencer/timetable.ts +123 -0
  45. package/src/slasher/factory.ts +2 -3
  46. package/src/slasher/slasher_client.ts +2 -3
  47. package/src/test/index.ts +22 -0
  48. package/src/{publisher → test}/test-l1-publisher.ts +1 -1
  49. package/src/tx_validator/archive_cache.ts +27 -0
  50. package/src/tx_validator/gas_validator.ts +1 -1
  51. package/src/tx_validator/phases_validator.ts +1 -1
  52. package/src/tx_validator/tx_validator_factory.ts +8 -1
  53. package/dest/publisher/test-l1-publisher.d.ts.map +0 -1
  54. package/dest/publisher/test-l1-publisher.js +0 -11
  55. package/dest/publisher/utils.d.ts +0 -2
  56. package/dest/publisher/utils.d.ts.map +0 -1
  57. package/dest/publisher/utils.js +0 -13
  58. package/src/publisher/utils.ts +0 -14
@@ -0,0 +1,38 @@
1
+ import { type SequencerMetrics } from './metrics.js';
2
+ import { SequencerState } from './utils.js';
3
+ export declare class SequencerTimetable {
4
+ private readonly ethereumSlotDuration;
5
+ private readonly aztecSlotDuration;
6
+ private readonly maxL1TxInclusionTimeIntoSlot;
7
+ private readonly enforce;
8
+ private readonly metrics?;
9
+ private readonly log;
10
+ /** How late into the slot can we be to start working */
11
+ readonly initialTime = 3;
12
+ /** How long it takes to get ready to start building */
13
+ readonly blockPrepareTime = 1;
14
+ /** How long it takes to for proposals and attestations to travel across the p2p layer (one-way) */
15
+ readonly attestationPropagationTime = 2;
16
+ /** How much time we spend validating and processing a block after building it, and assembling the proposal to send to attestors */
17
+ readonly blockValidationTime = 1;
18
+ /**
19
+ * How long it takes to get a published block into L1. L1 builders typically accept txs up to 4 seconds into their slot,
20
+ * but we'll timeout sooner to give it more time to propagate (remember we also have blobs!). Still, when working in anvil,
21
+ * we can just post in the very last second of the L1 slot and still expect the tx to be accepted.
22
+ */
23
+ readonly l1PublishingTime: number;
24
+ constructor(ethereumSlotDuration: number, aztecSlotDuration: number, maxL1TxInclusionTimeIntoSlot: number, enforce?: boolean, metrics?: SequencerMetrics | undefined, log?: import("@aztec/aztec.js").Logger);
25
+ private get afterBlockBuildingTimeNeededWithoutReexec();
26
+ getBlockProposalExecTimeEnd(secondsIntoSlot: number): number;
27
+ private get afterBlockReexecTimeNeeded();
28
+ getValidatorReexecTimeEnd(secondsIntoSlot: number): number;
29
+ getMaxAllowedTime(state: SequencerState): number | undefined;
30
+ assertTimeLeft(newState: SequencerState, secondsIntoSlot: number): void;
31
+ }
32
+ export declare class SequencerTooSlowError extends Error {
33
+ readonly proposedState: SequencerState;
34
+ readonly maxAllowedTime: number;
35
+ readonly currentTime: number;
36
+ constructor(proposedState: SequencerState, maxAllowedTime: number, currentTime: number);
37
+ }
38
+ //# sourceMappingURL=timetable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timetable.d.ts","sourceRoot":"","sources":["../../src/sequencer/timetable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,qBAAa,kBAAkB;IAqB3B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,4BAA4B;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAzBtB,wDAAwD;IACxD,SAAgB,WAAW,KAAK;IAEhC,uDAAuD;IACvD,SAAgB,gBAAgB,KAAK;IAErC,mGAAmG;IACnG,SAAgB,0BAA0B,KAAK;IAE/C,mIAAmI;IACnI,SAAgB,mBAAmB,KAAK;IAExC;;;;OAIG;IACH,SAAgB,gBAAgB,SAAC;gBAGd,oBAAoB,EAAE,MAAM,EAC5B,iBAAiB,EAAE,MAAM,EACzB,4BAA4B,EAAE,MAAM,EACpC,OAAO,GAAE,OAAc,EACvB,OAAO,CAAC,8BAAkB,EAC1B,GAAG,mCAAsC;IAK5D,OAAO,KAAK,yCAAyC,GAEpD;IAEM,2BAA2B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAenE,OAAO,KAAK,0BAA0B,GAErC;IAEM,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAU1D,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAsB5D,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM;CAkBxE;AAED,qBAAa,qBAAsB,SAAQ,KAAK;aAE5B,aAAa,EAAE,cAAc;aAC7B,cAAc,EAAE,MAAM;aACtB,WAAW,EAAE,MAAM;gBAFnB,aAAa,EAAE,cAAc,EAC7B,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM;CAOtC"}
@@ -0,0 +1,96 @@
1
+ import { createLogger } from '@aztec/aztec.js';
2
+ import { SequencerState } from './utils.js';
3
+ export class SequencerTimetable {
4
+ constructor(ethereumSlotDuration, aztecSlotDuration, maxL1TxInclusionTimeIntoSlot, enforce = true, metrics, log = createLogger('sequencer:timetable')) {
5
+ this.ethereumSlotDuration = ethereumSlotDuration;
6
+ this.aztecSlotDuration = aztecSlotDuration;
7
+ this.maxL1TxInclusionTimeIntoSlot = maxL1TxInclusionTimeIntoSlot;
8
+ this.enforce = enforce;
9
+ this.metrics = metrics;
10
+ this.log = log;
11
+ /** How late into the slot can we be to start working */
12
+ this.initialTime = 3;
13
+ /** How long it takes to get ready to start building */
14
+ this.blockPrepareTime = 1;
15
+ /** How long it takes to for proposals and attestations to travel across the p2p layer (one-way) */
16
+ this.attestationPropagationTime = 2;
17
+ /** How much time we spend validating and processing a block after building it, and assembling the proposal to send to attestors */
18
+ this.blockValidationTime = 1;
19
+ this.l1PublishingTime = this.ethereumSlotDuration - this.maxL1TxInclusionTimeIntoSlot;
20
+ }
21
+ get afterBlockBuildingTimeNeededWithoutReexec() {
22
+ return this.blockValidationTime + this.attestationPropagationTime * 2 + this.l1PublishingTime;
23
+ }
24
+ getBlockProposalExecTimeEnd(secondsIntoSlot) {
25
+ // We are N seconds into the slot. We need to account for `afterBlockBuildingTimeNeededWithoutReexec` seconds,
26
+ // send then split the remaining time between the re-execution and the block building.
27
+ const maxAllowed = this.aztecSlotDuration - this.afterBlockBuildingTimeNeededWithoutReexec;
28
+ const available = maxAllowed - secondsIntoSlot;
29
+ const executionTimeEnd = secondsIntoSlot + available / 2;
30
+ this.log.debug(`Block proposal execution time deadline is ${executionTimeEnd}`, {
31
+ secondsIntoSlot,
32
+ maxAllowed,
33
+ available,
34
+ executionTimeEnd,
35
+ });
36
+ return executionTimeEnd;
37
+ }
38
+ get afterBlockReexecTimeNeeded() {
39
+ return this.attestationPropagationTime + this.l1PublishingTime;
40
+ }
41
+ getValidatorReexecTimeEnd(secondsIntoSlot) {
42
+ // We need to leave for `afterBlockReexecTimeNeeded` seconds available.
43
+ const validationTimeEnd = this.aztecSlotDuration - this.afterBlockReexecTimeNeeded;
44
+ this.log.debug(`Validator re-execution time deadline is ${validationTimeEnd}`, {
45
+ secondsIntoSlot,
46
+ validationTimeEnd,
47
+ });
48
+ return validationTimeEnd;
49
+ }
50
+ getMaxAllowedTime(state) {
51
+ switch (state) {
52
+ case SequencerState.STOPPED:
53
+ case SequencerState.IDLE:
54
+ case SequencerState.SYNCHRONIZING:
55
+ case SequencerState.PROPOSER_CHECK:
56
+ return; // We don't really care about times for this states
57
+ case SequencerState.INITIALIZING_PROPOSAL:
58
+ return this.initialTime;
59
+ case SequencerState.CREATING_BLOCK:
60
+ return this.initialTime + this.blockPrepareTime;
61
+ case SequencerState.COLLECTING_ATTESTATIONS:
62
+ return this.aztecSlotDuration - this.l1PublishingTime - 2 * this.attestationPropagationTime;
63
+ case SequencerState.PUBLISHING_BLOCK:
64
+ return this.aztecSlotDuration - this.l1PublishingTime;
65
+ default: {
66
+ const _exhaustiveCheck = state;
67
+ throw new Error(`Unexpected state: ${state}`);
68
+ }
69
+ }
70
+ }
71
+ assertTimeLeft(newState, secondsIntoSlot) {
72
+ if (!this.enforce) {
73
+ return;
74
+ }
75
+ const maxAllowedTime = this.getMaxAllowedTime(newState);
76
+ if (maxAllowedTime === undefined) {
77
+ return;
78
+ }
79
+ const bufferSeconds = maxAllowedTime - secondsIntoSlot;
80
+ if (bufferSeconds < 0) {
81
+ throw new SequencerTooSlowError(newState, maxAllowedTime, secondsIntoSlot);
82
+ }
83
+ this.metrics?.recordStateTransitionBufferMs(Math.floor(bufferSeconds * 1000), newState);
84
+ this.log.trace(`Enough time to transition to ${newState}`, { maxAllowedTime, secondsIntoSlot });
85
+ }
86
+ }
87
+ export class SequencerTooSlowError extends Error {
88
+ constructor(proposedState, maxAllowedTime, currentTime) {
89
+ super(`Too far into slot for ${proposedState} (time into slot ${currentTime}s greater than ${maxAllowedTime}s allowance)`);
90
+ this.proposedState = proposedState;
91
+ this.maxAllowedTime = maxAllowedTime;
92
+ this.currentTime = currentTime;
93
+ this.name = 'SequencerTooSlowError';
94
+ }
95
+ }
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci90aW1ldGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUMsTUFBTSxPQUFPLGtCQUFrQjtJQW9CN0IsWUFDbUIsb0JBQTRCLEVBQzVCLGlCQUF5QixFQUN6Qiw0QkFBb0MsRUFDcEMsVUFBbUIsSUFBSSxFQUN2QixPQUEwQixFQUMxQixNQUFNLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztRQUx6Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVE7UUFDNUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFRO1FBQ3pCLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBUTtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUFzQztRQXpCNUQsd0RBQXdEO1FBQ3hDLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRWhDLHVEQUF1RDtRQUN2QyxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFFckMsbUdBQW1HO1FBQ25GLCtCQUEwQixHQUFHLENBQUMsQ0FBQztRQUUvQyxtSUFBbUk7UUFDbkgsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBaUJ0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQztJQUN4RixDQUFDO0lBRUQsSUFBWSx5Q0FBeUM7UUFDbkQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDaEcsQ0FBQztJQUVNLDJCQUEyQixDQUFDLGVBQXVCO1FBQ3hELDhHQUE4RztRQUM5RyxzRkFBc0Y7UUFDdEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQztRQUMzRixNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQUcsZUFBZSxDQUFDO1FBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxHQUFHLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsNkNBQTZDLGdCQUFnQixFQUFFLEVBQUU7WUFDOUUsZUFBZTtZQUNmLFVBQVU7WUFDVixTQUFTO1lBQ1QsZ0JBQWdCO1NBQ2pCLENBQUMsQ0FBQztRQUNILE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVksMEJBQTBCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqRSxDQUFDO0lBRU0seUJBQXlCLENBQUMsZUFBdUI7UUFDdEQsdUVBQXVFO1FBQ3ZFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQztRQUNuRixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQywyQ0FBMkMsaUJBQWlCLEVBQUUsRUFBRTtZQUM3RSxlQUFlO1lBQ2YsaUJBQWlCO1NBQ2xCLENBQUMsQ0FBQztRQUNILE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQXFCO1FBQzVDLFFBQVEsS0FBSyxFQUFFLENBQUM7WUFDZCxLQUFLLGNBQWMsQ0FBQyxPQUFPLENBQUM7WUFDNUIsS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3pCLEtBQUssY0FBYyxDQUFDLGFBQWEsQ0FBQztZQUNsQyxLQUFLLGNBQWMsQ0FBQyxjQUFjO2dCQUNoQyxPQUFPLENBQUMsbURBQW1EO1lBQzdELEtBQUssY0FBYyxDQUFDLHFCQUFxQjtnQkFDdkMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQzFCLEtBQUssY0FBYyxDQUFDLGNBQWM7Z0JBQ2hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDbEQsS0FBSyxjQUFjLENBQUMsdUJBQXVCO2dCQUN6QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQztZQUM5RixLQUFLLGNBQWMsQ0FBQyxnQkFBZ0I7Z0JBQ2xDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUN4RCxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNSLE1BQU0sZ0JBQWdCLEdBQVUsS0FBSyxDQUFDO2dCQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxRQUF3QixFQUFFLGVBQXVCO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEQsSUFBSSxjQUFjLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxjQUFjLEdBQUcsZUFBZSxDQUFDO1FBQ3ZELElBQUksYUFBYSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxFQUFFLDZCQUE2QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxRQUFRLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxLQUFLO0lBQzlDLFlBQ2tCLGFBQTZCLEVBQzdCLGNBQXNCLEVBQ3RCLFdBQW1CO1FBRW5DLEtBQUssQ0FDSCx5QkFBeUIsYUFBYSxvQkFBb0IsV0FBVyxrQkFBa0IsY0FBYyxjQUFjLENBQ3BILENBQUM7UUFOYyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFLbkMsSUFBSSxDQUFDLElBQUksR0FBRyx1QkFBdUIsQ0FBQztJQUN0QyxDQUFDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/slasher/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,eAAO,MAAM,mBAAmB,YACrB,aAAa,GAAG,eAAe,GAAG,iBAAiB,GAAG,cAAc,iBAC9D,aAAa,cACjB,eAAe,SACpB;IAAE,KAAK,CAAC,EAAE,YAAY,CAAA;CAAE,2BAK/B,CAAC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/slasher/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,eAAO,MAAM,mBAAmB,YACrB,aAAa,GAAG,eAAe,GAAG,iBAAiB,GAAG,cAAc,iBAC9D,aAAa,cACjB,eAAe,SACpB;IAAE,KAAK,CAAC,EAAE,YAAY,CAAA;CAAE,2BAK/B,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { createLogger } from '@aztec/foundation/log';
2
2
  import { createStore } from '@aztec/kv-store/lmdb';
3
- import { NoopTelemetryClient } from '@aztec/telemetry-client/noop';
3
+ import { getTelemetryClient } from '@aztec/telemetry-client';
4
4
  import { SlasherClient } from './slasher_client.js';
5
- export const createSlasherClient = async (_config, l2BlockSource, telemetry = new NoopTelemetryClient(), deps = {}) => {
5
+ export const createSlasherClient = async (_config, l2BlockSource, telemetry = getTelemetryClient(), deps = {}) => {
6
6
  const config = { ..._config };
7
7
  const store = deps.store ?? (await createStore('slasher', config, createLogger('slasher:lmdb')));
8
8
  return new SlasherClient(config, store, l2BlockSource, telemetry);
9
9
  };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGFzaGVyL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHcEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxFQUN0QyxPQUE2RSxFQUM3RSxhQUE0QixFQUM1QixZQUE2QixJQUFJLG1CQUFtQixFQUFFLEVBQ3RELE9BQWlDLEVBQUUsRUFDbkMsRUFBRTtJQUNGLE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxXQUFXLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDcEUsQ0FBQyxDQUFDIn0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGFzaGVyL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQXdCLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3BELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEtBQUssRUFDdEMsT0FBNkUsRUFDN0UsYUFBNEIsRUFDNUIsWUFBNkIsa0JBQWtCLEVBQUUsRUFDakQsT0FBaUMsRUFBRSxFQUNuQyxFQUFFO0lBQ0YsTUFBTSxNQUFNLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakcsT0FBTyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"slasher_client.d.ts","sourceRoot":"","sources":["../../src/slasher/slasher_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAuB,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,YAAY,EAAsC,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG3E,OAAO,EACL,KAAK,KAAK,EACV,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,YAAY,EAKlB,MAAM,MAAM,CAAC;AAEd;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,IAAI,IAAA;IACJ,QAAQ,IAAA;IACR,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,EAAE,kBAAkB,CAAC;IAC1B;;OAEG;IACH,eAAe,EAAE,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAQD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAwBzC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,aAAa;IAErB,OAAO,CAAC,GAAG;IA3Bb,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAyB;IAC7C,OAAO,CAAC,wBAAwB,CAAM;IACtC,OAAO,CAAC,wBAAwB,CAAM;IAEtC,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,wBAAwB,CAAyB;IACzD,OAAO,CAAC,wBAAwB,CAAyB;IAEzD,OAAO,CAAC,WAAW,CAAC;IAEpB,OAAO,CAAC,WAAW,CAAoB;IAEvC,SAAS,CAAC,oBAAoB,CAAC,EAAE,qBAAqB,CAAC,OAAO,eAAe,EAAE,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CACtG;IAKZ,OAAO,CAAC,cAAc,CAAc;gBAG1B,MAAM,EAAE,aAAa,GAAG,iBAAiB,GAAG,cAAc,EAC1D,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,aAAa,EACpC,SAAS,GAAE,eAA2C,EAC9C,GAAG,yCAA0B;IAkC1B,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA8B1E,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI3D,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IA6BtB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBhE,KAAK;IAmClB;;;OAGG;IACU,IAAI;IAQjB;;;OAGG;IACI,OAAO;IAId;;;OAGG;IACI,uBAAuB;IAI9B;;;OAGG;IACI,uBAAuB;IAI9B;;;OAGG;IACU,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAYnD;;;;OAIG;YACW,oBAAoB;IAYlC;;;;OAIG;YACW,oBAAoB;YAWpB,mBAAmB;IAqBjC,OAAO,CAAC,qBAAqB;IAc7B;;;OAGG;IACH,OAAO,CAAC,eAAe;CAIxB"}
1
+ {"version":3,"file":"slasher_client.d.ts","sourceRoot":"","sources":["../../src/slasher/slasher_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAuB,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,YAAY,EAAsC,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,eAAe,EAAE,UAAU,EAAsB,MAAM,yBAAyB,CAAC;AAE/F,OAAO,EACL,KAAK,KAAK,EACV,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,YAAY,EAKlB,MAAM,MAAM,CAAC;AAEd;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,IAAI,IAAA;IACJ,QAAQ,IAAA;IACR,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,EAAE,kBAAkB,CAAC;IAC1B;;OAEG;IACH,eAAe,EAAE,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAQD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAwBzC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,aAAa;IAErB,OAAO,CAAC,GAAG;IA3Bb,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAyB;IAC7C,OAAO,CAAC,wBAAwB,CAAM;IACtC,OAAO,CAAC,wBAAwB,CAAM;IAEtC,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,wBAAwB,CAAyB;IACzD,OAAO,CAAC,wBAAwB,CAAyB;IAEzD,OAAO,CAAC,WAAW,CAAC;IAEpB,OAAO,CAAC,WAAW,CAAoB;IAEvC,SAAS,CAAC,oBAAoB,CAAC,EAAE,qBAAqB,CAAC,OAAO,eAAe,EAAE,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CACtG;IAKZ,OAAO,CAAC,cAAc,CAAc;gBAG1B,MAAM,EAAE,aAAa,GAAG,iBAAiB,GAAG,cAAc,EAC1D,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,aAAa,EACpC,SAAS,GAAE,eAAsC,EACzC,GAAG,yCAA0B;IAkC1B,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA8B1E,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI3D,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IA6BtB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBhE,KAAK;IAmClB;;;OAGG;IACU,IAAI;IAQjB;;;OAGG;IACI,OAAO;IAId;;;OAGG;IACI,uBAAuB;IAI9B;;;OAGG;IACI,uBAAuB;IAI9B;;;OAGG;IACU,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAYnD;;;;OAIG;YACW,oBAAoB;IAYlC;;;;OAIG;YACW,oBAAoB;YAWpB,mBAAmB;IAqBjC,OAAO,CAAC,qBAAqB;IAc7B;;;OAGG;IACH,OAAO,CAAC,eAAe;CAIxB"}
@@ -4,8 +4,7 @@ import { createEthereumChain } from '@aztec/ethereum';
4
4
  import { EthAddress } from '@aztec/foundation/eth-address';
5
5
  import { createLogger } from '@aztec/foundation/log';
6
6
  import { SlashFactoryAbi } from '@aztec/l1-artifacts';
7
- import { WithTracer } from '@aztec/telemetry-client';
8
- import { NoopTelemetryClient } from '@aztec/telemetry-client/noop';
7
+ import { WithTracer, getTelemetryClient } from '@aztec/telemetry-client';
9
8
  import { createPublicClient, getAddress, getContract, http, } from 'viem';
10
9
  /**
11
10
  * Enum defining the possible states of the Slasher client.
@@ -43,7 +42,7 @@ export var SlasherClientState;
43
42
  * slashing only the first, because the "lifetime" of the second would have passed after that vote
44
43
  */
45
44
  export class SlasherClient extends WithTracer {
46
- constructor(config, store, l2BlockSource, telemetry = new NoopTelemetryClient(), log = createLogger('slasher')) {
45
+ constructor(config, store, l2BlockSource, telemetry = getTelemetryClient(), log = createLogger('slasher')) {
47
46
  super(telemetry, 'slasher');
48
47
  this.config = config;
49
48
  this.store = store;
@@ -302,4 +301,4 @@ export class SlasherClient extends WithTracer {
302
301
  this.log.debug(`Moved to state ${SlasherClientState[this.currentState]}`);
303
302
  }
304
303
  }
305
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hlcl9jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhc2hlci9zbGFzaGVyX2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsYUFBYSxHQUdkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUErQyxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBd0IsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsT0FBTyxFQUtMLGtCQUFrQixFQUNsQixVQUFVLEVBQ1YsV0FBVyxFQUNYLElBQUksR0FDTCxNQUFNLE1BQU0sQ0FBQztBQUVkOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksa0JBS1g7QUFMRCxXQUFZLGtCQUFrQjtJQUM1QiwyREFBSSxDQUFBO0lBQ0osbUVBQVEsQ0FBQTtJQUNSLGlFQUFPLENBQUE7SUFDUCxpRUFBTyxDQUFBO0FBQ1QsQ0FBQyxFQUxXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFLN0I7QUEyQkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUNILE1BQU0sT0FBTyxhQUFjLFNBQVEsVUFBVTtJQXVCM0MsWUFDVSxNQUEwRCxFQUMxRCxLQUFtQixFQUNuQixhQUE0QixFQUNwQyxZQUE2QixJQUFJLG1CQUFtQixFQUFFLEVBQzlDLE1BQU0sWUFBWSxDQUFDLFNBQVMsQ0FBQztRQUVyQyxLQUFLLENBQUMsU0FB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
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hlcl9jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhc2hlci9zbGFzaGVyX2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsYUFBYSxHQUdkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUErQyxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBd0IsVUFBVSxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0YsT0FBTyxFQUtMLGtCQUFrQixFQUNsQixVQUFVLEVBQ1YsV0FBVyxFQUNYLElBQUksR0FDTCxNQUFNLE1BQU0sQ0FBQztBQUVkOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksa0JBS1g7QUFMRCxXQUFZLGtCQUFrQjtJQUM1QiwyREFBSSxDQUFBO0lBQ0osbUVBQVEsQ0FBQTtJQUNSLGlFQUFPLENBQUE7SUFDUCxpRUFBTyxDQUFBO0FBQ1QsQ0FBQyxFQUxXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFLN0I7QUEyQkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUNILE1BQU0sT0FBTyxhQUFjLFNBQVEsVUFBVTtJQXVCM0MsWUFDVSxNQUEwRCxFQUMxRCxLQUFtQixFQUNuQixhQUE0QixFQUNwQyxZQUE2QixrQkFBa0IsRUFBRSxFQUN6QyxNQUFNLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFFckMsS0FBSyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQU5wQixXQUFNLEdBQU4s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
@@ -0,0 +1,17 @@
1
+ import { type PublicProcessorFactory } from '@aztec/simulator/server';
2
+ import { SequencerClient } from '../client/sequencer-client.js';
3
+ import { type L1Publisher } from '../publisher/l1-publisher.js';
4
+ import { Sequencer } from '../sequencer/sequencer.js';
5
+ import { type SequencerTimetable } from '../sequencer/timetable.js';
6
+ declare class TestSequencer_ extends Sequencer {
7
+ publicProcessorFactory: PublicProcessorFactory;
8
+ timetable: SequencerTimetable;
9
+ publisher: L1Publisher;
10
+ }
11
+ export type TestSequencer = TestSequencer_;
12
+ declare class TestSequencerClient_ extends SequencerClient {
13
+ sequencer: TestSequencer;
14
+ }
15
+ export type TestSequencerClient = TestSequencerClient_;
16
+ export * from './test-l1-publisher.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,cAAM,cAAe,SAAQ,SAAS;IACpB,sBAAsB,EAAG,sBAAsB,CAAC;IAChD,SAAS,EAAG,kBAAkB,CAAC;IAC/B,SAAS,EAAG,WAAW,CAAC;CACzC;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC;AAE3C,cAAM,oBAAqB,SAAQ,eAAe;IAChC,SAAS,EAAG,aAAa,CAAC;CAC3C;AAED,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { SequencerClient } from '../client/sequencer-client.js';
2
+ import { Sequencer } from '../sequencer/sequencer.js';
3
+ class TestSequencer_ extends Sequencer {
4
+ }
5
+ class TestSequencerClient_ extends SequencerClient {
6
+ }
7
+ export * from './test-l1-publisher.js';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3RELE1BQU0sY0FBZSxTQUFRLFNBQVM7Q0FJckM7QUFJRCxNQUFNLG9CQUFxQixTQUFRLGVBQWU7Q0FFakQ7QUFJRCxjQUFjLHdCQUF3QixDQUFDIn0=
@@ -1,7 +1,7 @@
1
1
  import { type EthereumChain } from '@aztec/ethereum';
2
2
  import { type Delayer } from '@aztec/ethereum/test';
3
3
  import { type Chain, type HttpTransport, type PrivateKeyAccount, type WalletClient } from 'viem';
4
- import { L1Publisher } from './l1-publisher.js';
4
+ import { L1Publisher } from '../publisher/l1-publisher.js';
5
5
  export declare class TestL1Publisher extends L1Publisher {
6
6
  delayer: Delayer | undefined;
7
7
  protected createWalletClient(account: PrivateKeyAccount, chain: EthereumChain): WalletClient<HttpTransport, Chain, PrivateKeyAccount>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-l1-publisher.d.ts","sourceRoot":"","sources":["../../src/test/test-l1-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,KAAK,OAAO,EAAe,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAEjG,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,qBAAa,eAAgB,SAAQ,WAAW;IACvC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;cAEjB,kBAAkB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,aAAa,GACnB,YAAY,CAAC,aAAa,EAAE,KAAK,EAAE,iBAAiB,CAAC;CAMzD"}
@@ -0,0 +1,11 @@
1
+ import { withDelayer } from '@aztec/ethereum/test';
2
+ import { L1Publisher } from '../publisher/l1-publisher.js';
3
+ export class TestL1Publisher extends L1Publisher {
4
+ createWalletClient(account, chain) {
5
+ const baseClient = super.createWalletClient(account, chain);
6
+ const { client, delayer } = withDelayer(baseClient, { ethereumSlotDuration: this.ethereumSlotDuration });
7
+ this.delayer = delayer;
8
+ return client;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1sMS1wdWJsaXNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC90ZXN0LWwxLXB1Ymxpc2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSWpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBRzNCLGtCQUFrQixDQUNuQyxPQUEwQixFQUMxQixLQUFvQjtRQUVwQixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVELE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsV0FBVyxDQUFDLFVBQVUsRUFBRSxFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDekcsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIn0=
@@ -0,0 +1,14 @@
1
+ import { type MerkleTreeReadOperations } from '@aztec/circuit-types';
2
+ import { type Fr } from '@aztec/circuits.js';
3
+ import { type ArchiveSource } from '@aztec/p2p';
4
+ /**
5
+ * Implements an archive source by checking a DB and an in-memory collection.
6
+ * Intended for validating transactions as they are added to a block.
7
+ */
8
+ export declare class ArchiveCache implements ArchiveSource {
9
+ private db;
10
+ archives: Map<string, bigint>;
11
+ constructor(db: MerkleTreeReadOperations);
12
+ getArchiveIndices(archives: Fr[]): Promise<(bigint | undefined)[]>;
13
+ }
14
+ //# sourceMappingURL=archive_cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive_cache.d.ts","sourceRoot":"","sources":["../../src/tx_validator/archive_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,qBAAa,YAAa,YAAW,aAAa;IAGpC,OAAO,CAAC,EAAE;IAFtB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEV,EAAE,EAAE,wBAAwB;IAInC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAWhF"}
@@ -0,0 +1,22 @@
1
+ import { MerkleTreeId } from '@aztec/circuit-types';
2
+ /**
3
+ * Implements an archive source by checking a DB and an in-memory collection.
4
+ * Intended for validating transactions as they are added to a block.
5
+ */
6
+ export class ArchiveCache {
7
+ constructor(db) {
8
+ this.db = db;
9
+ this.archives = new Map();
10
+ }
11
+ async getArchiveIndices(archives) {
12
+ const toCheckDb = archives.filter(n => !this.archives.has(n.toString()));
13
+ const dbHits = await this.db.findLeafIndices(MerkleTreeId.ARCHIVE, toCheckDb);
14
+ dbHits.forEach((x, index) => {
15
+ if (x !== undefined) {
16
+ this.archives.set(toCheckDb[index].toString(), x);
17
+ }
18
+ });
19
+ return archives.map(n => this.archives.get(n.toString()));
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZV9jYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF92YWxpZGF0b3IvYXJjaGl2ZV9jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFpQyxNQUFNLHNCQUFzQixDQUFDO0FBSW5GOzs7R0FHRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBR3ZCLFlBQW9CLEVBQTRCO1FBQTVCLE9BQUUsR0FBRixFQUFFLENBQTBCO1FBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFDNUMsQ0FBQztJQUVNLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxRQUFjO1FBQzNDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekUsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FDRiJ9
@@ -3,7 +3,7 @@ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  import { TxExecutionPhase } from '@aztec/circuit-types';
4
4
  import { FunctionSelector } from '@aztec/circuits.js';
5
5
  import { createLogger } from '@aztec/foundation/log';
6
- import { computeFeePayerBalanceStorageSlot, getExecutionRequestsByPhase } from '@aztec/simulator';
6
+ import { computeFeePayerBalanceStorageSlot, getExecutionRequestsByPhase } from '@aztec/simulator/server';
7
7
  export class GasTxValidator {
8
8
  constructor(publicDataSource, feeJuiceAddress, enforceFees, gasFees) {
9
9
  _GasTxValidator_instances.add(this);
@@ -70,4 +70,4 @@ _GasTxValidator_log = new WeakMap(), _GasTxValidator_publicDataSource = new Weak
70
70
  }
71
71
  return { result: 'valid' };
72
72
  };
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF92YWxpZGF0b3IvZ2FzX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBVyxnQkFBZ0IsRUFBNkMsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RyxPQUFPLEVBQThCLGdCQUFnQixFQUFnQixNQUFNLG9CQUFvQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU9sRyxNQUFNLE9BQU8sY0FBYztJQU96QixZQUNFLGdCQUFtQyxFQUNuQyxlQUE2QixFQUM3QixXQUFvQixFQUNwQixPQUFnQjs7UUFWbEIsOEJBQU8sWUFBWSxDQUFDLCtCQUErQixDQUFDLEVBQUM7UUFDckQsbURBQXFDO1FBQ3JDLGtEQUErQjtRQUMvQiw4Q0FBc0I7UUFDdEIsMENBQWtCO1FBUWhCLHVCQUFBLElBQUksb0NBQXFCLGdCQUFnQixNQUFBLENBQUM7UUFDMUMsdUJBQUEsSUFBSSxtQ0FBb0IsZUFBZSxNQUFBLENBQUM7UUFDeEMsdUJBQUEsSUFBSSwrQkFBZ0IsV0FBVyxNQUFBLENBQUM7UUFDaEMsdUJBQUEsSUFBSSwyQkFBWSxPQUFPLE1BQUEsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQU07UUFDZixJQUFJLHVCQUFBLElBQUksNkRBQVksTUFBaEIsSUFBSSxFQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDekIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RixDQUFDO1FBQ0QsT0FBTyx1QkFBQSxJQUFJLGdFQUFlLE1BQW5CLElBQUksRUFBZ0IsRUFB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
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF92YWxpZGF0b3IvZ2FzX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBVyxnQkFBZ0IsRUFBNkMsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RyxPQUFPLEVBQThCLGdCQUFnQixFQUFnQixNQUFNLG9CQUFvQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU96RyxNQUFNLE9BQU8sY0FBYztJQU96QixZQUNFLGdCQUFtQyxFQUNuQyxlQUE2QixFQUM3QixXQUFvQixFQUNwQixPQUFnQjs7UUFWbEIsOEJBQU8sWUFBWSxDQUFDLCtCQUErQixDQUFDLEVBQUM7UUFDckQsbURBQXFDO1FBQ3JDLGtEQUErQjtRQUMvQiw4Q0FBc0I7UUFDdEIsMENBQWtCO1FBUWhCLHVCQUFBLElBQUksb0NBQXFCLGdCQUFnQixNQUFBLENBQUM7UUFDMUMsdUJBQUEsSUFBSSxtQ0FBb0IsZUFBZSxNQUFBLENBQUM7UUFDeEMsdUJBQUEsSUFBSSwrQkFBZ0IsV0FBVyxNQUFBLENBQUM7UUFDaEMsdUJBQUEsSUFBSSwyQkFBWSxPQUFPLE1BQUEsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQU07UUFDZixJQUFJLHVCQUFBLElBQUksNkRBQVksTUFBaEIsSUFBSSxFQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDekIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RixDQUFDO1FBQ0QsT0FBTyx1QkFBQSxJQUFJLGdFQUFlLE1BQW5CLElBQUksRUFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztDQThERjswVUE1RGEsRUFBTTtJQUNoQixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO0lBRTVELCtFQUErRTtJQUMvRSxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ2hELE1BQU0sZ0JBQWdCLEdBQ3BCLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLHVCQUFBLElBQUksK0JBQVMsQ0FBQyxXQUFXLENBQUM7UUFDdkQsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsdUJBQUEsSUFBSSwrQkFBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTFELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUNyQix1QkFBQSxJQUFJLDJCQUFLLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUMsU0FBUyxFQUFFLGtDQUFrQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUNELE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyxrQ0FFRCxLQUFLLHdDQUFnQixFQUFNO0lBQ3pCLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2xDLHdHQUF3RztJQUN4RyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ3RCLElBQUksdUJBQUEsSUFBSSxtQ0FBYSxFQUFFLENBQUM7WUFDdEIsdUJBQUEsSUFBSSwyQkFBSyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLFNBQVMsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO1lBQ25GLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztRQUM5RCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCx3RkFBd0Y7SUFDeEYsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUV2RSx1Q0FBdUM7SUFDdkMsTUFBTSxjQUFjLEdBQUcsTUFBTSx1QkFBQSxJQUFJLHdDQUFrQixDQUFDLFdBQVcsQ0FDN0QsdUJBQUEsSUFBSSx1Q0FBaUIsRUFDckIsaUNBQWlDLENBQUMsUUFBUSxDQUFDLENBQzVDLENBQUM7SUFFRixzR0FBc0c7SUFDdEcsTUFBTSxRQUFRLEdBQUcsMkJBQTJCLENBQUMsRUFBRSxFQUFFLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FDckMsRUFBRSxDQUFDLEVBQUUsQ0FDSCxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsdUJBQUEsSUFBSSx1Q0FBaUIsQ0FBQztRQUM1RCxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsdUJBQUEsSUFBSSx1Q0FBaUIsQ0FBQztRQUN0RCxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ2xCLG1IQUFtSDtRQUNuSCxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMseUNBQXlDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0RyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FDL0IsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDbkcsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDekIsdUJBQUEsSUFBSSwyQkFBSyxDQUFDLElBQUksQ0FBQywyREFBMkQsRUFBRTtZQUMxRSxRQUFRO1lBQ1IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDM0IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUU7U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsZ0NBQWdDLENBQUMsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFDRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQzdCLENBQUMifQ==
@@ -2,7 +2,7 @@ var _PhasesTxValidator_log;
2
2
  import { __classPrivateFieldGet } from "tslib";
3
3
  import { Tx, TxExecutionPhase, } from '@aztec/circuit-types';
4
4
  import { createLogger } from '@aztec/foundation/log';
5
- import { ContractsDataSourcePublicDB, getExecutionRequestsByPhase } from '@aztec/simulator';
5
+ import { ContractsDataSourcePublicDB, getExecutionRequestsByPhase } from '@aztec/simulator/server';
6
6
  export class PhasesTxValidator {
7
7
  constructor(contracts, setupAllowList) {
8
8
  this.setupAllowList = setupAllowList;
@@ -69,4 +69,4 @@ export class PhasesTxValidator {
69
69
  }
70
70
  }
71
71
  _PhasesTxValidator_log = new WeakMap();
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF92YWxpZGF0b3IvcGhhc2VzX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFHTCxFQUFFLEVBQ0YsZ0JBQWdCLEdBR2pCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVGLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFBWSxTQUE2QixFQUFVLGNBQWdDO1FBQWhDLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUhuRixpQ0FBTyxZQUFZLENBQUMsa0NBQWtDLENBQUMsRUFBQztRQUl0RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFNO1FBQ3JCLElBQUksQ0FBQztZQUNILHdGQUF3RjtZQUN4RixtR0FBbUc7WUFDbkcsK0RBQStEO1lBQy9ELE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUVsRCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdkIsdUJBQUEsSUFBSSw4QkFBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLDBFQUEwRSxDQUFDLENBQUM7Z0JBQ2hILE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDN0IsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLDJCQUEyQixDQUFDLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6RSxLQUFL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
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF92YWxpZGF0b3IvcGhhc2VzX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFHTCxFQUFFLEVBQ0YsZ0JBQWdCLEdBR2pCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5HLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFBWSxTQUE2QixFQUFVLGNBQWdDO1FBQWhDLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUhuRixpQ0FBTyxZQUFZLENBQUMsa0NBQWtDLENBQUMsRUFBQztRQUl0RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFNO1FBQ3JCLElBQUksQ0FBQztZQUNILHdGQUF3RjtZQUN4RixtR0FBbUc7WUFDbkcsK0RBQStEO1lBQy9ELE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUVsRCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdkIsdUJBQUEsSUFBSSw4QkFBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLDBFQUEwRSxDQUFDLENBQUM7Z0JBQ2hILE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDN0IsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLDJCQUEyQixDQUFDLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6RSxLQUFL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
@@ -1 +1 @@
1
- {"version":3,"file":"tx_validator_factory.d.ts","sourceRoot":"","sources":["../../src/tx_validator/tx_validator_factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAChB,KAAK,EAAE,EACP,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAqB,KAAK,kBAAkB,EAAM,KAAK,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAYxH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,wBAAwB,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,6BAA6B,GAAG,SAAS,EACnD,IAAI,EAAE;IACJ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB,GACA,WAAW,CAAC,EAAE,CAAC,CAejB;AAED,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,wBAAwB,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,OAAO,EACpB,cAAc,EAAE,cAAc,EAAE,GAC/B;IACD,mBAAmB,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IACrC,oBAAoB,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAC/C,cAAc,EAAE,cAAc,CAAC;CAChC,CAgBA"}
1
+ {"version":3,"file":"tx_validator_factory.d.ts","sourceRoot":"","sources":["../../src/tx_validator/tx_validator_factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAChB,KAAK,EAAE,EACP,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAqB,KAAK,kBAAkB,EAAM,KAAK,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAcxH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,wBAAwB,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,6BAA6B,GAAG,SAAS,EACnD,IAAI,EAAE;IACJ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB,GACA,WAAW,CAAC,EAAE,CAAC,CAgBjB;AAED,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,wBAAwB,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,OAAO,EACpB,cAAc,EAAE,cAAc,EAAE,GAC/B;IACD,mBAAmB,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IACrC,oBAAoB,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAC/C,cAAc,EAAE,cAAc,CAAC;CAChC,CAkBA"}
@@ -1,7 +1,8 @@
1
1
  import { Fr } from '@aztec/circuits.js';
2
- import { AggregateTxValidator, DataTxValidator, DoubleSpendTxValidator, MetadataTxValidator, TxProofValidator, } from '@aztec/p2p';
2
+ import { AggregateTxValidator, BlockHeaderTxValidator, DataTxValidator, DoubleSpendTxValidator, MetadataTxValidator, TxProofValidator, } from '@aztec/p2p';
3
3
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
4
- import { readPublicState } from '@aztec/simulator';
4
+ import { readPublicState } from '@aztec/simulator/server';
5
+ import { ArchiveCache } from './archive_cache.js';
5
6
  import { GasTxValidator } from './gas_validator.js';
6
7
  import { NullifierCache } from './nullifier_cache.js';
7
8
  import { PhasesTxValidator } from './phases_validator.js';
@@ -13,6 +14,7 @@ export function createValidatorForAcceptingTxs(db, contractDataSource, verifier,
13
14
  new DoubleSpendTxValidator(new NullifierCache(db)),
14
15
  new PhasesTxValidator(contractDataSource, setupAllowList),
15
16
  new GasTxValidator(new DatabasePublicStateSource(db), ProtocolContractAddress.FeeJuice, enforceFees, gasFees),
17
+ new BlockHeaderTxValidator(new ArchiveCache(db)),
16
18
  ];
17
19
  if (verifier) {
18
20
  validators.push(new TxProofValidator(verifier));
@@ -21,9 +23,10 @@ export function createValidatorForAcceptingTxs(db, contractDataSource, verifier,
21
23
  }
22
24
  export function createValidatorsForBlockBuilding(db, contractDataSource, globalVariables, enforceFees, setupAllowList) {
23
25
  const nullifierCache = new NullifierCache(db);
26
+ const archiveCache = new ArchiveCache(db);
24
27
  const publicStateSource = new DatabasePublicStateSource(db);
25
28
  return {
26
- preprocessValidator: preprocessValidator(nullifierCache, publicStateSource, contractDataSource, enforceFees, globalVariables, setupAllowList),
29
+ preprocessValidator: preprocessValidator(nullifierCache, archiveCache, publicStateSource, contractDataSource, enforceFees, globalVariables, setupAllowList),
27
30
  postprocessValidator: postprocessValidator(nullifierCache),
28
31
  nullifierCache,
29
32
  };
@@ -36,11 +39,11 @@ class DatabasePublicStateSource {
36
39
  return readPublicState(this.db, contractAddress, slot);
37
40
  }
38
41
  }
39
- function preprocessValidator(nullifierCache, publicStateSource, contractDataSource, enforceFees, globalVariables, setupAllowList) {
42
+ function preprocessValidator(nullifierCache, archiveCache, publicStateSource, contractDataSource, enforceFees, globalVariables, setupAllowList) {
40
43
  // We don't include the TxProofValidator nor the DataTxValidator here because they are already checked by the time we get to block building.
41
- return new AggregateTxValidator(new MetadataTxValidator(globalVariables.chainId, globalVariables.blockNumber), new DoubleSpendTxValidator(nullifierCache), new PhasesTxValidator(contractDataSource, setupAllowList), new GasTxValidator(publicStateSource, ProtocolContractAddress.FeeJuice, enforceFees, globalVariables.gasFees));
44
+ return new AggregateTxValidator(new MetadataTxValidator(globalVariables.chainId, globalVariables.blockNumber), new DoubleSpendTxValidator(nullifierCache), new PhasesTxValidator(contractDataSource, setupAllowList), new GasTxValidator(publicStateSource, ProtocolContractAddress.FeeJuice, enforceFees, globalVariables.gasFees), new BlockHeaderTxValidator(archiveCache));
42
45
  }
43
46
  function postprocessValidator(nullifierCache) {
44
47
  return new DoubleSpendTxValidator(nullifierCache);
45
48
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfdmFsaWRhdG9yX2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHhfdmFsaWRhdG9yL3R4X3ZhbGlkYXRvcl9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBOEMsRUFBRSxFQUFzQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3hILE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsZ0JBQWdCLEdBQ2pCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsY0FBYyxFQUEwQixNQUFNLG9CQUFvQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxNQUFNLFVBQVUsOEJBQThCLENBQzVDLEVBQTRCLEVBQzVCLGtCQUFzQyxFQUN0QyxRQUFtRCxFQUNuRCxJQU1DO0lBRUQsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDOUUsTUFBTSxVQUFVLEdBQXNCO1FBQ3BDLElBQUksZUFBZSxFQUFFO1FBQ3JCLElBQUksbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0QsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRCxJQUFJLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLGNBQWMsQ0FBQztRQUN6RCxJQUFJLGNBQWMsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDO0tBQzlHLENBQUM7SUFFRixJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLEVBQTRCLEVBQzVCLGtCQUFzQyxFQUN0QyxlQUFnQyxFQUNoQyxXQUFvQixFQUNwQixjQUFnQztJQU1oQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QyxNQUFNLGlCQUFpQixHQUFHLElBQUkseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFNUQsT0FBTztRQUNMLG1CQUFtQixFQUFFLG1CQUFtQixDQUN0QyxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsZUFBZSxFQUNmLGNBQWMsQ0FDZjtRQUNELG9CQUFvQixFQUFFLG9CQUFvQixDQUFDLGNBQWMsQ0FBQztRQUMxRCxjQUFjO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLHlCQUF5QjtJQUM3QixZQUFvQixFQUE0QjtRQUE1QixPQUFFLEdBQUYsRUFBRSxDQUEwQjtJQUFHLENBQUM7SUFFcEQsV0FBVyxDQUFDLGVBQTZCLEVBQUUsSUFBUTtRQUNqRCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0Y7QUFFRCxTQUFTLG1CQUFtQixDQUMxQixjQUE4QixFQUM5QixpQkFBb0MsRUFDcEMsa0JBQXNDLEVBQ3RDLFdBQW9CLEVBQ3BCLGVBQWdDLEVBQ2hDLGNBQWdDO0lBRWhDLDRJQUE0STtJQUM1SSxPQUFPLElBQUksb0JBQW9CLENBQzdCLElBQUksbUJBQW1CLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQzdFLElBQUksc0JBQXNCLENBQUMsY0FBYyxDQUFDLEVBQzFDLElBQUksaUJBQWlCLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLEVBQ3pELElBQUksY0FBYyxDQUFDLGlCQUFpQixFQUFFLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUM5RyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsY0FBOEI7SUFDMUQsT0FBTyxJQUFJLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3BELENBQUMifQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfdmFsaWRhdG9yX2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHhfdmFsaWRhdG9yL3R4X3ZhbGlkYXRvcl9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBOEMsRUFBRSxFQUFzQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3hILE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLGdCQUFnQixHQUNqQixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQTBCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE1BQU0sVUFBVSw4QkFBOEIsQ0FDNUMsRUFBNEIsRUFDNUIsa0JBQXNDLEVBQ3RDLFFBQW1ELEVBQ25ELElBTUM7SUFFRCxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztJQUM5RSxNQUFNLFVBQVUsR0FBc0I7UUFDcEMsSUFBSSxlQUFlLEVBQUU7UUFDckIsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvRCxJQUFJLHNCQUFzQixDQUFDLElBQUksY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksaUJBQWlCLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDO1FBQ3pELElBQUksY0FBYyxDQUFDLElBQUkseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsdUJBQXVCLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUM7UUFDN0csSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNqRCxDQUFDO0lBRUYsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxPQUFPLElBQUksb0JBQW9CLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdDQUFnQyxDQUM5QyxFQUE0QixFQUM1QixrQkFBc0MsRUFDdEMsZUFBZ0MsRUFDaEMsV0FBb0IsRUFDcEIsY0FBZ0M7SUFNaEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTVELE9BQU87UUFDTCxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FDdEMsY0FBYyxFQUNkLFlBQVksRUFDWixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxlQUFlLEVBQ2YsY0FBYyxDQUNmO1FBQ0Qsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUMsY0FBYyxDQUFDO1FBQzFELGNBQWM7S0FDZixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0seUJBQXlCO0lBQzdCLFlBQW9CLEVBQTRCO1FBQTVCLE9BQUUsR0FBRixFQUFFLENBQTBCO0lBQUcsQ0FBQztJQUVwRCxXQUFXLENBQUMsZUFBNkIsRUFBRSxJQUFRO1FBQ2pELE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRjtBQUVELFNBQVMsbUJBQW1CLENBQzFCLGNBQThCLEVBQzlCLFlBQTBCLEVBQzFCLGlCQUFvQyxFQUNwQyxrQkFBc0MsRUFDdEMsV0FBb0IsRUFDcEIsZUFBZ0MsRUFDaEMsY0FBZ0M7SUFFaEMsNElBQTRJO0lBQzVJLE9BQU8sSUFBSSxvQkFBb0IsQ0FDN0IsSUFBSSxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFDN0UsSUFBSSxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsRUFDMUMsSUFBSSxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLENBQUMsRUFDekQsSUFBSSxjQUFjLENBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQzdHLElBQUksc0JBQXNCLENBQUMsWUFBWSxDQUFDLENBQ3pDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxjQUE4QjtJQUMxRCxPQUFPLElBQUksc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDcEQsQ0FBQyJ9
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@aztec/sequencer-client",
3
- "version": "0.69.1",
3
+ "version": "0.71.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
7
- "./config": "./dest/config.js"
7
+ "./config": "./dest/config.js",
8
+ "./test": "./dest/test/index.js"
8
9
  },
9
10
  "typedocOptions": {
10
11
  "entryPoints": [
@@ -27,24 +28,25 @@
27
28
  "test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
28
29
  },
29
30
  "dependencies": {
30
- "@aztec/aztec.js": "0.69.1",
31
- "@aztec/bb-prover": "0.69.1",
32
- "@aztec/circuit-types": "0.69.1",
33
- "@aztec/circuits.js": "0.69.1",
34
- "@aztec/ethereum": "0.69.1",
35
- "@aztec/foundation": "0.69.1",
36
- "@aztec/l1-artifacts": "0.69.1",
37
- "@aztec/merkle-tree": "0.69.1",
38
- "@aztec/noir-contracts.js": "0.69.1",
39
- "@aztec/noir-protocol-circuits-types": "0.69.1",
40
- "@aztec/p2p": "0.69.1",
41
- "@aztec/protocol-contracts": "0.69.1",
42
- "@aztec/prover-client": "0.69.1",
43
- "@aztec/simulator": "0.69.1",
44
- "@aztec/telemetry-client": "0.69.1",
45
- "@aztec/types": "0.69.1",
46
- "@aztec/validator-client": "0.69.1",
47
- "@aztec/world-state": "0.69.1",
31
+ "@aztec/aztec.js": "0.71.0",
32
+ "@aztec/bb-prover": "0.71.0",
33
+ "@aztec/blob-sink": "0.71.0",
34
+ "@aztec/circuit-types": "0.71.0",
35
+ "@aztec/circuits.js": "0.71.0",
36
+ "@aztec/ethereum": "0.71.0",
37
+ "@aztec/foundation": "0.71.0",
38
+ "@aztec/l1-artifacts": "0.71.0",
39
+ "@aztec/merkle-tree": "0.71.0",
40
+ "@aztec/noir-contracts.js": "0.71.0",
41
+ "@aztec/noir-protocol-circuits-types": "0.71.0",
42
+ "@aztec/p2p": "0.71.0",
43
+ "@aztec/protocol-contracts": "0.71.0",
44
+ "@aztec/prover-client": "0.71.0",
45
+ "@aztec/simulator": "0.71.0",
46
+ "@aztec/telemetry-client": "0.71.0",
47
+ "@aztec/types": "0.71.0",
48
+ "@aztec/validator-client": "0.71.0",
49
+ "@aztec/world-state": "0.71.0",
48
50
  "@noir-lang/acvm_js": "portal:../../noir/packages/acvm_js",
49
51
  "@noir-lang/types": "portal:../../noir/packages/types",
50
52
  "lodash.chunk": "^4.2.0",
@@ -1,3 +1,4 @@
1
+ import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
1
2
  import { type L1ToL2MessageSource, type L2BlockSource, type WorldStateSynchronizer } from '@aztec/circuit-types';
2
3
  import { type ContractDataSource } from '@aztec/circuits.js';
3
4
  import { isAnvilTestChain } from '@aztec/ethereum';
@@ -5,7 +6,7 @@ import { type EthAddress } from '@aztec/foundation/eth-address';
5
6
  import { type DateProvider } from '@aztec/foundation/timer';
6
7
  import { type P2P } from '@aztec/p2p';
7
8
  import { LightweightBlockBuilderFactory } from '@aztec/prover-client/block-builder';
8
- import { PublicProcessorFactory } from '@aztec/simulator';
9
+ import { PublicProcessorFactory } from '@aztec/simulator/server';
9
10
  import { type TelemetryClient } from '@aztec/telemetry-client';
10
11
  import { type ValidatorClient } from '@aztec/validator-client';
11
12
 
@@ -46,6 +47,7 @@ export class SequencerClient {
46
47
  l1ToL2MessageSource: L1ToL2MessageSource;
47
48
  telemetry: TelemetryClient;
48
49
  publisher?: L1Publisher;
50
+ blobSinkClient?: BlobSinkClientInterface;
49
51
  dateProvider: DateProvider;
50
52
  },
51
53
  ) {
@@ -59,7 +61,8 @@ export class SequencerClient {
59
61
  l1ToL2MessageSource,
60
62
  telemetry: telemetryClient,
61
63
  } = deps;
62
- const publisher = deps.publisher ?? new L1Publisher(config, telemetryClient);
64
+ const publisher =
65
+ deps.publisher ?? new L1Publisher(config, { telemetry: telemetryClient, blobSinkClient: deps.blobSinkClient });
63
66
  const globalsBuilder = new GlobalVariableBuilder(config);
64
67
 
65
68
  const publicProcessorFactory = new PublicProcessorFactory(contractDataSource, deps.dateProvider, telemetryClient);
@@ -101,8 +104,8 @@ export class SequencerClient {
101
104
  contractDataSource,
102
105
  l1Constants,
103
106
  deps.dateProvider,
104
- telemetryClient,
105
107
  { ...config, maxL1TxInclusionTimeIntoSlot },
108
+ telemetryClient,
106
109
  );
107
110
  await validatorClient?.start();
108
111
  await sequencer.start();