aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2024-02-24 09:58:30 -0500
committerluigi1111 <luigi1111w@gmail.com>2024-02-24 09:58:30 -0500
commit81f113dd8c4f88bf963b5444df0ed5b9942d6bc6 (patch)
tree30ad0f6750c7e3c8fce67e84cea12ccb836e5000 /src
parentMerge pull request #8945 (diff)
parentwallet2: call on_reorg callback in handle_reorg (diff)
downloadmonero-81f113dd8c4f88bf963b5444df0ed5b9942d6bc6.tar.xz
Merge pull request #9008
9a89e2d wallet2: call on_reorg callback in handle_reorg (j-berman) 1df5630 wallet2: add on_reorg callback (Crypto City)
Diffstat (limited to 'src')
-rw-r--r--src/wallet/wallet2.cpp5
-rw-r--r--src/wallet/wallet2.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp
index 96a6c6d71..34489699b 100644
--- a/src/wallet/wallet2.cpp
+++ b/src/wallet/wallet2.cpp
@@ -4324,7 +4324,10 @@ void wallet2::handle_reorg(uint64_t height, std::map<std::pair<uint64_t, uint64_
// C
THROW_WALLET_EXCEPTION_IF(height < m_blockchain.offset() && m_blockchain.size() > m_blockchain.offset(),
error::wallet_internal_error, "Daemon claims reorg below last checkpoint");
- detach_blockchain(height, output_tracker_cache);
+ detached_blockchain_data dbd = detach_blockchain(height, output_tracker_cache);
+
+ if (m_callback)
+ m_callback->on_reorg(height, dbd.detached_blockchain.size(), dbd.detached_tx_hashes.size());
}
//----------------------------------------------------------------------------------------------------
bool wallet2::deinit()
diff --git a/src/wallet/wallet2.h b/src/wallet/wallet2.h
index 9dcece0af..3144a8fd3 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) {}