Trait evm_coder::abi::AbiType

source ·
pub trait AbiType {
    const SIGNATURE: SignatureUnit;
    const IS_DYNAMIC: bool;
    const HEAD_WORDS: u32;

    // Provided method
    fn signature() -> &'static str { ... }
}
Expand description

Helper for type.

Required Associated Constants§

source

const SIGNATURE: SignatureUnit

Signature for Ethereum ABI.

source

const IS_DYNAMIC: bool

Is this a dynamic type, per spec.

source

const HEAD_WORDS: u32

How many AbiWords static data this type should occupy

Provided Methods§

source

fn signature() -> &'static str

Signature as str.

Implementations on Foreign Types§

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> AbiType for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType, F: AbiType, G: AbiType, H: AbiType, I: AbiType, J: AbiType, K: AbiType, L: AbiType, M: AbiType, N: AbiType, O: AbiType,

source§

impl<A, B, C> AbiType for (A, B, C)where A: AbiType, B: AbiType, C: AbiType,

source§

impl AbiType for U256

source§

impl AbiType for bool

source§

impl<T: AbiType> AbiType for Option<T>

source§

const SIGNATURE: SignatureUnit = <(bool, T)>::SIGNATURE

source§

const HEAD_WORDS: u32 = <(bool, T)>::HEAD_WORDS

source§

const IS_DYNAMIC: bool = <(bool, T)>::IS_DYNAMIC

source§

impl AbiType for i8

source§

impl AbiType for u128

source§

impl<A, B, C, D, E, F, G> AbiType for (A, B, C, D, E, F, G)where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType, F: AbiType, G: AbiType,

source§

impl<T: AbiType> AbiType for Vec<T>

source§

impl AbiType for u16

source§

impl AbiType for i64

source§

impl AbiType for H160

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> AbiType for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType, F: AbiType, G: AbiType, H: AbiType, I: AbiType, J: AbiType, K: AbiType, L: AbiType, M: AbiType, N: AbiType,

source§

impl<A, B, C, D, E> AbiType for (A, B, C, D, E)where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType,

source§

impl AbiType for u8

source§

impl<A, B, C, D, E, F, G, H, I> AbiType for (A, B, C, D, E, F, G, H, I)where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType, F: AbiType, G: AbiType, H: AbiType, I: AbiType,

source§

impl<T> AbiType for &Twhere T: AbiType,

source§

const SIGNATURE: SignatureUnit = T::SIGNATURE

source§

const IS_DYNAMIC: bool = T::IS_DYNAMIC

source§

const HEAD_WORDS: u32 = T::HEAD_WORDS

source§

impl<A, B, C, D, E, F, G, H, I, J> AbiType for (A, B, C, D, E, F, G, H, I, J)where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType, F: AbiType, G: AbiType, H: AbiType, I: AbiType, J: AbiType,

source§

impl<T: AbiType, const S: usize> AbiType for [T; S]

source§

impl AbiType for &str

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> AbiType for (A, B, C, D, E, F, G, H, I, J, K, L)where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType, F: AbiType, G: AbiType, H: AbiType, I: AbiType, J: AbiType, K: AbiType, L: AbiType,

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> AbiType for (A, B, C, D, E, F, G, H, I, J, K, L, M)where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType, F: AbiType, G: AbiType, H: AbiType, I: AbiType, J: AbiType, K: AbiType, L: AbiType, M: AbiType,

source§

impl AbiType for i16

source§

impl AbiType for i128

source§

impl<A, B, C, D, E, F> AbiType for (A, B, C, D, E, F)where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType, F: AbiType,

source§

impl<A, B, C, D> AbiType for (A, B, C, D)where A: AbiType, B: AbiType, C: AbiType, D: AbiType,

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> AbiType for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType, F: AbiType, G: AbiType, H: AbiType, I: AbiType, J: AbiType, K: AbiType, L: AbiType, M: AbiType, N: AbiType, O: AbiType, P: AbiType,

source§

impl<A, B> AbiType for (A, B)where A: AbiType, B: AbiType,

source§

impl AbiType for i32

source§

impl<A, B, C, D, E, F, G, H> AbiType for (A, B, C, D, E, F, G, H)where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType, F: AbiType, G: AbiType, H: AbiType,

source§

impl AbiType for u64

source§

impl AbiType for String

source§

const SIGNATURE: SignatureUnit = <&str>::SIGNATURE

source§

const HEAD_WORDS: u32 = 1u32

source§

const IS_DYNAMIC: bool = true

source§

impl AbiType for ()

source§

impl<A, B, C, D, E, F, G, H, I, J, K> AbiType for (A, B, C, D, E, F, G, H, I, J, K)where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType, F: AbiType, G: AbiType, H: AbiType, I: AbiType, J: AbiType, K: AbiType,

source§

impl<A> AbiType for (A,)where A: AbiType,

source§

impl AbiType for u32

Implementors§

source§

impl AbiType for Bytes

source§

impl<T: AbiType> AbiType for Zero<T>

source§

const SIGNATURE: SignatureUnit = T::SIGNATURE

source§

const HEAD_WORDS: u32 = T::HEAD_WORDS

source§

const IS_DYNAMIC: bool = T::IS_DYNAMIC

source§

impl<const S: usize> AbiType for BytesFixed<S>