@aztec/prover-node 6.0.0-nightly.20260812 → 6.0.0-nightly.20260822

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.
@@ -2,6 +2,7 @@ import type { L1ContractsConfig } from '@aztec/ethereum/config';
2
2
  import type { Logger } from '@aztec/foundation/log';
3
3
  import { type ProverClientConfig } from '@aztec/prover-client';
4
4
  import { ProverBrokerConfig } from '@aztec/prover-client/broker';
5
+ import { type CheckpointSubTreeProofs } from '@aztec/prover-client/orchestrator';
5
6
  import type { DataStoreConfig } from '@aztec/stdlib/kv-store';
6
7
  import type { GenesisData } from '@aztec/stdlib/world-state';
7
8
  type RerunConfig = DataStoreConfig & ProverBrokerConfig & ProverClientConfig & Pick<L1ContractsConfig, 'aztecEpochDuration'>;
@@ -17,6 +18,6 @@ export declare function rerunEpochProvingJob(localPath: string, log: Logger, con
17
18
  * epoch top-tree, no L1 submission — so a checkpoint-level failure can be reproduced offline in isolation.
18
19
  * Returns the block-rollup proof outputs on success; throws if the checkpoint fails to prove again.
19
20
  */
20
- export declare function rerunCheckpointProvingJob(localPath: string, log: Logger, config: RerunConfig, genesis?: GenesisData): Promise<import("@aztec/stdlib/interfaces/server").PublicInputsAndRecursiveProof<import("@aztec/stdlib/rollup").BlockRollupPublicInputs, 480>[]>;
21
+ export declare function rerunCheckpointProvingJob(localPath: string, log: Logger, config: RerunConfig, genesis?: GenesisData): Promise<CheckpointSubTreeProofs['blockProofOutputs']>;
21
22
  export {};
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVydW4tZXBvY2gtcHJvdmluZy1qb2IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL3JlcnVuLWVwb2NoLXByb3Zpbmctam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQXNCLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUErQixNQUFNLDZCQUE2QixDQUFDO0FBTzlGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzlELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBVzdELEtBQUssV0FBVyxHQUFHLGVBQWUsR0FDaEMsa0JBQWtCLEdBQ2xCLGtCQUFrQixHQUNsQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztBQUVoRDs7OztHQUlHO0FBQ0gsd0JBQXNCLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxFQUFFLFdBQVcsbU1Bc0NwSDtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLHlCQUF5QixDQUM3QyxTQUFTLEVBQUUsTUFBTSxFQUNqQixHQUFHLEVBQUUsTUFBTSxFQUNYLE1BQU0sRUFBRSxXQUFXLEVBQ25CLE9BQU8sQ0FBQyxFQUFFLFdBQVcsbUpBaUJ0QiJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVydW4tZXBvY2gtcHJvdmluZy1qb2IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL3JlcnVuLWVwb2NoLXByb3Zpbmctam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQXNCLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUErQixNQUFNLDZCQUE2QixDQUFDO0FBRTlGLE9BQU8sRUFBRSxLQUFLLHVCQUF1QixFQUFjLE1BQU0sbUNBQW1DLENBQUM7QUFLN0YsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHOUQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFXN0QsS0FBSyxXQUFXLEdBQUcsZUFBZSxHQUNoQyxrQkFBa0IsR0FDbEIsa0JBQWtCLEdBQ2xCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBRWhEOzs7O0dBSUc7QUFDSCx3QkFBc0Isb0JBQW9CLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLEVBQUUsV0FBVyxtTUFzQ3BIO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBc0IseUJBQXlCLENBQzdDLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLEdBQUcsRUFBRSxNQUFNLEVBQ1gsTUFBTSxFQUFFLFdBQVcsRUFDbkIsT0FBTyxDQUFDLEVBQUUsV0FBVyxHQUNwQixPQUFPLENBQUMsdUJBQXVCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQWdCdkQifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"rerun-epoch-proving-job.d.ts","sourceRoot":"","sources":["../../src/actions/rerun-epoch-proving-job.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAA+B,MAAM,6BAA6B,CAAC;AAO9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAW7D,KAAK,WAAW,GAAG,eAAe,GAChC,kBAAkB,GAClB,kBAAkB,GAClB,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;AAEhD;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,mMAsCpH;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE,WAAW,mJAiBtB"}
1
+ {"version":3,"file":"rerun-epoch-proving-job.d.ts","sourceRoot":"","sources":["../../src/actions/rerun-epoch-proving-job.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAA+B,MAAM,6BAA6B,CAAC;AAE9F,OAAO,EAAE,KAAK,uBAAuB,EAAc,MAAM,mCAAmC,CAAC;AAK7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAW7D,KAAK,WAAW,GAAG,eAAe,GAChC,kBAAkB,GAClB,kBAAkB,GAClB,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;AAEhD;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,mMAsCpH;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC,CAgBvD"}
@@ -155,9 +155,9 @@ import { ProverNodeJobMetrics } from '../metrics.js';
155
155
  log.info(`Rerunning checkpoint proving for checkpoint ${checkpointNumber} (epoch ${jobData.epochNumber})`);
156
156
  const prover = await buildCheckpointProver(ctx, 0, log);
157
157
  try {
158
- const blockProofs = await prover.whenBlockProofsReady();
159
- log.info(`Completed proving for checkpoint ${checkpointNumber} with ${blockProofs.length} block proof(s)`);
160
- return blockProofs;
158
+ const { blockProofOutputs } = await prover.whenSubTreeProofsReady();
159
+ log.info(`Completed proving for checkpoint ${checkpointNumber} with ${blockProofOutputs.length} block proof(s)`);
160
+ return blockProofOutputs;
161
161
  } finally{
162
162
  prover.cancel({
163
163
  routine: true
@@ -209,6 +209,7 @@ import { ProverNodeJobMetrics } from '../metrics.js';
209
209
  const { jobData, worldState, prover, chonkCache, publicProcessorFactory, txProvider, metrics } = ctx;
210
210
  const checkpoint = jobData.checkpoints[index];
211
211
  const previousBlockHeader = index === 0 ? jobData.previousBlockHeader : jobData.checkpoints[index - 1].blocks.at(-1).header;
212
+ const previousInboxRollingHash = index === 0 ? jobData.previousInboxRollingHash : jobData.checkpoints[index - 1].header.inboxRollingHash;
212
213
  const l1ToL2Messages = jobData.l1ToL2Messages[checkpoint.number] ?? [];
213
214
  const previousArchiveSiblingPath = await getLastSiblingPath(MerkleTreeId.ARCHIVE, worldState.getSnapshot(BlockNumber(checkpoint.blocks[0].number - 1)));
214
215
  const attestations = checkpoint.number === jobData.checkpoints.at(-1).number ? jobData.attestations : [];
@@ -218,6 +219,7 @@ import { ProverNodeJobMetrics } from '../metrics.js';
218
219
  attestations,
219
220
  previousBlockHeader,
220
221
  l1ToL2Messages,
222
+ previousInboxRollingHash,
221
223
  previousArchiveSiblingPath
222
224
  }, {
223
225
  proverFactory: prover,
@@ -1,4 +1,4 @@
1
- import { type ARCHIVE_HEIGHT } from '@aztec/constants';
1
+ import type { ARCHIVE_HEIGHT } from '@aztec/constants';
2
2
  import { type EpochNumber, type SlotNumber } from '@aztec/foundation/branded-types';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { EthAddress } from '@aztec/foundation/eth-address';
@@ -6,7 +6,7 @@ import type { Logger } from '@aztec/foundation/log';
6
6
  import type { Tuple } from '@aztec/foundation/serialize';
7
7
  import { type DateProvider } from '@aztec/foundation/timer';
8
8
  import type { EpochProverFactory } from '@aztec/prover-client';
9
- import type { ChonkCache, SubTreeResult } from '@aztec/prover-client/orchestrator';
9
+ import type { CheckpointSubTreeProofs, ChonkCache } from '@aztec/prover-client/orchestrator';
10
10
  import type { PublicProcessorFactory } from '@aztec/simulator/server';
11
11
  import type { CommitteeAttestation } from '@aztec/stdlib/block';
12
12
  import type { Checkpoint } from '@aztec/stdlib/checkpoint';
@@ -54,6 +54,8 @@ export type CheckpointProverArgs = {
54
54
  attestations: CommitteeAttestation[];
55
55
  previousBlockHeader: BlockHeader;
56
56
  l1ToL2Messages: Fr[];
57
+ /** Inbox rolling hash of the previous checkpoint (this checkpoint's chain start); genesis is zero. */
58
+ previousInboxRollingHash: Fr;
57
59
  previousArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>;
58
60
  };
59
61
  /**
@@ -66,8 +68,8 @@ export type CheckpointProverArgs = {
66
68
  * predecessor but with different content, keys to a distinct prover.
67
69
  *
68
70
  * The prover eagerly starts its own tx gather and sub-tree work in the constructor, so
69
- * callers only need to call `whenBlockProofsReady()` to obtain the resulting block-rollup
70
- * proofs.
71
+ * callers only need to call `whenSubTreeProofsReady()` to obtain the resulting block-rollup
72
+ * and InboxParity proofs.
71
73
  *
72
74
  * A CheckpointProver does not survive a prune: its sub-tree work forks world-state per
73
75
  * block, and an L1 prune of a base block faults those reads. The store therefore cancels and
@@ -86,9 +88,11 @@ export declare class CheckpointProver {
86
88
  readonly attestations: CommitteeAttestation[];
87
89
  readonly previousBlockHeader: BlockHeader;
88
90
  readonly l1ToL2Messages: Fr[];
91
+ readonly previousInboxRollingHash: Fr;
89
92
  readonly previousArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>;
90
- /** Resolved by the sub-tree on success, rejected on cancel/failure. */
91
- private readonly blockProofs;
93
+ /** Resolved by the sub-tree on success, rejected on cancel/failure. Carries the block proofs plus the checkpoint's
94
+ * InboxParity proof (which feeds the checkpoint root in the top tree). */
95
+ private readonly subTreeProofs;
92
96
  /** Block-level proving was fully *enqueued* (a progress marker; the sub-tree may still be proving). */
93
97
  private completed;
94
98
  /** Block proofs rejected for a genuine (non-cancel) reason — a sub-tree or prune-induced fork fault. */
@@ -120,17 +124,17 @@ export declare class CheckpointProver {
120
124
  isFailed(): boolean;
121
125
  /** AbortSignal that fires on cancel — for callers that want to wire their own tasks. */
122
126
  getAbortSignal(): AbortSignal;
123
- /** Promise that resolves with the block-rollup proofs for this checkpoint (or rejects on cancel/failure). */
124
- whenBlockProofsReady(): Promise<SubTreeResult['blockProofOutputs']>;
127
+ /** Promise that resolves with the block-rollup proofs and InboxParity proof for this checkpoint (or rejects). */
128
+ whenSubTreeProofsReady(): Promise<CheckpointSubTreeProofs>;
125
129
  /** Resolves when all in-flight work for this prover has fully unwound. */
126
130
  whenDone(): Promise<void>;
127
131
  private gatherAndExecute;
128
132
  /**
129
- * Rejects the block-proof promise and, unless this is a cancellation, records the prover as failed so
133
+ * Rejects the sub-tree proof promise and, unless this is a cancellation, records the prover as failed so
130
134
  * the reconciler won't build an EpochSession over it. First rejection wins, so a later duplicate reject
131
135
  * (e.g. the executeCheckpoint `finally`) is a harmless no-op.
132
136
  */
133
- private failBlockProofs;
137
+ private failSubTreeProofs;
134
138
  private fetchTxs;
135
139
  private gatherTxs;
136
140
  /**
@@ -162,4 +166,4 @@ export declare class CheckpointProver {
162
166
  private processTxs;
163
167
  private createFork;
164
168
  }
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC1wcm92ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qb2IvY2hlY2twb2ludC1wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUF1QyxNQUFNLGtCQUFrQixDQUFDO0FBQzVGLE9BQU8sRUFBZSxLQUFLLFdBQVcsRUFBRSxLQUFLLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQVMsTUFBTSx5QkFBeUIsQ0FBQztBQUduRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFpQyxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEgsT0FBTyxLQUFLLEVBQW1CLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkYsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQVcsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUc3RixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQWUsRUFBRSxFQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFFN0UsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENB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
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC1wcm92ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qb2IvY2hlY2twb2ludC1wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFlLEtBQUssV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakcsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBUyxNQUFNLHlCQUF5QixDQUFDO0FBR25FLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBRVYsdUJBQXVCLEVBQ3ZCLFVBQVUsRUFDWCxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sS0FBSyxFQUFtQixzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXZGLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFXLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHN0YsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFlLEVBQUUsRUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBRTdFLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxD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
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-prover.d.ts","sourceRoot":"","sources":["../../src/job/checkpoint-prover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint-prover.d.ts","sourceRoot":"","sources":["../../src/job/checkpoint-prover.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,4 @@
1
- import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/constants';
2
1
  import { BlockNumber } from '@aztec/foundation/branded-types';
3
- import { padArrayEnd } from '@aztec/foundation/collection';
4
- import { Fr } from '@aztec/foundation/curves/bn254';
5
2
  import { promiseWithResolvers } from '@aztec/foundation/promise';
6
3
  import { Timer } from '@aztec/foundation/timer';
7
4
  import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
@@ -19,8 +16,8 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
19
16
  * predecessor but with different content, keys to a distinct prover.
20
17
  *
21
18
  * The prover eagerly starts its own tx gather and sub-tree work in the constructor, so
22
- * callers only need to call `whenBlockProofsReady()` to obtain the resulting block-rollup
23
- * proofs.
19
+ * callers only need to call `whenSubTreeProofsReady()` to obtain the resulting block-rollup
20
+ * and InboxParity proofs.
24
21
  *
25
22
  * A CheckpointProver does not survive a prune: its sub-tree work forks world-state per
26
23
  * block, and an L1 prune of a base block faults those reads. The store therefore cancels and
@@ -38,13 +35,15 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
38
35
  attestations;
39
36
  previousBlockHeader;
40
37
  l1ToL2Messages;
38
+ previousInboxRollingHash;
41
39
  previousArchiveSiblingPath;
42
- /** Resolved by the sub-tree on success, rejected on cancel/failure. */ blockProofs;
40
+ /** Resolved by the sub-tree on success, rejected on cancel/failure. Carries the block proofs plus the checkpoint's
41
+ * InboxParity proof (which feeds the checkpoint root in the top tree). */ subTreeProofs;
43
42
  // Three independent lifecycle facts — deliberately not collapsed into one status enum, because several
44
43
  // combinations are legal and relied on: a prover can be `completed` and then `cancelled` (routine
45
44
  // teardown of an already-proven checkpoint), or `completed` and then `failed` (block proving was
46
45
  // enqueued, but the sub-tree subsequently faulted). Only `failed` + `cancelled` is excluded — a cancel
47
- // is not a failure (enforced in `failBlockProofs`).
46
+ // is not a failure (enforced in `failSubTreeProofs`).
48
47
  /** Block-level proving was fully *enqueued* (a progress marker; the sub-tree may still be proving). */ completed;
49
48
  /** Block proofs rejected for a genuine (non-cancel) reason — a sub-tree or prune-induced fork fault. */ failed;
50
49
  /** The prover was torn down (prune / reap / shutdown). */ cancelled;
@@ -55,7 +54,7 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
55
54
  /** Tracks the success-driven sub-tree teardown (once block proofs are captured) so `whenDone()` can await it. */ teardownPromise;
56
55
  constructor(args, deps){
57
56
  this.deps = deps;
58
- this.blockProofs = promiseWithResolvers();
57
+ this.subTreeProofs = promiseWithResolvers();
59
58
  this.completed = false;
60
59
  this.failed = false;
61
60
  this.cancelled = false;
@@ -66,11 +65,12 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
66
65
  this.attestations = args.attestations;
67
66
  this.previousBlockHeader = args.previousBlockHeader;
68
67
  this.l1ToL2Messages = args.l1ToL2Messages;
68
+ this.previousInboxRollingHash = args.previousInboxRollingHash;
69
69
  this.previousArchiveSiblingPath = args.previousArchiveSiblingPath;
70
70
  this.id = CheckpointProver.idFor(args.checkpoint);
71
- // Mark blockProofs as observed so a cancel that lands before any consumer awaits
71
+ // Mark subTreeProofs as observed so a cancel that lands before any consumer awaits
72
72
  // does not surface as an unhandled rejection.
73
- this.blockProofs.promise.catch(()=>{});
73
+ this.subTreeProofs.promise.catch(()=>{});
74
74
  deps.log.info(`Created CheckpointProver ${this.id}`, {
75
75
  checkpointNumber: this.checkpoint.number,
76
76
  epochNumber: this.epochNumber,
@@ -103,18 +103,18 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
103
103
  /** AbortSignal that fires on cancel — for callers that want to wire their own tasks. */ getAbortSignal() {
104
104
  return this.abortController.signal;
105
105
  }
106
- /** Promise that resolves with the block-rollup proofs for this checkpoint (or rejects on cancel/failure). */ whenBlockProofsReady() {
107
- return this.blockProofs.promise;
106
+ /** Promise that resolves with the block-rollup proofs and InboxParity proof for this checkpoint (or rejects). */ whenSubTreeProofsReady() {
107
+ return this.subTreeProofs.promise;
108
108
  }
109
109
  /** Resolves when all in-flight work for this prover has fully unwound. */ async whenDone() {
110
110
  await this.runPromise.catch(()=>{});
111
111
  // `runPromise` resolves once block-level proving is *enqueued*, but the sub-tree's proofs (and the
112
112
  // success-driven teardown they trigger) land later, on the `getSubTreeResult()` callback. Awaiting
113
- // `blockProofs` here bridges that gap: on success the callback resolves `blockProofs` and then
113
+ // `subTreeProofs` here bridges that gap: on success the callback resolves `subTreeProofs` and then
114
114
  // synchronously sets `teardownPromise` before this await resumes, so the teardown is observable
115
- // below; on failure/cancel `blockProofs` rejects and teardown is driven by the `finally`/cancel
115
+ // below; on failure/cancel `subTreeProofs` rejects and teardown is driven by the `finally`/cancel
116
116
  // paths already awaited via `runPromise`/`cancelPromise`.
117
- await this.blockProofs.promise.catch(()=>{});
117
+ await this.subTreeProofs.promise.catch(()=>{});
118
118
  if (this.cancelPromise) {
119
119
  await this.cancelPromise;
120
120
  }
@@ -139,14 +139,14 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
139
139
  this.deps.log.error(`Error in CheckpointProver ${this.id}`, err, {
140
140
  checkpointNumber: this.checkpoint.number
141
141
  });
142
- this.failBlockProofs(err instanceof Error ? err : new Error(String(err)));
142
+ this.failSubTreeProofs(err instanceof Error ? err : new Error(String(err)));
143
143
  }
144
144
  }
145
145
  /**
146
- * Rejects the block-proof promise and, unless this is a cancellation, records the prover as failed so
146
+ * Rejects the sub-tree proof promise and, unless this is a cancellation, records the prover as failed so
147
147
  * the reconciler won't build an EpochSession over it. First rejection wins, so a later duplicate reject
148
148
  * (e.g. the executeCheckpoint `finally`) is a harmless no-op.
149
- */ failBlockProofs(err) {
149
+ */ failSubTreeProofs(err) {
150
150
  if (!this.cancelled && !this.failed) {
151
151
  this.failed = true;
152
152
  // Notify the owner so it can upload a post-mortem for this checkpoint. Fire-and-forget: the
@@ -157,7 +157,7 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
157
157
  this.deps.log.error(`Error in CheckpointProver onFailed callback for ${this.id}`, err);
158
158
  }
159
159
  }
160
- this.blockProofs.reject(err);
160
+ this.subTreeProofs.reject(err);
161
161
  }
162
162
  /** Fetches every tx in this checkpoint from the tx pool (by hash, via the block tx effects). */ async fetchTxs() {
163
163
  const deadline = new Date(this.deps.dateProvider.now() + this.deps.txGatheringTimeoutMs);
@@ -228,9 +228,9 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
228
228
  checkpointHash: this.checkpoint.hash().toString(),
229
229
  blockCount: this.checkpoint.blocks.length
230
230
  });
231
- this.subTree = await this.deps.proverFactory.createCheckpointSubTreeOrchestrator(this.deps.chonkCache, this.epochNumber, checkpointConstants, this.l1ToL2Messages, this.checkpoint.blocks.length, this.previousBlockHeader);
231
+ this.subTree = await this.deps.proverFactory.createCheckpointSubTreeOrchestrator(this.deps.chonkCache, this.epochNumber, checkpointConstants, this.l1ToL2Messages, this.previousInboxRollingHash, this.checkpoint.blocks.length, this.previousBlockHeader);
232
232
  subTreeStarted = true;
233
- // Bridge the sub-tree's result onto blockProofs.
233
+ // Bridge the sub-tree's result onto subTreeProofs.
234
234
  void this.subTree.getSubTreeResult().then((result)=>{
235
235
  this.deps.log.info(`Sub-tree block proofs ready for checkpoint ${this.checkpoint.number}`, {
236
236
  checkpointNumber: this.checkpoint.number,
@@ -238,16 +238,19 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
238
238
  });
239
239
  // Spans processing + proving (from executeCheckpoint start, after tx gathering) to proofs ready.
240
240
  this.deps.metrics.recordCheckpointProving(checkpointTimer.ms());
241
- this.blockProofs.resolve(result.blockProofOutputs);
242
- // Release the sub-tree orchestrator now that its output is captured. The block-proof outputs
243
- // survive via the resolved promise; everything else the sub-tree held — per-tx AVM inputs, and
244
- // the base/merge/parity proof trees — is dead once proving completes, yet the prover is retained
245
- // for the whole proof-submission window. Dropping it here is what stops that retention from
246
- // accumulating across every proven checkpoint. Post-completion consumers (the top-tree job, a
247
- // rebuilt EpochSession, failure upload) read only `whenBlockProofsReady()` and this prover's own
248
- // fields (`checkpoint`, `txs`, headers, sibling paths), never the sub-tree.
241
+ this.subTreeProofs.resolve({
242
+ blockProofOutputs: result.blockProofOutputs,
243
+ inboxParityProof: result.inboxParityProof
244
+ });
245
+ // Release the sub-tree orchestrator now that its output is captured. The block-proof and
246
+ // InboxParity proofs survive via the resolved promise; everything else the sub-tree held — per-tx
247
+ // AVM inputs, and the base/merge/parity proof trees — is dead once proving completes, yet the
248
+ // prover is retained for the whole proof-submission window. Dropping it here is what stops that
249
+ // retention from accumulating across every proven checkpoint. Post-completion consumers (the
250
+ // top-tree job, a rebuilt EpochSession, failure upload) read only `whenSubTreeProofsReady()` and
251
+ // this prover's own fields (`checkpoint`, `txs`, headers, sibling paths), never the sub-tree.
249
252
  this.teardownPromise = this.teardownSubTree();
250
- }, (err)=>this.failBlockProofs(err instanceof Error ? err : new Error(String(err))));
253
+ }, (err)=>this.failSubTreeProofs(err instanceof Error ? err : new Error(String(err))));
251
254
  if (signal.aborted) {
252
255
  return;
253
256
  }
@@ -259,16 +262,23 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
259
262
  return;
260
263
  }
261
264
  }
265
+ // Streaming Inbox: the checkpoint's messages are consumed contiguously across its blocks;
266
+ // each block's slice runs from its parent block's L1-to-L2 leaf count to its own (compact indices make leaf
267
+ // count equal cumulative message count).
268
+ const l1ToL2LeafCount = (block)=>Number(block.header.state.l1ToL2MessageTree.nextAvailableLeafIndex);
269
+ const checkpointStartLeafCount = l1ToL2LeafCount(this.checkpoint.blocks.at(-1)) - this.l1ToL2Messages.length;
262
270
  for(let blockIndex = 0; blockIndex < this.checkpoint.blocks.length; blockIndex++){
263
271
  const blockTimer = new Timer();
264
272
  const block = this.checkpoint.blocks[blockIndex];
265
273
  const globalVariables = block.header.globalVariables;
266
274
  const blockTxs = this.getTxsForBlock(block, txs);
267
- await this.subTree.startNewBlock(block.number, globalVariables.timestamp, blockTxs.length);
275
+ const prevLeafCount = blockIndex === 0 ? checkpointStartLeafCount : l1ToL2LeafCount(this.checkpoint.blocks[blockIndex - 1]);
276
+ const blockMessages = this.l1ToL2Messages.slice(prevLeafCount - checkpointStartLeafCount, l1ToL2LeafCount(block) - checkpointStartLeafCount);
277
+ await this.subTree.startNewBlock(block.number, globalVariables.timestamp, blockTxs.length, blockMessages);
268
278
  if (signal.aborted) {
269
279
  return;
270
280
  }
271
- const db = await this.createFork(BlockNumber(block.number - 1), blockIndex === 0 ? this.l1ToL2Messages : undefined);
281
+ const db = await this.createFork(BlockNumber(block.number - 1), blockMessages);
272
282
  try {
273
283
  if (signal.aborted) {
274
284
  return;
@@ -312,7 +322,7 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
312
322
  if (subTreeStarted) {
313
323
  await this.teardownSubTree();
314
324
  }
315
- this.failBlockProofs(new Error(`Checkpoint ${this.id} did not complete block processing`));
325
+ this.failSubTreeProofs(new Error(`Checkpoint ${this.id} did not complete block processing`));
316
326
  }
317
327
  }
318
328
  }
@@ -343,7 +353,7 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
343
353
  });
344
354
  }
345
355
  this.abortController.abort();
346
- this.blockProofs.reject(new Error(`Checkpoint ${this.id} cancelled`));
356
+ this.subTreeProofs.reject(new Error(`Checkpoint ${this.id} cancelled`));
347
357
  this.cancelPromise = this.runCancel().catch(()=>{});
348
358
  }
349
359
  async runCancel() {
@@ -396,10 +406,8 @@ import { MerkleTreeId } from '@aztec/stdlib/trees';
396
406
  }
397
407
  async createFork(blockNumber, l1ToL2Messages) {
398
408
  const db = await this.deps.dbProvider.fork(blockNumber);
399
- if (l1ToL2Messages !== undefined) {
400
- const l1ToL2MessagesPadded = padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, 'Too many L1 to L2 messages');
401
- await db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2MessagesPadded);
402
- }
409
+ // Append the block's real message leaves unpadded at compact indices.
410
+ await db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2Messages);
403
411
  return db;
404
412
  }
405
413
  }
@@ -10,9 +10,11 @@ export type EpochProvingJobData = {
10
10
  txs: Map<string, Tx>;
11
11
  l1ToL2Messages: Record<CheckpointNumber, Fr[]>;
12
12
  previousBlockHeader: BlockHeader;
13
+ /** Inbox rolling hash of the checkpoint before the epoch's first checkpoint (its chain start); genesis is zero. */
14
+ previousInboxRollingHash: Fr;
13
15
  attestations: CommitteeAttestation[];
14
16
  };
15
17
  export declare function validateEpochProvingJobData(data: EpochProvingJobData): void;
16
18
  export declare function serializeEpochProvingJobData(data: EpochProvingJobData): Buffer;
17
19
  export declare function deserializeEpochProvingJobData(buf: Buffer): EpochProvingJobData;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtcHJvdmluZy1qb2ItZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2pvYi9lcG9jaC1wcm92aW5nLWpvYi1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsOENBQThDO0FBQzlDLE1BQU0sTUFBTSxtQkFBbUIsR0FBRztJQUNoQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQ3pCLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUMxQixHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyQixjQUFjLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0MsbUJBQW1CLEVBQUUsV0FBVyxDQUFDO0lBQ2pDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0NBQ3RDLENBQUM7QUFFRix3QkFBZ0IsMkJBQTJCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixRQWtCcEU7QUFFRCx3QkFBZ0IsNEJBQTRCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixHQUFHLE1BQU0sQ0FzQjlFO0FBRUQsd0JBQWdCLDhCQUE4QixDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsbUJBQW1CLENBb0IvRSJ9
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtcHJvdmluZy1qb2ItZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2pvYi9lcG9jaC1wcm92aW5nLWpvYi1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsOENBQThDO0FBQzlDLE1BQU0sTUFBTSxtQkFBbUIsR0FBRztJQUNoQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQ3pCLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUMxQixHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyQixjQUFjLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0MsbUJBQW1CLEVBQUUsV0FBVyxDQUFDO0lBQ2pDLG1IQUFtSDtJQUNuSCx3QkFBd0IsRUFBRSxFQUFFLENBQUM7SUFDN0IsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUM7Q0FDdEMsQ0FBQztBQUVGLHdCQUFnQiwyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLFFBa0JwRTtBQUVELHdCQUFnQiw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEdBQUcsTUFBTSxDQXVCOUU7QUFFRCx3QkFBZ0IsOEJBQThCLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxtQkFBbUIsQ0E2Qi9FIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"epoch-proving-job-data.d.ts","sourceRoot":"","sources":["../../src/job/epoch-proving-job-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEnD,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,mBAAmB,EAAE,WAAW,CAAC;IACjC,YAAY,EAAE,oBAAoB,EAAE,CAAC;CACtC,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,mBAAmB,QAkBpE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAsB9E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAoB/E"}
1
+ {"version":3,"file":"epoch-proving-job-data.d.ts","sourceRoot":"","sources":["../../src/job/epoch-proving-job-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEnD,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,mBAAmB,EAAE,WAAW,CAAC;IACjC,mHAAmH;IACnH,wBAAwB,EAAE,EAAE,CAAC;IAC7B,YAAY,EAAE,oBAAoB,EAAE,CAAC;CACtC,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,mBAAmB,QAkBpE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAuB9E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CA6B/E"}
@@ -28,12 +28,13 @@ export function serializeEpochProvingJobData(data) {
28
28
  ...messages
29
29
  ]);
30
30
  const attestations = data.attestations.map((attestation)=>attestation.toBuffer());
31
- return serializeToBuffer(data.epochNumber, data.previousBlockHeader, checkpoints.length, ...checkpoints, txs.length, ...txs, l1ToL2Messages.length, ...l1ToL2Messages, attestations.length, ...attestations);
31
+ return serializeToBuffer(data.epochNumber, data.previousBlockHeader, data.previousInboxRollingHash, checkpoints.length, ...checkpoints, txs.length, ...txs, l1ToL2Messages.length, ...l1ToL2Messages, attestations.length, ...attestations);
32
32
  }
33
33
  export function deserializeEpochProvingJobData(buf) {
34
34
  const reader = BufferReader.asReader(buf);
35
35
  const epochNumber = EpochNumber(reader.readNumber());
36
36
  const previousBlockHeader = reader.readObject(BlockHeader);
37
+ const previousInboxRollingHash = Fr.fromBuffer(reader);
37
38
  const checkpoints = reader.readVector(Checkpoint);
38
39
  const txArray = reader.readVector(Tx);
39
40
  const l1ToL2MessageCheckpointCount = reader.readNumber();
@@ -51,6 +52,7 @@ export function deserializeEpochProvingJobData(buf) {
51
52
  return {
52
53
  epochNumber,
53
54
  previousBlockHeader,
55
+ previousInboxRollingHash,
54
56
  checkpoints,
55
57
  txs,
56
58
  l1ToL2Messages,
@@ -31,7 +31,7 @@ export type TopTreeJobHooks = {
31
31
  };
32
32
  /**
33
33
  * Self-contained top-tree job. Constructed from a snapshot of `CheckpointProver`s; runs
34
- * `topTree.prove(...)` against their pending `blockProofs` promises and exposes the
34
+ * `topTree.prove(...)` against their pending `subTreeProofs` promises and exposes the
35
35
  * final epoch proof via `result`.
36
36
  *
37
37
  */
@@ -4,7 +4,7 @@ import { buildFinalBlobChallenges } from '@aztec/prover-client/helpers';
4
4
  import { TopTreeCancelledError } from '@aztec/prover-client/orchestrator';
5
5
  /**
6
6
  * Self-contained top-tree job. Constructed from a snapshot of `CheckpointProver`s; runs
7
- * `topTree.prove(...)` against their pending `blockProofs` promises and exposes the
7
+ * `topTree.prove(...)` against their pending `subTreeProofs` promises and exposes the
8
8
  * final epoch proof via `result`.
9
9
  *
10
10
  */ export class TopTreeJob {
@@ -119,7 +119,7 @@ import { TopTreeCancelledError } from '@aztec/prover-client/orchestrator';
119
119
  durationMs: blobTimer.ms()
120
120
  });
121
121
  const checkpointData = this.snapshot.map((j)=>({
122
- blockProofs: j.whenBlockProofsReady(),
122
+ subTreeProofs: j.whenSubTreeProofsReady(),
123
123
  l2ToL1MsgsPerBlock: j.checkpoint.blocks.map((b)=>b.body.txEffects.map((tx)=>tx.l2ToL1Msgs)),
124
124
  blobFields: j.checkpoint.toBlobFields(),
125
125
  previousBlockHeader: j.previousBlockHeader,
@@ -68,4 +68,4 @@ export declare class ProverNodePublisher {
68
68
  private getEpochProofPublicInputsArgs;
69
69
  private getSubmitEpochProofArgs;
70
70
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUtcHVibGlzaGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmVyLW5vZGUtcHVibGlzaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQThCLE1BQU0saUJBQWlCLENBQUM7QUFFMUUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUYsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBR3ZGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvRSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJGLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUduRixPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQXdFLE1BQU0sTUFBTSxDQUFDO0FBSXRHLHNFQUFzRTtBQUN0RSxNQUFNLE1BQU0sc0JBQXNCLEdBQUc7SUFDbkMsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixlQUFlLEVBQUUsRUFBRSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFDZixZQUFZLEVBQUUsRUFBRSxDQUFDO0lBQ2pCLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDWixRQUFRLEVBQUUsRUFBRSxDQUFDO0lBQ2IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsS0FBSyxFQUFFLEtBQUssQ0FBQztDQUNkLENBQUM7QUFFRixxQkFBYSxtQkFBbUI7SUFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBNkI7SUFFNUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUM7SUFFdEIsU0FBUyxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUM7SUFFekMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLEdBQUcsQ0FBQztJQUVyQyxTQUFnQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBRXJDLFlBQ0UsTUFBTSxFQUFFLGNBQWMsR0FBRyxlQUFlLEVBQ3hDLElBQUksRUFBRTtRQUNKLGNBQWMsRUFBRSxjQUFjLENBQUM7UUFDL0IsU0FBUyxFQUFFLFNBQVMsQ0FBQztRQUNyQixxQkFBcUIsQ0FBQyxFQUFFLFVBQVUsQ0FBQztRQUNuQyxTQUFTLENBQUMsRUFBRSxlQUFlLENBQUM7S0FDN0IsRUFDRCxRQUFRLENBQUMsRUFBRSxjQUFjLEVBVTFCO0lBRU0saUJBQWlCLG1CQUV2QjtJQUVNLGdCQUFnQixlQUV0QjtJQUVZLGdCQUFnQixDQUFDLElBQUksRUFBRTtRQUNsQyxXQUFXLEVBQUUsV0FBVyxDQUFDO1FBQ3pCLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQztRQUNqQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUM7UUFDL0IsWUFBWSxFQUFFLHNCQUFzQixDQUFDO1FBQ3JDLEtBQUssRUFBRSxLQUFLLENBQUM7UUFDYixpQkFBaUIsRUFBRSxXQUFXLENBQUM7UUFDL0IsWUFBWSxFQUFFLHdCQUF3QixFQUFFLENBQUM7UUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsbUdBQW1HO1FBQ25HLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQztLQUNqQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0E2Q25CO1lBRWEsNEJBQTRCO0lBb0UxQzs7OztPQUlHO0lBQ1UsMkJBQTJCLENBQUMsSUFBSSxFQUFFO1FBQzdDLFdBQVcsRUFBRSxXQUFXLENBQUM7UUFDekIsY0FBYyxFQUFFLGdCQUFnQixDQUFDO1FBQ2pDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztRQUMvQixZQUFZLEVBQUUsc0JBQXNCLENBQUM7UUFDckMsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUNiLGlCQUFpQixFQUFFLFdBQVcsQ0FBQztRQUMvQixZQUFZLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztRQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztLQUM3QixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FzQ2hCO0lBRUQsT0FBTyxDQUFDLDhCQUE4QjtZQWdCeEIsc0JBQXNCO0lBaURwQyxPQUFPLENBQUMsNkJBQTZCO0lBdUJyQyxPQUFPLENBQUMsdUJBQXVCO0NBd0JoQyJ9
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUtcHVibGlzaGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmVyLW5vZGUtcHVibGlzaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQThCLE1BQU0saUJBQWlCLENBQUM7QUFFMUUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUYsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBR3ZGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvRSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJGLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUduRixPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQXdFLE1BQU0sTUFBTSxDQUFDO0FBSXRHLHNFQUFzRTtBQUN0RSxNQUFNLE1BQU0sc0JBQXNCLEdBQUc7SUFDbkMsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixlQUFlLEVBQUUsRUFBRSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFDZixZQUFZLEVBQUUsRUFBRSxDQUFDO0lBQ2pCLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDWixRQUFRLEVBQUUsRUFBRSxDQUFDO0lBQ2IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsS0FBSyxFQUFFLEtBQUssQ0FBQztDQUNkLENBQUM7QUFFRixxQkFBYSxtQkFBbUI7SUFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBNkI7SUFFNUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUM7SUFFdEIsU0FBUyxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUM7SUFFekMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLEdBQUcsQ0FBQztJQUVyQyxTQUFnQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBRXJDLFlBQ0UsTUFBTSxFQUFFLGNBQWMsR0FBRyxlQUFlLEVBQ3hDLElBQUksRUFBRTtRQUNKLGNBQWMsRUFBRSxjQUFjLENBQUM7UUFDL0IsU0FBUyxFQUFFLFNBQVMsQ0FBQztRQUNyQixxQkFBcUIsQ0FBQyxFQUFFLFVBQVUsQ0FBQztRQUNuQyxTQUFTLENBQUMsRUFBRSxlQUFlLENBQUM7S0FDN0IsRUFDRCxRQUFRLENBQUMsRUFBRSxjQUFjLEVBVTFCO0lBRU0saUJBQWlCLG1CQUV2QjtJQUVNLGdCQUFnQixlQUV0QjtJQUVZLGdCQUFnQixDQUFDLElBQUksRUFBRTtRQUNsQyxXQUFXLEVBQUUsV0FBVyxDQUFDO1FBQ3pCLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQztRQUNqQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUM7UUFDL0IsWUFBWSxFQUFFLHNCQUFzQixDQUFDO1FBQ3JDLEtBQUssRUFBRSxLQUFLLENBQUM7UUFDYixpQkFBaUIsRUFBRSxXQUFXLENBQUM7UUFDL0IsWUFBWSxFQUFFLHdCQUF3QixFQUFFLENBQUM7UUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsbUdBQW1HO1FBQ25HLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQztLQUNqQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0E2Q25CO1lBRWEsNEJBQTRCO0lBb0UxQzs7OztPQUlHO0lBQ1UsMkJBQTJCLENBQUMsSUFBSSxFQUFFO1FBQzdDLFdBQVcsRUFBRSxXQUFXLENBQUM7UUFDekIsY0FBYyxFQUFFLGdCQUFnQixDQUFDO1FBQ2pDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztRQUMvQixZQUFZLEVBQUUsc0JBQXNCLENBQUM7UUFDckMsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUNiLGlCQUFpQixFQUFFLFdBQVcsQ0FBQztRQUMvQixZQUFZLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztRQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztLQUM3QixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FzQ2hCO0lBRUQsT0FBTyxDQUFDLDhCQUE4QjtZQWdCeEIsc0JBQXNCO0lBaURwQyxPQUFPLENBQUMsNkJBQTZCO0lBeUJyQyxPQUFPLENBQUMsdUJBQXVCO0NBd0JoQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"prover-node-publisher.d.ts","sourceRoot":"","sources":["../src/prover-node-publisher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prover-node-publisher.d.ts","sourceRoot":"","sources":["../src/prover-node-publisher.ts"],"names":[],"mappings":"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"}
@@ -129,18 +129,18 @@ export class ProverNodePublisher {
129
129
  await this.validateEpochProofSubmission(args);
130
130
  const data = this.encodeSubmitEpochProofCalldata(args);
131
131
  const senderAddress = this.l1TxUtils.getSenderAddress();
132
- const [gasLimit, gasPrice, latestBlock] = await Promise.all([
132
+ const [gasLimit, feesPerGas, latestBlock] = await Promise.all([
133
133
  this.l1TxUtils.estimateGas(senderAddress.toString(), {
134
134
  to: this.proofSubmissionTarget,
135
135
  data
136
136
  }),
137
- this.l1TxUtils.getGasPrice(),
137
+ this.l1TxUtils.getFeesPerGas(),
138
138
  this.l1TxUtils.client.getBlock({
139
139
  blockTag: 'latest'
140
140
  })
141
141
  ]);
142
142
  const baseFeePerGas = latestBlock.baseFeePerGas ?? 0n;
143
- const { maxPriorityFeePerGas } = gasPrice;
143
+ const { maxPriorityFeePerGas } = feesPerGas;
144
144
  const effectiveFeePerGas = baseFeePerGas + maxPriorityFeePerGas;
145
145
  const estimatedTotalFee = gasLimit * effectiveFeePerGas;
146
146
  const stats = {
@@ -217,6 +217,8 @@ export class ProverNodePublisher {
217
217
  previousArchive: args.publicInputs.previousArchiveRoot.toString(),
218
218
  endArchive: args.publicInputs.endArchiveRoot.toString(),
219
219
  outHash: args.publicInputs.outHash.toString(),
220
+ previousInboxRollingHash: args.publicInputs.previousInboxRollingHash.toString(),
221
+ endInboxRollingHash: args.publicInputs.endInboxRollingHash.toString(),
220
222
  proverId: EthAddress.fromField(args.publicInputs.constants.proverId).toString()
221
223
  } /*_args*/ ,
222
224
  args.headers.map((header)=>header.toViem()),
@@ -247,14 +249,17 @@ export class ProverNodePublisher {
247
249
  * [0] previousArchiveRoot
248
250
  * [1] endArchiveRoot
249
251
  * [2] outHash
250
- * [3 .. 3+N-1] checkpointHeaderHashes[i] for i in 0..N-1 (N = MAX_CHECKPOINTS_PER_EPOCH)
251
- * [3+N .. 3+3N-1] fees[i] = (recipient, value) for i in 0..N-1
252
- * [3+3N .. 3+3N+4] EpochConstantData (chainId, version, vkTreeRoot, protocolContractsHash, proverId)
253
- * [3+3N+5 ..] blobPublicInputs (FinalBlobAccumulator)
252
+ * [3] previousInboxRollingHash
253
+ * [4] endInboxRollingHash
254
+ * [5 .. 5+N-1] checkpointHeaderHashes[i] for i in 0..N-1 (N = MAX_CHECKPOINTS_PER_EPOCH)
255
+ * [5+N .. 5+3N-1] fees[i] = (recipient, value) for i in 0..N-1
256
+ * [5+3N .. 5+3N+4] EpochConstantData (chainId, version, vkTreeRoot, protocolContractsHash, proverId)
257
+ * [5+3N+5 ..] blobPublicInputs (FinalBlobAccumulator)
254
258
  */ async function reportPublicInputsMismatch(input) {
255
259
  const { rollupPublicInputs, argsPublicInputs, fromCheckpoint, toCheckpoint, rollupContract, log } = input;
256
260
  const N = MAX_CHECKPOINTS_PER_EPOCH;
257
- const constantsStart = 3 + 3 * N;
261
+ const headerHashesStart = 5;
262
+ const constantsStart = headerHashesStart + 3 * N;
258
263
  const blobStart = constantsStart + 5;
259
264
  const constantLabels = [
260
265
  'chainId',
@@ -279,11 +284,15 @@ export class ProverNodePublisher {
279
284
  label = 'endArchiveRoot';
280
285
  } else if (i === 2) {
281
286
  label = 'outHash';
282
- } else if (i < 3 + N) {
283
- checkpointIndex = i - 3;
287
+ } else if (i === 3) {
288
+ label = 'previousInboxRollingHash';
289
+ } else if (i === 4) {
290
+ label = 'endInboxRollingHash';
291
+ } else if (i < headerHashesStart + N) {
292
+ checkpointIndex = i - headerHashesStart;
284
293
  label = `checkpointHeaderHashes[${checkpointIndex}]`;
285
- } else if (i < 3 + 3 * N) {
286
- const feePairIndex = i - (3 + N);
294
+ } else if (i < headerHashesStart + 3 * N) {
295
+ const feePairIndex = i - (headerHashesStart + N);
287
296
  const feeIndex = Math.floor(feePairIndex / 2);
288
297
  const sub = feePairIndex % 2 === 0 ? 'recipient' : 'value';
289
298
  label = `fees[${feeIndex}].${sub}`;
@@ -105,6 +105,7 @@ export declare class ProverNode implements L2BlockStreamEventHandler, ProverNode
105
105
  private processCheckpointJump;
106
106
  private registerCheckpoint;
107
107
  private collectRegisterData;
108
+ private gatherPreviousInboxRollingHash;
108
109
  private handlePruneEvent;
109
110
  private isEpochPastProofSubmissionWindow;
110
111
  private checkEpochExpiry;
@@ -181,4 +182,4 @@ export declare class ProverNode implements L2BlockStreamEventHandler, ProverNode
181
182
  private validateConfig;
182
183
  }
183
184
  export { EpochProvingJobTerminalState };
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm92ZXItbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSzdGLE9BQU8sRUFBRSxZQUFZLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUEwQixNQUFNLHlCQUF5QixDQUFDO0FBQ3BGLE9BQU8sRUFHTCxLQUFLLGFBQWEsRUFDbEIsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyx5QkFBeUIsRUFFL0IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQXVCLE1BQU0sMEJBQTBCLENBQUM7QUFDaEYsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBbUQsTUFBTSw2QkFBNkIsQ0FBQztBQUN0SCxPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxvQkFBb0IsRUFDekIsNEJBQTRCLEVBQzVCLEtBQUssV0FBVyxFQUNoQixLQUFLLGFBQWEsRUFDbEIsS0FBSyxPQUFPLEVBQ1osS0FBSyxzQkFBc0IsRUFFNUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFP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
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm92ZXItbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTTdGLE9BQU8sRUFBRSxZQUFZLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUEwQixNQUFNLHlCQUF5QixDQUFDO0FBQ3BGLE9BQU8sRUFHTCxLQUFLLGFBQWEsRUFDbEIsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyx5QkFBeUIsRUFFL0IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQXVCLE1BQU0sMEJBQTBCLENBQUM7QUFDaEYsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBbUQsTUFBTSw2QkFBNkIsQ0FBQztBQUN0SCxPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxvQkFBb0IsRUFDekIsNEJBQTRCLEVBQzVCLEtBQUssV0FBVyxFQUNoQixLQUFLLGFBQWEsRUFDbEIsS0FBSyxPQUFPLEVBQ1osS0FBSyxzQkFBc0IsRUFFNUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFP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