Bitcoin Core  25.99.0
P2P Digital Currency
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Satisfier Struct Reference

Context for solving a Miniscript. More...

Inheritance diagram for Satisfier:
[legend]
Collaboration diagram for Satisfier:
[legend]

Public Types

typedef CPubKey Key
 

Public Member Functions

 Satisfier (const SigningProvider &provider LIFETIMEBOUND, SignatureData &sig_data LIFETIMEBOUND, const BaseSignatureCreator &creator LIFETIMEBOUND, const CScript &witscript LIFETIMEBOUND)
 
template<typename I >
std::optional< KeyFromPKBytes (I first, I last) const
 Conversion from a raw public key. More...
 
template<typename I >
std::optional< KeyFromPKHBytes (I first, I last) const
 Conversion from a raw public key hash. More...
 
std::vector< unsigned char > ToPKBytes (const CPubKey &key) const
 Conversion to raw public key. More...
 
miniscript::Availability Sign (const CPubKey &key, std::vector< unsigned char > &sig) const
 Satisfy a signature check. More...
 
bool CheckAfter (uint32_t value) const
 Time lock satisfactions. More...
 
bool CheckOlder (uint32_t value) const
 
miniscript::Availability SatSHA256 (const std::vector< unsigned char > &hash, std::vector< unsigned char > &preimage) const
 Hash preimage satisfactions. More...
 
miniscript::Availability SatRIPEMD160 (const std::vector< unsigned char > &hash, std::vector< unsigned char > &preimage) const
 
miniscript::Availability SatHASH256 (const std::vector< unsigned char > &hash, std::vector< unsigned char > &preimage) const
 
miniscript::Availability SatHASH160 (const std::vector< unsigned char > &hash, std::vector< unsigned char > &preimage) const
 

Static Public Member Functions

static bool KeyCompare (const Key &a, const Key &b)
 

Public Attributes

const SigningProviderm_provider
 
SignatureDatam_sig_data
 
const BaseSignatureCreatorm_creator
 
const CScriptm_witness_script
 

Detailed Description

Context for solving a Miniscript.

If enough material (access to keys, hash preimages, ..) is given, produces a valid satisfaction.

Definition at line 400 of file sign.cpp.

Member Typedef Documentation

◆ Key

typedef CPubKey Satisfier::Key

Definition at line 401 of file sign.cpp.

Constructor & Destructor Documentation

◆ Satisfier()

Satisfier::Satisfier ( const SigningProvider &provider  LIFETIMEBOUND,
SignatureData &sig_data  LIFETIMEBOUND,
const BaseSignatureCreator &creator  LIFETIMEBOUND,
const CScript &witscript  LIFETIMEBOUND 
)
inlineexplicit

Definition at line 408 of file sign.cpp.

Member Function Documentation

◆ CheckAfter()

bool Satisfier::CheckAfter ( uint32_t  value) const
inline

Time lock satisfactions.

Definition at line 452 of file sign.cpp.

Here is the call graph for this function:

◆ CheckOlder()

bool Satisfier::CheckOlder ( uint32_t  value) const
inline

Definition at line 453 of file sign.cpp.

Here is the call graph for this function:

◆ FromPKBytes()

template<typename I >
std::optional<Key> Satisfier::FromPKBytes ( first,
last 
) const
inline

Conversion from a raw public key.

Definition at line 421 of file sign.cpp.

◆ FromPKHBytes()

template<typename I >
std::optional<Key> Satisfier::FromPKHBytes ( first,
last 
) const
inline

Conversion from a raw public key hash.

Definition at line 430 of file sign.cpp.

Here is the call graph for this function:

◆ KeyCompare()

static bool Satisfier::KeyCompare ( const Key a,
const Key b 
)
inlinestatic

Definition at line 415 of file sign.cpp.

◆ SatHASH160()

miniscript::Availability Satisfier::SatHASH160 ( const std::vector< unsigned char > &  hash,
std::vector< unsigned char > &  preimage 
) const
inline

Definition at line 466 of file sign.cpp.

Here is the call graph for this function:

◆ SatHASH256()

miniscript::Availability Satisfier::SatHASH256 ( const std::vector< unsigned char > &  hash,
std::vector< unsigned char > &  preimage 
) const
inline

Definition at line 463 of file sign.cpp.

Here is the call graph for this function:

◆ SatRIPEMD160()

miniscript::Availability Satisfier::SatRIPEMD160 ( const std::vector< unsigned char > &  hash,
std::vector< unsigned char > &  preimage 
) const
inline

Definition at line 460 of file sign.cpp.

Here is the call graph for this function:

◆ SatSHA256()

miniscript::Availability Satisfier::SatSHA256 ( const std::vector< unsigned char > &  hash,
std::vector< unsigned char > &  preimage 
) const
inline

Hash preimage satisfactions.

Definition at line 457 of file sign.cpp.

Here is the call graph for this function:

◆ Sign()

miniscript::Availability Satisfier::Sign ( const CPubKey key,
std::vector< unsigned char > &  sig 
) const
inline

Satisfy a signature check.

Definition at line 444 of file sign.cpp.

Here is the call graph for this function:

◆ ToPKBytes()

std::vector<unsigned char> Satisfier::ToPKBytes ( const CPubKey key) const
inline

Conversion to raw public key.

Definition at line 441 of file sign.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ m_creator

const BaseSignatureCreator& Satisfier::m_creator

Definition at line 405 of file sign.cpp.

◆ m_provider

const SigningProvider& Satisfier::m_provider

Definition at line 403 of file sign.cpp.

◆ m_sig_data

SignatureData& Satisfier::m_sig_data

Definition at line 404 of file sign.cpp.

◆ m_witness_script

const CScript& Satisfier::m_witness_script

Definition at line 406 of file sign.cpp.


The documentation for this struct was generated from the following file: