Conversation
| } | ||
|
|
||
| // NOTE! | ||
| // We deviate from the cpp implementation. |
There was a problem hiding this comment.
Noting this: for the small optimisation gain, the cpp code was almost unreadable. It makes sense to do it the non-optimal way first and then optimize
| calculate_subtree(commitment_tree_leaves) | ||
| } | ||
|
|
||
| fn check_nullifier_tree_non_membership_and_insert_to_tree(self) -> AppendOnlyTreeSnapshot { |
There was a problem hiding this comment.
This is the main method that is left to implement, ideally we pull out that logic into a separate module named "indexed_merkle_tree" so it can be tested properly but probably okay to do what the cpp code is doing
Benchmark resultsMetrics with a significant change:
Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. Values are compared against data from master at commit L2 block published to L1Each column represents the number of txs on an L2 block published to L1.
L2 chain processingEach column represents the number of blocks on the L2 chain where each block has 16 txs.
Circuits statsStats on running time and I/O sizes collected for every circuit run across all benchmarks.
MiscellaneousTransaction sizes based on how many contracts are deployed in the tx.
|
|
superceded by #3257 |
Adds the base rollup circuit into Noir
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.