pub struct PsbtInputSatisfier<'psbt> {
pub psbt: &'psbt PartiallySignedTransaction,
pub index: usize,
}
Expand description
Psbt satisfier for at inputs at a particular index
Takes in &psbt because multiple inputs will share
the same psbt structure
All operations on this structure will panic if index
is more than number of inputs in pbst
This does not support satisfaction for Covenant transactoins
You are probably looking for finalizer::finalize
method
or PsbtCovInputSatisfier
Fields§
§psbt: &'psbt PartiallySignedTransaction
pbst
index: usize
input index
Implementations§
Trait Implementations§
Source§impl<'psbt, Pk: MiniscriptKey + ToPublicKey> Satisfier<Pk> for PsbtInputSatisfier<'psbt>
impl<'psbt, Pk: MiniscriptKey + ToPublicKey> Satisfier<Pk> for PsbtInputSatisfier<'psbt>
Source§fn lookup_tap_key_spend_sig(&self) -> Option<SchnorrSig>
fn lookup_tap_key_spend_sig(&self) -> Option<SchnorrSig>
Lookup the tap key spend sig
Source§fn lookup_tap_leaf_script_sig(
&self,
pk: &Pk,
lh: &TapLeafHash,
) -> Option<SchnorrSig>
fn lookup_tap_leaf_script_sig( &self, pk: &Pk, lh: &TapLeafHash, ) -> Option<SchnorrSig>
Given a public key and a associated leaf hash, look up an schnorr signature with that key
Source§fn lookup_raw_pkh_pk(&self, pkh: &Hash) -> Option<PublicKey>
fn lookup_raw_pkh_pk(&self, pkh: &Hash) -> Option<PublicKey>
Given a raw
Pkh
, lookup corresponding bitcoin::PublicKey
Source§fn lookup_tap_control_block_map(
&self,
) -> Option<&BTreeMap<ControlBlock, (Script, LeafVersion)>>
fn lookup_tap_control_block_map( &self, ) -> Option<&BTreeMap<ControlBlock, (Script, LeafVersion)>>
Obtain a reference to the control block for a ver and script
Source§fn lookup_raw_pkh_tap_leaf_script_sig(
&self,
pkh: &(Hash, TapLeafHash),
) -> Option<(XOnlyPublicKey, SchnorrSig)>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, pkh: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, SchnorrSig)>
Given a keyhash, look up the schnorr signature and the associated key
Even if signatures for public key Hashes are not available, the users
can use this map to provide pkh -> pk mapping which can be useful
for dissatisfying pkh.
Source§fn lookup_ecdsa_sig(&self, pk: &Pk) -> Option<ElementsSig>
fn lookup_ecdsa_sig(&self, pk: &Pk) -> Option<ElementsSig>
Given a public key, look up an ECDSA signature with that key
Source§fn lookup_raw_pkh_ecdsa_sig(
&self,
pkh: &Hash,
) -> Option<(PublicKey, ElementsSig)>
fn lookup_raw_pkh_ecdsa_sig( &self, pkh: &Hash, ) -> Option<(PublicKey, ElementsSig)>
Given a keyhash, look up the EC signature and the associated key
Even if signatures for public key Hashes are not available, the users
can use this map to provide pkh -> pk mapping which can be useful
for dissatisfying pkh.
Source§fn check_after(&self, n: LockTime) -> bool
fn check_after(&self, n: LockTime) -> bool
Assert whether a absolute locktime is satisfied
Source§fn check_older(&self, n: Sequence) -> bool
fn check_older(&self, n: Sequence) -> bool
Assert whether an relative locktime is satisfied
Source§fn lookup_hash160(&self, h: &Pk::Hash160) -> Option<Preimage32>
fn lookup_hash160(&self, h: &Pk::Hash160) -> Option<Preimage32>
Given a HASH160 hash, look up its preimage
Source§fn lookup_sha256(&self, h: &Pk::Sha256) -> Option<Preimage32>
fn lookup_sha256(&self, h: &Pk::Sha256) -> Option<Preimage32>
Given a SHA256 hash, look up its preimage
Source§fn lookup_hash256(&self, h: &Pk::Hash256) -> Option<Preimage32>
fn lookup_hash256(&self, h: &Pk::Hash256) -> Option<Preimage32>
Given a HASH256 hash, look up its preimage
Source§fn lookup_ripemd160(&self, h: &Pk::Ripemd160) -> Option<Preimage32>
fn lookup_ripemd160(&self, h: &Pk::Ripemd160) -> Option<Preimage32>
Given a RIPEMD160 hash, look up its preimage
Source§fn lookup_raw_pkh_x_only_pk(&self, _: &Hash) -> Option<XOnlyPublicKey>
fn lookup_raw_pkh_x_only_pk(&self, _: &Hash) -> Option<XOnlyPublicKey>
Given a raw
Pkh
, lookup corresponding bitcoin::key::XOnlyPublicKey
Source§fn lookup_nversion(&self) -> Option<u32>
fn lookup_nversion(&self) -> Option<u32>
Introspection Data for Covenant support
#1 Version
Source§fn lookup_hashprevouts(&self) -> Option<Hash>
fn lookup_hashprevouts(&self) -> Option<Hash>
Item 2: hashprevouts
Source§fn lookup_hashsequence(&self) -> Option<Hash>
fn lookup_hashsequence(&self) -> Option<Hash>
Item 3: hashsequence
Source§fn lookup_hashissuances(&self) -> Option<Hash>
fn lookup_hashissuances(&self) -> Option<Hash>
ELEMENTS EXTRA: Item 3b: hashsequence
Source§fn lookup_outpoint(&self) -> Option<OutPoint>
fn lookup_outpoint(&self) -> Option<OutPoint>
Item 4: outpoint
Source§fn lookup_scriptcode(&self) -> Option<&Script>
fn lookup_scriptcode(&self) -> Option<&Script>
Item 5: scriptcode
Source§fn lookup_value(&self) -> Option<Value>
fn lookup_value(&self) -> Option<Value>
Item 6: value
Source§fn lookup_nsequence(&self) -> Option<u32>
fn lookup_nsequence(&self) -> Option<u32>
Item 7: sequence
Source§fn lookup_outputs(&self) -> Option<&[TxOut]>
fn lookup_outputs(&self) -> Option<&[TxOut]>
Item 8: hashoutputs
Source§fn lookup_nlocktime(&self) -> Option<u32>
fn lookup_nlocktime(&self) -> Option<u32>
Item 9: nlocktime
Source§fn lookup_sighashu32(&self) -> Option<u32>
fn lookup_sighashu32(&self) -> Option<u32>
Item 10: sighash type as u32
Source§fn lookup_tx(&self) -> Option<&Transaction>
fn lookup_tx(&self) -> Option<&Transaction>
Lookup spending transaction. Required for introspection
Source§fn lookup_spent_utxos(&self) -> Option<&[TxOut]>
fn lookup_spent_utxos(&self) -> Option<&[TxOut]>
Lookup spent txouts. Required for introspection
Source§fn lookup_curr_inp(&self) -> Option<usize>
fn lookup_curr_inp(&self) -> Option<usize>
Lookup spent txouts. Required for introspection
Source§fn lookup_csfs_sig(
&self,
_pk: &XOnlyPublicKey,
_msg: &CsfsMsg,
) -> Option<Signature>
fn lookup_csfs_sig( &self, _pk: &XOnlyPublicKey, _msg: &CsfsMsg, ) -> Option<Signature>
Lookup (msg, sig) for CSFS fragment
Source§fn lookup_price_oracle_sig(
&self,
_pk: &XOnlyPublicKey,
_time: u64,
) -> Option<(Signature, i64, u64)>
fn lookup_price_oracle_sig( &self, _pk: &XOnlyPublicKey, _time: u64, ) -> Option<(Signature, i64, u64)>
Lookup price oracle signature
Auto Trait Implementations§
impl<'psbt> Freeze for PsbtInputSatisfier<'psbt>
impl<'psbt> RefUnwindSafe for PsbtInputSatisfier<'psbt>
impl<'psbt> Send for PsbtInputSatisfier<'psbt>
impl<'psbt> Sync for PsbtInputSatisfier<'psbt>
impl<'psbt> Unpin for PsbtInputSatisfier<'psbt>
impl<'psbt> UnwindSafe for PsbtInputSatisfier<'psbt>
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