Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

CCoinsViewDB Class Referencefinal

CCoinsView backed by the coin database (chainstate/) More...

#include <txdb.h>

+ Inheritance diagram for CCoinsViewDB:
+ Collaboration diagram for CCoinsViewDB:

Public Member Functions

 CCoinsViewDB (size_t nCacheSize, bool fMemory=false, bool fWipe=false)
 
bool GetCoin (const COutPoint &outpoint, Coin &coin) const override
 Retrieve the Coin (unspent transaction output) for a given outpoint. More...
 
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
 Retrieve the range of blocks that may have been only partially written. More...
 
bool BatchWrite (CCoinsMap &mapCoins, const uint256 &hashBlock) override
 Do a bulk modification (multiple Coin changes + BestBlock change). More...
 
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/)

Definition at line 71 of file txdb.h.

Constructor & Destructor Documentation

◆ CCoinsViewDB()

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

Definition at line 61 of file txdb.cpp.

Member Function Documentation

◆ BatchWrite()

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

◆ Cursor()

CCoinsViewCursor * CCoinsViewDB::Cursor ( ) const
overridevirtual

Get a cursor to iterate over the whole state.

Reimplemented from CCoinsView.

Definition at line 177 of file txdb.cpp.

References db, DB_COIN, GetBestBlock(), CCoinsViewDBCursor::keyTmp, and CCoinsViewDBCursor::pcursor.

◆ EstimateSize()

size_t CCoinsViewDB::EstimateSize ( ) const
overridevirtual

Estimate database size (0 if not implemented)

Reimplemented from CCoinsView.

Definition at line 149 of file txdb.cpp.

References db, DB_COIN, and CDBWrapper::EstimateSize().

◆ GetBestBlock()

uint256 CCoinsViewDB::GetBestBlock ( ) const
overridevirtual

Retrieve the block hash whose state this CCoinsView currently represents.

Reimplemented from CCoinsView.

Definition at line 73 of file txdb.cpp.

References db, DB_BEST_BLOCK, and CDBWrapper::Read().

Referenced by BatchWrite(), and Cursor().

◆ 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.

Definition at line 65 of file txdb.cpp.

References db, and CDBWrapper::Read().

◆ 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.

Definition at line 80 of file txdb.cpp.

References db, DB_HEAD_BLOCKS, and CDBWrapper::Read().

Referenced by BatchWrite().

◆ HaveCoin()

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

Just check whether a given outpoint is unspent.

Reimplemented from CCoinsView.

Definition at line 69 of file txdb.cpp.

References db, and CDBWrapper::Exists().

◆ 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.

Definition at line 518 of file txdb.cpp.

References _(), CDBBatch::Clear(), CDBWrapper::CompactRange(), count, db, DB_COINS, CDBBatch::Erase(), error(), high, LogPrintf, COutPoint::n, CDBWrapper::NewIterator(), CClientUIInterface::ShowProgress, ShutdownRequested(), CDBBatch::SizeEstimate(), uiInterface, CDBBatch::Write(), and CDBWrapper::WriteBatch().

Member Data Documentation

◆ db

CDBWrapper CCoinsViewDB::db
protected

The documentation for this class was generated from the following files:
Released under the MIT license