Bitcoin Core  27.99.0
P2P Digital Currency
Public Member Functions | List of all members
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. More...
 
template<typename I >
std::optional< CPubKeyFromPKHBytes (I first, I last) const
 Conversion from a raw compressed public key hash. More...
 
miniscript::Availability Sign (const CPubKey &key, std::vector< unsigned char > &sig) const
 Satisfy an ECDSA signature check. More...
 
- 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. More...
 
std::vector< unsigned char > ToPKBytes (const Key &key) const
 Conversion to raw public key. 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
 
miniscript::MiniscriptContext MsContext () const
 

Additional Inherited Members

- Public Types inherited from Satisfier< CPubKey >
using Key = CPubKey
 
- 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). More...
 

Detailed Description

Miniscript satisfier specific to P2WSH context.

Definition at line 257 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 258 of file sign.cpp.

Member Function Documentation

◆ FromPKBytes()

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

Conversion from a raw compressed public key.

Definition at line 264 of file sign.cpp.

◆ FromPKHBytes()

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

Conversion from a raw compressed public key hash.

Definition at line 272 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 277 of file sign.cpp.

Here is the call graph for this function:

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