-
Notifications
You must be signed in to change notification settings - Fork 283
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: tree heights that last past 3 days #9760
Conversation
The L1-L2 message tree height was a bottleneck running ``` post-mortem of 1-validator network (bot set to 0.05 TPS, 1 private / 2 public transfers per tx) Lasted long, got to block 4091, last tried to propose block 4097 Hit issues and did not reorg past them Root issue (guess): 2024-11-05 08:32:53.148 Error assembling block: 'Error: Failed to append leaves: Tree is full' ``` Automated test is a bit awkward here or I'd write one. It'd either trivially pass or have to go through 3-days worth of transactions.
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
…' into ad/fix-tree-heights-crash-3-days
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.
The resultant bumps in avm gas are fine with me! Those opcodes trigger merkle checks, so I made them scale with tree heights. The scaling factors are somewhat arbitrary at the moment.
I don't know if someone else should review who has a better understanding of exactly what our tree height requirements are, but I'm happy to approve
The kind smoke test failure I think was fixed by #9790 Maybe changing all the constants at once was too ambitious? Maybe just start with the l1-l2 tree? I'm just concerned about the time needed to track down the places where the other values are hardcoded/assumed. |
I systematically went through the hardcoded ones now that had a comment above them with the formula and hopefully that's enough (there was 1, alerted to by the e2e-authwit test). If not I can redo this - but note a redo is a surprising amount of faff unless I'm doing it wrong |
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.
👍
The L1-L2 message tree height was a bottleneck running ``` post-mortem of 1-validator network (bot set to 0.05 TPS, 1 private / 2 public transfers per tx) Lasted long, got to block 4091, last tried to propose block 4097 Hit issues and did not reorg past them Root issue (guess): 2024-11-05 08:32:53.148 Error assembling block: 'Error: Failed to append leaves: Tree is full' ``` Also updated tree heights with constants proposed by @iAmMichaelConnor here (#9451) (thanks for the thoughtful analysis I could lazily steal! Automated test is a bit awkward here or I'd write one. It'd either trivially pass or have to go through 3-days worth of transactions.
* master: (182 commits) feat(avm): mem specific range check (#9828) refactor: remove public kernel inner (#9865) chore: Revert "chore: Validate RPC inputs" (#9875) Revert "fix: deploy l2 contracts fails on 48 validator" (#9871) fix: deploy l2 contracts fails on 48 validator (#9860) chore: Validate RPC inputs (#9672) fix: fixing devcontainers to use the sandbox docker-compose file (#9782) fix: Revert changes to ci.yml (#9863) chore: Move epoch and slot durations to config (#9861) 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: tree heights that last past 3 days (#9760) fix(build): l1-contracts .rebuild_patterns did not cover test files (#9862) fix: bench prover test (#9856) fix: Fix mac build by calling `count` on durations (#9855) feat: zk shplemini (#9830) feat: domain separate block proposals and attestations (#9842) chore: bump runner cache disk size (#9849) ...
The L1-L2 message tree height was a bottleneck running
Also updated tree heights with constants proposed by @iAmMichaelConnor here (#9451) (thanks for the thoughtful analysis I could lazily steal!
Automated test is a bit awkward here or I'd write one. It'd either trivially pass or have to go through 3-days worth of transactions.