[−][src]Trait miniscript::miniscript::satisfy::Satisfier
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
fn lookup_sig(&self, _: &Pk) -> Option<BitcoinSig>
Given a public key, look up a signature with that key
fn lookup_pkh_pk(&self, _: &Pk::Hash) -> Option<Pk>
Given a Pkh
, lookup corresponding Pk
fn lookup_pkh_sig(&self, _: &Pk::Hash) -> Option<(PublicKey, BitcoinSig)>
Given a keyhash, look up the 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.
fn lookup_sha256(&self, _: Hash) -> Option<[u8; 32]>
Given a SHA256 hash, look up its preimage
fn lookup_hash256(&self, _: Hash) -> Option<[u8; 32]>
Given a HASH256 hash, look up its preimage
fn lookup_ripemd160(&self, _: Hash) -> Option<[u8; 32]>
Given a RIPEMD160 hash, look up its preimage
fn lookup_hash160(&self, _: Hash) -> Option<[u8; 32]>
Given a HASH160 hash, look up its preimage
fn check_older(&self, _: u32) -> bool
Assert whether an relative locktime is satisfied
fn check_after(&self, _: u32) -> bool
Assert whether a absolute locktime is satisfied
Implementations on Foreign Types
impl<Pk: MiniscriptKey> Satisfier<Pk> for ()
[src]
impl<Pk: MiniscriptKey> Satisfier<Pk> for HashMap<Pk, BitcoinSig>
[src]
fn lookup_sig(&self, key: &Pk) -> Option<BitcoinSig>
[src]
impl<Pk> Satisfier<Pk> for HashMap<Pk::Hash, (Pk, BitcoinSig)> where
Pk: MiniscriptKey + ToPublicKey,
[src]
Pk: MiniscriptKey + ToPublicKey,
fn lookup_sig(&self, key: &Pk) -> Option<BitcoinSig>
[src]
fn lookup_pkh_pk(&self, pk_hash: &Pk::Hash) -> Option<Pk>
[src]
fn lookup_pkh_sig(&self, pk_hash: &Pk::Hash) -> Option<(PublicKey, BitcoinSig)>
[src]
impl<'a, Pk: MiniscriptKey, S: Satisfier<Pk>> Satisfier<Pk> for &'a S
[src]
fn lookup_sig(&self, p: &Pk) -> Option<BitcoinSig>
[src]
fn lookup_pkh_pk(&self, pkh: &Pk::Hash) -> Option<Pk>
[src]
fn lookup_pkh_sig(&self, pkh: &Pk::Hash) -> Option<(PublicKey, BitcoinSig)>
[src]
fn lookup_sha256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_ripemd160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn check_older(&self, t: u32) -> bool
[src]
fn check_after(&self, t: u32) -> bool
[src]
impl<'a, Pk: MiniscriptKey, S: Satisfier<Pk>> Satisfier<Pk> for &'a mut S
[src]
fn lookup_sig(&self, p: &Pk) -> Option<BitcoinSig>
[src]
fn lookup_pkh_pk(&self, pkh: &Pk::Hash) -> Option<Pk>
[src]
fn lookup_pkh_sig(&self, pkh: &Pk::Hash) -> Option<(PublicKey, BitcoinSig)>
[src]
fn lookup_sha256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_ripemd160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn check_older(&self, t: u32) -> bool
[src]
fn check_after(&self, t: u32) -> bool
[src]
impl<A, Pk> Satisfier<Pk> for (A,) where
Pk: MiniscriptKey,
A: Satisfier<Pk>,
[src]
Pk: MiniscriptKey,
A: Satisfier<Pk>,
fn lookup_sig(&self, key: &Pk) -> Option<BitcoinSig>
[src]
fn lookup_pkh_sig(&self, key_hash: &Pk::Hash) -> Option<(PublicKey, BitcoinSig)>
[src]
fn lookup_pkh_pk(&self, key_hash: &Pk::Hash) -> Option<Pk>
[src]
fn lookup_sha256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_ripemd160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn check_older(&self, n: u32) -> bool
[src]
fn check_after(&self, n: u32) -> bool
[src]
impl<A, B, Pk> Satisfier<Pk> for (A, B) where
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
[src]
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
fn lookup_sig(&self, key: &Pk) -> Option<BitcoinSig>
[src]
fn lookup_pkh_sig(&self, key_hash: &Pk::Hash) -> Option<(PublicKey, BitcoinSig)>
[src]
fn lookup_pkh_pk(&self, key_hash: &Pk::Hash) -> Option<Pk>
[src]
fn lookup_sha256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_ripemd160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn check_older(&self, n: u32) -> bool
[src]
fn check_after(&self, n: u32) -> bool
[src]
impl<A, B, C, Pk> Satisfier<Pk> for (A, B, C) where
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
[src]
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
fn lookup_sig(&self, key: &Pk) -> Option<BitcoinSig>
[src]
fn lookup_pkh_sig(&self, key_hash: &Pk::Hash) -> Option<(PublicKey, BitcoinSig)>
[src]
fn lookup_pkh_pk(&self, key_hash: &Pk::Hash) -> Option<Pk>
[src]
fn lookup_sha256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_ripemd160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn check_older(&self, n: u32) -> bool
[src]
fn check_after(&self, n: u32) -> bool
[src]
impl<A, B, C, D, Pk> Satisfier<Pk> for (A, B, C, D) where
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
[src]
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
fn lookup_sig(&self, key: &Pk) -> Option<BitcoinSig>
[src]
fn lookup_pkh_sig(&self, key_hash: &Pk::Hash) -> Option<(PublicKey, BitcoinSig)>
[src]
fn lookup_pkh_pk(&self, key_hash: &Pk::Hash) -> Option<Pk>
[src]
fn lookup_sha256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_ripemd160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn check_older(&self, n: u32) -> bool
[src]
fn check_after(&self, n: u32) -> bool
[src]
impl<A, B, C, D, E, Pk> Satisfier<Pk> for (A, B, C, D, E) where
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
[src]
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
fn lookup_sig(&self, key: &Pk) -> Option<BitcoinSig>
[src]
fn lookup_pkh_sig(&self, key_hash: &Pk::Hash) -> Option<(PublicKey, BitcoinSig)>
[src]
fn lookup_pkh_pk(&self, key_hash: &Pk::Hash) -> Option<Pk>
[src]
fn lookup_sha256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_ripemd160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn check_older(&self, n: u32) -> bool
[src]
fn check_after(&self, n: u32) -> bool
[src]
impl<A, B, C, D, E, F, Pk> Satisfier<Pk> for (A, B, C, D, E, F) where
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
F: Satisfier<Pk>,
[src]
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
F: Satisfier<Pk>,
fn lookup_sig(&self, key: &Pk) -> Option<BitcoinSig>
[src]
fn lookup_pkh_sig(&self, key_hash: &Pk::Hash) -> Option<(PublicKey, BitcoinSig)>
[src]
fn lookup_pkh_pk(&self, key_hash: &Pk::Hash) -> Option<Pk>
[src]
fn lookup_sha256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_ripemd160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn check_older(&self, n: u32) -> bool
[src]
fn check_after(&self, n: u32) -> bool
[src]
impl<A, B, C, D, E, F, G, Pk> Satisfier<Pk> for (A, B, C, D, E, F, G) where
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
F: Satisfier<Pk>,
G: Satisfier<Pk>,
[src]
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
F: Satisfier<Pk>,
G: Satisfier<Pk>,
fn lookup_sig(&self, key: &Pk) -> Option<BitcoinSig>
[src]
fn lookup_pkh_sig(&self, key_hash: &Pk::Hash) -> Option<(PublicKey, BitcoinSig)>
[src]
fn lookup_pkh_pk(&self, key_hash: &Pk::Hash) -> Option<Pk>
[src]
fn lookup_sha256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash256(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_ripemd160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn lookup_hash160(&self, h: Hash) -> Option<[u8; 32]>
[src]
fn check_older(&self, n: u32) -> bool
[src]
fn check_after(&self, n: u32) -> bool
[src]
impl<A, B, C, D, E, F, G, H, Pk> Satisfier<Pk> for (A, B, C, D, E, F, G, H) where
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
F: Satisfier<Pk>,
G: Satisfier<Pk>,
H: Satisfier<Pk>,
[src]
Pk: MiniscriptKey,
A: Satisfier<Pk>,
B: Satisfier<Pk>,
C: Satisfier<Pk>,
D: Satisfier<Pk>,
E: Satisfier<Pk>,
F: Satisfier<Pk>,
G: Satisfier<Pk>,
H: Satisfier<Pk>,