Struct foundry_compilers::artifacts::Libraries
source · pub struct Libraries {
pub libs: BTreeMap<PathBuf, BTreeMap<String, String>>,
}
Expand description
A wrapper type for all libraries in the form of <file>:<lib>:<addr>
Fields§
§libs: BTreeMap<PathBuf, BTreeMap<String, String>>
All libraries, (file path -> (Lib name -> Address))
.
Implementations§
source§impl Libraries
impl Libraries
sourcepub fn parse(libs: &[String]) -> Result<Self, SolcError>
pub fn parse(libs: &[String]) -> Result<Self, SolcError>
Parses all libraries in the form of
<file>:<lib>:<addr>
§Examples
use foundry_compilers::artifacts::Libraries;
let libs = Libraries::parse(&[
"src/DssSpell.sol:DssExecLib:0xfD88CeE74f7D78697775aBDAE53f9Da1559728E4".to_string(),
])?;
pub fn is_empty(&self) -> bool
pub fn len(&self) -> usize
sourcepub fn with_applied_remappings(self, config: &ProjectPathsConfig) -> Self
pub fn with_applied_remappings(self, config: &ProjectPathsConfig) -> Self
Solc expects the lib paths to match the global path after remappings were applied
See also ProjectPathsConfig::resolve_import
sourcepub fn with_stripped_file_prefixes(self, base: impl AsRef<Path>) -> Self
pub fn with_stripped_file_prefixes(self, base: impl AsRef<Path>) -> Self
Strips the given prefix from all library file paths to make them relative to the given
base
argument
Trait Implementations§
source§impl<'de> Deserialize<'de> for Libraries
impl<'de> Deserialize<'de> for Libraries
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for Libraries
impl PartialEq for Libraries
impl Eq for Libraries
impl StructuralPartialEq for Libraries
Auto Trait Implementations§
impl Freeze for Libraries
impl RefUnwindSafe for Libraries
impl Send for Libraries
impl Sync for Libraries
impl Unpin for Libraries
impl UnwindSafe for Libraries
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more