diff options
author | luigi1111 <luigi1111w@gmail.com> | 2023-04-25 11:13:44 -0400 |
---|---|---|
committer | luigi1111 <luigi1111w@gmail.com> | 2023-04-25 11:13:44 -0400 |
commit | aa5382c4703954470c657a890594ea72a7d4a11e (patch) | |
tree | e6a1cdd4dc0d9c89667be5134809667ec1d4a1e6 | |
parent | Merge pull request #8698 (diff) | |
parent | wallet2: add on_reorg callback (diff) | |
download | monero-aa5382c4703954470c657a890594ea72a7d4a11e.tar.xz |
Merge pull request #8716
9c7d28b wallet2: add on_reorg callback (Crypto City)
-rw-r--r-- | src/wallet/wallet2.cpp | 5 | ||||
-rw-r--r-- | src/wallet/wallet2.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index 5136b71f0..6c474abc7 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -3980,7 +3980,7 @@ void wallet2::detach_blockchain(uint64_t height, std::map<std::pair<uint64_t, ui transfers_detached = std::distance(it, m_transfers.end()); m_transfers.erase(it, m_transfers.end()); - size_t blocks_detached = m_blockchain.size() - height; + const uint64_t blocks_detached = m_blockchain.size() - height; m_blockchain.crop(height); for (auto it = m_payments.begin(); it != m_payments.end(); ) @@ -3999,6 +3999,9 @@ void wallet2::detach_blockchain(uint64_t height, std::map<std::pair<uint64_t, ui ++it; } + if (m_callback) + m_callback->on_reorg(height, blocks_detached, transfers_detached); + LOG_PRINT_L0("Detached blockchain on height " << height << ", transfers detached " << transfers_detached << ", blocks detached " << blocks_detached); } //---------------------------------------------------------------------------------------------------- diff --git a/src/wallet/wallet2.h b/src/wallet/wallet2.h index 230eb77e7..142c8edea 100644 --- a/src/wallet/wallet2.h +++ b/src/wallet/wallet2.h @@ -139,6 +139,7 @@ private: public: // Full wallet callbacks virtual void on_new_block(uint64_t height, const cryptonote::block& block) {} + virtual void on_reorg(uint64_t height, uint64_t blocks_detached, size_t transfers_detached) {} 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_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) {} |