ab_contract_example::fungible_ffi::transfer

Struct FungibleTransferArgs

Source
#[repr(C)]
pub struct FungibleTransferArgs { pub from_ptr: NonNull<<Address as IoType>::PointerType>, pub from_size: NonNull<u32>, pub to_ptr: NonNull<<Address as IoType>::PointerType>, pub to_size: NonNull<u32>, pub amount_ptr: NonNull<<Balance as IoType>::PointerType>, pub amount_size: NonNull<u32>, pub ok_result_ptr: NonNull<()>, pub ok_result_size: *mut u32, pub ok_result_capacity: NonNull<u32>, }
Expand description

Data structure containing expected input for external method invocation, eventually calling fungible_transfer() on the other side by the host.

This can be used with Env, though there are helper methods on this provided by extension trait that allow not dealing with this struct directly in simpler cases.

Fields§

§from_ptr: NonNull<<Address as IoType>::PointerType>§from_size: NonNull<u32>

Size of the contents from_ptr points to

§to_ptr: NonNull<<Address as IoType>::PointerType>§to_size: NonNull<u32>

Size of the contents to_ptr points to

§amount_ptr: NonNull<<Balance as IoType>::PointerType>§amount_size: NonNull<u32>

Size of the contents amount_ptr points to

§ok_result_ptr: NonNull<()>§ok_result_size: *mut u32

Size of the contents ok_result_ptr points to

§ok_result_capacity: NonNull<u32>

Capacity of the allocated memory ok_result_ptr points to

Trait Implementations§

Source§

impl ExternalArgs for FungibleTransferArgs

Source§

const FINGERPRINT: MethodFingerprint

Fingerprint of the method being called

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>,

Source§

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>,

Source§

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.