mirror of
https://github.com/monero-project/monero.git
synced 2024-11-18 10:01:02 +00:00
Initialize transaction history if empty
This commit is contained in:
parent
85f5e73d9c
commit
db3282cdf0
3 changed files with 11 additions and 2 deletions
|
@ -79,6 +79,9 @@ std::vector<TransactionInfo *> TransactionHistoryImpl::getAll() const
|
||||||
|
|
||||||
void TransactionHistoryImpl::refresh()
|
void TransactionHistoryImpl::refresh()
|
||||||
{
|
{
|
||||||
|
// multithreaded access:
|
||||||
|
boost::lock_guard<boost::mutex> guarg(m_refreshMutex);
|
||||||
|
|
||||||
// TODO: configurable values;
|
// TODO: configurable values;
|
||||||
uint64_t min_height = 0;
|
uint64_t min_height = 0;
|
||||||
uint64_t max_height = (uint64_t)-1;
|
uint64_t max_height = (uint64_t)-1;
|
||||||
|
@ -88,8 +91,6 @@ void TransactionHistoryImpl::refresh()
|
||||||
delete t;
|
delete t;
|
||||||
m_history.clear();
|
m_history.clear();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// transactions are stored in wallet2:
|
// transactions are stored in wallet2:
|
||||||
// - confirmed_transfer_details - out transfers
|
// - confirmed_transfer_details - out transfers
|
||||||
// - unconfirmed_transfer_details - pending out transfers
|
// - unconfirmed_transfer_details - pending out transfers
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
|
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
|
||||||
|
|
||||||
#include "wallet/wallet2_api.h"
|
#include "wallet/wallet2_api.h"
|
||||||
|
#include <boost/thread/mutex.hpp>
|
||||||
|
|
||||||
namespace Bitmonero {
|
namespace Bitmonero {
|
||||||
|
|
||||||
|
@ -51,6 +52,7 @@ private:
|
||||||
// TransactionHistory is responsible of memory management
|
// TransactionHistory is responsible of memory management
|
||||||
std::vector<TransactionInfo*> m_history;
|
std::vector<TransactionInfo*> m_history;
|
||||||
WalletImpl *m_wallet;
|
WalletImpl *m_wallet;
|
||||||
|
boost::mutex m_refreshMutex;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -723,6 +723,12 @@ void WalletImpl::doRefresh()
|
||||||
boost::lock_guard<boost::mutex> guarg(m_refreshMutex2);
|
boost::lock_guard<boost::mutex> guarg(m_refreshMutex2);
|
||||||
try {
|
try {
|
||||||
m_wallet->refresh();
|
m_wallet->refresh();
|
||||||
|
// assuming if we have empty history, it wasn't initialized yet
|
||||||
|
// for futher history changes client need to update history in
|
||||||
|
// "on_money_received" and "on_money_sent" callbacks
|
||||||
|
if (m_history->count() == 0) {
|
||||||
|
m_history->refresh();
|
||||||
|
}
|
||||||
} catch (const std::exception &e) {
|
} catch (const std::exception &e) {
|
||||||
m_status = Status_Error;
|
m_status = Status_Error;
|
||||||
m_errorString = e.what();
|
m_errorString = e.what();
|
||||||
|
|
Loading…
Reference in a new issue