-
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
chore: make public data update requests, note hashes, and unencrypted logs readonly in TS #6658
chore: make public data update requests, note hashes, and unencrypted logs readonly in TS #6658
Conversation
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. Proof generationEach column represents the number of threads used in proof generation.
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 kernel circuit run across all benchmarks.
Stats on running time collected for app circuits
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contract classes are registered in the tx.
Transaction size based on fee payment method | Metric | | |
0ec371d
to
36f0823
Compare
188641c
to
666259c
Compare
666259c
to
6380883
Compare
6380883
to
f779eda
Compare
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
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.
LGTM
@@ -138,7 +138,6 @@ export class AvmPersistableStateManager { | |||
* @param value - the value being written to the slot | |||
*/ | |||
public writeStorage(storageAddress: Fr, slot: Fr, value: Fr) { | |||
this.log.debug(`Storage write (address=${storageAddress}, slot=${slot}): value=${value}`); |
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.
👀
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.
Mistake. Will add back.
@@ -273,7 +273,7 @@ impl BaseRollupInputs { | |||
); | |||
|
|||
let new_value = compute_public_data_tree_value(existing_update.new_value - tx_fee); | |||
let protocol_update_request = PublicDataUpdateRequest { leaf_slot, new_value }; | |||
let protocol_update_request = PublicDataUpdateRequest { leaf_slot, new_value, counter: 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.
It's probably worth a comment in the code, but by the time we're in the base rollup, we don't care about the counters, which is why we arbitrarily set it to 0.
@@ -548,23 +548,32 @@ mod tests { | |||
} | |||
|
|||
#[test] | |||
unconstrained fn correctly_updates_revert_code() { | |||
unconstrained fn correctly_updates_revert_code_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 needed to split this into multiple tests because I was getting a panic on "stack too deep".
@@ -292,13 +300,52 @@ mod tests { | |||
let mut previous_kernel = self.previous_kernel.to_public_kernel_data(false); | |||
previous_kernel.public_inputs.end = self.previous_revertible.to_public_accumulated_data(); | |||
|
|||
// Note: note hashes are a bit odd here: whereas we'd like to use `combined` and then |
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.
Oops. Dead comment. I will remove in the next PR.
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.
🚀
* master: feat: prepare circuit output for validation (#6678) chore: stop building/publishing `acvm_backend.wasm` (#6584) chore: add bench programs (#6566) chore: make public data update requests, note hashes, and unencrypted logs readonly in TS (#6658) 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 feat: update honk recursion constraint (#6545) feat: Add code-workspace and update build dirs (#6723) feat: Sync from noir (#6717) feat: folding acir programs (#6685) feat: sumcheck part of ECCVM recursive verifier instantiated as an UltraCircuit (#6413)
Continue making fields in TS readonly.
We do so by forcing side effect counters to be set in public, and then waiting until public kernel tail to: