refactor: inline CCoinsViewBacked implementation

`CCoinsViewBacked` is a simple delegating wrapper around another `CCoinsView`.

Inline its one-line overrides in `coins.h` so the view hierarchy can be read without jumping between `coins.h` and `coins.cpp`.
This commit is contained in:
Lőrinc
2026-02-20 15:41:43 +01:00
parent 86296f276d
commit 8783cc8056
2 changed files with 12 additions and 21 deletions

View File

@@ -14,17 +14,6 @@ TRACEPOINT_SEMAPHORE(utxocache, add);
TRACEPOINT_SEMAPHORE(utxocache, spent);
TRACEPOINT_SEMAPHORE(utxocache, uncache);
CCoinsViewBacked::CCoinsViewBacked(CCoinsView* in_view) : base(in_view) { }
std::optional<Coin> CCoinsViewBacked::GetCoin(const COutPoint& outpoint) const { return base->GetCoin(outpoint); }
std::optional<Coin> CCoinsViewBacked::PeekCoin(const COutPoint& outpoint) const { return base->PeekCoin(outpoint); }
bool CCoinsViewBacked::HaveCoin(const COutPoint& outpoint) const { return base->HaveCoin(outpoint); }
uint256 CCoinsViewBacked::GetBestBlock() const { return base->GetBestBlock(); }
std::vector<uint256> CCoinsViewBacked::GetHeadBlocks() const { return base->GetHeadBlocks(); }
void CCoinsViewBacked::SetBackend(CCoinsView& in_view) { base = &in_view; }
void CCoinsViewBacked::BatchWrite(CoinsViewCacheCursor& cursor, const uint256& block_hash) { base->BatchWrite(cursor, block_hash); }
std::unique_ptr<CCoinsViewCursor> CCoinsViewBacked::Cursor() const { return base->Cursor(); }
size_t CCoinsViewBacked::EstimateSize() const { return base->EstimateSize(); }
CoinsViewEmpty& CoinsViewEmpty::Get()
{
static CoinsViewEmpty instance;

View File

@@ -374,16 +374,18 @@ protected:
CCoinsView* base;
public:
CCoinsViewBacked(CCoinsView* in_view);
std::optional<Coin> GetCoin(const COutPoint& outpoint) const override;
std::optional<Coin> PeekCoin(const COutPoint& outpoint) const override;
bool HaveCoin(const COutPoint& outpoint) const override;
uint256 GetBestBlock() const override;
std::vector<uint256> GetHeadBlocks() const override;
void SetBackend(CCoinsView& in_view);
void BatchWrite(CoinsViewCacheCursor& cursor, const uint256& block_hash) override;
std::unique_ptr<CCoinsViewCursor> Cursor() const override;
size_t EstimateSize() const override;
explicit CCoinsViewBacked(CCoinsView* in_view) : base{Assert(in_view)} {}
void SetBackend(CCoinsView& in_view) { base = &in_view; }
std::optional<Coin> GetCoin(const COutPoint& outpoint) const override { return base->GetCoin(outpoint); }
std::optional<Coin> PeekCoin(const COutPoint& outpoint) const override { return base->PeekCoin(outpoint); }
bool HaveCoin(const COutPoint& outpoint) const override { return base->HaveCoin(outpoint); }
uint256 GetBestBlock() const override { return base->GetBestBlock(); }
std::vector<uint256> GetHeadBlocks() const override { return base->GetHeadBlocks(); }
void BatchWrite(CoinsViewCacheCursor& cursor, const uint256& block_hash) override { base->BatchWrite(cursor, block_hash); }
std::unique_ptr<CCoinsViewCursor> Cursor() const override { return base->Cursor(); }
size_t EstimateSize() const override { return base->EstimateSize(); }
};