Trait AbiEncode

Source
pub trait AbiEncode: Sized + AbiType {
    // Required method
    fn enc(&self, out: &mut AbiEncoder);

    // Provided methods
    fn abi_encode(&self) -> Vec<u8>  { ... }
    fn abi_encode_call(&self, selector: Bytes4) -> Vec<u8>  { ... }
}
Expand description

Encode value using ABI encoding.

Required Methods§

Source

fn enc(&self, out: &mut AbiEncoder)

Provided Methods§

Source

fn abi_encode(&self) -> Vec<u8>

Source

fn abi_encode_call(&self, selector: Bytes4) -> Vec<u8>

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 AbiEncode for &str

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for bool

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for i8

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for i16

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for i32

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for i64

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for i128

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for u8

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for u16

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for u32

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for u64

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for u128

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for ()

Source§

fn enc(&self, _out: &mut AbiEncoder)

Source§

impl AbiEncode for H160

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl AbiEncode for U256

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl<T> AbiEncode for &T
where T: AbiEncode,

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

impl<T: AbiEncode + AbiEncodeZero> AbiEncode for Option<T>

Source§

fn enc(&self, out: &mut AbiEncoder)

Source§

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

Source§

fn enc(&self, out: &mut AbiEncoder)

Implementors§