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(); } };