Trait Encode

Source
pub trait Encode {
    // Required method
    fn encode(&self) -> Vec<u8> ;

    // Provided methods
    fn required_len(&self) -> u64 { ... }
    fn is_dynamic() -> bool { ... }
}
Expand description

Declares a type to be encodable as a Solidity type

Required Methods§

Source

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

Provided Methods§

Source

fn required_len(&self) -> u64

The number of bytes required to encode the current type.

This can be a static or dynamic value based on the type. The value should be 32 bytes aligned, and does not include the 32 bytes required for the offset.

Source

fn is_dynamic() -> bool

Is this type considered dynamic by solidity

If the type is dynamic then the value of this field is actually the offset

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

Source§

impl Encode for bool

Source§

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

Source§

impl Encode for i8

Source§

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

Source§

impl Encode for i16

Source§

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

Source§

impl Encode for i32

Source§

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

Source§

impl Encode for i64

Source§

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

Source§

impl Encode for i128

Source§

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

Source§

impl Encode for u8

Source§

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

Source§

impl Encode for u16

Source§

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

Source§

impl Encode for u32

Source§

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

Source§

impl Encode for u64

Source§

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

Source§

impl Encode for u128

Source§

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

Source§

impl Encode for String

Source§

impl<'a, T> Encode for &'a [T]
where T: Encode,

Source§

impl<T0: Encode, T1: Encode> Encode for (T0, T1)

Source§

impl<T0: Encode, T1: Encode, T2: Encode> Encode for (T0, T1, T2)

Source§

impl<T0: Encode, T1: Encode, T2: Encode, T3: Encode> Encode for (T0, T1, T2, T3)

Source§

impl<T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode> Encode for (T0, T1, T2, T3, T4)

Source§

impl<T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode> Encode for (T0, T1, T2, T3, T4, T5)

Source§

impl<T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode> Encode for (T0, T1, T2, T3, T4, T5, T6)

Source§

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

Source§

impl<T> Encode for Vec<T>
where T: Encode,

Implementors§

Source§

impl Encode for Address

Source§

impl Encode for Bytes1

Source§

impl Encode for Bytes2

Source§

impl Encode for Bytes3

Source§

impl Encode for Bytes4

Source§

impl Encode for Bytes5

Source§

impl Encode for Bytes6

Source§

impl Encode for Bytes7

Source§

impl Encode for Bytes8

Source§

impl Encode for Bytes9

Source§

impl Encode for Bytes10

Source§

impl Encode for Bytes11

Source§

impl Encode for Bytes12

Source§

impl Encode for Bytes13

Source§

impl Encode for Bytes14

Source§

impl Encode for Bytes15

Source§

impl Encode for Bytes16

Source§

impl Encode for Bytes17

Source§

impl Encode for Bytes18

Source§

impl Encode for Bytes19

Source§

impl Encode for Bytes20

Source§

impl Encode for Bytes21

Source§

impl Encode for Bytes22

Source§

impl Encode for Bytes23

Source§

impl Encode for Bytes24

Source§

impl Encode for Bytes25

Source§

impl Encode for Bytes26

Source§

impl Encode for Bytes27

Source§

impl Encode for Bytes28

Source§

impl Encode for Bytes29

Source§

impl Encode for Bytes30

Source§

impl Encode for Bytes31

Source§

impl Encode for Bytes32

Source§

impl Encode for Function

Source§

impl Encode for Int24

Source§

impl Encode for Int40

Source§

impl Encode for Int48

Source§

impl Encode for Int56

Source§

impl Encode for Int72

Source§

impl Encode for Int80

Source§

impl Encode for Int88

Source§

impl Encode for Int96

Source§

impl Encode for Int104

Source§

impl Encode for Int112

Source§

impl Encode for Int120

Source§

impl Encode for Int136

Source§

impl Encode for Int144

Source§

impl Encode for Int152

Source§

impl Encode for Int160

Source§

impl Encode for Int168

Source§

impl Encode for Int176

Source§

impl Encode for Int184

Source§

impl Encode for Int192

Source§

impl Encode for Int200

Source§

impl Encode for Int208

Source§

impl Encode for Int216

Source§

impl Encode for Int224

Source§

impl Encode for Int232

Source§

impl Encode for Int240

Source§

impl Encode for Int248

Source§

impl Encode for Int256

Source§

impl Encode for Uint24

Source§

impl Encode for Uint40

Source§

impl Encode for Uint48

Source§

impl Encode for Uint56

Source§

impl Encode for Uint72

Source§

impl Encode for Uint80

Source§

impl Encode for Uint88

Source§

impl Encode for Uint96

Source§

impl Encode for Uint104

Source§

impl Encode for Uint112

Source§

impl Encode for Uint120

Source§

impl Encode for Uint136

Source§

impl Encode for Uint144

Source§

impl Encode for Uint152

Source§

impl Encode for Uint160

Source§

impl Encode for Uint168

Source§

impl Encode for Uint176

Source§

impl Encode for Uint184

Source§

impl Encode for Uint192

Source§

impl Encode for Uint200

Source§

impl Encode for Uint208

Source§

impl Encode for Uint216

Source§

impl Encode for Uint224

Source§

impl Encode for Uint232

Source§

impl Encode for Uint240

Source§

impl Encode for Uint248

Source§

impl Encode for Uint256

Source§

impl<'a> Encode for Bytes<'a>