pub struct TxoSeal {
pub primary: Outpoint,
pub secondary: TxoSealExt,
}Expand description
The bitcoin TxO-based single-use seal protocol (see SingleUseSeal).
§Nota bene
Unlike crate::WTxoSeal, this seal always contains information about the defined seal.
It is constructed once a “previous” witness transaction, which contains a commitment to a
crate::WTxoSeal definition, is constructed, and its transaction id becomes known.
Fields§
§primary: OutpointA primary seal definition.
secondary: TxoSealExtA fallback seal definition.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TxoSeal
impl<'de> Deserialize<'de> for TxoSeal
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Ord for TxoSeal
impl Ord for TxoSeal
Source§impl PartialOrd for TxoSeal
impl PartialOrd for TxoSeal
Source§impl PublishedWitness<TxoSeal> for Tx
impl PublishedWitness<TxoSeal> for Tx
Source§type PubId = Txid
type PubId = Txid
A unique id for the published part of the single-use seal closing
witness. Read more
Source§type Error = TxoSealError
type Error = TxoSealError
Error type returned by
Self::verify_commitment.Source§fn verify_commitment(&self, proof: Proof) -> Result<(), Self::Error>
fn verify_commitment(&self, proof: Proof) -> Result<(), Self::Error>
Verify that the public witness commits to the message using a proof
ClientSideWitness::Proof, which is prepared by the client-side part
of the seal closing witness and include the information about the
message.Source§impl SingleUseSeal for TxoSeal
impl SingleUseSeal for TxoSeal
Source§type PubWitness = Tx
type PubWitness = Tx
A type for the published part of the seal closing witness.
Source§type CliWitness = Anchor
type CliWitness = Anchor
A type for the client-side part of the seal closing witness.
Source§fn is_included(
&self,
message: Self::Message,
witness: &SealWitness<Self>,
) -> bool
fn is_included( &self, message: Self::Message, witness: &SealWitness<Self>, ) -> bool
Check that the seal was closing over a message is a part of the witness. Read more
Source§impl StrictDecode for TxoSeal
impl StrictDecode for TxoSeal
fn strict_decode(reader: &mut impl TypedRead) -> Result<Self, DecodeError>
fn strict_read(reader: impl ReadRaw) -> Result<Self, DecodeError>
Source§impl StrictDumb for TxoSeal
impl StrictDumb for TxoSeal
fn strict_dumb() -> Self
Source§impl StrictEncode for TxoSeal
impl StrictEncode for TxoSeal
fn strict_encode<W: TypedWrite>(&self, writer: W) -> Result<W>
fn strict_write(&self, writer: impl WriteRaw) -> Result<(), Error>
Source§impl StrictStruct for TxoSeal
impl StrictStruct for TxoSeal
const ALL_FIELDS: &'static [&'static str]
fn strict_check_fields()
fn strict_type_info() -> TypeInfo<Self>
Source§impl StrictType for TxoSeal
impl StrictType for TxoSeal
const STRICT_LIB_NAME: &'static str = dbc::LIB_NAME_BPCORE
fn strict_name() -> Option<TypeName>
impl Copy for TxoSeal
impl Eq for TxoSeal
impl StrictProduct for TxoSeal
impl StructuralPartialEq for TxoSeal
Auto Trait Implementations§
impl Freeze for TxoSeal
impl RefUnwindSafe for TxoSeal
impl Send for TxoSeal
impl Sync for TxoSeal
impl Unpin for TxoSeal
impl UnwindSafe for TxoSeal
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.