mirror of
https://github.com/monero-project/monero.git
synced 2024-11-18 10:01:02 +00:00
wallet2: refresh() lightwallet support
This commit is contained in:
parent
f44d156cbd
commit
2e692fc05a
1 changed files with 34 additions and 0 deletions
|
@ -1839,6 +1839,40 @@ bool wallet2::delete_address_book_row(std::size_t row_id) {
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
void wallet2::refresh(uint64_t start_height, uint64_t & blocks_fetched, bool& received_money)
|
void wallet2::refresh(uint64_t start_height, uint64_t & blocks_fetched, bool& received_money)
|
||||||
{
|
{
|
||||||
|
if(m_light_wallet) {
|
||||||
|
|
||||||
|
// MyMonero get_address_info needs to be called occasionally to trigger wallet sync.
|
||||||
|
// This call is not really needed for other purposes and can be removed if mymonero changes their backend.
|
||||||
|
cryptonote::COMMAND_RPC_GET_ADDRESS_INFO::response res;
|
||||||
|
|
||||||
|
// Get basic info
|
||||||
|
if(light_wallet_get_address_info(res)) {
|
||||||
|
// Last stored block height
|
||||||
|
uint64_t prev_height = m_light_wallet_blockchain_height;
|
||||||
|
// Update lw heights
|
||||||
|
m_light_wallet_scanned_block_height = res.scanned_block_height;
|
||||||
|
m_light_wallet_blockchain_height = res.blockchain_height;
|
||||||
|
m_local_bc_height = res.blockchain_height;
|
||||||
|
// If new height - call new_block callback
|
||||||
|
if(m_light_wallet_blockchain_height != prev_height)
|
||||||
|
{
|
||||||
|
MDEBUG("new block since last time!");
|
||||||
|
cryptonote::block dummy;
|
||||||
|
m_callback->on_new_block(m_light_wallet_blockchain_height - 1, dummy);
|
||||||
|
}
|
||||||
|
m_light_wallet_connected = true;
|
||||||
|
MDEBUG("lw scanned block height: " << m_light_wallet_scanned_block_height);
|
||||||
|
MDEBUG("lw blockchain height: " << m_light_wallet_blockchain_height);
|
||||||
|
MDEBUG(m_light_wallet_blockchain_height-m_light_wallet_scanned_block_height << " blocks behind");
|
||||||
|
// TODO: add wallet created block info
|
||||||
|
|
||||||
|
light_wallet_get_address_txs();
|
||||||
|
} else
|
||||||
|
m_light_wallet_connected = false;
|
||||||
|
|
||||||
|
// Lighwallet refresh done
|
||||||
|
return;
|
||||||
|
}
|
||||||
received_money = false;
|
received_money = false;
|
||||||
blocks_fetched = 0;
|
blocks_fetched = 0;
|
||||||
uint64_t added_blocks = 0;
|
uint64_t added_blocks = 0;
|
||||||
|
|
Loading…
Reference in a new issue