Trait elements_miniscript::miniscript::satisfy::Satisfier [−][src]
pub trait Satisfier<Pk: MiniscriptKey + ToPublicKey> {}Show 20 methods
fn lookup_sig(&self, _: &Pk) -> Option<ElementsSig> { ... } fn lookup_pkh_pk(&self, _: &Pk::Hash) -> Option<Pk> { ... } fn lookup_pkh_sig(&self, _: &Pk::Hash) -> Option<(PublicKey, ElementsSig)> { ... } fn lookup_sha256(&self, _: Hash) -> Option<Preimage32> { ... } fn lookup_hash256(&self, _: Hash) -> Option<Preimage32> { ... } fn lookup_ripemd160(&self, _: Hash) -> Option<Preimage32> { ... } fn lookup_hash160(&self, _: Hash) -> Option<Preimage32> { ... } fn check_older(&self, _: u32) -> bool { ... } fn check_after(&self, _: u32) -> bool { ... } fn lookup_nversion(&self) -> Option<u32> { ... } fn lookup_hashprevouts(&self) -> Option<Hash> { ... } fn lookup_hashsequence(&self) -> Option<Hash> { ... } fn lookup_hashissuances(&self) -> Option<Hash> { ... } fn lookup_outpoint(&self) -> Option<OutPoint> { ... } fn lookup_scriptcode(&self) -> Option<&Script> { ... } fn lookup_value(&self) -> Option<Value> { ... } fn lookup_nsequence(&self) -> Option<u32> { ... } fn lookup_outputs(&self) -> Option<&[TxOut]> { ... } fn lookup_nlocktime(&self) -> Option<u32> { ... } fn lookup_sighashu32(&self) -> Option<u32> { ... }
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
fn lookup_sig(&self, _: &Pk) -> Option<ElementsSig>
fn lookup_sig(&self, _: &Pk) -> Option<ElementsSig>
Given a public key, look up a signature with that key
fn lookup_pkh_pk(&self, _: &Pk::Hash) -> Option<Pk>
fn lookup_pkh_pk(&self, _: &Pk::Hash) -> Option<Pk>
Given a Pkh
, lookup corresponding Pk
fn lookup_pkh_sig(&self, _: &Pk::Hash) -> Option<(PublicKey, ElementsSig)>
fn lookup_pkh_sig(&self, _: &Pk::Hash) -> Option<(PublicKey, ElementsSig)>
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<Preimage32>
fn lookup_sha256(&self, _: Hash) -> Option<Preimage32>
Given a SHA256 hash, look up its preimage
fn lookup_hash256(&self, _: Hash) -> Option<Preimage32>
fn lookup_hash256(&self, _: Hash) -> Option<Preimage32>
Given a HASH256 hash, look up its preimage
fn lookup_ripemd160(&self, _: Hash) -> Option<Preimage32>
fn lookup_ripemd160(&self, _: Hash) -> Option<Preimage32>
Given a RIPEMD160 hash, look up its preimage
fn lookup_hash160(&self, _: Hash) -> Option<Preimage32>
fn lookup_hash160(&self, _: Hash) -> Option<Preimage32>
Given a HASH160 hash, look up its preimage
fn check_older(&self, _: u32) -> bool
fn check_older(&self, _: u32) -> bool
Assert whether an relative locktime is satisfied
fn check_after(&self, _: u32) -> bool
fn check_after(&self, _: u32) -> bool
Assert whether a absolute locktime is satisfied
fn lookup_nversion(&self) -> Option<u32>
fn lookup_nversion(&self) -> Option<u32>
Introspection Data for Covenant support #1 Version
fn lookup_hashprevouts(&self) -> Option<Hash>
fn lookup_hashprevouts(&self) -> Option<Hash>
Item 2: hashprevouts
fn lookup_hashsequence(&self) -> Option<Hash>
fn lookup_hashsequence(&self) -> Option<Hash>
Item 3: hashsequence
fn lookup_hashissuances(&self) -> Option<Hash>
fn lookup_hashissuances(&self) -> Option<Hash>
ELEMENTS EXTRA: Item 3b: hashsequence
fn lookup_outpoint(&self) -> Option<OutPoint>
fn lookup_outpoint(&self) -> Option<OutPoint>
Item 4: outpoint
fn lookup_scriptcode(&self) -> Option<&Script>
fn lookup_scriptcode(&self) -> Option<&Script>
Item 5: scriptcode
fn lookup_value(&self) -> Option<Value>
fn lookup_value(&self) -> Option<Value>
Item 6: value
fn lookup_nsequence(&self) -> Option<u32>
fn lookup_nsequence(&self) -> Option<u32>
Item 7: sequence
fn lookup_nlocktime(&self) -> Option<u32>
fn lookup_nlocktime(&self) -> Option<u32>
Item 9: nlocktime
fn lookup_sighashu32(&self) -> Option<u32>
fn lookup_sighashu32(&self) -> Option<u32>
Item 10: sighash type as u32