diff --git a/CHANGELOG.md b/CHANGELOG.md index b029863..33adaf3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ This is a development pre-release. ### Changed ### Fixed +- Solidity: Add the solc `--libraries` files to sources. ## v0.1.0-dev.9 diff --git a/crates/solidity/src/solc/standard_json/input/mod.rs b/crates/solidity/src/solc/standard_json/input/mod.rs index 409130e..5462ade 100644 --- a/crates/solidity/src/solc/standard_json/input/mod.rs +++ b/crates/solidity/src/solc/standard_json/input/mod.rs @@ -64,11 +64,17 @@ impl Input { via_ir: bool, suppressed_warnings: Option>, ) -> anyhow::Result { + let mut paths: BTreeSet = paths.iter().cloned().collect(); + let libraries = Settings::parse_libraries(library_map)?; + for library_file in libraries.keys() { + paths.insert(PathBuf::from(library_file)); + } + #[cfg(feature = "parallel")] let iter = paths.into_par_iter(); // Parallel iterator - #[cfg(not(feature = "parallel"))] let iter = paths.iter(); // Sequential iterator + let sources = iter .map(|path| { let source = Source::try_from(path.as_path()).unwrap_or_else(|error| { @@ -78,8 +84,6 @@ impl Input { }) .collect(); - let libraries = Settings::parse_libraries(library_map)?; - Ok(Self { language, sources,