From b2d7eb79cfe7f664c079e2c0dbffc4b3830aaeb8 Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Fri, 19 Sep 2025 08:28:27 +0200 Subject: [PATCH 1/3] bump to alloy-chains 0.2.10 --- Cargo.lock | 21 +++++++++++---------- crates/cli/src/utils/cmd.rs | 1 - 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4d7be593515cf..1d3afb3a2eb75 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -58,9 +58,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef8ff73a143281cb77c32006b04af9c047a6b8fe5860e85a88ad325328965355" +checksum = "f9be168f7a4b24c12c328c96175f5e515ba1b2440bb9c978df772c1edf335e4b" dependencies = [ "alloy-primitives", "num_enum", @@ -3572,7 +3572,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.61.0", + "windows-sys 0.59.0", ] [[package]] @@ -3830,7 +3830,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.0", + "windows-sys 0.52.0", ] [[package]] @@ -4865,6 +4865,7 @@ version = "1.3.6" dependencies = [ "alloy-primitives", "foundry-compilers", + "rayon", "semver 1.0.26", "thiserror 2.0.16", ] @@ -8448,7 +8449,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.11.0", - "windows-sys 0.61.0", + "windows-sys 0.52.0", ] [[package]] @@ -9228,7 +9229,7 @@ dependencies = [ "solar-config", "solar-data-structures", "solar-macros", - "thiserror 2.0.16", + "thiserror 1.0.69", "tracing", "unicode-width 0.2.0", ] @@ -9569,7 +9570,7 @@ dependencies = [ "serde_json", "sha2 0.10.9", "tempfile", - "thiserror 2.0.16", + "thiserror 1.0.69", "url", "zip", ] @@ -9677,7 +9678,7 @@ dependencies = [ "getrandom 0.3.3", "once_cell", "rustix 1.1.2", - "windows-sys 0.61.0", + "windows-sys 0.52.0", ] [[package]] @@ -9697,7 +9698,7 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2111ef44dae28680ae9752bb89409e7310ca33a8c621ebe7b106cf5c928b3ac0" dependencies = [ - "windows-sys 0.61.0", + "windows-sys 0.59.0", ] [[package]] @@ -10940,7 +10941,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.0", + "windows-sys 0.52.0", ] [[package]] diff --git a/crates/cli/src/utils/cmd.rs b/crates/cli/src/utils/cmd.rs index d73fa63416aec..f6bd1821849ea 100644 --- a/crates/cli/src/utils/cmd.rs +++ b/crates/cli/src/utils/cmd.rs @@ -178,7 +178,6 @@ pub fn has_different_gas_calc(chain_id: u64) -> bool { | NamedChain::KaruraTestnet | NamedChain::Mantle | NamedChain::MantleSepolia - | NamedChain::MantleTestnet | NamedChain::Moonbase | NamedChain::Moonbeam | NamedChain::MoonbeamDev From 2edb893eb443beb66f0a4d14d729549507c6b391 Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Fri, 19 Sep 2025 08:44:12 +0200 Subject: [PATCH 2/3] mumbai -> amoy, deprecated --- crates/cli/src/opts/chain.rs | 2 +- crates/config/src/cache.rs | 4 +-- crates/config/src/lib.rs | 48 +++++++++++++------------- crates/forge/tests/cli/create.rs | 6 ++-- crates/forge/tests/cli/utils.rs | 10 +++--- crates/script/src/lib.rs | 54 +++++++++++++++--------------- crates/verify/src/etherscan/mod.rs | 14 ++++---- 7 files changed, 69 insertions(+), 69 deletions(-) diff --git a/crates/cli/src/opts/chain.rs b/crates/cli/src/opts/chain.rs index 2762481e08e86..3d8040cc99a88 100644 --- a/crates/cli/src/opts/chain.rs +++ b/crates/cli/src/opts/chain.rs @@ -33,7 +33,7 @@ impl TypedValueParser for ChainValueParser { Ok(Chain::from_id(id)) } else { // NamedChain::VARIANTS is a subset of all possible variants, since there are aliases: - // mumbai instead of polygon-mumbai etc + // amoy instead of polygon-amoy etc // // Parse first as NamedChain, if it fails parse with NamedChain::VARIANTS for displaying // the error to the user diff --git a/crates/config/src/cache.rs b/crates/config/src/cache.rs index 229af4cf8227d..d36b5d27b0a87 100644 --- a/crates/config/src/cache.rs +++ b/crates/config/src/cache.rs @@ -281,7 +281,7 @@ mod tests { block_explorer: 4230000, }, ChainCache { - name: "mumbai".to_string(), + name: "amoy".to_string(), blocks: vec![("1".to_string(), 1), ("2".to_string(), 2)], block_explorer: 0, }, @@ -301,7 +301,7 @@ mod tests { - Block Explorer (4.2 MB)\n\n\t\ - Block 1 (1.0 kB)\n\t\ - Block 2 (2.0 MB)\n\ - - mumbai (3.0 B)\n\t\ + - amoy (3.0 B)\n\t\ - Block Explorer (0.0 B)\n\n\t\ - Block 1 (1.0 B)\n\t\ - Block 2 (2.0 B)\n"; diff --git a/crates/config/src/lib.rs b/crates/config/src/lib.rs index afe924f90e39e..9e1f6625b231d 100644 --- a/crates/config/src/lib.rs +++ b/crates/config/src/lib.rs @@ -3288,19 +3288,19 @@ mod tests { r#" [profile.default] [rpc_endpoints] - polygonMumbai = "https://polygon-mumbai.g.alchemy.com/v2/${_RESOLVE_RPC_ALIAS}" + polygonAmoy = "https://polygon-amoy.g.alchemy.com/v2/${_RESOLVE_RPC_ALIAS}" "#, )?; let mut config = Config::load().unwrap(); - config.eth_rpc_url = Some("polygonMumbai".to_string()); + config.eth_rpc_url = Some("polygonAmoy".to_string()); assert!(config.get_rpc_url().unwrap().is_err()); jail.set_env("_RESOLVE_RPC_ALIAS", "123455"); let mut config = Config::load().unwrap(); - config.eth_rpc_url = Some("polygonMumbai".to_string()); + config.eth_rpc_url = Some("polygonAmoy".to_string()); assert_eq!( - "https://polygon-mumbai.g.alchemy.com/v2/123455", + "https://polygon-amoy.g.alchemy.com/v2/123455", config.get_rpc_url().unwrap().unwrap() ); @@ -3550,7 +3550,7 @@ mod tests { [etherscan] optimism = { key = "https://etherscan-optimism.com/" } - mumbai = { key = "https://etherscan-mumbai.com/" } + amoy = { key = "https://etherscan-amoy.com/" } "#, )?; @@ -3559,10 +3559,10 @@ mod tests { let optimism = config.get_etherscan_api_key(Some(NamedChain::Optimism.into())); assert_eq!(optimism, Some("https://etherscan-optimism.com/".to_string())); - config.etherscan_api_key = Some("mumbai".to_string()); + config.etherscan_api_key = Some("amoy".to_string()); - let mumbai = config.get_etherscan_api_key(Some(NamedChain::PolygonMumbai.into())); - assert_eq!(mumbai, Some("https://etherscan-mumbai.com/".to_string())); + let amoy = config.get_etherscan_api_key(Some(NamedChain::PolygonAmoy.into())); + assert_eq!(amoy, Some("https://etherscan-amoy.com/".to_string())); Ok(()) }); @@ -3577,17 +3577,17 @@ mod tests { [profile.default] [etherscan] - mumbai = { key = "https://etherscan-mumbai.com/", chain = 80001 } + amoy = { key = "https://etherscan-amoy.com/", chain = 80002 } "#, )?; let config = Config::load().unwrap(); - let mumbai = config - .get_etherscan_config_with_chain(Some(NamedChain::PolygonMumbai.into())) + let amoy = config + .get_etherscan_config_with_chain(Some(NamedChain::PolygonAmoy.into())) .unwrap() .unwrap(); - assert_eq!(mumbai.key, "https://etherscan-mumbai.com/".to_string()); + assert_eq!(amoy.key, "https://etherscan-amoy.com/".to_string()); Ok(()) }); @@ -3602,18 +3602,18 @@ mod tests { [profile.default] [etherscan] - mumbai = { key = "https://etherscan-mumbai.com/", chain = 80001 , url = "https://verifier-url.com/"} + amoy = { key = "https://etherscan-amoy.com/", chain = 80002 , url = "https://verifier-url.com/"} "#, )?; let config = Config::load().unwrap(); - let mumbai = config - .get_etherscan_config_with_chain(Some(NamedChain::PolygonMumbai.into())) + let amoy = config + .get_etherscan_config_with_chain(Some(NamedChain::PolygonAmoy.into())) .unwrap() .unwrap(); - assert_eq!(mumbai.key, "https://etherscan-mumbai.com/".to_string()); - assert_eq!(mumbai.api_url, "https://verifier-url.com/".to_string()); + assert_eq!(amoy.key, "https://etherscan-amoy.com/".to_string()); + assert_eq!(amoy.api_url, "https://verifier-url.com/".to_string()); Ok(()) }); @@ -3626,23 +3626,23 @@ mod tests { "foundry.toml", r#" [profile.default] - eth_rpc_url = "mumbai" + eth_rpc_url = "amoy" [etherscan] - mumbai = { key = "https://etherscan-mumbai.com/" } + amoy = { key = "https://etherscan-amoy.com/" } [rpc_endpoints] - mumbai = "https://polygon-mumbai.g.alchemy.com/v2/mumbai" + amoy = "https://polygon-amoy.g.alchemy.com/v2/amoy" "#, )?; let config = Config::load().unwrap(); - let mumbai = config.get_etherscan_config_with_chain(None).unwrap().unwrap(); - assert_eq!(mumbai.key, "https://etherscan-mumbai.com/".to_string()); + let amoy = config.get_etherscan_config_with_chain(None).unwrap().unwrap(); + assert_eq!(amoy.key, "https://etherscan-amoy.com/".to_string()); - let mumbai_rpc = config.get_rpc_url().unwrap().unwrap(); - assert_eq!(mumbai_rpc, "https://polygon-mumbai.g.alchemy.com/v2/mumbai"); + let amoy_rpc = config.get_rpc_url().unwrap().unwrap(); + assert_eq!(amoy_rpc, "https://polygon-amoy.g.alchemy.com/v2/amoy"); Ok(()) }); } diff --git a/crates/forge/tests/cli/create.rs b/crates/forge/tests/cli/create.rs index a89ad1af4df53..7957331734bc6 100644 --- a/crates/forge/tests/cli/create.rs +++ b/crates/forge/tests/cli/create.rs @@ -120,9 +120,9 @@ forgetest!(can_create_oracle_on_goerli, |prj, cmd| { create_on_chain(EnvExternalities::goerli(), prj, cmd, setup_oracle); }); -// tests `forge` create on mumbai if correct env vars are set -forgetest!(can_create_oracle_on_mumbai, |prj, cmd| { - create_on_chain(EnvExternalities::mumbai(), prj, cmd, setup_oracle); +// tests `forge` create on amoy if correct env vars are set +forgetest!(can_create_oracle_on_amoy, |prj, cmd| { + create_on_chain(EnvExternalities::amoy(), prj, cmd, setup_oracle); }); // tests that we can deploy the template contract diff --git a/crates/forge/tests/cli/utils.rs b/crates/forge/tests/cli/utils.rs index 35b1bf73a7bfd..55b6e74cbfa59 100644 --- a/crates/forge/tests/cli/utils.rs +++ b/crates/forge/tests/cli/utils.rs @@ -89,12 +89,12 @@ impl EnvExternalities { }) } - pub fn mumbai() -> Option { + pub fn amoy() -> Option { Some(Self { - chain: NamedChain::PolygonMumbai, - rpc: network_rpc_key("mumbai")?, - pk: network_private_key("mumbai")?, - etherscan: etherscan_key(NamedChain::PolygonMumbai)?, + chain: NamedChain::PolygonAmoy, + rpc: network_rpc_key("amoy")?, + pk: network_private_key("amoy")?, + etherscan: etherscan_key(NamedChain::PolygonAmoy)?, verifier: "etherscan".to_string(), }) } diff --git a/crates/script/src/lib.rs b/crates/script/src/lib.rs index a951bfe7119de..a521702fa2629 100644 --- a/crates/script/src/lib.rs +++ b/crates/script/src/lib.rs @@ -782,10 +782,10 @@ mod tests { let config = r#" [profile.default] - etherscan_api_key = "mumbai" + etherscan_api_key = "amoy" [etherscan] - mumbai = { key = "https://etherscan-mumbai.com/" } + amoy = { key = "https://etherscan-amoy.com/" } "#; let toml_file = root.join(Config::FILE_NAME); @@ -794,14 +794,14 @@ mod tests { "foundry-cli", "Contract.sol", "--etherscan-api-key", - "mumbai", + "amoy", "--root", root.as_os_str().to_str().unwrap(), ]); let config = args.load_config().unwrap(); - let mumbai = config.get_etherscan_api_key(Some(NamedChain::PolygonMumbai.into())); - assert_eq!(mumbai, Some("https://etherscan-mumbai.com/".to_string())); + let amoy = config.get_etherscan_api_key(Some(NamedChain::PolygonAmoy.into())); + assert_eq!(amoy, Some("https://etherscan-amoy.com/".to_string())); } #[test] @@ -813,7 +813,7 @@ mod tests { [profile.default] [rpc_endpoints] - polygonMumbai = "https://polygon-mumbai.g.alchemy.com/v2/${_CAN_EXTRACT_RPC_ALIAS}" + polygonAmoy = "https://polygon-amoy.g.alchemy.com/v2/${_CAN_EXTRACT_RPC_ALIAS}" "#; let toml_file = root.join(Config::FILE_NAME); @@ -822,7 +822,7 @@ mod tests { "foundry-cli", "DeployV1", "--rpc-url", - "polygonMumbai", + "polygonAmoy", "--root", root.as_os_str().to_str().unwrap(), ]); @@ -835,10 +835,10 @@ mod tests { std::env::set_var("_CAN_EXTRACT_RPC_ALIAS", "123456"); } let (config, evm_opts) = args.load_config_and_evm_opts().unwrap(); - assert_eq!(config.eth_rpc_url, Some("polygonMumbai".to_string())); + assert_eq!(config.eth_rpc_url, Some("polygonAmoy".to_string())); assert_eq!( evm_opts.fork_url, - Some("https://polygon-mumbai.g.alchemy.com/v2/123456".to_string()) + Some("https://polygon-amoy.g.alchemy.com/v2/123456".to_string()) ); } @@ -851,10 +851,10 @@ mod tests { [profile.default] [rpc_endpoints] - mumbai = "https://polygon-mumbai.g.alchemy.com/v2/${_EXTRACT_RPC_ALIAS}" + amoy = "https://polygon-amoy.g.alchemy.com/v2/${_EXTRACT_RPC_ALIAS}" [etherscan] - mumbai = { key = "${_POLYSCAN_API_KEY}", chain = 80001, url = "https://api-testnet.polygonscan.com/" } + amoy = { key = "${_ETHERSCAN_API_KEY}", chain = 80002, url = "https://amoy.polygonscan.com/" } "#; let toml_file = root.join(Config::FILE_NAME); @@ -863,9 +863,9 @@ mod tests { "foundry-cli", "DeployV1", "--rpc-url", - "mumbai", + "amoy", "--etherscan-api-key", - "mumbai", + "amoy", "--root", root.as_os_str().to_str().unwrap(), ]); @@ -877,18 +877,18 @@ mod tests { std::env::set_var("_EXTRACT_RPC_ALIAS", "123456"); } unsafe { - std::env::set_var("_POLYSCAN_API_KEY", "polygonkey"); + std::env::set_var("_ETHERSCAN_API_KEY", "etherscan_api_key"); } let (config, evm_opts) = args.load_config_and_evm_opts().unwrap(); - assert_eq!(config.eth_rpc_url, Some("mumbai".to_string())); + assert_eq!(config.eth_rpc_url, Some("amoy".to_string())); assert_eq!( evm_opts.fork_url, - Some("https://polygon-mumbai.g.alchemy.com/v2/123456".to_string()) + Some("https://polygon-amoy.g.alchemy.com/v2/123456".to_string()) ); - let etherscan = config.get_etherscan_api_key(Some(80001u64.into())); - assert_eq!(etherscan, Some("polygonkey".to_string())); + let etherscan = config.get_etherscan_api_key(Some(80002u64.into())); + assert_eq!(etherscan, Some("etherscan_api_key".to_string())); let etherscan = config.get_etherscan_api_key(None); - assert_eq!(etherscan, Some("polygonkey".to_string())); + assert_eq!(etherscan, Some("etherscan_api_key".to_string())); } #[test] @@ -900,10 +900,10 @@ mod tests { [profile.default] [rpc_endpoints] - mumbai = "https://polygon-mumbai.g.alchemy.com/v2/${_SOLE_EXTRACT_RPC_ALIAS}" + amoy = "https://polygon-amoy.g.alchemy.com/v2/${_SOLE_EXTRACT_RPC_ALIAS}" [etherscan] - mumbai = { key = "${_SOLE_POLYSCAN_API_KEY}" } + amoy = { key = "${_SOLE_ETHERSCAN_API_KEY}" } "#; let toml_file = root.join(Config::FILE_NAME); @@ -912,7 +912,7 @@ mod tests { "foundry-cli", "DeployV1", "--rpc-url", - "mumbai", + "amoy", "--root", root.as_os_str().to_str().unwrap(), ]); @@ -924,17 +924,17 @@ mod tests { std::env::set_var("_SOLE_EXTRACT_RPC_ALIAS", "123456"); } unsafe { - std::env::set_var("_SOLE_POLYSCAN_API_KEY", "polygonkey"); + std::env::set_var("_SOLE_ETHERSCAN_API_KEY", "etherscan_api_key"); } let (config, evm_opts) = args.load_config_and_evm_opts().unwrap(); assert_eq!( evm_opts.fork_url, - Some("https://polygon-mumbai.g.alchemy.com/v2/123456".to_string()) + Some("https://polygon-amoy.g.alchemy.com/v2/123456".to_string()) ); - let etherscan = config.get_etherscan_api_key(Some(80001u64.into())); - assert_eq!(etherscan, Some("polygonkey".to_string())); + let etherscan = config.get_etherscan_api_key(Some(80002u64.into())); + assert_eq!(etherscan, Some("etherscan_api_key".to_string())); let etherscan = config.get_etherscan_api_key(None); - assert_eq!(etherscan, Some("polygonkey".to_string())); + assert_eq!(etherscan, Some("etherscan_api_key".to_string())); } // diff --git a/crates/verify/src/etherscan/mod.rs b/crates/verify/src/etherscan/mod.rs index 9821a9df3eb82..c50dbd1aaec9a 100644 --- a/crates/verify/src/etherscan/mod.rs +++ b/crates/verify/src/etherscan/mod.rs @@ -469,7 +469,7 @@ mod tests { [profile.default] [etherscan] - mumbai = { key = "dummykey", chain = 80001, url = "https://api-testnet.polygonscan.com/" } + amoy = { key = "dummykey", chain = 80002, url = "https://amoy.polygonscan.com/" } "#; let toml_file = root.join(Config::FILE_NAME); @@ -480,7 +480,7 @@ mod tests { "0xd8509bee9c9bf012282ad33aba0d87241baf5064", "src/Counter.sol:Counter", "--chain", - "mumbai", + "amoy", "--root", root.as_os_str().to_str().unwrap(), ]); @@ -489,7 +489,7 @@ mod tests { let etherscan = EtherscanVerificationProvider::default(); let client = etherscan.client(&args.etherscan, &args.verifier, &config).unwrap(); - assert_eq!(client.etherscan_api_url().as_str(), "https://api-testnet.polygonscan.com/api"); + assert_eq!(client.etherscan_api_url().as_str(), "https://amoy.polygonscan.com/api"); assert!(format!("{client:?}").contains("dummykey")); @@ -498,7 +498,7 @@ mod tests { "0xd8509bee9c9bf012282ad33aba0d87241baf5064", "src/Counter.sol:Counter", "--chain", - "mumbai", + "amoy", "--verifier-url", "https://verifier-url.com/", "--root", @@ -522,7 +522,7 @@ mod tests { [profile.default] [etherscan] - mumbai = { key = "dummykey", chain = 80001, url = "https://api-testnet.polygonscan.com/" } + amoy = { key = "dummykey", chain = 80002, url = "https://amoy.polygonscan.com/" } "#; let toml_file = root.join(Config::FILE_NAME); @@ -535,7 +535,7 @@ mod tests { "--verifier", "etherscan", "--chain", - "mumbai", + "amoy", "--root", root.as_os_str().to_str().unwrap(), ]); @@ -556,7 +556,7 @@ mod tests { "--verifier", "etherscan", "--chain", - "mumbai", + "amoy", "--verifier-url", "https://verifier-url.com/", "--root", From a1dd83f21e802fd1cbcc64a9e69f6fd0882f27a0 Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Fri, 19 Sep 2025 08:53:15 +0200 Subject: [PATCH 3/3] clippy fix --- crates/cast/src/cmd/wallet/vanity.rs | 4 ++-- crates/verify/src/etherscan/mod.rs | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/crates/cast/src/cmd/wallet/vanity.rs b/crates/cast/src/cmd/wallet/vanity.rs index a0a58c3cd7851..a12ebca9e0aa3 100644 --- a/crates/cast/src/cmd/wallet/vanity.rs +++ b/crates/cast/src/cmd/wallet/vanity.rs @@ -149,8 +149,8 @@ impl VanityArgs { "Successfully found vanity address in {:.3} seconds.{}{}\nAddress: {}\nPrivate Key: 0x{}", timer.elapsed().as_secs_f64(), if nonce.is_some() { "\nContract address: " } else { "" }, - if nonce.is_some() { - wallet.address().create(nonce.unwrap()).to_checksum(None) + if let Some(nonce) = nonce { + wallet.address().create(nonce).to_checksum(None) } else { String::new() }, diff --git a/crates/verify/src/etherscan/mod.rs b/crates/verify/src/etherscan/mod.rs index c50dbd1aaec9a..60f8daf962adf 100644 --- a/crates/verify/src/etherscan/mod.rs +++ b/crates/verify/src/etherscan/mod.rs @@ -489,7 +489,10 @@ mod tests { let etherscan = EtherscanVerificationProvider::default(); let client = etherscan.client(&args.etherscan, &args.verifier, &config).unwrap(); - assert_eq!(client.etherscan_api_url().as_str(), "https://amoy.polygonscan.com/api"); + assert_eq!( + client.etherscan_api_url().as_str(), + "https://api.etherscan.io/v2/api?chainid=80002" + ); assert!(format!("{client:?}").contains("dummykey")); @@ -546,7 +549,10 @@ mod tests { let client = etherscan.client(&args.etherscan, &args.verifier, &config).unwrap(); - assert_eq!(client.etherscan_api_url().as_str(), "https://api-testnet.polygonscan.com/api"); + assert_eq!( + client.etherscan_api_url().as_str(), + "https://api.etherscan.io/v2/api?chainid=80002" + ); assert!(format!("{client:?}").contains("dummykey")); let args: VerifyArgs = VerifyArgs::parse_from([