From dd144b14bcdcd7679d201e762a1165dcdea13c29 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Tue, 13 Dec 2016 02:13:23 +0000 Subject: [PATCH] blockchain: fix reorganizations past a hard fork boundary After popping blocks from the old chain, the hard fork object's notion of the current version was not in line with the new height, causing the first blocks from the new chain to be rejected due to a false expection of a newer version. --- src/cryptonote_core/blockchain.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp index efda3f5c..70b2ccc7 100644 --- a/src/cryptonote_core/blockchain.cpp +++ b/src/cryptonote_core/blockchain.cpp @@ -759,6 +759,9 @@ bool Blockchain::rollback_blockchain_switching(std::list& original_chain, pop_block_from_blockchain(); } + // make sure the hard fork object updates its current version + m_hardfork->reorganize_from_chain_height(rollback_height); + //return back original chain for (auto& bl : original_chain) {