Trait multiversx_sc::abi::TypeAbi
source · pub trait TypeAbi {
// Provided methods
fn type_name() -> TypeName { ... }
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(
accumulator: &mut TDC
) { ... }
}
Provided Methods§
fn type_name() -> TypeName
sourcefn provide_type_descriptions<TDC: TypeDescriptionContainer>(
accumulator: &mut TDC
)
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
A type can provide more than its own name. For instance, a struct can also provide the descriptions of the type of its fields. TypeAbi doesn’t care for the exact accumulator type, which is abstracted by the TypeDescriptionContainer trait.
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl TypeAbi for bool
impl TypeAbi for bool
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(_: &mut TDC)
source§impl TypeAbi for i8
impl TypeAbi for i8
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(_: &mut TDC)
source§impl TypeAbi for i16
impl TypeAbi for i16
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(_: &mut TDC)
source§impl TypeAbi for i32
impl TypeAbi for i32
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(_: &mut TDC)
source§impl TypeAbi for i64
impl TypeAbi for i64
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(_: &mut TDC)
source§impl TypeAbi for isize
impl TypeAbi for isize
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(_: &mut TDC)
source§impl TypeAbi for u8
impl TypeAbi for u8
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(_: &mut TDC)
source§impl TypeAbi for u16
impl TypeAbi for u16
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(_: &mut TDC)
source§impl TypeAbi for u32
impl TypeAbi for u32
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(_: &mut TDC)
source§impl TypeAbi for u64
impl TypeAbi for u64
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(_: &mut TDC)
impl TypeAbi for ()
source§impl TypeAbi for usize
impl TypeAbi for usize
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(_: &mut TDC)
source§impl TypeAbi for NonZeroUsize
impl TypeAbi for NonZeroUsize
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>(_: &mut TDC)
source§impl<T0> TypeAbi for (T0,)where
T0: TypeAbi,
impl<T0> TypeAbi for (T0,)where
T0: TypeAbi,
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1> TypeAbi for (T0, T1)
impl<T0, T1> TypeAbi for (T0, T1)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1> TypeAbi for MultiValue2<T0, T1>
impl<T0, T1> TypeAbi for MultiValue2<T0, T1>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2> TypeAbi for (T0, T1, T2)
impl<T0, T1, T2> TypeAbi for (T0, T1, T2)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2> TypeAbi for MultiValue3<T0, T1, T2>
impl<T0, T1, T2> TypeAbi for MultiValue3<T0, T1, T2>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3> TypeAbi for (T0, T1, T2, T3)
impl<T0, T1, T2, T3> TypeAbi for (T0, T1, T2, T3)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3> TypeAbi for MultiValue4<T0, T1, T2, T3>
impl<T0, T1, T2, T3> TypeAbi for MultiValue4<T0, T1, T2, T3>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4> TypeAbi for (T0, T1, T2, T3, T4)
impl<T0, T1, T2, T3, T4> TypeAbi for (T0, T1, T2, T3, T4)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4> TypeAbi for MultiValue5<T0, T1, T2, T3, T4>
impl<T0, T1, T2, T3, T4> TypeAbi for MultiValue5<T0, T1, T2, T3, T4>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5> TypeAbi for (T0, T1, T2, T3, T4, T5)
impl<T0, T1, T2, T3, T4, T5> TypeAbi for (T0, T1, T2, T3, T4, T5)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5> TypeAbi for MultiValue6<T0, T1, T2, T3, T4, T5>
impl<T0, T1, T2, T3, T4, T5> TypeAbi for MultiValue6<T0, T1, T2, T3, T4, T5>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6> TypeAbi for (T0, T1, T2, T3, T4, T5, T6)
impl<T0, T1, T2, T3, T4, T5, T6> TypeAbi for (T0, T1, T2, T3, T4, T5, T6)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6> TypeAbi for MultiValue7<T0, T1, T2, T3, T4, T5, T6>
impl<T0, T1, T2, T3, T4, T5, T6> TypeAbi for MultiValue7<T0, T1, T2, T3, T4, T5, T6>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7)
impl<T0, T1, T2, T3, T4, T5, T6, T7> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7> TypeAbi for MultiValue8<T0, T1, T2, T3, T4, T5, T6, T7>
impl<T0, T1, T2, T3, T4, T5, T6, T7> TypeAbi for MultiValue8<T0, T1, T2, T3, T4, T5, T6, T7>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TypeAbi for MultiValue9<T0, T1, T2, T3, T4, T5, T6, T7, T8>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TypeAbi for MultiValue9<T0, T1, T2, T3, T4, T5, T6, T7, T8>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TypeAbi for MultiValue10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TypeAbi for MultiValue10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TypeAbi for MultiValue11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TypeAbi for MultiValue11<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TypeAbi for MultiValue12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TypeAbi for MultiValue12<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TypeAbi for MultiValue13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TypeAbi for MultiValue13<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TypeAbi for MultiValue14<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TypeAbi for MultiValue14<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TypeAbi for MultiValue15<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TypeAbi for MultiValue15<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TypeAbi for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TypeAbi for MultiValue16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TypeAbi for MultiValue16<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T: TypeAbi> TypeAbi for &[T]
impl<T: TypeAbi> TypeAbi for &[T]
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T: TypeAbi> TypeAbi for Option<T>
impl<T: TypeAbi> TypeAbi for Option<T>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T: TypeAbi> TypeAbi for OptionalValue<T>
impl<T: TypeAbi> TypeAbi for OptionalValue<T>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T: TypeAbi> TypeAbi for &T
impl<T: TypeAbi> TypeAbi for &T
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T: TypeAbi> TypeAbi for MultiValueVec<T>
impl<T: TypeAbi> TypeAbi for MultiValueVec<T>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T: TypeAbi, E> TypeAbi for Result<T, E>
impl<T: TypeAbi, E> TypeAbi for Result<T, E>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T: TypeAbi, const CAP: usize> TypeAbi for ArrayVec<T, CAP>
impl<T: TypeAbi, const CAP: usize> TypeAbi for ArrayVec<T, CAP>
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
source§impl<T: TypeAbi, const N: usize> TypeAbi for [T; N]
impl<T: TypeAbi, const N: usize> TypeAbi for [T; N]
fn type_name() -> TypeName
fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )
Implementors§
impl TypeAbi for EsdtLocalRole
impl TypeAbi for EsdtTokenType
impl TypeAbi for MessageHashType
impl TypeAbi for OperationCompletionStatus
impl TypeAbi for Sign
impl TypeAbi for Address
impl TypeAbi for Box<str>
impl TypeAbi for BoxedBytes
impl TypeAbi for H256
impl TypeAbi for String
impl TypeAbi for CodeMetadata
impl<E, const CAPACITY: usize> TypeAbi for SparseArray<E, CAPACITY>where
E: ErrorApi,
impl<M> TypeAbi for EsdtTokenPaymentMultiValue<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for ManagedAddress<M>where
M: ManagedTypeApi,
impl<M> TypeAbi for ManagedArgBuffer<M>where
M: ManagedTypeApi,
impl<M, T> TypeAbi for ManagedAsyncCallResult<M, T>where
M: ManagedTypeApi,
T: TypeAbi,
impl<M, T> TypeAbi for ManagedOption<M, T>
impl<M, T> TypeAbi for ManagedVec<M, T>
impl<M, T> TypeAbi for MultiValueEncoded<M, T>where
M: ManagedTypeApi,
T: TypeAbi,
impl<M, T> TypeAbi for MultiValueManagedVec<M, T>
impl<M, T> TypeAbi for MultiValueManagedVecCounted<M, T>
impl<M, const N: usize> TypeAbi for ManagedByteArray<M, N>where
M: ManagedTypeApi,
impl<M: ManagedTypeApi> TypeAbi for EgldOrMultiEsdtPayment<M>
impl<M: ManagedTypeApi> TypeAbi for BigFloat<M>
impl<M: ManagedTypeApi> TypeAbi for BigInt<M>
impl<M: ManagedTypeApi> TypeAbi for BigUint<M>
impl<M: ManagedTypeApi> TypeAbi for EgldOrEsdtTokenIdentifier<M>
impl<M: ManagedTypeApi> TypeAbi for EgldOrEsdtTokenPayment<M>
impl<M: ManagedTypeApi> TypeAbi for EllipticCurve<M>
impl<M: ManagedTypeApi> TypeAbi for EsdtTokenData<M>
impl<M: ManagedTypeApi> TypeAbi for EsdtTokenPayment<M>
impl<M: ManagedTypeApi> TypeAbi for ManagedBuffer<M>
impl<M: ManagedTypeApi> TypeAbi for TokenIdentifier<M>
impl<SA> TypeAbi for FungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
impl<SA> TypeAbi for NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
impl<SA> TypeAbi for UniqueIdMapper<SA>where
SA: StorageMapperApi,
Behaves like a MultiResultVec when an endpoint result.
impl<SA> TypeAbi for UserMapper<SA>where
SA: StorageMapperApi,
Behaves like a MultiResultVec when an endpoint result.
impl<SA, K, V> TypeAbi for BiDiMapper<SA, K, V>where
SA: StorageMapperApi,
K: TopEncode + TopDecode + NestedEncode + NestedDecode + 'static + Default + PartialEq + TypeAbi,
V: TopEncode + TopDecode + NestedEncode + NestedDecode + 'static + Default + PartialEq + TypeAbi,
impl<SA, K, V> TypeAbi for MapMapper<SA, K, V>where
SA: StorageMapperApi,
K: TopEncode + TopDecode + NestedEncode + NestedDecode + TypeAbi + 'static,
V: TopEncode + TopDecode + TypeAbi + 'static,
Behaves like a MultiResultVec<MultiValue<K, V>> when an endpoint result.
impl<SA, T> TypeAbi for LinkedListMapper<SA, T>where
SA: StorageMapperApi,
T: TopEncode + TopDecode + NestedEncode + NestedDecode + Clone + TypeAbi,
impl<SA, T> TypeAbi for QueueMapper<SA, T>
Behaves like a MultiResultVec when an endpoint result.
impl<SA, T> TypeAbi for SetMapper<SA, T>
Behaves like a MultiResultVec when an endpoint result.
impl<SA, T> TypeAbi for SingleValueMapper<SA, T>
impl<SA, T> TypeAbi for UnorderedSetMapper<SA, T>
Behaves like a MultiResultVec when an endpoint result.
impl<SA, T> TypeAbi for VecMapper<SA, T>
Behaves like a MultiResultVec when an endpoint result.