From 7f46db26d714c7211ad9b48431a1a8f0d97b6830 Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Tue, 20 May 2025 10:55:39 +0200 Subject: [PATCH 01/16] start defaulting to prague, add fix for blob handle scaling post cancun --- crates/anvil/src/cmd.rs | 2 +- crates/anvil/src/eth/backend/mem/mod.rs | 14 ++++++++++---- crates/anvil/src/eth/fees.rs | 19 +++++++++++++++++-- crates/anvil/src/hardfork.rs | 9 +++++---- crates/anvil/src/lib.rs | 1 + crates/cast/src/cmd/run.rs | 2 +- crates/config/README.md | 2 +- crates/config/src/lib.rs | 2 +- crates/forge/tests/cli/config.rs | 4 ++-- 9 files changed, 39 insertions(+), 16 deletions(-) diff --git a/crates/anvil/src/cmd.rs b/crates/anvil/src/cmd.rs index 320c975548567..a023cdda353fc 100644 --- a/crates/anvil/src/cmd.rs +++ b/crates/anvil/src/cmd.rs @@ -78,7 +78,7 @@ pub struct NodeArgs { /// The EVM hardfork to use. /// - /// Choose the hardfork by name, e.g. `cancun`, `shanghai`, `paris`, `london`, etc... + /// Choose the hardfork by name, e.g. `prague`, `cancun`, `shanghai`, `paris`, `london`, etc... /// [default: latest] #[arg(long)] pub hardfork: Option, diff --git a/crates/anvil/src/eth/backend/mem/mod.rs b/crates/anvil/src/eth/backend/mem/mod.rs index f728d53d2e58c..c0a79fe066d70 100644 --- a/crates/anvil/src/eth/backend/mem/mod.rs +++ b/crates/anvil/src/eth/backend/mem/mod.rs @@ -779,11 +779,17 @@ impl Backend { /// Returns [`BlobParams`] corresponding to the current spec. pub fn blob_params(&self) -> BlobParams { - if self.env.read().evm_env.cfg_env.spec >= SpecId::PRAGUE { - BlobParams::prague() - } else { - BlobParams::cancun() + let spec_id = self.env.read().evm_env.cfg_env.spec; + + if spec_id >= SpecId::OSAKA { + return BlobParams::osaka(); } + + if spec_id >= SpecId::PRAGUE { + return BlobParams::prague(); + } + + BlobParams::cancun() } /// Returns an error if EIP1559 is not active (pre Berlin) diff --git a/crates/anvil/src/eth/fees.rs b/crates/anvil/src/eth/fees.rs index acec3a29201ac..630b2e6c23597 100644 --- a/crates/anvil/src/eth/fees.rs +++ b/crates/anvil/src/eth/fees.rs @@ -192,6 +192,8 @@ pub fn calculate_next_block_base_fee(gas_used: u64, gas_limit: u64, base_fee: u6 /// An async service that takes care of the `FeeHistory` cache pub struct FeeHistoryService { + /// Hardfork identifier + spec_id: SpecId, /// incoming notifications about new blocks new_blocks: NewBlockNotifications, /// contains all fee history related entries @@ -204,11 +206,18 @@ pub struct FeeHistoryService { impl FeeHistoryService { pub fn new( + spec_id: SpecId, new_blocks: NewBlockNotifications, cache: FeeHistoryCache, storage_info: StorageInfo, ) -> Self { - Self { new_blocks, cache, fee_history_limit: MAX_FEE_HISTORY_CACHE_SIZE, storage_info } + Self { + spec_id, + new_blocks, + cache, + fee_history_limit: MAX_FEE_HISTORY_CACHE_SIZE, + storage_info, + } } /// Returns the configured history limit @@ -245,7 +254,13 @@ impl FeeHistoryService { let base_fee = header.base_fee_per_gas.map(|g| g as u128).unwrap_or_default(); let excess_blob_gas = header.excess_blob_gas.map(|g| g as u128); let blob_gas_used = header.blob_gas_used.map(|g| g as u128); - let base_fee_per_blob_gas = header.blob_fee(BlobParams::cancun()); + + let base_fee_per_blob_gas = match self.spec_id { + SpecId::OSAKA => header.blob_fee(BlobParams::osaka()), + SpecId::PRAGUE => header.blob_fee(BlobParams::prague()), + _ => header.blob_fee(BlobParams::cancun()), + }; + let mut item = FeeHistoryCacheItem { base_fee, gas_used_ratio: 0f64, diff --git a/crates/anvil/src/hardfork.rs b/crates/anvil/src/hardfork.rs index 53ddd4c6740df..e1db50ac8efed 100644 --- a/crates/anvil/src/hardfork.rs +++ b/crates/anvil/src/hardfork.rs @@ -76,9 +76,10 @@ impl EthereumHardfork { Self::GrayGlacier => 15050000, Self::Paris => 15537394, Self::Shanghai => 17034870, - Self::Cancun | Self::Latest => 19426587, + Self::Cancun => 19426587, + Self::Prague | Self::Latest => 22431084, // TODO: add block after activation - Self::Prague | Self::PragueEOF => unreachable!(), + Self::PragueEOF => unreachable!(), } } } @@ -134,8 +135,8 @@ impl From for SpecId { EthereumHardfork::GrayGlacier => Self::GRAY_GLACIER, EthereumHardfork::Paris => Self::MERGE, EthereumHardfork::Shanghai => Self::SHANGHAI, - EthereumHardfork::Cancun | EthereumHardfork::Latest => Self::CANCUN, - EthereumHardfork::Prague => Self::PRAGUE, + EthereumHardfork::Cancun => Self::CANCUN, + EthereumHardfork::Prague | EthereumHardfork::Latest => Self::PRAGUE, // TODO: switch to latest after activation // EOF is included in OSAKA from Revm 16.0.0 EthereumHardfork::PragueEOF => Self::OSAKA, diff --git a/crates/anvil/src/lib.rs b/crates/anvil/src/lib.rs index 77e072e0aa1f2..b6fb69ea8286f 100644 --- a/crates/anvil/src/lib.rs +++ b/crates/anvil/src/lib.rs @@ -198,6 +198,7 @@ pub async fn try_spawn(mut config: NodeConfig) -> Result<(EthApi, NodeHandle)> { let fee_history_cache = Arc::new(Mutex::new(Default::default())); let fee_history_service = FeeHistoryService::new( + backend.spec_id(), backend.new_block_notifications(), Arc::clone(&fee_history_cache), StorageInfo::new(Arc::clone(&backend)), diff --git a/crates/cast/src/cmd/run.rs b/crates/cast/src/cmd/run.rs index c586cf4c9ded4..04f52957ef668 100644 --- a/crates/cast/src/cmd/run.rs +++ b/crates/cast/src/cmd/run.rs @@ -165,7 +165,7 @@ impl RunArgs { if evm_version.is_none() { // if the block has the excess_blob_gas field, we assume it's a Cancun block if block.header.excess_blob_gas.is_some() { - evm_version = Some(EvmVersion::Cancun); + evm_version = Some(EvmVersion::Prague); } } apply_chain_and_block_specific_env_changes::(env.as_env_mut(), block); diff --git a/crates/config/README.md b/crates/config/README.md index be3055f5816f7..bd2b683f1bae4 100644 --- a/crates/config/README.md +++ b/crates/config/README.md @@ -79,7 +79,7 @@ allow_paths = [] # additional solc include paths include_paths = [] force = false -evm_version = 'shanghai' +evm_version = 'prague' gas_reports = ['*'] gas_reports_ignore = [] ## Sets the concrete solc version to use, this overrides the `auto_detect_solc` value diff --git a/crates/config/src/lib.rs b/crates/config/src/lib.rs index a0f0df4c8637f..a7c582808f073 100644 --- a/crates/config/src/lib.rs +++ b/crates/config/src/lib.rs @@ -2338,7 +2338,7 @@ impl Default for Config { allow_paths: vec![], include_paths: vec![], force: false, - evm_version: EvmVersion::Cancun, + evm_version: EvmVersion::Prague, gas_reports: vec!["*".to_string()], gas_reports_ignore: vec![], gas_reports_include_tests: false, diff --git a/crates/forge/tests/cli/config.rs b/crates/forge/tests/cli/config.rs index 41db96842d0ef..1bede2e6a64f4 100644 --- a/crates/forge/tests/cli/config.rs +++ b/crates/forge/tests/cli/config.rs @@ -984,7 +984,7 @@ allow_paths = [] include_paths = [] skip = [] force = false -evm_version = "cancun" +evm_version = "prague" gas_reports = ["*"] gas_reports_ignore = [] gas_reports_include_tests = false @@ -1143,7 +1143,7 @@ exclude = [] "include_paths": [], "skip": [], "force": false, - "evm_version": "cancun", + "evm_version": "prague", "gas_reports": [ "*" ], From 3eb91bbfbd1659339f2b11f2542364ed5a38137b Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Tue, 20 May 2025 12:44:49 +0200 Subject: [PATCH 02/16] fix anvil test --- crates/anvil/tests/it/anvil_api.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/anvil/tests/it/anvil_api.rs b/crates/anvil/tests/it/anvil_api.rs index ce337714587b9..ecd57a0d17101 100644 --- a/crates/anvil/tests/it/anvil_api.rs +++ b/crates/anvil/tests/it/anvil_api.rs @@ -448,7 +448,7 @@ async fn can_get_node_info() { let block_number = provider.get_block_number().await.unwrap(); let block = provider.get_block(BlockId::from(block_number)).await.unwrap().unwrap(); - let hard_fork: &str = SpecId::CANCUN.into(); + let hard_fork: &str = SpecId::PRAGUE.into(); let expected_node_info = NodeInfo { current_block_number: 0_u64, From 9ed728511e17933a74e9a63c6fff01b1048c5fb0 Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Tue, 20 May 2025 12:58:15 +0200 Subject: [PATCH 03/16] switch to 0.8.30 for tests --- crates/forge/tests/cli/cmd.rs | 4 ++-- crates/test-utils/src/util.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/forge/tests/cli/cmd.rs b/crates/forge/tests/cli/cmd.rs index 3f76a179a0994..25c7e052d9628 100644 --- a/crates/forge/tests/cli/cmd.rs +++ b/crates/forge/tests/cli/cmd.rs @@ -2923,7 +2923,7 @@ contract NestedDeploy is Test { +============================================================================================+ | Deployment Cost | Deployment Size | | | | | |-------------------------------------------+-----------------+-----+--------+-----+---------| -| 328961 | 1163 | | | | | +| 328949 | 1163 | | | | | |-------------------------------------------+-----------------+-----+--------+-----+---------| | | | | | | | |-------------------------------------------+-----------------+-----+--------+-----+---------| @@ -3673,7 +3673,7 @@ forgetest_init!(can_inspect_standard_json, |prj, cmd| { ] } }, - "evmVersion": "cancun", + "evmVersion": "prague", "viaIR": false, "libraries": {} } diff --git a/crates/test-utils/src/util.rs b/crates/test-utils/src/util.rs index 3179503f28f90..a72c36df8b081 100644 --- a/crates/test-utils/src/util.rs +++ b/crates/test-utils/src/util.rs @@ -48,7 +48,7 @@ static TEMPLATE_LOCK: LazyLock = static NEXT_ID: AtomicUsize = AtomicUsize::new(0); /// The default Solc version used when compiling tests. -pub const SOLC_VERSION: &str = "0.8.27"; +pub const SOLC_VERSION: &str = "0.8.30"; /// Another Solc version used when compiling tests. /// From 1eca04d7c996f2199bc90ebdc43f9e21567cf4fa Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Wed, 21 May 2025 11:43:01 +0200 Subject: [PATCH 04/16] switch foundry-compilers to default to prague, small test fixes --- Cargo.lock | 5 +++++ Cargo.toml | 1 + crates/forge/tests/cli/script.rs | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index f753c14ae807c..41b1a54a4adff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10766,3 +10766,8 @@ dependencies = [ "cc", "pkg-config", ] + +[[patch.unused]] +name = "foundry-compilers" +version = "0.16.2" +source = "git+https://github.com/foundry-rs/compilers.git?rev=898bcbb#898bcbb77c0fe67a538a539694ed6f48598a24c8" diff --git a/Cargo.toml b/Cargo.toml index 85c1b018440f0..88147742e8a89 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -392,4 +392,5 @@ op-revm = { git = "https://github.com/bluealloy/revm.git", rev = "b5808253" } # revm-inspectors = { git = "https://github.com/paradigmxyz/revm-inspectors.git", rev = "a625c04" } ## foundry +foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "898bcbb" } # foundry-fork-db = { git = "https://github.com/foundry-rs/foundry-fork-db", rev = "811a61a" } diff --git a/crates/forge/tests/cli/script.rs b/crates/forge/tests/cli/script.rs index f2b5dc1ca15ae..1e1ab73c9673f 100644 --- a/crates/forge/tests/cli/script.rs +++ b/crates/forge/tests/cli/script.rs @@ -2575,7 +2575,7 @@ Chain 31337 accessList [] chainId 31337 -gasLimit 228231 +gasLimit [..] gasPrice input [..] maxFeePerBlobGas From fff560af43c590fd3e838070e887de8b7bfae49c Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Mon, 26 May 2025 19:56:32 +0200 Subject: [PATCH 05/16] add workaround for Vyper not yet supporting Prague --- Cargo.lock | 22 ++++++---------------- crates/cast/tests/cli/main.rs | 2 +- crates/config/src/lib.rs | 8 +++++++- crates/forge/tests/cli/compiler.rs | 2 +- crates/forge/tests/cli/config.rs | 2 +- crates/forge/tests/it/test_helpers.rs | 2 +- 6 files changed, 17 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a136566fdc11f..83d656b076b26 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4231,8 +4231,7 @@ dependencies = [ [[package]] name = "foundry-compilers" version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a43ecf9100de8d31242b7a7cf965196e3d8fb424a931a975a7882897726f4c46" +source = "git+https://github.com/foundry-rs/compilers.git?rev=898bcbb#898bcbb77c0fe67a538a539694ed6f48598a24c8" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4245,7 +4244,7 @@ dependencies = [ "fs_extra", "futures-util", "home", - "itertools 0.14.0", + "itertools 0.13.0", "path-slash", "rand 0.8.5", "rayon", @@ -4268,8 +4267,7 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts" version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07ebb99f087075b97b68837de385f6cba07ca32314852a6507ce0dac5d66cd8" +source = "git+https://github.com/foundry-rs/compilers.git?rev=898bcbb#898bcbb77c0fe67a538a539694ed6f48598a24c8" dependencies = [ "foundry-compilers-artifacts-solc", "foundry-compilers-artifacts-vyper", @@ -4278,8 +4276,7 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-solc" version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49ddf6d61defb08103e351dc16df637c42d69407bae0f8789f2662a6161e73f5" +source = "git+https://github.com/foundry-rs/compilers.git?rev=898bcbb#898bcbb77c0fe67a538a539694ed6f48598a24c8" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4301,8 +4298,7 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-vyper" version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65a777326b8e0bba45345043ed80ceab5e84f3e474ba2ac19673b31076f3c6b4" +source = "git+https://github.com/foundry-rs/compilers.git?rev=898bcbb#898bcbb77c0fe67a538a539694ed6f48598a24c8" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4316,8 +4312,7 @@ dependencies = [ [[package]] name = "foundry-compilers-core" version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be02912b222eb5bd8a4e8a249a488af3e2fb4fc08e0f17a3bc402406a91295b5" +source = "git+https://github.com/foundry-rs/compilers.git?rev=898bcbb#898bcbb77c0fe67a538a539694ed6f48598a24c8" dependencies = [ "alloy-primitives", "cfg-if", @@ -10805,8 +10800,3 @@ dependencies = [ "cc", "pkg-config", ] - -[[patch.unused]] -name = "foundry-compilers" -version = "0.16.2" -source = "git+https://github.com/foundry-rs/compilers.git?rev=898bcbb#898bcbb77c0fe67a538a539694ed6f48598a24c8" diff --git a/crates/cast/tests/cli/main.rs b/crates/cast/tests/cli/main.rs index 4735a8ce1abbc..59ae4053bb11e 100644 --- a/crates/cast/tests/cli/main.rs +++ b/crates/cast/tests/cli/main.rs @@ -2297,7 +2297,7 @@ contract CounterInExternalLibScript is Script { ... Traces: [..] → new @0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 - ├─ [..] 0x52F3e85EC3F0f9D0a2200D646482fcD134D5adc9::updateCounterInExternalLib(0, 100) [delegatecall] + ├─ [..] 0x6fD8bf6770F4bEe578348D24028000cE9c4D2bB9::updateCounterInExternalLib(0, 100) [delegatecall] │ └─ ← [Stop] └─ ← [Return] 62 bytes of code diff --git a/crates/config/src/lib.rs b/crates/config/src/lib.rs index 50563887e14e0..97050d03f74be 100644 --- a/crates/config/src/lib.rs +++ b/crates/config/src/lib.rs @@ -1548,8 +1548,14 @@ impl Config { /// Returns the configured [VyperSettings] that includes: /// - evm version pub fn vyper_settings(&self) -> Result { + // Vyper does not yet support Prague, so we normalize it to Cancun. + let evm_version = match self.evm_version { + EvmVersion::Prague => EvmVersion::Cancun, + _ => self.evm_version, + }; + Ok(VyperSettings { - evm_version: Some(self.evm_version), + evm_version: Some(evm_version), optimize: self.vyper.optimize, bytecode_metadata: None, // TODO: We don't yet have a way to deserialize other outputs correctly, so request only diff --git a/crates/forge/tests/cli/compiler.rs b/crates/forge/tests/cli/compiler.rs index 0b58221f2a1d0..ae07aec6d0225 100644 --- a/crates/forge/tests/cli/compiler.rs +++ b/crates/forge/tests/cli/compiler.rs @@ -242,7 +242,7 @@ Solidity: Vyper: -0.4.0 (<= cancun): +0.4.0 (<= prague): ├── src/Counter.vy └── src/ICounter.vyi diff --git a/crates/forge/tests/cli/config.rs b/crates/forge/tests/cli/config.rs index 00b62b3a921e3..9159f73ed53a2 100644 --- a/crates/forge/tests/cli/config.rs +++ b/crates/forge/tests/cli/config.rs @@ -1712,7 +1712,7 @@ contract Counter { let v1_profile = SettingsOverrides { name: "v1".to_string(), via_ir: Some(true), - evm_version: Some(EvmVersion::Cancun), + evm_version: Some(EvmVersion::Prague), optimizer: None, optimizer_runs: Some(44444444), bytecode_hash: None, diff --git a/crates/forge/tests/it/test_helpers.rs b/crates/forge/tests/it/test_helpers.rs index 4de095be9e473..2043af8c01580 100644 --- a/crates/forge/tests/it/test_helpers.rs +++ b/crates/forge/tests/it/test_helpers.rs @@ -332,7 +332,7 @@ pub static TEST_DATA_DEFAULT: LazyLock = pub static TEST_DATA_PARIS: LazyLock = LazyLock::new(|| ForgeTestData::new(ForgeTestProfile::Paris)); -/// Data for tests requiring Cancun support on Solc and EVM level. +/// Data for tests requiring Prague support on Solc and EVM level. pub static TEST_DATA_MULTI_VERSION: LazyLock = LazyLock::new(|| ForgeTestData::new(ForgeTestProfile::MultiVersion)); From 2ee2f17285b4bd48be3431fb446821b442c23d21 Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Tue, 27 May 2025 12:52:02 +0200 Subject: [PATCH 06/16] fix issues --- Cargo.lock | 10 +++++----- Cargo.toml | 2 +- crates/forge/src/cmd/compiler.rs | 15 ++++++++++----- crates/forge/tests/cli/compiler.rs | 2 +- crates/forge/tests/cli/test_optimizer.rs | 4 ++-- 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 83d656b076b26..d04a6fb358dbd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "foundry-compilers" version = "0.16.2" -source = "git+https://github.com/foundry-rs/compilers.git?rev=898bcbb#898bcbb77c0fe67a538a539694ed6f48598a24c8" +source = "git+https://github.com/foundry-rs/compilers.git?rev=10fe5af#10fe5afa2f174532df421e9f5b36c9a2b2ea03fe" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4267,7 +4267,7 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts" version = "0.16.2" -source = "git+https://github.com/foundry-rs/compilers.git?rev=898bcbb#898bcbb77c0fe67a538a539694ed6f48598a24c8" +source = "git+https://github.com/foundry-rs/compilers.git?rev=10fe5af#10fe5afa2f174532df421e9f5b36c9a2b2ea03fe" dependencies = [ "foundry-compilers-artifacts-solc", "foundry-compilers-artifacts-vyper", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-solc" version = "0.16.2" -source = "git+https://github.com/foundry-rs/compilers.git?rev=898bcbb#898bcbb77c0fe67a538a539694ed6f48598a24c8" +source = "git+https://github.com/foundry-rs/compilers.git?rev=10fe5af#10fe5afa2f174532df421e9f5b36c9a2b2ea03fe" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4298,7 +4298,7 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-vyper" version = "0.16.2" -source = "git+https://github.com/foundry-rs/compilers.git?rev=898bcbb#898bcbb77c0fe67a538a539694ed6f48598a24c8" +source = "git+https://github.com/foundry-rs/compilers.git?rev=10fe5af#10fe5afa2f174532df421e9f5b36c9a2b2ea03fe" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4312,7 +4312,7 @@ dependencies = [ [[package]] name = "foundry-compilers-core" version = "0.16.2" -source = "git+https://github.com/foundry-rs/compilers.git?rev=898bcbb#898bcbb77c0fe67a538a539694ed6f48598a24c8" +source = "git+https://github.com/foundry-rs/compilers.git?rev=10fe5af#10fe5afa2f174532df421e9f5b36c9a2b2ea03fe" dependencies = [ "alloy-primitives", "cfg-if", diff --git a/Cargo.toml b/Cargo.toml index 93e15e5c04cab..5da4d2a6d8914 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -399,5 +399,5 @@ zip-extract = "=0.2.1" # revm-inspectors = { git = "https://github.com/paradigmxyz/revm-inspectors.git", rev = "a625c04" } ## foundry -foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "898bcbb" } +foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "10fe5af" } # foundry-fork-db = { git = "https://github.com/foundry-rs/foundry-fork-db", rev = "811a61a" } diff --git a/crates/forge/src/cmd/compiler.rs b/crates/forge/src/cmd/compiler.rs index 19e4354ca9cb4..afc0ce56e751e 100644 --- a/crates/forge/src/cmd/compiler.rs +++ b/crates/forge/src/cmd/compiler.rs @@ -93,11 +93,16 @@ impl ResolveArgs { .collect(); let evm_version = if shell::verbosity() > 1 { - Some( - EvmVersion::default() - .normalize_version_solc(version) - .unwrap_or_default(), - ) + let evm = EvmVersion::default() + .normalize_version_solc(version) + .unwrap_or_default(); + + // Vyper does not yet support Prague, so we normalize it to Cancun. + if language.to_string() == "Vyper" && evm == EvmVersion::Prague { + Some(EvmVersion::Cancun) + } else { + Some(evm) + } } else { None }; diff --git a/crates/forge/tests/cli/compiler.rs b/crates/forge/tests/cli/compiler.rs index ae07aec6d0225..0b58221f2a1d0 100644 --- a/crates/forge/tests/cli/compiler.rs +++ b/crates/forge/tests/cli/compiler.rs @@ -242,7 +242,7 @@ Solidity: Vyper: -0.4.0 (<= prague): +0.4.0 (<= cancun): ├── src/Counter.vy └── src/ICounter.vyi diff --git a/crates/forge/tests/cli/test_optimizer.rs b/crates/forge/tests/cli/test_optimizer.rs index 6c286c52793ec..de0f57022a96b 100644 --- a/crates/forge/tests/cli/test_optimizer.rs +++ b/crates/forge/tests/cli/test_optimizer.rs @@ -1082,7 +1082,7 @@ contract CounterTest is Test { function test_Increment_In_Counter_With_Salt() public { CounterWithSalt counter = new CounterWithSalt{value: 111, salt: bytes32("preprocess_counter_with_salt")}(1); - assertEq(address(counter), 0x3Efe9ecFc73fB3baB7ECafBB40D3e134260Be6AB); + assertEq(address(counter), 0x223e63BE3BF01DD04f852d70f1bE217017055f49); } } "#, @@ -1160,7 +1160,7 @@ contract CounterWithSalt { Compiling 1 files with [..] ... [FAIL: assertion failed: 113 != 112] test_Increment_In_Counter() (gas: [..]) -[FAIL: assertion failed: 0x6cDcb015cFcAd0C23560322EdEE8f324520E4b93 != 0x3Efe9ecFc73fB3baB7ECafBB40D3e134260Be6AB] test_Increment_In_Counter_With_Salt() (gas: [..]) +[FAIL: assertion failed: 0x11acEfcD29A1BA964A05C0E7F3901054BEfb17c0 != 0x223e63BE3BF01DD04f852d70f1bE217017055f49] test_Increment_In_Counter_With_Salt() (gas: [..]) ... "#]]); From ac4245202aac88af8c68e51446b174831fb56e2d Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Tue, 27 May 2025 13:22:45 +0200 Subject: [PATCH 07/16] fix tests, questionable gas difference and address difference --- crates/forge/tests/cli/test_cmd.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/crates/forge/tests/cli/test_cmd.rs b/crates/forge/tests/cli/test_cmd.rs index af4b2aed7d0e7..a676b35fc52f8 100644 --- a/crates/forge/tests/cli/test_cmd.rs +++ b/crates/forge/tests/cli/test_cmd.rs @@ -1582,7 +1582,7 @@ contract ATest is Test { cmd.args(["test"]).with_no_redact().assert_success().stdout_eq(str![[r#" ... -[PASS] test_negativeGas() (gas: 0) +[PASS] test_negativeGas() (gas: 96) ... "#]]); }); @@ -1779,17 +1779,17 @@ contract ATest is DSTest { cmd.args(["test"]).with_no_redact().assert_success().stdout_eq(str![[r#" ... -[PASS] testResetGas() (gas: 40) -[PASS] testResetGas1() (gas: 40) -[PASS] testResetGas2() (gas: 40) +[PASS] testResetGas() (gas: 96) +[PASS] testResetGas1() (gas: 96) +[PASS] testResetGas2() (gas: 96) [PASS] testResetGas3() (gas: [..]) [PASS] testResetGas4() (gas: [..]) -[PASS] testResetGas5() (gas: 40) -[PASS] testResetGas6() (gas: 40) -[PASS] testResetGas7() (gas: 49) +[PASS] testResetGas5() (gas: 96) +[PASS] testResetGas6() (gas: 96) +[PASS] testResetGas7() (gas: 96) [PASS] testResetGas8() (gas: [..]) -[PASS] testResetGas9() (gas: 40) -[PASS] testResetNegativeGas() (gas: 0) +[PASS] testResetGas9() (gas: 96) +[PASS] testResetNegativeGas() (gas: 96) ... "#]]); }); @@ -2788,7 +2788,7 @@ forgetest_async!(can_get_broadcast_txs, |prj, cmd| { 31337 ); - assertEq(deployedAddress, address(0x90d4E26f2e78feDf488c7F3C46B8053a0515c71F)); + assertEq(deployedAddress, address(0xD32c10E38A626Db0b0978B1A5828eb2957665668)); } function test_getDeployments() public { @@ -2798,7 +2798,7 @@ forgetest_async!(can_get_broadcast_txs, |prj, cmd| { ); assertEq(deployments.length, 2); - assertEq(deployments[0], address(0x90d4E26f2e78feDf488c7F3C46B8053a0515c71F)); // Create2 address - latest deployment + assertEq(deployments[0], address(0xD32c10E38A626Db0b0978B1A5828eb2957665668)); // Create2 address - latest deployment assertEq(deployments[1], address(0x5FbDB2315678afecb367f032d93F642f64180aa3)); // Create address - oldest deployment } } From ca6259cd10ecca9e868a338625aa226c448d71ac Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Tue, 27 May 2025 13:40:49 +0200 Subject: [PATCH 08/16] make prague explicit --- crates/forge/src/cmd/compiler.rs | 8 ++++++-- crates/forge/tests/cli/compiler.rs | 16 ++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/crates/forge/src/cmd/compiler.rs b/crates/forge/src/cmd/compiler.rs index afc0ce56e751e..d766f587ddbc9 100644 --- a/crates/forge/src/cmd/compiler.rs +++ b/crates/forge/src/cmd/compiler.rs @@ -1,7 +1,9 @@ use clap::{Parser, Subcommand, ValueHint}; use eyre::Result; use foundry_common::shell; -use foundry_compilers::{artifacts::EvmVersion, Graph}; +use foundry_compilers::{ + artifacts::EvmVersion, multi::MultiCompilerLanguage, Graph, VyperLanguage, +}; use foundry_config::Config; use semver::Version; use serde::Serialize; @@ -98,7 +100,9 @@ impl ResolveArgs { .unwrap_or_default(); // Vyper does not yet support Prague, so we normalize it to Cancun. - if language.to_string() == "Vyper" && evm == EvmVersion::Prague { + if matches!(language, MultiCompilerLanguage::Vyper(_)) && + evm == EvmVersion::Prague + { Some(EvmVersion::Cancun) } else { Some(evm) diff --git a/crates/forge/tests/cli/compiler.rs b/crates/forge/tests/cli/compiler.rs index 0b58221f2a1d0..f58d5c3ef1511 100644 --- a/crates/forge/tests/cli/compiler.rs +++ b/crates/forge/tests/cli/compiler.rs @@ -18,14 +18,14 @@ contract ContractB {} const CONTRACT_C: &str = r#" // SPDX-license-identifier: MIT -pragma solidity 0.8.27; +pragma solidity 0.8.30; contract ContractC {} "#; const CONTRACT_D: &str = r#" // SPDX-license-identifier: MIT -pragma solidity 0.8.27; +pragma solidity 0.8.30; contract ContractD {} "#; @@ -111,7 +111,7 @@ forgetest!(can_list_resolved_compiler_versions_verbose, |prj, cmd| { cmd.args(["compiler", "resolve", "-v"]).assert_success().stdout_eq(str![[r#" Solidity: -0.8.27: +0.8.30: ├── src/ContractC.sol └── src/ContractD.sol @@ -128,7 +128,7 @@ forgetest!(can_list_resolved_compiler_versions_verbose_json, |prj, cmd| { { "Solidity": [ { - "version": "0.8.27", + "version": "0.8.30", "paths": [ "src/ContractC.sol", "src/ContractD.sol" @@ -153,7 +153,7 @@ forgetest!(can_list_resolved_multiple_compiler_versions, |prj, cmd| { Solidity: - 0.8.4 - 0.8.11 -- 0.8.27 +- 0.8.30 Vyper: - 0.4.0 @@ -198,7 +198,7 @@ forgetest!(can_list_resolved_multiple_compiler_versions_skipped_json, |prj, cmd| { "Solidity": [ { - "version": "0.8.27", + "version": "0.8.30", "paths": [ "src/ContractD.sol" ] @@ -236,7 +236,7 @@ Solidity: 0.8.11 (<= london): └── src/ContractB.sol -0.8.27 (<= [..]): +0.8.30 (<= prague): ├── src/ContractC.sol └── src/ContractD.sol @@ -277,7 +277,7 @@ forgetest!(can_list_resolved_multiple_compiler_versions_verbose_json, |prj, cmd| ] }, { - "version": "0.8.27", + "version": "0.8.30", "evm_version": "[..]", "paths": [ "src/ContractC.sol", From ee7d074aaafa92841d1aaa140090de53699d7f8d Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Tue, 27 May 2025 13:44:36 +0200 Subject: [PATCH 09/16] fix clippy --- crates/forge/src/cmd/compiler.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/crates/forge/src/cmd/compiler.rs b/crates/forge/src/cmd/compiler.rs index d766f587ddbc9..c3381a0f86dd6 100644 --- a/crates/forge/src/cmd/compiler.rs +++ b/crates/forge/src/cmd/compiler.rs @@ -1,9 +1,7 @@ use clap::{Parser, Subcommand, ValueHint}; use eyre::Result; use foundry_common::shell; -use foundry_compilers::{ - artifacts::EvmVersion, multi::MultiCompilerLanguage, Graph, VyperLanguage, -}; +use foundry_compilers::{artifacts::EvmVersion, multi::MultiCompilerLanguage, Graph}; use foundry_config::Config; use semver::Version; use serde::Serialize; From f8f3b1c63e24c6417a0f136bc11c71b5668205e0 Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Wed, 28 May 2025 17:03:25 +0200 Subject: [PATCH 10/16] bump compilers version --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 0e3b8f74abc8d..a5b9725874a3d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -401,5 +401,5 @@ zip-extract = "=0.2.1" # revm-inspectors = { git = "https://github.com/paradigmxyz/revm-inspectors.git", rev = "a625c04" } ## foundry -foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "10fe5af" } +foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "3ac17c8" } # foundry-fork-db = { git = "https://github.com/foundry-rs/foundry-fork-db", rev = "811a61a" } From 9edcccf71d7f8ff727a4f6d12d9802a240735757 Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Wed, 28 May 2025 20:04:14 +0200 Subject: [PATCH 11/16] bump to 0.16.3 --- Cargo.lock | 27 ++++++++++++++++----------- Cargo.toml | 4 ++-- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4a85fff4461a2..a5810f61b4f0b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4235,8 +4235,9 @@ dependencies = [ [[package]] name = "foundry-compilers" -version = "0.16.2" -source = "git+https://github.com/foundry-rs/compilers.git?rev=10fe5af#10fe5afa2f174532df421e9f5b36c9a2b2ea03fe" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e5380f1fb458a4da92287f63fae41f406d50258d0e71e3f3d83a83f178928db" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4249,7 +4250,7 @@ dependencies = [ "fs_extra", "futures-util", "home", - "itertools 0.13.0", + "itertools 0.14.0", "path-slash", "rand 0.8.5", "rayon", @@ -4271,8 +4272,9 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts" -version = "0.16.2" -source = "git+https://github.com/foundry-rs/compilers.git?rev=10fe5af#10fe5afa2f174532df421e9f5b36c9a2b2ea03fe" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86bb61c2b9815a61f15297c8e416b9d2634794727a7f7302ea4b4e592d22a26a" dependencies = [ "foundry-compilers-artifacts-solc", "foundry-compilers-artifacts-vyper", @@ -4280,8 +4282,9 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-solc" -version = "0.16.2" -source = "git+https://github.com/foundry-rs/compilers.git?rev=10fe5af#10fe5afa2f174532df421e9f5b36c9a2b2ea03fe" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81b5269f0c1885b82e9b98d81fa9cb6218f8f090e447093c14b1616fcea24b22" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4302,8 +4305,9 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-vyper" -version = "0.16.2" -source = "git+https://github.com/foundry-rs/compilers.git?rev=10fe5af#10fe5afa2f174532df421e9f5b36c9a2b2ea03fe" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d568ce1301491e36236e2e9b886a56065490f64eb63b989056c7aaeea6b36524" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4316,8 +4320,9 @@ dependencies = [ [[package]] name = "foundry-compilers-core" -version = "0.16.2" -source = "git+https://github.com/foundry-rs/compilers.git?rev=10fe5af#10fe5afa2f174532df421e9f5b36c9a2b2ea03fe" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c92c2736c818f4f36076be49474cd6b16ee46c27646edc2f5db051ee06f99b" dependencies = [ "alloy-primitives", "cfg-if", diff --git a/Cargo.toml b/Cargo.toml index a5b9725874a3d..ec7fcf7fa96bb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -199,7 +199,7 @@ foundry-linking = { path = "crates/linking" } # solc & compilation utilities foundry-block-explorers = { version = "0.17.0", default-features = false } -foundry-compilers = { version = "0.16.1", default-features = false } +foundry-compilers = { version = "0.16.3", default-features = false } foundry-fork-db = "0.15" solang-parser = { version = "=0.3.8", package = "foundry-solang-parser" } solar-ast = { version = "=0.1.3", default-features = false } @@ -401,5 +401,5 @@ zip-extract = "=0.2.1" # revm-inspectors = { git = "https://github.com/paradigmxyz/revm-inspectors.git", rev = "a625c04" } ## foundry -foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "3ac17c8" } +# foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "628b40d" } # foundry-fork-db = { git = "https://github.com/foundry-rs/foundry-fork-db", rev = "811a61a" } From d4a76cbceb2edbaa236e86d19be8e2e90c422d46 Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Mon, 2 Jun 2025 10:34:20 +0200 Subject: [PATCH 12/16] pass in blob params, add normalize vyper evm version helper, fix solar iter 0.1.4 --- Cargo.lock | 356 ++++++++++++------------- Cargo.toml | 14 +- crates/anvil/src/eth/fees.rs | 15 +- crates/anvil/src/lib.rs | 8 +- crates/common/src/preprocessor/deps.rs | 2 +- crates/config/src/lib.rs | 10 +- crates/config/src/vyper.rs | 12 +- crates/forge/src/cmd/compiler.rs | 10 +- 8 files changed, 213 insertions(+), 214 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a638b7edacf85..c2212a3ed4ccc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -70,9 +70,9 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7329eb72d95576dfb8813175bcf671198fb24266b0b3e520052a513e30c284df" +checksum = "ad451f9a70c341d951bca4e811d74dbe1e193897acd17e9dbac1353698cc430b" dependencies = [ "alloy-eips", "alloy-primitives", @@ -94,9 +94,9 @@ dependencies = [ [[package]] name = "alloy-consensus-any" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31b286aeef04a32720c10defd21c3aa6c626154ac442b55f6d472caeb1c6741" +checksum = "142daffb15d5be1a2b20d2cd540edbcef03037b55d4ff69dc06beb4d06286dba" dependencies = [ "alloy-consensus", "alloy-eips", @@ -108,9 +108,9 @@ dependencies = [ [[package]] name = "alloy-contract" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1658352ca9425d7b5bbb3ae364bc276ab18d4afae06f5faf00377b6964fdf68" +checksum = "ebf25443920ecb9728cb087fe4dc04a0b290bd6ac85638c58fe94aba70f1a44e" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -187,9 +187,9 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa190bfa5340aee544ac831114876fa73bc8da487095b49a5ea153a6a4656ea" +checksum = "3056872f6da48046913e76edb5ddced272861f6032f09461aea1a2497be5ae5d" dependencies = [ "alloy-eip2124", "alloy-eip2930", @@ -207,9 +207,9 @@ dependencies = [ [[package]] name = "alloy-ens" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecbc80925fcfa5fa20ad45392535a98f586ee96ad75f8e801ca7e4d9176e0c4" +checksum = "939f8a617f883de8c8da812fa1164abe83f5ece081322ac072483fa0775a9898" dependencies = [ "alloy-contract", "alloy-primitives", @@ -240,9 +240,9 @@ dependencies = [ [[package]] name = "alloy-genesis" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b81b2dfd278d58af8bfde8753fa4685407ba8fbad8bc88a2bb0e065eed48478" +checksum = "c98fb40f07997529235cc474de814cd7bd9de561e101716289095696c0e4639d" dependencies = [ "alloy-eips", "alloy-primitives", @@ -278,9 +278,9 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ab2dba5dca01ad4281b4d4726a18e2012a20e3950bfc2a90c5376840555366" +checksum = "dc08b31ebf9273839bd9a01f9333cbb7a3abb4e820c312ade349dd18bdc79581" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -292,9 +292,9 @@ dependencies = [ [[package]] name = "alloy-network" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0ed07e76fbc72790a911ea100cdfbe85b1f12a097c91b948042e854959d140e" +checksum = "ed117b08f0cc190312bf0c38c34cf4f0dabfb4ea8f330071c587cd7160a88cb2" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -318,9 +318,9 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05aa52713c376f797b3c7077708585f22a5c3053a7b1b2b355ea98edeb2052d" +checksum = "c7162ff7be8649c0c391f4e248d1273e85c62076703a1f3ec7daf76b283d886d" dependencies = [ "alloy-consensus", "alloy-eips", @@ -389,9 +389,9 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05a3f7a59c276c6e410267e77a166f9297dbe74e4605f1abf625e29d85c53144" +checksum = "d84eba1fd8b6fe8b02f2acd5dd7033d0f179e304bd722d11e817db570d1fa6c4" dependencies = [ "alloy-chains", "alloy-consensus", @@ -434,9 +434,9 @@ dependencies = [ [[package]] name = "alloy-pubsub" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc3cbf02fdedbec7aadc7a77080b6b143752fa792c7fd49b86fd854257688bd4" +checksum = "8550f7306e0230fc835eb2ff4af0a96362db4b6fc3f25767d161e0ad0ac765bf" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -477,9 +477,9 @@ dependencies = [ [[package]] name = "alloy-rpc-client" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f185483536cbcbf55971077140e03548dad4f3a4ddb35044bcdc01b8f02ce1" +checksum = "518a699422a3eab800f3dac2130d8f2edba8e4fff267b27a9c7dc6a2b0d313ee" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -505,9 +505,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "347dfd77ba4d74886dba9e2872ff64fb246001b08868d27baec94e7248503e08" +checksum = "c000cab4ec26a4b3e29d144e999e1c539c2fa0abed871bf90311eb3466187ca8" dependencies = [ "alloy-primitives", "alloy-rpc-types-anvil", @@ -521,9 +521,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e15bd6456742d6dcadacf3cd238a90a8a7aa9f00bc7cc641ae272f5d3f5d4f" +checksum = "8abecc34549a208b5f91bc7f02df3205c36e2aa6586f1d9375c3382da1066b3b" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -533,9 +533,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-any" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67971a228100ac65bd86e90439028853435f21796330ef08f00a70a918a84126" +checksum = "508b2fbe66d952089aa694e53802327798806498cd29ff88c75135770ecaabfc" dependencies = [ "alloy-consensus-any", "alloy-rpc-types-eth", @@ -544,9 +544,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-debug" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe8bc37b23e788c0f8081a7eec34fd439cfa8d4f137f6e987803fb2a733866ca" +checksum = "8c832f2e851801093928dbb4b7bd83cd22270faf76b2e080646b806a285c8757" dependencies = [ "alloy-primitives", "serde", @@ -554,9 +554,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bcf49fe91b3d621440dcc5bb067afaeba5ca4b07f59e42fb7af42944146a8c0" +checksum = "cab52691970553d84879d777419fa7b6a2e92e9fe8641f9324cc071008c2f656" dependencies = [ "alloy-consensus", "alloy-eips", @@ -572,9 +572,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d9b4293dfd4721781d33ee40de060376932d4a55d421cf6618ad66ff97cc52" +checksum = "fcaf7dff0fdd756a714d58014f4f8354a1706ebf9fa2cf73431e0aeec3c9431e" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -592,9 +592,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-trace" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f68f020452c0d570b4eee22d4ffda9e4eda68ebcf67e1199d6dff48097f442b" +checksum = "6e3507a04e868dd83219ad3cd6a8c58aefccb64d33f426b3934423a206343e84" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -606,9 +606,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-txpool" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62a82f15f296c2c83c55519d21ca07801fb58b118878b0f4777250968e49f4fe" +checksum = "eec36272621c3ac82b47dd77f0508346687730b1c2e3e10d3715705c217c0a05" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -618,9 +618,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7d927aa39ca51545ae4c9cf4bdb2cbc1f6b46ab4b54afc3ed9255f93eedbce" +checksum = "730e8f2edf2fc224cabd1c25d090e1655fa6137b2e409f92e5eec735903f1507" dependencies = [ "alloy-primitives", "serde", @@ -629,9 +629,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c63771b50008d2b079187e9e74a08235ab16ecaf4609b4eb895e2890a3bcd465" +checksum = "6b0d2428445ec13edc711909e023d7779618504c4800be055a5b940025dbafe3" dependencies = [ "alloy-dyn-abi", "alloy-primitives", @@ -646,9 +646,9 @@ dependencies = [ [[package]] name = "alloy-signer-aws" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27a8f3d6f2e11b5a4f73ab34f3b2b526684e6b26e2a2ebf2264c1dae45030451" +checksum = "6be3d371299b62eac5aa459fa58e8d1c761aabdc637573ae258ab744457fcc88" dependencies = [ "alloy-consensus", "alloy-network", @@ -664,9 +664,9 @@ dependencies = [ [[package]] name = "alloy-signer-gcp" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af53c8eb7b94b8a9b915b64a0fc56b4c1fde247d8aeb421504f25d673a4d360a" +checksum = "df298e47bbb7d0a8e06b603046b91062c11ba70d22f8a6c9bab1c1468bd856d0" dependencies = [ "alloy-consensus", "alloy-network", @@ -682,9 +682,9 @@ dependencies = [ [[package]] name = "alloy-signer-ledger" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86a43041a6f1c5b63659860311ab14ea765bf9cef3293322988d896a0b8c88c" +checksum = "3b0e049299cc7e131a438a904f89a493bcea45cd92bbed3e50116a28bc27987c" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -702,9 +702,9 @@ dependencies = [ [[package]] name = "alloy-signer-local" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db906294ee7876bd332cd760f460d30de183554434e07fc19d7d54e16a7aeaf0" +checksum = "e14fe6fedb7fe6e0dfae47fe020684f1d8e063274ef14bca387ddb7a6efa8ec1" dependencies = [ "alloy-consensus", "alloy-network", @@ -721,9 +721,9 @@ dependencies = [ [[package]] name = "alloy-signer-trezor" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2277b489b01e6178fc5404c978bdc82b211c9c50de4b1e0efb75ecea3eb2bf54" +checksum = "26c7df3624131eeecf74c18e5cd59bcc125633bad407b1938161edf89eb71485" dependencies = [ "alloy-consensus", "alloy-network", @@ -811,9 +811,9 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca9b645fe4f4e6582cfbb4a8d20cedcf5aa23548e92eacbdacac6278b425e023" +checksum = "a712bdfeff42401a7dd9518f72f617574c36226a9b5414537fedc34350b73bf9" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -834,9 +834,9 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee18869ecabe658ff6316e7db7c25d958c7d10f0a1723c2f7447d4f402920b66" +checksum = "7ea5a76d7f2572174a382aedf36875bedf60bcc41116c9f031cf08040703a2dc" dependencies = [ "alloy-json-rpc", "alloy-transport", @@ -849,9 +849,9 @@ dependencies = [ [[package]] name = "alloy-transport-ipc" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff95f0b3a3bd2b80a53a52f7649ea6ef3e7e91ff4bd439871199ec68b1b69038" +checksum = "606af17a7e064d219746f6d2625676122c79d78bf73dfe746d6db9ecd7dbcb85" dependencies = [ "alloy-json-rpc", "alloy-pubsub", @@ -869,9 +869,9 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c838e7562d16110fba3590a20c7765281c1a302cf567e1806d0c3ce1352b58" +checksum = "e0c6f9b37cd8d44aab959613966cc9d4d7a9b429c575cec43b3e5b46ea109a79" dependencies = [ "alloy-pubsub", "alloy-transport", @@ -1675,9 +1675,9 @@ dependencies = [ [[package]] name = "aws-sdk-kms" -version = "1.71.0" +version = "1.72.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de993b5250e1aa051f4091ab772ce164de8c078ee9793fdee033b20f7d371ad" +checksum = "0eef6a94141a43ee28404bf135828ad9bdd4936bfa2a84ad8dea355c94646a35" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1697,9 +1697,9 @@ dependencies = [ [[package]] name = "aws-sdk-sso" -version = "1.70.0" +version = "1.71.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83447efb7179d8e2ad2afb15ceb9c113debbc2ecdf109150e338e2e28b86190b" +checksum = "95a4fd09d6e863655d99cd2260f271c6d1030dc6bfad68e19e126d2e4c8ceb18" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1719,9 +1719,9 @@ dependencies = [ [[package]] name = "aws-sdk-ssooidc" -version = "1.71.0" +version = "1.72.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f9bfbbda5e2b9fe330de098f14558ee8b38346408efe9f2e9cee82dc1636a4" +checksum = "3224ab02ebb3074467a33d57caf6fcb487ca36f3697fdd381b0428dc72380696" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1741,9 +1741,9 @@ dependencies = [ [[package]] name = "aws-sdk-sts" -version = "1.71.0" +version = "1.72.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17b984a66491ec08b4f4097af8911251db79296b3e4a763060b45805746264f" +checksum = "f6933f189ed1255e78175fbd73fb200c0aae7240d220ed3346f567b0ddca3083" dependencies = [ "aws-credential-types", "aws-runtime", @@ -2416,9 +2416,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.24" +version = "1.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7" +checksum = "d0fc897dc1e865cc67c0e05a836d9d3f1df3cbe442aa4a9473b18e12624a4951" dependencies = [ "jobserver", "libc", @@ -2543,9 +2543,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.38" +version = "4.5.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" +checksum = "fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f" dependencies = [ "clap_builder", "clap_derive", @@ -2563,9 +2563,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.38" +version = "4.5.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" +checksum = "89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51" dependencies = [ "anstream", "anstyle", @@ -2578,9 +2578,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.50" +version = "4.5.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c91d3baa3bcd889d60e6ef28874126a0b384fd225ab83aa6d8a801c519194ce1" +checksum = "1a554639e42d0c838336fc4fbedb9e2df3ad1fa4acda149f9126b4ccfcd7900f" dependencies = [ "clap", ] @@ -2734,9 +2734,9 @@ dependencies = [ [[package]] name = "color-eyre" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e1761c0e16f8883bbbb8ce5990867f4f06bf11a0253da6495a04ce4b6ef0ec" +checksum = "e5920befb47832a6d61ee3a3a846565cfa39b331331e68a3b1d1116630f2f26d" dependencies = [ "backtrace", "color-spantrace", @@ -2749,9 +2749,9 @@ dependencies = [ [[package]] name = "color-spantrace" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ddd8d5bfda1e11a501d0a7303f3bfed9aa632ebdb859be40d0fd70478ed70d5" +checksum = "b8b88ea9df13354b55bc7234ebcce36e6ef896aca2e42a15de9e10edce01b427" dependencies = [ "once_cell", "owo-colors 4.2.1", @@ -2904,9 +2904,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -4035,9 +4035,9 @@ dependencies = [ [[package]] name = "foundry-block-explorers" -version = "0.17.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6129df264d2bd245ade4ed21a92f605bfd592dca8fb8e6e1adde1b9bd4288681" +checksum = "7dd57f39a860475780c0b001167b2bb9039e78d8d09323c6949897f5351ffae6" dependencies = [ "alloy-chains", "alloy-json-abi", @@ -4235,9 +4235,8 @@ dependencies = [ [[package]] name = "foundry-compilers" -version = "0.16.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e5380f1fb458a4da92287f63fae41f406d50258d0e71e3f3d83a83f178928db" +version = "0.17.0" +source = "git+https://github.com/foundry-rs/compilers.git?rev=fc30523#fc30523dfe5579ad36e4c2724b94b7b34f5fae54" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4272,9 +4271,8 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts" -version = "0.16.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86bb61c2b9815a61f15297c8e416b9d2634794727a7f7302ea4b4e592d22a26a" +version = "0.17.0" +source = "git+https://github.com/foundry-rs/compilers.git?rev=fc30523#fc30523dfe5579ad36e4c2724b94b7b34f5fae54" dependencies = [ "foundry-compilers-artifacts-solc", "foundry-compilers-artifacts-vyper", @@ -4282,9 +4280,8 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-solc" -version = "0.16.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b5269f0c1885b82e9b98d81fa9cb6218f8f090e447093c14b1616fcea24b22" +version = "0.17.0" +source = "git+https://github.com/foundry-rs/compilers.git?rev=fc30523#fc30523dfe5579ad36e4c2724b94b7b34f5fae54" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4305,9 +4302,8 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-vyper" -version = "0.16.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d568ce1301491e36236e2e9b886a56065490f64eb63b989056c7aaeea6b36524" +version = "0.17.0" +source = "git+https://github.com/foundry-rs/compilers.git?rev=fc30523#fc30523dfe5579ad36e4c2724b94b7b34f5fae54" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4320,9 +4316,8 @@ dependencies = [ [[package]] name = "foundry-compilers-core" -version = "0.16.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c92c2736c818f4f36076be49474cd6b16ee46c27646edc2f5db051ee06f99b" +version = "0.17.0" +source = "git+https://github.com/foundry-rs/compilers.git?rev=fc30523#fc30523dfe5579ad36e4c2724b94b7b34f5fae54" dependencies = [ "alloy-primitives", "cfg-if", @@ -4992,12 +4987,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - [[package]] name = "hermit-abi" version = "0.5.1" @@ -5201,22 +5190,28 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9f1e950e0d9d1d3c47184416723cf29c0d1f93bd8cccf37e4beb6b44f31710" +checksum = "b1c293b6b3d21eca78250dc7dbebd6b9210ec5530e038cbfe0661b5c47ab06e8" dependencies = [ + "base64 0.22.1", "bytes", "futures-channel", + "futures-core", "futures-util", "http 1.3.1", "http-body 1.0.1", "hyper", + "ipnet", "libc", + "percent-encoding", "pin-project-lite", "socket2", + "system-configuration", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] @@ -5455,13 +5450,23 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +[[package]] +name = "iri-string" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "is-terminal" version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "hermit-abi 0.5.1", + "hermit-abi", "libc", "windows-sys 0.59.0", ] @@ -5732,9 +5737,9 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a793df0d7afeac54f95b471d3af7f0d4fb975699f972341a4b76988d49cdf0c" +checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", "windows-targets 0.53.0", @@ -5839,9 +5844,9 @@ checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -5982,9 +5987,9 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "mdbook" -version = "0.4.50" +version = "0.4.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f72bc08f096e1fb15cfc382babe218317c2897d2040f967c4db40d156ca28e21" +checksum = "a87e65420ab45ca9c1b8cdf698f95b710cc826d373fa550f0f7fad82beac9328" dependencies = [ "ammonia", "anyhow", @@ -5997,7 +6002,7 @@ dependencies = [ "hex", "log", "memchr", - "opener 0.8.1", + "opener 0.8.2", "pulldown-cmark", "regex", "serde", @@ -6369,11 +6374,11 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi", "libc", ] @@ -6461,9 +6466,9 @@ dependencies = [ [[package]] name = "op-alloy-consensus" -version = "0.17.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb35d16e5420e43e400a235783e3d18b6ba564917139b668b48e9ac42cb3d35a" +checksum = "b2423a125ef2daa0d15dacc361805a0b6f76d6acfc6e24a1ff6473582087fe75" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6485,9 +6490,9 @@ checksum = "4ef71f23a8caf6f2a2d5cafbdc44956d44e6014dcb9aa58abf7e4e6481c6ec34" [[package]] name = "op-alloy-rpc-types" -version = "0.17.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7534a0ec6b8409edc511acbe77abe7805aa63129b98e9a915bb4eb8555eaa6ff" +checksum = "f82a315004b6720fbf756afdcfdc97ea7ddbcdccfec86ea7df7562bb0da29a3f" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6504,9 +6509,9 @@ dependencies = [ [[package]] name = "op-revm" -version = "5.0.0" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47296d449fbe2d5cc74ab6e1213dee88cae3e2fd238343bec605c3c687bbcfab" +checksum = "c0e8a3830a2be82166fbe9ead34361149ff4320743ed7ee5502ab779de221361" dependencies = [ "auto_impl", "once_cell", @@ -6534,9 +6539,9 @@ dependencies = [ [[package]] name = "opener" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de96cad6ee771be7f68df884d3767460b4684012308d8342ed5623fe62b2628c" +checksum = "771b9704f8cd8b424ec747a320b30b47517a6966ba2c7da90047c16f4a962223" dependencies = [ "bstr", "normpath", @@ -6636,9 +6641,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -6646,9 +6651,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", @@ -6996,9 +7001,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.32" +version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" +checksum = "9dee91521343f4c5c6a63edd65e54f31f5c92fe8978c40a4282f8372194c6a7d" dependencies = [ "proc-macro2", "syn 2.0.101", @@ -7507,9 +7512,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.15" +version = "0.12.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" +checksum = "e98ff6b0dbbe4d5a37318f433d4fc82babd21631f194d370409ceb2e40b2f0b5" dependencies = [ "async-compression", "base64 0.22.1", @@ -7536,33 +7541,31 @@ dependencies = [ "quinn", "rustls", "rustls-native-certs", - "rustls-pemfile", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", - "system-configuration", "tokio", "tokio-rustls", "tokio-socks", "tokio-util", "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.26.11", - "windows-registry", + "webpki-roots 1.0.0", ] [[package]] name = "revm" -version = "24.0.0" +version = "24.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d3ae9d1b08303eb5150dcf820a29e14235cf3f24f6c09024458a4dcbffe6695" +checksum = "01d277408ff8d6f747665ad9e52150ab4caf8d5eaf0d787614cf84633c8337b4" dependencies = [ "revm-bytecode", "revm-context", @@ -7592,9 +7595,9 @@ dependencies = [ [[package]] name = "revm-context" -version = "5.0.0" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b181214eb2bbb76ee9d6195acba19857d991d2cdb9a65b7cb6939c30250a3966" +checksum = "b01aad49e1233f94cebda48a4e5cef022f7c7ed29b4edf0d202b081af23435ef" dependencies = [ "cfg-if", "derive-where", @@ -7650,9 +7653,9 @@ dependencies = [ [[package]] name = "revm-handler" -version = "5.0.0" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a9204e3ac1a8edb850cc441a6a1d0f2251c0089e5fffdaba11566429e6c64e" +checksum = "481e8c3290ff4fa1c066592fdfeb2b172edfd14d12e6cade6f6f5588cad9359a" dependencies = [ "auto_impl", "revm-bytecode", @@ -7668,9 +7671,9 @@ dependencies = [ [[package]] name = "revm-inspector" -version = "5.0.0" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae4881eeae6ff35417c8569bc7cc03b6c0969869ee2c9b3945a39b4f9fa58bc5" +checksum = "fdc1167ef8937d8867888e63581d8ece729a72073d322119ef4627d813d99ecb" dependencies = [ "auto_impl", "revm-context", @@ -7989,15 +7992,6 @@ dependencies = [ "security-framework", ] -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "rustls-pki-types" version = "1.12.0" @@ -8206,7 +8200,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ "bitflags 2.9.1", - "core-foundation 0.10.0", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", @@ -8602,9 +8596,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", @@ -8612,9 +8606,9 @@ dependencies = [ [[package]] name = "solar-ast" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7960f42b73c63b78df9e223ea88ca87b7aaef91e3b5084b89d79ec31ad9fc8e3" +checksum = "acb0d9abd88c1325e5c0f9bb153ebfb02ed40bc9639067d0ad120f5d29ee8777" dependencies = [ "alloy-primitives", "bumpalo", @@ -8631,18 +8625,18 @@ dependencies = [ [[package]] name = "solar-config" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00ff62c74517305ddee6fdfa741bac8195826d2820586659341063c991fa4a9e" +checksum = "908d455bb7c04acd783bd157b63791bf010cf6a495a845e48f7aee334aad319f" dependencies = [ "strum 0.27.1", ] [[package]] name = "solar-data-structures" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c5934e613b60cfb0b2eadc035bac1fb57641026e4c2fb3683e9580391bd109" +checksum = "a8b5a697cab81241c4623b4546c69e57182202847a75d7c0047c0dd10b923d8c" dependencies = [ "bumpalo", "index_vec", @@ -8655,9 +8649,9 @@ dependencies = [ [[package]] name = "solar-interface" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a614174b9fa673b0a01cc8308d18578f32dd091359786368964bbd19e94e59f7" +checksum = "33e49e5a714ec80d7f9c8942584e5e86add1c5e824aa175d0681e9ac7a10e5cc" dependencies = [ "annotate-snippets", "anstream", @@ -8685,9 +8679,9 @@ dependencies = [ [[package]] name = "solar-macros" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccbdb5d9ecd4127af47279f99475f9fbff6ad3d03afc98ba78e1998bc07c0d46" +checksum = "e17f8b99f28f358b41acb6efe4d7b8f326541b3c58a15dd1931d6fe581feefef" dependencies = [ "proc-macro2", "quote", @@ -8696,9 +8690,9 @@ dependencies = [ [[package]] name = "solar-parse" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7965e27a45ca85135ffd45839f9623131175fb43d2ad3526d32de0946f250f1b" +checksum = "c6982ef2ecfb1338c774c743ab7166ce8c3dcc92089ab77fad58eeb632b201e9" dependencies = [ "alloy-primitives", "bitflags 2.9.1", @@ -8717,9 +8711,9 @@ dependencies = [ [[package]] name = "solar-sema" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e695824aaf984aa01493ebd5e7e83ddf84629d4a2667a0adf25cb6b65fa63e" +checksum = "fe8e0a3a6dfc7f4987bfb93f9b56079150407ef55c459964a1541c669554b74d" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -9511,9 +9505,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdb0c213ca27a9f57ab69ddb290fd80d970922355b83ae380b395d3986b8a2e" +checksum = "5cc2d9e086a412a451384326f521c8123a99a466b329941a9403696bff9b0da2" dependencies = [ "bitflags 2.9.1", "bytes", @@ -9523,12 +9517,14 @@ dependencies = [ "http-body-util", "http-range-header", "httpdate", + "iri-string", "mime", "mime_guess", "percent-encoding", "pin-project-lite", "tokio", "tokio-util", + "tower", "tower-layer", "tower-service", "tracing", @@ -9664,9 +9660,9 @@ dependencies = [ [[package]] name = "tracy-client" -version = "0.18.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d90a2c01305b02b76fdd89ac8608bae27e173c829a35f7d76a345ab5d33836db" +checksum = "3927832d93178f979a970d26deed7b03510586e328f31b0f9ad7a73985b8332a" dependencies = [ "loom", "once_cell", @@ -9676,9 +9672,9 @@ dependencies = [ [[package]] name = "tracy-client-sys" -version = "0.24.3" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69fff37da548239c3bf9e64a12193d261e8b22b660991c6fd2df057c168f435f" +checksum = "c032d68a49d25d9012a864fef1c64ac17aee43c87e0477bf7301d8ae8bfea7b7" dependencies = [ "cc", "windows-targets 0.52.6", diff --git a/Cargo.toml b/Cargo.toml index 339db55ef15ea..259c53e93fb2c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -198,14 +198,14 @@ foundry-wallets = { path = "crates/wallets" } foundry-linking = { path = "crates/linking" } # solc & compilation utilities -foundry-block-explorers = { version = "0.17.0", default-features = false } -foundry-compilers = { version = "0.16.3", default-features = false } +foundry-block-explorers = { version = "0.18.0", default-features = false } +foundry-compilers = { version = "0.17.0", default-features = false } foundry-fork-db = "0.15" solang-parser = { version = "=0.3.9", package = "foundry-solang-parser" } -solar-ast = { version = "=0.1.3", default-features = false } -solar-parse = { version = "=0.1.3", default-features = false } -solar-interface = { version = "=0.1.3", default-features = false } -solar-sema = { version = "=0.1.3", default-features = false } +solar-ast = { version = "=0.1.4", default-features = false } +solar-parse = { version = "=0.1.4", default-features = false } +solar-interface = { version = "=0.1.4", default-features = false } +solar-sema = { version = "=0.1.4", default-features = false } ## alloy alloy-consensus = { version = "1.0.7", default-features = false } @@ -401,5 +401,5 @@ zip-extract = "=0.2.1" # revm-inspectors = { git = "https://github.com/paradigmxyz/revm-inspectors.git", rev = "a625c04" } ## foundry -# foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "628b40d" } +foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "fc30523" } # foundry-fork-db = { git = "https://github.com/foundry-rs/foundry-fork-db", rev = "811a61a" } diff --git a/crates/anvil/src/eth/fees.rs b/crates/anvil/src/eth/fees.rs index 630b2e6c23597..a81c4117758f7 100644 --- a/crates/anvil/src/eth/fees.rs +++ b/crates/anvil/src/eth/fees.rs @@ -192,8 +192,8 @@ pub fn calculate_next_block_base_fee(gas_used: u64, gas_limit: u64, base_fee: u6 /// An async service that takes care of the `FeeHistory` cache pub struct FeeHistoryService { - /// Hardfork identifier - spec_id: SpecId, + /// blob parameters for the current spec + blob_params: BlobParams, /// incoming notifications about new blocks new_blocks: NewBlockNotifications, /// contains all fee history related entries @@ -206,13 +206,13 @@ pub struct FeeHistoryService { impl FeeHistoryService { pub fn new( - spec_id: SpecId, + blob_params: BlobParams, new_blocks: NewBlockNotifications, cache: FeeHistoryCache, storage_info: StorageInfo, ) -> Self { Self { - spec_id, + blob_params, new_blocks, cache, fee_history_limit: MAX_FEE_HISTORY_CACHE_SIZE, @@ -254,12 +254,7 @@ impl FeeHistoryService { let base_fee = header.base_fee_per_gas.map(|g| g as u128).unwrap_or_default(); let excess_blob_gas = header.excess_blob_gas.map(|g| g as u128); let blob_gas_used = header.blob_gas_used.map(|g| g as u128); - - let base_fee_per_blob_gas = match self.spec_id { - SpecId::OSAKA => header.blob_fee(BlobParams::osaka()), - SpecId::PRAGUE => header.blob_fee(BlobParams::prague()), - _ => header.blob_fee(BlobParams::cancun()), - }; + let base_fee_per_blob_gas = header.blob_fee(self.blob_params); let mut item = FeeHistoryCacheItem { base_fee, diff --git a/crates/anvil/src/lib.rs b/crates/anvil/src/lib.rs index ce7e873f4949b..99ee3fd034a4e 100644 --- a/crates/anvil/src/lib.rs +++ b/crates/anvil/src/lib.rs @@ -18,6 +18,7 @@ use crate::{ shutdown::Signal, tasks::TaskManager, }; +use alloy_eips::eip7840::BlobParams; use alloy_primitives::{Address, U256}; use alloy_signer_local::PrivateKeySigner; use eth::backend::fork::ClientFork; @@ -25,6 +26,7 @@ use eyre::Result; use foundry_common::provider::{ProviderBuilder, RetryProvider}; use futures::{FutureExt, TryFutureExt}; use parking_lot::Mutex; +use revm::primitives::hardfork::SpecId; use server::try_spawn_ipc; use std::{ future::Future, @@ -197,7 +199,11 @@ pub async fn try_spawn(mut config: NodeConfig) -> Result<(EthApi, NodeHandle)> { let fee_history_cache = Arc::new(Mutex::new(Default::default())); let fee_history_service = FeeHistoryService::new( - backend.spec_id(), + match backend.spec_id() { + SpecId::OSAKA => BlobParams::osaka(), + SpecId::PRAGUE => BlobParams::prague(), + _ => BlobParams::cancun(), + }, backend.new_block_notifications(), Arc::clone(&fee_history_cache), StorageInfo::new(Arc::clone(&backend)), diff --git a/crates/common/src/preprocessor/deps.rs b/crates/common/src/preprocessor/deps.rs index 1348a1928e60e..7d0f31b1d6b92 100644 --- a/crates/common/src/preprocessor/deps.rs +++ b/crates/common/src/preprocessor/deps.rs @@ -234,7 +234,7 @@ impl<'hir> Visit<'hir> for BytecodeDependencyCollector<'hir> { for &var in clause.args { self.visit_nested_var(var)?; } - for stmt in clause.block { + for stmt in clause.block.stmts { self.visit_stmt(stmt)?; } } diff --git a/crates/config/src/lib.rs b/crates/config/src/lib.rs index 97050d03f74be..60ede7122f793 100644 --- a/crates/config/src/lib.rs +++ b/crates/config/src/lib.rs @@ -118,7 +118,7 @@ pub mod soldeer; use soldeer::{SoldeerConfig, SoldeerDependencyConfig}; mod vyper; -use vyper::VyperConfig; +pub use vyper::{normalize_evm_version_vyper, VyperConfig}; mod bind_json; use bind_json::BindJsonConfig; @@ -1548,14 +1548,8 @@ impl Config { /// Returns the configured [VyperSettings] that includes: /// - evm version pub fn vyper_settings(&self) -> Result { - // Vyper does not yet support Prague, so we normalize it to Cancun. - let evm_version = match self.evm_version { - EvmVersion::Prague => EvmVersion::Cancun, - _ => self.evm_version, - }; - Ok(VyperSettings { - evm_version: Some(evm_version), + evm_version: Some(normalize_evm_version_vyper(self.evm_version)), optimize: self.vyper.optimize, bytecode_metadata: None, // TODO: We don't yet have a way to deserialize other outputs correctly, so request only diff --git a/crates/config/src/vyper.rs b/crates/config/src/vyper.rs index dbd47faec208d..12596e3bce401 100644 --- a/crates/config/src/vyper.rs +++ b/crates/config/src/vyper.rs @@ -1,6 +1,6 @@ //! Vyper specific configuration types. -use foundry_compilers::artifacts::vyper::VyperOptimizationMode; +use foundry_compilers::artifacts::{vyper::VyperOptimizationMode, EvmVersion}; use serde::{Deserialize, Serialize}; use std::path::PathBuf; @@ -16,3 +16,13 @@ pub struct VyperConfig { #[serde(default, skip_serializing_if = "Option::is_none")] pub experimental_codegen: Option, } + +/// Vyper does not yet support the Prague EVM version, so we normalize it to Cancun. +/// This is a temporary workaround until Vyper supports Prague. +pub fn normalize_evm_version_vyper(evm_version: EvmVersion) -> EvmVersion { + if evm_version >= EvmVersion::Prague { + return EvmVersion::Cancun; + } + + evm_version +} diff --git a/crates/forge/src/cmd/compiler.rs b/crates/forge/src/cmd/compiler.rs index c3381a0f86dd6..82e9bf14ecee0 100644 --- a/crates/forge/src/cmd/compiler.rs +++ b/crates/forge/src/cmd/compiler.rs @@ -1,8 +1,8 @@ use clap::{Parser, Subcommand, ValueHint}; use eyre::Result; use foundry_common::shell; -use foundry_compilers::{artifacts::EvmVersion, multi::MultiCompilerLanguage, Graph}; -use foundry_config::Config; +use foundry_compilers::{artifacts::EvmVersion, Graph}; +use foundry_config::{normalize_evm_version_vyper, Config}; use semver::Version; use serde::Serialize; use std::{collections::BTreeMap, path::PathBuf}; @@ -98,10 +98,8 @@ impl ResolveArgs { .unwrap_or_default(); // Vyper does not yet support Prague, so we normalize it to Cancun. - if matches!(language, MultiCompilerLanguage::Vyper(_)) && - evm == EvmVersion::Prague - { - Some(EvmVersion::Cancun) + if language.is_vyper() { + Some(normalize_evm_version_vyper(evm)) } else { Some(evm) } From d6c18ecf30fdde19a0f4c32099a9c1657ecaba8c Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Mon, 2 Jun 2025 10:36:51 +0200 Subject: [PATCH 13/16] temporarily allow compilers git patch --- deny.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/deny.toml b/deny.toml index be6615d08685f..b1f10b3a4a852 100644 --- a/deny.toml +++ b/deny.toml @@ -98,6 +98,7 @@ unknown-registry = "warn" unknown-git = "deny" allow-git = [ "https://github.com/alloy-rs/alloy", + "https://github.com/foundry-rs/compilers", "https://github.com/foundry-rs/foundry-fork-db", "https://github.com/paradigmxyz/revm-inspectors", "https://github.com/bluealloy/revm", From 0355cc2f76c8afdb9264965c17bf4e98060d61b6 Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Mon, 2 Jun 2025 15:00:10 +0200 Subject: [PATCH 14/16] bump to msrv 1.87 in line with foundry-compilers --- Cargo.toml | 2 +- clippy.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 259c53e93fb2c..7914ee44f59c6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,7 +31,7 @@ resolver = "2" version = "1.2.2" edition = "2021" # Remember to update clippy.toml as well -rust-version = "1.86" +rust-version = "1.87" authors = ["Foundry Contributors"] license = "MIT OR Apache-2.0" homepage = "https://github.com/foundry-rs/foundry" diff --git a/clippy.toml b/clippy.toml index f4a551607f2fe..6f0698f3c87ab 100644 --- a/clippy.toml +++ b/clippy.toml @@ -1,4 +1,4 @@ -msrv = "1.86" +msrv = "1.87" # `bytes::Bytes` is included by default and `alloy_primitives::Bytes` is a wrapper around it, # so it is safe to ignore it as well. From dd270f8809a7d1cc4b5f6606e13ae9b7e30cf539 Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Mon, 2 Jun 2025 15:10:02 +0200 Subject: [PATCH 15/16] bump compilers version --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 7914ee44f59c6..f181ce69998da 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -401,5 +401,5 @@ zip-extract = "=0.2.1" # revm-inspectors = { git = "https://github.com/paradigmxyz/revm-inspectors.git", rev = "a625c04" } ## foundry -foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "fc30523" } +foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "855dee4" } # foundry-fork-db = { git = "https://github.com/foundry-rs/foundry-fork-db", rev = "811a61a" } From 32811de8cdbe9f30da66760980bf122e39f42dad Mon Sep 17 00:00:00 2001 From: zerosnacks Date: Mon, 2 Jun 2025 16:37:32 +0200 Subject: [PATCH 16/16] bump to foundry-compilers 0.17.1 --- Cargo.lock | 25 +++++++++++++++---------- Cargo.toml | 4 ++-- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c2212a3ed4ccc..e761822fdd717 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4235,8 +4235,9 @@ dependencies = [ [[package]] name = "foundry-compilers" -version = "0.17.0" -source = "git+https://github.com/foundry-rs/compilers.git?rev=fc30523#fc30523dfe5579ad36e4c2724b94b7b34f5fae54" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d14093062732cc5085a2ad6eb5ec1f20e5b6704b86fc4eeef7ba15f53f75178d" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4271,8 +4272,9 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts" -version = "0.17.0" -source = "git+https://github.com/foundry-rs/compilers.git?rev=fc30523#fc30523dfe5579ad36e4c2724b94b7b34f5fae54" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2dfbae2e37ccb536b7dd85303fb0f006902a71218587f649129e9311e2ea646" dependencies = [ "foundry-compilers-artifacts-solc", "foundry-compilers-artifacts-vyper", @@ -4280,8 +4282,9 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-solc" -version = "0.17.0" -source = "git+https://github.com/foundry-rs/compilers.git?rev=fc30523#fc30523dfe5579ad36e4c2724b94b7b34f5fae54" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d17f0a8f8c4ff296546cdb1985a460542bb39ab853815de8ba51b43c134e4051" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4302,8 +4305,9 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-vyper" -version = "0.17.0" -source = "git+https://github.com/foundry-rs/compilers.git?rev=fc30523#fc30523dfe5579ad36e4c2724b94b7b34f5fae54" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e87c18e3fed59ac0b7012f690eb3b0cc0e289e8e60601f438d427d9d85b8760" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -4316,8 +4320,9 @@ dependencies = [ [[package]] name = "foundry-compilers-core" -version = "0.17.0" -source = "git+https://github.com/foundry-rs/compilers.git?rev=fc30523#fc30523dfe5579ad36e4c2724b94b7b34f5fae54" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053b13c3ee670c41e86235df99805bdfedd88a5efb6bbe697925b69028218481" dependencies = [ "alloy-primitives", "cfg-if", diff --git a/Cargo.toml b/Cargo.toml index f181ce69998da..61c0b30109e76 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -199,7 +199,7 @@ foundry-linking = { path = "crates/linking" } # solc & compilation utilities foundry-block-explorers = { version = "0.18.0", default-features = false } -foundry-compilers = { version = "0.17.0", default-features = false } +foundry-compilers = { version = "0.17.1", default-features = false } foundry-fork-db = "0.15" solang-parser = { version = "=0.3.9", package = "foundry-solang-parser" } solar-ast = { version = "=0.1.4", default-features = false } @@ -401,5 +401,5 @@ zip-extract = "=0.2.1" # revm-inspectors = { git = "https://github.com/paradigmxyz/revm-inspectors.git", rev = "a625c04" } ## foundry -foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "855dee4" } +# foundry-compilers = { git = "https://github.com/foundry-rs/compilers.git", rev = "855dee4" } # foundry-fork-db = { git = "https://github.com/foundry-rs/foundry-fork-db", rev = "811a61a" }