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 authored and GitHub committed 2026-01-19 15:04:53 +00:00
1 parent 9491263857
commit 87758b4aff
2 files changed
+74 -69

No files matched your search

+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() {