Skip to content

feat: add contracts deployer#1318

Merged
karlem merged 8 commits intomainfrom
parent-contracts-deployment
Mar 25, 2025
Merged

feat: add contracts deployer#1318
karlem merged 8 commits intomainfrom
parent-contracts-deployment

Conversation

@karlem
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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?

Comment thread ipc/cli/src/commands/deploy/mod.rs Outdated
Copy link
Copy Markdown
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 <57456510+LePremierHomme@users.noreply.github.com>
@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
cryptoAtwill added a commit that referenced this pull request Apr 1, 2025
Co-authored-by: cryptoAtwill <108330426+cryptoAtwill@users.noreply.github.com>
Co-authored-by: LePremierHomme <57456510+LePremierHomme@users.noreply.github.com>
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