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<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 i32

source§

impl AbiType for u64

source§

impl AbiType for u16

source§

impl AbiType for ()

source§

impl AbiType for u128

source§

impl AbiType for i128

source§

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

source§

impl AbiType for u8

source§

impl AbiType for i8

source§

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

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 AbiType for i16

source§

impl AbiType for i64

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 H160

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<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 AbiType for u32

source§

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

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 AbiType for bool

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<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<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<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, 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 AbiType for U256

source§

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

source§

impl AbiType for &str

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> 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,

Implementors§

source§

impl AbiType for Bytes

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<T: AbiType> AbiType for Vec<T>

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>