![]() |
Bitcoin Core 31.99.0
P2P Digital Currency
|
Pure abstract view on the open txout dataset. More...
#include <coins.h>
Public Member Functions | |
| virtual | ~CCoinsView ()=default |
| As we use CCoinsViews polymorphically, have a virtual destructor. More... | |
| virtual std::optional< Coin > | GetCoin (const COutPoint &outpoint) const =0 |
| Retrieve the Coin (unspent transaction output) for a given outpoint. More... | |
| virtual std::optional< Coin > | PeekCoin (const COutPoint &outpoint) const =0 |
| Retrieve the Coin (unspent transaction output) for a given outpoint, without caching results. More... | |
| virtual bool | HaveCoin (const COutPoint &outpoint) const =0 |
| Just check whether a given outpoint is unspent. More... | |
| virtual uint256 | GetBestBlock () const =0 |
| Retrieve the block hash whose state this CCoinsView currently represents. More... | |
| virtual std::vector< uint256 > | GetHeadBlocks () const =0 |
| Retrieve the range of blocks that may have been only partially written. More... | |
| virtual void | BatchWrite (CoinsViewCacheCursor &cursor, const uint256 &block_hash)=0 |
| Do a bulk modification (multiple Coin changes + BestBlock change). More... | |
| virtual std::unique_ptr< CCoinsViewCursor > | Cursor () const =0 |
| Get a cursor to iterate over the whole state. Implementations may return nullptr. More... | |
| virtual size_t | EstimateSize () const =0 |
| Estimate database size. More... | |
|
virtualdefault |
As we use CCoinsViews polymorphically, have a virtual destructor.
|
pure virtual |
Do a bulk modification (multiple Coin changes + BestBlock change).
The passed cursor is used to iterate through the coins.
Implemented in CoinsViewEmpty, CCoinsViewBacked, CCoinsViewCache, and CCoinsViewDB.
|
pure virtual |
Get a cursor to iterate over the whole state. Implementations may return nullptr.
Implemented in CoinsViewEmpty, CCoinsViewBacked, CCoinsViewCache, and CCoinsViewDB.
|
pure virtual |
Estimate database size.
Implemented in CoinsViewEmpty, CCoinsViewBacked, and CCoinsViewDB.
|
pure virtual |
Retrieve the block hash whose state this CCoinsView currently represents.
Implemented in CoinsViewEmpty, CCoinsViewBacked, CCoinsViewCache, and CCoinsViewDB.
Retrieve the Coin (unspent transaction output) for a given outpoint.
May populate the cache. Use PeekCoin() to perform a non-caching lookup.
Implemented in CoinsViewEmpty, CCoinsViewBacked, CCoinsViewCache, CCoinsViewErrorCatcher, CCoinsViewDB, and CCoinsViewMemPool.
|
pure 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.
Implemented in CoinsViewEmpty, CCoinsViewBacked, and CCoinsViewDB.
|
pure virtual |
Just check whether a given outpoint is unspent.
May populate the cache. Use PeekCoin() to perform a non-caching lookup.
Implemented in CoinsViewEmpty, CCoinsViewBacked, CCoinsViewCache, CCoinsViewErrorCatcher, and CCoinsViewDB.
Retrieve the Coin (unspent transaction output) for a given outpoint, without caching results.
Does not populate the cache. Use GetCoin() to cache the result.
Implemented in CoinsViewEmpty, CCoinsViewBacked, CCoinsViewCache, CCoinsViewErrorCatcher, and CCoinsViewDB.