Enum ethabi_next::Token[][src]

pub enum Token {
    Address(Address),
    FixedBytes(FixedBytes),
    Bytes(Bytes),
    Int(Uint),
    Uint(Uint),
    Bool(bool),
    String(String),
    FixedArray(Vec<Token>),
    Array(Vec<Token>),
    Tuple(Vec<Token>),
}

Ethereum ABI params.

Variants

Address(Address)

Address.

solidity name: address Encoded to left padded [0u8; 32].

FixedBytes(FixedBytes)

Vector of bytes with known size.

solidity name eg.: bytes8, bytes32, bytes64, bytes1024 Encoded to right padded [0u8; ((N + 31) / 32) * 32].

Bytes(Bytes)

Vector of bytes of unknown size.

solidity name: bytes Encoded in two parts. Init part: offset of ’closing part`. Closing part: encoded length followed by encoded right padded bytes.

Int(Uint)

Signed integer.

solidity name: int

Uint(Uint)

Unisnged integer.

solidity name: uint

Bool(bool)

Boolean value.

solidity name: bool Encoded as left padded [0u8; 32], where last bit represents boolean value.

String(String)

String.

solidity name: string Encoded in the same way as bytes. Must be utf8 compliant.

FixedArray(Vec<Token>)

Array with known size.

solidity name eg.: int[3], bool[3], address[][8] Encoding of array is equal to encoding of consecutive elements of array.

Array(Vec<Token>)

Array of params with unknown size.

solidity name eg. int[], bool[], address[5][]

Tuple(Vec<Token>)

Tuple of params of variable types.

solidity name: tuple

Implementations

impl Token[src]

pub fn type_check(&self, param_type: &ParamType) -> bool[src]

Check whether the type of the token matches the given parameter type.

Numeric types (Int and Uint) type check if the size of the token type is of greater or equal size than the provided parameter type.

pub fn into_address(self) -> Option<Address>[src]

Converts token to…

pub fn into_fixed_bytes(self) -> Option<Vec<u8>>[src]

Converts token to…

pub fn into_bytes(self) -> Option<Vec<u8>>[src]

Converts token to…

pub fn into_int(self) -> Option<Uint>[src]

Converts token to…

pub fn into_uint(self) -> Option<Uint>[src]

Converts token to…

pub fn into_bool(self) -> Option<bool>[src]

Converts token to…

pub fn into_string(self) -> Option<String>[src]

Converts token to…

pub fn into_fixed_array(self) -> Option<Vec<Token>>[src]

Converts token to…

pub fn into_array(self) -> Option<Vec<Token>>[src]

Converts token to…

pub fn types_check(tokens: &[Token], param_types: &[ParamType]) -> bool[src]

Check if all the types of the tokens match the given parameter types.

pub fn is_dynamic(&self) -> bool[src]

Check if the token is a dynamic type resulting in prefixed encoding

Trait Implementations

impl Clone for Token[src]

impl Debug for Token[src]

impl Display for Token[src]

impl PartialEq<Token> for Token[src]

impl StructuralPartialEq for Token[src]

Auto Trait Implementations

impl RefUnwindSafe for Token

impl Send for Token

impl Sync for Token

impl Unpin for Token

impl UnwindSafe for Token

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.