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

feat: add contracts deployer #1318

Merged
merged 8 commits into from
Mar 25, 2025
Merged

feat: add contracts deployer #1318

merged 8 commits into from
Mar 25, 2025

Conversation

karlem
Copy link
Contributor

@karlem karlem commented Mar 17, 2025

Close #1316

This PR allows deploying contracts to the L1 parent network from IPC. This is the first version. Future PRs should address the following:

  1. Update the IPC config with the deployed gateway and subnet registry. While this could be useful, it can be implemented later when working on ipc-ctl.
  2. Support contract upgrades. For now, upgrades are not included since this is intended for quick and easy deployment, but support for upgrades should likely be added in the future.
  3. Include default built-in contracts to deploy @drahnr.

This change is Reviewable

@karlem karlem force-pushed the parent-contracts-deployment branch from 52043da to 5a5941b Compare March 18, 2025 17:39
@karlem karlem marked this pull request as ready for review March 18, 2025 17:56
@karlem karlem requested a review from a team as a code owner March 18, 2025 17:56
use clap::{Args, ValueEnum};
use ethers::types::Address;
use fendermint_eth_deployer::{EthContractDeployer, SubnetCreationPrivilege};
use fendermint_eth_hardhat::Hardhat;
Copy link
Contributor

Choose a reason for hiding this comment

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

will it create some kind of cycler dependency in the future?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good question. I thought about it quite a bit and I wasn't sure where exactly to put it. Also didn't want to re-shuffle too much. I honestly think that moving forward we should have some crates that are outside of ipc and fendermint and can be used by both. WDYT?

Copy link
Contributor

@LePremierHomme LePremierHomme left a comment

Choose a reason for hiding this comment

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

Works well!

Co-authored-by: LePremierHomme <[email protected]>
@karlem karlem merged commit 3b79c9d into main Mar 25, 2025
4 of 5 checks passed
@karlem karlem deleted the parent-contracts-deployment branch March 25, 2025 14:34
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.

Remove Hardhat Dependency: Use IPC CLI to Deploy Contracts on Parent L1
3 participants