From bf66d77a8d86faa4cbbc22147b24ebc9581ebb5d Mon Sep 17 00:00:00 2001 From: Gregory Sanders Date: Mon, 17 Dec 2018 11:37:44 -0500 Subject: [PATCH] Add Read/Write functions to txdb for PAK lists --- src/txdb.cpp | 11 +++++++++++ src/txdb.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/txdb.cpp b/src/txdb.cpp index 4a2a5502fe..da4a63a905 100644 --- a/src/txdb.cpp +++ b/src/txdb.cpp @@ -35,6 +35,7 @@ static const char DB_LAST_BLOCK = 'l'; // ELEMENTS: static const char DB_PEGIN_FLAG = 'w'; static const char DB_INVALID_BLOCK_Q = 'q'; +static const char DB_PAK = 'p'; namespace { @@ -279,6 +280,16 @@ bool CBlockTreeDB::WriteInvalidBlockQueue(const std::vector &vBlocks) { return Write(std::make_pair(DB_INVALID_BLOCK_Q, uint256S("0")), vBlocks); } +bool CBlockTreeDB::ReadPAKList(std::vector >& offline_list, std::vector >& online_list, bool& reject) +{ + return Read(std::make_pair(DB_PAK, uint256S("1")), offline_list) && Read(std::make_pair(DB_PAK, uint256S("2")), online_list) && Read(std::make_pair(DB_PAK, uint256S("3")), reject); +} + +bool CBlockTreeDB::WritePAKList(const std::vector >& offline_list, const std::vector >& online_list, bool reject) +{ + return Write(std::make_pair(DB_PAK, uint256S("1")), offline_list) && Write(std::make_pair(DB_PAK, uint256S("2")), online_list) && Write(std::make_pair(DB_PAK, uint256S("3")), reject); +} + bool CBlockTreeDB::LoadBlockIndexGuts(const Consensus::Params& consensusParams, std::function insertBlockIndex) { std::unique_ptr pcursor(NewIterator()); diff --git a/src/txdb.h b/src/txdb.h index 52117dce2a..19eec51587 100644 --- a/src/txdb.h +++ b/src/txdb.h @@ -101,6 +101,8 @@ public: // ELEMENTS: bool ReadInvalidBlockQueue(std::vector &vBlocks); bool WriteInvalidBlockQueue(const std::vector &vBlocks); + bool ReadPAKList(std::vector >& offline_list, std::vector >& online_list, bool& reject); + bool WritePAKList(const std::vector >& offline_list, const std::vector >& online_list, bool reject); }; #endif // BITCOIN_TXDB_H