mirror of
https://github.com/pezkuwichain/revive-differential-tests.git
synced 2026-04-22 21:57:58 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ee5d555ad7 | |||
| c37b156e44 |
@@ -16,7 +16,6 @@ use revive_solc_json_interface::{
|
|||||||
SolcStandardJsonOutput,
|
SolcStandardJsonOutput,
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::constants::SOLC_VERSION_SUPPORTING_VIA_YUL_IR;
|
|
||||||
use crate::{CompilerInput, CompilerOutput, ModeOptimizerSetting, ModePipeline, SolidityCompiler};
|
use crate::{CompilerInput, CompilerOutput, ModeOptimizerSetting, ModePipeline, SolidityCompiler};
|
||||||
|
|
||||||
use alloy::json_abi::JsonAbi;
|
use alloy::json_abi::JsonAbi;
|
||||||
@@ -257,15 +256,23 @@ impl SolidityCompiler for Resolc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn supports_mode(
|
fn supports_mode(
|
||||||
compiler_version: &Version,
|
_compiler_version: &Version,
|
||||||
_optimize_setting: ModeOptimizerSetting,
|
_optimize_setting: ModeOptimizerSetting,
|
||||||
pipeline: ModePipeline,
|
pipeline: ModePipeline,
|
||||||
) -> bool {
|
) -> bool {
|
||||||
// We only support the Y (IE compile via Yul IR) mode here, which also means that we can
|
// 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
|
// 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.
|
// 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
|
pipeline == ModePipeline::ViaYulIR
|
||||||
&& compiler_version >= &SOLC_VERSION_SUPPORTING_VIA_YUL_IR
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -203,6 +203,8 @@ impl KitchensinkNode {
|
|||||||
.arg("Unsafe")
|
.arg("Unsafe")
|
||||||
.arg("--rpc-cors")
|
.arg("--rpc-cors")
|
||||||
.arg("all")
|
.arg("all")
|
||||||
|
.arg("--rpc-max-connections")
|
||||||
|
.arg(u32::MAX.to_string())
|
||||||
.env("RUST_LOG", Self::SUBSTRATE_LOG_ENV)
|
.env("RUST_LOG", Self::SUBSTRATE_LOG_ENV)
|
||||||
.stdout(kitchensink_stdout_logs_file.try_clone()?)
|
.stdout(kitchensink_stdout_logs_file.try_clone()?)
|
||||||
.stderr(kitchensink_stderr_logs_file.try_clone()?)
|
.stderr(kitchensink_stderr_logs_file.try_clone()?)
|
||||||
@@ -229,6 +231,8 @@ impl KitchensinkNode {
|
|||||||
.arg(proxy_rpc_port.to_string())
|
.arg(proxy_rpc_port.to_string())
|
||||||
.arg("--node-rpc-url")
|
.arg("--node-rpc-url")
|
||||||
.arg(format!("ws://127.0.0.1:{substrate_rpc_port}"))
|
.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)
|
.env("RUST_LOG", Self::PROXY_LOG_ENV)
|
||||||
.stdout(eth_proxy_stdout_logs_file.try_clone()?)
|
.stdout(eth_proxy_stdout_logs_file.try_clone()?)
|
||||||
.stderr(eth_proxy_stderr_logs_file.try_clone()?)
|
.stderr(eth_proxy_stderr_logs_file.try_clone()?)
|
||||||
|
|||||||
Reference in New Issue
Block a user