pub trait BtcSatisfier<Pk>where
Pk: MiniscriptKey + ToPublicKey,{
Show 14 methods
// Provided methods
fn lookup_ecdsa_sig(&self, _: &Pk) -> Option<Signature> { ... }
fn lookup_tap_key_spend_sig(&self) -> Option<Signature> { ... }
fn lookup_tap_leaf_script_sig(
&self,
_: &Pk,
_: &TapLeafHash,
) -> Option<Signature> { ... }
fn lookup_tap_control_block_map(
&self,
) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>> { ... }
fn lookup_raw_pkh_pk(&self, _: &Hash) -> Option<PublicKey> { ... }
fn lookup_raw_pkh_x_only_pk(&self, _: &Hash) -> Option<XOnlyPublicKey> { ... }
fn lookup_raw_pkh_ecdsa_sig(
&self,
_: &Hash,
) -> Option<(PublicKey, Signature)> { ... }
fn lookup_raw_pkh_tap_leaf_script_sig(
&self,
_: &(Hash, TapLeafHash),
) -> Option<(XOnlyPublicKey, Signature)> { ... }
fn lookup_sha256(
&self,
_: &<Pk as MiniscriptKey>::Sha256,
) -> Option<[u8; 32]> { ... }
fn lookup_hash256(
&self,
_: &<Pk as MiniscriptKey>::Hash256,
) -> Option<[u8; 32]> { ... }
fn lookup_ripemd160(
&self,
_: &<Pk as MiniscriptKey>::Ripemd160,
) -> Option<[u8; 32]> { ... }
fn lookup_hash160(
&self,
_: &<Pk as MiniscriptKey>::Hash160,
) -> Option<[u8; 32]> { ... }
fn check_older(&self, _: LockTime) -> bool { ... }
fn check_after(&self, _: LockTime) -> bool { ... }
}Expand description
Trait describing a lookup table for signatures, hash preimages, etc.
Every method has a default implementation that simply returns None
on every query. Users are expected to override the methods that they
have data for.
Provided Methods§
Sourcefn lookup_ecdsa_sig(&self, _: &Pk) -> Option<Signature>
fn lookup_ecdsa_sig(&self, _: &Pk) -> Option<Signature>
Given a public key, look up an ECDSA signature with that key
Sourcefn lookup_tap_key_spend_sig(&self) -> Option<Signature>
fn lookup_tap_key_spend_sig(&self) -> Option<Signature>
Lookup the tap key spend sig
Sourcefn lookup_tap_leaf_script_sig(
&self,
_: &Pk,
_: &TapLeafHash,
) -> Option<Signature>
fn lookup_tap_leaf_script_sig( &self, _: &Pk, _: &TapLeafHash, ) -> Option<Signature>
Given a public key and a associated leaf hash, look up an schnorr signature with that key
Sourcefn lookup_tap_control_block_map(
&self,
) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>>
fn lookup_tap_control_block_map( &self, ) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>>
Obtain a reference to the control block for a ver and script
Sourcefn lookup_raw_pkh_pk(&self, _: &Hash) -> Option<PublicKey>
fn lookup_raw_pkh_pk(&self, _: &Hash) -> Option<PublicKey>
Given a raw Pkh, lookup corresponding bitcoin::PublicKey
Sourcefn 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::secp256k1::XOnlyPublicKey
Sourcefn lookup_raw_pkh_ecdsa_sig(&self, _: &Hash) -> Option<(PublicKey, Signature)>
fn lookup_raw_pkh_ecdsa_sig(&self, _: &Hash) -> Option<(PublicKey, Signature)>
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.
Sourcefn lookup_raw_pkh_tap_leaf_script_sig(
&self,
_: &(Hash, TapLeafHash),
) -> Option<(XOnlyPublicKey, Signature)>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, _: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
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.
Sourcefn lookup_sha256(&self, _: &<Pk as MiniscriptKey>::Sha256) -> Option<[u8; 32]>
fn lookup_sha256(&self, _: &<Pk as MiniscriptKey>::Sha256) -> Option<[u8; 32]>
Given a SHA256 hash, look up its preimage
Sourcefn lookup_hash256(&self, _: &<Pk as MiniscriptKey>::Hash256) -> Option<[u8; 32]>
fn lookup_hash256(&self, _: &<Pk as MiniscriptKey>::Hash256) -> Option<[u8; 32]>
Given a HASH256 hash, look up its preimage
Sourcefn lookup_ripemd160(
&self,
_: &<Pk as MiniscriptKey>::Ripemd160,
) -> Option<[u8; 32]>
fn lookup_ripemd160( &self, _: &<Pk as MiniscriptKey>::Ripemd160, ) -> Option<[u8; 32]>
Given a RIPEMD160 hash, look up its preimage
Sourcefn lookup_hash160(&self, _: &<Pk as MiniscriptKey>::Hash160) -> Option<[u8; 32]>
fn lookup_hash160(&self, _: &<Pk as MiniscriptKey>::Hash160) -> Option<[u8; 32]>
Given a HASH160 hash, look up its preimage
Sourcefn check_older(&self, _: LockTime) -> bool
fn check_older(&self, _: LockTime) -> bool
Assert whether an relative locktime is satisfied
NOTE: If a descriptor mixes time-based and height-based timelocks, the implementation of this method MUST only allow timelocks of either unit, but not both. Allowing both could cause miniscript to construct an invalid witness.
Sourcefn check_after(&self, _: LockTime) -> bool
fn check_after(&self, _: LockTime) -> bool
Assert whether a absolute locktime is satisfied
NOTE: If a descriptor mixes time-based and height-based timelocks, the implementation of this method MUST only allow timelocks of either unit, but not both. Allowing both could cause miniscript to construct an invalid witness.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<'a, Pk, S> Satisfier<Pk> for &'a S
impl<'a, Pk, S> Satisfier<Pk> for &'a S
fn lookup_ecdsa_sig(&self, p: &Pk) -> Option<Signature>
fn lookup_tap_leaf_script_sig( &self, p: &Pk, h: &TapLeafHash, ) -> Option<Signature>
fn lookup_raw_pkh_pk(&self, pkh: &Hash) -> Option<PublicKey>
fn lookup_raw_pkh_x_only_pk(&self, pkh: &Hash) -> Option<XOnlyPublicKey>
fn lookup_raw_pkh_ecdsa_sig(&self, pkh: &Hash) -> Option<(PublicKey, Signature)>
fn lookup_tap_key_spend_sig(&self) -> Option<Signature>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, pkh: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
fn lookup_tap_control_block_map( &self, ) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>>
fn lookup_sha256(&self, h: &<Pk as MiniscriptKey>::Sha256) -> Option<[u8; 32]>
fn lookup_hash256(&self, h: &<Pk as MiniscriptKey>::Hash256) -> Option<[u8; 32]>
fn lookup_ripemd160( &self, h: &<Pk as MiniscriptKey>::Ripemd160, ) -> Option<[u8; 32]>
fn lookup_hash160(&self, h: &<Pk as MiniscriptKey>::Hash160) -> Option<[u8; 32]>
fn check_older(&self, t: LockTime) -> bool
fn check_after(&self, n: LockTime) -> bool
Source§impl<'a, Pk, S> Satisfier<Pk> for &'a mut S
impl<'a, Pk, S> Satisfier<Pk> for &'a mut S
fn lookup_ecdsa_sig(&self, p: &Pk) -> Option<Signature>
fn lookup_tap_leaf_script_sig( &self, p: &Pk, h: &TapLeafHash, ) -> Option<Signature>
fn lookup_tap_key_spend_sig(&self) -> Option<Signature>
fn lookup_raw_pkh_pk(&self, pkh: &Hash) -> Option<PublicKey>
fn lookup_raw_pkh_x_only_pk(&self, pkh: &Hash) -> Option<XOnlyPublicKey>
fn lookup_raw_pkh_ecdsa_sig(&self, pkh: &Hash) -> Option<(PublicKey, Signature)>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, pkh: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
fn lookup_tap_control_block_map( &self, ) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>>
fn lookup_sha256(&self, h: &<Pk as MiniscriptKey>::Sha256) -> Option<[u8; 32]>
fn lookup_hash256(&self, h: &<Pk as MiniscriptKey>::Hash256) -> Option<[u8; 32]>
fn lookup_ripemd160( &self, h: &<Pk as MiniscriptKey>::Ripemd160, ) -> Option<[u8; 32]>
fn lookup_hash160(&self, h: &<Pk as MiniscriptKey>::Hash160) -> Option<[u8; 32]>
fn check_older(&self, t: LockTime) -> bool
fn check_after(&self, n: LockTime) -> bool
Source§impl<A, B, C, D, E, F, G, H, Pk> Satisfier<Pk> for (A, B, C, D, E, F, G, H)where
Pk: MiniscriptKey + ToPublicKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
F: Satisfier<Pk>,
G: Satisfier<Pk>,
H: Satisfier<Pk>,
impl<A, B, C, D, E, F, G, H, Pk> Satisfier<Pk> for (A, B, C, D, E, F, G, H)where
Pk: MiniscriptKey + ToPublicKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
F: Satisfier<Pk>,
G: Satisfier<Pk>,
H: Satisfier<Pk>,
fn lookup_ecdsa_sig(&self, key: &Pk) -> Option<Signature>
fn lookup_tap_key_spend_sig(&self) -> Option<Signature>
fn lookup_tap_leaf_script_sig( &self, key: &Pk, h: &TapLeafHash, ) -> Option<Signature>
fn lookup_raw_pkh_ecdsa_sig( &self, key_hash: &Hash, ) -> Option<(PublicKey, Signature)>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, key_hash: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
fn lookup_raw_pkh_pk(&self, key_hash: &Hash) -> Option<PublicKey>
fn lookup_raw_pkh_x_only_pk(&self, key_hash: &Hash) -> Option<XOnlyPublicKey>
fn lookup_tap_control_block_map( &self, ) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>>
fn lookup_sha256(&self, h: &<Pk as MiniscriptKey>::Sha256) -> Option<[u8; 32]>
fn lookup_hash256(&self, h: &<Pk as MiniscriptKey>::Hash256) -> Option<[u8; 32]>
fn lookup_ripemd160( &self, h: &<Pk as MiniscriptKey>::Ripemd160, ) -> Option<[u8; 32]>
fn lookup_hash160(&self, h: &<Pk as MiniscriptKey>::Hash160) -> Option<[u8; 32]>
fn check_older(&self, n: LockTime) -> bool
fn check_after(&self, n: LockTime) -> bool
Source§impl<A, B, C, D, E, F, G, Pk> Satisfier<Pk> for (A, B, C, D, E, F, G)where
Pk: MiniscriptKey + ToPublicKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
F: Satisfier<Pk>,
G: Satisfier<Pk>,
impl<A, B, C, D, E, F, G, Pk> Satisfier<Pk> for (A, B, C, D, E, F, G)where
Pk: MiniscriptKey + ToPublicKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
F: Satisfier<Pk>,
G: Satisfier<Pk>,
fn lookup_ecdsa_sig(&self, key: &Pk) -> Option<Signature>
fn lookup_tap_key_spend_sig(&self) -> Option<Signature>
fn lookup_tap_leaf_script_sig( &self, key: &Pk, h: &TapLeafHash, ) -> Option<Signature>
fn lookup_raw_pkh_ecdsa_sig( &self, key_hash: &Hash, ) -> Option<(PublicKey, Signature)>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, key_hash: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
fn lookup_raw_pkh_pk(&self, key_hash: &Hash) -> Option<PublicKey>
fn lookup_raw_pkh_x_only_pk(&self, key_hash: &Hash) -> Option<XOnlyPublicKey>
fn lookup_tap_control_block_map( &self, ) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>>
fn lookup_sha256(&self, h: &<Pk as MiniscriptKey>::Sha256) -> Option<[u8; 32]>
fn lookup_hash256(&self, h: &<Pk as MiniscriptKey>::Hash256) -> Option<[u8; 32]>
fn lookup_ripemd160( &self, h: &<Pk as MiniscriptKey>::Ripemd160, ) -> Option<[u8; 32]>
fn lookup_hash160(&self, h: &<Pk as MiniscriptKey>::Hash160) -> Option<[u8; 32]>
fn check_older(&self, n: LockTime) -> bool
fn check_after(&self, n: LockTime) -> bool
Source§impl<A, B, C, D, E, F, Pk> Satisfier<Pk> for (A, B, C, D, E, F)where
Pk: MiniscriptKey + ToPublicKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
F: Satisfier<Pk>,
impl<A, B, C, D, E, F, Pk> Satisfier<Pk> for (A, B, C, D, E, F)where
Pk: MiniscriptKey + ToPublicKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
F: Satisfier<Pk>,
fn lookup_ecdsa_sig(&self, key: &Pk) -> Option<Signature>
fn lookup_tap_key_spend_sig(&self) -> Option<Signature>
fn lookup_tap_leaf_script_sig( &self, key: &Pk, h: &TapLeafHash, ) -> Option<Signature>
fn lookup_raw_pkh_ecdsa_sig( &self, key_hash: &Hash, ) -> Option<(PublicKey, Signature)>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, key_hash: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
fn lookup_raw_pkh_pk(&self, key_hash: &Hash) -> Option<PublicKey>
fn lookup_raw_pkh_x_only_pk(&self, key_hash: &Hash) -> Option<XOnlyPublicKey>
fn lookup_tap_control_block_map( &self, ) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>>
fn lookup_sha256(&self, h: &<Pk as MiniscriptKey>::Sha256) -> Option<[u8; 32]>
fn lookup_hash256(&self, h: &<Pk as MiniscriptKey>::Hash256) -> Option<[u8; 32]>
fn lookup_ripemd160( &self, h: &<Pk as MiniscriptKey>::Ripemd160, ) -> Option<[u8; 32]>
fn lookup_hash160(&self, h: &<Pk as MiniscriptKey>::Hash160) -> Option<[u8; 32]>
fn check_older(&self, n: LockTime) -> bool
fn check_after(&self, n: LockTime) -> bool
Source§impl<A, B, C, D, E, Pk> Satisfier<Pk> for (A, B, C, D, E)where
Pk: MiniscriptKey + ToPublicKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
impl<A, B, C, D, E, Pk> Satisfier<Pk> for (A, B, C, D, E)where
Pk: MiniscriptKey + ToPublicKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
fn lookup_ecdsa_sig(&self, key: &Pk) -> Option<Signature>
fn lookup_tap_key_spend_sig(&self) -> Option<Signature>
fn lookup_tap_leaf_script_sig( &self, key: &Pk, h: &TapLeafHash, ) -> Option<Signature>
fn lookup_raw_pkh_ecdsa_sig( &self, key_hash: &Hash, ) -> Option<(PublicKey, Signature)>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, key_hash: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
fn lookup_raw_pkh_pk(&self, key_hash: &Hash) -> Option<PublicKey>
fn lookup_raw_pkh_x_only_pk(&self, key_hash: &Hash) -> Option<XOnlyPublicKey>
fn lookup_tap_control_block_map( &self, ) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>>
fn lookup_sha256(&self, h: &<Pk as MiniscriptKey>::Sha256) -> Option<[u8; 32]>
fn lookup_hash256(&self, h: &<Pk as MiniscriptKey>::Hash256) -> Option<[u8; 32]>
fn lookup_ripemd160( &self, h: &<Pk as MiniscriptKey>::Ripemd160, ) -> Option<[u8; 32]>
fn lookup_hash160(&self, h: &<Pk as MiniscriptKey>::Hash160) -> Option<[u8; 32]>
fn check_older(&self, n: LockTime) -> bool
fn check_after(&self, n: LockTime) -> bool
Source§impl<A, B, C, D, Pk> Satisfier<Pk> for (A, B, C, D)where
Pk: MiniscriptKey + ToPublicKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
impl<A, B, C, D, Pk> Satisfier<Pk> for (A, B, C, D)where
Pk: MiniscriptKey + ToPublicKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
fn lookup_ecdsa_sig(&self, key: &Pk) -> Option<Signature>
fn lookup_tap_key_spend_sig(&self) -> Option<Signature>
fn lookup_tap_leaf_script_sig( &self, key: &Pk, h: &TapLeafHash, ) -> Option<Signature>
fn lookup_raw_pkh_ecdsa_sig( &self, key_hash: &Hash, ) -> Option<(PublicKey, Signature)>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, key_hash: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
fn lookup_raw_pkh_pk(&self, key_hash: &Hash) -> Option<PublicKey>
fn lookup_raw_pkh_x_only_pk(&self, key_hash: &Hash) -> Option<XOnlyPublicKey>
fn lookup_tap_control_block_map( &self, ) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>>
fn lookup_sha256(&self, h: &<Pk as MiniscriptKey>::Sha256) -> Option<[u8; 32]>
fn lookup_hash256(&self, h: &<Pk as MiniscriptKey>::Hash256) -> Option<[u8; 32]>
fn lookup_ripemd160( &self, h: &<Pk as MiniscriptKey>::Ripemd160, ) -> Option<[u8; 32]>
fn lookup_hash160(&self, h: &<Pk as MiniscriptKey>::Hash160) -> Option<[u8; 32]>
fn check_older(&self, n: LockTime) -> bool
fn check_after(&self, n: LockTime) -> bool
Source§impl<A, B, C, Pk> Satisfier<Pk> for (A, B, C)
impl<A, B, C, Pk> Satisfier<Pk> for (A, B, C)
fn lookup_ecdsa_sig(&self, key: &Pk) -> Option<Signature>
fn lookup_tap_key_spend_sig(&self) -> Option<Signature>
fn lookup_tap_leaf_script_sig( &self, key: &Pk, h: &TapLeafHash, ) -> Option<Signature>
fn lookup_raw_pkh_ecdsa_sig( &self, key_hash: &Hash, ) -> Option<(PublicKey, Signature)>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, key_hash: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
fn lookup_raw_pkh_pk(&self, key_hash: &Hash) -> Option<PublicKey>
fn lookup_raw_pkh_x_only_pk(&self, key_hash: &Hash) -> Option<XOnlyPublicKey>
fn lookup_tap_control_block_map( &self, ) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>>
fn lookup_sha256(&self, h: &<Pk as MiniscriptKey>::Sha256) -> Option<[u8; 32]>
fn lookup_hash256(&self, h: &<Pk as MiniscriptKey>::Hash256) -> Option<[u8; 32]>
fn lookup_ripemd160( &self, h: &<Pk as MiniscriptKey>::Ripemd160, ) -> Option<[u8; 32]>
fn lookup_hash160(&self, h: &<Pk as MiniscriptKey>::Hash160) -> Option<[u8; 32]>
fn check_older(&self, n: LockTime) -> bool
fn check_after(&self, n: LockTime) -> bool
Source§impl<A, B, Pk> Satisfier<Pk> for (A, B)
impl<A, B, Pk> Satisfier<Pk> for (A, B)
fn lookup_ecdsa_sig(&self, key: &Pk) -> Option<Signature>
fn lookup_tap_key_spend_sig(&self) -> Option<Signature>
fn lookup_tap_leaf_script_sig( &self, key: &Pk, h: &TapLeafHash, ) -> Option<Signature>
fn lookup_raw_pkh_ecdsa_sig( &self, key_hash: &Hash, ) -> Option<(PublicKey, Signature)>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, key_hash: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
fn lookup_raw_pkh_pk(&self, key_hash: &Hash) -> Option<PublicKey>
fn lookup_raw_pkh_x_only_pk(&self, key_hash: &Hash) -> Option<XOnlyPublicKey>
fn lookup_tap_control_block_map( &self, ) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>>
fn lookup_sha256(&self, h: &<Pk as MiniscriptKey>::Sha256) -> Option<[u8; 32]>
fn lookup_hash256(&self, h: &<Pk as MiniscriptKey>::Hash256) -> Option<[u8; 32]>
fn lookup_ripemd160( &self, h: &<Pk as MiniscriptKey>::Ripemd160, ) -> Option<[u8; 32]>
fn lookup_hash160(&self, h: &<Pk as MiniscriptKey>::Hash160) -> Option<[u8; 32]>
fn check_older(&self, n: LockTime) -> bool
fn check_after(&self, n: LockTime) -> bool
Source§impl<A, Pk> Satisfier<Pk> for (A,)
impl<A, Pk> Satisfier<Pk> for (A,)
fn lookup_ecdsa_sig(&self, key: &Pk) -> Option<Signature>
fn lookup_tap_key_spend_sig(&self) -> Option<Signature>
fn lookup_tap_leaf_script_sig( &self, key: &Pk, h: &TapLeafHash, ) -> Option<Signature>
fn lookup_raw_pkh_ecdsa_sig( &self, key_hash: &Hash, ) -> Option<(PublicKey, Signature)>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, key_hash: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
fn lookup_raw_pkh_pk(&self, key_hash: &Hash) -> Option<PublicKey>
fn lookup_raw_pkh_x_only_pk(&self, key_hash: &Hash) -> Option<XOnlyPublicKey>
fn lookup_tap_control_block_map( &self, ) -> Option<&BTreeMap<ControlBlock, (ScriptBuf, LeafVersion)>>
fn lookup_sha256(&self, h: &<Pk as MiniscriptKey>::Sha256) -> Option<[u8; 32]>
fn lookup_hash256(&self, h: &<Pk as MiniscriptKey>::Hash256) -> Option<[u8; 32]>
fn lookup_ripemd160( &self, h: &<Pk as MiniscriptKey>::Ripemd160, ) -> Option<[u8; 32]>
fn lookup_hash160(&self, h: &<Pk as MiniscriptKey>::Hash160) -> Option<[u8; 32]>
fn check_older(&self, n: LockTime) -> bool
fn check_after(&self, n: LockTime) -> bool
impl<Pk> Satisfier<Pk> for ()where
Pk: MiniscriptKey + ToPublicKey,
Source§impl<Pk> Satisfier<Pk> for BTreeMap<(Hash, TapLeafHash), (Pk, Signature)>where
Pk: MiniscriptKey + ToPublicKey,
impl<Pk> Satisfier<Pk> for BTreeMap<(Hash, TapLeafHash), (Pk, Signature)>where
Pk: MiniscriptKey + ToPublicKey,
fn lookup_tap_leaf_script_sig( &self, key: &Pk, h: &TapLeafHash, ) -> Option<Signature>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, pk_hash: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
Source§impl<Pk> Satisfier<Pk> for BTreeMap<(Pk, TapLeafHash), Signature>where
Pk: MiniscriptKey + ToPublicKey,
impl<Pk> Satisfier<Pk> for BTreeMap<(Pk, TapLeafHash), Signature>where
Pk: MiniscriptKey + ToPublicKey,
fn lookup_tap_leaf_script_sig( &self, key: &Pk, h: &TapLeafHash, ) -> Option<Signature>
Source§impl<Pk> Satisfier<Pk> for BTreeMap<Hash, (Pk, Signature)>where
Pk: MiniscriptKey + ToPublicKey,
impl<Pk> Satisfier<Pk> for BTreeMap<Hash, (Pk, Signature)>where
Pk: MiniscriptKey + ToPublicKey,
Source§impl<Pk> Satisfier<Pk> for BTreeMap<Pk, Signature>where
Pk: MiniscriptKey + ToPublicKey,
impl<Pk> Satisfier<Pk> for BTreeMap<Pk, Signature>where
Pk: MiniscriptKey + ToPublicKey,
Source§impl<Pk> Satisfier<Pk> for HashMap<(Hash, TapLeafHash), (Pk, Signature)>where
Pk: MiniscriptKey + ToPublicKey,
Available on crate feature std only.
impl<Pk> Satisfier<Pk> for HashMap<(Hash, TapLeafHash), (Pk, Signature)>where
Pk: MiniscriptKey + ToPublicKey,
std only.fn lookup_tap_leaf_script_sig( &self, key: &Pk, h: &TapLeafHash, ) -> Option<Signature>
fn lookup_raw_pkh_tap_leaf_script_sig( &self, pk_hash: &(Hash, TapLeafHash), ) -> Option<(XOnlyPublicKey, Signature)>
Source§impl<Pk> Satisfier<Pk> for HashMap<(Pk, TapLeafHash), Signature>where
Pk: MiniscriptKey + ToPublicKey,
Available on crate feature std only.
impl<Pk> Satisfier<Pk> for HashMap<(Pk, TapLeafHash), Signature>where
Pk: MiniscriptKey + ToPublicKey,
std only.fn lookup_tap_leaf_script_sig( &self, key: &Pk, h: &TapLeafHash, ) -> Option<Signature>
Source§impl<Pk> Satisfier<Pk> for HashMap<Hash, (Pk, Signature)>where
Pk: MiniscriptKey + ToPublicKey,
Available on crate feature std only.
impl<Pk> Satisfier<Pk> for HashMap<Hash, (Pk, Signature)>where
Pk: MiniscriptKey + ToPublicKey,
std only.Source§impl<Pk> Satisfier<Pk> for HashMap<Pk, Signature>where
Pk: MiniscriptKey + ToPublicKey,
Available on crate feature std only.
impl<Pk> Satisfier<Pk> for HashMap<Pk, Signature>where
Pk: MiniscriptKey + ToPublicKey,
std only.