Skip to content
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

Code Jar Deployments #173

Merged
merged 3 commits into from
Mar 13, 2024
Merged

Code Jar Deployments #173

merged 3 commits into from
Mar 13, 2024

Conversation

hayesgm
Copy link
Contributor

@hayesgm hayesgm commented Mar 2, 2024

This patch switches our core Factory to be CodeJarFactory that deploys CodeJar deterministically via scripts/deploy-code-jar.sh. After that, you're expected to pass in CODE_JAR to the deployment script which now depends on using that same Code Jar for deployments.

The key benefit here is that we can re-use that same CodeJar access multiple network deployments. In fact, if we get a consistent CodeJar address on all chains (e.g. via running the deployment script on all standard EVM chains), then we can use whatever key to deploy any new Quark Factory contracts and they will always end up at the same address on all chains. This should make multi-chain deployments a breeze!

Plus, everything should be verifiable, etc, on Etherscan now, too.

This patch switches our core Factory to be `CodeJarFactory` that deploys `CodeJar` deterministically via `scripts/deploy-code-jar.sh`. After that, you're expected to pass in `CODE_JAR` to the deployment script which now depends on using that same Code Jar for deployments.

The key benefit here is that we can re-use that same CodeJar access multiple network deployments. In fact, if we get a consistent CodeJar address on all chains (e.g. via running the deployment script on all standard EVM chains), then we can use whatever key to deploy any new Quark Factory contracts and they will always end up at the same address on all chains. This should make multi-chain deployments a breeze!

Plus, everything _should_ be verifiable, etc, on Etherscan now, too.
@hayesgm hayesgm force-pushed the hayesgm/codejar-deploys branch from ef0a8e7 to 9f84a97 Compare March 2, 2024 06:05
Copy link
Collaborator

@kevincheng96 kevincheng96 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Woot! LGTM

If you have the chance, would be great to update the Deploy section of the README as well with the new flow.

src/codejar/src/CodeJarFactory.sol Outdated Show resolved Hide resolved
Copy link
Collaborator

@kevincheng96 kevincheng96 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for enhancing the README 👍

@hayesgm hayesgm merged commit b92d04c into main Mar 13, 2024
4 checks passed
@hayesgm hayesgm deleted the hayesgm/codejar-deploys branch March 13, 2024 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants