11#ifndef BITCOIN_NODE_MINING_TYPES_H
12#define BITCOIN_NODE_MINING_TYPES_H
static constexpr CAmount MAX_MONEY
No amount larger than this (in satoshi) is valid.
int64_t CAmount
Amount in satoshis (Can be negative)
Serialized script, used inside transaction inputs and outputs.
static constexpr unsigned int DEFAULT_COINBASE_OUTPUT_MAX_ADDITIONAL_SIGOPS
Default sigops cost to reserve for coinbase transaction outputs when creating block templates.
bool check_pow
Set false to omit the proof-of-work check.
bool check_merkle_root
Set false to omit the merkle root check.
Block template creation options.
std::optional< bool > print_modified_fee
Whether to log the fee rate of each transaction when it is added to the block template.
std::optional< CFeeRate > block_min_fee_rate
Minimum fee rate for transactions to be included.
CScript coinbase_output_script
Script to put in the coinbase transaction.
bool test_block_validity
Whether to call TestBlockValidity() at the end of CreateNewBlock().
bool use_mempool
Set false to omit mempool transactions.
std::optional< uint64_t > block_max_weight
Maximum block weight, defaults to -maxblockweight.
size_t coinbase_output_max_additional_sigops
The maximum additional sigops which the pool will add in coinbase transaction outputs.
std::optional< uint64_t > block_reserved_weight
The default reserved weight for the fixed-size block header, transaction count and coinbase transacti...
MillisecondsDouble timeout
How long to wait before returning nullptr instead of a new template.
CAmount fee_threshold
The wait method will not return a new template unless it has fees at least fee_threshold sats higher ...
Template containing all coinbase transaction fields that are set by our miner code.
CScript script_sig_prefix
Prefix which needs to be placed at the beginning of the scriptSig.
CAmount block_reward_remaining
Block subsidy plus fees, minus any non-zero required_outputs.
std::vector< CTxOut > required_outputs
std::optional< uint256 > witness
The first (and only) witness stack element of the coinbase input.
std::chrono::duration< double, std::chrono::milliseconds::period > MillisecondsDouble