ab_system_contract_state::ffi::write

Struct InternalArgs

Source
#[repr(C)]
pub struct InternalArgs { pub env_ptr: NonNull<Env>, pub contract_state_address_ptr: NonNull<Address>, pub contract_state_ptr: NonNull<<<State as Contract>::Slot as IoType>::PointerType>, pub contract_state_size: *mut u32, pub contract_state_capacity: NonNull<u32>, pub new_state_ptr: NonNull<<VariableBytes<MAX_STATE_SIZE> as IoType>::PointerType>, pub new_state_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 to write(), it is used internally by the contract, there should be no need to construct it explicitly except maybe in contract’s own tests

Fields§

§env_ptr: NonNull<Env>§contract_state_address_ptr: NonNull<Address>§contract_state_ptr: NonNull<<<State as Contract>::Slot as IoType>::PointerType>§contract_state_size: *mut u32

Size of the contents contract_state_ptr points to

§contract_state_capacity: NonNull<u32>

Capacity of the allocated memory contract_state_ptr points to

§new_state_ptr: NonNull<<VariableBytes<MAX_STATE_SIZE> as IoType>::PointerType>§new_state_size: NonNull<u32>

Size of the contents new_state_ptr points to

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

The size of the contents ok_result_ptr points to

§ok_result_capacity: NonNull<u32>

Capacity of the allocated memory ok_result_ptr points to

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.