diff --git a/crates/compiler/src/revive_resolc.rs b/crates/compiler/src/revive_resolc.rs index 5e549a5..8579456 100644 --- a/crates/compiler/src/revive_resolc.rs +++ b/crates/compiler/src/revive_resolc.rs @@ -16,7 +16,6 @@ use revive_solc_json_interface::{ SolcStandardJsonOutput, }; -use super::constants::SOLC_VERSION_SUPPORTING_VIA_YUL_IR; use crate::{CompilerInput, CompilerOutput, ModeOptimizerSetting, ModePipeline, SolidityCompiler}; use alloy::json_abi::JsonAbi; @@ -257,15 +256,23 @@ impl SolidityCompiler for Resolc { } fn supports_mode( - compiler_version: &Version, + _compiler_version: &Version, _optimize_setting: ModeOptimizerSetting, pipeline: ModePipeline, ) -> bool { // We only support the Y (IE compile via Yul IR) mode here, which also means that we can // only use solc version 0.8.13 and above. We must always compile via Yul IR as resolc // needs this to translate to LLVM IR and then RISCV. + + // Note: the original implementation of this function looked like the following: + // ``` + // pipeline == ModePipeline::ViaYulIR && compiler_version >= &SOLC_VERSION_SUPPORTING_VIA_YUL_IR + // ``` + // However, that implementation is sadly incorrect since the version that's passed into this + // function is not the version of solc but the version of resolc. This is despite the fact + // that resolc depends on Solc for the initial Yul codegen. Therefore, we have skipped the + // version check until we do a better integrations between resolc and solc. pipeline == ModePipeline::ViaYulIR - && compiler_version >= &SOLC_VERSION_SUPPORTING_VIA_YUL_IR } } diff --git a/crates/node/src/kitchensink.rs b/crates/node/src/kitchensink.rs index 832760a..ce4d30b 100644 --- a/crates/node/src/kitchensink.rs +++ b/crates/node/src/kitchensink.rs @@ -203,6 +203,8 @@ impl KitchensinkNode { .arg("Unsafe") .arg("--rpc-cors") .arg("all") + .arg("--rpc-max-connections") + .arg(u32::MAX.to_string()) .env("RUST_LOG", Self::SUBSTRATE_LOG_ENV) .stdout(kitchensink_stdout_logs_file.try_clone()?) .stderr(kitchensink_stderr_logs_file.try_clone()?) @@ -229,6 +231,8 @@ impl KitchensinkNode { .arg(proxy_rpc_port.to_string()) .arg("--node-rpc-url") .arg(format!("ws://127.0.0.1:{substrate_rpc_port}")) + .arg("--rpc-max-connections") + .arg(u32::MAX.to_string()) .env("RUST_LOG", Self::PROXY_LOG_ENV) .stdout(eth_proxy_stdout_logs_file.try_clone()?) .stderr(eth_proxy_stderr_logs_file.try_clone()?)