pub struct CallbackClosure<M: ManagedTypeApi> { /* private fields */ }

Implementations§

source§

impl<M: ManagedTypeApi> CallbackClosure<M>

source

pub fn new(callback_name: ManagedBuffer<M>) -> Self

source

pub fn new_empty(api: M) -> Self

Used by callback_raw. TODO: avoid creating any new managed buffers.

source

pub fn push_endpoint_arg<D: ContractCallArg>(&mut self, endpoint_arg: D)

source

pub fn save_to_storage<A: BlockchainApi + StorageWriteApi>(&self, api: A)

source

pub fn storage_load_and_clear<A: BlockchainApi + StorageReadApi + StorageWriteApi>( api: A ) -> Option<Self>

source

pub fn matcher<const CB_NAME_MAX_LENGTH: usize>( &self ) -> CallbackClosureMatcher<CB_NAME_MAX_LENGTH>

source

pub fn into_arg_loader(self) -> ManagedResultArgLoader<M>

Trait Implementations§

source§

impl<M: ManagedTypeApi> TopDecode for CallbackClosure<M>

source§

fn top_decode<I: TopDecodeInput>(top_input: I) -> Result<Self, DecodeError>

Attempt to deserialize the value from input.
source§

fn top_decode_or_exit<I: TopDecodeInput, ExitCtx: Clone>( top_input: I, c: ExitCtx, exit: fn(_: ExitCtx, _: DecodeError) -> ! ) -> Self

Version of top_decode that exits quickly in case of error. Its purpose is to create smaller implementations in cases where the application is supposed to exit directly on decode error.
source§

impl<M: ManagedTypeApi> TopEncode for CallbackClosure<M>

source§

fn top_encode<O: TopEncodeOutput>(&self, output: O) -> Result<(), EncodeError>

Attempt to serialize the value to ouput.
source§

fn top_encode_or_exit<O: TopEncodeOutput, ExitCtx: Clone>( &self, output: O, c: ExitCtx, exit: fn(_: ExitCtx, _: EncodeError) -> ! )

Version of top_decode that exits quickly in case of error. Its purpose is to create smaller bytecode implementations in cases where the application is supposed to exit directly on decode error.

Auto Trait Implementations§

§

impl<M> RefUnwindSafe for CallbackClosure<M>
where M: RefUnwindSafe,

§

impl<M> Send for CallbackClosure<M>
where M: Send,

§

impl<M> Sync for CallbackClosure<M>
where M: Sync,

§

impl<M> Unpin for CallbackClosure<M>
where M: Unpin,

§

impl<M> UnwindSafe for CallbackClosure<M>
where M: UnwindSafe,

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> ContractCallArg for T
where T: TopEncode,

source§

fn push_dyn_arg<O>(&self, output: &mut O)
where O: DynArgOutput,

source§

impl<T> DynArg for T
where T: TopEncode + TopDecode,

source§

fn dyn_load<I>(loader: &mut I, arg_id: ArgId) -> T
where I: DynArgInput,

source§

impl<T> EndpointResult for T
where T: TopEncode,

§

type DecodeAs = T

Indicates how the result of the endpoint can be interpreted when called via proxy. Self for most types.
source§

fn finish<FA>(&self, api: FA)
where FA: ManagedTypeApi + EndpointFinishApi + Clone + 'static,

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<M, F> ManagedFrom<M, F> for F
where M: ManagedTypeApi,

source§

fn managed_from(_: M, t: F) -> F

source§

impl<M, F, T> ManagedInto<M, T> for F
where T: ManagedFrom<M, F>, M: ManagedTypeApi,

source§

fn managed_into(self, api: M) -> T

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.