diff --git a/crates/config/src/lib.rs b/crates/config/src/lib.rs index 577b6bfac16c1..27e5f85059a59 100644 --- a/crates/config/src/lib.rs +++ b/crates/config/src/lib.rs @@ -857,6 +857,17 @@ impl Config { config.normalize_optimizer_settings(); config.normalize_hardfork_settings().map_err(ExtractConfigError::new)?; + // Validate optimizer_runs does not exceed u32::MAX (Solidity compiler limit) + if let Some(runs) = config.optimizer_runs + && runs > u32::MAX as usize + { + return Err(ExtractConfigError::new(Error::from(format!( + "`optimizer_runs` value {} exceeds maximum allowed value of {}", + runs, + u32::MAX + )))); + } + Ok(config) }