Trait Decode

Source
pub trait Decode<X, D>: Sized
where X: CustomValueKind, D: Decoder<X>,
{ // Required method fn decode_body_with_value_kind( decoder: &mut D, value_kind: ValueKind<X>, ) -> Result<Self, DecodeError>; }
Expand description

A data structure that can be decoded from a byte array using SBOR.

Required Methods§

Source

fn decode_body_with_value_kind( decoder: &mut D, value_kind: ValueKind<X>, ) -> Result<Self, DecodeError>

Decodes the type from the decoder, which should match a preloaded value kind.

You may want to call decoder.decode_deeper_body_with_value_kind instead of this method. See the below section for details.

§Direct calls and SBOR Depth

In order to avoid SBOR depth differentials and disagreement about whether a payload is valid, typed codec implementations should ensure that the SBOR depth as measured during the encoding/decoding process agrees with the SBOR Value codec.

Each layer of the SBOR Value counts as one depth.

If the decoder you’re writing is embedding a child type (and is represented as such in the SBOR Value type), then you should call decoder.decode_body_with_value_kind to increment the SBOR depth tracker.

You should only call T::decode_body_with_value_kind directly when the decoding of that type into an SBOR Value doesn’t increase the SBOR depth in the decoder, that is:

  • When the wrapping type is invisible to the SBOR Value, ie:
    • Smart pointers
    • Transparent wrappers
  • Where the use of the inner type is invisible to SBOR Value, ie:
    • Where the use of T::decode_body_with_value_kind is coincidental / code re-use

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<X, D> Decode<X, D> for bool
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for i8
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for i16
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for i32
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for i64
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for i128
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for isize
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for u8
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for u16
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for u32
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for u64
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for u128
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for ()
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for usize
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D, T0> Decode<X, D> for (T0,)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>,

Source§

impl<X, D, T0, T1> Decode<X, D> for (T0, T1)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2> Decode<X, D> for (T0, T1, T2)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3> Decode<X, D> for (T0, T1, T2, T3)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4> Decode<X, D> for (T0, T1, T2, T3, T4)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5> Decode<X, D> for (T0, T1, T2, T3, T4, T5)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7, T8> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>, T8: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>, T8: Decode<X, D>, T9: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>, T8: Decode<X, D>, T9: Decode<X, D>, T10: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>, T8: Decode<X, D>, T9: Decode<X, D>, T10: Decode<X, D>, T11: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>, T8: Decode<X, D>, T9: Decode<X, D>, T10: Decode<X, D>, T11: Decode<X, D>, T12: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>, T8: Decode<X, D>, T9: Decode<X, D>, T10: Decode<X, D>, T11: Decode<X, D>, T12: Decode<X, D>, T13: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>, T8: Decode<X, D>, T9: Decode<X, D>, T10: Decode<X, D>, T11: Decode<X, D>, T12: Decode<X, D>, T13: Decode<X, D>, T14: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>, T8: Decode<X, D>, T9: Decode<X, D>, T10: Decode<X, D>, T11: Decode<X, D>, T12: Decode<X, D>, T13: Decode<X, D>, T14: Decode<X, D>, T15: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>, T8: Decode<X, D>, T9: Decode<X, D>, T10: Decode<X, D>, T11: Decode<X, D>, T12: Decode<X, D>, T13: Decode<X, D>, T14: Decode<X, D>, T15: Decode<X, D>, T16: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>, T8: Decode<X, D>, T9: Decode<X, D>, T10: Decode<X, D>, T11: Decode<X, D>, T12: Decode<X, D>, T13: Decode<X, D>, T14: Decode<X, D>, T15: Decode<X, D>, T16: Decode<X, D>, T17: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>, T8: Decode<X, D>, T9: Decode<X, D>, T10: Decode<X, D>, T11: Decode<X, D>, T12: Decode<X, D>, T13: Decode<X, D>, T14: Decode<X, D>, T15: Decode<X, D>, T16: Decode<X, D>, T17: Decode<X, D>, T18: Decode<X, D>,

Source§

impl<X, D, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> Decode<X, D> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)
where X: CustomValueKind, D: Decoder<X>, T0: Decode<X, D>, T1: Decode<X, D>, T2: Decode<X, D>, T3: Decode<X, D>, T4: Decode<X, D>, T5: Decode<X, D>, T6: Decode<X, D>, T7: Decode<X, D>, T8: Decode<X, D>, T9: Decode<X, D>, T10: Decode<X, D>, T11: Decode<X, D>, T12: Decode<X, D>, T13: Decode<X, D>, T14: Decode<X, D>, T15: Decode<X, D>, T16: Decode<X, D>, T17: Decode<X, D>, T18: Decode<X, D>, T19: Decode<X, D>,

Source§

impl<X, D, T, const N: usize> Decode<X, D> for [T; N]
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D> + Categorize<X>,

Implementors§

Source§

impl<'a, X, D, B, O> Decode<X, D> for Cow<'a, B>
where X: CustomValueKind, D: Decoder<X>, B: 'a + ToOwned<Owned = O> + ?Sized, O: Decode<X, D>,

Source§

impl<D, X> Decode<X, D> for ChildNames
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D, X> Decode<X, D> for DecodeError
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D, X> Decode<X, D> for EncodeError
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D, X> Decode<X, D> for LocalTypeId
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D, X> Decode<X, D> for NoCustomTypeKind
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D, X> Decode<X, D> for NoCustomTypeKindLabel
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D, X> Decode<X, D> for NoCustomTypeValidation
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D, X> Decode<X, D> for RustTypeId
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D, X> Decode<X, D> for SchemaValidationError
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D, X> Decode<X, D> for LengthValidation
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D, X> Decode<X, D> for NovelTypeMetadata
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D, X> Decode<X, D> for TypeMetadata
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D, X> Decode<X, D> for WellKnownTypeId
where D: Decoder<X>, X: CustomValueKind,

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestCustomValue

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for AllowedIds

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for LowerBound

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestAddress

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestBucketBatch

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestComponentAddress

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestExpression

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestGlobalAddress

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestNonFungibleLocalId

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestPackageAddress

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestProofBatch

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestResourceAddress

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestResourceConstraint

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for UpperBound

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for OwnValidation

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ReferenceValidation

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ScryptoCustomTypeKind

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ScryptoCustomTypeKindLabel

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ScryptoCustomTypeValidation

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for NonFungibleLocalId

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for GenericSubstitution

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for RoyaltyAmount

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for GeneralResourceConstraint

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestAddressReservation

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestBlobRef

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestBucket

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestDecimal

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestNamedAddress

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestPreciseDecimal

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestProof

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ManifestResourceConstraints

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for Reference

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for Decimal

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for PreciseDecimal

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for BlueprintId

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for BlueprintTypeIdentifier

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ComponentAddress

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for GlobalAddress

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for InternalAddress

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for NonFungibleGlobalId

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for PackageAddress

Source§

impl<D: Decoder<ManifestCustomValueKind>> Decode<ManifestCustomValueKind, D> for ResourceAddress

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ParseBlsPublicKeyError

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ParseBlsSignatureError

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ParseEd25519PublicKeyError

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ParseEd25519SignatureError

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ParseSecp256k1PublicKeyError

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ParseSecp256k1SignatureError

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for AllowedIds

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for LowerBound

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ManifestResourceConstraint

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ResourceConstraintError

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ResourceConstraintsError

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for UpperBound

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for OwnValidation

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ReferenceValidation

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ScryptoCustomTypeKind

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ScryptoCustomTypeKindLabel

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ScryptoCustomTypeValidation

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ScryptoCustomValue

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for NonFungibleLocalId

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for GenericSubstitution

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for GlobalCaller

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for RoyaltyAmount

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for GeneralResourceConstraint

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ManifestResourceConstraints

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for Own

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for Reference

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for Decimal

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for PreciseDecimal

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for BlueprintId

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for BlueprintTypeIdentifier

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ComponentAddress

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for GlobalAddress

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for GlobalAddressReservation

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for InternalAddress

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for NonFungibleGlobalId

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for PackageAddress

Source§

impl<D: Decoder<ScryptoCustomValueKind>> Decode<ScryptoCustomValueKind, D> for ResourceAddress

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for AlwaysVisibleGlobalNodesVersion

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for ParseHashError

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for PublicKey

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for PublicKeyHash

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for ScryptoCustomValueKind

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for NonFungibleIdType

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for RoundingMode

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for BatchPartitionStateUpdate

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for DatabaseUpdate

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for NodeStateUpdates

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for PartitionStateUpdates

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for TimeComparisonOperator

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for DateTimeError

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for EntityType

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for SubstateKey

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Bls12381G1PublicKey

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Bls12381G2Signature

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Ed25519PublicKey

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Ed25519PublicKeyHash

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Ed25519Signature

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Hash

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Secp256k1PublicKey

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Secp256k1PublicKeyHash

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Secp256k1Signature

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Secp256k1UncompressedPublicKey

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for NetworkDefinition

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for StateUpdates

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Instant

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for UtcDateTime

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Epoch

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for NodeId

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for PartitionNumber

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for PartitionOffset

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for Round

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for SchemaHash

Source§

impl<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for ScopedTypeId

Source§

impl<E, D, X> Decode<X, D> for TypeValidation<E>
where E: CustomTypeValidation + Decode<X, D>, D: Decoder<X>, X: CustomValueKind,

Source§

impl<Ext, D> Decode<<Ext as CustomExtension>::CustomValueKind, D> for RawValue<'_, Ext>

Source§

impl<S, D, X> Decode<X, D> for SchemaVersions<S>

Source§

impl<S, D, X> Decode<X, D> for SchemaV1<S>

Source§

impl<S, D, X> Decode<X, D> for SingleTypeSchema<S>

Source§

impl<S, D, X> Decode<X, D> for TypeCollectionSchema<S>

Source§

impl<S, D, X> Decode<X, D> for VersionedSchema<S>

Source§

impl<T, D, X> Decode<X, D> for TypeKindLabel<T>
where T: CustomTypeKindLabel + Decode<X, D>, D: Decoder<X>, X: CustomValueKind,

Source§

impl<T, D, X> Decode<X, D> for NumericValidation<T>

Source§

impl<T, D: Decoder<X>, X: CustomValueKind> Decode<X, D> for FullyScopedTypeId<T>
where T: Decode<X, D> + AsRef<NodeId>,

Source§

impl<T, L, D, X> Decode<X, D> for TypeKind<T, L>
where T: CustomTypeKind<L> + Decode<X, D>, L: SchemaTypeLink + Decode<X, D> + Categorize<X>, D: Decoder<X>, X: CustomValueKind,

Source§

impl<X, D> Decode<X, D> for NoCustomValue
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D> Decode<X, D> for String
where X: CustomValueKind, D: Decoder<X>,

Source§

impl<X, D, K, V> Decode<X, D> for HashMap<K, V>
where X: CustomValueKind, D: Decoder<X>, K: Decode<X, D> + Categorize<X> + Hash + Eq, V: Decode<X, D> + Categorize<X>,

Source§

impl<X, D, K, V> Decode<X, D> for IndexMap<K, V>
where X: CustomValueKind, D: Decoder<X>, K: Decode<X, D> + Categorize<X> + Hash + Eq, V: Decode<X, D> + Categorize<X>,

Source§

impl<X, D, K, V> Decode<X, D> for BTreeMap<K, V>
where X: CustomValueKind, D: Decoder<X>, K: Decode<X, D> + Categorize<X> + Ord, V: Decode<X, D> + Categorize<X>,

Source§

impl<X, D, T> Decode<X, D> for Option<T>
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D>,

Source§

impl<X, D, T> Decode<X, D> for HashSet<T>
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D> + Categorize<X> + Hash + Eq,

Source§

impl<X, D, T> Decode<X, D> for IndexSet<T>
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D> + Categorize<X> + Hash + Eq,

Source§

impl<X, D, T> Decode<X, D> for Arc<T>
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D>,

Source§

impl<X, D, T> Decode<X, D> for BTreeSet<T>
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D> + Categorize<X> + Ord,

Source§

impl<X, D, T> Decode<X, D> for Box<T>
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D>,

Source§

impl<X, D, T> Decode<X, D> for Rc<T>
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D>,

Source§

impl<X, D, T> Decode<X, D> for RefCell<T>
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D>,

Source§

impl<X, D, T> Decode<X, D> for Vec<T>
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D> + Categorize<X>,

Source§

impl<X, D, T, E> Decode<X, D> for Result<T, E>
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D>, E: Decode<X, D>,

Source§

impl<X, D, Y> Decode<X, D> for Value<X, Y>
where X: CustomValueKind, D: Decoder<X>, Y: Decode<X, D> + CustomValue<X>,

Source§

impl<X, D, Y> Decode<X, D> for EnumVariantValue<X, Y>
where X: CustomValueKind, D: Decoder<X>, Y: Decode<X, D> + CustomValue<X>,

Source§

impl<X, D, const DISCRIMINATOR: u8, T> Decode<X, D> for SborFixedEnumVariant<DISCRIMINATOR, T>
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D> + SborTuple<X>,