pub trait SolConstructor: Sized {
type Parameters<'a>: SolType<Token<'a> = Self::Token<'a>>;
type Token<'a>: TokenSeq<'a>;
// Required methods
fn new(tuple: <Self::Parameters<'_> as SolType>::RustType) -> Self;
fn tokenize(&self) -> Self::Token<'_>;
// Provided methods
fn abi_encoded_size(&self) -> usize { ... }
fn abi_encode(&self) -> Vec<u8> ⓘ { ... }
}
Expand description
A Solidity constructor.
Required Associated Types§
Sourcetype Parameters<'a>: SolType<Token<'a> = Self::Token<'a>>
type Parameters<'a>: SolType<Token<'a> = Self::Token<'a>>
The underlying tuple type which represents this type’s arguments.
If this type has no arguments, this will be the unit type ()
.
Required Methods§
Sourcefn new(tuple: <Self::Parameters<'_> as SolType>::RustType) -> Self
fn new(tuple: <Self::Parameters<'_> as SolType>::RustType) -> Self
Convert from the tuple type used for ABI encoding and decoding.
Provided Methods§
Sourcefn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
The size of the encoded data in bytes.
Sourcefn abi_encode(&self) -> Vec<u8> ⓘ
fn abi_encode(&self) -> Vec<u8> ⓘ
ABI encode the call to the given buffer.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.