pub trait Decode<'b, C>: Sized {
// Required method
fn decode(d: &mut Decoder<'b>, ctx: &mut C) -> Result<Self, Error>;
// Provided method
fn nil() -> Option<Self> { ... }
}Expand description
A type that can be decoded from CBOR.
Required Methods§
Sourcefn decode(d: &mut Decoder<'b>, ctx: &mut C) -> Result<Self, Error>
fn decode(d: &mut Decoder<'b>, ctx: &mut C) -> Result<Self, Error>
Decode a value using the given Decoder.
In addition to the decoder a user provided decoding context is given
as another parameter. Most implementations of this trait do not need
a decoding context and should be completely generic in the context
type. In cases where a context is needed and the Decode impl type is
meant to be combined with other types that require a different context
type, it is preferrable to constrain the context type variable C with
a trait bound instead of fixing the type.
Provided Methods§
Sourcefn nil() -> Option<Self>
fn nil() -> Option<Self>
If possible, return a nil value of Self.
This method is primarily used by minicbor-derive and allows
creating a special value denoting the absence of a “real” value if
no CBOR value is present. The canonical example of a type where
this is sensible is the Option type, whose Decode::nil method
would return Some(None).
With the exception of Option<_> all types T are considered
mandatory by default, i.e. T::nil() returns None. Missing values
of T therefore cause decoding errors in derived Decode
implementations.
NB: A type implementing Decode with an overriden Decode::nil
method should also override Encode::is_nil if it implements Encode
at all.
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<'b, C> Decode<'b, C> for SocketAddr
Available on crate feature std only.
impl<'b, C> Decode<'b, C> for SocketAddr
std only.Source§impl<'b, C> Decode<'b, C> for SpendingData
impl<'b, C> Decode<'b, C> for SpendingData
Source§impl<'b, C> Decode<'b, C> for AuxiliaryData
impl<'b, C> Decode<'b, C> for AuxiliaryData
Source§impl<'b, C> Decode<'b, C> for Certificate
impl<'b, C> Decode<'b, C> for Certificate
Source§impl<'b, C> Decode<'b, C> for InstantaneousRewardSource
impl<'b, C> Decode<'b, C> for InstantaneousRewardSource
Source§impl<'b, C> Decode<'b, C> for InstantaneousRewardTarget
impl<'b, C> Decode<'b, C> for InstantaneousRewardTarget
Source§impl<'b, C> Decode<'b, C> for SocketAddrV4
Available on crate feature std only.
impl<'b, C> Decode<'b, C> for SocketAddrV4
std only.Source§impl<'b, C> Decode<'b, C> for SocketAddrV6
Available on crate feature std only.
impl<'b, C> Decode<'b, C> for SocketAddrV6
std only.Source§impl<'b, C> Decode<'b, C> for SystemTime
Available on crate feature std only.
impl<'b, C> Decode<'b, C> for SystemTime
std only.Source§impl<'b, C> Decode<'b, C> for BoundedBytes
impl<'b, C> Decode<'b, C> for BoundedBytes
Source§impl<'b, C, K, V> Decode<'b, C> for KeyValuePairs<K, V>
impl<'b, C, K, V> Decode<'b, C> for KeyValuePairs<K, V>
Source§impl<'b, C, K, V> Decode<'b, C> for NonEmptyKeyValuePairs<K, V>
impl<'b, C, K, V> Decode<'b, C> for NonEmptyKeyValuePairs<K, V>
Source§impl<'b, C, P> Decode<'b, C> for OrderPreservingProperties<P>where
P: Decode<'b, C>,
impl<'b, C, P> Decode<'b, C> for OrderPreservingProperties<P>where
P: Decode<'b, C>,
Source§impl<'b, C, T> Decode<'b, C> for PseudoDatumOption<T>where
T: Decode<'b, C>,
impl<'b, C, T> Decode<'b, C> for PseudoDatumOption<T>where
T: Decode<'b, C>,
Source§impl<'b, C, T> Decode<'b, C> for PseudoScript<T>
impl<'b, C, T> Decode<'b, C> for PseudoScript<T>
Source§impl<'b, C, T> Decode<'b, C> for PseudoTransactionOutput<T>where
T: Decode<'b, C>,
impl<'b, C, T> Decode<'b, C> for PseudoTransactionOutput<T>where
T: Decode<'b, C>,
Source§impl<'b, C, T> Decode<'b, C> for PseudoScript<T>
impl<'b, C, T> Decode<'b, C> for PseudoScript<T>
Source§impl<'b, C, T> Decode<'b, C> for PseudoTransactionOutput<T>where
T: Decode<'b, C>,
impl<'b, C, T> Decode<'b, C> for PseudoTransactionOutput<T>where
T: Decode<'b, C>,
Source§impl<'b, C, T> Decode<'b, C> for Box<T>where
T: Decode<'b, C>,
Available on crate feature alloc only.
impl<'b, C, T> Decode<'b, C> for Box<T>where
T: Decode<'b, C>,
alloc only.Source§impl<'b, C, T> Decode<'b, C> for BinaryHeap<T>
Available on crate feature alloc only.
impl<'b, C, T> Decode<'b, C> for BinaryHeap<T>
alloc only.Source§impl<'b, C, T> Decode<'b, C> for LinkedList<T>where
T: Decode<'b, C>,
impl<'b, C, T> Decode<'b, C> for LinkedList<T>where
T: Decode<'b, C>,
Source§impl<'b, C, T> Decode<'b, C> for PhantomData<T>
impl<'b, C, T> Decode<'b, C> for PhantomData<T>
Source§impl<'b, C, T> Decode<'b, C> for RangeInclusive<T>where
T: Decode<'b, C>,
impl<'b, C, T> Decode<'b, C> for RangeInclusive<T>where
T: Decode<'b, C>,
Source§impl<'b, C, T> Decode<'b, C> for RangeToInclusive<T>where
T: Decode<'b, C>,
impl<'b, C, T> Decode<'b, C> for RangeToInclusive<T>where
T: Decode<'b, C>,
Source§impl<'b, C, T> Decode<'b, C> for NonEmptySet<T>where
T: Decode<'b, C>,
impl<'b, C, T> Decode<'b, C> for NonEmptySet<T>where
T: Decode<'b, C>,
Source§impl<'b, C, T> Decode<'b, C> for ZeroOrOneArray<T>where
T: Decode<'b, C>,
impl<'b, C, T> Decode<'b, C> for ZeroOrOneArray<T>where
T: Decode<'b, C>,
Source§impl<'b, Ctx, A, B, C, D> Decode<'b, Ctx> for (A, B, C, D)
impl<'b, Ctx, A, B, C, D> Decode<'b, Ctx> for (A, B, C, D)
Source§impl<'b, Ctx, A, B, C, D, E> Decode<'b, Ctx> for (A, B, C, D, E)
impl<'b, Ctx, A, B, C, D, E> Decode<'b, Ctx> for (A, B, C, D, E)
Source§impl<'b, Ctx, A, B, C, D, E, F> Decode<'b, Ctx> for (A, B, C, D, E, F)
impl<'b, Ctx, A, B, C, D, E, F> Decode<'b, Ctx> for (A, B, C, D, E, F)
Source§impl<'b, Ctx, A, B, C, D, E, F, G> Decode<'b, Ctx> for (A, B, C, D, E, F, G)
impl<'b, Ctx, A, B, C, D, E, F, G> Decode<'b, Ctx> for (A, B, C, D, E, F, G)
Source§impl<'b, Ctx, A, B, C, D, E, F, G, H> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H)
impl<'b, Ctx, A, B, C, D, E, F, G, H> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H)
Source§impl<'b, Ctx, A, B, C, D, E, F, G, H, I> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I)
impl<'b, Ctx, A, B, C, D, E, F, G, H, I> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I)
Source§impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J)
impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J)
Source§impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J, K> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J, K)
impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J, K> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J, K)
Source§impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J, K, L> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J, K, L> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J, K, L)
Source§impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J, K, L, M> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J, K, L, M)
impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J, K, L, M> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J, K, L, M)
Source§impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J, K, L, M, N> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J, K, L, M, N> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
Source§impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)where
A: Decode<'b, Ctx>,
B: Decode<'b, Ctx>,
C: Decode<'b, Ctx>,
D: Decode<'b, Ctx>,
E: Decode<'b, Ctx>,
F: Decode<'b, Ctx>,
G: Decode<'b, Ctx>,
H: Decode<'b, Ctx>,
I: Decode<'b, Ctx>,
J: Decode<'b, Ctx>,
K: Decode<'b, Ctx>,
L: Decode<'b, Ctx>,
M: Decode<'b, Ctx>,
N: Decode<'b, Ctx>,
O: Decode<'b, Ctx>,
impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)where
A: Decode<'b, Ctx>,
B: Decode<'b, Ctx>,
C: Decode<'b, Ctx>,
D: Decode<'b, Ctx>,
E: Decode<'b, Ctx>,
F: Decode<'b, Ctx>,
G: Decode<'b, Ctx>,
H: Decode<'b, Ctx>,
I: Decode<'b, Ctx>,
J: Decode<'b, Ctx>,
K: Decode<'b, Ctx>,
L: Decode<'b, Ctx>,
M: Decode<'b, Ctx>,
N: Decode<'b, Ctx>,
O: Decode<'b, Ctx>,
Source§impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)where
A: Decode<'b, Ctx>,
B: Decode<'b, Ctx>,
C: Decode<'b, Ctx>,
D: Decode<'b, Ctx>,
E: Decode<'b, Ctx>,
F: Decode<'b, Ctx>,
G: Decode<'b, Ctx>,
H: Decode<'b, Ctx>,
I: Decode<'b, Ctx>,
J: Decode<'b, Ctx>,
K: Decode<'b, Ctx>,
L: Decode<'b, Ctx>,
M: Decode<'b, Ctx>,
N: Decode<'b, Ctx>,
O: Decode<'b, Ctx>,
P: Decode<'b, Ctx>,
impl<'b, Ctx, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> Decode<'b, Ctx> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)where
A: Decode<'b, Ctx>,
B: Decode<'b, Ctx>,
C: Decode<'b, Ctx>,
D: Decode<'b, Ctx>,
E: Decode<'b, Ctx>,
F: Decode<'b, Ctx>,
G: Decode<'b, Ctx>,
H: Decode<'b, Ctx>,
I: Decode<'b, Ctx>,
J: Decode<'b, Ctx>,
K: Decode<'b, Ctx>,
L: Decode<'b, Ctx>,
M: Decode<'b, Ctx>,
N: Decode<'b, Ctx>,
O: Decode<'b, Ctx>,
P: Decode<'b, Ctx>,
Source§impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedBlock<'b>where
'bytes: 'b,
impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedBlock<'b>where
'bytes: 'b,
Source§impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedWitnessSet<'b>where
'bytes: 'b,
impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedWitnessSet<'b>where
'bytes: 'b,
Source§impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedWitnessSet<'b>where
'bytes: 'b,
impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedWitnessSet<'b>where
'bytes: 'b,
Source§impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedBlock<'b>where
'bytes: 'b,
impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedBlock<'b>where
'bytes: 'b,
Source§impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedBlockBody<'b>where
'bytes: 'b,
impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedBlockBody<'b>where
'bytes: 'b,
Source§impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedEbBlock<'b>where
'bytes: 'b,
impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedEbBlock<'b>where
'bytes: 'b,
Source§impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedTxPayload<'b>where
'bytes: 'b,
impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedTxPayload<'b>where
'bytes: 'b,
Source§impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedWitnessSet<'b>where
'bytes: 'b,
impl<'bytes, 'b, Ctx> Decode<'bytes, Ctx> for MintedWitnessSet<'b>where
'bytes: 'b,
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for RedeemerTag
impl<'bytes, Ctx> Decode<'bytes, Ctx> for RedeemerTag
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for NonceVariant
impl<'bytes, Ctx> Decode<'bytes, Ctx> for NonceVariant
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for HeaderBody
impl<'bytes, Ctx> Decode<'bytes, Ctx> for HeaderBody
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for MoveInstantaneousReward
impl<'bytes, Ctx> Decode<'bytes, Ctx> for MoveInstantaneousReward
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for PostAlonzoAuxiliaryData
impl<'bytes, Ctx> Decode<'bytes, Ctx> for PostAlonzoAuxiliaryData
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for ProtocolParamUpdate
impl<'bytes, Ctx> Decode<'bytes, Ctx> for ProtocolParamUpdate
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for RedeemerPointer
impl<'bytes, Ctx> Decode<'bytes, Ctx> for RedeemerPointer
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for ShelleyMaAuxiliaryData
impl<'bytes, Ctx> Decode<'bytes, Ctx> for ShelleyMaAuxiliaryData
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for TransactionBody
impl<'bytes, Ctx> Decode<'bytes, Ctx> for TransactionBody
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for TransactionOutput
impl<'bytes, Ctx> Decode<'bytes, Ctx> for TransactionOutput
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for WitnessSet
impl<'bytes, Ctx> Decode<'bytes, Ctx> for WitnessSet
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for CostModels
impl<'bytes, Ctx> Decode<'bytes, Ctx> for CostModels
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for OperationalCert
impl<'bytes, Ctx> Decode<'bytes, Ctx> for OperationalCert
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for PostAlonzoAuxiliaryData
impl<'bytes, Ctx> Decode<'bytes, Ctx> for PostAlonzoAuxiliaryData
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for ProtocolParamUpdate
impl<'bytes, Ctx> Decode<'bytes, Ctx> for ProtocolParamUpdate
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for WitnessSet
impl<'bytes, Ctx> Decode<'bytes, Ctx> for WitnessSet
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for BlockHeadEx
impl<'bytes, Ctx> Decode<'bytes, Ctx> for BlockHeadEx
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for BlockProof
impl<'bytes, Ctx> Decode<'bytes, Ctx> for BlockProof
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for PostAlonzoAuxiliaryData
impl<'bytes, Ctx> Decode<'bytes, Ctx> for PostAlonzoAuxiliaryData
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for RedeemersValue
impl<'bytes, Ctx> Decode<'bytes, Ctx> for RedeemersValue
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for WitnessSet
impl<'bytes, Ctx> Decode<'bytes, Ctx> for WitnessSet
Source§impl<'bytes, Ctx> Decode<'bytes, Ctx> for ExUnitPrices
impl<'bytes, Ctx> Decode<'bytes, Ctx> for ExUnitPrices
Source§impl<'bytes, Ctx, T1> Decode<'bytes, Ctx> for PseudoHeader<T1>where
T1: Decode<'bytes, Ctx>,
impl<'bytes, Ctx, T1> Decode<'bytes, Ctx> for PseudoHeader<T1>where
T1: Decode<'bytes, Ctx>,
Source§impl<'bytes, Ctx, T1> Decode<'bytes, Ctx> for PseudoHeader<T1>where
T1: Decode<'bytes, Ctx>,
impl<'bytes, Ctx, T1> Decode<'bytes, Ctx> for PseudoHeader<T1>where
T1: Decode<'bytes, Ctx>,
Source§impl<'bytes, Ctx, T1> Decode<'bytes, Ctx> for PseudoTransactionBody<T1>where
T1: Decode<'bytes, Ctx>,
impl<'bytes, Ctx, T1> Decode<'bytes, Ctx> for PseudoTransactionBody<T1>where
T1: Decode<'bytes, Ctx>,
Source§impl<'bytes, Ctx, T1> Decode<'bytes, Ctx> for PseudoTransactionBody<T1>where
T1: Decode<'bytes, Ctx>,
impl<'bytes, Ctx, T1> Decode<'bytes, Ctx> for PseudoTransactionBody<T1>where
T1: Decode<'bytes, Ctx>,
Source§impl<'bytes, Ctx, T1, T2, T3> Decode<'bytes, Ctx> for PseudoPostAlonzoTransactionOutput<T1, T2, T3>
impl<'bytes, Ctx, T1, T2, T3> Decode<'bytes, Ctx> for PseudoPostAlonzoTransactionOutput<T1, T2, T3>
Source§impl<'bytes, Ctx, T1, T2, T3, T4> Decode<'bytes, Ctx> for PseudoBlock<T1, T2, T3, T4>
impl<'bytes, Ctx, T1, T2, T3, T4> Decode<'bytes, Ctx> for PseudoBlock<T1, T2, T3, T4>
Source§impl<'bytes, Ctx, T1, T2, T3, T4> Decode<'bytes, Ctx> for PseudoBlock<T1, T2, T3, T4>
impl<'bytes, Ctx, T1, T2, T3, T4> Decode<'bytes, Ctx> for PseudoBlock<T1, T2, T3, T4>
Implementors§
impl<'a, 'b, C> Decode<'b, C> for &'a ByteSlicewhere
'b: 'a,
impl<'a, C, const BYTES: usize> Decode<'a, C> for Hash<BYTES>
impl<'b> Decode<'b, ()> for Point
impl<'b> Decode<'b, ()> for NetworkBlock
impl<'b> Decode<'b, ()> for Tip
impl<'b> Decode<'b, Slot> for EraHistory
impl<'b, C> Decode<'b, C> for EraName
impl<'b, C> Decode<'b, C> for MemoizedDatum
impl<'b, C> Decode<'b, C> for amaru_kernel::cardano::metadatum::Metadatum
FIXME: Multi-era + length checks on bytes and text
Ensure that this decoder is multi-era capable and also correctly checks for bytes and (utf-8-encoded) text to be encoded as chunks.
impl<'b, C> Decode<'b, C> for RewardKind
impl<'b, C> Decode<'b, C> for AddrAttrProperty
impl<'b, C> Decode<'b, C> for AddrType
impl<'b, C> Decode<'b, C> for BigInt
impl<'b, C> Decode<'b, C> for amaru_kernel::Certificate
impl<'b, C> Decode<'b, C> for DRep
impl<'b, C> Decode<'b, C> for GovAction
impl<'b, C> Decode<'b, C> for NativeScript
impl<'b, C> Decode<'b, C> for PlutusData
impl<'b, C> Decode<'b, C> for Redeemers
impl<'b, C> Decode<'b, C> for Relay
impl<'b, C> Decode<'b, C> for StakeCredential
impl<'b, C> Decode<'b, C> for amaru_kernel::Value
impl<'b, C> Decode<'b, C> for Vote
impl<'b, C> Decode<'b, C> for Voter
impl<'b, C> Decode<'b, C> for Token<'b>
impl<'b, C> Decode<'b, C> for Account
impl<'b, C> Decode<'b, C> for amaru_kernel::cardano::auxiliary_data::AuxiliaryData
impl<'b, C> Decode<'b, C> for amaru_kernel::cardano::block::Block
impl<'b, C> Decode<'b, C> for BlockHeader
impl<'b, C> Decode<'b, C> for BlockHeight
impl<'b, C> Decode<'b, C> for CertificatePointer
impl<'b, C> Decode<'b, C> for DRepState
impl<'b, C> Decode<'b, C> for Epoch
impl<'b, C> Decode<'b, C> for EraBound
impl<'b, C> Decode<'b, C> for EraParams
impl<'b, C> Decode<'b, C> for EraSummary
impl<'b, C> Decode<'b, C> for MemoizedNativeScript
impl<'b, C> Decode<'b, C> for MemoizedPlutusData
impl<'b, C> Decode<'b, C> for MemoizedTransactionOutput
impl<'b, C> Decode<'b, C> for NetworkMagic
impl<'b, C> Decode<'b, C> for PoolParams
impl<'b, C> Decode<'b, C> for ProposalPointer
impl<'b, C> Decode<'b, C> for ProposalState
impl<'b, C> Decode<'b, C> for ProtocolParameters
impl<'b, C> Decode<'b, C> for Reward
impl<'b, C> Decode<'b, C> for Slot
impl<'b, C> Decode<'b, C> for amaru_kernel::cardano::transaction_body::TransactionBody
impl<'b, C> Decode<'b, C> for TransactionPointer
impl<'b, C> Decode<'b, C> for Anchor
impl<'b, C> Decode<'b, C> for Constitution
impl<'b, C> Decode<'b, C> for DRepVotingThresholds
impl<'b, C> Decode<'b, C> for NonZeroInt
impl<'b, C> Decode<'b, C> for PoolVotingThresholds
impl<'b, C> Decode<'b, C> for PositiveCoin
impl<'b, C> Decode<'b, C> for ProposalProcedure
impl<'b, C> Decode<'b, C> for GovActionId
impl<'b, C> Decode<'b, C> for RationalNumber
impl<'b, C> Decode<'b, C> for VotingProcedure
impl<'b, C> Decode<'b, C> for SerialisedAsMillis
impl<'b, C> Decode<'b, C> for SerialisedAsPico
impl<'b, C> Decode<'b, C> for amaru_kernel::cbor::data::Int
impl<'b, C> Decode<'b, C> for AnyCbor
impl<'b, C> Decode<'b, C> for Tag
impl<'b, C, A> Decode<'b, C> for MaybeIndefArray<A>where
A: Decode<'b, C>,
impl<'b, C, A> Decode<'b, C> for Constr<A>where
A: Decode<'b, C>,
impl<'b, C, const N: u64, T> Decode<'b, C> for Tagged<N, T>where
T: Decode<'b, C>,
impl<'b, C, const N: usize> Decode<'b, C> for ByteArray<N>
impl<'b, T, C> Decode<'b, C> for KeepRaw<'b, T>where
T: Decode<'b, C>,
impl<'bytes, Ctx> Decode<'bytes, Ctx> for amaru_kernel::Language
impl<'bytes, Ctx> Decode<'bytes, Ctx> for NetworkId
impl<'bytes, Ctx> Decode<'bytes, Ctx> for amaru_kernel::ScriptPurpose
impl<'bytes, Ctx> Decode<'bytes, Ctx> for Transaction
impl<'bytes, Ctx> Decode<'bytes, Ctx> for amaru_kernel::cardano::witness_set::WitnessSet
impl<'bytes, Ctx> Decode<'bytes, Ctx> for AddressPayload
impl<'bytes, Ctx> Decode<'bytes, Ctx> for BootstrapWitness
impl<'bytes, Ctx> Decode<'bytes, Ctx> for ByronAddress
impl<'bytes, Ctx> Decode<'bytes, Ctx> for Bytes
impl<'bytes, Ctx> Decode<'bytes, Ctx> for amaru_kernel::CostModels
impl<'bytes, Ctx> Decode<'bytes, Ctx> for amaru_kernel::ExUnitPrices
impl<'bytes, Ctx> Decode<'bytes, Ctx> for ExUnits
impl<'bytes, Ctx> Decode<'bytes, Ctx> for amaru_kernel::HeaderBody
impl<'bytes, Ctx> Decode<'bytes, Ctx> for amaru_kernel::Int
impl<'bytes, Ctx> Decode<'bytes, Ctx> for PoolMetadata
impl<'bytes, Ctx> Decode<'bytes, Ctx> for amaru_kernel::ProtocolParamUpdate
impl<'bytes, Ctx> Decode<'bytes, Ctx> for amaru_kernel::Redeemer
impl<'bytes, Ctx> Decode<'bytes, Ctx> for RedeemersKey
impl<'bytes, Ctx> Decode<'bytes, Ctx> for TransactionInput
impl<'bytes, Ctx> Decode<'bytes, Ctx> for VKeyWitness
impl<'bytes, Ctx, const VERSION: usize> Decode<'bytes, Ctx> for PlutusScript<VERSION>
impl<'d, C> Decode<'d, C> for ConstitutionalCommitteeStatus
impl<'d, C> Decode<'d, C> for Ballot
impl<'d, C> Decode<'d, C> for BallotId
impl<'d, C> Decode<'d, C> for ComparableProposalId
impl<C> Decode<'_, C> for ByteVec
alloc only.