diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index 1656089c..80b8da1f 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -1058,6 +1058,9 @@ bool wallet2::store_keys(const std::string& keys_file_name, const std::string& p value2.SetInt(m_refresh_type); json.AddMember("refresh_type", value2, json.GetAllocator()); + value2.SetUint64(m_refresh_from_block_height); + json.AddMember("refresh_height", value2, json.GetAllocator()); + // Serialize the JSON object rapidjson::StringBuffer buffer; rapidjson::Writer writer(buffer); @@ -1164,6 +1167,9 @@ bool wallet2::load_keys(const std::string& keys_file_name, const std::string& pa else LOG_PRINT_L0("Unknown refresh-type value (" << field_refresh_type << "), using default"); } + GET_FIELD_FROM_JSON_RETURN_ON_ERROR(json, refresh_height, uint64_t, Uint64, false); + if (field_refresh_height_found) + m_refresh_from_block_height = field_refresh_height; } const cryptonote::account_keys& keys = m_account.get_keys(); diff --git a/src/wallet/wallet2.h b/src/wallet/wallet2.h index 846a86ef..c2d387ac 100644 --- a/src/wallet/wallet2.h +++ b/src/wallet/wallet2.h @@ -308,6 +308,7 @@ namespace tools template inline void serialize(t_archive &a, const unsigned int ver) { + uint64_t dummy_refresh_height = 0; // moved to keys file if(ver < 5) return; a & m_blockchain; @@ -328,7 +329,7 @@ namespace tools a & m_confirmed_txs; if(ver < 11) return; - a & m_refresh_from_block_height; + a & dummy_refresh_height; if(ver < 12) return; a & m_tx_notes;