wallet2: fix refresh retry when a block/tx fails to parse

It would switch to a new set of blocks and fail, getting out of sync
with the hash chain in the process
release-v0.5.1
moneromooo-monero 6 years ago
parent b219c24c3a
commit 62511df622
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

@ -2498,10 +2498,6 @@ void wallet2::refresh(bool trusted_daemon, uint64_t start_height, uint64_t & blo
break;
}
// switch to the new blocks from the daemon
blocks_start_height = next_blocks_start_height;
blocks = std::move(next_blocks);
parsed_blocks = std::move(next_parsed_blocks);
first = false;
// handle error from async fetching thread
@ -2509,6 +2505,11 @@ void wallet2::refresh(bool trusted_daemon, uint64_t start_height, uint64_t & blo
{
throw std::runtime_error("proxy exception in refresh thread");
}
// switch to the new blocks from the daemon
blocks_start_height = next_blocks_start_height;
blocks = std::move(next_blocks);
parsed_blocks = std::move(next_parsed_blocks);
}
catch (const std::exception&)
{

Loading…
Cancel
Save