@aztec/sequencer-client 3.0.0-nightly.20251124 → 3.0.0-nightly.20251125

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.
@@ -33,7 +33,7 @@ import { createPublicClient, fallback, http } from 'viem';
33
33
  // Since this might be called in the middle of a slot where a block might have been published,
34
34
  // we need to fetch the last block written, and estimate the earliest timestamp for the next block.
35
35
  // The timestamp of that last block will act as a lower bound for the next block.
36
- const lastBlock = await this.rollupContract.getBlock(await this.rollupContract.getBlockNumber());
36
+ const lastBlock = await this.rollupContract.getCheckpoint(await this.rollupContract.getCheckpointNumber());
37
37
  const earliestTimestamp = await this.rollupContract.getTimestampForSlot(lastBlock.slotNumber + 1n);
38
38
  const nextEthTimestamp = BigInt((await this.publicClient.getBlock()).timestamp + BigInt(this.ethereumSlotDuration));
39
39
  const timestamp = earliestTimestamp > nextEthTimestamp ? earliestTimestamp : nextEthTimestamp;
@@ -119,7 +119,7 @@ export declare class SequencerPublisher {
119
119
  forcePendingBlockNumber?: number;
120
120
  }): Promise<{
121
121
  slot: bigint;
122
- blockNumber: bigint;
122
+ checkpointNumber: bigint;
123
123
  timeOfNextL1Slot: bigint;
124
124
  } | undefined>;
125
125
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer-publisher.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,KAAK,8BAA8B,EACnC,kBAAkB,EAClB,KAAK,0BAA0B,EAE/B,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,WAAW,EAGhB,cAAc,EACd,KAAK,6BAA6B,EAClC,KAAK,gBAAgB,EAOtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAsB,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAS,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,KAAK,mBAAmB,EAA6B,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAwB,+BAA+B,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACtH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,EAAsB,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAA6B,MAAM,MAAM,CAAC;AAExH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAkB7E,eAAO,MAAM,OAAO,0OAUV,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAK9C,eAAO,MAAM,cAAc,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,WAA4C,CAAC;AAEhG,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,qBAAqB,GAAG,2BAA2B,CAAC;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,UAAU,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,YAAY,EAAE,CACZ,OAAO,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,kBAAkB,CAAC;QAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAClF,OAAO,CAAC;CACd;AAED,qBAAa,kBAAkB;IAqC3B,OAAO,CAAC,MAAM;IApChB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAA4B;IACpC,UAAU,EAAE,UAAU,CAAC;IAE9B,SAAS,CAAC,aAAa,SAAkD;IACzE,SAAS,CAAC,WAAW,SAAgD;IAErE,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAM;IAE5D,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,oBAAoB,EAAE,MAAM,CAAC;IAEvC,OAAO,CAAC,cAAc,CAA0B;IAEhD,mFAAmF;IACnF,OAAO,CAAC,4BAA4B,CAAC,CAAa;IAIlD,OAAc,iBAAiB,EAAE,MAAM,CAAe;IAGtD,OAAc,4BAA4B,SAAS;IAGnD,OAAc,cAAc,EAAE,MAAM,CAAY;IAEzC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,cAAc,EAAE,cAAc,CAAC;IAC/B,mBAAmB,EAAE,0BAA0B,CAAC;IAChD,wBAAwB,EAAE,8BAA8B,GAAG,6BAA6B,GAAG,SAAS,CAAC;IACrG,oBAAoB,EAAE,oBAAoB,CAAC;IAElD,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAM;gBAGnC,MAAM,EAAE,cAAc,GAAG,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,EAClG,IAAI,EAAE;QACJ,SAAS,CAAC,EAAE,eAAe,CAAC;QAC5B,cAAc,CAAC,EAAE,uBAAuB,CAAC;QACzC,SAAS,EAAE,kBAAkB,CAAC;QAC9B,cAAc,EAAE,cAAc,CAAC;QAC/B,wBAAwB,EAAE,8BAA8B,GAAG,6BAA6B,GAAG,SAAS,CAAC;QACrG,0BAA0B,EAAE,0BAA0B,CAAC;QACvD,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,UAAU,EAAE,UAAU,CAAC;QACvB,YAAY,EAAE,YAAY,CAAC;QAC3B,OAAO,EAAE,yBAAyB,CAAC;QACnC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7C,GAAG,CAAC,EAAE,MAAM,CAAC;KACd;IA2BI,iBAAiB,IAAI,cAAc;IAInC,gBAAgB;IAIvB;;;OAGG;IACI,+BAA+B,CAAC,eAAe,EAAE,UAAU,GAAG,SAAS;IAIvE,UAAU,CAAC,OAAO,EAAE,iBAAiB;IAIrC,gBAAgB,IAAI,MAAM;IAIjC;;OAEG;IACI,oBAAoB,IAAI,IAAI;IAQnC;;;;;;OAMG;IACU,YAAY;;;;;;;;;;;;;;;IAsFzB,OAAO,CAAC,2BAA2B;IAuBnC;;;;OAIG;IACI,wBAAwB,CAC7B,UAAU,EAAE,EAAE,EACd,SAAS,EAAE,UAAU,EACrB,IAAI,GAAE;QAAE,uBAAuB,CAAC,EAAE,MAAM,CAAA;KAAO;;;;;IAkBjD;;;;;OAKG;IACU,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE;QAAE,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE;IAwCjH;;;OAGG;IACU,uBAAuB,CAClC,gBAAgB,EAAE,mBAAmB,GACpC,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IA0D9C,OAAO,CAAC,2BAA2B;IAgCnC;;;;;;;;OAQG;IACU,0BAA0B,CACrC,KAAK,EAAE,OAAO,EACd,sBAAsB,EAAE,+BAA+B,EACvD,+BAA+B,EAAE,SAAS,EAC1C,OAAO,EAAE;QAAE,uBAAuB,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,MAAM,CAAC;YAwCJ,uBAAuB;IAsFrC;;;;;OAKG;IACI,2BAA2B,CAChC,iBAAiB,EAAE,UAAU,EAC7B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,UAAU,EACzB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,GAC3D,OAAO,CAAC,OAAO,CAAC;IAYnB,uEAAuE;IAC1D,sBAAsB,CACjC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,UAAU,EACzB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,GAC3D,OAAO,CAAC,OAAO,CAAC;IAoHnB;;;;;OAKG;IACU,qBAAqB,CAChC,KAAK,EAAE,OAAO,EACd,sBAAsB,EAAE,+BAA+B,EACvD,+BAA+B,EAAE,SAAS,EAC1C,IAAI,GAAE;QAAE,WAAW,CAAC,EAAE,IAAI,CAAC;QAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;KAAO,GAClE,OAAO,CAAC,OAAO,CAAC;IAuCZ,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,EAAE,IAAI,GAAE;QAAE,WAAW,CAAC,EAAE,IAAI,CAAA;KAAO;YAgC9F,yBAAyB;IAoDvC;;;;;OAKG;IACI,SAAS;IAKhB,wDAAwD;IACjD,OAAO;YAKA,gBAAgB;IAgE9B;;;;;OAKG;YACW,iBAAiB;YAwFjB,YAAY;CAkF3B"}
1
+ {"version":3,"file":"sequencer-publisher.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher.ts"],"names":[],"mappings":"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"}
@@ -227,7 +227,9 @@ export class SequencerPublisher {
227
227
  'InvalidProposer',
228
228
  'InvalidArchive'
229
229
  ];
230
- return this.rollupContract.canProposeAtNextEthBlock(tipArchive.toBuffer(), msgSender.toString(), this.ethereumSlotDuration, opts).catch((err)=>{
230
+ return this.rollupContract.canProposeAtNextEthBlock(tipArchive.toBuffer(), msgSender.toString(), this.ethereumSlotDuration, {
231
+ forcePendingCheckpointNumber: opts.forcePendingBlockNumber
232
+ }).catch((err)=>{
231
233
  if (err instanceof FormattedViemError && ignoredErrors.find((e)=>err.message.includes(e))) {
232
234
  this.log.warn(`Failed canProposeAtTime check with ${ignoredErrors.find((e)=>err.message.includes(e))}`, {
233
235
  error: err.message
@@ -258,7 +260,7 @@ export class SequencerPublisher {
258
260
  flags
259
261
  ];
260
262
  const ts = BigInt((await this.l1TxUtils.getBlock()).timestamp + this.ethereumSlotDuration);
261
- const stateOverrides = await this.rollupContract.makePendingBlockNumberOverride(opts?.forcePendingBlockNumber);
263
+ const stateOverrides = await this.rollupContract.makePendingCheckpointNumberOverride(opts?.forcePendingBlockNumber);
262
264
  let balance = 0n;
263
265
  if (this.config.fishermanMode) {
264
266
  // In fisherman mode, we can't know where the proposer is publishing from
@@ -297,7 +299,7 @@ export class SequencerPublisher {
297
299
  ...block,
298
300
  reason
299
301
  };
300
- const currentBlockNumber = await this.rollupContract.getBlockNumber();
302
+ const currentBlockNumber = await this.rollupContract.getCheckpointNumber();
301
303
  if (currentBlockNumber < validationResult.block.blockNumber) {
302
304
  this.log.verbose(`Skipping block ${blockNumber} invalidation since it has already been removed from the pending chain`, {
303
305
  currentBlockNumber,
@@ -334,7 +336,7 @@ export class SequencerPublisher {
334
336
  request,
335
337
  error: viemError.message
336
338
  });
337
- const latestPendingBlockNumber = await this.rollupContract.getBlockNumber();
339
+ const latestPendingBlockNumber = await this.rollupContract.getCheckpointNumber();
338
340
  if (latestPendingBlockNumber < blockNumber) {
339
341
  this.log.verbose(`Block number ${blockNumber} has already been invalidated`, {
340
342
  ...logData
@@ -640,7 +642,7 @@ export class SequencerPublisher {
640
642
  },
641
643
  lastValidL2Slot: this.getCurrentL2Slot() + 2n,
642
644
  checkSuccess: (_req, result)=>{
643
- const success = result && result.receipt && result.receipt.status === 'success' && tryExtractEvent(result.receipt.logs, this.rollupContract.address, RollupAbi, 'BlockInvalidated');
645
+ const success = result && result.receipt && result.receipt.status === 'success' && tryExtractEvent(result.receipt.logs, this.rollupContract.address, RollupAbi, 'CheckpointInvalidated');
644
646
  if (!success) {
645
647
  this.log.warn(`Invalidate block ${request.blockNumber} failed`, {
646
648
  ...result,
@@ -798,7 +800,7 @@ export class SequencerPublisher {
798
800
  args
799
801
  });
800
802
  // override the pending block number if requested
801
- const forcePendingBlockNumberStateDiff = (options.forcePendingBlockNumber !== undefined ? await this.rollupContract.makePendingBlockNumberOverride(options.forcePendingBlockNumber) : []).flatMap((override)=>override.stateDiff ?? []);
803
+ const forcePendingBlockNumberStateDiff = (options.forcePendingBlockNumber !== undefined ? await this.rollupContract.makePendingCheckpointNumberOverride(options.forcePendingBlockNumber) : []).flatMap((override)=>override.stateDiff ?? []);
802
804
  const stateOverrides = [
803
805
  {
804
806
  address: this.rollupContract.address,
@@ -884,7 +886,7 @@ export class SequencerPublisher {
884
886
  return false;
885
887
  }
886
888
  const { receipt, stats, errorMsg } = result;
887
- const success = receipt && receipt.status === 'success' && tryExtractEvent(receipt.logs, this.rollupContract.address, RollupAbi, 'L2BlockProposed');
889
+ const success = receipt && receipt.status === 'success' && tryExtractEvent(receipt.logs, this.rollupContract.address, RollupAbi, 'CheckpointProposed');
888
890
  if (success) {
889
891
  const endBlock = receipt.blockNumber;
890
892
  const inclusionBlocks = Number(endBlock - startBlock);
@@ -290,8 +290,8 @@ export { SequencerState };
290
290
  });
291
291
  this.metrics.recordBlockProposalPrecheckFailed('slot_mismatch');
292
292
  return;
293
- } else if (canProposeCheck.blockNumber !== BigInt(newBlockNumber)) {
294
- this.log.warn(`Cannot propose block due to block mismatch with rollup contract (this can be caused by a pending archiver sync). Expected block ${newBlockNumber} but got ${canProposeCheck.blockNumber}.`, {
293
+ } else if (canProposeCheck.checkpointNumber !== BigInt(newBlockNumber)) {
294
+ this.log.warn(`Cannot propose block due to block mismatch with rollup contract (this can be caused by a pending archiver sync). Expected block ${newBlockNumber} but got ${canProposeCheck.checkpointNumber}.`, {
295
295
  ...syncLogData,
296
296
  rollup: canProposeCheck,
297
297
  newBlockNumber,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/sequencer-client",
3
- "version": "3.0.0-nightly.20251124",
3
+ "version": "3.0.0-nightly.20251125",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -26,37 +26,37 @@
26
26
  "test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
27
27
  },
28
28
  "dependencies": {
29
- "@aztec/aztec.js": "3.0.0-nightly.20251124",
30
- "@aztec/bb-prover": "3.0.0-nightly.20251124",
31
- "@aztec/blob-lib": "3.0.0-nightly.20251124",
32
- "@aztec/blob-sink": "3.0.0-nightly.20251124",
33
- "@aztec/constants": "3.0.0-nightly.20251124",
34
- "@aztec/epoch-cache": "3.0.0-nightly.20251124",
35
- "@aztec/ethereum": "3.0.0-nightly.20251124",
36
- "@aztec/foundation": "3.0.0-nightly.20251124",
37
- "@aztec/l1-artifacts": "3.0.0-nightly.20251124",
38
- "@aztec/merkle-tree": "3.0.0-nightly.20251124",
39
- "@aztec/node-keystore": "3.0.0-nightly.20251124",
40
- "@aztec/noir-acvm_js": "3.0.0-nightly.20251124",
41
- "@aztec/noir-contracts.js": "3.0.0-nightly.20251124",
42
- "@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251124",
43
- "@aztec/noir-types": "3.0.0-nightly.20251124",
44
- "@aztec/p2p": "3.0.0-nightly.20251124",
45
- "@aztec/protocol-contracts": "3.0.0-nightly.20251124",
46
- "@aztec/prover-client": "3.0.0-nightly.20251124",
47
- "@aztec/simulator": "3.0.0-nightly.20251124",
48
- "@aztec/slasher": "3.0.0-nightly.20251124",
49
- "@aztec/stdlib": "3.0.0-nightly.20251124",
50
- "@aztec/telemetry-client": "3.0.0-nightly.20251124",
51
- "@aztec/validator-client": "3.0.0-nightly.20251124",
52
- "@aztec/world-state": "3.0.0-nightly.20251124",
29
+ "@aztec/aztec.js": "3.0.0-nightly.20251125",
30
+ "@aztec/bb-prover": "3.0.0-nightly.20251125",
31
+ "@aztec/blob-lib": "3.0.0-nightly.20251125",
32
+ "@aztec/blob-sink": "3.0.0-nightly.20251125",
33
+ "@aztec/constants": "3.0.0-nightly.20251125",
34
+ "@aztec/epoch-cache": "3.0.0-nightly.20251125",
35
+ "@aztec/ethereum": "3.0.0-nightly.20251125",
36
+ "@aztec/foundation": "3.0.0-nightly.20251125",
37
+ "@aztec/l1-artifacts": "3.0.0-nightly.20251125",
38
+ "@aztec/merkle-tree": "3.0.0-nightly.20251125",
39
+ "@aztec/node-keystore": "3.0.0-nightly.20251125",
40
+ "@aztec/noir-acvm_js": "3.0.0-nightly.20251125",
41
+ "@aztec/noir-contracts.js": "3.0.0-nightly.20251125",
42
+ "@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251125",
43
+ "@aztec/noir-types": "3.0.0-nightly.20251125",
44
+ "@aztec/p2p": "3.0.0-nightly.20251125",
45
+ "@aztec/protocol-contracts": "3.0.0-nightly.20251125",
46
+ "@aztec/prover-client": "3.0.0-nightly.20251125",
47
+ "@aztec/simulator": "3.0.0-nightly.20251125",
48
+ "@aztec/slasher": "3.0.0-nightly.20251125",
49
+ "@aztec/stdlib": "3.0.0-nightly.20251125",
50
+ "@aztec/telemetry-client": "3.0.0-nightly.20251125",
51
+ "@aztec/validator-client": "3.0.0-nightly.20251125",
52
+ "@aztec/world-state": "3.0.0-nightly.20251125",
53
53
  "lodash.chunk": "^4.2.0",
54
54
  "tslib": "^2.4.0",
55
55
  "viem": "npm:@spalladino/viem@2.38.2-eip7594.0"
56
56
  },
57
57
  "devDependencies": {
58
- "@aztec/archiver": "3.0.0-nightly.20251124",
59
- "@aztec/kv-store": "3.0.0-nightly.20251124",
58
+ "@aztec/archiver": "3.0.0-nightly.20251125",
59
+ "@aztec/kv-store": "3.0.0-nightly.20251125",
60
60
  "@jest/globals": "^30.0.0",
61
61
  "@types/jest": "^30.0.0",
62
62
  "@types/lodash.chunk": "^4.2.7",
@@ -55,7 +55,7 @@ export class GlobalVariableBuilder implements GlobalVariableBuilderInterface {
55
55
  // we need to fetch the last block written, and estimate the earliest timestamp for the next block.
56
56
  // The timestamp of that last block will act as a lower bound for the next block.
57
57
 
58
- const lastBlock = await this.rollupContract.getBlock(await this.rollupContract.getBlockNumber());
58
+ const lastBlock = await this.rollupContract.getCheckpoint(await this.rollupContract.getCheckpointNumber());
59
59
  const earliestTimestamp = await this.rollupContract.getTimestampForSlot(lastBlock.slotNumber + 1n);
60
60
  const nextEthTimestamp = BigInt((await this.publicClient.getBlock()).timestamp + BigInt(this.ethereumSlotDuration));
61
61
  const timestamp = earliestTimestamp > nextEthTimestamp ? earliestTimestamp : nextEthTimestamp;
@@ -344,7 +344,9 @@ export class SequencerPublisher {
344
344
  const ignoredErrors = ['SlotAlreadyInChain', 'InvalidProposer', 'InvalidArchive'];
345
345
 
346
346
  return this.rollupContract
347
- .canProposeAtNextEthBlock(tipArchive.toBuffer(), msgSender.toString(), this.ethereumSlotDuration, opts)
347
+ .canProposeAtNextEthBlock(tipArchive.toBuffer(), msgSender.toString(), this.ethereumSlotDuration, {
348
+ forcePendingCheckpointNumber: opts.forcePendingBlockNumber,
349
+ })
348
350
  .catch(err => {
349
351
  if (err instanceof FormattedViemError && ignoredErrors.find(e => err.message.includes(e))) {
350
352
  this.log.warn(`Failed canProposeAtTime check with ${ignoredErrors.find(e => err.message.includes(e))}`, {
@@ -376,7 +378,7 @@ export class SequencerPublisher {
376
378
  ] as const;
377
379
 
378
380
  const ts = BigInt((await this.l1TxUtils.getBlock()).timestamp + this.ethereumSlotDuration);
379
- const stateOverrides = await this.rollupContract.makePendingBlockNumberOverride(opts?.forcePendingBlockNumber);
381
+ const stateOverrides = await this.rollupContract.makePendingCheckpointNumberOverride(opts?.forcePendingBlockNumber);
380
382
  let balance = 0n;
381
383
  if (this.config.fishermanMode) {
382
384
  // In fisherman mode, we can't know where the proposer is publishing from
@@ -417,7 +419,7 @@ export class SequencerPublisher {
417
419
  const blockNumber = block.blockNumber;
418
420
  const logData = { ...block, reason };
419
421
 
420
- const currentBlockNumber = await this.rollupContract.getBlockNumber();
422
+ const currentBlockNumber = await this.rollupContract.getCheckpointNumber();
421
423
  if (currentBlockNumber < validationResult.block.blockNumber) {
422
424
  this.log.verbose(
423
425
  `Skipping block ${blockNumber} invalidation since it has already been removed from the pending chain`,
@@ -444,7 +446,7 @@ export class SequencerPublisher {
444
446
  `Simulation for invalidate block ${blockNumber} failed due to block not being in pending chain`,
445
447
  { ...logData, request, error: viemError.message },
446
448
  );
447
- const latestPendingBlockNumber = await this.rollupContract.getBlockNumber();
449
+ const latestPendingBlockNumber = await this.rollupContract.getCheckpointNumber();
448
450
  if (latestPendingBlockNumber < blockNumber) {
449
451
  this.log.verbose(`Block number ${blockNumber} has already been invalidated`, { ...logData });
450
452
  return undefined;
@@ -856,7 +858,7 @@ export class SequencerPublisher {
856
858
  result &&
857
859
  result.receipt &&
858
860
  result.receipt.status === 'success' &&
859
- tryExtractEvent(result.receipt.logs, this.rollupContract.address, RollupAbi, 'BlockInvalidated');
861
+ tryExtractEvent(result.receipt.logs, this.rollupContract.address, RollupAbi, 'CheckpointInvalidated');
860
862
  if (!success) {
861
863
  this.log.warn(`Invalidate block ${request.blockNumber} failed`, { ...result, ...logData });
862
864
  } else {
@@ -1033,7 +1035,7 @@ export class SequencerPublisher {
1033
1035
  // override the pending block number if requested
1034
1036
  const forcePendingBlockNumberStateDiff = (
1035
1037
  options.forcePendingBlockNumber !== undefined
1036
- ? await this.rollupContract.makePendingBlockNumberOverride(options.forcePendingBlockNumber)
1038
+ ? await this.rollupContract.makePendingCheckpointNumberOverride(options.forcePendingBlockNumber)
1037
1039
  : []
1038
1040
  ).flatMap(override => override.stateDiff ?? []);
1039
1041
 
@@ -1140,7 +1142,7 @@ export class SequencerPublisher {
1140
1142
  const success =
1141
1143
  receipt &&
1142
1144
  receipt.status === 'success' &&
1143
- tryExtractEvent(receipt.logs, this.rollupContract.address, RollupAbi, 'L2BlockProposed');
1145
+ tryExtractEvent(receipt.logs, this.rollupContract.address, RollupAbi, 'CheckpointProposed');
1144
1146
  if (success) {
1145
1147
  const endBlock = receipt.blockNumber;
1146
1148
  const inclusionBlocks = Number(endBlock - startBlock);
@@ -376,9 +376,9 @@ export class Sequencer extends (EventEmitter as new () => TypedEventEmitter<Sequ
376
376
  this.emit('proposer-rollup-check-failed', { reason: 'Slot mismatch' });
377
377
  this.metrics.recordBlockProposalPrecheckFailed('slot_mismatch');
378
378
  return;
379
- } else if (canProposeCheck.blockNumber !== BigInt(newBlockNumber)) {
379
+ } else if (canProposeCheck.checkpointNumber !== BigInt(newBlockNumber)) {
380
380
  this.log.warn(
381
- `Cannot propose block due to block mismatch with rollup contract (this can be caused by a pending archiver sync). Expected block ${newBlockNumber} but got ${canProposeCheck.blockNumber}.`,
381
+ `Cannot propose block due to block mismatch with rollup contract (this can be caused by a pending archiver sync). Expected block ${newBlockNumber} but got ${canProposeCheck.checkpointNumber}.`,
382
382
  { ...syncLogData, rollup: canProposeCheck, newBlockNumber, expectedSlot: slot },
383
383
  );
384
384
  this.emit('proposer-rollup-check-failed', { reason: 'Block mismatch' });