Bitcoin Core 28.99.0
P2P Digital Currency
Public Member Functions | List of all members
CCoinsView Class Reference

Abstract view on the open txout dataset. More...

#include <coins.h>

Inheritance diagram for CCoinsView:
[legend]

Public Member Functions

virtual std::optional< CoinGetCoin (const COutPoint &outpoint) const
 Retrieve the Coin (unspent transaction output) for a given outpoint. More...
 
virtual bool HaveCoin (const COutPoint &outpoint) const
 Just check whether a given outpoint is unspent. More...
 
virtual uint256 GetBestBlock () const
 Retrieve the block hash whose state this CCoinsView currently represents. More...
 
virtual std::vector< uint256GetHeadBlocks () const
 Retrieve the range of blocks that may have been only partially written. More...
 
virtual bool BatchWrite (CoinsViewCacheCursor &cursor, const uint256 &hashBlock)
 Do a bulk modification (multiple Coin changes + BestBlock change). More...
 
virtual std::unique_ptr< CCoinsViewCursorCursor () const
 Get a cursor to iterate over the whole state. More...
 
virtual ~CCoinsView ()=default
 As we use CCoinsViews polymorphically, have a virtual destructor. More...
 
virtual size_t EstimateSize () const
 Estimate database size (0 if not implemented) More...
 

Detailed Description

Abstract view on the open txout dataset.

Definition at line 309 of file coins.h.

Constructor & Destructor Documentation

◆ ~CCoinsView()

virtual CCoinsView::~CCoinsView ( )
virtualdefault

As we use CCoinsViews polymorphically, have a virtual destructor.

Member Function Documentation

◆ BatchWrite()

bool CCoinsView::BatchWrite ( CoinsViewCacheCursor cursor,
const uint256 hashBlock 
)
virtual

Do a bulk modification (multiple Coin changes + BestBlock change).

The passed cursor is used to iterate through the coins.

Reimplemented in CCoinsViewBacked, CCoinsViewCache, and CCoinsViewDB.

Definition at line 19 of file coins.cpp.

Here is the caller graph for this function:

◆ Cursor()

std::unique_ptr< CCoinsViewCursor > CCoinsView::Cursor ( ) const
virtual

Get a cursor to iterate over the whole state.

Reimplemented in CCoinsViewBacked, CCoinsViewCache, and CCoinsViewDB.

Definition at line 20 of file coins.cpp.

Here is the caller graph for this function:

◆ EstimateSize()

virtual size_t CCoinsView::EstimateSize ( ) const
inlinevirtual

Estimate database size (0 if not implemented)

Reimplemented in CCoinsViewBacked, and CCoinsViewDB.

Definition at line 338 of file coins.h.

Here is the caller graph for this function:

◆ GetBestBlock()

uint256 CCoinsView::GetBestBlock ( ) const
virtual

Retrieve the block hash whose state this CCoinsView currently represents.

Reimplemented in CCoinsViewBacked, CCoinsViewCache, and CCoinsViewDB.

Definition at line 17 of file coins.cpp.

Here is the caller graph for this function:

◆ GetCoin()

std::optional< Coin > CCoinsView::GetCoin ( const COutPoint outpoint) const
virtual

Retrieve the Coin (unspent transaction output) for a given outpoint.

Reimplemented in CCoinsViewBacked, CCoinsViewCache, CCoinsViewErrorCatcher, CCoinsViewDB, and CCoinsViewMemPool.

Definition at line 16 of file coins.cpp.

Here is the caller graph for this function:

◆ GetHeadBlocks()

std::vector< uint256 > CCoinsView::GetHeadBlocks ( ) const
virtual

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 in CCoinsViewBacked, and CCoinsViewDB.

Definition at line 18 of file coins.cpp.

Here is the caller graph for this function:

◆ HaveCoin()

bool CCoinsView::HaveCoin ( const COutPoint outpoint) const
virtual

Just check whether a given outpoint is unspent.

Reimplemented in CCoinsViewBacked, CCoinsViewCache, CCoinsViewErrorCatcher, and CCoinsViewDB.

Definition at line 22 of file coins.cpp.

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

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