@aztec/stdlib 4.0.4-rc.6 → 4.0.4-rc.7

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.
@@ -112,8 +112,8 @@ import { Body } from './body.js';
112
112
  */ static async random(blockNumber, { checkpointNumber = CheckpointNumber(Number(blockNumber)), indexWithinCheckpoint = IndexWithinCheckpoint(0), txsPerBlock = 1, txOptions = {}, makeTxOptions, ...blockHeaderOverrides } = {}) {
113
113
  const archive = new AppendOnlyTreeSnapshot(Fr.random(), blockNumber + 1);
114
114
  const header = BlockHeader.random({
115
- blockNumber,
116
- ...blockHeaderOverrides
115
+ ...blockHeaderOverrides,
116
+ blockNumber
117
117
  });
118
118
  const body = await Body.random({
119
119
  txsPerBlock,
@@ -171,7 +171,8 @@ export declare class Checkpoint {
171
171
  startBlockNumber?: number;
172
172
  previousArchive?: AppendOnlyTreeSnapshot;
173
173
  feeAssetPriceModifier?: bigint;
174
+ archive?: AppendOnlyTreeSnapshot;
174
175
  } & Partial<Parameters<typeof CheckpointHeader.random>[0]> & Partial<Parameters<typeof L2Block.random>[1]>): Promise<Checkpoint>;
175
176
  }
176
177
  export {};
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NoZWNrcG9pbnQvY2hlY2twb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsZ0JBQWdCLEVBRWhCLHFCQUFxQixFQUNyQixVQUFVLEVBQ1gsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxLQUFLLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFN0QscUJBQWEsVUFBVTtJQUVuQiw4REFBOEQ7SUFDdkQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QyxnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQixtQ0FBbUM7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUN4QixnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQix5RkFBeUY7SUFDbEYscUJBQXFCLEVBQUUsTUFBTTtJQVZ0QztJQUNFLDhEQUE4RDtJQUN2RCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLG1DQUFtQztJQUM1QixNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ3hCLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLHlGQUF5RjtJQUNsRixxQkFBcUIsR0FBRSxNQUFXLEVBQ3ZDO0lBRUosSUFBSSxJQUFJLElBQUksVUFBVSxDQUVyQjtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FhaEI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsY0FFckM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsNEZBRTFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksY0FRM0M7SUFFTSxRQUFRLDRCQVNkO0lBRU0sWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUcxQjtJQUVNLElBQUksSUFBSSxFQUFFLENBRWhCO0lBRUQ7Ozs7T0FJRztJQUNJLG9CQUFvQixJQUFJLEVBQUUsQ0FHaEM7SUFFTSxRQUFRLHNEQUVkO0lBRU0sZ0JBQWdCLElBQUksY0FBYyxDQVF4QztJQUVELHFDQUFxQztJQUM5QixRQUFROzs7Ozs7Ozs7O01Ba0JkO0lBRUQsT0FBYSxNQUFNLENBQ2pCLGdCQUFnQixtQkFBc0IsRUFDdEMsRUFDRSxTQUFhLEVBQ2IsZ0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixxQkFBMEIsRUFDMUIsR0FBRyxPQUFPLEVBQ1gsR0FBRTtRQUNELFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNuQixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMxQixlQUFlLENBQUMsRUFBRSxzQkFBc0IsQ0FBQztRQUN6QyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztLQUNoQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUN4RCxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFNLHVCQW1CckQ7Q0FDRiJ9
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NoZWNrcG9pbnQvY2hlY2twb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsZ0JBQWdCLEVBRWhCLHFCQUFxQixFQUNyQixVQUFVLEVBQ1gsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxLQUFLLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFN0QscUJBQWEsVUFBVTtJQUVuQiw4REFBOEQ7SUFDdkQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QyxnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQixtQ0FBbUM7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUN4QixnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQix5RkFBeUY7SUFDbEYscUJBQXFCLEVBQUUsTUFBTTtJQVZ0QztJQUNFLDhEQUE4RDtJQUN2RCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLG1DQUFtQztJQUM1QixNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ3hCLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLHlGQUF5RjtJQUNsRixxQkFBcUIsR0FBRSxNQUFXLEVBQ3ZDO0lBRUosSUFBSSxJQUFJLElBQUksVUFBVSxDQUVyQjtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FhaEI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsY0FFckM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsNEZBRTFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksY0FRM0M7SUFFTSxRQUFRLDRCQVNkO0lBRU0sWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUcxQjtJQUVNLElBQUksSUFBSSxFQUFFLENBRWhCO0lBRUQ7Ozs7T0FJRztJQUNJLG9CQUFvQixJQUFJLEVBQUUsQ0FHaEM7SUFFTSxRQUFRLHNEQUVkO0lBRU0sZ0JBQWdCLElBQUksY0FBYyxDQVF4QztJQUVELHFDQUFxQztJQUM5QixRQUFROzs7Ozs7Ozs7O01Ba0JkO0lBRUQsT0FBYSxNQUFNLENBQ2pCLGdCQUFnQixtQkFBc0IsRUFDdEMsRUFDRSxTQUFhLEVBQ2IsZ0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixxQkFBMEIsRUFDMUIsR0FBRyxPQUFPLEVBQ1gsR0FBRTtRQUNELFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNuQixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMxQixlQUFlLENBQUMsRUFBRSxzQkFBc0IsQ0FBQztRQUN6QyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMvQixPQUFPLENBQUMsRUFBRSxzQkFBc0IsQ0FBQztLQUNsQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUN4RCxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFNLHVCQTJCckQ7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAEhB,qBAAqB,EACrB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,KAAK,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAE7D,qBAAa,UAAU;IAEnB,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,EAAE,MAAM;IAVtC;IACE,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,GAAE,MAAW,EACvC;IAEJ,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,cAErC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,4FAE1C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAQ3C;IAEM,QAAQ,4BASd;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,IAAI,IAAI,EAAE,CAEhB;IAED;;;;OAIG;IACI,oBAAoB,IAAI,EAAE,CAGhC;IAEM,QAAQ,sDAEd;IAEM,gBAAgB,IAAI,cAAc,CAQxC;IAED,qCAAqC;IAC9B,QAAQ;;;;;;;;;;MAkBd;IAED,OAAa,MAAM,CACjB,gBAAgB,mBAAsB,EACtC,EACE,SAAa,EACb,gBAAoB,EACpB,eAAe,EACf,qBAA0B,EAC1B,GAAG,OAAO,EACX,GAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,sBAAsB,CAAC;QACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,uBAmBrD;CACF"}
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAEhB,qBAAqB,EACrB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,KAAK,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAE7D,qBAAa,UAAU;IAEnB,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,EAAE,MAAM;IAVtC;IACE,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,GAAE,MAAW,EACvC;IAEJ,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,cAErC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,4FAE1C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAQ3C;IAEM,QAAQ,4BASd;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,IAAI,IAAI,EAAE,CAEhB;IAED;;;;OAIG;IACI,oBAAoB,IAAI,EAAE,CAGhC;IAEM,QAAQ,sDAEd;IAEM,gBAAgB,IAAI,cAAc,CAQxC;IAED,qCAAqC;IAC9B,QAAQ;;;;;;;;;;MAkBd;IAED,OAAa,MAAM,CACjB,gBAAgB,mBAAsB,EACtC,EACE,SAAa,EACb,gBAAoB,EACpB,eAAe,EACf,qBAA0B,EAC1B,GAAG,OAAO,EACX,GAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,sBAAsB,CAAC;QACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,OAAO,CAAC,EAAE,sBAAsB,CAAC;KAClC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,uBA2BrD;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { encodeCheckpointBlobDataFromBlocks } from '@aztec/blob-lib/encoding';
2
2
  import { BlockNumber, CheckpointNumber, CheckpointNumberSchema, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
3
- import { sum } from '@aztec/foundation/collection';
3
+ import { pick, sum } from '@aztec/foundation/collection';
4
4
  import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  import { z } from 'zod';
6
6
  import { L2Block } from '../block/l2_block.js';
@@ -103,7 +103,11 @@ export class Checkpoint {
103
103
  };
104
104
  }
105
105
  static async random(checkpointNumber = CheckpointNumber(1), { numBlocks = 1, startBlockNumber = 1, previousArchive, feeAssetPriceModifier = 0n, ...options } = {}) {
106
- const header = CheckpointHeader.random(options);
106
+ const headerOptions = previousArchive ? {
107
+ lastArchiveRoot: previousArchive.root,
108
+ ...options
109
+ } : options;
110
+ const header = CheckpointHeader.random(headerOptions);
107
111
  // Create blocks sequentially to chain archive roots properly.
108
112
  // Each block's header.lastArchive must equal the previous block's archive.
109
113
  const blocks = [];
@@ -114,11 +118,12 @@ export class Checkpoint {
114
118
  ...options,
115
119
  ...lastArchive ? {
116
120
  lastArchive
117
- } : {}
121
+ } : {},
122
+ ...pick(header, 'slotNumber', 'timestamp', 'coinbase', 'feeRecipient', 'gasFees')
118
123
  });
119
124
  lastArchive = block.archive;
120
125
  blocks.push(block);
121
126
  }
122
- return new Checkpoint(AppendOnlyTreeSnapshot.random(), header, blocks, checkpointNumber, feeAssetPriceModifier);
127
+ return new Checkpoint(options.archive ?? AppendOnlyTreeSnapshot.random(), header, blocks, checkpointNumber, feeAssetPriceModifier);
123
128
  }
124
129
  }
@@ -7,14 +7,30 @@ export declare class CheckpointValidationError extends Error {
7
7
  }
8
8
  /**
9
9
  * Validates a checkpoint. Throws a CheckpointValidationError if any validation fails.
10
+ * - Validates structural integrity (non-empty, block count, sequential numbers, archive chaining, slot consistency)
10
11
  * - Validates checkpoint blob field count against maxBlobFields limit
11
12
  * - Validates total L2 gas used by checkpoint blocks against the Rollup contract mana limit
12
13
  * - Validates total DA gas used by checkpoint blocks against MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT
13
14
  * - Validates individual block L2 gas and DA gas against maxL2BlockGas and maxDABlockGas limits
14
15
  */
15
16
  export declare function validateCheckpoint(checkpoint: Checkpoint, opts: {
16
- rollupManaLimit: number;
17
- maxL2BlockGas: number | undefined;
18
- maxDABlockGas: number | undefined;
17
+ rollupManaLimit?: number;
18
+ maxL2BlockGas?: number;
19
+ maxDABlockGas?: number;
20
+ maxTxsPerCheckpoint?: number;
21
+ maxTxsPerBlock?: number;
19
22
  }): void;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jaGVja3BvaW50L3ZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3BGLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELHFCQUFhLHlCQUEwQixTQUFRLEtBQUs7YUFHaEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2FBQ2xDLElBQUksRUFBRSxVQUFVO0lBSGxDLFlBQ0UsT0FBTyxFQUFFLE1BQU0sRUFDQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsSUFBSSxFQUFFLFVBQVUsRUFJakM7Q0FDRjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixrQkFBa0IsQ0FDaEMsVUFBVSxFQUFFLFVBQVUsRUFDdEIsSUFBSSxFQUFFO0lBQ0osZUFBZSxFQUFFLE1BQU0sQ0FBQztJQUN4QixhQUFhLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUNsQyxhQUFhLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztDQUNuQyxHQUNBLElBQUksQ0FHTiJ9
23
+ /**
24
+ * Validates structural integrity of a checkpoint.
25
+ * - Non-empty block list
26
+ * - Block count within MAX_BLOCKS_PER_CHECKPOINT
27
+ * - Checkpoint slot matches the first block's slot
28
+ * - Checkpoint lastArchiveRoot matches the first block's lastArchive root
29
+ * - Sequential block numbers without gaps
30
+ * - Sequential indexWithinCheckpoint starting at 0
31
+ * - Archive root chaining between consecutive blocks
32
+ * - Consistent slot number across all blocks
33
+ * - Global variables (slot, timestamp, coinbase, feeRecipient, gasFees) match checkpoint header for each block
34
+ */
35
+ export declare function validateCheckpointStructure(checkpoint: Checkpoint): void;
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jaGVja3BvaW50L3ZhbGlkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSXBGLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELHFCQUFhLHlCQUEwQixTQUFRLEtBQUs7YUFHaEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2FBQ2xDLElBQUksRUFBRSxVQUFVO0lBSGxDLFlBQ0UsT0FBTyxFQUFFLE1BQU0sRUFDQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsSUFBSSxFQUFFLFVBQVUsRUFJakM7Q0FDRjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0Isa0JBQWtCLENBQ2hDLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLElBQUksRUFBRTtJQUNKLGVBQWUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN6QixhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdkIsYUFBYSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzdCLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUN6QixHQUNBLElBQUksQ0FJTjtBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsd0JBQWdCLDJCQUEyQixDQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUcsSUFBSSxDQXVFeEUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/checkpoint/validate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,qBAAa,yBAA0B,SAAQ,KAAK;aAGhC,gBAAgB,EAAE,gBAAgB;aAClC,IAAI,EAAE,UAAU;IAHlC,YACE,OAAO,EAAE,MAAM,EACC,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,UAAU,EAIjC;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE;IACJ,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,GACA,IAAI,CAGN"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/checkpoint/validate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAIpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,qBAAa,yBAA0B,SAAQ,KAAK;aAGhC,gBAAgB,EAAE,gBAAgB;aAClC,IAAI,EAAE,UAAU;IAHlC,YACE,OAAO,EAAE,MAAM,EACC,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,UAAU,EAIjC;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE;IACJ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,IAAI,CAIN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAuExE"}
@@ -1,5 +1,6 @@
1
1
  import { BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB, MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT } from '@aztec/constants';
2
2
  import { sum } from '@aztec/foundation/collection';
3
+ import { MAX_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
3
4
  export class CheckpointValidationError extends Error {
4
5
  checkpointNumber;
5
6
  slot;
@@ -10,16 +11,63 @@ export class CheckpointValidationError extends Error {
10
11
  }
11
12
  /**
12
13
  * Validates a checkpoint. Throws a CheckpointValidationError if any validation fails.
14
+ * - Validates structural integrity (non-empty, block count, sequential numbers, archive chaining, slot consistency)
13
15
  * - Validates checkpoint blob field count against maxBlobFields limit
14
16
  * - Validates total L2 gas used by checkpoint blocks against the Rollup contract mana limit
15
17
  * - Validates total DA gas used by checkpoint blocks against MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT
16
18
  * - Validates individual block L2 gas and DA gas against maxL2BlockGas and maxDABlockGas limits
17
19
  */ export function validateCheckpoint(checkpoint, opts) {
20
+ validateCheckpointStructure(checkpoint);
18
21
  validateCheckpointLimits(checkpoint, opts);
19
22
  validateCheckpointBlocksGasLimits(checkpoint, opts);
20
23
  }
24
+ /**
25
+ * Validates structural integrity of a checkpoint.
26
+ * - Non-empty block list
27
+ * - Block count within MAX_BLOCKS_PER_CHECKPOINT
28
+ * - Checkpoint slot matches the first block's slot
29
+ * - Checkpoint lastArchiveRoot matches the first block's lastArchive root
30
+ * - Sequential block numbers without gaps
31
+ * - Sequential indexWithinCheckpoint starting at 0
32
+ * - Archive root chaining between consecutive blocks
33
+ * - Consistent slot number across all blocks
34
+ * - Global variables (slot, timestamp, coinbase, feeRecipient, gasFees) match checkpoint header for each block
35
+ */ export function validateCheckpointStructure(checkpoint) {
36
+ const { blocks, number, slot } = checkpoint;
37
+ if (blocks.length === 0) {
38
+ throw new CheckpointValidationError('Checkpoint has no blocks', number, slot);
39
+ }
40
+ if (blocks.length > MAX_BLOCKS_PER_CHECKPOINT) {
41
+ throw new CheckpointValidationError(`Checkpoint has ${blocks.length} blocks, exceeding limit of ${MAX_BLOCKS_PER_CHECKPOINT}`, number, slot);
42
+ }
43
+ const firstBlock = blocks[0];
44
+ if (!checkpoint.header.lastArchiveRoot.equals(firstBlock.header.lastArchive.root)) {
45
+ throw new CheckpointValidationError(`Checkpoint lastArchiveRoot does not match first block's lastArchive root`, number, slot);
46
+ }
47
+ for(let i = 0; i < blocks.length; i++){
48
+ const block = blocks[i];
49
+ if (block.indexWithinCheckpoint !== i) {
50
+ throw new CheckpointValidationError(`Block at index ${i} has indexWithinCheckpoint ${block.indexWithinCheckpoint}, expected ${i}`, number, slot);
51
+ }
52
+ if (block.slot !== slot) {
53
+ throw new CheckpointValidationError(`Block ${block.number} has slot ${block.slot}, expected ${slot} (all blocks must share the same slot)`, number, slot);
54
+ }
55
+ if (!checkpoint.header.matchesGlobalVariables(block.header.globalVariables)) {
56
+ throw new CheckpointValidationError(`Block ${block.number} global variables (slot, timestamp, coinbase, feeRecipient, gasFees) do not match checkpoint header`, number, slot);
57
+ }
58
+ if (i > 0) {
59
+ const prev = blocks[i - 1];
60
+ if (block.number !== prev.number + 1) {
61
+ throw new CheckpointValidationError(`Block numbers are not sequential: block at index ${i - 1} has number ${prev.number}, block at index ${i} has number ${block.number}`, number, slot);
62
+ }
63
+ if (!block.header.lastArchive.root.equals(prev.archive.root)) {
64
+ throw new CheckpointValidationError(`Block ${block.number} lastArchive root does not match archive root of block ${prev.number}`, number, slot);
65
+ }
66
+ }
67
+ }
68
+ }
21
69
  /** Validates checkpoint blocks gas limits */ function validateCheckpointBlocksGasLimits(checkpoint, opts) {
22
- const { maxL2BlockGas, maxDABlockGas } = opts;
70
+ const { maxL2BlockGas, maxDABlockGas, maxTxsPerBlock } = opts;
23
71
  if (maxL2BlockGas !== undefined) {
24
72
  for (const block of checkpoint.blocks){
25
73
  const blockL2Gas = block.header.totalManaUsed.toNumber();
@@ -36,23 +84,37 @@ export class CheckpointValidationError extends Error {
36
84
  }
37
85
  }
38
86
  }
87
+ if (maxTxsPerBlock !== undefined) {
88
+ for (const block of checkpoint.blocks){
89
+ const blockTxCount = block.body.txEffects.length;
90
+ if (blockTxCount > maxTxsPerBlock) {
91
+ throw new CheckpointValidationError(`Block ${block.number} in checkpoint has ${blockTxCount} txs exceeding limit of ${maxTxsPerBlock}`, checkpoint.number, checkpoint.slot);
92
+ }
93
+ }
94
+ }
39
95
  }
40
- /** Validates checkpoint max blob fields and gas limits */ function validateCheckpointLimits(checkpoint, opts) {
41
- const { rollupManaLimit } = opts;
96
+ /** Validates checkpoint max blob fields, gas limits, and tx limits */ function validateCheckpointLimits(checkpoint, opts) {
97
+ const { rollupManaLimit, maxTxsPerCheckpoint } = opts;
42
98
  const maxBlobFields = BLOBS_PER_CHECKPOINT * FIELDS_PER_BLOB;
43
99
  const maxDAGas = MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT;
44
- const checkpointMana = sum(checkpoint.blocks.map((block)=>block.header.totalManaUsed.toNumber()));
45
- if (checkpointMana > rollupManaLimit) {
46
- throw new CheckpointValidationError(`Checkpoint mana cost ${checkpointMana} exceeds rollup limit of ${rollupManaLimit}`, checkpoint.number, checkpoint.slot);
100
+ if (rollupManaLimit !== undefined) {
101
+ const checkpointMana = sum(checkpoint.blocks.map((block)=>block.header.totalManaUsed.toNumber()));
102
+ if (checkpointMana > rollupManaLimit) {
103
+ throw new CheckpointValidationError(`Checkpoint mana cost ${checkpointMana} exceeds rollup limit of ${rollupManaLimit}`, checkpoint.number, checkpoint.slot);
104
+ }
47
105
  }
48
106
  const checkpointDAGas = sum(checkpoint.blocks.map((block)=>block.computeDAGasUsed()));
49
107
  if (checkpointDAGas > maxDAGas) {
50
108
  throw new CheckpointValidationError(`Checkpoint DA gas cost ${checkpointDAGas} exceeds limit of ${maxDAGas}`, checkpoint.number, checkpoint.slot);
51
109
  }
52
- if (maxBlobFields !== undefined) {
53
- const checkpointBlobFields = checkpoint.toBlobFields().length;
54
- if (checkpointBlobFields > maxBlobFields) {
55
- throw new CheckpointValidationError(`Checkpoint blob field count ${checkpointBlobFields} exceeds limit of ${maxBlobFields}`, checkpoint.number, checkpoint.slot);
110
+ const checkpointBlobFields = checkpoint.toBlobFields().length;
111
+ if (checkpointBlobFields > maxBlobFields) {
112
+ throw new CheckpointValidationError(`Checkpoint blob field count ${checkpointBlobFields} exceeds limit of ${maxBlobFields}`, checkpoint.number, checkpoint.slot);
113
+ }
114
+ if (maxTxsPerCheckpoint !== undefined) {
115
+ const checkpointTxCount = sum(checkpoint.blocks.map((block)=>block.body.txEffects.length));
116
+ if (checkpointTxCount > maxTxsPerCheckpoint) {
117
+ throw new CheckpointValidationError(`Checkpoint tx count ${checkpointTxCount} exceeds limit of ${maxTxsPerCheckpoint}`, checkpoint.number, checkpoint.slot);
56
118
  }
57
119
  }
58
120
  }
@@ -1,7 +1,5 @@
1
- import { type ConfigMappingsType } from '@aztec/foundation/config';
1
+ import type { ConfigMappingsType } from '@aztec/foundation/config';
2
2
  import type { SequencerConfig } from '../interfaces/configs.js';
3
- /** Default maximum number of transactions per block. */
4
- export declare const DEFAULT_MAX_TXS_PER_BLOCK = 32;
5
3
  /**
6
4
  * Partial sequencer config mappings for fields that need to be shared across packages.
7
5
  * The full sequencer config mappings remain in sequencer-client, but shared fields
@@ -9,4 +7,4 @@ export declare const DEFAULT_MAX_TXS_PER_BLOCK = 32;
9
7
  * to avoid duplication.
10
8
  */
11
9
  export declare const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock'>>;
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9zZXF1ZW5jZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFzQixNQUFNLDBCQUEwQixDQUFDO0FBRXZGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLHdEQUF3RDtBQUN4RCxlQUFPLE1BQU0seUJBQXlCLEtBQUssQ0FBQztBQUU1Qzs7Ozs7R0FLRztBQUNILGVBQU8sTUFBTSw2QkFBNkIsRUFBRSxrQkFBa0IsQ0FDNUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsR0FBRywrQkFBK0IsR0FBRyxnQkFBZ0IsQ0FBQyxDQXNCOUYsQ0FBQyJ9
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9zZXF1ZW5jZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbkUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEU7Ozs7O0dBS0c7QUFDSCxlQUFPLE1BQU0sNkJBQTZCLEVBQUUsa0JBQWtCLENBQzVELElBQUksQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLEdBQUcsK0JBQStCLEdBQUcsZ0JBQWdCLENBQUMsQ0FzQjlGLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer-config.d.ts","sourceRoot":"","sources":["../../src/config/sequencer-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,0BAA0B,CAAC;AAEvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,IAAI,CAAC,eAAe,EAAE,iBAAiB,GAAG,+BAA+B,GAAG,gBAAgB,CAAC,CAsB9F,CAAC"}
1
+ {"version":3,"file":"sequencer-config.d.ts","sourceRoot":"","sources":["../../src/config/sequencer-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,IAAI,CAAC,eAAe,EAAE,iBAAiB,GAAG,+BAA+B,GAAG,gBAAgB,CAAC,CAsB9F,CAAC"}
@@ -1,5 +1,3 @@
1
- import { numberConfigHelper } from '@aztec/foundation/config';
2
- /** Default maximum number of transactions per block. */ export const DEFAULT_MAX_TXS_PER_BLOCK = 32;
3
1
  /**
4
2
  * Partial sequencer config mappings for fields that need to be shared across packages.
5
3
  * The full sequencer config mappings remain in sequencer-client, but shared fields
@@ -20,6 +18,6 @@ import { numberConfigHelper } from '@aztec/foundation/config';
20
18
  maxTxsPerBlock: {
21
19
  env: 'SEQ_MAX_TX_PER_BLOCK',
22
20
  description: 'The maximum number of txs to include in a block.',
23
- ...numberConfigHelper(DEFAULT_MAX_TXS_PER_BLOCK)
21
+ parseEnv: (val)=>val ? parseInt(val, 10) : undefined
24
22
  }
25
23
  };
@@ -65,6 +65,7 @@ export type AztecNodeAdminConfig = Omit<ValidatorClientFullConfig, 'l1Contracts'
65
65
  };
66
66
  export declare const AztecNodeAdminConfigSchema: z.ZodObject<{
67
67
  sequencerPollingIntervalMS: z.ZodOptional<z.ZodNumber>;
68
+ maxTxsPerCheckpoint: z.ZodOptional<z.ZodNumber>;
68
69
  minValidTxsPerBlock: z.ZodOptional<z.ZodNumber>;
69
70
  minTxsPerBlock: z.ZodOptional<z.ZodNumber>;
70
71
  maxL2BlockGas: z.ZodOptional<z.ZodNumber>;
@@ -194,6 +195,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<{
194
195
  maxPendingTxCount: z.ZodNumber;
195
196
  }, "strip", z.ZodTypeAny, {
196
197
  sequencerPollingIntervalMS?: number | undefined;
198
+ maxTxsPerCheckpoint?: number | undefined;
197
199
  minValidTxsPerBlock?: number | undefined;
198
200
  minTxsPerBlock?: number | undefined;
199
201
  maxL2BlockGas?: number | undefined;
@@ -295,6 +297,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<{
295
297
  maxPendingTxCount: number;
296
298
  }, {
297
299
  sequencerPollingIntervalMS?: number | undefined;
300
+ maxTxsPerCheckpoint?: number | undefined;
298
301
  minValidTxsPerBlock?: number | undefined;
299
302
  minTxsPerBlock?: number | undefined;
300
303
  maxL2BlockGas?: number | undefined;
@@ -397,4 +400,4 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<{
397
400
  }>;
398
401
  export declare const AztecNodeAdminApiSchema: ApiSchemaFor<AztecNodeAdmin>;
399
402
  export declare function createAztecNodeAdminClient(url: string, versions?: Partial<ComponentsVersions>, fetch?: typeof defaultFetch, apiKey?: string): AztecNodeAdmin;
400
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWMtbm9kZS1hZG1pbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvYXp0ZWMtbm9kZS1hZG1pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTFGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssT0FBTyxFQUFpQixLQUFLLGlCQUFpQixFQUEyQixNQUFNLHNCQUFzQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFnQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxLQUFLLHNCQUFzQixFQUFnQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXlCLE1BQU0sY0FBYyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBc0IsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQXVCLE1BQU0sY0FBYyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxLQUFLLHlCQUF5QixFQUFtQyxNQUFNLGdCQUFnQixDQUFDO0FBRWpHOztHQUVHO0FBQ0gsTUFBTSxXQUFXLGNBQWM7SUFDN0I7O09BRUc7SUFDSCxTQUFTLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFM0M7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFaEU7OztPQUdHO0lBQ0gsbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckQ7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV0RSwrQ0FBK0M7SUFDL0MsU0FBUyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUzQixnREFBZ0Q7SUFDaEQsVUFBVSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU1QiwyRUFBMkU7SUFDM0UsZ0JBQWdCLElBQUksT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUVqRCwyREFBMkQ7SUFDM0QsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxLQUFLLEdBQUcsU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRXhFOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNILGNBQWMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDakM7QUFHRCxNQUFNLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLGFBQWEsQ0FBQyxHQUMvRSxlQUFlLEdBQ2YsWUFBWSxHQUNaLGFBQWEsR0FDYixJQUFJLENBQ0Ysc0JBQXNCLEVBQ3RCLDJCQUEyQixHQUFHLG1CQUFtQixHQUFHLG9DQUFvQyxDQUN6RixHQUFHO0lBQ0YsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0NBQzNCLENBQUM7QUFFSixlQUFPLE1BQU0sMEJBQTBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBVWMsQ0FBQztBQUV0RCxlQUFPLE1BQU0sdUJBQXVCLEVBQUUsWUFBWSxDQUFDLGNBQWMsQ0FhaEUsQ0FBQztBQUVGLHdCQUFnQiwwQkFBMEIsQ0FDeEMsR0FBRyxFQUFFLE1BQU0sRUFDWCxRQUFRLEdBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFNLEVBQzFDLEtBQUssc0JBQWUsRUFDcEIsTUFBTSxDQUFDLEVBQUUsTUFBTSxHQUNkLGNBQWMsQ0FPaEIifQ==
403
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWMtbm9kZS1hZG1pbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvYXp0ZWMtbm9kZS1hZG1pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTFGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssT0FBTyxFQUFpQixLQUFLLGlCQUFpQixFQUEyQixNQUFNLHNCQUFzQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFnQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxLQUFLLHNCQUFzQixFQUFnQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXlCLE1BQU0sY0FBYyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBc0IsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQXVCLE1BQU0sY0FBYyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxLQUFLLHlCQUF5QixFQUFtQyxNQUFNLGdCQUFnQixDQUFDO0FBRWpHOztHQUVHO0FBQ0gsTUFBTSxXQUFXLGNBQWM7SUFDN0I7O09BRUc7SUFDSCxTQUFTLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFM0M7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFaEU7OztPQUdHO0lBQ0gsbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckQ7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV0RSwrQ0FBK0M7SUFDL0MsU0FBUyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUzQixnREFBZ0Q7SUFDaEQsVUFBVSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU1QiwyRUFBMkU7SUFDM0UsZ0JBQWdCLElBQUksT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUVqRCwyREFBMkQ7SUFDM0QsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxLQUFLLEdBQUcsU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRXhFOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNILGNBQWMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDakM7QUFHRCxNQUFNLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLGFBQWEsQ0FBQyxHQUMvRSxlQUFlLEdBQ2YsWUFBWSxHQUNaLGFBQWEsR0FDYixJQUFJLENBQ0Ysc0JBQXNCLEVBQ3RCLDJCQUEyQixHQUFHLG1CQUFtQixHQUFHLG9DQUFvQyxDQUN6RixHQUFHO0lBQ0YsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0NBQzNCLENBQUM7QUFFSixlQUFPLE1BQU0sMEJBQTBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBVWMsQ0FBQztBQUV0RCxlQUFPLE1BQU0sdUJBQXVCLEVBQUUsWUFBWSxDQUFDLGNBQWMsQ0FhaEUsQ0FBQztBQUVGLHdCQUFnQiwwQkFBMEIsQ0FDeEMsR0FBRyxFQUFFLE1BQU0sRUFDWCxRQUFRLEdBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFNLEVBQzFDLEtBQUssc0JBQWUsRUFDcEIsTUFBTSxDQUFDLEVBQUUsTUFBTSxHQUNkLGNBQWMsQ0FPaEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"aztec-node-admin.d.ts","sourceRoot":"","sources":["../../src/interfaces/aztec-node-admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE1F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAiB,KAAK,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,KAAK,sBAAsB,EAAgC,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,KAAK,yBAAyB,EAAmC,MAAM,gBAAgB,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,+CAA+C;IAC/C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,gDAAgD;IAChD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,2EAA2E;IAC3E,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEjD,2DAA2D;IAC3D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAExE;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAGD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,EAAE,aAAa,CAAC,GAC/E,eAAe,GACf,YAAY,GACZ,aAAa,GACb,IAAI,CACF,sBAAsB,EACtB,2BAA2B,GAAG,mBAAmB,GAAG,oCAAoC,CACzF,GAAG;IACF,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEJ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUc,CAAC;AAEtD,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,cAAc,CAahE,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,OAAO,CAAC,kBAAkB,CAAM,EAC1C,KAAK,sBAAe,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,cAAc,CAOhB"}
1
+ {"version":3,"file":"aztec-node-admin.d.ts","sourceRoot":"","sources":["../../src/interfaces/aztec-node-admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE1F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAiB,KAAK,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,KAAK,sBAAsB,EAAgC,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,KAAK,yBAAyB,EAAmC,MAAM,gBAAgB,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,+CAA+C;IAC/C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,gDAAgD;IAChD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,2EAA2E;IAC3E,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEjD,2DAA2D;IAC3D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAExE;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAGD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,EAAE,aAAa,CAAC,GAC/E,eAAe,GACf,YAAY,GACZ,aAAa,GACb,IAAI,CACF,sBAAsB,EACtB,2BAA2B,GAAG,mBAAmB,GAAG,oCAAoC,CACzF,GAAG;IACF,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEJ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUc,CAAC;AAEtD,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,cAAc,CAahE,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,OAAO,CAAC,kBAAkB,CAAM,EAC1C,KAAK,sBAAe,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,cAAc,CAOhB"}
@@ -48,7 +48,7 @@ export interface PublicProcessorValidator {
48
48
  addNullifiers: (nullifiers: Buffer[]) => void;
49
49
  };
50
50
  }
51
- export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'> & Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'> & Pick<SequencerConfig, 'txPublicSetupAllowList' | 'fakeProcessingDelayPerTxMs' | 'fakeThrowAfterProcessingTxCount' | 'maxTxsPerBlock' | 'maxL2BlockGas' | 'maxDABlockGas'> & {
51
+ export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'> & Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'> & Pick<SequencerConfig, 'txPublicSetupAllowList' | 'fakeProcessingDelayPerTxMs' | 'fakeThrowAfterProcessingTxCount' | 'maxTxsPerBlock' | 'maxTxsPerCheckpoint' | 'maxL2BlockGas' | 'maxDABlockGas'> & {
52
52
  /** Total L2 gas (mana) allowed per checkpoint. Fetched from L1 getManaLimit(). */
53
53
  rollupManaLimit: number;
54
54
  };
@@ -75,4 +75,4 @@ export interface ICheckpointsBuilder {
75
75
  getFork(blockNumber: BlockNumber): Promise<MerkleTreeWriteOperations>;
76
76
  startCheckpoint(checkpointNumber: CheckpointNumber, constants: CheckpointGlobalVariables, feeAssetPriceModifier: bigint, l1ToL2Messages: Fr[], previousCheckpointOutHashes: Fr[], fork: MerkleTreeWriteOperations, bindings?: LoggerBindings): Promise<ICheckpointBlockBuilder>;
77
77
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stYnVpbGRlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvYmxvY2stYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUYsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBFLDZGQUE2RjtBQUM3RixNQUFNLFdBQVcsYUFBYyxTQUFRLGtCQUFrQjtJQUN2RDs7OztP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
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stYnVpbGRlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvYmxvY2stYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUYsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBFLDZGQUE2RjtBQUM3RixNQUFNLFdBQVcsYUFBYyxTQUFRLGtCQUFrQjtJQUN2RDs7OztP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
@@ -1 +1 @@
1
- {"version":3,"file":"block-builder.d.ts","sourceRoot":"","sources":["../../src/interfaces/block-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-builder.d.ts","sourceRoot":"","sources":["../../src/interfaces/block-builder.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export const FullNodeBlockBuilderConfigKeys = [
7
7
  'fakeProcessingDelayPerTxMs',
8
8
  'fakeThrowAfterProcessingTxCount',
9
9
  'maxTxsPerBlock',
10
+ 'maxTxsPerCheckpoint',
10
11
  'maxL2BlockGas',
11
12
  'maxDABlockGas',
12
13
  'rollupManaLimit'
@@ -9,6 +9,8 @@ export interface SequencerConfig {
9
9
  sequencerPollingIntervalMS?: number;
10
10
  /** The maximum number of txs to include in a block. */
11
11
  maxTxsPerBlock?: number;
12
+ /** The maximum number of txs across all blocks in a checkpoint. */
13
+ maxTxsPerCheckpoint?: number;
12
14
  /** The minimum number of txs to include in a block. */
13
15
  minTxsPerBlock?: number;
14
16
  /** The minimum number of valid txs (after execution) to include in a block. If not set, falls back to minTxsPerBlock. */
@@ -79,6 +81,7 @@ export interface SequencerConfig {
79
81
  export declare const SequencerConfigSchema: z.ZodObject<{
80
82
  sequencerPollingIntervalMS: z.ZodOptional<z.ZodNumber>;
81
83
  maxTxsPerBlock: z.ZodOptional<z.ZodNumber>;
84
+ maxTxsPerCheckpoint: z.ZodOptional<z.ZodNumber>;
82
85
  minValidTxsPerBlock: z.ZodOptional<z.ZodNumber>;
83
86
  minTxsPerBlock: z.ZodOptional<z.ZodNumber>;
84
87
  maxL2BlockGas: z.ZodOptional<z.ZodNumber>;
@@ -145,6 +148,7 @@ export declare const SequencerConfigSchema: z.ZodObject<{
145
148
  }, "strip", z.ZodTypeAny, {
146
149
  sequencerPollingIntervalMS?: number | undefined;
147
150
  maxTxsPerBlock?: number | undefined;
151
+ maxTxsPerCheckpoint?: number | undefined;
148
152
  minValidTxsPerBlock?: number | undefined;
149
153
  minTxsPerBlock?: number | undefined;
150
154
  maxL2BlockGas?: number | undefined;
@@ -191,6 +195,7 @@ export declare const SequencerConfigSchema: z.ZodObject<{
191
195
  }, {
192
196
  sequencerPollingIntervalMS?: number | undefined;
193
197
  maxTxsPerBlock?: number | undefined;
198
+ maxTxsPerCheckpoint?: number | undefined;
194
199
  minValidTxsPerBlock?: number | undefined;
195
200
  minTxsPerBlock?: number | undefined;
196
201
  maxL2BlockGas?: number | undefined;
@@ -235,7 +240,7 @@ export declare const SequencerConfigSchema: z.ZodObject<{
235
240
  minBlocksForCheckpoint?: number | undefined;
236
241
  skipPublishingCheckpointsPercent?: number | undefined;
237
242
  }>;
238
- type SequencerConfigOptionalKeys = 'governanceProposerPayload' | 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'coinbase' | 'feeRecipient' | 'acvmWorkingDirectory' | 'acvmBinaryPath' | 'fakeProcessingDelayPerTxMs' | 'fakeThrowAfterProcessingTxCount' | 'l1PublishingTime' | 'txPublicSetupAllowList' | 'minValidTxsPerBlock' | 'minBlocksForCheckpoint' | 'maxL2BlockGas' | 'maxDABlockGas' | 'gasPerBlockAllocationMultiplier';
243
+ type SequencerConfigOptionalKeys = 'governanceProposerPayload' | 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'coinbase' | 'feeRecipient' | 'acvmWorkingDirectory' | 'acvmBinaryPath' | 'fakeProcessingDelayPerTxMs' | 'fakeThrowAfterProcessingTxCount' | 'l1PublishingTime' | 'txPublicSetupAllowList' | 'minValidTxsPerBlock' | 'minBlocksForCheckpoint' | 'maxTxsPerBlock' | 'maxTxsPerCheckpoint' | 'maxL2BlockGas' | 'maxDABlockGas' | 'gasPerBlockAllocationMultiplier';
239
244
  export type ResolvedSequencerConfig = Prettify<Required<Omit<SequencerConfig, SequencerConfigOptionalKeys>> & Pick<SequencerConfig, SequencerConfigOptionalKeys>>;
240
245
  export {};
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvY29uZmlncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBd0IsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRiw4QkFBOEI7QUFDOUIsTUFBTSxXQUFXLGVBQWU7SUFDOUIsZ0VBQWdFO0lBQ2hFLDBCQUEwQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLHVEQUF1RDtJQUN2RCxjQUFjLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDeEIsdURBQXVEO0lBQ3ZELGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN4Qix5SEFBeUg7SUFDekgsbUJBQW1CLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDN0Isc0RBQXNEO0lBQ3RELHVCQUF1QixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ2xDLGdDQUFnQztJQUNoQyxhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdkIsZ0NBQWdDO0lBQ2hDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN2QixtSEFBbUg7SUFDbkgsK0JBQStCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDekMsaUNBQWlDO0lBQ2pDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUN0QiwrQkFBK0I7SUFDL0IsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFDO0lBQzVCLDBEQUEwRDtJQUMxRCxvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM5QixrQ0FBa0M7SUFDbEMs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
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvY29uZmlncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBd0IsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRiw4QkFBOEI7QUFDOUIsTUFBTSxXQUFXLGVBQWU7SUFDOUIsZ0VBQWdFO0lBQ2hFLDBCQUEwQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLHVEQUF1RDtJQUN2RCxjQUFjLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDeEIsbUVBQW1FO0lBQ25FLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzdCLHVEQUF1RDtJQUN2RCxjQUFjLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDeEIseUhBQXlIO0lBQ3pILG1CQUFtQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzdCLHNEQUFzRDtJQUN0RCx1QkFBdUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUNsQyxnQ0FBZ0M7SUFDaEMsYUFBYSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLGdDQUFnQztJQUNoQyxhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdkIsbUhBQW1IO0lBQ25ILCtCQUErQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3pDLGlDQUFpQztJQUNqQyxRQUFRLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDdEIsK0JBQStCO0lBQy9CLFlBQVksQ0FBQyxFQUFFLFlBQVksQ0FBQztJQUM1QiwwREFBMEQ7SUFDMUQs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
@@ -1 +1 @@
1
- {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../src/interfaces/configs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../src/interfaces/configs.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { AllowedElementSchema } from './allowed_element.js';
4
4
  export const SequencerConfigSchema = zodFor()(z.object({
5
5
  sequencerPollingIntervalMS: z.number().optional(),
6
6
  maxTxsPerBlock: z.number().optional(),
7
+ maxTxsPerCheckpoint: z.number().optional(),
7
8
  minValidTxsPerBlock: z.number().optional(),
8
9
  minTxsPerBlock: z.number().optional(),
9
10
  maxL2BlockGas: z.number().optional(),
@@ -164,4 +164,4 @@ export declare const makeCheckpointAttestationFromBlock: (block: L2Block, attest
164
164
  export declare function randomPublishedL2Block(l2BlockNumber: number, opts?: {
165
165
  signers?: Secp256k1Signer[];
166
166
  }): Promise<CheckpointedL2Block>;
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy9tb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFjLE1BQU0saUNBQWlDLENBQUM7QUFJbkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkYsT0FBTyxLQUFLLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLekQsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFB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
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy9tb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFjLE1BQU0saUNBQWlDLENBQUM7QUFJbkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkYsT0FBTyxLQUFLLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLekQsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"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"}
@@ -216,6 +216,10 @@ export function mockL1ToL2Messages(numL1ToL2Messages) {
216
216
  }
217
217
  export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNumber = BlockNumber(1), numBlocks = 1, blocks, numTxsPerBlock = 1, numL1ToL2Messages = 1, makeBlockOptions = ()=>({}), previousArchive, maxEffects, ...options } = {}) {
218
218
  const slotNumber = options.slotNumber ?? SlotNumber(Number(checkpointNumber) * 10);
219
+ const globals = GlobalVariables.random({
220
+ slotNumber,
221
+ ...options
222
+ });
219
223
  const blocksAndMessages = [];
220
224
  // Track the previous block's archive to ensure consecutive blocks have consistent archive roots.
221
225
  // The current block's header.lastArchive must equal the previous block's archive.
@@ -228,11 +232,11 @@ export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNu
228
232
  const blockNumber = BlockNumber(startBlockNumber + i);
229
233
  const { block, messages } = {
230
234
  block: blocks?.[i] ?? await L2Block.random(blockNumber, {
235
+ ...globals,
231
236
  checkpointNumber,
232
237
  indexWithinCheckpoint: IndexWithinCheckpoint(i),
233
238
  txsPerBlock: numTxsPerBlock,
234
239
  txOptions,
235
- slotNumber,
236
240
  ...options,
237
241
  ...makeBlockOptions(blockNumber),
238
242
  ...lastArchive ? {
@@ -250,17 +254,17 @@ export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNu
250
254
  }
251
255
  const messages = blocksAndMessages[0].messages;
252
256
  const inHash = computeInHashFromL1ToL2Messages(messages);
257
+ const firstBlockLastArchive = blocksAndMessages[0].block.header.lastArchive;
253
258
  const checkpoint = await Checkpoint.random(checkpointNumber, {
254
259
  numBlocks: 0,
255
- slotNumber,
256
260
  inHash,
257
- ...options
261
+ ...options,
262
+ ...globals,
263
+ lastArchive: firstBlockLastArchive,
264
+ lastArchiveRoot: firstBlockLastArchive.root,
265
+ archive: lastArchive
258
266
  });
259
267
  checkpoint.blocks = blocksAndMessages.map(({ block })=>block);
260
- // Set the checkpoint's archive to match the last block's archive for proper chaining.
261
- // When the archiver reconstructs checkpoints from L1, it uses the checkpoint's archive root
262
- // from the L1 event to set the last block's archive. Without this, the archive chain breaks.
263
- checkpoint.archive = lastArchive;
264
268
  // Return lastArchive so callers can chain it across multiple checkpoints
265
269
  return {
266
270
  checkpoint,
@@ -64,6 +64,8 @@ export declare class BlockHeader {
64
64
  hash(): Promise<BlockHash>;
65
65
  /** Manually set the hash for this block header if already computed */
66
66
  setHash(hashed: Fr): void;
67
+ /** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */
68
+ recomputeHash(): Promise<BlockHash>;
67
69
  static random(overrides?: Partial<FieldsOf<BlockHeader>> & Partial<FieldsOf<GlobalVariables>>): BlockHeader;
68
70
  toInspect(): {
69
71
  lastArchive: `0x${string}`;
@@ -91,4 +93,4 @@ export declare class BlockHeader {
91
93
  [inspect.custom](): string;
92
94
  equals(other: this): boolean;
93
95
  }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGVhZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvYmxvY2tfaGVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHMUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUF3QyxNQUFNLDZCQUE2QixDQUFDO0FBRTlHLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsK0JBQStCO0FBQy9CLHFCQUFhLFdBQVc7SUFJcEIsdURBQXVEO2FBQ3ZDLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkQsdUJBQXVCO2FBQ1AsS0FBSyxFQUFFLGNBQWM7SUFDckM7OztPQUdHO2FBQ2EsY0FBYyxFQUFFLEVBQUU7SUFDbEMsdUNBQXVDO2FBQ3ZCLGVBQWUsRUFBRSxlQUFlO0lBQ2hELG1FQUFtRTthQUNuRCxTQUFTLEVBQUUsRUFBRTtJQUM3Qix3RUFBd0U7YUFDeEQsYUFBYSxFQUFFLEVBQUU7SUFqQm5DLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBcUI7SUFFekM7SUFDRSx1REFBdUQ7SUFDdkMsV0FBVyxFQUFFLHNCQUFzQjtJQUNuRCx1QkFBdUI7SUFDUCxLQUFLLEVBQUUsY0FBYztJQUNyQzs7O09BR0c7SUFDYSxjQUFjLEVBQUUsRUFBRTtJQUNsQyx1Q0FBdUM7SUFDdkIsZUFBZSxFQUFFLGVBQWU7SUFDaEQsbUVBQW1FO0lBQ25ELFNBQVMsRUFBRSxFQUFFO0lBQzdCLHdFQUF3RTtJQUN4RCxhQUFhLEVBQUUsRUFBRSxFQUMvQjtJQUVKLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQVd2QztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsa0ZBUzdDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUV4QztJQUVELE9BQU8sSUFBSSxVQUFVLENBRXBCO0lBRUQsY0FBYyxJQUFJLFdBQVcsQ0FFNUI7SUFFRCxPQUFPLFdBU047SUFFRCxRQUFRLDRCQUVQO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQU1mO0lBRUQsS0FBSyxJQUFJLFdBQVcsQ0FFbkI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBQVcsQ0FXNUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEdBQUcsV0FBVyxDQVd6RDtJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQU0sR0FBRyxXQUFXLENBVXJFO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FTakI7SUFFRDs7O09BR0c7SUFDSSxRQUFRLGtCQUVkO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FFMUM7SUFFRCxJQUFJLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQU96QjtJQUVELHNFQUFzRTtJQUN0RSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFFakI7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBTSxHQUFHLFdBQVcsQ0FVOUc7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BU1I7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FZZjtJQUVNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLE9BQU8sQ0FTbEM7Q0FDRiJ9
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGVhZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvYmxvY2tfaGVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHMUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUF3QyxNQUFNLDZCQUE2QixDQUFDO0FBRTlHLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsK0JBQStCO0FBQy9CLHFCQUFhLFdBQVc7SUFJcEIsdURBQXVEO2FBQ3ZDLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkQsdUJBQXVCO2FBQ1AsS0FBSyxFQUFFLGNBQWM7SUFDckM7OztPQUdHO2FBQ2EsY0FBYyxFQUFFLEVBQUU7SUFDbEMsdUNBQXVDO2FBQ3ZCLGVBQWUsRUFBRSxlQUFlO0lBQ2hELG1FQUFtRTthQUNuRCxTQUFTLEVBQUUsRUFBRTtJQUM3Qix3RUFBd0U7YUFDeEQsYUFBYSxFQUFFLEVBQUU7SUFqQm5DLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBcUI7SUFFekM7SUFDRSx1REFBdUQ7SUFDdkMsV0FBVyxFQUFFLHNCQUFzQjtJQUNuRCx1QkFBdUI7SUFDUCxLQUFLLEVBQUUsY0FBYztJQUNyQzs7O09BR0c7SUFDYSxjQUFjLEVBQUUsRUFBRTtJQUNsQyx1Q0FBdUM7SUFDdkIsZUFBZSxFQUFFLGVBQWU7SUFDaEQsbUVBQW1FO0lBQ25ELFNBQVMsRUFBRSxFQUFFO0lBQzdCLHdFQUF3RTtJQUN4RCxhQUFhLEVBQUUsRUFBRSxFQUMvQjtJQUVKLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQVd2QztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsa0ZBUzdDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUV4QztJQUVELE9BQU8sSUFBSSxVQUFVLENBRXBCO0lBRUQsY0FBYyxJQUFJLFdBQVcsQ0FFNUI7SUFFRCxPQUFPLFdBU047SUFFRCxRQUFRLDRCQUVQO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQU1mO0lBRUQsS0FBSyxJQUFJLFdBQVcsQ0FFbkI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBQVcsQ0FXNUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEdBQUcsV0FBVyxDQVd6RDtJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQU0sR0FBRyxXQUFXLENBVXJFO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FTakI7SUFFRDs7O09BR0c7SUFDSSxRQUFRLGtCQUVkO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FFMUM7SUFFRCxJQUFJLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQU96QjtJQUVELHNFQUFzRTtJQUN0RSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFFakI7SUFFRCxnR0FBZ0c7SUFDaEcsYUFBYSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHbEM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBTSxHQUFHLFdBQVcsQ0FVOUc7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BU1I7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FZZjtJQUVNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLE9BQU8sQ0FTbEM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"block_header.d.ts","sourceRoot":"","sources":["../../src/tx/block_header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,+BAA+B;AAC/B,qBAAa,WAAW;IAIpB,uDAAuD;aACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;aACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;aACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;aACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;aACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;aACxD,aAAa,EAAE,EAAE;IAjBnC,OAAO,CAAC,WAAW,CAAC,CAAqB;IAEzC;IACE,uDAAuD;IACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;IACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;IACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;IACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;IACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;IACxD,aAAa,EAAE,EAAE,EAC/B;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,CAWvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,kFAS7C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,eAExC;IAED,OAAO,IAAI,UAAU,CAEpB;IAED,cAAc,IAAI,WAAW,CAE5B;IAED,OAAO,WASN;IAED,QAAQ,4BAEP;IAED,QAAQ,IAAI,EAAE,EAAE,CAMf;IAED,KAAK,IAAI,WAAW,CAEnB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAW5D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW,CAWzD;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAM,GAAG,WAAW,CAUrE;IAED,OAAO,IAAI,OAAO,CASjB;IAED;;;OAGG;IACI,QAAQ,kBAEd;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAE1C;IAED,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,CAOzB;IAED,sEAAsE;IACtE,OAAO,CAAC,MAAM,EAAE,EAAE,QAEjB;IAED,MAAM,CAAC,MAAM,CAAC,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAM,GAAG,WAAW,CAU9G;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;MASR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAYf;IAEM,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CASlC;CACF"}
1
+ {"version":3,"file":"block_header.d.ts","sourceRoot":"","sources":["../../src/tx/block_header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,+BAA+B;AAC/B,qBAAa,WAAW;IAIpB,uDAAuD;aACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;aACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;aACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;aACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;aACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;aACxD,aAAa,EAAE,EAAE;IAjBnC,OAAO,CAAC,WAAW,CAAC,CAAqB;IAEzC;IACE,uDAAuD;IACvC,WAAW,EAAE,sBAAsB;IACnD,uBAAuB;IACP,KAAK,EAAE,cAAc;IACrC;;;OAGG;IACa,cAAc,EAAE,EAAE;IAClC,uCAAuC;IACvB,eAAe,EAAE,eAAe;IAChD,mEAAmE;IACnD,SAAS,EAAE,EAAE;IAC7B,wEAAwE;IACxD,aAAa,EAAE,EAAE,EAC/B;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,CAWvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,kFAS7C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,eAExC;IAED,OAAO,IAAI,UAAU,CAEpB;IAED,cAAc,IAAI,WAAW,CAE5B;IAED,OAAO,WASN;IAED,QAAQ,4BAEP;IAED,QAAQ,IAAI,EAAE,EAAE,CAMf;IAED,KAAK,IAAI,WAAW,CAEnB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAW5D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW,CAWzD;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAM,GAAG,WAAW,CAUrE;IAED,OAAO,IAAI,OAAO,CASjB;IAED;;;OAGG;IACI,QAAQ,kBAEd;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAE1C;IAED,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,CAOzB;IAED,sEAAsE;IACtE,OAAO,CAAC,MAAM,EAAE,EAAE,QAEjB;IAED,gGAAgG;IAChG,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC,CAGlC;IAED,MAAM,CAAC,MAAM,CAAC,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAM,GAAG,WAAW,CAU9G;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;MASR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAYf;IAEM,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CASlC;CACF"}
@@ -117,6 +117,10 @@ _computedKey = inspect.custom;
117
117
  /** Manually set the hash for this block header if already computed */ setHash(hashed) {
118
118
  this._cachedHash = Promise.resolve(new BlockHash(hashed));
119
119
  }
120
+ /** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */ recomputeHash() {
121
+ this._cachedHash = undefined;
122
+ return this.hash();
123
+ }
120
124
  static random(overrides = {}) {
121
125
  return BlockHeader.from({
122
126
  lastArchive: AppendOnlyTreeSnapshot.random(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/stdlib",
3
- "version": "4.0.4-rc.6",
3
+ "version": "4.0.4-rc.7",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json",
@@ -90,14 +90,14 @@
90
90
  },
91
91
  "dependencies": {
92
92
  "@aws-sdk/client-s3": "^3.892.0",
93
- "@aztec/bb.js": "4.0.4-rc.6",
94
- "@aztec/blob-lib": "4.0.4-rc.6",
95
- "@aztec/constants": "4.0.4-rc.6",
96
- "@aztec/ethereum": "4.0.4-rc.6",
97
- "@aztec/foundation": "4.0.4-rc.6",
98
- "@aztec/l1-artifacts": "4.0.4-rc.6",
99
- "@aztec/noir-noirc_abi": "4.0.4-rc.6",
100
- "@aztec/validator-ha-signer": "4.0.4-rc.6",
93
+ "@aztec/bb.js": "4.0.4-rc.7",
94
+ "@aztec/blob-lib": "4.0.4-rc.7",
95
+ "@aztec/constants": "4.0.4-rc.7",
96
+ "@aztec/ethereum": "4.0.4-rc.7",
97
+ "@aztec/foundation": "4.0.4-rc.7",
98
+ "@aztec/l1-artifacts": "4.0.4-rc.7",
99
+ "@aztec/noir-noirc_abi": "4.0.4-rc.7",
100
+ "@aztec/validator-ha-signer": "4.0.4-rc.7",
101
101
  "@google-cloud/storage": "^7.15.0",
102
102
  "axios": "^1.13.5",
103
103
  "json-stringify-deterministic": "1.0.12",
@@ -176,7 +176,7 @@ export class L2Block {
176
176
  } & Partial<Parameters<typeof BlockHeader.random>[0]> = {},
177
177
  ): Promise<L2Block> {
178
178
  const archive = new AppendOnlyTreeSnapshot(Fr.random(), blockNumber + 1);
179
- const header = BlockHeader.random({ blockNumber, ...blockHeaderOverrides });
179
+ const header = BlockHeader.random({ ...blockHeaderOverrides, blockNumber });
180
180
  const body = await Body.random({ txsPerBlock, makeTxOptions, ...txOptions });
181
181
  return new L2Block(archive, header, body, checkpointNumber, indexWithinCheckpoint);
182
182
  }
@@ -6,7 +6,7 @@ import {
6
6
  IndexWithinCheckpoint,
7
7
  SlotNumber,
8
8
  } from '@aztec/foundation/branded-types';
9
- import { sum } from '@aztec/foundation/collection';
9
+ import { pick, sum } from '@aztec/foundation/collection';
10
10
  import { Fr } from '@aztec/foundation/curves/bn254';
11
11
  import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
12
12
  import type { FieldsOf } from '@aztec/foundation/types';
@@ -152,10 +152,12 @@ export class Checkpoint {
152
152
  startBlockNumber?: number;
153
153
  previousArchive?: AppendOnlyTreeSnapshot;
154
154
  feeAssetPriceModifier?: bigint;
155
+ archive?: AppendOnlyTreeSnapshot;
155
156
  } & Partial<Parameters<typeof CheckpointHeader.random>[0]> &
156
157
  Partial<Parameters<typeof L2Block.random>[1]> = {},
157
158
  ) {
158
- const header = CheckpointHeader.random(options);
159
+ const headerOptions = previousArchive ? { lastArchiveRoot: previousArchive.root, ...options } : options;
160
+ const header = CheckpointHeader.random(headerOptions);
159
161
 
160
162
  // Create blocks sequentially to chain archive roots properly.
161
163
  // Each block's header.lastArchive must equal the previous block's archive.
@@ -166,11 +168,18 @@ export class Checkpoint {
166
168
  indexWithinCheckpoint: IndexWithinCheckpoint(i),
167
169
  ...options,
168
170
  ...(lastArchive ? { lastArchive } : {}),
171
+ ...pick(header, 'slotNumber', 'timestamp', 'coinbase', 'feeRecipient', 'gasFees'),
169
172
  });
170
173
  lastArchive = block.archive;
171
174
  blocks.push(block);
172
175
  }
173
176
 
174
- return new Checkpoint(AppendOnlyTreeSnapshot.random(), header, blocks, checkpointNumber, feeAssetPriceModifier);
177
+ return new Checkpoint(
178
+ options.archive ?? AppendOnlyTreeSnapshot.random(),
179
+ header,
180
+ blocks,
181
+ checkpointNumber,
182
+ feeAssetPriceModifier,
183
+ );
175
184
  }
176
185
  }
@@ -2,6 +2,7 @@ import { BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB, MAX_PROCESSABLE_DA_GAS_PER_CHECK
2
2
  import type { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
3
  import { sum } from '@aztec/foundation/collection';
4
4
 
5
+ import { MAX_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
5
6
  import type { Checkpoint } from './checkpoint.js';
6
7
 
7
8
  export class CheckpointValidationError extends Error {
@@ -17,6 +18,7 @@ export class CheckpointValidationError extends Error {
17
18
 
18
19
  /**
19
20
  * Validates a checkpoint. Throws a CheckpointValidationError if any validation fails.
21
+ * - Validates structural integrity (non-empty, block count, sequential numbers, archive chaining, slot consistency)
20
22
  * - Validates checkpoint blob field count against maxBlobFields limit
21
23
  * - Validates total L2 gas used by checkpoint blocks against the Rollup contract mana limit
22
24
  * - Validates total DA gas used by checkpoint blocks against MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT
@@ -25,24 +27,113 @@ export class CheckpointValidationError extends Error {
25
27
  export function validateCheckpoint(
26
28
  checkpoint: Checkpoint,
27
29
  opts: {
28
- rollupManaLimit: number;
29
- maxL2BlockGas: number | undefined;
30
- maxDABlockGas: number | undefined;
30
+ rollupManaLimit?: number;
31
+ maxL2BlockGas?: number;
32
+ maxDABlockGas?: number;
33
+ maxTxsPerCheckpoint?: number;
34
+ maxTxsPerBlock?: number;
31
35
  },
32
36
  ): void {
37
+ validateCheckpointStructure(checkpoint);
33
38
  validateCheckpointLimits(checkpoint, opts);
34
39
  validateCheckpointBlocksGasLimits(checkpoint, opts);
35
40
  }
36
41
 
42
+ /**
43
+ * Validates structural integrity of a checkpoint.
44
+ * - Non-empty block list
45
+ * - Block count within MAX_BLOCKS_PER_CHECKPOINT
46
+ * - Checkpoint slot matches the first block's slot
47
+ * - Checkpoint lastArchiveRoot matches the first block's lastArchive root
48
+ * - Sequential block numbers without gaps
49
+ * - Sequential indexWithinCheckpoint starting at 0
50
+ * - Archive root chaining between consecutive blocks
51
+ * - Consistent slot number across all blocks
52
+ * - Global variables (slot, timestamp, coinbase, feeRecipient, gasFees) match checkpoint header for each block
53
+ */
54
+ export function validateCheckpointStructure(checkpoint: Checkpoint): void {
55
+ const { blocks, number, slot } = checkpoint;
56
+
57
+ if (blocks.length === 0) {
58
+ throw new CheckpointValidationError('Checkpoint has no blocks', number, slot);
59
+ }
60
+
61
+ if (blocks.length > MAX_BLOCKS_PER_CHECKPOINT) {
62
+ throw new CheckpointValidationError(
63
+ `Checkpoint has ${blocks.length} blocks, exceeding limit of ${MAX_BLOCKS_PER_CHECKPOINT}`,
64
+ number,
65
+ slot,
66
+ );
67
+ }
68
+
69
+ const firstBlock = blocks[0];
70
+
71
+ if (!checkpoint.header.lastArchiveRoot.equals(firstBlock.header.lastArchive.root)) {
72
+ throw new CheckpointValidationError(
73
+ `Checkpoint lastArchiveRoot does not match first block's lastArchive root`,
74
+ number,
75
+ slot,
76
+ );
77
+ }
78
+
79
+ for (let i = 0; i < blocks.length; i++) {
80
+ const block = blocks[i];
81
+
82
+ if (block.indexWithinCheckpoint !== i) {
83
+ throw new CheckpointValidationError(
84
+ `Block at index ${i} has indexWithinCheckpoint ${block.indexWithinCheckpoint}, expected ${i}`,
85
+ number,
86
+ slot,
87
+ );
88
+ }
89
+
90
+ if (block.slot !== slot) {
91
+ throw new CheckpointValidationError(
92
+ `Block ${block.number} has slot ${block.slot}, expected ${slot} (all blocks must share the same slot)`,
93
+ number,
94
+ slot,
95
+ );
96
+ }
97
+
98
+ if (!checkpoint.header.matchesGlobalVariables(block.header.globalVariables)) {
99
+ throw new CheckpointValidationError(
100
+ `Block ${block.number} global variables (slot, timestamp, coinbase, feeRecipient, gasFees) do not match checkpoint header`,
101
+ number,
102
+ slot,
103
+ );
104
+ }
105
+
106
+ if (i > 0) {
107
+ const prev = blocks[i - 1];
108
+ if (block.number !== prev.number + 1) {
109
+ throw new CheckpointValidationError(
110
+ `Block numbers are not sequential: block at index ${i - 1} has number ${prev.number}, block at index ${i} has number ${block.number}`,
111
+ number,
112
+ slot,
113
+ );
114
+ }
115
+
116
+ if (!block.header.lastArchive.root.equals(prev.archive.root)) {
117
+ throw new CheckpointValidationError(
118
+ `Block ${block.number} lastArchive root does not match archive root of block ${prev.number}`,
119
+ number,
120
+ slot,
121
+ );
122
+ }
123
+ }
124
+ }
125
+ }
126
+
37
127
  /** Validates checkpoint blocks gas limits */
38
128
  function validateCheckpointBlocksGasLimits(
39
129
  checkpoint: Checkpoint,
40
130
  opts: {
41
- maxL2BlockGas: number | undefined;
42
- maxDABlockGas: number | undefined;
131
+ maxL2BlockGas?: number;
132
+ maxDABlockGas?: number;
133
+ maxTxsPerBlock?: number;
43
134
  },
44
135
  ): void {
45
- const { maxL2BlockGas, maxDABlockGas } = opts;
136
+ const { maxL2BlockGas, maxDABlockGas, maxTxsPerBlock } = opts;
46
137
 
47
138
  if (maxL2BlockGas !== undefined) {
48
139
  for (const block of checkpoint.blocks) {
@@ -69,43 +160,68 @@ function validateCheckpointBlocksGasLimits(
69
160
  }
70
161
  }
71
162
  }
163
+
164
+ if (maxTxsPerBlock !== undefined) {
165
+ for (const block of checkpoint.blocks) {
166
+ const blockTxCount = block.body.txEffects.length;
167
+ if (blockTxCount > maxTxsPerBlock) {
168
+ throw new CheckpointValidationError(
169
+ `Block ${block.number} in checkpoint has ${blockTxCount} txs exceeding limit of ${maxTxsPerBlock}`,
170
+ checkpoint.number,
171
+ checkpoint.slot,
172
+ );
173
+ }
174
+ }
175
+ }
72
176
  }
73
177
 
74
- /** Validates checkpoint max blob fields and gas limits */
178
+ /** Validates checkpoint max blob fields, gas limits, and tx limits */
75
179
  function validateCheckpointLimits(
76
180
  checkpoint: Checkpoint,
77
181
  opts: {
78
- rollupManaLimit: number;
182
+ rollupManaLimit?: number;
183
+ maxTxsPerCheckpoint?: number;
79
184
  },
80
185
  ): void {
81
- const { rollupManaLimit } = opts;
186
+ const { rollupManaLimit, maxTxsPerCheckpoint } = opts;
82
187
 
83
188
  const maxBlobFields = BLOBS_PER_CHECKPOINT * FIELDS_PER_BLOB;
84
189
  const maxDAGas = MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT;
85
190
 
86
- const checkpointMana = sum(checkpoint.blocks.map(block => block.header.totalManaUsed.toNumber()));
87
- if (checkpointMana > rollupManaLimit) {
191
+ if (rollupManaLimit !== undefined) {
192
+ const checkpointMana = sum(checkpoint.blocks.map(block => block.header.totalManaUsed.toNumber()));
193
+ if (checkpointMana > rollupManaLimit) {
194
+ throw new CheckpointValidationError(
195
+ `Checkpoint mana cost ${checkpointMana} exceeds rollup limit of ${rollupManaLimit}`,
196
+ checkpoint.number,
197
+ checkpoint.slot,
198
+ );
199
+ }
200
+ }
201
+
202
+ const checkpointDAGas = sum(checkpoint.blocks.map(block => block.computeDAGasUsed()));
203
+ if (checkpointDAGas > maxDAGas) {
88
204
  throw new CheckpointValidationError(
89
- `Checkpoint mana cost ${checkpointMana} exceeds rollup limit of ${rollupManaLimit}`,
205
+ `Checkpoint DA gas cost ${checkpointDAGas} exceeds limit of ${maxDAGas}`,
90
206
  checkpoint.number,
91
207
  checkpoint.slot,
92
208
  );
93
209
  }
94
210
 
95
- const checkpointDAGas = sum(checkpoint.blocks.map(block => block.computeDAGasUsed()));
96
- if (checkpointDAGas > maxDAGas) {
211
+ const checkpointBlobFields = checkpoint.toBlobFields().length;
212
+ if (checkpointBlobFields > maxBlobFields) {
97
213
  throw new CheckpointValidationError(
98
- `Checkpoint DA gas cost ${checkpointDAGas} exceeds limit of ${maxDAGas}`,
214
+ `Checkpoint blob field count ${checkpointBlobFields} exceeds limit of ${maxBlobFields}`,
99
215
  checkpoint.number,
100
216
  checkpoint.slot,
101
217
  );
102
218
  }
103
219
 
104
- if (maxBlobFields !== undefined) {
105
- const checkpointBlobFields = checkpoint.toBlobFields().length;
106
- if (checkpointBlobFields > maxBlobFields) {
220
+ if (maxTxsPerCheckpoint !== undefined) {
221
+ const checkpointTxCount = sum(checkpoint.blocks.map(block => block.body.txEffects.length));
222
+ if (checkpointTxCount > maxTxsPerCheckpoint) {
107
223
  throw new CheckpointValidationError(
108
- `Checkpoint blob field count ${checkpointBlobFields} exceeds limit of ${maxBlobFields}`,
224
+ `Checkpoint tx count ${checkpointTxCount} exceeds limit of ${maxTxsPerCheckpoint}`,
109
225
  checkpoint.number,
110
226
  checkpoint.slot,
111
227
  );
@@ -1,10 +1,7 @@
1
- import { type ConfigMappingsType, numberConfigHelper } from '@aztec/foundation/config';
1
+ import type { ConfigMappingsType } from '@aztec/foundation/config';
2
2
 
3
3
  import type { SequencerConfig } from '../interfaces/configs.js';
4
4
 
5
- /** Default maximum number of transactions per block. */
6
- export const DEFAULT_MAX_TXS_PER_BLOCK = 32;
7
-
8
5
  /**
9
6
  * Partial sequencer config mappings for fields that need to be shared across packages.
10
7
  * The full sequencer config mappings remain in sequencer-client, but shared fields
@@ -32,6 +29,6 @@ export const sharedSequencerConfigMappings: ConfigMappingsType<
32
29
  maxTxsPerBlock: {
33
30
  env: 'SEQ_MAX_TX_PER_BLOCK',
34
31
  description: 'The maximum number of txs to include in a block.',
35
- ...numberConfigHelper(DEFAULT_MAX_TXS_PER_BLOCK),
32
+ parseEnv: (val: string) => (val ? parseInt(val, 10) : undefined),
36
33
  },
37
34
  };
@@ -61,6 +61,7 @@ export type FullNodeBlockBuilderConfig = Pick<L1RollupConstants, 'l1GenesisTime'
61
61
  | 'fakeProcessingDelayPerTxMs'
62
62
  | 'fakeThrowAfterProcessingTxCount'
63
63
  | 'maxTxsPerBlock'
64
+ | 'maxTxsPerCheckpoint'
64
65
  | 'maxL2BlockGas'
65
66
  | 'maxDABlockGas'
66
67
  > & {
@@ -77,6 +78,7 @@ export const FullNodeBlockBuilderConfigKeys: (keyof FullNodeBlockBuilderConfig)[
77
78
  'fakeProcessingDelayPerTxMs',
78
79
  'fakeThrowAfterProcessingTxCount',
79
80
  'maxTxsPerBlock',
81
+ 'maxTxsPerCheckpoint',
80
82
  'maxL2BlockGas',
81
83
  'maxDABlockGas',
82
84
  'rollupManaLimit',
@@ -13,6 +13,8 @@ export interface SequencerConfig {
13
13
  sequencerPollingIntervalMS?: number;
14
14
  /** The maximum number of txs to include in a block. */
15
15
  maxTxsPerBlock?: number;
16
+ /** The maximum number of txs across all blocks in a checkpoint. */
17
+ maxTxsPerCheckpoint?: number;
16
18
  /** The minimum number of txs to include in a block. */
17
19
  minTxsPerBlock?: number;
18
20
  /** The minimum number of valid txs (after execution) to include in a block. If not set, falls back to minTxsPerBlock. */
@@ -85,6 +87,7 @@ export const SequencerConfigSchema = zodFor<SequencerConfig>()(
85
87
  z.object({
86
88
  sequencerPollingIntervalMS: z.number().optional(),
87
89
  maxTxsPerBlock: z.number().optional(),
90
+ maxTxsPerCheckpoint: z.number().optional(),
88
91
  minValidTxsPerBlock: z.number().optional(),
89
92
  minTxsPerBlock: z.number().optional(),
90
93
  maxL2BlockGas: z.number().optional(),
@@ -135,6 +138,8 @@ type SequencerConfigOptionalKeys =
135
138
  | 'txPublicSetupAllowList'
136
139
  | 'minValidTxsPerBlock'
137
140
  | 'minBlocksForCheckpoint'
141
+ | 'maxTxsPerBlock'
142
+ | 'maxTxsPerCheckpoint'
138
143
  | 'maxL2BlockGas'
139
144
  | 'maxDABlockGas'
140
145
  | 'gasPerBlockAllocationMultiplier';
@@ -427,10 +427,13 @@ export async function mockCheckpointAndMessages(
427
427
  Partial<Parameters<typeof L2Block.random>[1]> = {},
428
428
  ) {
429
429
  const slotNumber = options.slotNumber ?? SlotNumber(Number(checkpointNumber) * 10);
430
+ const globals = GlobalVariables.random({ slotNumber, ...options });
430
431
  const blocksAndMessages = [];
432
+
431
433
  // Track the previous block's archive to ensure consecutive blocks have consistent archive roots.
432
434
  // The current block's header.lastArchive must equal the previous block's archive.
433
435
  let lastArchive: AppendOnlyTreeSnapshot | undefined = previousArchive;
436
+
434
437
  // Pass maxEffects via txOptions so it reaches TxEffect.random
435
438
  const txOptions = maxEffects !== undefined ? { maxEffects } : {};
436
439
  for (let i = 0; i < (blocks?.length ?? numBlocks); i++) {
@@ -439,11 +442,11 @@ export async function mockCheckpointAndMessages(
439
442
  block:
440
443
  blocks?.[i] ??
441
444
  (await L2Block.random(blockNumber, {
445
+ ...globals,
442
446
  checkpointNumber,
443
447
  indexWithinCheckpoint: IndexWithinCheckpoint(i),
444
448
  txsPerBlock: numTxsPerBlock,
445
449
  txOptions,
446
- slotNumber,
447
450
  ...options,
448
451
  ...makeBlockOptions(blockNumber),
449
452
  ...(lastArchive ? { lastArchive } : {}),
@@ -457,12 +460,18 @@ export async function mockCheckpointAndMessages(
457
460
 
458
461
  const messages = blocksAndMessages[0].messages;
459
462
  const inHash = computeInHashFromL1ToL2Messages(messages);
460
- const checkpoint = await Checkpoint.random(checkpointNumber, { numBlocks: 0, slotNumber, inHash, ...options });
463
+ const firstBlockLastArchive = blocksAndMessages[0].block.header.lastArchive;
464
+ const checkpoint = await Checkpoint.random(checkpointNumber, {
465
+ numBlocks: 0,
466
+ inHash,
467
+ ...options,
468
+ ...globals,
469
+ lastArchive: firstBlockLastArchive,
470
+ lastArchiveRoot: firstBlockLastArchive.root,
471
+ archive: lastArchive,
472
+ });
473
+
461
474
  checkpoint.blocks = blocksAndMessages.map(({ block }) => block);
462
- // Set the checkpoint's archive to match the last block's archive for proper chaining.
463
- // When the archiver reconstructs checkpoints from L1, it uses the checkpoint's archive root
464
- // from the L1 event to set the last block's archive. Without this, the archive chain breaks.
465
- checkpoint.archive = lastArchive!;
466
475
 
467
476
  // Return lastArchive so callers can chain it across multiple checkpoints
468
477
  return { checkpoint, messages, lastArchive };
@@ -176,6 +176,12 @@ export class BlockHeader {
176
176
  this._cachedHash = Promise.resolve(new BlockHash(hashed));
177
177
  }
178
178
 
179
+ /** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */
180
+ recomputeHash(): Promise<BlockHash> {
181
+ this._cachedHash = undefined;
182
+ return this.hash();
183
+ }
184
+
179
185
  static random(overrides: Partial<FieldsOf<BlockHeader>> & Partial<FieldsOf<GlobalVariables>> = {}): BlockHeader {
180
186
  return BlockHeader.from({
181
187
  lastArchive: AppendOnlyTreeSnapshot.random(),