![]() |
Bitcoin Core
25.99.0
P2P Digital Currency
|
#include <pubkey.h>
#include <script/interpreter.h>
#include <script/script.h>
#include <script/solver.h>
#include <span.h>
#include <algorithm>
#include <cassert>
#include <string>
Go to the source code of this file.
Typedefs | |
typedef std::vector< unsigned char > | valtype |
Functions | |
std::string | GetTxnOutputType (TxoutType t) |
Get the name of a TxoutType as a string. More... | |
static bool | MatchPayToPubkey (const CScript &script, valtype &pubkey) |
static bool | MatchPayToPubkeyHash (const CScript &script, valtype &pubkeyhash) |
static constexpr bool | IsSmallInteger (opcodetype opcode) |
Test for "small positive integer" script opcodes - OP_1 through OP_16. More... | |
static std::optional< int > | GetScriptNumber (opcodetype opcode, valtype data, int min, int max) |
Retrieve a minimally-encoded number in range [min,max] from an (opcode, data) pair, whether it's OP_n or through a push. More... | |
static bool | MatchMultisig (const CScript &script, int &required_sigs, std::vector< valtype > &pubkeys) |
std::optional< std::pair< int, std::vector< Span< const unsigned char > > > > | MatchMultiA (const CScript &script) |
TxoutType | Solver (const CScript &scriptPubKey, std::vector< std::vector< unsigned char >> &vSolutionsRet) |
Parse a scriptPubKey and identify script type for standard scripts. More... | |
CScript | GetScriptForRawPubKey (const CPubKey &pubKey) |
Generate a P2PK script for the given pubkey. More... | |
CScript | GetScriptForMultisig (int nRequired, const std::vector< CPubKey > &keys) |
Generate a multisig script. More... | |
typedef std::vector<unsigned char> valtype |
Definition at line 16 of file solver.cpp.
Generate a multisig script.
Definition at line 214 of file solver.cpp.
Generate a P2PK script for the given pubkey.
Definition at line 209 of file solver.cpp.
|
static |
Retrieve a minimally-encoded number in range [min,max] from an (opcode, data) pair, whether it's OP_n or through a push.
Definition at line 65 of file solver.cpp.
std::string GetTxnOutputType | ( | TxoutType | t | ) |
Get the name of a TxoutType as a string.
Definition at line 18 of file solver.cpp.
|
staticconstexpr |
Test for "small positive integer" script opcodes - OP_1 through OP_16.
Definition at line 58 of file solver.cpp.
std::optional<std::pair<int, std::vector<Span<const unsigned char> > > > MatchMultiA | ( | const CScript & | script | ) |
Definition at line 106 of file solver.cpp.
|
static |
Definition at line 84 of file solver.cpp.
Definition at line 35 of file solver.cpp.
Definition at line 48 of file solver.cpp.
TxoutType Solver | ( | const CScript & | scriptPubKey, |
std::vector< std::vector< unsigned char >> & | vSolutionsRet | ||
) |
Parse a scriptPubKey and identify script type for standard scripts.
If successful, returns script type and parsed pubkeys or hashes, depending on the type. For example, for a P2SH script, vSolutionsRet will contain the script hash, for P2PKH it will contain the key hash, etc.
[in] | scriptPubKey | Script to parse |
[out] | vSolutionsRet | Vector of parsed pubkeys and hashes |
Definition at line 140 of file solver.cpp.