pub struct CommitmentProof {
pub proof: Proof,
pub tap_sibling_preimage: Option<TapscriptPreimage>,
pub stxo_proofs: BTreeMap<SerializedKey, Proof>,
pub unknown_odd_types: BTreeMap<u64, Vec<u8>>,
}Expand description
Represents a full commitment proof for an asset. It can either prove inclusion or exclusion of
an asset within a Taproot Asset commitment.
This corresponds to proof.CommitmentProof in Go.
Fields§
§proof: ProofThe underlying Merkle proof structure from the commitment module.
This was commitment.Proof in Go.
tap_sibling_preimage: Option<TapscriptPreimage>TapSiblingPreimage is an optional preimage of a tap node used to hash together with the Taproot Asset commitment leaf node to arrive at the tapscript root of the expected output.
stxo_proofs: BTreeMap<SerializedKey, Proof>STXOProofs are proofs keyed by serialized script key for v1 assets.
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.
Trait Implementations§
Source§impl Clone for CommitmentProof
impl Clone for CommitmentProof
Source§fn clone(&self) -> CommitmentProof
fn clone(&self) -> CommitmentProof
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 CommitmentProof
impl Debug for CommitmentProof
Source§impl<'de> Deserialize<'de> for CommitmentProof
impl<'de> Deserialize<'de> for CommitmentProof
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 CommitmentProof
Source§impl PartialEq for CommitmentProof
impl PartialEq for CommitmentProof
Source§fn eq(&self, other: &CommitmentProof) -> bool
fn eq(&self, other: &CommitmentProof) -> bool
self and other values to be equal, and is used by ==.