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
This commit is contained in:
parent
b219c24c3a
commit
62511df622
|
@ -2498,10 +2498,6 @@ void wallet2::refresh(bool trusted_daemon, uint64_t start_height, uint64_t & blo
|
||||||
break;
|
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;
|
first = false;
|
||||||
|
|
||||||
// handle error from async fetching thread
|
// 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");
|
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&)
|
catch (const std::exception&)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue