Bitcoin ABC 0.30.7
P2P Digital Currency
|
CCoinsView backed by the coin database (chainstate/) More...
#include <txdb.h>
Public Member Functions | |
CCoinsViewDB (DBParams db_params, CoinsViewOptions options) | |
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... | |
BlockHash | GetBestBlock () const override |
Retrieve the block hash whose state this CCoinsView currently represents. More... | |
std::vector< BlockHash > | GetHeadBlocks () const override |
Retrieve the range of blocks that may have been only partially written. More... | |
bool | BatchWrite (CCoinsMap &mapCoins, const BlockHash &hashBlock, bool erase=true) override |
Do a bulk modification (multiple Coin changes + BestBlock change). More... | |
CCoinsViewCursor * | Cursor () const override |
Get a cursor to iterate over the whole state. More... | |
bool | Upgrade () |
Attempt to update from an older database format. More... | |
size_t | EstimateSize () const override |
Estimate database size (0 if not implemented) More... | |
void | ResizeCache (size_t new_cache_size) EXCLUSIVE_LOCKS_REQUIRED(cs_main) |
Dynamically alter the underlying leveldb cache size. More... | |
std::optional< fs::path > | StoragePath () |
Public Member Functions inherited from CCoinsView | |
virtual bool | GetCoin (const COutPoint &outpoint, Coin &coin) 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 BlockHash | GetBestBlock () const |
Retrieve the block hash whose state this CCoinsView currently represents. More... | |
virtual std::vector< BlockHash > | GetHeadBlocks () const |
Retrieve the range of blocks that may have been only partially written. More... | |
virtual bool | BatchWrite (CCoinsMap &mapCoins, const BlockHash &hashBlock, bool erase=true) |
Do a bulk modification (multiple Coin changes + BestBlock change). More... | |
virtual CCoinsViewCursor * | Cursor () const |
Get a cursor to iterate over the whole state. More... | |
virtual | ~CCoinsView () |
As we use CCoinsViews polymorphically, have a virtual destructor. More... | |
virtual size_t | EstimateSize () const |
Estimate database size (0 if not implemented) More... | |
Protected Attributes | |
DBParams | m_db_params |
CoinsViewOptions | m_options |
std::unique_ptr< CDBWrapper > | m_db |
CCoinsView backed by the coin database (chainstate/)
|
explicit |
|
overridevirtual |
Do a bulk modification (multiple Coin changes + BestBlock change).
The passed mapCoins can be modified.
Reimplemented from CCoinsView.
Definition at line 119 of file txdb.cpp.
|
overridevirtual |
Get a cursor to iterate over the whole state.
It seems that there are no "const iterators" for LevelDB. Since we only need read operations on it, use a const-cast to get around that restriction.
Reimplemented from CCoinsView.
Definition at line 208 of file txdb.cpp.
|
overridevirtual |
Estimate database size (0 if not implemented)
Reimplemented from CCoinsView.
|
overridevirtual |
Retrieve the block hash whose state this CCoinsView currently represents.
Reimplemented from CCoinsView.
Definition at line 103 of file txdb.cpp.
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.
|
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 111 of file txdb.cpp.
|
overridevirtual |
Just check whether a given outpoint is unspent.
Reimplemented from CCoinsView.
void CCoinsViewDB::ResizeCache | ( | size_t | new_cache_size | ) |
|
inline |
bool CCoinsViewDB::Upgrade | ( | ) |
|
protected |
|
protected |