Skip to content

Commit 938f848

Browse files
authored
refactor: extract verify to separate crate (foundry-rs#7326)
* refactor: extract verify to separate crate * warn unused deps
1 parent 6e0f391 commit 938f848

File tree

18 files changed

+100
-37
lines changed

18 files changed

+100
-37
lines changed

Cargo.lock

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ forge = { path = "crates/forge" }
118118

119119
forge-doc = { path = "crates/doc" }
120120
forge-fmt = { path = "crates/fmt" }
121+
forge-verify = { path = "crates/verify" }
121122
foundry-cheatcodes = { path = "crates/cheatcodes" }
122123
foundry-cheatcodes-spec = { path = "crates/cheatcodes/spec" }
123124
foundry-cli = { path = "crates/cli" }

crates/forge/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ yansi = "0.5"
4545
# bin
4646
forge-doc.workspace = true
4747
forge-fmt.workspace = true
48+
forge-verify.workspace = true
4849
foundry-cli.workspace = true
4950
foundry-debugger.workspace = true
5051

crates/forge/bin/cmd/create.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use super::{retry::RetryArgs, verify};
21
use alloy_dyn_abi::{DynSolValue, JsonAbiExt, ResolveSolType};
32
use alloy_json_abi::{Constructor, JsonAbi};
43
use alloy_primitives::{Address, Bytes};
@@ -14,6 +13,7 @@ use ethers_core::{
1413
use ethers_middleware::SignerMiddleware;
1514
use ethers_providers::Middleware;
1615
use eyre::{Context, Result};
16+
use forge_verify::RetryArgs;
1717
use foundry_cli::{
1818
opts::{CoreBuildArgs, EthereumOpts, EtherscanOpts, TransactionOpts},
1919
utils::{self, read_constructor_args_file, remove_contract, LoadConfig},
@@ -80,7 +80,7 @@ pub struct CreateArgs {
8080
eth: EthereumOpts,
8181

8282
#[command(flatten)]
83-
pub verifier: verify::VerifierArgs,
83+
pub verifier: forge_verify::VerifierArgs,
8484

8585
#[command(flatten)]
8686
retry: RetryArgs,
@@ -169,7 +169,7 @@ impl CreateArgs {
169169
) -> Result<()> {
170170
// NOTE: this does not represent the same `VerifyArgs` that would be sent after deployment,
171171
// since we don't know the address yet.
172-
let mut verify = verify::VerifyArgs {
172+
let mut verify = forge_verify::VerifyArgs {
173173
address: Default::default(),
174174
contract: self.contract.clone(),
175175
compiler_version: None,
@@ -323,7 +323,7 @@ impl CreateArgs {
323323

324324
let num_of_optimizations =
325325
if self.opts.compiler.optimize { self.opts.compiler.optimizer_runs } else { None };
326-
let verify = verify::VerifyArgs {
326+
let verify = forge_verify::VerifyArgs {
327327
address,
328328
contract: self.contract,
329329
compiler_version: None,

crates/forge/bin/cmd/debug.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
use super::{build::BuildArgs, retry::RETRY_VERIFY_ON_CREATE, script::ScriptArgs};
1+
use super::{build::BuildArgs, script::ScriptArgs};
22
use clap::{Parser, ValueHint};
3+
use forge_verify::retry::RETRY_VERIFY_ON_CREATE;
34
use foundry_cli::opts::CoreBuildArgs;
45
use foundry_common::evm::EvmArgs;
56
use std::path::PathBuf;

crates/forge/bin/cmd/mod.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,10 @@ pub mod inspect;
5656
pub mod install;
5757
pub mod remappings;
5858
pub mod remove;
59-
pub mod retry;
6059
pub mod script;
6160
pub mod selectors;
6261
pub mod snapshot;
6362
pub mod test;
6463
pub mod tree;
6564
pub mod update;
66-
pub mod verify;
6765
pub mod watch;

crates/forge/bin/cmd/script/mod.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::{build::BuildArgs, retry::RetryArgs};
1+
use super::build::BuildArgs;
22
use alloy_dyn_abi::FunctionExt;
33
use alloy_json_abi::{Function, InternalType, JsonAbi};
44
use alloy_primitives::{Address, Bytes, Log, U256, U64};
@@ -17,6 +17,7 @@ use forge::{
1717
render_trace_arena, CallTraceDecoder, CallTraceDecoderBuilder, TraceKind, Traces,
1818
},
1919
};
20+
use forge_verify::RetryArgs;
2021
use foundry_common::{
2122
abi::{encode_function_args, get_func},
2223
errors::UnlinkedByteCode,
@@ -182,7 +183,7 @@ pub struct ScriptArgs {
182183
pub evm_opts: EvmArgs,
183184

184185
#[command(flatten)]
185-
pub verifier: super::verify::VerifierArgs,
186+
pub verifier: forge_verify::VerifierArgs,
186187

187188
#[command(flatten)]
188189
pub retry: RetryArgs,

crates/forge/bin/cmd/script/sequence.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ use crate::cmd::{
55
transaction::{wrapper, AdditionalContract, TransactionWithMetadata},
66
verify::VerifyBundle,
77
},
8-
verify::provider::VerificationProviderType,
98
};
109
use alloy_primitives::{Address, TxHash};
1110
use ethers_core::types::{transaction::eip2718::TypedTransaction, TransactionReceipt};
1211
use eyre::{ContextCompat, Result, WrapErr};
12+
use forge_verify::provider::VerificationProviderType;
1313
use foundry_cli::utils::now;
1414
use foundry_common::{
1515
fs, shell,

crates/forge/bin/cmd/script/verify.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
use crate::cmd::{
2-
retry::RetryArgs,
3-
verify::{VerifierArgs, VerifyArgs},
4-
};
51
use alloy_primitives::Address;
2+
use forge_verify::{RetryArgs, VerifierArgs, VerifyArgs};
63
use foundry_cli::opts::{EtherscanOpts, ProjectPathsArgs};
74
use foundry_common::ContractsByArtifact;
85
use foundry_compilers::{info::ContractInfo, Project};

crates/forge/bin/opts.rs

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,11 @@
11
use crate::cmd::{
2-
bind::BindArgs,
3-
build::BuildArgs,
4-
cache::CacheArgs,
5-
config, coverage,
6-
create::CreateArgs,
7-
debug::DebugArgs,
8-
doc::DocArgs,
9-
flatten,
10-
fmt::FmtArgs,
11-
geiger, generate,
12-
init::InitArgs,
13-
inspect,
14-
install::InstallArgs,
15-
remappings::RemappingArgs,
16-
remove::RemoveArgs,
17-
script::ScriptArgs,
18-
selectors::SelectorsSubcommands,
19-
snapshot, test, tree, update,
20-
verify::{VerifyArgs, VerifyCheckArgs},
2+
bind::BindArgs, build::BuildArgs, cache::CacheArgs, config, coverage, create::CreateArgs,
3+
debug::DebugArgs, doc::DocArgs, flatten, fmt::FmtArgs, geiger, generate, init::InitArgs,
4+
inspect, install::InstallArgs, remappings::RemappingArgs, remove::RemoveArgs,
5+
script::ScriptArgs, selectors::SelectorsSubcommands, snapshot, test, tree, update,
216
};
227
use clap::{Parser, Subcommand, ValueHint};
8+
use forge_verify::{VerifyArgs, VerifyCheckArgs};
239
use std::path::PathBuf;
2410

2511
const VERSION_MESSAGE: &str = concat!(

0 commit comments

Comments
 (0)