21 }
catch (
const std::ios_base::failure&) {
33 unsigned int fuzzed_flags;
36 std::vector<CTxOut> spent_outputs;
37 for (
unsigned i = 0; i < tx.
vin.size(); ++i) {
44 spent_outputs.push_back(prevout);
47 txdata.
Init(tx, std::move(spent_outputs));
49 for (
unsigned i = 0; i < tx.
vin.size(); ++i) {
71 }
catch (
const std::ios_base::failure&) {
enum ScriptError_t ScriptError
bool VerifyScript(const CScript &scriptSig, const CScript &scriptPubKey, const CScriptWitness *witness, unsigned int flags, const BaseSignatureChecker &checker, ScriptError *serror)
bool MoneyRange(const CAmount &nValue)
constexpr deserialize_type deserialize
std::vector< CTxOut > m_spent_outputs
const std::vector< CTxIn > vin
FUZZ_TARGET(script_flags)
Abort execution through assertion failure (for consensus code)
void Init(const T &tx, std::vector< CTxOut > &&spent_outputs, bool force=false)
Initialize this PrecomputedTransactionData with transaction data.
static const int INIT_PROTO_VERSION
initial proto version, to be increased after version/verack negotiation
An output of a transaction.
bool IsValidFlagCombination(unsigned flags)
Flags that are not forbidden by an assert in script validation.
The basic transaction that is broadcasted on the network and contained in blocks. ...
static bool verify_flags(unsigned int flags)
Check that all specified flags are part of the libconsensus interface.