pub trait SborEnum<X>
where X: CustomValueKind,
{ // Required methods fn get_length(&self) -> usize; fn get_discriminator(&self) -> u8; }
Expand description

Marker trait for encoding as an Sbor Enum

Note - we add the X so that this can be safely implemented by different Custom macros without clashing Otherwise you couldn’t implement ManifestSbor and ScryptoSbor on the same type

Required Methods§

Implementations on Foreign Types§

source§

impl<'a, X, T> SborEnum<X> for &'a T
where X: CustomValueKind, T: SborEnum<X> + ?Sized,

Implementors§

source§

impl SborEnum<ManifestCustomValueKind> for OwnValidation

source§

impl SborEnum<ManifestCustomValueKind> for ReferenceValidation

source§

impl SborEnum<ManifestCustomValueKind> for ScryptoCustomTypeKind

source§

impl SborEnum<ManifestCustomValueKind> for ScryptoCustomTypeValidation

source§

impl SborEnum<ManifestCustomValueKind> for RoyaltyAmount

source§

impl SborEnum<ManifestCustomValueKind> for GenericSubstitution

source§

impl SborEnum<ScryptoCustomValueKind> for ParseBlsPublicKeyError

source§

impl SborEnum<ScryptoCustomValueKind> for ParseBlsSignatureError

source§

impl SborEnum<ScryptoCustomValueKind> for OwnValidation

source§

impl SborEnum<ScryptoCustomValueKind> for ReferenceValidation

source§

impl SborEnum<ScryptoCustomValueKind> for ScryptoCustomTypeKind

source§

impl SborEnum<ScryptoCustomValueKind> for ScryptoCustomTypeValidation

source§

impl SborEnum<ScryptoCustomValueKind> for RoyaltyAmount

source§

impl SborEnum<ScryptoCustomValueKind> for GenericSubstitution

source§

impl<'a, X, B> SborEnum<X> for Cow<'a, B>
where X: CustomValueKind, B: 'a + ToOwned + SborEnum<X> + ?Sized,

source§

impl<'a, X, T> SborEnum<X> for Box<T>
where X: CustomValueKind, T: SborEnum<X>,

source§

impl<'a, X, T> SborEnum<X> for Rc<T>
where X: CustomValueKind, T: SborEnum<X>,

source§

impl<'a, X, T> SborEnum<X> for RefCell<T>
where X: CustomValueKind, T: SborEnum<X>,

source§

impl<C, L, X> SborEnum<X> for TypeKind<C, L>

source§

impl<E, X> SborEnum<X> for TypeValidation<E>

source§

impl<S, X> SborEnum<X> for VersionedSchema<S>

source§

impl<X> SborEnum<X> for NoCustomTypeKind
where X: CustomValueKind,

source§

impl<X> SborEnum<X> for NoCustomTypeValidation
where X: CustomValueKind,

source§

impl<X> SborEnum<X> for SchemaValidationError
where X: CustomValueKind,

source§

impl<X> SborEnum<X> for ChildNames
where X: CustomValueKind,

source§

impl<X> SborEnum<X> for DecodeError
where X: CustomValueKind,

source§

impl<X> SborEnum<X> for EncodeError
where X: CustomValueKind,

source§

impl<X> SborEnum<X> for LocalTypeId
where X: CustomValueKind,

source§

impl<X> SborEnum<X> for RustTypeId
where X: CustomValueKind,

source§

impl<X> SborEnum<X> for WellKnownTypeId
where X: CustomValueKind, &'b_ u8: for<'b_> SborEnum<X>,

source§

impl<X, const DISCRIMINATOR: u8, T> SborEnum<X> for FixedEnumVariant<DISCRIMINATOR, T>
where X: CustomValueKind, T: SborTuple<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for ParseHashError

source§

impl<X: CustomValueKind> SborEnum<X> for PublicKey

source§

impl<X: CustomValueKind> SborEnum<X> for PublicKeyHash

source§

impl<X: CustomValueKind> SborEnum<X> for ScryptoCustomValueKind

source§

impl<X: CustomValueKind> SborEnum<X> for NonFungibleIdType

source§

impl<X: CustomValueKind> SborEnum<X> for RoundingMode

source§

impl<X: CustomValueKind> SborEnum<X> for TimeComparisonOperator

source§

impl<X: CustomValueKind> SborEnum<X> for DateTimeError

source§

impl<X: CustomValueKind> SborEnum<X> for EntityType

source§

impl<X: CustomValueKind> SborEnum<X> for SubstateKey

source§

impl<X: CustomValueKind> SborEnum<X> for Bls12381G1PublicKey
where for<'b_> &'b_ [u8; 48]: SborEnum<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for Bls12381G2Signature
where for<'b_> &'b_ [u8; 96]: SborEnum<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for Ed25519PublicKey
where for<'b_> &'b_ [u8; 32]: SborEnum<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for Ed25519PublicKeyHash
where for<'b_> &'b_ [u8; 29]: SborEnum<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for Hash
where for<'b_> &'b_ [u8; 32]: SborEnum<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for Secp256k1PublicKey
where for<'b_> &'b_ [u8; 33]: SborEnum<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for Secp256k1PublicKeyHash
where for<'b_> &'b_ [u8; 29]: SborEnum<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for Instant
where for<'b_> &'b_ i64: SborEnum<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for Epoch
where for<'b_> &'b_ u64: SborEnum<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for Round
where for<'b_> &'b_ u64: SborEnum<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for NodeId
where for<'b_> &'b_ [u8; 30]: SborEnum<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for PartitionNumber
where for<'b_> &'b_ u8: SborEnum<X>,

source§

impl<X: CustomValueKind> SborEnum<X> for SchemaHash
where for<'b_> &'b_ Hash: SborEnum<X>,