Skip to content

Commit 38f6ccf

Browse files
authored
chore(cli): split forge, cast CLI args into separate modules (foundry-rs#5596)
* chore: separate cast and forge binaries * chore: extract build args to cli * chore: remove outdated comments
1 parent da92022 commit 38f6ccf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+351
-475
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ prettyplease.opt-level = 0
7171
lalrpop.opt-level = 0
7272

7373
ethers-contract-abigen.opt-level = 0
74-
ethers-contract-abigen-derive.opt-level = 0
74+
ethers-contract-derive.opt-level = 0
7575
async-recursion.opt-level = 0
7676
miette-derive.opt-level = 0
7777
strum_macros.opt-level = 0

anvil/src/genesis.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,10 +224,7 @@ pub struct CliqueConfig {
224224
225225
pub mod secret_key {
226226
use ethers::{core::k256::SecretKey, signers::LocalWallet, types::Bytes};
227-
use serde::{
228-
de::{self},
229-
Deserialize, Deserializer, Serialize, Serializer,
230-
};
227+
use serde::{de, Deserialize, Deserializer, Serialize, Serializer};
231228

232229
pub fn serialize<S>(value: &Option<LocalWallet>, serializer: S) -> Result<S::Ok, S::Error>
233230
where

chisel/src/bin/chisel.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ use chisel::{
99
};
1010
use clap::Parser;
1111
use foundry_cli::{
12-
cmd::{forge::build::BuildArgs, LoadConfig},
13-
utils,
12+
opts::CoreBuildArgs,
13+
utils::{self, LoadConfig},
1414
};
1515
use foundry_common::evm::EvmArgs;
1616
use foundry_config::{
@@ -44,7 +44,7 @@ pub struct ChiselParser {
4444
pub sub: Option<ChiselParserSub>,
4545

4646
#[clap(flatten)]
47-
pub opts: BuildArgs,
47+
pub opts: CoreBuildArgs,
4848

4949
#[clap(flatten)]
5050
pub evm_opts: EvmArgs,

cli/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,12 @@ external-integration-tests = []
9898

9999
[[bin]]
100100
name = "cast"
101-
path = "src/cast.rs"
101+
path = "src/cast/main.rs"
102102
doc = false
103103

104104
[[bin]]
105105
name = "forge"
106-
path = "src/forge.rs"
106+
path = "src/forge/main.rs"
107107
doc = false
108108

109109
[[bench]]

cli/benches/cast.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
use criterion::{criterion_group, criterion_main, Criterion};
2-
use foundry_cli::cmd::cast::wallet::vanity::*;
32
use rayon::prelude::*;
43
use std::{hint::black_box, time::Duration};
54

5+
#[path = "../src/cast/cmd/wallet/mod.rs"]
6+
#[allow(unused)]
7+
mod wallet;
8+
use wallet::vanity::*;
9+
610
/// Benches `cast wallet vanity`
711
///
812
/// Left or right matchers, with or without nonce do not change the outcome.

cli/src/cmd/cast/access_list.rs renamed to cli/src/cast/cmd/access_list.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
// cast estimate subcommands
2-
use crate::{
3-
opts::{EthereumOpts, TransactionOpts},
4-
utils::{self},
5-
};
61
use cast::{Cast, TxBuilder};
72
use clap::Parser;
83
use ethers::{
94
providers::Middleware,
105
types::{BlockId, NameOrAddress},
116
};
127
use eyre::WrapErr;
8+
use foundry_cli::{
9+
opts::{EthereumOpts, TransactionOpts},
10+
utils,
11+
};
1312
use foundry_config::{Chain, Config};
1413
use std::str::FromStr;
1514

cli/src/cmd/cast/bind.rs renamed to cli/src/cast/cmd/bind.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use crate::opts::EtherscanOpts;
21
use clap::{Parser, ValueHint};
32
use ethers::prelude::{errors::EtherscanError, Abigen, Client, MultiAbigen};
43
use eyre::Result;
4+
use foundry_cli::opts::EtherscanOpts;
55
use foundry_config::Config;
66
use std::path::{Path, PathBuf};
77

cli/src/cmd/cast/call.rs renamed to cli/src/cast/cmd/call.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
// cast estimate subcommands
2-
use crate::{
3-
cmd::utils::{handle_traces, TraceResult},
4-
opts::{EthereumOpts, TransactionOpts},
5-
utils::{self, parse_ether_value},
6-
};
71
use cast::{Cast, TxBuilder};
82
use clap::Parser;
93
use ethers::{
@@ -12,6 +6,10 @@ use ethers::{
126
};
137
use eyre::WrapErr;
148
use forge::executor::opts::EvmOpts;
9+
use foundry_cli::{
10+
opts::{EthereumOpts, TransactionOpts},
11+
utils::{self, handle_traces, parse_ether_value, TraceResult},
12+
};
1513
use foundry_config::{find_project_root_path, Config};
1614
use foundry_evm::trace::TracingExecutor;
1715
use std::str::FromStr;

cli/src/cmd/cast/create2.rs renamed to cli/src/cast/cmd/create2.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
//! cast create2 subcommand
2-
3-
use crate::cmd::Cmd;
41
use cast::SimpleCast;
52
use clap::Parser;
63
use ethers::{
@@ -9,6 +6,7 @@ use ethers::{
96
utils::{get_create2_address_from_hash, keccak256},
107
};
118
use eyre::{Result, WrapErr};
9+
use foundry_cli::utils::Cmd;
1210
use rayon::prelude::*;
1311
use regex::RegexSetBuilder;
1412
use std::{str::FromStr, time::Instant};

cli/src/cmd/cast/estimate.rs renamed to cli/src/cast/cmd/estimate.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
// cast estimate subcommands
2-
use crate::{
3-
opts::{EtherscanOpts, RpcOpts},
4-
utils::{self, parse_ether_value},
5-
};
61
use cast::{Cast, TxBuilder};
72
use clap::Parser;
83
use ethers::types::{NameOrAddress, U256};
94
use eyre::Result;
5+
use foundry_cli::{
6+
opts::{EtherscanOpts, RpcOpts},
7+
utils::{self, parse_ether_value},
8+
};
109
use foundry_config::{figment::Figment, Config};
1110
use std::str::FromStr;
1211

0 commit comments

Comments
 (0)