-
Notifications
You must be signed in to change notification settings - Fork 268
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
feat(vc): re-execution before attestation #8958
Conversation
…timeouts_to_individual_reqresp_connections
Changes to public function bytecode sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
@@ -35,7 +35,7 @@ export class AvmExecutionEnvironment { | |||
functionSelector, | |||
this.contractCallDepth.add(Fr.ONE), | |||
this.transactionFee, | |||
this.header, | |||
this.historicalHeader, |
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 think this is supposed to be the current header and not the historical one. IIRC public will not have access to historical headers, since that would force nodes to be archivers.
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.
const historicalHeader = maybeHistoricalHeader ?? merkleTree.getInitialHeader(); |
I updated it based on the public processor factory - it instantiates the avm executor with a variable called historical header - should this be updated instead?
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.
superceeded by #9768 |
Overview
Validators currently perform blind attestations to transaction updates
This pr introduces the notion of a light public processor (really light block builder, we can change the name) which
For calls which currently run lots of kernels ( nested calls ) this currently yields an extremely large performance increase.
In the current test which has an enqueued + 4 nested calls and multiple state updates block building time goes from 2.2seconds to 400 ms ( granted the archive is not calculated )
Downsides:
part of : #8720
Issues created from this work