aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJames O'Beirne <james.obeirne@pm.me>2021-04-23 13:29:53 -0400
committerJames O'Beirne <james.obeirne@pm.me>2021-04-26 13:22:37 -0400
commit91d93aac4e3fe6fff5ef492ed152c4d8fa6f2672 (patch)
tree19bd7d1b4a66cac0ab4139c93c487b678d18ae62 /src
parent931684b24a89aba884cb18c13fa67ccca339ee8c (diff)
downloadbitcoin-91d93aac4e3fe6fff5ef492ed152c4d8fa6f2672.tar.xz
validation: remove nchaintx from assumeutxo metadata
This value is no longer used and is instead specified statically in chainparams. This change means that previously generated snapshots will no longer be usable.
Diffstat (limited to 'src')
-rw-r--r--src/node/utxo_snapshot.h11
-rw-r--r--src/test/validation_chainstatemanager_tests.cpp14
2 files changed, 3 insertions, 22 deletions
diff --git a/src/node/utxo_snapshot.h b/src/node/utxo_snapshot.h
index 4767d49889..61292cdcc5 100644
--- a/src/node/utxo_snapshot.h
+++ b/src/node/utxo_snapshot.h
@@ -22,22 +22,15 @@ public:
//! during snapshot load to estimate progress of UTXO set reconstruction.
uint64_t m_coins_count = 0;
- //! Necessary to "fake" the base nChainTx so that we can estimate progress during
- //! initial block download for the assumeutxo chainstate.
- //!
- //! TODO: this is unused and should be removed.
- unsigned int m_nchaintx = 0;
-
SnapshotMetadata() { }
SnapshotMetadata(
const uint256& base_blockhash,
uint64_t coins_count,
unsigned int nchaintx) :
m_base_blockhash(base_blockhash),
- m_coins_count(coins_count),
- m_nchaintx(nchaintx) { }
+ m_coins_count(coins_count) { }
- SERIALIZE_METHODS(SnapshotMetadata, obj) { READWRITE(obj.m_base_blockhash, obj.m_coins_count, obj.m_nchaintx); }
+ SERIALIZE_METHODS(SnapshotMetadata, obj) { READWRITE(obj.m_base_blockhash, obj.m_coins_count); }
};
#endif // BITCOIN_NODE_UTXO_SNAPSHOT_H
diff --git a/src/test/validation_chainstatemanager_tests.cpp b/src/test/validation_chainstatemanager_tests.cpp
index 15fc9b7cbd..82e70b5cdc 100644
--- a/src/test/validation_chainstatemanager_tests.cpp
+++ b/src/test/validation_chainstatemanager_tests.cpp
@@ -266,16 +266,7 @@ BOOST_FIXTURE_TEST_CASE(chainstatemanager_activate_snapshot, TestChain100Setup)
metadata.m_base_blockhash = uint256::ONE;
}));
- constexpr int bad_nchaintx = 9999;
-
- BOOST_REQUIRE(CreateAndActivateUTXOSnapshot(
- m_node, m_path_root, [](CAutoFile& auto_infile, SnapshotMetadata& metadata) {
- // Provide an nChainTx that differs from the hardcoded one.
- //
- // Ultimately this malleation check should be removed when we remove
- // the now-unnecessary nChainTx from the user-specified snapshot metadata.
- metadata.m_nchaintx = bad_nchaintx;
- }));
+ BOOST_REQUIRE(CreateAndActivateUTXOSnapshot(m_node, m_path_root));
// Ensure our active chain is the snapshot chainstate.
BOOST_CHECK(!chainman.ActiveChainstate().m_from_snapshot_blockhash.IsNull());
@@ -286,10 +277,7 @@ BOOST_FIXTURE_TEST_CASE(chainstatemanager_activate_snapshot, TestChain100Setup)
const AssumeutxoData& au_data = *ExpectedAssumeutxo(snapshot_height, ::Params());
const CBlockIndex* tip = chainman.ActiveTip();
- // Ensure that, despite a bad nChainTx value being in the snapshot, activation
- // uses the hardcoded value from chainparams.
BOOST_CHECK_EQUAL(tip->nChainTx, au_data.nChainTx);
- BOOST_CHECK(tip->nChainTx != bad_nchaintx);
// To be checked against later when we try loading a subsequent snapshot.
uint256 loaded_snapshot_blockhash{*chainman.SnapshotBlockhash()};