-
Notifications
You must be signed in to change notification settings - Fork 270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Handle reorgs on sequencer #9201
Conversation
// Await (sequencer should wait here, not us) | ||
await sleep(5000); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should be able to drop this and the test should still pass
|
||
const canPrune = | ||
localPendingBlockNumber > provenBlockNumber && | ||
(await this.rollup.read.canPrune({ blockNumber: currentL1BlockNumber })); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You will be running into the same issue as much of the other simulation, that the timestamp for this is in the past.
Essentially, you figure out that you can prune but only after the fact. In reality, you already know that it will be pruned when the next block land, so you should probably do the same as those others. @just-mitch ran into a similar issue with the proving claims. #9193
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed #9308
3f2bca8
to
786efb4
Compare
@@ -58,12 +58,12 @@ export class L2BlockStream { | |||
}); | |||
|
|||
// Check if there was a reorg and emit a chain-pruned event if so. | |||
let latestBlockNumber = localTips.latest; | |||
let latestBlockNumber = localTips.latest.number; | |||
while (!(await this.areBlockHashesEqual(latestBlockNumber, sourceTips.latest))) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not an issue introduced in this PR. But does this block stream assume that if a re-org happens then the local latest block number will be > source latest? Could we have a situation where a re-org occurs and then there is a new pending chain that is ahead of the local latest block number?
This loop looks like it would just keep going back to block 0, but maybe I am not reading it right,.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah this definitely looks possible to me.
If we get part way through epoch 0, then shut off the node, then the chain reorgs to genesis, but builds ahead a ways, then when we start the node back up, I think this will re-org to zero.
I filed #9314
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That should not be the case. areBlockHashesEqual
tests whether local and source agree on the block hash at a given height (the first param) and accepts a "cache" of data already requested from source to avoid re-requesting it.
I can see how the function naming and signature (with both args at the same "level") make it easy to misunderstand though. I've pushed this PR to make it clearer: #9481.
Changes to public function bytecode sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
const blockNumber = this.getSyncedLatestBlockNum(); | ||
const blockHash = | ||
blockNumber == 0 | ||
? '' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel this should be undefined
@@ -213,6 +213,9 @@ export class L1Publisher { | |||
* @return blockNumber - The L2 block number of the next L2 block | |||
*/ | |||
public async canProposeAtNextEthBlock(archive: Buffer): Promise<[bigint, bigint]> { | |||
// FIXME: This should not throw if unable to propose but return a falsey value, so |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed #9315
// check that world state has caught up with archiver | ||
// note that the archiver reports undefined hash for the genesis block | ||
// because it doesn't have access to world state to compute it (facepalm) | ||
(l2BlockSource.hash === undefined || worldState.hash === l2BlockSource.hash) && | ||
// and p2p client and message source are at least at the same block | ||
// this should change to hashes once p2p client handles reorgs | ||
// and once we stop pretending that the l1tol2message source is not | ||
// just the archiver under a different name | ||
p2p >= l2BlockSource.number && | ||
l1ToL2MessageSource >= l2BlockSource.number; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed #9316
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed follow-on issues for a few things, though not the ones marked TODO(palla/reorg)
.
Merging so we can get confidence in the core mechanism ASAP.
* master: (26 commits) chore: silence cache-download.sh (#9317) feat: apella (#9084) feat: gerousia (#8942) fix: use github.actor on publish workflow dispatch (#9324) chore: Copying world state binary to yarn project is on generate (#9194) feat: modify private calldata to use public keys (#9276) chore: test 4epochs in native-network (#9309) git subrepo push --branch=master noir-projects/aztec-nr git_subrepo.sh: Fix parent in .gitrepo file. [skip ci] chore: replace relative paths to noir-protocol-circuits git subrepo push --branch=master barretenberg fix: ci github clone edge case (#9320) feat: Handle reorgs on sequencer (#9201) chore(avm): some cleaning in avm prover (#9311) fix: barretenberg readme scare warning (#9313) feat: Constrain protocol VK hashing (#9304) chore(master): Release 0.59.0 (#9281) fix: publish readme on bb.js NPM package (#9303) chore: re-enable test fixed by Native World State (#9289) fix(docs): Dapp tutorial edits (#8695) ...
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.60.0</summary> ## [0.60.0](aztec-package-v0.59.0...aztec-package-v0.60.0) (2024-10-24) ### Features * Introduce default public keys and replace empty public keys ([#9277](#9277)) ([47718ea](47718ea)) * Sequencer cast votes ([#9247](#9247)) ([bd05d87](bd05d87)) </details> <details><summary>barretenberg.js: 0.60.0</summary> ## [0.60.0](barretenberg.js-v0.59.0...barretenberg.js-v0.60.0) (2024-10-24) ### Features * Eccvm translator zk sumcheck ([#9199](#9199)) ([c7d4572](c7d4572)) ### Miscellaneous * Remove noir_js_backend_barretenberg ([#9338](#9338)) ([cefe3d9](cefe3d9)) </details> <details><summary>aztec-packages: 0.60.0</summary> ## [0.60.0](aztec-packages-v0.59.0...aztec-packages-v0.60.0) (2024-10-24) ### ⚠ BREAKING CHANGES * replace usage of vector in keccakf1600 input with array ([#9350](#9350)) * TXE single execution env ([#9183](#9183)) * remove hash opcodes from AVM ([#9209](#9209)) * remove delegate call and storage address ([#9330](#9330)) ### Features * Apella ([#9084](#9084)) ([205ce69](205ce69)) * **avm:** Full poseidon2 ([#9141](#9141)) ([eae7587](eae7587)) * Bytes to fields and back ([#8590](#8590)) ([65b8493](65b8493)) * Constrain protocol VK hashing ([#9304](#9304)) ([3d17e13](3d17e13)) * **docs:** Nits ([#8948](#8948)) ([008fdd1](008fdd1)) * Eccvm translator zk sumcheck ([#9199](#9199)) ([c7d4572](c7d4572)) * Gerousia ([#8942](#8942)) ([54b5ba2](54b5ba2)) * Get logs by tags ([#9353](#9353)) ([719c33e](719c33e)) * Handle reorgs on sequencer ([#9201](#9201)) ([d4dea16](d4dea16)) * **interpreter:** Comptime derive generators (noir-lang/noir#6303) ([a166203](a166203)) * Introduce default public keys and replace empty public keys ([#9277](#9277)) ([47718ea](47718ea)) * Modify private calldata to use public keys ([#9276](#9276)) ([e42e219](e42e219)) * New formatter (noir-lang/noir#6300) ([a166203](a166203)) * **nr:** Serde for signed ints ([#9211](#9211)) ([66f31c7](66f31c7)) * Publicly accessible bootstrap cache ([#9335](#9335)) ([28392d5](28392d5)) * Remove hash opcodes from AVM ([#9209](#9209)) ([e6db535](e6db535)), closes [#9208](#9208) * Sequencer cast votes ([#9247](#9247)) ([bd05d87](bd05d87)) * Sha256 refactoring and benchmark with longer input (noir-lang/noir#6318) ([a166203](a166203)) * **ssa:** Various mem2reg reverts to reduce memory and compilation time (noir-lang/noir#6307) ([a166203](a166203)) * Sync from aztec-packages (noir-lang/noir#6301) ([a166203](a166203)) * Translator on Shplemini ([#9329](#9329)) ([21fa3cf](21fa3cf)) * TXE single execution env ([#9183](#9183)) ([1d1d76d](1d1d76d)) * Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) ([a166203](a166203)) ### Bug Fixes * 4epochs kind test et al ([#9358](#9358)) ([e480e6b](e480e6b)) * Allow array map on empty arrays (noir-lang/noir#6305) ([a166203](a166203)) * **avm:** Public dispatch in proving tests ([#9331](#9331)) ([42e5221](42e5221)) * Barretenberg readme scare warning ([#9313](#9313)) ([f759d55](f759d55)) * Broken constants gen ([#9387](#9387)) ([eb7bc6b](eb7bc6b)) * Ci github clone edge case ([#9320](#9320)) ([15abe6f](15abe6f)) * **ci:** Report 4 epochs true ([#9346](#9346)) ([1ce0fa5](1ce0fa5)) * Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) ([a166203](a166203)) * Do not warn on unused self in traits (noir-lang/noir#6298) ([a166203](a166203)) * Enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) ([a166203](a166203)) * Reject invalid expression with in CLI parser (noir-lang/noir#6287) ([a166203](a166203)) * Remove reliance on invalid decompositions in selector calculation ([#9337](#9337)) ([c8e4260](c8e4260)) * Support empty epochs ([#9341](#9341)) ([9dda91e](9dda91e)) * Use github.actor on publish workflow dispatch ([#9324](#9324)) ([5fa660d](5fa660d)) ### Miscellaneous * **avm:** Some cleaning in avm prover ([#9311](#9311)) ([523aa23](523aa23)) * Bump node types ([#9397](#9397)) ([763d5b1](763d5b1)) * Copying world state binary to yarn project is on generate ([#9194](#9194)) ([8d75dd4](8d75dd4)) * Disable bench-process-history ([#9360](#9360)) ([8e6734e](8e6734e)) * **docs:** Refactoring guides and some other nits (noir-lang/noir#6175) ([a166203](a166203)) * Fix and re-enable prover coordination e2e test ([#9344](#9344)) ([3a1a62c](3a1a62c)) * Implement Fq add ([#9354](#9354)) ([1711fac](1711fac)) * Minor test cleanup ([#9339](#9339)) ([a2ed567](a2ed567)) * Print out gas at start and end of each enqueued call ([#9377](#9377)) ([29c0b95](29c0b95)) * Quick account manager refactor ([#9357](#9357)) ([648d043](648d043)) * Quick keystore refactor ([#9355](#9355)) ([31b9999](31b9999)) * Redo typo PR by pucedoteth ([#9385](#9385)) ([fd1a0d1](fd1a0d1)) * Release Noir(0.36.0) (noir-lang/noir#6213) ([a166203](a166203)) * Remove dead function (noir-lang/noir#6308) ([a166203](a166203)) * Remove delegate call and storage address ([#9330](#9330)) ([465f88e](465f88e)) * Remove noir_js_backend_barretenberg ([#9338](#9338)) ([cefe3d9](cefe3d9)) * Remove unnecessary `is_integral_bit_size` function ([#9352](#9352)) ([ac8e6d7](ac8e6d7)) * Remove usage of slices in pedersen hash (noir-lang/noir#6295) ([a166203](a166203)) * Replace relative paths to noir-protocol-circuits ([32bd7b9](32bd7b9)) * Replace relative paths to noir-protocol-circuits ([add4605](add4605)) * Replace relative paths to noir-protocol-circuits ([8cb89af](8cb89af)) * Replace usage of vector in keccakf1600 input with array ([#9350](#9350)) ([cb58490](cb58490)) * Scenario for upgrading gerousia ([#9246](#9246)) ([66f59d6](66f59d6)) * Silence cache-download.sh ([#9317](#9317)) ([314d9d2](314d9d2)) * Test 4epochs in native-network ([#9309](#9309)) ([ddb312a](ddb312a)) * Unstake the bond when the proof lands ([#9363](#9363)) ([b25b913](b25b913)) * Update `noir-edwards` repo to point at `noir-lang` org (noir-lang/noir#6323) ([a166203](a166203)) * Updated NFT flows ([#9150](#9150)) ([407f8b4](407f8b4)) </details> <details><summary>barretenberg: 0.60.0</summary> ## [0.60.0](barretenberg-v0.59.0...barretenberg-v0.60.0) (2024-10-24) ### ⚠ BREAKING CHANGES * replace usage of vector in keccakf1600 input with array ([#9350](#9350)) * remove hash opcodes from AVM ([#9209](#9209)) * remove delegate call and storage address ([#9330](#9330)) ### Features * **avm:** Full poseidon2 ([#9141](#9141)) ([eae7587](eae7587)) * Eccvm translator zk sumcheck ([#9199](#9199)) ([c7d4572](c7d4572)) * Remove hash opcodes from AVM ([#9209](#9209)) ([e6db535](e6db535)), closes [#9208](#9208) * Translator on Shplemini ([#9329](#9329)) ([21fa3cf](21fa3cf)) ### Bug Fixes * **avm:** Public dispatch in proving tests ([#9331](#9331)) ([42e5221](42e5221)) * Barretenberg readme scare warning ([#9313](#9313)) ([f759d55](f759d55)) ### Miscellaneous * **avm:** Some cleaning in avm prover ([#9311](#9311)) ([523aa23](523aa23)) * Copying world state binary to yarn project is on generate ([#9194](#9194)) ([8d75dd4](8d75dd4)) * Remove delegate call and storage address ([#9330](#9330)) ([465f88e](465f88e)) * Remove noir_js_backend_barretenberg ([#9338](#9338)) ([cefe3d9](cefe3d9)) * Replace usage of vector in keccakf1600 input with array ([#9350](#9350)) ([cb58490](cb58490)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.60.0</summary> ## [0.60.0](AztecProtocol/aztec-packages@aztec-package-v0.59.0...aztec-package-v0.60.0) (2024-10-24) ### Features * Introduce default public keys and replace empty public keys ([#9277](AztecProtocol/aztec-packages#9277)) ([47718ea](AztecProtocol/aztec-packages@47718ea)) * Sequencer cast votes ([#9247](AztecProtocol/aztec-packages#9247)) ([bd05d87](AztecProtocol/aztec-packages@bd05d87)) </details> <details><summary>barretenberg.js: 0.60.0</summary> ## [0.60.0](AztecProtocol/aztec-packages@barretenberg.js-v0.59.0...barretenberg.js-v0.60.0) (2024-10-24) ### Features * Eccvm translator zk sumcheck ([#9199](AztecProtocol/aztec-packages#9199)) ([c7d4572](AztecProtocol/aztec-packages@c7d4572)) ### Miscellaneous * Remove noir_js_backend_barretenberg ([#9338](AztecProtocol/aztec-packages#9338)) ([cefe3d9](AztecProtocol/aztec-packages@cefe3d9)) </details> <details><summary>aztec-packages: 0.60.0</summary> ## [0.60.0](AztecProtocol/aztec-packages@aztec-packages-v0.59.0...aztec-packages-v0.60.0) (2024-10-24) ### ⚠ BREAKING CHANGES * replace usage of vector in keccakf1600 input with array ([#9350](AztecProtocol/aztec-packages#9350)) * TXE single execution env ([#9183](AztecProtocol/aztec-packages#9183)) * remove hash opcodes from AVM ([#9209](AztecProtocol/aztec-packages#9209)) * remove delegate call and storage address ([#9330](AztecProtocol/aztec-packages#9330)) ### Features * Apella ([#9084](AztecProtocol/aztec-packages#9084)) ([205ce69](AztecProtocol/aztec-packages@205ce69)) * **avm:** Full poseidon2 ([#9141](AztecProtocol/aztec-packages#9141)) ([eae7587](AztecProtocol/aztec-packages@eae7587)) * Bytes to fields and back ([#8590](AztecProtocol/aztec-packages#8590)) ([65b8493](AztecProtocol/aztec-packages@65b8493)) * Constrain protocol VK hashing ([#9304](AztecProtocol/aztec-packages#9304)) ([3d17e13](AztecProtocol/aztec-packages@3d17e13)) * **docs:** Nits ([#8948](AztecProtocol/aztec-packages#8948)) ([008fdd1](AztecProtocol/aztec-packages@008fdd1)) * Eccvm translator zk sumcheck ([#9199](AztecProtocol/aztec-packages#9199)) ([c7d4572](AztecProtocol/aztec-packages@c7d4572)) * Gerousia ([#8942](AztecProtocol/aztec-packages#8942)) ([54b5ba2](AztecProtocol/aztec-packages@54b5ba2)) * Get logs by tags ([#9353](AztecProtocol/aztec-packages#9353)) ([719c33e](AztecProtocol/aztec-packages@719c33e)) * Handle reorgs on sequencer ([#9201](AztecProtocol/aztec-packages#9201)) ([d4dea16](AztecProtocol/aztec-packages@d4dea16)) * **interpreter:** Comptime derive generators (noir-lang/noir#6303) ([a166203](AztecProtocol/aztec-packages@a166203)) * Introduce default public keys and replace empty public keys ([#9277](AztecProtocol/aztec-packages#9277)) ([47718ea](AztecProtocol/aztec-packages@47718ea)) * Modify private calldata to use public keys ([#9276](AztecProtocol/aztec-packages#9276)) ([e42e219](AztecProtocol/aztec-packages@e42e219)) * New formatter (noir-lang/noir#6300) ([a166203](AztecProtocol/aztec-packages@a166203)) * **nr:** Serde for signed ints ([#9211](AztecProtocol/aztec-packages#9211)) ([66f31c7](AztecProtocol/aztec-packages@66f31c7)) * Publicly accessible bootstrap cache ([#9335](AztecProtocol/aztec-packages#9335)) ([28392d5](AztecProtocol/aztec-packages@28392d5)) * Remove hash opcodes from AVM ([#9209](AztecProtocol/aztec-packages#9209)) ([e6db535](AztecProtocol/aztec-packages@e6db535)), closes [#9208](AztecProtocol/aztec-packages#9208) * Sequencer cast votes ([#9247](AztecProtocol/aztec-packages#9247)) ([bd05d87](AztecProtocol/aztec-packages@bd05d87)) * Sha256 refactoring and benchmark with longer input (noir-lang/noir#6318) ([a166203](AztecProtocol/aztec-packages@a166203)) * **ssa:** Various mem2reg reverts to reduce memory and compilation time (noir-lang/noir#6307) ([a166203](AztecProtocol/aztec-packages@a166203)) * Sync from aztec-packages (noir-lang/noir#6301) ([a166203](AztecProtocol/aztec-packages@a166203)) * Translator on Shplemini ([#9329](AztecProtocol/aztec-packages#9329)) ([21fa3cf](AztecProtocol/aztec-packages@21fa3cf)) * TXE single execution env ([#9183](AztecProtocol/aztec-packages#9183)) ([1d1d76d](AztecProtocol/aztec-packages@1d1d76d)) * Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) ([a166203](AztecProtocol/aztec-packages@a166203)) ### Bug Fixes * 4epochs kind test et al ([#9358](AztecProtocol/aztec-packages#9358)) ([e480e6b](AztecProtocol/aztec-packages@e480e6b)) * Allow array map on empty arrays (noir-lang/noir#6305) ([a166203](AztecProtocol/aztec-packages@a166203)) * **avm:** Public dispatch in proving tests ([#9331](AztecProtocol/aztec-packages#9331)) ([42e5221](AztecProtocol/aztec-packages@42e5221)) * Barretenberg readme scare warning ([#9313](AztecProtocol/aztec-packages#9313)) ([f759d55](AztecProtocol/aztec-packages@f759d55)) * Broken constants gen ([#9387](AztecProtocol/aztec-packages#9387)) ([eb7bc6b](AztecProtocol/aztec-packages@eb7bc6b)) * Ci github clone edge case ([#9320](AztecProtocol/aztec-packages#9320)) ([15abe6f](AztecProtocol/aztec-packages@15abe6f)) * **ci:** Report 4 epochs true ([#9346](AztecProtocol/aztec-packages#9346)) ([1ce0fa5](AztecProtocol/aztec-packages@1ce0fa5)) * Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) ([a166203](AztecProtocol/aztec-packages@a166203)) * Do not warn on unused self in traits (noir-lang/noir#6298) ([a166203](AztecProtocol/aztec-packages@a166203)) * Enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) ([a166203](AztecProtocol/aztec-packages@a166203)) * Reject invalid expression with in CLI parser (noir-lang/noir#6287) ([a166203](AztecProtocol/aztec-packages@a166203)) * Remove reliance on invalid decompositions in selector calculation ([#9337](AztecProtocol/aztec-packages#9337)) ([c8e4260](AztecProtocol/aztec-packages@c8e4260)) * Support empty epochs ([#9341](AztecProtocol/aztec-packages#9341)) ([9dda91e](AztecProtocol/aztec-packages@9dda91e)) * Use github.actor on publish workflow dispatch ([#9324](AztecProtocol/aztec-packages#9324)) ([5fa660d](AztecProtocol/aztec-packages@5fa660d)) ### Miscellaneous * **avm:** Some cleaning in avm prover ([#9311](AztecProtocol/aztec-packages#9311)) ([523aa23](AztecProtocol/aztec-packages@523aa23)) * Bump node types ([#9397](AztecProtocol/aztec-packages#9397)) ([763d5b1](AztecProtocol/aztec-packages@763d5b1)) * Copying world state binary to yarn project is on generate ([#9194](AztecProtocol/aztec-packages#9194)) ([8d75dd4](AztecProtocol/aztec-packages@8d75dd4)) * Disable bench-process-history ([#9360](AztecProtocol/aztec-packages#9360)) ([8e6734e](AztecProtocol/aztec-packages@8e6734e)) * **docs:** Refactoring guides and some other nits (noir-lang/noir#6175) ([a166203](AztecProtocol/aztec-packages@a166203)) * Fix and re-enable prover coordination e2e test ([#9344](AztecProtocol/aztec-packages#9344)) ([3a1a62c](AztecProtocol/aztec-packages@3a1a62c)) * Implement Fq add ([#9354](AztecProtocol/aztec-packages#9354)) ([1711fac](AztecProtocol/aztec-packages@1711fac)) * Minor test cleanup ([#9339](AztecProtocol/aztec-packages#9339)) ([a2ed567](AztecProtocol/aztec-packages@a2ed567)) * Print out gas at start and end of each enqueued call ([#9377](AztecProtocol/aztec-packages#9377)) ([29c0b95](AztecProtocol/aztec-packages@29c0b95)) * Quick account manager refactor ([#9357](AztecProtocol/aztec-packages#9357)) ([648d043](AztecProtocol/aztec-packages@648d043)) * Quick keystore refactor ([#9355](AztecProtocol/aztec-packages#9355)) ([31b9999](AztecProtocol/aztec-packages@31b9999)) * Redo typo PR by pucedoteth ([#9385](AztecProtocol/aztec-packages#9385)) ([fd1a0d1](AztecProtocol/aztec-packages@fd1a0d1)) * Release Noir(0.36.0) (noir-lang/noir#6213) ([a166203](AztecProtocol/aztec-packages@a166203)) * Remove dead function (noir-lang/noir#6308) ([a166203](AztecProtocol/aztec-packages@a166203)) * Remove delegate call and storage address ([#9330](AztecProtocol/aztec-packages#9330)) ([465f88e](AztecProtocol/aztec-packages@465f88e)) * Remove noir_js_backend_barretenberg ([#9338](AztecProtocol/aztec-packages#9338)) ([cefe3d9](AztecProtocol/aztec-packages@cefe3d9)) * Remove unnecessary `is_integral_bit_size` function ([#9352](AztecProtocol/aztec-packages#9352)) ([ac8e6d7](AztecProtocol/aztec-packages@ac8e6d7)) * Remove usage of slices in pedersen hash (noir-lang/noir#6295) ([a166203](AztecProtocol/aztec-packages@a166203)) * Replace relative paths to noir-protocol-circuits ([32bd7b9](AztecProtocol/aztec-packages@32bd7b9)) * Replace relative paths to noir-protocol-circuits ([add4605](AztecProtocol/aztec-packages@add4605)) * Replace relative paths to noir-protocol-circuits ([8cb89af](AztecProtocol/aztec-packages@8cb89af)) * Replace usage of vector in keccakf1600 input with array ([#9350](AztecProtocol/aztec-packages#9350)) ([cb58490](AztecProtocol/aztec-packages@cb58490)) * Scenario for upgrading gerousia ([#9246](AztecProtocol/aztec-packages#9246)) ([66f59d6](AztecProtocol/aztec-packages@66f59d6)) * Silence cache-download.sh ([#9317](AztecProtocol/aztec-packages#9317)) ([314d9d2](AztecProtocol/aztec-packages@314d9d2)) * Test 4epochs in native-network ([#9309](AztecProtocol/aztec-packages#9309)) ([ddb312a](AztecProtocol/aztec-packages@ddb312a)) * Unstake the bond when the proof lands ([#9363](AztecProtocol/aztec-packages#9363)) ([b25b913](AztecProtocol/aztec-packages@b25b913)) * Update `noir-edwards` repo to point at `noir-lang` org (noir-lang/noir#6323) ([a166203](AztecProtocol/aztec-packages@a166203)) * Updated NFT flows ([#9150](AztecProtocol/aztec-packages#9150)) ([407f8b4](AztecProtocol/aztec-packages@407f8b4)) </details> <details><summary>barretenberg: 0.60.0</summary> ## [0.60.0](AztecProtocol/aztec-packages@barretenberg-v0.59.0...barretenberg-v0.60.0) (2024-10-24) ### ⚠ BREAKING CHANGES * replace usage of vector in keccakf1600 input with array ([#9350](AztecProtocol/aztec-packages#9350)) * remove hash opcodes from AVM ([#9209](AztecProtocol/aztec-packages#9209)) * remove delegate call and storage address ([#9330](AztecProtocol/aztec-packages#9330)) ### Features * **avm:** Full poseidon2 ([#9141](AztecProtocol/aztec-packages#9141)) ([eae7587](AztecProtocol/aztec-packages@eae7587)) * Eccvm translator zk sumcheck ([#9199](AztecProtocol/aztec-packages#9199)) ([c7d4572](AztecProtocol/aztec-packages@c7d4572)) * Remove hash opcodes from AVM ([#9209](AztecProtocol/aztec-packages#9209)) ([e6db535](AztecProtocol/aztec-packages@e6db535)), closes [#9208](AztecProtocol/aztec-packages#9208) * Translator on Shplemini ([#9329](AztecProtocol/aztec-packages#9329)) ([21fa3cf](AztecProtocol/aztec-packages@21fa3cf)) ### Bug Fixes * **avm:** Public dispatch in proving tests ([#9331](AztecProtocol/aztec-packages#9331)) ([42e5221](AztecProtocol/aztec-packages@42e5221)) * Barretenberg readme scare warning ([#9313](AztecProtocol/aztec-packages#9313)) ([f759d55](AztecProtocol/aztec-packages@f759d55)) ### Miscellaneous * **avm:** Some cleaning in avm prover ([#9311](AztecProtocol/aztec-packages#9311)) ([523aa23](AztecProtocol/aztec-packages@523aa23)) * Copying world state binary to yarn project is on generate ([#9194](AztecProtocol/aztec-packages#9194)) ([8d75dd4](AztecProtocol/aztec-packages@8d75dd4)) * Remove delegate call and storage address ([#9330](AztecProtocol/aztec-packages#9330)) ([465f88e](AztecProtocol/aztec-packages@465f88e)) * Remove noir_js_backend_barretenberg ([#9338](AztecProtocol/aztec-packages#9338)) ([cefe3d9](AztecProtocol/aztec-packages@cefe3d9)) * Replace usage of vector in keccakf1600 input with array ([#9350](AztecProtocol/aztec-packages#9350)) ([cb58490](AztecProtocol/aztec-packages@cb58490)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Tweaks the archiver so it can detect when a prune will happen and can start unwinding blocks then. This is then leveraged by the sequencer, so it builds the next block accounting for a reorg to happen. This also required tweaks on the L1 rollup contract so validations and checks account for pruning.