Trait SolParamsDecode

Source
pub trait SolParamsDecode:
    SolDecode
    + Sized
    + Sealed {
    const SOL_NAME: &'static str = <Self as SolDecode>::SOL_NAME;

    // Required method
    fn decode(data: &[u8]) -> Result<Self, Error>;
}
Expand description

Solidity ABI decode function parameters.

§Note

This trait is sealed and cannot be implemented for types outside ink_primitives.

Provided Associated Constants§

Source

const SOL_NAME: &'static str = <Self as SolDecode>::SOL_NAME

Name of equivalent Solidity ABI type.

Required Methods§

Source

fn decode(data: &[u8]) -> Result<Self, Error>

Solidity ABI decode function parameters into this type.

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 SolParamsDecode for ()

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Source§

impl<TupleElement0: SolDecode> SolParamsDecode for (TupleElement0,)

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Source§

impl<TupleElement0: SolDecode, TupleElement1: SolDecode> SolParamsDecode for (TupleElement0, TupleElement1)

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Source§

impl<TupleElement0: SolDecode, TupleElement1: SolDecode, TupleElement2: SolDecode> SolParamsDecode for (TupleElement0, TupleElement1, TupleElement2)

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Source§

impl<TupleElement0: SolDecode, TupleElement1: SolDecode, TupleElement2: SolDecode, TupleElement3: SolDecode> SolParamsDecode for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Source§

impl<TupleElement0: SolDecode, TupleElement1: SolDecode, TupleElement2: SolDecode, TupleElement3: SolDecode, TupleElement4: SolDecode> SolParamsDecode for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Source§

impl<TupleElement0: SolDecode, TupleElement1: SolDecode, TupleElement2: SolDecode, TupleElement3: SolDecode, TupleElement4: SolDecode, TupleElement5: SolDecode> SolParamsDecode for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Source§

impl<TupleElement0: SolDecode, TupleElement1: SolDecode, TupleElement2: SolDecode, TupleElement3: SolDecode, TupleElement4: SolDecode, TupleElement5: SolDecode, TupleElement6: SolDecode> SolParamsDecode for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Source§

impl<TupleElement0: SolDecode, TupleElement1: SolDecode, TupleElement2: SolDecode, TupleElement3: SolDecode, TupleElement4: SolDecode, TupleElement5: SolDecode, TupleElement6: SolDecode, TupleElement7: SolDecode> SolParamsDecode for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Source§

impl<TupleElement0: SolDecode, TupleElement1: SolDecode, TupleElement2: SolDecode, TupleElement3: SolDecode, TupleElement4: SolDecode, TupleElement5: SolDecode, TupleElement6: SolDecode, TupleElement7: SolDecode, TupleElement8: SolDecode> SolParamsDecode for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Source§

impl<TupleElement0: SolDecode, TupleElement1: SolDecode, TupleElement2: SolDecode, TupleElement3: SolDecode, TupleElement4: SolDecode, TupleElement5: SolDecode, TupleElement6: SolDecode, TupleElement7: SolDecode, TupleElement8: SolDecode, TupleElement9: SolDecode> SolParamsDecode for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Source§

impl<TupleElement0: SolDecode, TupleElement1: SolDecode, TupleElement2: SolDecode, TupleElement3: SolDecode, TupleElement4: SolDecode, TupleElement5: SolDecode, TupleElement6: SolDecode, TupleElement7: SolDecode, TupleElement8: SolDecode, TupleElement9: SolDecode, TupleElement10: SolDecode> SolParamsDecode for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Source§

impl<TupleElement0: SolDecode, TupleElement1: SolDecode, TupleElement2: SolDecode, TupleElement3: SolDecode, TupleElement4: SolDecode, TupleElement5: SolDecode, TupleElement6: SolDecode, TupleElement7: SolDecode, TupleElement8: SolDecode, TupleElement9: SolDecode, TupleElement10: SolDecode, TupleElement11: SolDecode> SolParamsDecode for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)

Source§

fn decode(data: &[u8]) -> Result<Self, Error>

Implementors§