pub struct TaprootProof {
pub output_index: u32,
pub internal_key: PublicKey,
pub commitment_proof: Option<CommitmentProof>,
pub tapscript_proof: Option<TapscriptProof>,
pub unknown_odd_types: BTreeMap<u64, Vec<u8>>,
}Expand description
TaprootProof represents a proof that reveals the partial contents to a
tapscript tree within a taproot output.
This corresponds to proof.TaprootProof in Go.
Fields§
§output_index: u32OutputIndex is the index of the output for which the proof applies.
internal_key: PublicKeyInternalKey is the internal key of the taproot output at OutputIndex.
commitment_proof: Option<CommitmentProof>CommitmentProof represents a commitment proof for an asset, proving inclusion or exclusion of an asset within a Taproot Asset commitment.
tapscript_proof: Option<TapscriptProof>TapscriptProof represents a taproot control block to prove that a taproot output is not committing to a Taproot Asset commitment.
NOTE: This field will be set only if the output does NOT contain a valid Taproot Asset commitment.
unknown_odd_types: BTreeMap<u64, Vec<u8>>UnknownOddTypes is a map of unknown odd types that were encountered during decoding. This map is used to preserve unknown types that we don’t know of yet, so we can still encode them back when serializing. This enables forward compatibility with future versions of the protocol as it allows new odd (optional) types to be added without breaking old clients that don’t yet fully understand them.
Implementations§
Source§impl TaprootProof
impl TaprootProof
Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self, Error>
pub fn from_bytes(bytes: &[u8]) -> Result<Self, Error>
Decodes a TaprootProof from a TLV byte slice.
Trait Implementations§
Source§impl Clone for TaprootProof
impl Clone for TaprootProof
Source§fn clone(&self) -> TaprootProof
fn clone(&self) -> TaprootProof
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TaprootProof
impl Debug for TaprootProof
Source§impl<'de> Deserialize<'de> for TaprootProof
impl<'de> Deserialize<'de> for TaprootProof
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for TaprootProof
Source§impl PartialEq for TaprootProof
impl PartialEq for TaprootProof
Source§fn eq(&self, other: &TaprootProof) -> bool
fn eq(&self, other: &TaprootProof) -> bool
self and other values to be equal, and is used by ==.