Sync hashchain bug fixed
This commit is contained in:
parent
6bc0c7e685
commit
219548f299
|
@ -2265,11 +2265,10 @@ void wallet2::pull_and_parse_next_blocks(uint64_t start_height, uint64_t &blocks
|
||||||
THROW_WALLET_EXCEPTION_IF(prev_blocks.size() != prev_parsed_blocks.size(), error::wallet_internal_error, "size mismatch");
|
THROW_WALLET_EXCEPTION_IF(prev_blocks.size() != prev_parsed_blocks.size(), error::wallet_internal_error, "size mismatch");
|
||||||
|
|
||||||
// prepend the last 3 blocks, should be enough to guard against a block or two's reorg
|
// prepend the last 3 blocks, should be enough to guard against a block or two's reorg
|
||||||
std::vector<parsed_block>::const_reverse_iterator i = prev_parsed_blocks.rbegin();
|
auto s = std::next(prev_parsed_blocks.rbegin(), std::min((size_t)3, prev_parsed_blocks.size())).base();
|
||||||
for (size_t n = 0; n < std::min((size_t)3, prev_parsed_blocks.size()); ++n)
|
for (; s != prev_parsed_blocks.end(); ++s)
|
||||||
{
|
{
|
||||||
short_chain_history.push_front(i->hash);
|
short_chain_history.push_front(s->hash);
|
||||||
++i;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// pull the new blocks
|
// pull the new blocks
|
||||||
|
|
Loading…
Reference in New Issue