-
Notifications
You must be signed in to change notification settings - Fork 387
Draft: Adapting contracts for zksync os v30 #1626
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
Draft: Adapting contracts for zksync os v30 #1626
Conversation
/// In practice we might want to set it to CTM owner (which in production will be less restritive). | ||
return | ||
abi.encode( | ||
addresses.stateTransition.verifierFflonk, |
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.
this is not directly related to this line, but we need to select which Verifier to deploy based on whether we use zksync os
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.
Do you mean due to different VKs being used?
But there are no changes required in scripts, right? The verifiers which are to be deployed will be based on the repo where we're running the script in, no?
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.
Discussed.
TLDR:
We want to have one branch for both Era and ZKsync OS. For that we must have both Era and ZKsync OS verifiers in repo, with respective VKs. Depending on flag whether we're deploying Era or ZKsync OS we'll be deploying their verifier.
What ❔
This PR makes L2 contracts compatible with ZKsync OS design.
Basically, it means mostly two things
Effectively we split many contracts into L1 and L2 versions, where L2 version doesn't have constructor (instead, it has an
initL2
function), and has no immutables.Why ❔
Checklist