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 KeyValueStoreDataSchema

source§

impl SborEnum<ManifestCustomValueKind> for AttachedModuleId

source§

impl SborEnum<ManifestCustomValueKind> for ModuleId

source§

impl SborEnum<ManifestCustomValueKind> for DefaultDepositRule

source§

impl SborEnum<ManifestCustomValueKind> for ResourcePreference

source§

impl SborEnum<ManifestCustomValueKind> for BlueprintType

source§

impl SborEnum<ManifestCustomValueKind> for FunctionAuth

source§

impl SborEnum<ManifestCustomValueKind> for MethodAuthTemplate

source§

impl SborEnum<ManifestCustomValueKind> for RoleSpecification

source§

impl SborEnum<ManifestCustomValueKind> for PartitionDescription

source§

impl SborEnum<ManifestCustomValueKind> for NonFungibleDataSchema

source§

impl SborEnum<ManifestCustomValueKind> for AccessRule

source§

impl SborEnum<ManifestCustomValueKind> for AccessRuleNode

source§

impl SborEnum<ManifestCustomValueKind> for ProofRule

source§

impl SborEnum<ManifestCustomValueKind> for ResourceOrNonFungible

source§

impl SborEnum<ManifestCustomValueKind> for ResourceFeature

source§

impl SborEnum<ManifestCustomValueKind> for MethodAccessibility

source§

impl SborEnum<ManifestCustomValueKind> for OwnerRole

source§

impl SborEnum<ManifestCustomValueKind> for OwnerRoleUpdater

source§

impl SborEnum<ManifestCustomValueKind> for OwnValidation

source§

impl SborEnum<ManifestCustomValueKind> for ReferenceValidation

source§

impl SborEnum<ManifestCustomValueKind> for ScryptoCustomTypeKind

source§

impl SborEnum<ManifestCustomValueKind> for ScryptoCustomTypeValidation

§

impl SborEnum<ManifestCustomValueKind> for BlueprintHook

§

impl SborEnum<ManifestCustomValueKind> for GenericBound

source§

impl SborEnum<ManifestCustomValueKind> for PackageRoyalty

source§

impl SborEnum<ManifestCustomValueKind> for PackageRoyaltyConfig

source§

impl SborEnum<ManifestCustomValueKind> for GenericSubstitution

source§

impl SborEnum<ManifestCustomValueKind> for RoyaltyAmount

source§

impl SborEnum<ManifestCustomValueKind> for UncheckedOrigin
where for<'b_> &'b_ String: SborEnum<ManifestCustomValueKind>,

source§

impl SborEnum<ManifestCustomValueKind> for UncheckedUrl
where for<'b_> &'b_ String: SborEnum<ManifestCustomValueKind>,

source§

impl SborEnum<ManifestCustomValueKind> for MethodKey
where for<'b_> &'b_ String: SborEnum<ManifestCustomValueKind>,

source§

impl SborEnum<ManifestCustomValueKind> for RoleAssignmentInit

source§

impl SborEnum<ManifestCustomValueKind> for RoleKey
where for<'b_> &'b_ String: SborEnum<ManifestCustomValueKind>,

source§

impl SborEnum<ManifestCustomValueKind> for RoleList

§

impl SborEnum<ManifestCustomValueKind> for BlueprintEventSchemaInit

§

impl SborEnum<ManifestCustomValueKind> for BlueprintTypeSchemaInit

source§

impl SborEnum<ScryptoCustomValueKind> for KeyValueStoreDataSchema

source§

impl SborEnum<ScryptoCustomValueKind> for FallToOwner

source§

impl SborEnum<ScryptoCustomValueKind> for MetadataConversionError

source§

impl SborEnum<ScryptoCustomValueKind> for AttachedModuleId

source§

impl SborEnum<ScryptoCustomValueKind> for ModuleId

source§

impl SborEnum<ScryptoCustomValueKind> for Proposer

source§

impl SborEnum<ScryptoCustomValueKind> for Role

source§

impl SborEnum<ScryptoCustomValueKind> for DefaultDepositRule

source§

impl SborEnum<ScryptoCustomValueKind> for ResourcePreference

source§

impl SborEnum<ScryptoCustomValueKind> for BlueprintType

source§

impl SborEnum<ScryptoCustomValueKind> for FunctionAuth

source§

impl SborEnum<ScryptoCustomValueKind> for MethodAuthTemplate

source§

impl SborEnum<ScryptoCustomValueKind> for RoleSpecification

source§

impl SborEnum<ScryptoCustomValueKind> for BlueprintPartitionType

source§

impl SborEnum<ScryptoCustomValueKind> for BlueprintPayloadIdentifier

source§

impl SborEnum<ScryptoCustomValueKind> for InputOrOutput

source§

impl SborEnum<ScryptoCustomValueKind> for KeyOrValue

source§

impl SborEnum<ScryptoCustomValueKind> for PartitionDescription

source§

impl SborEnum<ScryptoCustomValueKind> for NonFungibleDataSchema

source§

impl SborEnum<ScryptoCustomValueKind> for GlobalCaller

source§

impl SborEnum<ScryptoCustomValueKind> for AccessRule

source§

impl SborEnum<ScryptoCustomValueKind> for AccessRuleNode

source§

impl SborEnum<ScryptoCustomValueKind> for ProofRule

source§

impl SborEnum<ScryptoCustomValueKind> for ResourceOrNonFungible

source§

impl SborEnum<ScryptoCustomValueKind> for ResourceError

source§

impl SborEnum<ScryptoCustomValueKind> for ResourceFeature

source§

impl SborEnum<ScryptoCustomValueKind> for MethodAccessibility

source§

impl SborEnum<ScryptoCustomValueKind> for OwnerRole

source§

impl SborEnum<ScryptoCustomValueKind> for OwnerRoleUpdater

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

§

impl SborEnum<ScryptoCustomValueKind> for BlueprintHook

§

impl SborEnum<ScryptoCustomValueKind> for GenericBound

source§

impl SborEnum<ScryptoCustomValueKind> for ObjectType

source§

impl SborEnum<ScryptoCustomValueKind> for OuterObjectInfo

source§

impl SborEnum<ScryptoCustomValueKind> for Emitter

source§

impl SborEnum<ScryptoCustomValueKind> for PackageRoyalty

source§

impl SborEnum<ScryptoCustomValueKind> for PackageRoyaltyConfig

source§

impl SborEnum<ScryptoCustomValueKind> for GenericSubstitution

source§

impl SborEnum<ScryptoCustomValueKind> for RoyaltyAmount

source§

impl SborEnum<ScryptoCustomValueKind> for UncheckedOrigin
where for<'b_> &'b_ String: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for UncheckedUrl
where for<'b_> &'b_ String: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for BlueprintDependencies

source§

impl SborEnum<ScryptoCustomValueKind> for FungibleBucket
where for<'b_> &'b_ Bucket: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for NonFungibleBucket
where for<'b_> &'b_ Bucket: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for FungibleProof
where for<'b_> &'b_ Proof: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for NonFungibleProof
where for<'b_> &'b_ Proof: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for LiquidFungibleResource
where for<'b_> &'b_ Decimal: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for LiquidNonFungibleVault
where for<'b_> &'b_ Decimal: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for VaultFrozenFlag

source§

impl SborEnum<ScryptoCustomValueKind> for MethodKey
where for<'b_> &'b_ String: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for RoleAssignmentInit

source§

impl SborEnum<ScryptoCustomValueKind> for RoleKey
where for<'b_> &'b_ String: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for RoleList
where for<'b_> &'b_ Vec<RoleKey>: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for FungibleVault
where for<'b_> &'b_ Vault: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for NonFungibleVault
where for<'b_> &'b_ Vault: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for Vault
where for<'b_> &'b_ Own: SborEnum<ScryptoCustomValueKind>,

source§

impl SborEnum<ScryptoCustomValueKind> for OwnedWorktop
where for<'b_> &'b_ Own: SborEnum<ScryptoCustomValueKind>,

§

impl SborEnum<ScryptoCustomValueKind> for BlueprintEventSchemaInit

§

impl SborEnum<ScryptoCustomValueKind> for BlueprintTypeSchemaInit

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<K: Hash + Eq + PartialEq, V> SborEnum<ManifestCustomValueKind> for KeyValueStoreInit<K, V>

source§

impl<K: Hash + Eq + PartialEq, V> SborEnum<ScryptoCustomValueKind> for KeyValueStoreInit<K, V>

source§

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

§

impl<T> SborEnum<ManifestCustomValueKind> for BlueprintCollectionSchema<T>

§

impl<T> SborEnum<ManifestCustomValueKind> for TypeRef<T>

§

impl<T> SborEnum<ScryptoCustomValueKind> for BlueprintCollectionSchema<T>

§

impl<T> SborEnum<ScryptoCustomValueKind> for TypeRef<T>

source§

impl<U, O> SborEnum<ManifestCustomValueKind> for GenericMetadataValue<U, O>

source§

impl<U, O> SborEnum<ScryptoCustomValueKind> for GenericMetadataValue<U, O>

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

§

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

§

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

§

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

source§

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

source§

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

source§

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

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 SubstateKey
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 Bls12381G1PublicKey
where X: CustomValueKind, &'b_ [u8; 48]: for<'b_> SborEnum<X>,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<X> SborEnum<X> for SchemaHash
where X: CustomValueKind, &'b_ Hash: 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 TimePrecisionV1

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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