Changeset View
Changeset View
Standalone View
Standalone View
src/test/undo_tests.cpp
Show All 11 Lines | |||||
#include <boost/test/unit_test.hpp> | #include <boost/test/unit_test.hpp> | ||||
BOOST_FIXTURE_TEST_SUITE(undo_tests, BasicTestingSetup) | BOOST_FIXTURE_TEST_SUITE(undo_tests, BasicTestingSetup) | ||||
static void UpdateUTXOSet(const CBlock &block, CCoinsViewCache &view, | static void UpdateUTXOSet(const CBlock &block, CCoinsViewCache &view, | ||||
CBlockUndo &blockundo, | CBlockUndo &blockundo, | ||||
const CChainParams &chainparams, uint32_t nHeight) { | const CChainParams &chainparams, uint32_t nHeight) { | ||||
auto &coinbaseTx = *block.vtx[0]; | auto &coinbaseTx = *block.vtx[0]; | ||||
UpdateCoins(coinbaseTx, view, nHeight); | UpdateCoins(view, coinbaseTx, nHeight); | ||||
for (size_t i = 1; i < block.vtx.size(); i++) { | for (size_t i = 1; i < block.vtx.size(); i++) { | ||||
auto &tx = *block.vtx[1]; | auto &tx = *block.vtx[1]; | ||||
blockundo.vtxundo.push_back(CTxUndo()); | blockundo.vtxundo.push_back(CTxUndo()); | ||||
UpdateCoins(tx, view, blockundo.vtxundo.back(), nHeight); | UpdateCoins(view, tx, blockundo.vtxundo.back(), nHeight); | ||||
} | } | ||||
view.SetBestBlock(block.GetHash()); | view.SetBestBlock(block.GetHash()); | ||||
} | } | ||||
static void UndoBlock(const CBlock &block, CCoinsViewCache &view, | static void UndoBlock(const CBlock &block, CCoinsViewCache &view, | ||||
const CBlockUndo &blockUndo, | const CBlockUndo &blockUndo, | ||||
const CChainParams &chainparams, uint32_t nHeight) { | const CChainParams &chainparams, uint32_t nHeight) { | ||||
▲ Show 20 Lines • Show All 63 Lines • Show Last 20 Lines |