Trait 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.

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.

Implementations on Foreign Types§

Source§

impl AbiType for &str

Source§

impl AbiType for bool

Source§

impl AbiType for i8

Source§

impl AbiType for i16

Source§

impl AbiType for i32

Source§

impl AbiType for i64

Source§

impl AbiType for i128

Source§

impl AbiType for u8

Source§

impl AbiType for u16

Source§

impl AbiType for u32

Source§

impl AbiType for u64

Source§

impl AbiType for u128

Source§

impl AbiType for ()

Source§

impl AbiType for H160

Source§

impl AbiType for U256

Source§

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

Source§

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

Source§

impl<A, B, C> AbiType for (A, B, C)
where A: AbiType, B: AbiType, C: 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> AbiType for (A, B, C, D, E)
where A: AbiType, B: AbiType, C: AbiType, D: AbiType, E: AbiType,

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, 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> 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> 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<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, 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, 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<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, 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, 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<T> AbiType for &T
where 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<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<T: AbiType, const S: usize> AbiType for [T; S]

Implementors§