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

Object Safety§

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<C, L, D, X> Decode<X, D> for TypeKind<C, L>
where C: CustomTypeKind<L> + Decode<X, D> + Categorize<X>, L: SchemaTypeLink + Decode<X, D> + Categorize<X>, 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 NoCustomTypeValidation
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 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 RustTypeId
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 ManifestAddress

source§

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

source§

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

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 ScryptoCustomTypeValidation

source§

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

source§

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

source§

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

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 ManifestPreciseDecimal

source§

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

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

source§

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

source§

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

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

source§

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

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 ComponentAddress

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

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

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 Round

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 SchemaHash

source§

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

source§

impl<E, D, X> Decode<X, D> for TypeValidation<E>

source§

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

source§

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

source§

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

source§

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

source§

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

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