Trait AbiDecode

Source
pub trait AbiDecode: Sized + AbiType {
    // Required method
    fn dec(input: &mut AbiDecoder<'_>) -> Result<Self>;

    // Provided methods
    fn abi_decode(input: &[u8]) -> Result<Self> { ... }
    fn abi_decode_call(input: &[u8]) -> Result<(Bytes4, Self)> { ... }
}
Expand description

Decode ABI value.

Required Methods§

Source

fn dec(input: &mut AbiDecoder<'_>) -> Result<Self>

Provided Methods§

Source

fn abi_decode(input: &[u8]) -> Result<Self>

Source

fn abi_decode_call(input: &[u8]) -> Result<(Bytes4, Self)>

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

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<Self>

Source§

impl AbiDecode for i8

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<i8>

Source§

impl AbiDecode for i16

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<i16>

Source§

impl AbiDecode for i32

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<i32>

Source§

impl AbiDecode for i64

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<i64>

Source§

impl AbiDecode for i128

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<i128>

Source§

impl AbiDecode for u8

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<u8>

Source§

impl AbiDecode for u16

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<u16>

Source§

impl AbiDecode for u32

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<u32>

Source§

impl AbiDecode for u64

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<u64>

Source§

impl AbiDecode for u128

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<u128>

Source§

impl AbiDecode for ()

Source§

fn dec(_input: &mut AbiDecoder<'_>) -> Result<Self>

Source§

impl AbiDecode for H160

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<Self>

Source§

impl AbiDecode for U256

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<Self>

Source§

impl<A: AbiDecode> AbiDecode for (A,)

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<(A,)>

Source§

impl<A: AbiDecode, B: AbiDecode> AbiDecode for (A, B)

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<(A, B)>

Source§

impl<A: AbiDecode, B: AbiDecode, C: AbiDecode> AbiDecode for (A, B, C)

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<(A, B, C)>

Source§

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

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<(A, B, C, D)>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T: AbiDecode + AbiDecodeZero> AbiDecode for Option<T>

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<Self>

Source§

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

Source§

fn dec(input: &mut AbiDecoder<'_>) -> Result<Self>

Implementors§