8 #ifndef BITCOIN_SCRIPT_SOLVER_H 9 #define BITCOIN_SCRIPT_SOLVER_H 20 template <
typename C>
class Span;
67 #endif // BITCOIN_SCRIPT_SOLVER_H constexpr bool IsPushdataOp(opcodetype opcode)
std::string GetTxnOutputType(TxoutType t)
Get the name of a TxoutType as a string.
TxoutType Solver(const CScript &scriptPubKey, std::vector< std::vector< unsigned char >> &vSolutionsRet)
Parse a scriptPubKey and identify script type for standard scripts.
std::optional< std::pair< int, std::vector< Span< const unsigned char > > > > MatchMultiA(const CScript &script LIFETIMEBOUND)
Determine if script is a "multi_a" script.
An encapsulated public key.
opcodetype
Script opcodes.
CScript GetScriptForMultisig(int nRequired, const std::vector< CPubKey > &keys)
Generate a multisig script.
Serialized script, used inside transaction inputs and outputs.
CScript GetScriptForRawPubKey(const CPubKey &pubkey)
Generate a P2PK script for the given pubkey.
A Span is an object that can refer to a contiguous sequence of objects.
Only for Witness versions not already defined above.
unspendable OP_RETURN script that carries data