pub struct HexCallDataDeserializer<'a> { /* private fields */ }
Expand description

Deserializes from Dharitri’s smart contract call format.

This format consists of the function name, followed by ‘@’, follwed by hex-encoded argument bytes separated by ‘@’ characters. Example: “funcName@00000@aaaa@1234@@”. Arguments can be empty. Argument hex encodings must always have an even number of digits.

HexCallDataDeserializer borrows its input and will allocate new Vecs for each output.

Converting from bytes to specific argument types is not in scope. Use the serializer module for that.

Implementations§

source§

impl<'a> HexCallDataDeserializer<'a>

source

pub fn new(source: &'a [u8]) -> Self

source

pub fn get_func_name(&self) -> &'a [u8]

Gets the first component of the call data, which is the function name. Unlike the arguments, this can be called at any time.

source

pub fn has_next(&self) -> bool

source

pub fn next_argument(&mut self) -> Result<Option<Vec<u8>>, SCError>

Gets the next argument, deserializes from hex and returns the resulting bytes.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.