Bitcoin Core 31.99.0
P2P Digital Currency
Classes | Namespaces | Functions
miner.h File Reference
#include <consensus/amount.h>
#include <node/mining_types.h>
#include <primitives/block.h>
#include <primitives/transaction.h>
#include <threadsafety.h>
#include <txmempool.h>
#include <util/feefrac.h>
#include <util/time.h>
#include <cstdint>
#include <memory>
#include <optional>
#include <vector>
Include dependency graph for miner.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  node::CBlockTemplate
 
class  node::BlockAssembler
 Generate a new block, without valid proof-of-work. More...
 

Namespaces

namespace  Consensus
 Transaction validation functions.
 
namespace  interfaces
 
namespace  node
 

Functions

int64_t node::GetMinimumTime (const CBlockIndex *pindexPrev, int64_t difficulty_adjustment_interval)
 Get the minimum time a miner should use in the next block. More...
 
int64_t node::UpdateTime (CBlockHeader *pblock, const Consensus::Params &consensusParams, const CBlockIndex *pindexPrev)
 
void node::RegenerateCommitments (CBlock &block, ChainstateManager &chainman)
 Update an old GenerateCoinbaseCommitment from CreateNewBlock after the block txs have changed. More...
 
void node::AddMerkleRootAndCoinbase (CBlock &block, CTransactionRef coinbase, uint32_t version, uint32_t timestamp, uint32_t nonce)
 
void node::InterruptWait (KernelNotifications &kernel_notifications, bool &interrupt_wait)
 
std::unique_ptr< CBlockTemplate > node::WaitAndCreateNewBlock (ChainstateManager &chainman, KernelNotifications &kernel_notifications, CTxMemPool *mempool, const std::unique_ptr< CBlockTemplate > &block_template, const BlockWaitOptions &wait_options, const BlockCreateOptions &create_options, bool &interrupt_wait)
 Return a new block template when fees rise to a certain threshold or after a new tip; return nullopt if timeout is reached. More...
 
std::optional< BlockRefnode::GetTip (ChainstateManager &chainman)
 
std::optional< BlockRefnode::WaitTipChanged (ChainstateManager &chainman, KernelNotifications &kernel_notifications, const uint256 &current_tip, MillisecondsDouble &timeout, bool &interrupt)
 
bool node::CooldownIfHeadersAhead (ChainstateManager &chainman, KernelNotifications &kernel_notifications, const BlockRef &last_tip, bool &interrupt_mining)
 Wait while the best known header extends the current chain tip AND at least one block is being added to the tip every 3 seconds. More...