Improve consistency between on_money_received and on_money_received_unconfirmed
unconfirmed solely uses a - b, and received now accepts b so it can provide more detailed logs on what occurred (printing a - b, yet with a and b).
This commit is contained in:
parent
9750e1fa10
commit
da0715e503
@ -5673,14 +5673,18 @@ void simple_wallet::on_new_block(uint64_t height, const cryptonote::block& block
|
|||||||
m_refresh_progress_reporter.update(height, false);
|
m_refresh_progress_reporter.update(height, false);
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
void simple_wallet::on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index, bool is_change, uint64_t unlock_time)
|
void simple_wallet::on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, uint64_t burnt, const cryptonote::subaddress_index& subaddr_index, bool is_change, uint64_t unlock_time)
|
||||||
{
|
{
|
||||||
if (m_locked)
|
if (m_locked)
|
||||||
return;
|
return;
|
||||||
|
std::stringstream burn;
|
||||||
|
if (burnt != 0) {
|
||||||
|
burn << " (" << print_money(amount) << " yet " << print_money(burnt) << " was burnt)";
|
||||||
|
}
|
||||||
message_writer(console_color_green, false) << "\r" <<
|
message_writer(console_color_green, false) << "\r" <<
|
||||||
tr("Height ") << height << ", " <<
|
tr("Height ") << height << ", " <<
|
||||||
tr("txid ") << txid << ", " <<
|
tr("txid ") << txid << ", " <<
|
||||||
print_money(amount) << ", " <<
|
print_money(amount - burnt) << burn.str() << ", " <<
|
||||||
tr("idx ") << subaddr_index;
|
tr("idx ") << subaddr_index;
|
||||||
|
|
||||||
const uint64_t warn_height = m_wallet->nettype() == TESTNET ? 1000000 : m_wallet->nettype() == STAGENET ? 50000 : 1650000;
|
const uint64_t warn_height = m_wallet->nettype() == TESTNET ? 1000000 : m_wallet->nettype() == STAGENET ? 50000 : 1650000;
|
||||||
|
@ -346,7 +346,7 @@ namespace cryptonote
|
|||||||
|
|
||||||
//----------------- i_wallet2_callback ---------------------
|
//----------------- i_wallet2_callback ---------------------
|
||||||
virtual void on_new_block(uint64_t height, const cryptonote::block& block);
|
virtual void on_new_block(uint64_t height, const cryptonote::block& block);
|
||||||
virtual void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index, bool is_change, uint64_t unlock_time);
|
virtual void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, uint64_t burnt, const cryptonote::subaddress_index& subaddr_index, bool is_change, uint64_t unlock_time);
|
||||||
virtual void on_unconfirmed_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index);
|
virtual void on_unconfirmed_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index);
|
||||||
virtual void on_money_spent(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& in_tx, uint64_t amount, const cryptonote::transaction& spend_tx, const cryptonote::subaddress_index& subaddr_index);
|
virtual void on_money_spent(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& in_tx, uint64_t amount, const cryptonote::transaction& spend_tx, const cryptonote::subaddress_index& subaddr_index);
|
||||||
virtual void on_skip_transaction(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx);
|
virtual void on_skip_transaction(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx);
|
||||||
|
@ -154,18 +154,20 @@ struct Wallet2CallbackImpl : public tools::i_wallet2_callback
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index, bool is_change, uint64_t unlock_time)
|
virtual void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, uint64_t burnt, const cryptonote::subaddress_index& subaddr_index, bool is_change, uint64_t unlock_time)
|
||||||
{
|
{
|
||||||
|
|
||||||
std::string tx_hash = epee::string_tools::pod_to_hex(txid);
|
std::string tx_hash = epee::string_tools::pod_to_hex(txid);
|
||||||
|
|
||||||
LOG_PRINT_L3(__FUNCTION__ << ": money received. height: " << height
|
LOG_PRINT_L3(__FUNCTION__ << ": money received. height: " << height
|
||||||
<< ", tx: " << tx_hash
|
<< ", tx: " << tx_hash
|
||||||
<< ", amount: " << print_money(amount)
|
<< ", amount: " << print_money(amount - burnt),
|
||||||
|
<< ", burnt: " << print_money(burnt),
|
||||||
|
<< ", raw_output_value: " << print_money(amount),
|
||||||
<< ", idx: " << subaddr_index);
|
<< ", idx: " << subaddr_index);
|
||||||
// do not signal on received tx if wallet is not syncronized completely
|
// do not signal on received tx if wallet is not syncronized completely
|
||||||
if (m_listener && m_wallet->synchronized()) {
|
if (m_listener && m_wallet->synchronized()) {
|
||||||
m_listener->moneyReceived(tx_hash, amount);
|
m_listener->moneyReceived(tx_hash, amount - burnt);
|
||||||
m_listener->updated();
|
m_listener->updated();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2208,7 +2208,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
|
|||||||
}
|
}
|
||||||
LOG_PRINT_L0("Received money: " << print_money(td.amount()) << ", with tx: " << txid);
|
LOG_PRINT_L0("Received money: " << print_money(td.amount()) << ", with tx: " << txid);
|
||||||
if (0 != m_callback)
|
if (0 != m_callback)
|
||||||
m_callback->on_money_received(height, txid, tx, td.m_amount, td.m_subaddr_index, spends_one_of_ours(tx), td.m_tx.unlock_time);
|
m_callback->on_money_received(height, txid, tx, td.m_amount, 0, td.m_subaddr_index, spends_one_of_ours(tx), td.m_tx.unlock_time);
|
||||||
}
|
}
|
||||||
total_received_1 += amount;
|
total_received_1 += amount;
|
||||||
notify = true;
|
notify = true;
|
||||||
@ -2242,7 +2242,8 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
|
|||||||
tx_money_got_in_outs[tx_scan_info[o].received->index] -= m_transfers[kit->second].amount();
|
tx_money_got_in_outs[tx_scan_info[o].received->index] -= m_transfers[kit->second].amount();
|
||||||
|
|
||||||
uint64_t amount = tx.vout[o].amount ? tx.vout[o].amount : tx_scan_info[o].amount;
|
uint64_t amount = tx.vout[o].amount ? tx.vout[o].amount : tx_scan_info[o].amount;
|
||||||
uint64_t extra_amount = amount - m_transfers[kit->second].amount();
|
uint64_t burnt = m_transfers[kit->second].amount();
|
||||||
|
uint64_t extra_amount = amount - burnt;
|
||||||
if (!pool)
|
if (!pool)
|
||||||
{
|
{
|
||||||
transfer_details &td = m_transfers[kit->second];
|
transfer_details &td = m_transfers[kit->second];
|
||||||
@ -2285,7 +2286,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
|
|||||||
|
|
||||||
LOG_PRINT_L0("Received money: " << print_money(td.amount()) << ", with tx: " << txid);
|
LOG_PRINT_L0("Received money: " << print_money(td.amount()) << ", with tx: " << txid);
|
||||||
if (0 != m_callback)
|
if (0 != m_callback)
|
||||||
m_callback->on_money_received(height, txid, tx, td.m_amount, td.m_subaddr_index, spends_one_of_ours(tx), td.m_tx.unlock_time);
|
m_callback->on_money_received(height, txid, tx, td.m_amount, burnt, td.m_subaddr_index, spends_one_of_ours(tx), td.m_tx.unlock_time);
|
||||||
}
|
}
|
||||||
total_received_1 += extra_amount;
|
total_received_1 += extra_amount;
|
||||||
notify = true;
|
notify = true;
|
||||||
|
@ -137,7 +137,7 @@ private:
|
|||||||
public:
|
public:
|
||||||
// Full wallet callbacks
|
// Full wallet callbacks
|
||||||
virtual void on_new_block(uint64_t height, const cryptonote::block& block) {}
|
virtual void on_new_block(uint64_t height, const cryptonote::block& block) {}
|
||||||
virtual void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index, bool is_change, uint64_t unlock_time) {}
|
virtual void on_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, uint64_t burnt, const cryptonote::subaddress_index& subaddr_index, bool is_change, uint64_t unlock_time) {}
|
||||||
virtual void on_unconfirmed_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index) {}
|
virtual void on_unconfirmed_money_received(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx, uint64_t amount, const cryptonote::subaddress_index& subaddr_index) {}
|
||||||
virtual void on_money_spent(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& in_tx, uint64_t amount, const cryptonote::transaction& spend_tx, const cryptonote::subaddress_index& subaddr_index) {}
|
virtual void on_money_spent(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& in_tx, uint64_t amount, const cryptonote::transaction& spend_tx, const cryptonote::subaddress_index& subaddr_index) {}
|
||||||
virtual void on_skip_transaction(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx) {}
|
virtual void on_skip_transaction(uint64_t height, const crypto::hash &txid, const cryptonote::transaction& tx) {}
|
||||||
|
Loading…
Reference in New Issue
Block a user