Bitcoin
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
anonymous_namespace{descriptor.cpp}::MultisigDescriptor Class Referencefinal
Inheritance diagram for anonymous_namespace{descriptor.cpp}::MultisigDescriptor:
anonymous_namespace{descriptor.cpp}::DescriptorImpl Descriptor

Public Member Functions

 MultisigDescriptor (int threshold, std::vector< std::unique_ptr< PubkeyProvider >> providers)
 
- Public Member Functions inherited from anonymous_namespace{descriptor.cpp}::DescriptorImpl
 DescriptorImpl (std::vector< std::unique_ptr< PubkeyProvider >> pubkeys, std::unique_ptr< DescriptorImpl > script, const std::string &name)
 
bool IsSolvable () const override
 
bool IsRange () const final
 
bool ToStringHelper (const SigningProvider *arg, std::string &out, bool priv) const
 
std::string ToString () const final
 
bool ToPrivateString (const SigningProvider &arg, std::string &out) const override final
 
bool ExpandHelper (int pos, const SigningProvider &arg, Span< const unsigned char > *cache_read, std::vector< CScript > &output_scripts, FlatSigningProvider &out, std::vector< unsigned char > *cache_write) const
 
bool Expand (int pos, const SigningProvider &provider, std::vector< CScript > &output_scripts, FlatSigningProvider &out, std::vector< unsigned char > *cache=nullptr) const final
 
bool ExpandFromCache (int pos, const std::vector< unsigned char > &cache, std::vector< CScript > &output_scripts, FlatSigningProvider &out) const final
 
void ExpandPrivate (int pos, const SigningProvider &provider, FlatSigningProvider &out) const final
 
- Public Member Functions inherited from Descriptor
virtual ~Descriptor ()=default
 

Protected Member Functions

std::string ToStringExtra () const override
 Return a serialization of anything except pubkey and script arguments, to be prepended to those. More...
 
std::vector< CScriptMakeScripts (const std::vector< CPubKey > &keys, const CScript *, FlatSigningProvider &) const override
 

Private Attributes

const int m_threshold
 

Detailed Description

A parsed multi(...) descriptor.

Constructor & Destructor Documentation

◆ MultisigDescriptor()

anonymous_namespace{descriptor.cpp}::MultisigDescriptor::MultisigDescriptor ( int  threshold,
std::vector< std::unique_ptr< PubkeyProvider >>  providers 
)
inline

Member Function Documentation

◆ MakeScripts()

std::vector<CScript> anonymous_namespace{descriptor.cpp}::MultisigDescriptor::MakeScripts ( const std::vector< CPubKey > &  pubkeys,
const CScript script,
FlatSigningProvider out 
) const
inlineoverrideprotectedvirtual

A helper function to construct the scripts for this descriptor.

This function is invoked once for every CScript produced by evaluating m_script_arg, or just once in case m_script_arg is nullptr.

Parameters
pubkeysThe evaluations of the m_pubkey_args field.
scriptThe evaluation of m_script_arg (or nullptr when m_script_arg is nullptr).
outA FlatSigningProvider to put scripts or public keys in that are necessary to the solver. The script arguments to this function are automatically added, as is the origin info of the provided pubkeys.
Returns
A vector with scriptPubKeys for this descriptor.

Implements anonymous_namespace{descriptor.cpp}::DescriptorImpl.

◆ ToStringExtra()

std::string anonymous_namespace{descriptor.cpp}::MultisigDescriptor::ToStringExtra ( ) const
inlineoverrideprotectedvirtual

Return a serialization of anything except pubkey and script arguments, to be prepended to those.

Reimplemented from anonymous_namespace{descriptor.cpp}::DescriptorImpl.

Member Data Documentation

◆ m_threshold

const int anonymous_namespace{descriptor.cpp}::MultisigDescriptor::m_threshold
private

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