From 8783cc8056db3adcec85be01683d716aea4d5130 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C5=91rinc?= Date: Fri, 20 Feb 2026 15:41:43 +0100 Subject: [PATCH] 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`. --- src/coins.cpp | 11 ----------- src/coins.h | 22 ++++++++++++---------- 2 files changed, 12 insertions(+), 21 deletions(-) diff --git a/src/coins.cpp b/src/coins.cpp index 2eadfde95d6..c403e006c85 100644 --- a/src/coins.cpp +++ b/src/coins.cpp @@ -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 CCoinsViewBacked::GetCoin(const COutPoint& outpoint) const { return base->GetCoin(outpoint); } -std::optional 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 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 CCoinsViewBacked::Cursor() const { return base->Cursor(); } -size_t CCoinsViewBacked::EstimateSize() const { return base->EstimateSize(); } - CoinsViewEmpty& CoinsViewEmpty::Get() { static CoinsViewEmpty instance; diff --git a/src/coins.h b/src/coins.h index c18f7e10f93..e1f1bee757c 100644 --- a/src/coins.h +++ b/src/coins.h @@ -374,16 +374,18 @@ protected: CCoinsView* base; public: - CCoinsViewBacked(CCoinsView* in_view); - std::optional GetCoin(const COutPoint& outpoint) const override; - std::optional PeekCoin(const COutPoint& outpoint) const override; - bool HaveCoin(const COutPoint& outpoint) const override; - uint256 GetBestBlock() const override; - std::vector GetHeadBlocks() const override; - void SetBackend(CCoinsView& in_view); - void BatchWrite(CoinsViewCacheCursor& cursor, const uint256& block_hash) override; - std::unique_ptr 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 GetCoin(const COutPoint& outpoint) const override { return base->GetCoin(outpoint); } + std::optional 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 GetHeadBlocks() const override { return base->GetHeadBlocks(); } + void BatchWrite(CoinsViewCacheCursor& cursor, const uint256& block_hash) override { base->BatchWrite(cursor, block_hash); } + std::unique_ptr Cursor() const override { return base->Cursor(); } + size_t EstimateSize() const override { return base->EstimateSize(); } };