Skip to main content

ContractTypeRefSpec

Trait ContractTypeRefSpec 

Source
pub trait ContractTypeRefSpec {
    const INFO: ContractTypeInfo<'static>;
    const SIGNED_PREIMAGE: Option<&'static ContractTypeView<'static>> = _;
}
Expand description

Trait for types that can appear in contract spec signatures. Implemented for primitives, collections, and #[contract_type] types.

Required Associated Constants§

Source

const INFO: ContractTypeInfo<'static>

The type reference. Transitive type definitions are not carried here; they are retained via the linker-anchor mechanism (__THRUPUT_SPEC_ANCHOR_ROOT) and resolved by spec-tool.

Provided Associated Constants§

Source

const SIGNED_PREIMAGE: Option<&'static ContractTypeView<'static>> = _

How this type appears as a signed-token preimage (ContractTypeView::SignedToken’s payload): the type itself by default, or None for a type-erased payload (the SDK’s Opaque overrides this).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl ContractTypeRefSpec for &[u8]

Source§

const INFO: ContractTypeInfo<'static> = <[u8] as ContractTypeRefSpec>::INFO

Source§

impl ContractTypeRefSpec for &str

Source§

const INFO: ContractTypeInfo<'static> = <str as ContractTypeRefSpec>::INFO

Source§

impl ContractTypeRefSpec for ()

Source§

impl ContractTypeRefSpec for BlockHeight

Source§

impl ContractTypeRefSpec for ContractAddress

Source§

impl ContractTypeRefSpec for ContractEntrypointID

Source§

impl ContractTypeRefSpec for Ed25519PublicKey

Source§

impl ContractTypeRefSpec for Ed25519Signature

Source§

impl ContractTypeRefSpec for MlDsa65PublicKey

Source§

impl ContractTypeRefSpec for MlDsa65Signature

Source§

impl ContractTypeRefSpec for PublicKey

Source§

impl ContractTypeRefSpec for SHA256Hash

Source§

impl ContractTypeRefSpec for Signature

Source§

impl ContractTypeRefSpec for String

Available on crate feature alloc only.
Source§

impl ContractTypeRefSpec for SysErr

Source§

impl ContractTypeRefSpec for SyscallNo

Source§

impl ContractTypeRefSpec for bool

Source§

impl ContractTypeRefSpec for i32

Source§

impl ContractTypeRefSpec for i64

Source§

impl ContractTypeRefSpec for i128

Source§

impl ContractTypeRefSpec for str

Source§

impl ContractTypeRefSpec for u8

Source§

impl ContractTypeRefSpec for u32

Source§

impl ContractTypeRefSpec for u64

Source§

impl ContractTypeRefSpec for u128

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> ContractTypeRefSpec for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> ContractTypeRefSpec for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> ContractTypeRefSpec for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> ContractTypeRefSpec for (A, B, C, D, E, F, G, H, I, J, K, L, M)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> ContractTypeRefSpec for (A, B, C, D, E, F, G, H, I, J, K, L)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K> ContractTypeRefSpec for (A, B, C, D, E, F, G, H, I, J, K)

Source§

impl<A, B, C, D, E, F, G, H, I, J> ContractTypeRefSpec for (A, B, C, D, E, F, G, H, I, J)

Source§

impl<A, B, C, D, E, F, G, H, I> ContractTypeRefSpec for (A, B, C, D, E, F, G, H, I)

Source§

impl<A, B, C, D, E, F, G, H> ContractTypeRefSpec for (A, B, C, D, E, F, G, H)

Source§

impl<A, B, C, D, E, F, G> ContractTypeRefSpec for (A, B, C, D, E, F, G)

Source§

impl<A, B, C, D, E, F> ContractTypeRefSpec for (A, B, C, D, E, F)

Source§

impl<A, B, C, D, E> ContractTypeRefSpec for (A, B, C, D, E)

Source§

impl<A, B, C, D> ContractTypeRefSpec for (A, B, C, D)

Source§

impl<A, B, C> ContractTypeRefSpec for (A, B, C)

Source§

impl<A, B> ContractTypeRefSpec for (A, B)

Source§

impl<A> ContractTypeRefSpec for (A,)

Source§

impl<T, const N: u32> ContractTypeRefSpec for VecM<T, N>

Available on crate feature alloc only.
Source§

impl<T, const N: usize> ContractTypeRefSpec for Vec<T, N>

Bounded vector with no allocator: the same wire shape and spec as VecM<T, N> (for u8, as BytesM<N>), but decodable in a no-alloc guest.

Source§

impl<T, const N: usize> ContractTypeRefSpec for [T; N]

Source§

impl<T> ContractTypeRefSpec for Box<T>

Available on crate feature alloc only.
Source§

const INFO: ContractTypeInfo<'static> = T::INFO

Source§

impl<T> ContractTypeRefSpec for Option<T>

Source§

impl<T> ContractTypeRefSpec for Vec<T>

Available on crate feature alloc only.
Source§

impl<T> ContractTypeRefSpec for [T]

Source§

impl<const MAX: u32> ContractTypeRefSpec for BytesM<MAX>

Source§

impl<const MAX: u32> ContractTypeRefSpec for StringM<MAX>

Source§

const INFO: ContractTypeInfo<'static> = <str as ContractTypeRefSpec>::INFO

Source§

impl<const MAX: usize> ContractTypeRefSpec for String<MAX>

Source§

const INFO: ContractTypeInfo<'static> = <str as ContractTypeRefSpec>::INFO

Implementors§