Skip to content
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

fix: Sequencer timetable accounts for spare time #11221

Merged
merged 4 commits into from
Jan 15, 2025
Merged

Conversation

spalladino
Copy link
Collaborator

@spalladino spalladino commented Jan 14, 2025

Extracts sequencer timetable into its own class.

Fixes #11203

The current timetable approach does account for that extra time, but the issue is that exclusively assigned to the proposer. This can lead to asymmetries between sequencer and validator processing time. For example, let's assume a timetable on a 24s L2 slot with something like:

Init: 4s
Block building: 8s
Propagation: 10s
Block validation reexec: 14s
Propagate back: 16s
Submit: 20s

Let's say that the block starts early, and init ends up taking less than 4s. So when the sequencer starts building the block, it's 2s into the slot. The deadline for block building will still be at 8s, so the sequencer will allocate 6s (instead of 4) for building the block. But validators will still be expected to reexec in 4s, which could lead to failed attestations.

Extracts sequencer timetable into its own class.

Fixes #11203
Copy link
Contributor

github-actions bot commented Jan 14, 2025

Changes to circuit sizes

Generated at commit: 647f5f64105e89eab08691b3b543357e4b895ddb, compared to commit: 4712870d53788f63b89550981b6cdd960178b706

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
private_kernel_inner +854 ❌ +3.01% +853 ❌ +1.18%
parity_base +180 ❌ +5.09% +180 ❌ +0.60%
private_kernel_reset_32_4_32_4_4_4_4_64_32 +502 ❌ +1.75% +501 ❌ +0.49%
private_kernel_reset_32_4_32_4_4_4_4_64_4 +474 ❌ +1.80% +473 ❌ +0.48%
private_kernel_reset_32_4_32_4_4_4_64_64_32 +562 ❌ +1.82% +561 ❌ +0.47%
private_kernel_tail_to_public +179 ❌ +1.44% +179 ❌ +0.47%
private_kernel_reset_32_4_32_4_4_4_64_64_4 +534 ❌ +1.87% +533 ❌ +0.47%
private_kernel_reset_32_4_32_4_4_4_4_4_32 +442 ❌ +1.63% +441 ❌ +0.45%
private_kernel_reset_32_4_32_4_4_4_4_4_4 +414 ❌ +1.68% +413 ❌ +0.45%
private_kernel_reset_32_4_32_4_4_4_64_4_32 +502 ❌ +1.71% +501 ❌ +0.44%
private_kernel_reset_32_4_32_4_4_4_64_4_4 +474 ❌ +1.76% +473 ❌ +0.44%
private_kernel_reset_4_4_4_4_4_4_4_4_4 +358 ❌ +1.53% +357 ❌ +0.39%
private_kernel_reset_0_0_64_0_0_0_0_0_0 +126 ❌ +1.12% +125 ❌ +0.36%
private_kernel_reset_64_0_0_0_0_0_0_0_0 +126 ❌ +1.12% +125 ❌ +0.36%
private_kernel_reset_32_16_32_4_4_4_64_64_32 +574 ❌ +1.69% +573 ❌ +0.36%
private_kernel_reset_32_16_32_4_4_4_4_64_32 +514 ❌ +1.62% +513 ❌ +0.35%
private_kernel_reset_32_4_32_16_4_4_64_64_32 +574 ❌ +1.68% +573 ❌ +0.35%
private_kernel_reset_32_16_32_4_4_4_64_64_4 +546 ❌ +1.73% +545 ❌ +0.35%
private_kernel_reset_32_4_32_16_4_4_4_64_32 +514 ❌ +1.61% +513 ❌ +0.35%
private_kernel_reset_32_16_32_4_4_4_4_64_4 +486 ❌ +1.66% +485 ❌ +0.35%
private_kernel_reset_32_4_32_16_4_4_64_64_4 +546 ❌ +1.72% +545 ❌ +0.34%
private_kernel_reset_32_4_32_16_4_4_4_64_4 +486 ❌ +1.64% +485 ❌ +0.34%
private_kernel_reset_32_16_32_4_4_4_64_4_32 +514 ❌ +1.59% +513 ❌ +0.33%
private_kernel_reset_32_4_32_16_4_4_64_4_32 +514 ❌ +1.58% +513 ❌ +0.33%
private_kernel_reset_32_16_32_4_4_4_4_4_32 +454 ❌ +1.51% +453 ❌ +0.33%
private_kernel_reset_32_16_32_4_4_4_64_4_4 +486 ❌ +1.62% +485 ❌ +0.32%
private_kernel_reset_32_4_32_16_4_4_4_4_32 +454 ❌ +1.49% +453 ❌ +0.32%
private_kernel_reset_32_4_32_16_4_4_64_4_4 +486 ❌ +1.61% +485 ❌ +0.32%
private_kernel_reset_32_16_32_4_4_4_4_4_4 +426 ❌ +1.53% +425 ❌ +0.32%
private_kernel_reset_32_4_32_16_4_4_4_4_4 +426 ❌ +1.52% +425 ❌ +0.31%
private_kernel_reset_32_16_32_16_4_4_64_64_32 +586 ❌ +1.58% +585 ❌ +0.29%
private_kernel_reset_32_16_32_16_4_4_64_64_4 +558 ❌ +1.60% +557 ❌ +0.28%
private_kernel_reset_32_16_32_16_4_4_4_64_32 +526 ❌ +1.50% +525 ❌ +0.28%
private_kernel_reset_32_16_32_16_4_4_4_64_4 +498 ❌ +1.53% +497 ❌ +0.27%
private_kernel_reset_32_16_32_16_4_4_64_4_32 +526 ❌ +1.48% +525 ❌ +0.26%
private_kernel_reset_32_16_32_16_4_4_64_4_4 +498 ❌ +1.50% +497 ❌ +0.26%
private_kernel_reset_32_16_32_16_4_4_4_4_32 +466 ❌ +1.39% +465 ❌ +0.25%
private_kernel_reset_32_16_32_16_4_4_4_4_4 +438 ❌ +1.41% +437 ❌ +0.25%
private_kernel_reset_16_16_16_16_16_16_16_16_16 +478 ❌ +1.43% +477 ❌ +0.24%
private_kernel_reset_0_0_0_0_64_0_0_0_0 +190 ❌ +1.41% +189 ❌ +0.20%
private_kernel_reset_32_32_32_32_32_32_32_32_32 +638 ❌ +1.36% +637 ❌ +0.19%
private_kernel_reset +926 ❌ +1.30% +926 ❌ +0.15%
rollup_block_root_single_tx +4,110 ❌ +0.87% +4,110 ❌ +0.13%
private_kernel_reset_0_0_0_0_0_64_0_0_0 +62 ❌ +0.33% +61 ❌ +0.13%
rollup_base_private +2,029 ❌ +1.49% +2,040 ❌ +0.12%
rollup_block_root +4,172 ❌ +0.88% +4,172 ❌ +0.10%
rollup_base_public +2,517 ❌ +0.69% +2,528 ❌ +0.08%
private_kernel_tail +16 ❌ +0.36% +17 ❌ +0.06%
private_kernel_reset_0_64_0_0_0_0_0_0_0 +126 ❌ +0.48% +126 ❌ +0.05%
private_kernel_reset_0_0_0_64_0_0_0_0_0 +126 ❌ +0.46% +126 ❌ +0.05%
rollup_block_merge +149 ❌ +0.48% +149 ❌ +0.01%
parity_root +180 ❌ +4.22% +180 ❌ +0.01%
rollup_merge +63 ❌ +3.49% +63 ❌ +0.00%
rollup_root +149 ❌ +0.48% +149 ❌ +0.00%
private_kernel_init -485 ✅ -2.60% -428 ✅ -1.07%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
private_kernel_inner 29,224 (+854) +3.01% 73,089 (+853) +1.18%
parity_base 3,713 (+180) +5.09% 30,108 (+180) +0.60%
private_kernel_reset_32_4_32_4_4_4_4_64_32 29,154 (+502) +1.75% 103,595 (+501) +0.49%
private_kernel_reset_32_4_32_4_4_4_4_64_4 26,737 (+474) +1.80% 98,985 (+473) +0.48%
private_kernel_reset_32_4_32_4_4_4_64_64_32 31,432 (+562) +1.82% 119,388 (+561) +0.47%
private_kernel_tail_to_public 12,626 (+179) +1.44% 38,123 (+179) +0.47%
private_kernel_reset_32_4_32_4_4_4_64_64_4 29,015 (+534) +1.87% 114,779 (+533) +0.47%
private_kernel_reset_32_4_32_4_4_4_4_4_32 27,537 (+442) +1.63% 97,449 (+441) +0.45%
private_kernel_reset_32_4_32_4_4_4_4_4_4 25,120 (+414) +1.68% 92,839 (+413) +0.45%
private_kernel_reset_32_4_32_4_4_4_64_4_32 29,815 (+502) +1.71% 113,243 (+501) +0.44%
private_kernel_reset_32_4_32_4_4_4_64_4_4 27,398 (+474) +1.76% 108,633 (+473) +0.44%
private_kernel_reset_4_4_4_4_4_4_4_4_4 23,720 (+358) +1.53% 91,089 (+357) +0.39%
private_kernel_reset_0_0_64_0_0_0_0_0_0 11,374 (+126) +1.12% 34,663 (+125) +0.36%
private_kernel_reset_64_0_0_0_0_0_0_0_0 11,374 (+126) +1.12% 34,663 (+125) +0.36%
private_kernel_reset_32_16_32_4_4_4_64_64_32 34,492 (+574) +1.69% 161,181 (+573) +0.36%
private_kernel_reset_32_16_32_4_4_4_4_64_32 32,214 (+514) +1.62% 145,388 (+513) +0.35%
private_kernel_reset_32_4_32_16_4_4_64_64_32 34,728 (+574) +1.68% 163,310 (+573) +0.35%
private_kernel_reset_32_16_32_4_4_4_64_64_4 32,075 (+546) +1.73% 156,572 (+545) +0.35%
private_kernel_reset_32_4_32_16_4_4_4_64_32 32,450 (+514) +1.61% 147,517 (+513) +0.35%
private_kernel_reset_32_16_32_4_4_4_4_64_4 29,797 (+486) +1.66% 140,778 (+485) +0.35%
private_kernel_reset_32_4_32_16_4_4_64_64_4 32,311 (+546) +1.72% 158,701 (+545) +0.34%
private_kernel_reset_32_4_32_16_4_4_4_64_4 30,033 (+486) +1.64% 142,907 (+485) +0.34%
private_kernel_reset_32_16_32_4_4_4_64_4_32 32,875 (+514) +1.59% 155,036 (+513) +0.33%
private_kernel_reset_32_4_32_16_4_4_64_4_32 33,111 (+514) +1.58% 157,165 (+513) +0.33%
private_kernel_reset_32_16_32_4_4_4_4_4_32 30,597 (+454) +1.51% 139,242 (+453) +0.33%
private_kernel_reset_32_16_32_4_4_4_64_4_4 30,458 (+486) +1.62% 150,426 (+485) +0.32%
private_kernel_reset_32_4_32_16_4_4_4_4_32 30,833 (+454) +1.49% 141,371 (+453) +0.32%
private_kernel_reset_32_4_32_16_4_4_64_4_4 30,694 (+486) +1.61% 152,555 (+485) +0.32%
private_kernel_reset_32_16_32_4_4_4_4_4_4 28,180 (+426) +1.53% 134,632 (+425) +0.32%
private_kernel_reset_32_4_32_16_4_4_4_4_4 28,416 (+426) +1.52% 136,761 (+425) +0.31%
private_kernel_reset_32_16_32_16_4_4_64_64_32 37,788 (+586) +1.58% 205,103 (+585) +0.29%
private_kernel_reset_32_16_32_16_4_4_64_64_4 35,371 (+558) +1.60% 200,494 (+557) +0.28%
private_kernel_reset_32_16_32_16_4_4_4_64_32 35,510 (+526) +1.50% 189,310 (+525) +0.28%
private_kernel_reset_32_16_32_16_4_4_4_64_4 33,093 (+498) +1.53% 184,700 (+497) +0.27%
private_kernel_reset_32_16_32_16_4_4_64_4_32 36,171 (+526) +1.48% 198,958 (+525) +0.26%
private_kernel_reset_32_16_32_16_4_4_64_4_4 33,754 (+498) +1.50% 194,348 (+497) +0.26%
private_kernel_reset_32_16_32_16_4_4_4_4_32 33,893 (+466) +1.39% 183,164 (+465) +0.25%
private_kernel_reset_32_16_32_16_4_4_4_4_4 31,476 (+438) +1.41% 178,554 (+437) +0.25%
private_kernel_reset_16_16_16_16_16_16_16_16_16 33,976 (+478) +1.43% 196,346 (+477) +0.24%
private_kernel_reset_0_0_0_0_64_0_0_0_0 13,667 (+190) +1.41% 94,698 (+189) +0.20%
private_kernel_reset_32_32_32_32_32_32_32_32_32 47,641 (+638) +1.36% 336,681 (+637) +0.19%
private_kernel_reset 72,232 (+926) +1.30% 612,754 (+926) +0.15%
rollup_block_root_single_tx 475,921 (+4,110) +0.87% 3,132,762 (+4,110) +0.13%
private_kernel_reset_0_0_0_0_0_64_0_0_0 18,644 (+62) +0.33% 48,052 (+61) +0.13%
rollup_base_private 138,590 (+2,029) +1.49% 1,772,615 (+2,040) +0.12%
rollup_block_root 477,479 (+4,172) +0.88% 4,062,878 (+4,172) +0.10%
rollup_base_public 366,997 (+2,517) +0.69% 3,236,019 (+2,528) +0.08%
private_kernel_tail 4,416 (+16) +0.36% 26,424 (+17) +0.06%
private_kernel_reset_0_64_0_0_0_0_0_0_0 26,222 (+126) +0.48% 256,277 (+126) +0.05%
private_kernel_reset_0_0_0_64_0_0_0_0_0 27,568 (+126) +0.46% 267,847 (+126) +0.05%
rollup_block_merge 30,979 (+149) +0.48% 1,954,617 (+149) +0.01%
parity_root 4,446 (+180) +4.22% 3,488,031 (+180) +0.01%
rollup_merge 1,866 (+63) +3.49% 1,800,422 (+63) +0.00%
rollup_root 30,963 (+149) +0.48% 14,593,616 (+149) +0.00%
private_kernel_init 18,196 (-485) -2.60% 39,420 (-428) -1.07%

// We are N seconds into the slot. We need to account for `afterBlockReexecTimeNeeded` seconds.
const maxAllowed = this.aztecSlotDuration - this.afterBlockReexecTimeNeeded;
const available = maxAllowed - secondsIntoSlot;
const validationTimeEnd = secondsIntoSlot + available / 2;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this split? Is it not simply maxAllowed?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because I got it wrong. Good catch.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0f46b48

public getValidatorReexecTimeEnd(secondsIntoSlot: number): number {
// We are N seconds into the slot. We need to account for `afterBlockReexecTimeNeeded` seconds.
const maxAllowed = this.aztecSlotDuration - this.afterBlockReexecTimeNeeded;
const available = maxAllowed - secondsIntoSlot;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Am I missing something? Is this still not just maxAllowed.

Like isn't the maths here just saying -

50 - 10 = 40
10 + 40 = 50

Copy link
Collaborator Author

@spalladino spalladino Jan 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, you're right. I just pushed 8272977 to simplify it. Result is the same.

@PhilWindle PhilWindle merged commit f1b9211 into master Jan 15, 2025
51 checks passed
@PhilWindle PhilWindle deleted the palla/fix-timetable branch January 15, 2025 18:19
rahul-kothari pushed a commit that referenced this pull request Jan 17, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.71.0</summary>

##
[0.71.0](aztec-package-v0.70.0...aztec-package-v0.71.0)
(2025-01-17)


### Features

* Track block building helpers
([#11190](#11190))
([a749dc1](a749dc1)),
closes
[#11184](#11184)
</details>

<details><summary>barretenberg.js: 0.71.0</summary>

##
[0.71.0](barretenberg.js-v0.70.0...barretenberg.js-v0.71.0)
(2025-01-17)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.71.0</summary>

##
[0.71.0](aztec-packages-v0.70.0...aztec-packages-v0.71.0)
(2025-01-17)


### ⚠ BREAKING CHANGES

* `loop` statements (only frontend)
(noir-lang/noir#7092)
* Include kind in `StructDefinition::generics` and fix derivation of Eq
in structs with numeric generics
(noir-lang/noir#7076)
* Attestation collection times out based on sequencer timetable
([#11248](#11248))

### Features

* `loop` statements (only frontend)
(noir-lang/noir#7092)
([a964cd0](a964cd0))
* Add `ConstrainNotEqual` instruction
(noir-lang/noir#7032)
([a964cd0](a964cd0))
* Archive public testnet tx data
([#11192](#11192))
([66f2014](66f2014))
* Backup proof failures to google cloud storage
([#11255](#11255))
([b4775fd](b4775fd)),
closes
[#11062](#11062)
* **docs:** Algolia-&gt;typesense
([#11034](#11034))
([d254f49](d254f49))
* Improve PXE contract DB capabilities
([#11303](#11303))
([fab5570](fab5570))
* **LSP:** Auto-import trait reexport if trait is not visible
(noir-lang/noir#7079)
([a964cd0](a964cd0))
* Process note logs in aztec-nr
([#10651](#10651))
([708139d](708139d))
* Reenable constrained config for roots
([#10605](#10605))
([a6ebc2e](a6ebc2e))
* **spartan:** Add extra accounts
([#11300](#11300))
([7782836](7782836))
* **ssa:** Treat globals as constant in a function's DFG
(noir-lang/noir#7040)
([a964cd0](a964cd0))
* Track block building helpers
([#11190](#11190))
([a749dc1](a749dc1)),
closes
[#11184](#11184)


### Bug Fixes

* Allow implicit associated types on integer type kinds
(noir-lang/noir#7078)
([a964cd0](a964cd0))
* Do not remove memory blocks used as brillig input
(noir-lang/noir#7073)
([a964cd0](a964cd0))
* Ensure 'docker info' works before preceding
([#11286](#11286))
([0b0e81a](0b0e81a))
* Fail in proxy deployment should fail the step
([#11308](#11308))
([b780d75](b780d75))
* Faster polling times for archiver and sequencer
([#11262](#11262))
([d70511e](d70511e))
* Https://github.com/AztecProtocol/aztec-packages/issues/8939
([66f2014](66f2014))
* Idempotent deploy-l1-contracts with initial validators
([#11284](#11284))
([3a3f9c0](3a3f9c0)),
closes
[#11283](#11283)
* Include kind in `StructDefinition::generics` and fix derivation of Eq
in structs with numeric generics
(noir-lang/noir#7076)
([a964cd0](a964cd0))
* Legacy runner start
([#11291](#11291))
([0b2a619](0b2a619))
* Reallocate commitment key to avoid pippenger error
([#11249](#11249))
([8fc2011](8fc2011))
* References to a3 in docs
([#11256](#11256))
([caf88fa](caf88fa))
* Remove bb path override in cli-wallet
([#11280](#11280))
([a6a226e](a6a226e))
* Resolve misc bugs handling phases in avm witgen
([#11218](#11218))
([29bc4bd](29bc4bd))
* Sequencer timetable accounts for spare time
([#11221](#11221))
([f1b9211](f1b9211))
* Validator ignores block limits during reexec
([#11288](#11288))
([920a521](920a521))


### Miscellaneous

* Add circuit input checks to bootstrap.sh
([#11261](#11261))
([a718b15](a718b15))
* Add regression test for
[#6530](#6530)
(noir-lang/noir#7089)
([a964cd0](a964cd0))
* Add test for isuee
[#7090](#7090)
(noir-lang/noir#7091)
([a964cd0](a964cd0))
* Allow passing custom conditions to inlining pass
(noir-lang/noir#7083)
([a964cd0](a964cd0))
* Attestation collection times out based on sequencer timetable
([#11248](#11248))
([946a418](946a418))
* **avm:** Calldata, returndata slices out of range padded with zeros
([#11265](#11265))
([a469c94](a469c94)),
closes
[#10933](#10933)
* Delete external-ci-approved.yml
([#11258](#11258))
([642bce6](642bce6))
* Demote error closing forks to warn
([#11263](#11263))
([a5b7a6a](a5b7a6a))
* Do not make new instruction if it hasn't changed
(noir-lang/noir#7069)
([a964cd0](a964cd0))
* Ensure devnet has unproven config
([#11302](#11302))
([085f782](085f782))
* Fixing `[@safety](https://github.com/safety)` warnings
([#11094](#11094))
([5de24e0](5de24e0))
* Log correlation in traces in google cloud
([#11276](#11276))
([fbcc8ef](fbcc8ef)),
closes
[#11019](#11019)
[#10937](#10937)
* Mark `noir-edwards` as expected to compile
(noir-lang/noir#7085)
([a964cd0](a964cd0))
* Move shared pcs functionality to internal library in solidity and
small refactorings in sumcheck
([#11230](#11230))
([507ae9d](507ae9d))
* Reduce the number of provers in rc-1
([#11296](#11296))
([92e40ff](92e40ff))
* Remove references to padding txs
([#11264](#11264))
([32408f6](32408f6))
* Remove warnings from types and rollup lib crates
([#11269](#11269))
([9f389a7](9f389a7))
* Replace relative paths to noir-protocol-circuits
([8ece166](8ece166))
* Replace relative paths to noir-protocol-circuits
([be42305](be42305))
* Retry deploys
([#11252](#11252))
([23cfbb4](23cfbb4))
* Set failed proof store for spartan deployments
([#11282](#11282))
([f787a52](f787a52))
* Silence "Updated proven chain" log
([#11250](#11250))
([44bd79b](44bd79b))
* Silence circuit return values in CI
([#11259](#11259))
([db3d860](db3d860))
* Stable masternet images
([#11289](#11289))
([07fabe8](07fabe8))
</details>

<details><summary>barretenberg: 0.71.0</summary>

##
[0.71.0](barretenberg-v0.70.0...barretenberg-v0.71.0)
(2025-01-17)


### Bug Fixes

* Reallocate commitment key to avoid pippenger error
([#11249](#11249))
([8fc2011](8fc2011))
* Resolve misc bugs handling phases in avm witgen
([#11218](#11218))
([29bc4bd](29bc4bd))


### Miscellaneous

* **avm:** Calldata, returndata slices out of range padded with zeros
([#11265](#11265))
([a469c94](a469c94)),
closes
[#10933](#10933)
* Move shared pcs functionality to internal library in solidity and
small refactorings in sumcheck
([#11230](#11230))
([507ae9d](507ae9d))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Jan 18, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.71.0</summary>

##
[0.71.0](AztecProtocol/aztec-packages@aztec-package-v0.70.0...aztec-package-v0.71.0)
(2025-01-17)


### Features

* Track block building helpers
([#11190](AztecProtocol/aztec-packages#11190))
([a749dc1](AztecProtocol/aztec-packages@a749dc1)),
closes
[#11184](AztecProtocol/aztec-packages#11184)
</details>

<details><summary>barretenberg.js: 0.71.0</summary>

##
[0.71.0](AztecProtocol/aztec-packages@barretenberg.js-v0.70.0...barretenberg.js-v0.71.0)
(2025-01-17)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.71.0</summary>

##
[0.71.0](AztecProtocol/aztec-packages@aztec-packages-v0.70.0...aztec-packages-v0.71.0)
(2025-01-17)


### ⚠ BREAKING CHANGES

* `loop` statements (only frontend)
(noir-lang/noir#7092)
* Include kind in `StructDefinition::generics` and fix derivation of Eq
in structs with numeric generics
(noir-lang/noir#7076)
* Attestation collection times out based on sequencer timetable
([#11248](AztecProtocol/aztec-packages#11248))

### Features

* `loop` statements (only frontend)
(noir-lang/noir#7092)
([a964cd0](AztecProtocol/aztec-packages@a964cd0))
* Add `ConstrainNotEqual` instruction
(noir-lang/noir#7032)
([a964cd0](AztecProtocol/aztec-packages@a964cd0))
* Archive public testnet tx data
([#11192](AztecProtocol/aztec-packages#11192))
([66f2014](AztecProtocol/aztec-packages@66f2014))
* Backup proof failures to google cloud storage
([#11255](AztecProtocol/aztec-packages#11255))
([b4775fd](AztecProtocol/aztec-packages@b4775fd)),
closes
[#11062](AztecProtocol/aztec-packages#11062)
* **docs:** Algolia-&gt;typesense
([#11034](AztecProtocol/aztec-packages#11034))
([d254f49](AztecProtocol/aztec-packages@d254f49))
* Improve PXE contract DB capabilities
([#11303](AztecProtocol/aztec-packages#11303))
([fab5570](AztecProtocol/aztec-packages@fab5570))
* **LSP:** Auto-import trait reexport if trait is not visible
(noir-lang/noir#7079)
([a964cd0](AztecProtocol/aztec-packages@a964cd0))
* Process note logs in aztec-nr
([#10651](AztecProtocol/aztec-packages#10651))
([708139d](AztecProtocol/aztec-packages@708139d))
* Reenable constrained config for roots
([#10605](AztecProtocol/aztec-packages#10605))
([a6ebc2e](AztecProtocol/aztec-packages@a6ebc2e))
* **spartan:** Add extra accounts
([#11300](AztecProtocol/aztec-packages#11300))
([7782836](AztecProtocol/aztec-packages@7782836))
* **ssa:** Treat globals as constant in a function's DFG
(noir-lang/noir#7040)
([a964cd0](AztecProtocol/aztec-packages@a964cd0))
* Track block building helpers
([#11190](AztecProtocol/aztec-packages#11190))
([a749dc1](AztecProtocol/aztec-packages@a749dc1)),
closes
[#11184](AztecProtocol/aztec-packages#11184)


### Bug Fixes

* Allow implicit associated types on integer type kinds
(noir-lang/noir#7078)
([a964cd0](AztecProtocol/aztec-packages@a964cd0))
* Do not remove memory blocks used as brillig input
(noir-lang/noir#7073)
([a964cd0](AztecProtocol/aztec-packages@a964cd0))
* Ensure 'docker info' works before preceding
([#11286](AztecProtocol/aztec-packages#11286))
([0b0e81a](AztecProtocol/aztec-packages@0b0e81a))
* Fail in proxy deployment should fail the step
([#11308](AztecProtocol/aztec-packages#11308))
([b780d75](AztecProtocol/aztec-packages@b780d75))
* Faster polling times for archiver and sequencer
([#11262](AztecProtocol/aztec-packages#11262))
([d70511e](AztecProtocol/aztec-packages@d70511e))
* Https://github.com/AztecProtocol/aztec-packages/issues/8939
([66f2014](AztecProtocol/aztec-packages@66f2014))
* Idempotent deploy-l1-contracts with initial validators
([#11284](AztecProtocol/aztec-packages#11284))
([3a3f9c0](AztecProtocol/aztec-packages@3a3f9c0)),
closes
[#11283](AztecProtocol/aztec-packages#11283)
* Include kind in `StructDefinition::generics` and fix derivation of Eq
in structs with numeric generics
(noir-lang/noir#7076)
([a964cd0](AztecProtocol/aztec-packages@a964cd0))
* Legacy runner start
([#11291](AztecProtocol/aztec-packages#11291))
([0b2a619](AztecProtocol/aztec-packages@0b2a619))
* Reallocate commitment key to avoid pippenger error
([#11249](AztecProtocol/aztec-packages#11249))
([8fc2011](AztecProtocol/aztec-packages@8fc2011))
* References to a3 in docs
([#11256](AztecProtocol/aztec-packages#11256))
([caf88fa](AztecProtocol/aztec-packages@caf88fa))
* Remove bb path override in cli-wallet
([#11280](AztecProtocol/aztec-packages#11280))
([a6a226e](AztecProtocol/aztec-packages@a6a226e))
* Resolve misc bugs handling phases in avm witgen
([#11218](AztecProtocol/aztec-packages#11218))
([29bc4bd](AztecProtocol/aztec-packages@29bc4bd))
* Sequencer timetable accounts for spare time
([#11221](AztecProtocol/aztec-packages#11221))
([f1b9211](AztecProtocol/aztec-packages@f1b9211))
* Validator ignores block limits during reexec
([#11288](AztecProtocol/aztec-packages#11288))
([920a521](AztecProtocol/aztec-packages@920a521))


### Miscellaneous

* Add circuit input checks to bootstrap.sh
([#11261](AztecProtocol/aztec-packages#11261))
([a718b15](AztecProtocol/aztec-packages@a718b15))
* Add regression test for
[#6530](AztecProtocol/aztec-packages#6530)
(noir-lang/noir#7089)
([a964cd0](AztecProtocol/aztec-packages@a964cd0))
* Add test for isuee
[#7090](AztecProtocol/aztec-packages#7090)
(noir-lang/noir#7091)
([a964cd0](AztecProtocol/aztec-packages@a964cd0))
* Allow passing custom conditions to inlining pass
(noir-lang/noir#7083)
([a964cd0](AztecProtocol/aztec-packages@a964cd0))
* Attestation collection times out based on sequencer timetable
([#11248](AztecProtocol/aztec-packages#11248))
([946a418](AztecProtocol/aztec-packages@946a418))
* **avm:** Calldata, returndata slices out of range padded with zeros
([#11265](AztecProtocol/aztec-packages#11265))
([a469c94](AztecProtocol/aztec-packages@a469c94)),
closes
[#10933](AztecProtocol/aztec-packages#10933)
* Delete external-ci-approved.yml
([#11258](AztecProtocol/aztec-packages#11258))
([642bce6](AztecProtocol/aztec-packages@642bce6))
* Demote error closing forks to warn
([#11263](AztecProtocol/aztec-packages#11263))
([a5b7a6a](AztecProtocol/aztec-packages@a5b7a6a))
* Do not make new instruction if it hasn't changed
(noir-lang/noir#7069)
([a964cd0](AztecProtocol/aztec-packages@a964cd0))
* Ensure devnet has unproven config
([#11302](AztecProtocol/aztec-packages#11302))
([085f782](AztecProtocol/aztec-packages@085f782))
* Fixing `[@safety](https://github.com/safety)` warnings
([#11094](AztecProtocol/aztec-packages#11094))
([5de24e0](AztecProtocol/aztec-packages@5de24e0))
* Log correlation in traces in google cloud
([#11276](AztecProtocol/aztec-packages#11276))
([fbcc8ef](AztecProtocol/aztec-packages@fbcc8ef)),
closes
[#11019](AztecProtocol/aztec-packages#11019)
[#10937](AztecProtocol/aztec-packages#10937)
* Mark `noir-edwards` as expected to compile
(noir-lang/noir#7085)
([a964cd0](AztecProtocol/aztec-packages@a964cd0))
* Move shared pcs functionality to internal library in solidity and
small refactorings in sumcheck
([#11230](AztecProtocol/aztec-packages#11230))
([507ae9d](AztecProtocol/aztec-packages@507ae9d))
* Reduce the number of provers in rc-1
([#11296](AztecProtocol/aztec-packages#11296))
([92e40ff](AztecProtocol/aztec-packages@92e40ff))
* Remove references to padding txs
([#11264](AztecProtocol/aztec-packages#11264))
([32408f6](AztecProtocol/aztec-packages@32408f6))
* Remove warnings from types and rollup lib crates
([#11269](AztecProtocol/aztec-packages#11269))
([9f389a7](AztecProtocol/aztec-packages@9f389a7))
* Replace relative paths to noir-protocol-circuits
([8ece166](AztecProtocol/aztec-packages@8ece166))
* Replace relative paths to noir-protocol-circuits
([be42305](AztecProtocol/aztec-packages@be42305))
* Retry deploys
([#11252](AztecProtocol/aztec-packages#11252))
([23cfbb4](AztecProtocol/aztec-packages@23cfbb4))
* Set failed proof store for spartan deployments
([#11282](AztecProtocol/aztec-packages#11282))
([f787a52](AztecProtocol/aztec-packages@f787a52))
* Silence "Updated proven chain" log
([#11250](AztecProtocol/aztec-packages#11250))
([44bd79b](AztecProtocol/aztec-packages@44bd79b))
* Silence circuit return values in CI
([#11259](AztecProtocol/aztec-packages#11259))
([db3d860](AztecProtocol/aztec-packages@db3d860))
* Stable masternet images
([#11289](AztecProtocol/aztec-packages#11289))
([07fabe8](AztecProtocol/aztec-packages@07fabe8))
</details>

<details><summary>barretenberg: 0.71.0</summary>

##
[0.71.0](AztecProtocol/aztec-packages@barretenberg-v0.70.0...barretenberg-v0.71.0)
(2025-01-17)


### Bug Fixes

* Reallocate commitment key to avoid pippenger error
([#11249](AztecProtocol/aztec-packages#11249))
([8fc2011](AztecProtocol/aztec-packages@8fc2011))
* Resolve misc bugs handling phases in avm witgen
([#11218](AztecProtocol/aztec-packages#11218))
([29bc4bd](AztecProtocol/aztec-packages@29bc4bd))


### Miscellaneous

* **avm:** Calldata, returndata slices out of range padded with zeros
([#11265](AztecProtocol/aztec-packages#11265))
([a469c94](AztecProtocol/aztec-packages@a469c94)),
closes
[#10933](AztecProtocol/aztec-packages#10933)
* Move shared pcs functionality to internal library in solidity and
small refactorings in sumcheck
([#11230](AztecProtocol/aztec-packages#11230))
([507ae9d](AztecProtocol/aztec-packages@507ae9d))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

fix: Sequencer timetable does not account for early starts
2 participants