-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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: Fixes to the boojum integration PR #415
Conversation
let pubdata = pubdata_information.build_pubdata(); | ||
|
||
assert!( | ||
pubdata.len() / 32 <= OPERATOR_PROVIDED_L1_MESSENGER_PUBDATA_SLOTS - 2, |
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.
nit: this assert is a little bit incorrect - if pubdata.len is not divisible by 32.
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 is enforced by build_pubdata
that it is divisible by 32
core/lib/multivm/src/interface/types/outputs/execution_state.rs
Outdated
Show resolved
Hide resolved
@@ -49,6 +47,7 @@ impl<S: WriteStorage, H: HistoryMode> Vm<S, H> { | |||
tracers, | |||
self.storage.clone(), | |||
refund_tracers, | |||
Some(PubdataTracer::new(self.batch_env.clone(), execution_mode)), |
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.
why do we need some if it's always enabled?
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 am thinking that maybe custom implementations might not need it
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.
what is the custom implementation?
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.
For instance, the bootloader tester written by @mm-zk: https://github.com/matter-labs/era-system-contracts/tree/main/bootloader/test_infra
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 don't think that @mm-zk 's tooling would be broken if the pubdata tracer is always put there, though still I thought that our general approach is to preserve choices for the users of the VM
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.
ok... just less checks is a bit better performance wise :)
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 don't have strong opinions here (as long as this tracer doesn't prevent test bootloader from running)
Detected VM performance changes
|
What ❔
Fixes comments by @Deniallugo and @mm-zk
Why ❔
Checklist
zk fmt
andzk lint
.