Skip contracts that have no bytecode (e.g., abstract contracts) (#228)

* Skip contracts that have no bytecode (e.g., abstract contracts)

* Update Cargo.lock
This commit is contained in:
Marian Radu
2026-01-19 17:04:53 +02:00
committed by GitHub
parent 9491263857
commit 87758b4aff
2 changed files with 74 additions and 69 deletions
+8 -2
View File
@@ -294,10 +294,16 @@ impl SolidityCompiler for Resolc {
let map = compiler_output.contracts.entry(source_path).or_default();
for (contract_name, contract_information) in contracts.into_iter() {
let bytecode = contract_information
let Some(bytecode) = contract_information
.evm
.and_then(|evm| evm.bytecode.clone())
.context("Unexpected - Contract compiled with resolc has no bytecode")?;
else {
tracing::debug!(
"Skipping abstract or interface contract {} - no bytecode",
contract_name
);
continue;
};
let abi = {
let metadata = &contract_information.metadata;
if metadata.is_null() {