From e933ea2772b43320c5dbe36a001fc946be9a0e27 Mon Sep 17 00:00:00 2001 From: Rayyan Alam Date: Fri, 23 Oct 2026 14:38:06 -0400 Subject: [PATCH 1/2] feat(networks): default --base to Denim Bare --base, --base with no value, the serde bool form, and the auto-enabled Base chain IDs (8453, 84532, 84538453) now select Denim instead of Cobalt. Explicit --base selections are unchanged. Update the clap default_missing_value, its drift-guard test, and the bare --base CLI parse test to match. --- crates/anvil/src/cmd.rs | 2 +- crates/evm/networks/src/lib.rs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/anvil/src/cmd.rs b/crates/anvil/src/cmd.rs index 995829ae7..60b70ae73 100644 --- a/crates/anvil/src/cmd.rs +++ b/crates/anvil/src/cmd.rs @@ -850,7 +850,7 @@ mod tests { let args: NodeArgs = NodeArgs::parse_from(["anvil", "--base"]); assert_eq!( args.evm.networks.base_upgrade(), - Some(foundry_evm_networks::BaseUpgrade::Cobalt) + Some(foundry_evm_networks::BaseUpgrade::Denim) ); } diff --git a/crates/evm/networks/src/lib.rs b/crates/evm/networks/src/lib.rs index 6050cc5d4..f31ddc9d8 100644 --- a/crates/evm/networks/src/lib.rs +++ b/crates/evm/networks/src/lib.rs @@ -58,7 +58,7 @@ const DEFAULT_BASE_ACTIVATION_ADMIN: Address = /// `--base` is passed with no value. Deliberately not tied to upstream /// `BaseUpgrade::LATEST` (`Beryl`), which lags base-anvil's own release /// cadence; bump this alongside `./script/bump-base.sh` as new upgrades land. -const DEFAULT_BASE_UPGRADE: BaseUpgrade = BaseUpgrade::Cobalt; +const DEFAULT_BASE_UPGRADE: BaseUpgrade = BaseUpgrade::Denim; pub mod celo; @@ -118,7 +118,7 @@ pub struct NetworkConfigs { long, conflicts_with = "celo", num_args(0..=1), - default_missing_value = "cobalt", // keep in sync with DEFAULT_BASE_UPGRADE + default_missing_value = "denim", // keep in sync with DEFAULT_BASE_UPGRADE )] #[serde(default, with = "base_flag")] base: Option, @@ -347,10 +347,10 @@ mod tests { #[test] fn default_missing_value_matches_default_base_upgrade() { - // Guards against the CLI's `default_missing_value = "cobalt"` string + // Guards against the CLI's `default_missing_value = "denim"` string // literal drifting from `DEFAULT_BASE_UPGRADE`, since clap can't // reference the constant directly. - assert_eq!("cobalt".parse::().unwrap(), DEFAULT_BASE_UPGRADE); + assert_eq!("denim".parse::().unwrap(), DEFAULT_BASE_UPGRADE); } #[test] From f4d1d3e0d29d5a0a54fcd8a37980f9594ac8cf05 Mon Sep 17 00:00:00 2001 From: Matthew Bunday Date: Fri, 23 Oct 2026 14:23:08 -0400 Subject: [PATCH 2/2] chore(networks): bump base/base pin to 990694f for mainnet Denim Retarget base-common-precompiles / base-common-chains to base/base main 990694fce8f1358b71cf0854e871f74e2a3e2cb9 via ./script/bump-base.sh. This picks up base/base#6124, which schedules Denim on Base mainnet at 1793901600 (2026-11-05 18:00 UTC), plus the precompile changes on main since f9d7bf5. main stays on revm 43 / alloy-evm 0.39 / reth base-v2.7.0.x, so the EVM alignment from #90 is unchanged. Pinning the v1.5.1 tag instead would downgrade to revm 42 / reth base-v2.5.2.8. Cargo.lock changes only the base/base source lines. (cherry picked from commit 2cf0160724ba66dd2032f6b8fc01faefefc7e9eb) --- Cargo.lock | 14 +++++++------- crates/evm/networks/Cargo.toml | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6e00dfc44..9552173d1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2325,7 +2325,7 @@ dependencies = [ [[package]] name = "base-common-chains" version = "0.0.0" -source = "git+https://github.com/base/base.git?rev=f9d7bf5072faaf33b803d23f3102e4def1b23d75#f9d7bf5072faaf33b803d23f3102e4def1b23d75" +source = "git+https://github.com/base/base.git?rev=990694fce8f1358b71cf0854e871f74e2a3e2cb9#990694fce8f1358b71cf0854e871f74e2a3e2cb9" dependencies = [ "alloy-chains", "alloy-eips", @@ -2341,7 +2341,7 @@ dependencies = [ [[package]] name = "base-common-consensus" version = "0.0.0" -source = "git+https://github.com/base/base.git?rev=f9d7bf5072faaf33b803d23f3102e4def1b23d75#f9d7bf5072faaf33b803d23f3102e4def1b23d75" +source = "git+https://github.com/base/base.git?rev=990694fce8f1358b71cf0854e871f74e2a3e2cb9#990694fce8f1358b71cf0854e871f74e2a3e2cb9" dependencies = [ "alloy-consensus", "alloy-eips", @@ -2365,7 +2365,7 @@ dependencies = [ [[package]] name = "base-common-eip8130" version = "0.0.0" -source = "git+https://github.com/base/base.git?rev=f9d7bf5072faaf33b803d23f3102e4def1b23d75#f9d7bf5072faaf33b803d23f3102e4def1b23d75" +source = "git+https://github.com/base/base.git?rev=990694fce8f1358b71cf0854e871f74e2a3e2cb9#990694fce8f1358b71cf0854e871f74e2a3e2cb9" dependencies = [ "alloy-primitives", "base-common-consensus", @@ -2375,7 +2375,7 @@ dependencies = [ [[package]] name = "base-common-genesis" version = "0.0.0" -source = "git+https://github.com/base/base.git?rev=f9d7bf5072faaf33b803d23f3102e4def1b23d75#f9d7bf5072faaf33b803d23f3102e4def1b23d75" +source = "git+https://github.com/base/base.git?rev=990694fce8f1358b71cf0854e871f74e2a3e2cb9#990694fce8f1358b71cf0854e871f74e2a3e2cb9" dependencies = [ "alloy-chains", "alloy-consensus", @@ -2393,7 +2393,7 @@ dependencies = [ [[package]] name = "base-common-precompiles" version = "0.0.0" -source = "git+https://github.com/base/base.git?rev=f9d7bf5072faaf33b803d23f3102e4def1b23d75#f9d7bf5072faaf33b803d23f3102e4def1b23d75" +source = "git+https://github.com/base/base.git?rev=990694fce8f1358b71cf0854e871f74e2a3e2cb9#990694fce8f1358b71cf0854e871f74e2a3e2cb9" dependencies = [ "alloy-evm", "alloy-primitives", @@ -2409,7 +2409,7 @@ dependencies = [ [[package]] name = "base-precompile-macros" version = "0.0.0" -source = "git+https://github.com/base/base.git?rev=f9d7bf5072faaf33b803d23f3102e4def1b23d75#f9d7bf5072faaf33b803d23f3102e4def1b23d75" +source = "git+https://github.com/base/base.git?rev=990694fce8f1358b71cf0854e871f74e2a3e2cb9#990694fce8f1358b71cf0854e871f74e2a3e2cb9" dependencies = [ "alloy-primitives", "proc-macro2", @@ -2420,7 +2420,7 @@ dependencies = [ [[package]] name = "base-precompile-storage" version = "0.0.0" -source = "git+https://github.com/base/base.git?rev=f9d7bf5072faaf33b803d23f3102e4def1b23d75#f9d7bf5072faaf33b803d23f3102e4def1b23d75" +source = "git+https://github.com/base/base.git?rev=990694fce8f1358b71cf0854e871f74e2a3e2cb9#990694fce8f1358b71cf0854e871f74e2a3e2cb9" dependencies = [ "alloy-evm", "alloy-primitives", diff --git a/crates/evm/networks/Cargo.toml b/crates/evm/networks/Cargo.toml index 98465e963..41eecff0a 100644 --- a/crates/evm/networks/Cargo.toml +++ b/crates/evm/networks/Cargo.toml @@ -29,8 +29,8 @@ alloy-primitives = { workspace = true, features = [ # github.com/base/base; bump via ./script/bump-base.sh. To iterate against a # local base/base checkout instead, uncomment the [patch] block at the bottom # of the workspace root Cargo.toml. -base-common-precompiles = { git = "https://github.com/base/base.git", rev = "f9d7bf5072faaf33b803d23f3102e4def1b23d75" } -base-common-chains = { git = "https://github.com/base/base.git", rev = "f9d7bf5072faaf33b803d23f3102e4def1b23d75" } +base-common-precompiles = { git = "https://github.com/base/base.git", rev = "990694fce8f1358b71cf0854e871f74e2a3e2cb9" } +base-common-chains = { git = "https://github.com/base/base.git", rev = "990694fce8f1358b71cf0854e871f74e2a3e2cb9" } revm = { workspace = true, features = [ "std",