breez_sdk_core::bitcoin::consensus

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

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§

§

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