Trait breez_sdk_core::bitcoin::consensus::Decodable

pub trait Decodable: Sized {
    // Provided methods
    fn consensus_decode_from_finite_reader<R>(
        reader: &mut R,
    ) -> Result<Self, Error>
       where R: Read + ?Sized { ... }
    fn consensus_decode<R>(reader: &mut R) -> Result<Self, Error>
       where R: Read + ?Sized { ... }
}
Expand description

Data which can be encoded in a consensus-consistent way

Provided Methods§

fn consensus_decode_from_finite_reader<R>(reader: &mut R) -> Result<Self, Error>
where R: Read + ?Sized,

Decode Self from a size-limited reader.

Like consensus_decode but relies on the reader being limited in the amount of data it returns, e.g. by being wrapped in std::io::Take.

Failling to obide to this requirement might lead to memory exhaustion caused by malicious inputs.

Users should default to consensus_decode, but when data to be decoded is already in a byte vector of a limited size, calling this function directly might be marginally faster (due to avoiding extra checks).

§Rules for trait implementations
  • Simple types that that have a fixed size (own and member fields), don’t have to overwrite this method, or be concern with it.
  • Types that deserialize using externally provided length should implement it:
    • Make consensus_decode forward to consensus_decode_bytes_from_finite_reader with the reader wrapped by Take. Failure to do so, without other forms of memory exhaustion protection might lead to resource exhaustion vulnerability.
    • Put a max cap on things like Vec::with_capacity to avoid oversized allocations, and rely on the reader running out of data, and collections reallocating on a legitimately oversized input data, instead of trying to enforce arbitrary length limits.
  • Types that contain other types that implement custom consensus_decode_from_finite_reader, should also implement it applying same rules, and in addition make sure to call consensus_decode_from_finite_reader on all members, to avoid creating redundant Take wrappers. Failure to do so might result only in a tiny performance hit.

fn consensus_decode<R>(reader: &mut R) -> Result<Self, Error>
where R: Read + ?Sized,

Decode an object with a well-defined format.

This is the method that should be implemented for a typical, fixed sized type implementing this trait. Default implementation is wrapping the reader in crate::io::Take to limit the input size to MAX_VEC_SIZE, and forwards the call to Self::consensus_decode_from_finite_reader, which is convenient for types that override Self::consensus_decode_from_finite_reader instead.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl Decodable for Cow<'static, str>

§

fn consensus_decode<R>(r: &mut R) -> Result<Cow<'static, str>, Error>
where R: Read + ?Sized,

§

impl Decodable for bool

§

fn consensus_decode<R>(r: &mut R) -> Result<bool, Error>
where R: Read + ?Sized,

§

impl Decodable for i8

§

fn consensus_decode<R>(r: &mut R) -> Result<i8, Error>
where R: Read + ?Sized,

§

impl Decodable for i16

§

fn consensus_decode<R>(r: &mut R) -> Result<i16, Error>
where R: Read + ?Sized,

§

impl Decodable for i32

§

fn consensus_decode<R>(r: &mut R) -> Result<i32, Error>
where R: Read + ?Sized,

§

impl Decodable for i64

§

fn consensus_decode<R>(r: &mut R) -> Result<i64, Error>
where R: Read + ?Sized,

§

impl Decodable for u8

§

fn consensus_decode<R>(r: &mut R) -> Result<u8, Error>
where R: Read + ?Sized,

§

impl Decodable for u16

§

fn consensus_decode<R>(r: &mut R) -> Result<u16, Error>
where R: Read + ?Sized,

§

impl Decodable for u32

§

fn consensus_decode<R>(r: &mut R) -> Result<u32, Error>
where R: Read + ?Sized,

§

impl Decodable for u64

§

fn consensus_decode<R>(r: &mut R) -> Result<u64, Error>
where R: Read + ?Sized,

§

impl Decodable for Box<[u8]>

§

impl Decodable for String

§

impl Decodable for Vec<(u32, Address)>

§

impl Decodable for Vec<Inventory>

§

impl Decodable for Vec<u8>

§

impl Decodable for Vec<u64>

§

impl Decodable for Vec<AddrV2Message>

§

impl Decodable for Vec<BlockHash>

§

impl Decodable for Vec<FilterHash>

§

impl Decodable for Vec<FilterHeader>

§

impl Decodable for Vec<Transaction>

§

impl Decodable for Vec<TxIn>

§

impl Decodable for Vec<TxMerkleNode>

§

impl Decodable for Vec<TxOut>

§

impl Decodable for Vec<VarInt>

§

impl Decodable for Vec<PrefilledTransaction>

§

impl Decodable for Vec<ShortId>

§

impl Decodable for Vec<TapLeafHash>

§

impl Decodable for Vec<Vec<u8>>

§

impl Decodable for AddBlock

§

fn consensus_decode<R>(r: &mut R) -> Result<AddBlock, Error>
where R: Read + ?Sized,

§

impl Decodable for AddBlockReply

§

fn consensus_decode<R>(r: &mut R) -> Result<AddBlockReply, Error>
where R: Read + ?Sized,

§

impl Decodable for Attestation

§

fn consensus_decode<D>(d: &mut D) -> Result<Attestation, Error>
where D: Read + ?Sized,

§

impl Decodable for Basepoints

§

fn consensus_decode<R>(r: &mut R) -> Result<Basepoints, Error>
where R: Read + ?Sized,

§

impl Decodable for Bip32KeyVersion

§

fn consensus_decode<R>(r: &mut R) -> Result<Bip32KeyVersion, Error>
where R: Read + ?Sized,

§

impl Decodable for BitcoinSignature

§

fn consensus_decode<R>(r: &mut R) -> Result<BitcoinSignature, Error>
where R: Read + ?Sized,

§

impl Decodable for BlockChunk

§

fn consensus_decode<R>(r: &mut R) -> Result<BlockChunk, Error>
where R: Read + ?Sized,

§

impl Decodable for BlockChunkReply

§

fn consensus_decode<R>(r: &mut R) -> Result<BlockChunkReply, Error>
where R: Read + ?Sized,

§

impl Decodable for CheckFutureSecret

§

fn consensus_decode<R>(r: &mut R) -> Result<CheckFutureSecret, Error>
where R: Read + ?Sized,

§

impl Decodable for CheckFutureSecretReply

§

fn consensus_decode<R>(r: &mut R) -> Result<CheckFutureSecretReply, Error>
where R: Read + ?Sized,

§

impl Decodable for CheckOutpoint

§

fn consensus_decode<R>(r: &mut R) -> Result<CheckOutpoint, Error>
where R: Read + ?Sized,

§

impl Decodable for CheckOutpointReply

§

fn consensus_decode<R>(r: &mut R) -> Result<CheckOutpointReply, Error>
where R: Read + ?Sized,

§

impl Decodable for CheckPubKey

§

fn consensus_decode<R>(r: &mut R) -> Result<CheckPubKey, Error>
where R: Read + ?Sized,

§

impl Decodable for CheckPubKeyReply

§

fn consensus_decode<R>(r: &mut R) -> Result<CheckPubKeyReply, Error>
where R: Read + ?Sized,

§

impl Decodable for ClientHsmFd

§

fn consensus_decode<R>(r: &mut R) -> Result<ClientHsmFd, Error>
where R: Read + ?Sized,

§

impl Decodable for ClientHsmFdReply

§

fn consensus_decode<R>(r: &mut R) -> Result<ClientHsmFdReply, Error>
where R: Read + ?Sized,

§

impl Decodable for CloseInfo

§

fn consensus_decode<R>(r: &mut R) -> Result<CloseInfo, Error>
where R: Read + ?Sized,

§

impl Decodable for DebugTxoProof

§

fn consensus_decode<D>(d: &mut D) -> Result<DebugTxoProof, Error>
where D: Read + ?Sized,

§

impl Decodable for DeriveSecret

§

fn consensus_decode<R>(r: &mut R) -> Result<DeriveSecret, Error>
where R: Read + ?Sized,

§

impl Decodable for DeriveSecretReply

§

fn consensus_decode<R>(r: &mut R) -> Result<DeriveSecretReply, Error>
where R: Read + ?Sized,

§

impl Decodable for DevPrivKey

§

fn consensus_decode<R>(r: &mut R) -> Result<DevPrivKey, Error>
where R: Read + ?Sized,

§

impl Decodable for DevSecret

§

fn consensus_decode<R>(r: &mut R) -> Result<DevSecret, Error>
where R: Read + ?Sized,

§

impl Decodable for DisclosedSecret

§

fn consensus_decode<R>(r: &mut R) -> Result<DisclosedSecret, Error>
where R: Read + ?Sized,

§

impl Decodable for Ecdh

§

fn consensus_decode<R>(r: &mut R) -> Result<Ecdh, Error>
where R: Read + ?Sized,

§

impl Decodable for EcdhReply

§

fn consensus_decode<R>(r: &mut R) -> Result<EcdhReply, Error>
where R: Read + ?Sized,

§

impl Decodable for ExtKey

§

fn consensus_decode<R>(r: &mut R) -> Result<ExtKey, Error>
where R: Read + ?Sized,

§

impl Decodable for FailedHtlc

§

fn consensus_decode<R>(r: &mut R) -> Result<FailedHtlc, Error>
where R: Read + ?Sized,

§

impl Decodable for ForgetChannel

§

fn consensus_decode<R>(r: &mut R) -> Result<ForgetChannel, Error>
where R: Read + ?Sized,

§

impl Decodable for ForgetChannelReply

§

fn consensus_decode<R>(r: &mut R) -> Result<ForgetChannelReply, Error>
where R: Read + ?Sized,

§

impl Decodable for ForwardWatches

§

fn consensus_decode<R>(r: &mut R) -> Result<ForwardWatches, Error>
where R: Read + ?Sized,

§

impl Decodable for ForwardWatchesReply

§

fn consensus_decode<R>(r: &mut R) -> Result<ForwardWatchesReply, Error>
where R: Read + ?Sized,

§

impl Decodable for GetChannelBasepoints

§

fn consensus_decode<R>(r: &mut R) -> Result<GetChannelBasepoints, Error>
where R: Read + ?Sized,

§

impl Decodable for GetChannelBasepointsReply

§

fn consensus_decode<R>(r: &mut R) -> Result<GetChannelBasepointsReply, Error>
where R: Read + ?Sized,

§

impl Decodable for GetHeartbeat

§

fn consensus_decode<R>(r: &mut R) -> Result<GetHeartbeat, Error>
where R: Read + ?Sized,

§

impl Decodable for GetHeartbeatReply

§

fn consensus_decode<R>(r: &mut R) -> Result<GetHeartbeatReply, Error>
where R: Read + ?Sized,

§

impl Decodable for GetPerCommitmentPoint

§

fn consensus_decode<R>(r: &mut R) -> Result<GetPerCommitmentPoint, Error>
where R: Read + ?Sized,

§

impl Decodable for GetPerCommitmentPoint2

§

fn consensus_decode<R>(r: &mut R) -> Result<GetPerCommitmentPoint2, Error>
where R: Read + ?Sized,

§

impl Decodable for GetPerCommitmentPoint2Reply

§

fn consensus_decode<R>(r: &mut R) -> Result<GetPerCommitmentPoint2Reply, Error>
where R: Read + ?Sized,

§

impl Decodable for GetPerCommitmentPointReply

§

fn consensus_decode<R>(r: &mut R) -> Result<GetPerCommitmentPointReply, Error>
where R: Read + ?Sized,

§

impl Decodable for Headers

§

fn consensus_decode<D>(d: &mut D) -> Result<Headers, Error>
where D: Read + ?Sized,

§

impl Decodable for Heartbeat

§

fn consensus_decode<R>(r: &mut R) -> Result<Heartbeat, Error>
where R: Read + ?Sized,

§

impl Decodable for HsmdDevPreinit

§

fn consensus_decode<R>(r: &mut R) -> Result<HsmdDevPreinit, Error>
where R: Read + ?Sized,

§

impl Decodable for HsmdDevPreinit2

§

fn consensus_decode<R>(r: &mut R) -> Result<HsmdDevPreinit2, Error>
where R: Read + ?Sized,

§

impl Decodable for HsmdDevPreinit2Options

§

fn consensus_decode<R>(r: &mut R) -> Result<HsmdDevPreinit2Options, Error>
where R: Read + ?Sized,

§

impl Decodable for HsmdDevPreinitReply

§

fn consensus_decode<R>(r: &mut R) -> Result<HsmdDevPreinitReply, Error>
where R: Read + ?Sized,

§

impl Decodable for HsmdInit

§

fn consensus_decode<R>(r: &mut R) -> Result<HsmdInit, Error>
where R: Read + ?Sized,

§

impl Decodable for HsmdInit2

§

fn consensus_decode<R>(r: &mut R) -> Result<HsmdInit2, Error>
where R: Read + ?Sized,

§

impl Decodable for HsmdInit2Reply

§

fn consensus_decode<R>(r: &mut R) -> Result<HsmdInit2Reply, Error>
where R: Read + ?Sized,

§

impl Decodable for HsmdInitReplyV2

§

fn consensus_decode<R>(r: &mut R) -> Result<HsmdInitReplyV2, Error>
where R: Read + ?Sized,

§

impl Decodable for HsmdInitReplyV4

§

fn consensus_decode<R>(r: &mut R) -> Result<HsmdInitReplyV4, Error>
where R: Read + ?Sized,

§

impl Decodable for Htlc

§

fn consensus_decode<R>(r: &mut R) -> Result<Htlc, Error>
where R: Read + ?Sized,

§

impl Decodable for IgnoredLargeOctets

§

fn consensus_decode<R>(reader: &mut R) -> Result<IgnoredLargeOctets, Error>
where R: Read + ?Sized,

§

impl Decodable for LargeOctets

§

fn consensus_decode<R>(reader: &mut R) -> Result<LargeOctets, Error>
where R: Read + ?Sized,

§

impl Decodable for LockOutpoint

§

fn consensus_decode<R>(r: &mut R) -> Result<LockOutpoint, Error>
where R: Read + ?Sized,

§

impl Decodable for LockOutpointReply

§

fn consensus_decode<R>(r: &mut R) -> Result<LockOutpointReply, Error>
where R: Read + ?Sized,

§

impl Decodable for Memleak

§

fn consensus_decode<R>(r: &mut R) -> Result<Memleak, Error>
where R: Read + ?Sized,

§

impl Decodable for MemleakReply

§

fn consensus_decode<R>(r: &mut R) -> Result<MemleakReply, Error>
where R: Read + ?Sized,

§

impl Decodable for NewChannel

§

fn consensus_decode<R>(r: &mut R) -> Result<NewChannel, Error>
where R: Read + ?Sized,

§

impl Decodable for NewChannelReply

§

fn consensus_decode<R>(r: &mut R) -> Result<NewChannelReply, Error>
where R: Read + ?Sized,

§

impl Decodable for NodeInfo

§

fn consensus_decode<R>(r: &mut R) -> Result<NodeInfo, Error>
where R: Read + ?Sized,

§

impl Decodable for NodeInfoReply

§

fn consensus_decode<R>(r: &mut R) -> Result<NodeInfoReply, Error>
where R: Read + ?Sized,

§

impl Decodable for Octets

§

fn consensus_decode<R>(reader: &mut R) -> Result<Octets, Error>
where R: Read + ?Sized,

§

impl Decodable for OnionRoutingPacket

§

fn consensus_decode<R>(r: &mut R) -> Result<OnionRoutingPacket, Error>
where R: Read + ?Sized,

§

impl Decodable for Ping

§

fn consensus_decode<R>(r: &mut R) -> Result<Ping, Error>
where R: Read + ?Sized,

§

impl Decodable for Pong

§

fn consensus_decode<R>(r: &mut R) -> Result<Pong, Error>
where R: Read + ?Sized,

§

impl Decodable for PreapproveInvoice

§

fn consensus_decode<R>(r: &mut R) -> Result<PreapproveInvoice, Error>
where R: Read + ?Sized,

§

impl Decodable for PreapproveInvoiceReply

§

fn consensus_decode<R>(r: &mut R) -> Result<PreapproveInvoiceReply, Error>
where R: Read + ?Sized,

§

impl Decodable for PreapproveKeysend

§

fn consensus_decode<R>(r: &mut R) -> Result<PreapproveKeysend, Error>
where R: Read + ?Sized,

§

impl Decodable for PreapproveKeysendReply

§

fn consensus_decode<R>(r: &mut R) -> Result<PreapproveKeysendReply, Error>
where R: Read + ?Sized,

§

impl Decodable for ProofType

§

fn consensus_decode<D>(reader: &mut D) -> Result<ProofType, Error>
where D: Read + ?Sized,

§

impl Decodable for PubKey

§

fn consensus_decode<R>(r: &mut R) -> Result<PubKey, Error>
where R: Read + ?Sized,

§

impl Decodable for PubKey32

§

fn consensus_decode<R>(r: &mut R) -> Result<PubKey32, Error>
where R: Read + ?Sized,

§

impl Decodable for RecoverableSignature

§

fn consensus_decode<R>(r: &mut R) -> Result<RecoverableSignature, Error>
where R: Read + ?Sized,

§

impl Decodable for RemoveBlock

§

fn consensus_decode<R>(r: &mut R) -> Result<RemoveBlock, Error>
where R: Read + ?Sized,

§

impl Decodable for RemoveBlockReply

§

fn consensus_decode<R>(r: &mut R) -> Result<RemoveBlockReply, Error>
where R: Read + ?Sized,

§

impl Decodable for ReverseWatches

§

fn consensus_decode<R>(r: &mut R) -> Result<ReverseWatches, Error>
where R: Read + ?Sized,

§

impl Decodable for ReverseWatchesReply

§

fn consensus_decode<R>(r: &mut R) -> Result<ReverseWatchesReply, Error>
where R: Read + ?Sized,

§

impl Decodable for RevokeCommitmentTx

§

fn consensus_decode<R>(r: &mut R) -> Result<RevokeCommitmentTx, Error>
where R: Read + ?Sized,

§

impl Decodable for RevokeCommitmentTxReply

§

fn consensus_decode<R>(r: &mut R) -> Result<RevokeCommitmentTxReply, Error>
where R: Read + ?Sized,

§

impl Decodable for Secret

§

fn consensus_decode<R>(r: &mut R) -> Result<Secret, Error>
where R: Read + ?Sized,

§

impl Decodable for SetupChannel

§

fn consensus_decode<R>(r: &mut R) -> Result<SetupChannel, Error>
where R: Read + ?Sized,

§

impl Decodable for SetupChannelReply

§

fn consensus_decode<R>(r: &mut R) -> Result<SetupChannelReply, Error>
where R: Read + ?Sized,

§

impl Decodable for Sha256

§

fn consensus_decode<R>(r: &mut R) -> Result<Sha256, Error>
where R: Read + ?Sized,

§

impl Decodable for SignAnchorspend

§

fn consensus_decode<R>(r: &mut R) -> Result<SignAnchorspend, Error>
where R: Read + ?Sized,

§

impl Decodable for SignAnchorspendReply

§

fn consensus_decode<R>(r: &mut R) -> Result<SignAnchorspendReply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignAnyChannelAnnouncement

§

fn consensus_decode<R>(r: &mut R) -> Result<SignAnyChannelAnnouncement, Error>
where R: Read + ?Sized,

§

impl Decodable for SignAnyChannelAnnouncementReply

§

fn consensus_decode<R>( r: &mut R, ) -> Result<SignAnyChannelAnnouncementReply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignAnyDelayedPaymentToUs

§

fn consensus_decode<R>(r: &mut R) -> Result<SignAnyDelayedPaymentToUs, Error>
where R: Read + ?Sized,

§

impl Decodable for SignAnyLocalHtlcTx

§

fn consensus_decode<R>(r: &mut R) -> Result<SignAnyLocalHtlcTx, Error>
where R: Read + ?Sized,

§

impl Decodable for SignAnyPenaltyToUs

§

fn consensus_decode<R>(r: &mut R) -> Result<SignAnyPenaltyToUs, Error>
where R: Read + ?Sized,

§

impl Decodable for SignAnyRemoteHtlcToUs

§

fn consensus_decode<R>(r: &mut R) -> Result<SignAnyRemoteHtlcToUs, Error>
where R: Read + ?Sized,

§

impl Decodable for SignBolt12

§

fn consensus_decode<R>(r: &mut R) -> Result<SignBolt12, Error>
where R: Read + ?Sized,

§

impl Decodable for SignBolt12Reply

§

fn consensus_decode<R>(r: &mut R) -> Result<SignBolt12Reply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignChannelAnnouncement

§

fn consensus_decode<R>(r: &mut R) -> Result<SignChannelAnnouncement, Error>
where R: Read + ?Sized,

§

impl Decodable for SignChannelAnnouncementReply

§

fn consensus_decode<R>(r: &mut R) -> Result<SignChannelAnnouncementReply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignChannelUpdate

§

fn consensus_decode<R>(r: &mut R) -> Result<SignChannelUpdate, Error>
where R: Read + ?Sized,

§

impl Decodable for SignChannelUpdateReply

§

fn consensus_decode<R>(r: &mut R) -> Result<SignChannelUpdateReply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignCommitmentTx

§

fn consensus_decode<R>(r: &mut R) -> Result<SignCommitmentTx, Error>
where R: Read + ?Sized,

§

impl Decodable for SignCommitmentTxReply

§

fn consensus_decode<R>(r: &mut R) -> Result<SignCommitmentTxReply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignCommitmentTxWithHtlcsReply

§

fn consensus_decode<R>( r: &mut R, ) -> Result<SignCommitmentTxWithHtlcsReply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignDelayedPaymentToUs

§

fn consensus_decode<R>(r: &mut R) -> Result<SignDelayedPaymentToUs, Error>
where R: Read + ?Sized,

§

impl Decodable for SignGossipMessage

§

fn consensus_decode<R>(r: &mut R) -> Result<SignGossipMessage, Error>
where R: Read + ?Sized,

§

impl Decodable for SignGossipMessageReply

§

fn consensus_decode<R>(r: &mut R) -> Result<SignGossipMessageReply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignHtlcTxMingle

§

fn consensus_decode<R>(r: &mut R) -> Result<SignHtlcTxMingle, Error>
where R: Read + ?Sized,

§

impl Decodable for SignHtlcTxMingleReply

§

fn consensus_decode<R>(r: &mut R) -> Result<SignHtlcTxMingleReply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignInvoice

§

fn consensus_decode<R>(r: &mut R) -> Result<SignInvoice, Error>
where R: Read + ?Sized,

§

impl Decodable for SignInvoiceReply

§

fn consensus_decode<R>(r: &mut R) -> Result<SignInvoiceReply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignLocalCommitmentTx2

§

fn consensus_decode<R>(r: &mut R) -> Result<SignLocalCommitmentTx2, Error>
where R: Read + ?Sized,

§

impl Decodable for SignLocalHtlcTx

§

fn consensus_decode<R>(r: &mut R) -> Result<SignLocalHtlcTx, Error>
where R: Read + ?Sized,

§

impl Decodable for SignMessage

§

fn consensus_decode<R>(r: &mut R) -> Result<SignMessage, Error>
where R: Read + ?Sized,

§

impl Decodable for SignMessageReply

§

fn consensus_decode<R>(r: &mut R) -> Result<SignMessageReply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignMutualCloseTx

§

fn consensus_decode<R>(r: &mut R) -> Result<SignMutualCloseTx, Error>
where R: Read + ?Sized,

§

impl Decodable for SignMutualCloseTx2

§

fn consensus_decode<R>(r: &mut R) -> Result<SignMutualCloseTx2, Error>
where R: Read + ?Sized,

§

impl Decodable for SignNodeAnnouncement

§

fn consensus_decode<R>(r: &mut R) -> Result<SignNodeAnnouncement, Error>
where R: Read + ?Sized,

§

impl Decodable for SignNodeAnnouncementReply

§

fn consensus_decode<R>(r: &mut R) -> Result<SignNodeAnnouncementReply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignPenaltyToUs

§

fn consensus_decode<R>(r: &mut R) -> Result<SignPenaltyToUs, Error>
where R: Read + ?Sized,

§

impl Decodable for SignRemoteCommitmentTx

§

fn consensus_decode<R>(r: &mut R) -> Result<SignRemoteCommitmentTx, Error>
where R: Read + ?Sized,

§

impl Decodable for SignRemoteCommitmentTx2

§

fn consensus_decode<R>(r: &mut R) -> Result<SignRemoteCommitmentTx2, Error>
where R: Read + ?Sized,

§

impl Decodable for SignRemoteHtlcToUs

§

fn consensus_decode<R>(r: &mut R) -> Result<SignRemoteHtlcToUs, Error>
where R: Read + ?Sized,

§

impl Decodable for SignRemoteHtlcTx

§

fn consensus_decode<R>(r: &mut R) -> Result<SignRemoteHtlcTx, Error>
where R: Read + ?Sized,

§

impl Decodable for SignSpliceTx

§

fn consensus_decode<R>(r: &mut R) -> Result<SignSpliceTx, Error>
where R: Read + ?Sized,

§

impl Decodable for SignTxReply

§

fn consensus_decode<R>(r: &mut R) -> Result<SignTxReply, Error>
where R: Read + ?Sized,

§

impl Decodable for SignWithdrawal

§

fn consensus_decode<R>(r: &mut R) -> Result<SignWithdrawal, Error>
where R: Read + ?Sized,

§

impl Decodable for SignWithdrawalReply

§

fn consensus_decode<R>(r: &mut R) -> Result<SignWithdrawalReply, Error>
where R: Read + ?Sized,

§

impl Decodable for Signature

§

fn consensus_decode<R>(r: &mut R) -> Result<Signature, Error>
where R: Read + ?Sized,

§

impl Decodable for SignedAttestation

§

fn consensus_decode<D>(d: &mut D) -> Result<SignedAttestation, Error>
where D: Read + ?Sized,

§

impl Decodable for SignedHeartbeat

§

fn consensus_decode<R>(r: &mut R) -> Result<SignedHeartbeat, Error>
where R: Read + ?Sized,

§

impl Decodable for SignerError

§

fn consensus_decode<R>(r: &mut R) -> Result<SignerError, Error>
where R: Read + ?Sized,

§

impl Decodable for SpvProof

§

fn consensus_decode<D>(reader: &mut D) -> Result<SpvProof, Error>
where D: Read + ?Sized,

§

impl Decodable for StreamedPSBT

§

fn consensus_decode_from_finite_reader<R>( r: &mut R, ) -> Result<StreamedPSBT, Error>
where R: Read + ?Sized,

§

impl Decodable for TipInfo

§

fn consensus_decode<R>(r: &mut R) -> Result<TipInfo, Error>
where R: Read + ?Sized,

§

impl Decodable for TipInfoReply

§

fn consensus_decode<R>(r: &mut R) -> Result<TipInfoReply, Error>
where R: Read + ?Sized,

§

impl Decodable for TxoProof

§

fn consensus_decode<R>(reader: &mut R) -> Result<TxoProof, Error>
where R: Read + ?Sized,

§

impl Decodable for Unknown

§

fn consensus_decode<R>(r: &mut R) -> Result<Unknown, Error>
where R: Read + ?Sized,

§

impl Decodable for UnknownPlaceholder

§

fn consensus_decode<R>(r: &mut R) -> Result<UnknownPlaceholder, Error>
where R: Read + ?Sized,

§

impl Decodable for Utxo

§

fn consensus_decode<R>(r: &mut R) -> Result<Utxo, Error>
where R: Read + ?Sized,

§

impl Decodable for ValidateCommitmentTx

§

fn consensus_decode<R>(r: &mut R) -> Result<ValidateCommitmentTx, Error>
where R: Read + ?Sized,

§

impl Decodable for ValidateCommitmentTx2

§

fn consensus_decode<R>(r: &mut R) -> Result<ValidateCommitmentTx2, Error>
where R: Read + ?Sized,

§

impl Decodable for ValidateCommitmentTxReply

§

fn consensus_decode<R>(r: &mut R) -> Result<ValidateCommitmentTxReply, Error>
where R: Read + ?Sized,

§

impl Decodable for ValidateRevocation

§

fn consensus_decode<R>(r: &mut R) -> Result<ValidateRevocation, Error>
where R: Read + ?Sized,

§

impl Decodable for ValidateRevocationReply

§

fn consensus_decode<R>(r: &mut R) -> Result<ValidateRevocationReply, Error>
where R: Read + ?Sized,

§

impl Decodable for WireString

§

fn consensus_decode<R>(reader: &mut R) -> Result<WireString, Error>
where R: Read + ?Sized,

§

impl Decodable for [u8; 2]

§

fn consensus_decode<R>(r: &mut R) -> Result<[u8; 2], Error>
where R: Read + ?Sized,

§

impl Decodable for [u8; 4]

§

fn consensus_decode<R>(r: &mut R) -> Result<[u8; 4], Error>
where R: Read + ?Sized,

§

impl Decodable for [u8; 6]

§

fn consensus_decode<R>(r: &mut R) -> Result<[u8; 6], Error>
where R: Read + ?Sized,

§

impl Decodable for [u8; 8]

§

fn consensus_decode<R>(r: &mut R) -> Result<[u8; 8], Error>
where R: Read + ?Sized,

§

impl Decodable for [u8; 10]

§

fn consensus_decode<R>(r: &mut R) -> Result<[u8; 10], Error>
where R: Read + ?Sized,

§

impl Decodable for [u8; 12]

§

fn consensus_decode<R>(r: &mut R) -> Result<[u8; 12], Error>
where R: Read + ?Sized,

§

impl Decodable for [u8; 16]

§

fn consensus_decode<R>(r: &mut R) -> Result<[u8; 16], Error>
where R: Read + ?Sized,

§

impl Decodable for [u8; 32]

§

fn consensus_decode<R>(r: &mut R) -> Result<[u8; 32], Error>
where R: Read + ?Sized,

§

impl Decodable for [u8; 33]

§

fn consensus_decode<R>(r: &mut R) -> Result<[u8; 33], Error>
where R: Read + ?Sized,

§

impl Decodable for [u16; 8]

§

fn consensus_decode<R>(r: &mut R) -> Result<[u16; 8], Error>
where R: Read + ?Sized,

§

impl<T0, T1> Decodable for (T0, T1)
where T0: Decodable, T1: Decodable,

§

impl<T0, T1, T2> Decodable for (T0, T1, T2)
where T0: Decodable, T1: Decodable, T2: Decodable,

§

impl<T0, T1, T2, T3> Decodable for (T0, T1, T2, T3)
where T0: Decodable, T1: Decodable, T2: Decodable, T3: Decodable,

§

impl<T0, T1, T2, T3, T4> Decodable for (T0, T1, T2, T3, T4)
where T0: Decodable, T1: Decodable, T2: Decodable, T3: Decodable, T4: Decodable,

§

impl<T0, T1, T2, T3, T4, T5> Decodable for (T0, T1, T2, T3, T4, T5)
where T0: Decodable, T1: Decodable, T2: Decodable, T3: Decodable, T4: Decodable, T5: Decodable,

§

impl<T0, T1, T2, T3, T4, T5, T6> Decodable for (T0, T1, T2, T3, T4, T5, T6)
where T0: Decodable, T1: Decodable, T2: Decodable, T3: Decodable, T4: Decodable, T5: Decodable, T6: Decodable,

§

impl<T0, T1, T2, T3, T4, T5, T6, T7> Decodable for (T0, T1, T2, T3, T4, T5, T6, T7)
where T0: Decodable, T1: Decodable, T2: Decodable, T3: Decodable, T4: Decodable, T5: Decodable, T6: Decodable, T7: Decodable,

§

impl<T> Decodable for Array<T>
where T: Encodable + Decodable + Debug,

§

fn consensus_decode<R>(reader: &mut R) -> Result<Array<T>, Error>
where R: Read + ?Sized,

§

impl<T> Decodable for ArrayBE<T>
where T: BigEndianEncodable + Debug,

§

fn consensus_decode<R>(reader: &mut R) -> Result<ArrayBE<T>, Error>
where R: Read + ?Sized,

§

impl<T> Decodable for SerBoltTlvReadWrap<T>
where T: Decodable,

§

fn consensus_decode<D>(d: &mut D) -> Result<SerBoltTlvReadWrap<T>, Error>
where D: Read + ?Sized,

§

impl<T> Decodable for WithSize<T>
where T: Encodable + Decodable + Debug,

§

fn consensus_decode<R>(reader: &mut R) -> Result<WithSize<T>, Error>
where R: Read + ?Sized,

§

impl<const CHUNK_SIZE: usize> Decodable for NonContiguousOctets<CHUNK_SIZE>

§

fn consensus_decode<R>( reader: &mut R, ) -> Result<NonContiguousOctets<CHUNK_SIZE>, Error>
where R: Read + ?Sized,

Implementors§

§

impl Decodable for LockTime

§

impl Decodable for AddrV2

§

impl Decodable for Inventory

§

impl Decodable for BloomFlags

§

impl Decodable for RejectReason

§

impl Decodable for AddrV2Message

§

impl Decodable for ServiceFlags

§

impl Decodable for CommandString

§

impl Decodable for RawNetworkMessage

§

impl Decodable for GetBlocksMessage

§

impl Decodable for GetHeadersMessage

§

impl Decodable for FilterAdd

§

impl Decodable for FilterLoad

§

impl Decodable for BlockTxn

§

impl Decodable for CmpctBlock

§

impl Decodable for GetBlockTxn

§

impl Decodable for SendCmpct

§

impl Decodable for CFCheckpt

§

impl Decodable for CFHeaders

§

impl Decodable for CFilter

§

impl Decodable for GetCFCheckpt

§

impl Decodable for GetCFHeaders

§

impl Decodable for GetCFilters

§

impl Decodable for Reject

§

impl Decodable for VersionMessage

§

impl Decodable for Address

§

impl Decodable for Block

§

impl Decodable for BlockHash

§

impl Decodable for BlockHeader

§

impl Decodable for FilterHash

§

impl Decodable for FilterHeader

§

impl Decodable for MerkleBlock

§

impl Decodable for OutPoint

§

impl Decodable for PackedLockTime

§

impl Decodable for Script

§

impl Decodable for Sequence

§

impl Decodable for Sighash

§

impl Decodable for Transaction

§

impl Decodable for TxIn

§

impl Decodable for TxMerkleNode

§

impl Decodable for TxOut

§

impl Decodable for Txid

§

impl Decodable for VarInt

§

impl Decodable for Witness

§

impl Decodable for WitnessMerkleNode

§

impl Decodable for Wtxid

§

impl Decodable for BlockTransactions

§

impl Decodable for BlockTransactionsRequest

§

impl Decodable for HeaderAndShortIds

§

impl Decodable for PrefilledTransaction

§

impl Decodable for ShortId

§

impl Decodable for breez_sdk_core::bitcoin::util::key::secp256k1::hashes::sha256::Hash

§

impl Decodable for breez_sdk_core::bitcoin::util::key::secp256k1::hashes::sha256d::Hash

§

impl Decodable for PartialMerkleTree

§

impl Decodable for Key

§

impl Decodable for Pair

§

impl Decodable for Input

§

impl Decodable for Output

§

impl Decodable for PartiallySignedTransaction

§

impl Decodable for TapLeafHash

§

impl Decodable for Uint128

§

impl Decodable for Uint256

§

impl Decodable for CheckedData

§

impl<Subtype> Decodable for ProprietaryKey<Subtype>
where Subtype: Copy + From<u8> + Into<u8>,