#[repr(C)]pub struct StateReadArgs {
pub contract_state_ptr: NonNull<Address>,
pub state_ptr: NonNull<<VariableBytes<RECOMMENDED_STATE_CAPACITY> as IoType>::PointerType>,
pub state_size: *mut u32,
pub state_capacity: NonNull<u32>,
}
Expand description
Data structure containing expected input for external method invocation, eventually calling state_read()
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§
§contract_state_ptr: NonNull<Address>
§state_ptr: NonNull<<VariableBytes<RECOMMENDED_STATE_CAPACITY> as IoType>::PointerType>
§state_size: *mut u32
Size of the contents state_ptr
points to
state_capacity: NonNull<u32>
Capacity of the allocated memory state_ptr
points to
Implementations§
Source§impl StateReadArgs
impl StateReadArgs
Sourcepub fn new(
contract_state: &Address,
state: &mut VariableBytes<RECOMMENDED_STATE_CAPACITY>,
) -> Self
pub fn new( contract_state: &Address, state: &mut VariableBytes<RECOMMENDED_STATE_CAPACITY>, ) -> Self
Create a new instance
Trait Implementations§
Source§impl Debug for StateReadArgs
impl Debug for StateReadArgs
Source§impl ExternalArgs for StateReadArgs
impl ExternalArgs for StateReadArgs
Source§const FINGERPRINT: MethodFingerprint
const FINGERPRINT: MethodFingerprint
Fingerprint of the method being called
Auto Trait Implementations§
impl Freeze for StateReadArgs
impl RefUnwindSafe for StateReadArgs
impl !Send for StateReadArgs
impl !Sync for StateReadArgs
impl Unpin for StateReadArgs
impl UnwindSafe for StateReadArgs
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more