Trait elrond_wasm::io::finish::EndpointResult[][src]

pub trait EndpointResult: Sized {
    type DecodeAs;
    fn finish<FA>(&self, api: FA)
    where
        FA: EndpointFinishApi + Clone + 'static
; }
Expand description

All types that are returned from endpoints need to implement this trait.

Associated Types

type DecodeAs[src]

Expand description

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

Required methods

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

Implementors

impl EndpointResult for OperationCompletionStatus[src]

type DecodeAs = BoxedBytes

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

impl<SA> EndpointResult for UserMapper<SA> where
    SA: StorageReadApi + StorageWriteApi + ErrorApi + Clone + 'static, 
[src]

Behaves like a MultiResultVec

when an endpoint result, and lists all users addresses.

type DecodeAs = MultiResultVec<Address>

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

impl<SA> EndpointResult for AsyncCall<SA> where
    SA: SendApi + 'static, 
[src]

type DecodeAs = ()

fn finish<FA>(&self, _api: FA)[src]

impl<SA> EndpointResult for SendEgld<SA> where
    SA: SendApi + 'static, 
[src]

type DecodeAs = ()

fn finish<FA>(&self, _api: FA)[src]

impl<SA> EndpointResult for SendEsdt<SA> where
    SA: SendApi + 'static, 
[src]

type DecodeAs = ()

fn finish<FA>(&self, _api: FA)[src]

impl<SA> EndpointResult for SendToken<SA> where
    SA: SendApi + 'static, 
[src]

type DecodeAs = ()

fn finish<FA>(&self, _api: FA)[src]

impl<SA, T> EndpointResult for LinkedListMapper<SA, T> where
    SA: StorageReadApi + StorageWriteApi + ErrorApi + Clone + 'static,
    T: TopEncode + TopDecode + EndpointResult
[src]

Behaves like a MultiResultVec when an endpoint result.

type DecodeAs = MultiResultVec<T::DecodeAs>

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

impl<SA, T> EndpointResult for SetMapper<SA, T> where
    SA: StorageReadApi + StorageWriteApi + ErrorApi + Clone + 'static,
    T: TopEncode + TopDecode + EndpointResult
[src]

Behaves like a MultiResultVec when an endpoint result.

type DecodeAs = MultiResultVec<T::DecodeAs>

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

impl<SA, T> EndpointResult for SingleValueMapper<SA, T> where
    SA: StorageReadApi + StorageWriteApi + ErrorApi + Clone + 'static,
    T: TopEncode + TopDecode + EndpointResult
[src]

type DecodeAs = T::DecodeAs

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

impl<SA, T> EndpointResult for VecMapper<SA, T> where
    SA: StorageReadApi + StorageWriteApi + ErrorApi + Clone + 'static,
    T: TopEncode + TopDecode + EndpointResult
[src]

Behaves like a MultiResultVec when an endpoint result.

type DecodeAs = MultiResultVec<T::DecodeAs>

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

impl<T0, T1> EndpointResult for MultiArg2<T0, T1> where
    T0: EndpointResult,
    T1: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2> EndpointResult for MultiArg3<T0, T1, T2> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3> EndpointResult for MultiArg4<T0, T1, T2, T3> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3, T4> EndpointResult for MultiArg5<T0, T1, T2, T3, T4> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult,
    T4: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3, T4, T5> EndpointResult for MultiArg6<T0, T1, T2, T3, T4, T5> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult,
    T4: EndpointResult,
    T5: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3, T4, T5, T6> EndpointResult for MultiArg7<T0, T1, T2, T3, T4, T5, T6> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult,
    T4: EndpointResult,
    T5: EndpointResult,
    T6: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3, T4, T5, T6, T7> EndpointResult for MultiArg8<T0, T1, T2, T3, T4, T5, T6, T7> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult,
    T4: EndpointResult,
    T5: EndpointResult,
    T6: EndpointResult,
    T7: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> EndpointResult for MultiArg9<T0, T1, T2, T3, T4, T5, T6, T7, T8> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult,
    T4: EndpointResult,
    T5: EndpointResult,
    T6: EndpointResult,
    T7: EndpointResult,
    T8: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> EndpointResult for MultiArg10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult,
    T4: EndpointResult,
    T5: EndpointResult,
    T6: EndpointResult,
    T7: EndpointResult,
    T8: EndpointResult,
    T9: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> EndpointResult for MultiArg11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult,
    T4: EndpointResult,
    T5: EndpointResult,
    T6: EndpointResult,
    T7: EndpointResult,
    T8: EndpointResult,
    T9: EndpointResult,
    T10: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> EndpointResult for MultiArg12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult,
    T4: EndpointResult,
    T5: EndpointResult,
    T6: EndpointResult,
    T7: EndpointResult,
    T8: EndpointResult,
    T9: EndpointResult,
    T10: EndpointResult,
    T11: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> EndpointResult for MultiArg13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult,
    T4: EndpointResult,
    T5: EndpointResult,
    T6: EndpointResult,
    T7: EndpointResult,
    T8: EndpointResult,
    T9: EndpointResult,
    T10: EndpointResult,
    T11: EndpointResult,
    T12: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> EndpointResult for MultiArg14<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult,
    T4: EndpointResult,
    T5: EndpointResult,
    T6: EndpointResult,
    T7: EndpointResult,
    T8: EndpointResult,
    T9: EndpointResult,
    T10: EndpointResult,
    T11: EndpointResult,
    T12: EndpointResult,
    T13: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> EndpointResult for MultiArg15<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult,
    T4: EndpointResult,
    T5: EndpointResult,
    T6: EndpointResult,
    T7: EndpointResult,
    T8: EndpointResult,
    T9: EndpointResult,
    T10: EndpointResult,
    T11: EndpointResult,
    T12: EndpointResult,
    T13: EndpointResult,
    T14: EndpointResult
[src]

type DecodeAs = Self

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

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> EndpointResult for MultiArg16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> where
    T0: EndpointResult,
    T1: EndpointResult,
    T2: EndpointResult,
    T3: EndpointResult,
    T4: EndpointResult,
    T5: EndpointResult,
    T6: EndpointResult,
    T7: EndpointResult,
    T8: EndpointResult,
    T9: EndpointResult,
    T10: EndpointResult,
    T11: EndpointResult,
    T12: EndpointResult,
    T13: EndpointResult,
    T14: EndpointResult,
    T15: EndpointResult
[src]

type DecodeAs = Self

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

impl<T> EndpointResult for OptionalArg<T> where
    T: EndpointResult
[src]

type DecodeAs = OptionalArg<T::DecodeAs>

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

impl<T> EndpointResult for SCResult<T> where
    T: EndpointResult
[src]

type DecodeAs = T::DecodeAs

Error implies the transaction fails, so if there is a result, it is of type T.

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

impl<T> EndpointResult for MultiArgVec<T> where
    T: EndpointResult
[src]

type DecodeAs = MultiArgVec<T::DecodeAs>

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

impl<T> EndpointResult for T where
    T: TopEncode
[src]

All serializable objects can be used as smart contract function result.

type DecodeAs = Self

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