-
Notifications
You must be signed in to change notification settings - Fork 435
feat: multichain deploy scripts #1487
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
Open
ypatil12
wants to merge
17
commits into
release-dev/multichain
Choose a base branch
from
feat/deploy-scripts
base: release-dev/multichain
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ac34269
to
ebd2c17
Compare
0edefd1
to
833d2d0
Compare
8c6266f
to
421b314
Compare
**Motivation:** *Explain here the context, and why you're making that change. What is the problem you're trying to solve.* **Modifications:** *Describe the modifications you've done.* **Result:** *After your change, what will change.*
833d2d0
to
2a52045
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation:
We need deploy scripts for multichain
Modifications:
Adds a
crossChainDeployLib
from: #1474. This library usescreateX
for deterministic deployments. In order to keep the same address on alldestinationChains
, we deploy contracts from the same multisig on each chain.To distinguish between a source and destination chain we add a
SOURCE_CHAIN: bool
andDESTINATION_CHAIN: bool
to the Zeus Config. We skip parts of the deploy if a chain is not a source or destination.Deploys the contracts in 4 steps
deploySourceChain.s.sol
: DeploysKeyRegistrar
,ReleaseManager
,CrossChainRegistry
.deployDestinationChainProxies.s.sol
: Deploys empty proxy contracts forOperatorTableUpdater
,BN254CertificateVerifier
,ECDSACertificateVerifier
. Note: in order to have deterministic proxies, we need to ensure theinitCode
is the same. Thus, the implementation is the sameemptyContract
and the proxyAdmin is initially themultichainDeployerMultisig
.deployDestinationChainImpls
: Deploys implementations using EOAinstantiateDestinationChainProxies
: Upgrades the proxies to the actual implementations. Transfer proxy admin to the actualproxyAdmin
Result:
Deploy scripts