![]() |
Bitcoin ABC
0.22.12
P2P Digital Currency
|
Go to the source code of this file.
Typedefs | |
typedef std::vector< uint8_t > | valtype |
Functions | |
const char * | GetTxnOutputType (txnouttype t) |
Get the name of a txnouttype as a C string, or nullptr if unknown. 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 bool | MatchMultisig (const CScript &script, unsigned int &required, std::vector< valtype > &pubkeys) |
txnouttype | Solver (const CScript &scriptPubKey, std::vector< std::vector< uint8_t >> &vSolutionsRet) |
Parse a scriptPubKey and identify script type for standard scripts. More... | |
bool | ExtractDestination (const CScript &scriptPubKey, CTxDestination &addressRet) |
Parse a standard scriptPubKey for the destination address. More... | |
bool | ExtractDestinations (const CScript &scriptPubKey, txnouttype &typeRet, std::vector< CTxDestination > &addressRet, int &nRequiredRet) |
Parse a standard scriptPubKey with one or more destination addresses. More... | |
CScript | GetScriptForDestination (const CTxDestination &dest) |
Generate a Bitcoin scriptPubKey for the given CTxDestination. 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... | |
bool | IsValidDestination (const CTxDestination &dest) |
Check whether a CTxDestination is a CNoDestination. More... | |
Variables | |
bool | fAcceptDatacarrier = DEFAULT_ACCEPT_DATACARRIER |
A data carrying output is an unspendable output containing data. More... | |
typedef std::vector<uint8_t> valtype |
Definition at line 11 of file standard.cpp.
bool ExtractDestination | ( | const CScript & | scriptPubKey, |
CTxDestination & | addressRet | ||
) |
Parse a standard scriptPubKey for the destination address.
Assigns result to the addressRet parameter and returns true if successful. For multisig scripts, instead use ExtractDestinations. Currently only works for P2PK, P2PKH, and P2SH scripts.
Definition at line 152 of file standard.cpp.
bool ExtractDestinations | ( | const CScript & | scriptPubKey, |
txnouttype & | typeRet, | ||
std::vector< CTxDestination > & | addressRet, | ||
int & | nRequiredRet | ||
) |
Parse a standard scriptPubKey with one or more destination addresses.
For multisig scripts, this populates the addressRet vector with the pubkey IDs and nRequiredRet with the n required to spend. For other destinations, addressRet is populated with a single value and nRequiredRet is set to 1. Returns true if successful.
Note: this function confuses destinations (a subset of CScripts that are encodable as an address) with key identifiers (of keys involved in a CScript), and its use should be phased out.
Definition at line 178 of file standard.cpp.
CScript GetScriptForDestination | ( | const CTxDestination & | dest | ) |
Generate a Bitcoin scriptPubKey for the given CTxDestination.
Returns a P2PKH script for a CKeyID destination, a P2SH script for a CScriptID, and an empty script for CNoDestination.
Definition at line 246 of file standard.cpp.
Generate a multisig script.
Definition at line 258 of file standard.cpp.
Generate a P2PK script for the given pubkey.
Definition at line 253 of file standard.cpp.
const char* GetTxnOutputType | ( | txnouttype | t | ) |
Get the name of a txnouttype as a C string, or nullptr if unknown.
Definition at line 23 of file standard.cpp.
|
static |
Test for "small positive integer" script opcodes - OP_1 through OP_16.
Definition at line 68 of file standard.cpp.
bool IsValidDestination | ( | const CTxDestination & | dest | ) |
Check whether a CTxDestination is a CNoDestination.
Definition at line 269 of file standard.cpp.
|
static |
Definition at line 72 of file standard.cpp.
Definition at line 41 of file standard.cpp.
Definition at line 57 of file standard.cpp.
txnouttype Solver | ( | const CScript & | scriptPubKey, |
std::vector< std::vector< uint8_t >> & | 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 102 of file standard.cpp.
bool fAcceptDatacarrier = DEFAULT_ACCEPT_DATACARRIER |
A data carrying output is an unspendable output containing data.
The script type is designated as TX_NULL_DATA.
Definition at line 13 of file standard.cpp.