Bitcoin
Public Member Functions | Protected Attributes | List of all members
CCoinsViewDB Class Referencefinal

#include <txdb.h>

Inheritance diagram for CCoinsViewDB:
CCoinsView

Public Member Functions

 CCoinsViewDB (size_t nCacheSize, bool fMemory=false, bool fWipe=false)
 
bool GetCoin (const COutPoint &outpoint, Coin &coin) const override
 
bool HaveCoin (const COutPoint &outpoint) const override
 Just check whether a given outpoint is unspent. More...
 
uint256 GetBestBlock () const override
 Retrieve the block hash whose state this CCoinsView currently represents. More...
 
std::vector< uint256GetHeadBlocks () const override
 
bool BatchWrite (CCoinsMap &mapCoins, const uint256 &hashBlock) override
 
CCoinsViewCursorCursor () const override
 Get a cursor to iterate over the whole state. More...
 
bool Upgrade ()
 Attempt to update from an older database format. Returns whether an error occurred. More...
 
size_t EstimateSize () const override
 Estimate database size (0 if not implemented) More...
 
- Public Member Functions inherited from CCoinsView
virtual ~CCoinsView ()
 As we use CCoinsViews polymorphically, have a virtual destructor. More...
 

Protected Attributes

CDBWrapper db
 

Detailed Description

CCoinsView backed by the coin database (chainstate/)

Constructor & Destructor Documentation

◆ CCoinsViewDB()

CCoinsViewDB::CCoinsViewDB ( size_t  nCacheSize,
bool  fMemory = false,
bool  fWipe = false 
)
explicit

Member Function Documentation

◆ BatchWrite()

bool CCoinsViewDB::BatchWrite ( CCoinsMap mapCoins,
const uint256 hashBlock 
)
overridevirtual

Do a bulk modification (multiple Coin changes + BestBlock change). The passed mapCoins can be modified.

Reimplemented from CCoinsView.

◆ Cursor()

CCoinsViewCursor * CCoinsViewDB::Cursor ( ) const
overridevirtual

Get a cursor to iterate over the whole state.

Reimplemented from CCoinsView.

◆ EstimateSize()

size_t CCoinsViewDB::EstimateSize ( ) const
overridevirtual

Estimate database size (0 if not implemented)

Reimplemented from CCoinsView.

◆ GetBestBlock()

uint256 CCoinsViewDB::GetBestBlock ( ) const
overridevirtual

Retrieve the block hash whose state this CCoinsView currently represents.

Reimplemented from CCoinsView.

◆ GetCoin()

bool CCoinsViewDB::GetCoin ( const COutPoint outpoint,
Coin coin 
) const
overridevirtual

Retrieve the Coin (unspent transaction output) for a given outpoint. Returns true only when an unspent coin was found, which is returned in coin. When false is returned, coin's value is unspecified.

Reimplemented from CCoinsView.

◆ GetHeadBlocks()

std::vector< uint256 > CCoinsViewDB::GetHeadBlocks ( ) const
overridevirtual

Retrieve the range of blocks that may have been only partially written. If the database is in a consistent state, the result is the empty vector. Otherwise, a two-element vector is returned consisting of the new and the old block hash, in that order.

Reimplemented from CCoinsView.

◆ HaveCoin()

bool CCoinsViewDB::HaveCoin ( const COutPoint outpoint) const
overridevirtual

Just check whether a given outpoint is unspent.

Reimplemented from CCoinsView.

◆ Upgrade()

bool CCoinsViewDB::Upgrade ( )

Attempt to update from an older database format. Returns whether an error occurred.

Upgrade the database from older formats.

Currently implemented: from the per-tx utxo model (0.8..0.14.x) to per-txout.

Member Data Documentation

◆ db

CDBWrapper CCoinsViewDB::db
protected

The documentation for this class was generated from the following files: