Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
WshSatisfier Struct Reference

Miniscript satisfier specific to P2WSH context. More...

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

Public Member Functions

 WshSatisfier (const SigningProvider &provider LIFETIMEBOUND, SignatureData &sig_data LIFETIMEBOUND, const BaseSignatureCreator &creator LIFETIMEBOUND, const CScript &witscript LIFETIMEBOUND)
template<typename I>
std::optional< CPubKeyFromPKBytes (I first, I last) const
 Conversion from a raw compressed public key.
template<typename I>
std::optional< CPubKeyFromPKHBytes (I first, I last) const
 Conversion from a raw compressed public key hash.
miniscript::Availability Sign (const CPubKey &key, std::vector< unsigned char > &sig) const
 Satisfy an ECDSA signature check.
Public Member Functions inherited from Satisfier< CPubKey >
 Satisfier (const SigningProvider &provider LIFETIMEBOUND, SignatureData &sig_data LIFETIMEBOUND, const BaseSignatureCreator &creator LIFETIMEBOUND, const CScript &witscript LIFETIMEBOUND, miniscript::MiniscriptContext script_ctx)
std::optional< CPubKeyCPubFromPKHBytes (I first, I last) const
 Get a CPubKey from a key hash. Note the key hash may be of an xonly pubkey.
std::vector< unsigned char > ToPKBytes (const Key &key) const
 Conversion to raw public key.
bool CheckAfter (uint32_t value) const
 Time lock satisfactions.
bool CheckOlder (uint32_t value) const
miniscript::Availability SatSHA256 (const std::vector< unsigned char > &hash, std::vector< unsigned char > &preimage) const
 Hash preimage satisfactions.
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
miniscript::MiniscriptContext MsContext () const

Additional Inherited Members

Public Types inherited from Satisfier< CPubKey >
using Key
Static Public Member Functions inherited from Satisfier< CPubKey >
static bool KeyCompare (const Key &a, const Key &b)
Public Attributes inherited from Satisfier< CPubKey >
const SigningProviderm_provider
SignatureDatam_sig_data
const BaseSignatureCreatorm_creator
const CScriptm_witness_script
const miniscript::MiniscriptContext m_script_ctx
 The context of the script we are satisfying (either P2WSH or Tapscript).

Detailed Description

Miniscript satisfier specific to P2WSH context.

Definition at line 466 of file sign.cpp.

Constructor & Destructor Documentation

◆ WshSatisfier()

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

Definition at line 467 of file sign.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ FromPKBytes()

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

Conversion from a raw compressed public key.

Definition at line 473 of file sign.cpp.

Here is the call graph for this function:

◆ FromPKHBytes()

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

Conversion from a raw compressed public key hash.

Definition at line 481 of file sign.cpp.

Here is the call graph for this function:

◆ Sign()

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

Satisfy an ECDSA signature check.

Definition at line 486 of file sign.cpp.

Here is the call graph for this function:

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