Add predeploys of Rollup factory contracts #170
Draft
+1,176
−80
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.
This PR adds instructions to predeploy the RollupCreator factory contracts through the genesis.json file. Creating all templates and the factory contract usually involves sending multiple transactions which slows down the starting process for the testnode environment. Predeploying these contracts should speed up the initialization process.
This PR only adds the factory contracts and doesn't modify the current initialization flow, since the pinned nitro-contracts version uses Create2 to deploy the factory contracts. Since these contracts are already deployed, the script only fetches the relevant contracts from the chain.
If in the future, contracts are deployed to different addresses (because the code is modified), the new predeploys file can be obtained by running the script added in this PR: OffchainLabs/nitro-contracts#403
Here are further improvement points, in case we want to continue down this path: