Merged
Conversation
e2a75a4 to
7e0ff04
Compare
7e0ff04 to
3411e8a
Compare
spypsy
reviewed
Jun 6, 2025
| // Double check we are good for proposing at the next block before we start operations. | ||
| // We should never fail this check assuming the logic above is good. | ||
| const proposerAddress = proposerInNextSlot ?? EthAddress.ZERO; | ||
| const slotAndBlock = await this.publisher.canProposeAtNextEthBlock(chainTipArchive.toBuffer(), proposerAddress); |
Member
There was a problem hiding this comment.
will this fail when no committee? 🤔
Member
There was a problem hiding this comment.
nvm, checked the L1 contract and it returns 0 address 👍
spypsy
reviewed
Jun 6, 2025
| @@ -623,7 +666,7 @@ export class Sequencer { | |||
| * We don't check against the previous block submitted since it may have been reorg'd out. | |||
| * @returns Boolean indicating if our dependencies are synced to the latest block. | |||
Contributor
Author
There was a problem hiding this comment.
Good catch! Will sneak in the change along with another PR.
spypsy
approved these changes
Jun 6, 2025
alexghr
reviewed
Jun 6, 2025
Comment on lines
+274
to
+276
| this.log.warn(`Failed canProposeAtTime check with ${ignoredErrors.find(e => err.message.includes(e))}`, { | ||
| error: err.message, | ||
| }); |
Contributor
There was a problem hiding this comment.
Isn't this warning going to be potentially printed every run of the sequencer work loop?
Contributor
Author
There was a problem hiding this comment.
This now only gets called after all the "manual" checks in the sequencer, so it gets printed only if the sequencer has done all checks locally for building a block and they pass, but the rollup contract disagrees.
danielntmd
pushed a commit
to danielntmd/aztec-packages
that referenced
this pull request
Jul 16, 2025
Fixes multiple `Rollup__InvalidArchive` errors that were popping up on tests since AztecProtocol#13700. Example from [this run](http://ci.aztec-labs.com/c82b760acf321da6): ``` 09:42:54 [09:42:54.569] VERBOSE: sequencer Unable to build/enqueue block Rollup__InvalidArchive(0x2fdc940e38cff0a9fd112204b3ad9b7e75c3efaf9495dd7aeaecbcc8d2bba20f, 0x18674a63a7dd5a173cff9633512b7e5bd6b5536ea0b7c96929dcc68473c31e45) ``` The cause for this was the removal of the `canProposeAtNextEthBlock` check [here](https://github.com/AztecProtocol/aztec-packages/pull/13700/files#diff-1c2150b6e6b122e3a184b1132b8d6946e4e27fefe53381035810638fabcebe9cL384). This call to the rollup contract was removed since we were now manually checking the proposer using the epoch cache (which is a good thing!), but we lost the check for the latest archive root. This meant that, if the sequencer started building _before_ the archiver was caught up to the previous block, it would build off an older chain tip, and only get rejected during block publishing. Note that in an actual setting, it should actually fail to collect attestations, since the proposal should be deemed invalid by validators due to a wrong parent, but most of our e2e tests don't have a committee. This PR makes the sequencer check that the archiver has synched to the previous L1 block before proceeding. Note that L1 missed slots would cause issues here, but we can address that when we get to #[14766](AztecProtocol#14766). In addition, this PR restores the early call to `canProposeAtNextEthBlock` to be on the safe side before we start building.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes multiple
Rollup__InvalidArchiveerrors that were popping up on tests since #13700.Example from this run:
The cause for this was the removal of the
canProposeAtNextEthBlockcheck here. This call to the rollup contract was removed since we were now manually checking the proposer using the epoch cache (which is a good thing!), but we lost the check for the latest archive root.This meant that, if the sequencer started building before the archiver was caught up to the previous block, it would build off an older chain tip, and only get rejected during block publishing. Note that in an actual setting, it should actually fail to collect attestations, since the proposal should be deemed invalid by validators due to a wrong parent, but most of our e2e tests don't have a committee.
This PR makes the sequencer check that the archiver has synched to the previous L1 block before proceeding. Note that L1 missed slots would cause issues here, but we can address that when we get to #14766. In addition, this PR restores the early call to
canProposeAtNextEthBlockto be on the safe side before we start building.