20 const auto test_setup = MakeNoLogFileContext<const TestingSetup>();
26 constexpr
size_t NUM_BLOCKS{200};
28 for (
size_t b{0}; b < NUM_BLOCKS; ++b) {
31 tx.
vin.back().scriptWitness = witness;
39 for (
const auto& txr : txs) {
std::shared_ptr< const CTransaction > CTransactionRef
CTxIn MineBlock(const NodeContext &node, const CScript &coinbase_scriptPubKey)
Returns the generated coin.
static const CScript P2WSH_OP_TRUE
static const int COINBASE_MATURITY
Coinbase transaction outputs can only be spent after this number of new blocks (network rule) ...
std::vector< std::vector< unsigned char > > stack
const ResultType m_result_type
Result type.
std::shared_ptr< CBlock > PrepareBlock(const NodeContext &node, const CScript &coinbase_scriptPubKey)
Prepare a block to be mined.
Bench & run(char const *benchmarkName, Op &&op)
Repeatedly calls op() based on the configuration, and performs measurements.
static void AssembleBlock(benchmark::Bench &bench)
static const std::vector< uint8_t > WITNESS_STACK_ELEM_OP_TRUE
std::vector< CTxOut > vout
Validation result for a single transaction mempool acceptance.
static CTransactionRef MakeTransactionRef(Tx &&txIn)
RecursiveMutex cs_main
Mutex to guard access to validation specific variables, such as reading or changing the chainstate...
A mutable version of CTransaction.
Main entry point to nanobench's benchmarking facility.