Skip to main content

Decode

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".

Implementations on Foreign Types§

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, 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> Decode<X, D> for (T0,)
where X: CustomValueKind, D: Decoder<X>, T0: 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>,

Source§

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

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 usize
where X: CustomValueKind, D: Decoder<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 LengthValidation
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 NovelTypeMetadata
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 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 AllowedIds

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 Decimal

Source§

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

Source§

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

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 LowerBound

Source§

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

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 ManifestBucketBatch

Source§

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

Source§

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

Source§

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

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 ManifestNamedAddress

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 ManifestPreciseDecimal

Source§

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

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 ManifestResourceConstraints

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

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 UpperBound

Source§

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

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 Decimal

Source§

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

Source§

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

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 GlobalCaller

Source§

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

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 ManifestResourceConstraints

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

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 PreciseDecimal

Source§

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

Source§

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

Source§

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

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 RoyaltyAmount

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 UpperBound

Source§

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

Source§

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

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 DatabaseUpdate

Source§

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

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 EntityType

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

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 PartitionStateUpdates

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 Round

Source§

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

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<D: Decoder<X>, X: CustomValueKind> Decode<X, D> for ScryptoCustomValueKind

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 StateUpdates

Source§

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

Source§

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

Source§

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

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 SchemaV1<S>

Source§

impl<S, D, X> Decode<X, D> for SchemaVersions<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 NumericValidation<T>

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: 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, 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, 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, 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, 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 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 Option<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, Y> Decode<X, D> for EnumVariantValue<X, Y>
where X: CustomValueKind, D: Decoder<X>, Y: Decode<X, D> + CustomValue<X>,

Source§

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

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, const DISCRIMINATOR: u8, T> Decode<X, D> for SborFixedEnumVariant<DISCRIMINATOR, T>
where X: CustomValueKind, D: Decoder<X>, T: Decode<X, D> + SborTuple<X>,

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>,