pub trait Satisfier<ToPkCtx: Copy, Pk: MiniscriptKey + ToPublicKey<ToPkCtx>> {
    fn lookup_sig(&self, _: &Pk, _to_pk_ctx: ToPkCtx) -> Option<BitcoinSig> { ... }
    fn lookup_pkh_pk(&self, _: &Pk::Hash) -> Option<Pk> { ... }
    fn lookup_pkh_sig(
        &self,
        _: &Pk::Hash,
        _to_pk_ctx: ToPkCtx
    ) -> Option<(PublicKey, BitcoinSig)> { ... } fn lookup_sha256(&self, _: Hash) -> Option<[u8; 32]> { ... } fn lookup_hash256(&self, _: Hash) -> Option<[u8; 32]> { ... } fn lookup_ripemd160(&self, _: Hash) -> Option<[u8; 32]> { ... } fn lookup_hash160(&self, _: Hash) -> Option<[u8; 32]> { ... } fn check_older(&self, _: u32) -> bool { ... } fn check_after(&self, _: u32) -> 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

Given a public key, look up a signature with that key to_pk_ctx denotes the ToPkCtx required for deriving bitcoin::PublicKey from MiniscriptKey using ToPublicKey. If MiniscriptKey is already is bitcoin::PublicKey, then the context would be NullCtx and [descriptor.DescriptorPublicKeyCtx] if MiniscriptKey is [descriptor.DescriptorPublicKey]

In general, this is defined by generic for the trait ToPublicKey

Given a Pkh, lookup corresponding Pk

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. to_pk_ctx denotes the ToPkCtx required for deriving bitcoin::PublicKey from MiniscriptKey using ToPublicKey. If MiniscriptKey is already is bitcoin::PublicKey, then the context would be NullCtx and [descriptor.DescriptorPublicKeyCtx] if MiniscriptKey is [descriptor.DescriptorPublicKey]

In general, this is defined by generic for the trait ToPublicKey

Given a SHA256 hash, look up its preimage

Given a HASH256 hash, look up its preimage

Given a RIPEMD160 hash, look up its preimage

Given a HASH160 hash, look up its preimage

Assert whether an relative locktime is satisfied

Assert whether a absolute locktime is satisfied

Implementations on Foreign Types

Implementors