-
Notifications
You must be signed in to change notification settings - Fork 577
feat: merge-train/avm #16991
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: merge-train/avm #16991
Conversation
ludamad
left a comment
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.
🤖 Auto-approved
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
With 16 cores for the avm trace (2^21), the time goes from ca. 80 ms to 37 ms. For a trace of size 2^24, timing goes from 600 ms to 280ms. Relevant issue [#864](AztecProtocol/barretenberg#864)
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
PR changes the approach for handling protocol contracts in the AVM. Introduces a `ProtocolContractSetInterface` that manages the static (per rollup deployment) set of protocol contract's derived addresses. The current implementation of this set is as an indexed merkle tree - although hopefully we are able to migrate to a simpler (non-indexed tree) structure. When retrieving the derived address for a protocol contract, we also produce a merkle membership path that is checked against the L1 public contracts tree root (currently unconstrained). This will eventually be included in the public inputs of the AVM. There is a new corresponding subtrace for the protocol contracts derived address retrieval The map of canonical address to derived address is hinted via TS as part of `AvmExecutionHints`
BEGIN_COMMIT_OVERRIDE
chore(avm): always print bulk bench metrics
chore: betas optimization - 2^d multiplications (#16963)
docs: Add migration notes for gas costs (#16925)
feat(avm)!: protocol contracts (#16949)
END_COMMIT_OVERRIDE