pub struct EVMContractSpec(/* private fields */);
Expand description
Contract specification for an EVM smart contract
This structure represents the parsed specification of an EVM smart contract, following the Ethereum Contract ABI format. It contains information about all callable functions in the contract.
Methods from Deref<Target = JsonAbi>§
pub fn items(&self) -> Items<'_>
pub fn items(&self) -> Items<'_>
Returns an iterator over all of the items in the ABI.
pub fn to_sol(&self, name: &str, config: Option<ToSolConfig>) -> String
pub fn to_sol(&self, name: &str, config: Option<ToSolConfig>) -> String
Formats this JSON ABI as a Solidity interface.
The order of the definitions is not guaranteed.
Generates:
interface <name> {
<enums>...
<UDVTs>...
<structs>...
<errors>...
<events>...
<fallback>
<receive>
<functions>...
}
Note that enums are going to be identical to uint8
UDVTs, since no
other information about enums is present in the ABI.
pub fn to_sol_raw(
&self,
name: &str,
out: &mut String,
config: Option<ToSolConfig>,
)
pub fn to_sol_raw( &self, name: &str, out: &mut String, config: Option<ToSolConfig>, )
Formats this JSON ABI as a Solidity interface into the given string.
See to_sol
for more information.
pub fn constructor(&self) -> Option<&Constructor>
pub fn constructor(&self) -> Option<&Constructor>
Returns an immutable reference to the constructor.
pub fn function(&self, name: &str) -> Option<&Vec<Function>>
pub fn function(&self, name: &str) -> Option<&Vec<Function>>
Returns an immutable reference to the list of all the functions with the given name.
pub fn event(&self, name: &str) -> Option<&Vec<Event>>
pub fn event(&self, name: &str) -> Option<&Vec<Event>>
Returns an immutable reference to the list of all the events with the given name.
pub fn error(&self, name: &str) -> Option<&Vec<Error>>
pub fn error(&self, name: &str) -> Option<&Vec<Error>>
Returns an immutable reference to the list of all the errors with the given name.
pub fn functions(&self) -> Flatten<Values<'_, String, Vec<Function>>>
pub fn functions(&self) -> Flatten<Values<'_, String, Vec<Function>>>
Returns an iterator over immutable references to the functions.
Trait Implementations§
Source§impl Clone for ContractSpec
impl Clone for ContractSpec
Source§fn clone(&self) -> ContractSpec
fn clone(&self) -> ContractSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ContractSpec
impl Debug for ContractSpec
Source§impl Default for ContractSpec
impl Default for ContractSpec
Source§fn default() -> ContractSpec
fn default() -> ContractSpec
Source§impl<'de> Deserialize<'de> for ContractSpec
impl<'de> Deserialize<'de> for ContractSpec
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>,
Source§impl Display for ContractSpec
Display a ContractSpec
impl Display for ContractSpec
Display a ContractSpec
Source§impl From<ContractSpec> for ContractSpec
Convert a ContractSpec to an EVMContractSpec
impl From<ContractSpec> for ContractSpec
Convert a ContractSpec to an EVMContractSpec
Source§fn from(spec: ContractSpec) -> Self
fn from(spec: ContractSpec) -> Self
Source§impl From<JsonAbi> for ContractSpec
Convert a JsonAbi to a ContractSpec
impl From<JsonAbi> for ContractSpec
Convert a JsonAbi to a ContractSpec
Source§impl From<Value> for ContractSpec
Convert a serde_json::Value to a ContractSpec
impl From<Value> for ContractSpec
Convert a serde_json::Value to a ContractSpec
Source§impl PartialEq for ContractSpec
impl PartialEq for ContractSpec
Source§impl Serialize for ContractSpec
impl Serialize for ContractSpec
Source§impl Deref for ContractSpec
Dereference a ContractSpec
impl Deref for ContractSpec
Dereference a ContractSpec
impl StructuralPartialEq for ContractSpec
Auto Trait Implementations§
impl Freeze for ContractSpec
impl RefUnwindSafe for ContractSpec
impl Send for ContractSpec
impl Sync for ContractSpec
impl Unpin for ContractSpec
impl UnwindSafe for ContractSpec
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
§impl<T> Chain<T> for T
impl<T> Chain<T> for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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