blockchain: fix long term weight addition on pop/init

This commit is contained in:
moneromooo-monero 2019-02-18 12:44:52 +00:00
parent a8e752d383
commit 1d62855044
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
2 changed files with 5 additions and 10 deletions

View file

@ -512,7 +512,8 @@ bool Blockchain::init(BlockchainDB* db, const network_type nettype, bool offline
const uint64_t nblocks = std::min<uint64_t>(m_long_term_block_weights.capacity(), db_height);
while (m_long_term_block_weights.size() < nblocks)
{
m_long_term_block_weights.push_front(db_height - 1 - m_long_term_block_weights.size());
uint64_t weight = m_db->get_block_long_term_weight(db_height - 1 - m_long_term_block_weights.size());
m_long_term_block_weights.push_front(weight);
}
m_long_term_block_weights_height = db_height;
@ -3646,7 +3647,8 @@ void Blockchain::pop_from_long_term_block_weights()
if (m_long_term_block_weights_height + 1 > m_long_term_block_weights.capacity())
{
uint64_t block_height = m_long_term_block_weights_height - m_long_term_block_weights.capacity() + 1;
m_long_term_block_weights.push_front(block_height);
uint64_t weight = m_db->get_block_long_term_weight(block_height);
m_long_term_block_weights.push_front(weight);
}
}
//------------------------------------------------------------------