Trait SolParamsEncode

Source
pub trait SolParamsEncode<'a>: SolEncode<'a> + Sealed {
    const SOL_NAME: &'static str = _;

    // Required methods
    fn encode(&'a self) -> Vec<u8> ;
    fn encode_to(&'a self, buffer: &mut [u8]) -> usize;
}
Expand description

Solidity ABI encode as a parameter sequence (e.g. function, event or error parameters).

§Note

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

Provided Associated Constants§

Source

const SOL_NAME: &'static str = _

Name of equivalent Solidity ABI type.

Required Methods§

Source

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

Solidity ABI encode the value as a parameter sequence.

Source

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Solidity ABI encode the value into the given buffer as a parameter sequence, and returns the number of bytes written.

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 SolParamsEncode<'_> for ()

Source§

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

Source§

fn encode_to(&self, _: &mut [u8]) -> usize

Source§

impl<'a, TupleElement0: SolEncode<'a>> SolParamsEncode<'a> for (TupleElement0,)

Source§

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

Source§

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Source§

impl<'a, TupleElement0: SolEncode<'a>, TupleElement1: SolEncode<'a>> SolParamsEncode<'a> for (TupleElement0, TupleElement1)

Source§

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

Source§

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Source§

impl<'a, TupleElement0: SolEncode<'a>, TupleElement1: SolEncode<'a>, TupleElement2: SolEncode<'a>> SolParamsEncode<'a> for (TupleElement0, TupleElement1, TupleElement2)

Source§

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

Source§

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Source§

impl<'a, TupleElement0: SolEncode<'a>, TupleElement1: SolEncode<'a>, TupleElement2: SolEncode<'a>, TupleElement3: SolEncode<'a>> SolParamsEncode<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)

Source§

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

Source§

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Source§

impl<'a, TupleElement0: SolEncode<'a>, TupleElement1: SolEncode<'a>, TupleElement2: SolEncode<'a>, TupleElement3: SolEncode<'a>, TupleElement4: SolEncode<'a>> SolParamsEncode<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)

Source§

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

Source§

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Source§

impl<'a, TupleElement0: SolEncode<'a>, TupleElement1: SolEncode<'a>, TupleElement2: SolEncode<'a>, TupleElement3: SolEncode<'a>, TupleElement4: SolEncode<'a>, TupleElement5: SolEncode<'a>> SolParamsEncode<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)

Source§

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

Source§

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Source§

impl<'a, TupleElement0: SolEncode<'a>, TupleElement1: SolEncode<'a>, TupleElement2: SolEncode<'a>, TupleElement3: SolEncode<'a>, TupleElement4: SolEncode<'a>, TupleElement5: SolEncode<'a>, TupleElement6: SolEncode<'a>> SolParamsEncode<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)

Source§

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

Source§

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Source§

impl<'a, TupleElement0: SolEncode<'a>, TupleElement1: SolEncode<'a>, TupleElement2: SolEncode<'a>, TupleElement3: SolEncode<'a>, TupleElement4: SolEncode<'a>, TupleElement5: SolEncode<'a>, TupleElement6: SolEncode<'a>, TupleElement7: SolEncode<'a>> SolParamsEncode<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)

Source§

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

Source§

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Source§

impl<'a, TupleElement0: SolEncode<'a>, TupleElement1: SolEncode<'a>, TupleElement2: SolEncode<'a>, TupleElement3: SolEncode<'a>, TupleElement4: SolEncode<'a>, TupleElement5: SolEncode<'a>, TupleElement6: SolEncode<'a>, TupleElement7: SolEncode<'a>, TupleElement8: SolEncode<'a>> SolParamsEncode<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)

Source§

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

Source§

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Source§

impl<'a, TupleElement0: SolEncode<'a>, TupleElement1: SolEncode<'a>, TupleElement2: SolEncode<'a>, TupleElement3: SolEncode<'a>, TupleElement4: SolEncode<'a>, TupleElement5: SolEncode<'a>, TupleElement6: SolEncode<'a>, TupleElement7: SolEncode<'a>, TupleElement8: SolEncode<'a>, TupleElement9: SolEncode<'a>> SolParamsEncode<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)

Source§

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

Source§

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Source§

impl<'a, TupleElement0: SolEncode<'a>, TupleElement1: SolEncode<'a>, TupleElement2: SolEncode<'a>, TupleElement3: SolEncode<'a>, TupleElement4: SolEncode<'a>, TupleElement5: SolEncode<'a>, TupleElement6: SolEncode<'a>, TupleElement7: SolEncode<'a>, TupleElement8: SolEncode<'a>, TupleElement9: SolEncode<'a>, TupleElement10: SolEncode<'a>> SolParamsEncode<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)

Source§

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

Source§

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Source§

impl<'a, TupleElement0: SolEncode<'a>, TupleElement1: SolEncode<'a>, TupleElement2: SolEncode<'a>, TupleElement3: SolEncode<'a>, TupleElement4: SolEncode<'a>, TupleElement5: SolEncode<'a>, TupleElement6: SolEncode<'a>, TupleElement7: SolEncode<'a>, TupleElement8: SolEncode<'a>, TupleElement9: SolEncode<'a>, TupleElement10: SolEncode<'a>, TupleElement11: SolEncode<'a>> SolParamsEncode<'a> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)

Source§

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

Source§

fn encode_to(&'a self, buffer: &mut [u8]) -> usize

Implementors§