Trait alloy_sol_types::SolConstructor

source ·
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§

source

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 ().

source

type Token<'a>: TokenSeq<'a>

The arguments’ corresponding TokenSeq type.

Required Methods§

source

fn new(tuple: <Self::Parameters<'_> as SolType>::RustType) -> Self

Convert from the tuple type used for ABI encoding and decoding.

source

fn tokenize(&self) -> Self::Token<'_>

Tokenize the call’s arguments.

Provided Methods§

source

fn abi_encoded_size(&self) -> usize

The size of the encoded data in bytes.

source

fn abi_encode(&self) -> Vec<u8>

ABI encode the call to the given buffer.

Object Safety§

This trait is not object safe.

Implementors§