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&) {
bool MoneyRange(const CAmount &nValue)
static bool verify_flags(unsigned int flags)
Check that all specified flags are part of the libconsensus interface.
The basic transaction that is broadcasted on the network and contained in blocks.
const std::vector< CTxIn > vin
An output of a transaction.
bool VerifyScript(const CScript &scriptSig, const CScript &scriptPubKey, const CScriptWitness *witness, unsigned int flags, const BaseSignatureChecker &checker, ScriptError *serror)
@ ASSERT_FAIL
Abort execution through assertion failure (for consensus code)
enum ScriptError_t ScriptError
FUZZ_TARGET(script_flags)
constexpr deserialize_type deserialize
void Init(const T &tx, std::vector< CTxOut > &&spent_outputs, bool force=false)
Initialize this PrecomputedTransactionData with transaction data.
std::vector< CTxOut > m_spent_outputs
bool IsValidFlagCombination(unsigned flags)
Flags that are not forbidden by an assert in script validation.
static const int INIT_PROTO_VERSION
initial proto version, to be increased after version/verack negotiation