Bitcoin Core 28.99.0
P2P Digital Currency
Functions | Variables
coins.cpp File Reference
#include <coins.h>
#include <consensus/consensus.h>
#include <logging.h>
#include <random.h>
#include <util/trace.h>
Include dependency graph for coins.cpp:

Go to the source code of this file.

Functions

 TRACEPOINT_SEMAPHORE (utxocache, add)
 
 TRACEPOINT_SEMAPHORE (utxocache, spent)
 
 TRACEPOINT_SEMAPHORE (utxocache, uncache)
 
void AddCoins (CCoinsViewCache &cache, const CTransaction &tx, int nHeight, bool check_for_overwrite)
 Utility function to add all of a transaction's outputs to a cache. More...
 
const CoinAccessByTxid (const CCoinsViewCache &view, const Txid &txid)
 Utility function to find any unspent output with a given txid. More...
 
template<typename ReturnType , typename Func >
static ReturnType ExecuteBackedWrapper (Func func, const std::vector< std::function< void()> > &err_callbacks)
 

Variables

static const Coin coinEmpty
 
static const size_t MIN_TRANSACTION_OUTPUT_WEIGHT = WITNESS_SCALE_FACTOR * ::GetSerializeSize(CTxOut())
 
static const size_t MAX_OUTPUTS_PER_BLOCK = MAX_BLOCK_WEIGHT / MIN_TRANSACTION_OUTPUT_WEIGHT
 

Function Documentation

◆ AccessByTxid()

const Coin & AccessByTxid ( const CCoinsViewCache cache,
const Txid txid 
)

Utility function to find any unspent output with a given txid.

This function can be quite expensive because in the event of a transaction which is not found in the cache, it can cause up to MAX_OUTPUTS_PER_BLOCK lookups to database, so it should be used with care.

Definition at line 351 of file coins.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddCoins()

void AddCoins ( CCoinsViewCache cache,
const CTransaction tx,
int  nHeight,
bool  check = false 
)

Utility function to add all of a transaction's outputs to a cache.

When check is false, this assumes that overwrites are only possible for coinbase transactions. When check is true, the underlying view may be queried to determine whether an addition is an overwrite.

Definition at line 119 of file coins.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ExecuteBackedWrapper()

template<typename ReturnType , typename Func >
static ReturnType ExecuteBackedWrapper ( Func  func,
const std::vector< std::function< void()> > &  err_callbacks 
)
static

Definition at line 363 of file coins.cpp.

◆ TRACEPOINT_SEMAPHORE() [1/3]

TRACEPOINT_SEMAPHORE ( utxocache  ,
add   
)

◆ TRACEPOINT_SEMAPHORE() [2/3]

TRACEPOINT_SEMAPHORE ( utxocache  ,
spent   
)

◆ TRACEPOINT_SEMAPHORE() [3/3]

TRACEPOINT_SEMAPHORE ( utxocache  ,
uncache   
)

Variable Documentation

◆ coinEmpty

const Coin coinEmpty
static

Definition at line 152 of file coins.cpp.

◆ MAX_OUTPUTS_PER_BLOCK

const size_t MAX_OUTPUTS_PER_BLOCK = MAX_BLOCK_WEIGHT / MIN_TRANSACTION_OUTPUT_WEIGHT
static

Definition at line 349 of file coins.cpp.

◆ MIN_TRANSACTION_OUTPUT_WEIGHT

const size_t MIN_TRANSACTION_OUTPUT_WEIGHT = WITNESS_SCALE_FACTOR * ::GetSerializeSize(CTxOut())
static

Definition at line 348 of file coins.cpp.