From ec3d0ef1ac148d87f43cedc918d4a483d444cf96 Mon Sep 17 00:00:00 2001 From: pasta Date: Sat, 15 Aug 2026 12:48:04 -0500 Subject: [PATCH 1/2] feat(qt): identify masternode transactions in history Provider special transactions (ProRegTx, ProUpServTx, ProUpRegTx and ProUpRevTx) previously appeared in the Qt transaction list as generic sends/payments split across inputs and outputs. They are now classified and shown as single summarized Masternode Registration / Masternode Update records, with provider-specific detail fields (collateral, service address, owner/voting/payout destinations) in the transaction description. New transaction filter entries are appended after the existing ones so persisted filter indexes keep their meaning across upgrades. Adds Qt test coverage for provider transaction classification, live-notification of incoming provider transactions, and transaction model reconstruction. --- src/Makefile.qttest.include | 3 + src/qt/test/providertransactiontests.cpp | 383 +++++++++++++++++++++++ src/qt/test/providertransactiontests.h | 33 ++ src/qt/test/test_main.cpp | 4 + src/qt/transactiondesc.cpp | 46 +-- src/qt/transactionfilterproxy.h | 5 +- src/qt/transactionrecord.cpp | 33 +- src/qt/transactionrecord.h | 7 +- src/qt/transactiontablemodel.cpp | 22 ++ src/qt/transactionview.cpp | 14 +- test/util/data/non-backported.txt | 2 + 11 files changed, 523 insertions(+), 29 deletions(-) create mode 100644 src/qt/test/providertransactiontests.cpp create mode 100644 src/qt/test/providertransactiontests.h diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include index 62071d40e5a5..bcea59d339d8 100644 --- a/src/Makefile.qttest.include +++ b/src/Makefile.qttest.include @@ -16,6 +16,7 @@ TEST_QT_MOC_CPP = \ if ENABLE_WALLET TEST_QT_MOC_CPP += \ qt/test/moc_addressbooktests.cpp \ + qt/test/moc_providertransactiontests.cpp \ qt/test/moc_wallettests.cpp endif # ENABLE_WALLET @@ -23,6 +24,7 @@ TEST_QT_H = \ qt/test/addressbooktests.h \ qt/test/apptests.h \ qt/test/optiontests.h \ + qt/test/providertransactiontests.h \ qt/test/rpcnestedtests.h \ qt/test/uritests.h \ qt/test/util.h \ @@ -45,6 +47,7 @@ qt_test_test_dash_qt_SOURCES = \ if ENABLE_WALLET qt_test_test_dash_qt_SOURCES += \ qt/test/addressbooktests.cpp \ + qt/test/providertransactiontests.cpp \ qt/test/wallettests.cpp \ wallet/test/wallet_test_fixture.cpp endif # ENABLE_WALLET diff --git a/src/qt/test/providertransactiontests.cpp b/src/qt/test/providertransactiontests.cpp new file mode 100644 index 000000000000..5defac08423c --- /dev/null +++ b/src/qt/test/providertransactiontests.cpp @@ -0,0 +1,383 @@ +// Copyright (c) 2026 The Dash Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include