remove events no longer posted along with their subscribers
What changed, and why it matters
This commit removes several unused event classes and their corresponding event listeners from the Sparrow Wallet codebase. It is a cleanup change: the events were no longer being posted anywhere, so the code that subscribed to them was dead code. There is no indication this change fixes or introduces a security vulnerability.
No security action required. Treat as routine code cleanup. Reviewers may optionally verify that the removed events are indeed no longer posted elsewhere in the current codebase.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit deletes seven event classes (MixToConfigChangedEvent, RequestQRScanEvent, TorExternalStatusEvent, UtxosChartChangedEvent, WalletMasterMixConfigChangedEvent, WalletMixConfigChangedEvent, WalletUtxoMixesChangedEvent) and removes their @Subscribe handler methods from AppController, DbPersistence, UtxosController, and WalletForm. The commit message states these events are ‘no longer posted.’ The diff shows only removals and no new logic, defensive checks, or behavioral changes. No security-relevant references are supplied.
Changed components
com.sparrowwallet.sparrow.AppControllercom.sparrowwallet.sparrow.io.db.DbPersistencecom.sparrowwallet.sparrow.wallet.UtxosControllercom.sparrowwallet.sparrow.wallet.WalletFormcom.sparrowwallet.sparrow.event.MixToConfigChangedEventcom.sparrowwallet.sparrow.event.RequestQRScanEventcom.sparrowwallet.sparrow.event.TorExternalStatusEventcom.sparrowwallet.sparrow.event.UtxosChartChangedEventcom.sparrowwallet.sparrow.event.WalletMasterMixConfigChangedEventcom.sparrowwallet.sparrow.event.WalletMixConfigChangedEventcom.sparrowwallet.sparrow.event.WalletUtxoMixesChangedEventInspect captured patch +0 / −146
### src/main/java/com/sparrowwallet/sparrow/AppController.java
@@ -3282,12 +3282,6 @@ public void torReadyStatus(TorReadyStatusEvent event) {
setTorIcon();
}
- @Subscribe
- public void torExternalStatus(TorExternalStatusEvent event) {
- serverToggle.setDisable(false);
- statusUpdated(new StatusEvent(event.getStatus()));
- }
-
@Subscribe
public void newBlock(NewBlockEvent event) {
setServerToggleTooltip(event.getHeight());
@@ -3410,13 +3404,6 @@ public void requestTransactionOpen(RequestTransactionOpenEvent event) {
}
}
- @Subscribe
- public void requestQRScan(RequestQRScanEvent event) {
- if(tabs.getScene().getWindow().equals(event.getWindow())) {
- openTransactionFromQR(null);
- }
- }
-
@Subscribe
public void requestVerifyDownloadOpen(RequestVerifyDownloadEvent event) {
if(tabs.getScene().getWindow().equals(event.getWindow())) {
### src/main/java/com/sparrowwallet/sparrow/event/MixToConfigChangedEvent.java
@@ -1,15 +0,0 @@
-package com.sparrowwallet.sparrow.event;
-
-import com.sparrowwallet.drongo.wallet.Wallet;
-
-public class MixToConfigChangedEvent {
- private final Wallet wallet;
-
- public MixToConfigChangedEvent(Wallet wallet) {
- this.wallet = wallet;
- }
-
- public Wallet getWallet() {
- return wallet;
- }
-}
### src/main/java/com/sparrowwallet/sparrow/event/RequestQRScanEvent.java
@@ -1,18 +0,0 @@
-package com.sparrowwallet.sparrow.event;
-
-import javafx.stage.Window;
-
-/**
- * Event class used to request the QRScanDialog is opened
- */
-public class RequestQRScanEvent {
- private final Window window;
-
- public RequestQRScanEvent(Window window) {
- this.window = window;
- }
-
- public Window getWindow() {
- return window;
- }
-}
### src/main/java/com/sparrowwallet/sparrow/event/TorExternalStatusEvent.java
@@ -1,7 +0,0 @@
-package com.sparrowwallet.sparrow.event;
-
-public class TorExternalStatusEvent extends TorStatusEvent {
- public TorExternalStatusEvent() {
- super("Tor is already running, using external instance...");
- }
-}
### src/main/java/com/sparrowwallet/sparrow/event/UtxosChartChangedEvent.java
@@ -1,13 +0,0 @@
-package com.sparrowwallet.sparrow.event;
-
-public class UtxosChartChangedEvent {
- private final boolean visible;
-
- public UtxosChartChangedEvent(boolean visible) {
- this.visible = visible;
- }
-
- public boolean isVisible() {
- return visible;
- }
-}
### src/main/java/com/sparrowwallet/sparrow/event/WalletMasterMixConfigChangedEvent.java
@@ -1,9 +0,0 @@
-package com.sparrowwallet.sparrow.event;
-
-import com.sparrowwallet.drongo.wallet.Wallet;
-
-public class WalletMasterMixConfigChangedEvent extends WalletMixConfigChangedEvent {
- public WalletMasterMixConfigChangedEvent(Wallet wallet) {
- super(wallet.isMasterWallet() ? wallet : wallet.getMasterWallet());
- }
-}
### src/main/java/com/sparrowwallet/sparrow/event/WalletMixConfigChangedEvent.java
@@ -1,9 +0,0 @@
-package com.sparrowwallet.sparrow.event;
-
-import com.sparrowwallet.drongo.wallet.Wallet;
-
-public class WalletMixConfigChangedEvent extends WalletChangedEvent {
- public WalletMixConfigChangedEvent(Wallet wallet) {
- super(wallet);
- }
-}
### src/main/java/com/sparrowwallet/sparrow/event/WalletUtxoMixesChangedEvent.java
@@ -1,26 +0,0 @@
-package com.sparrowwallet.sparrow.event;
-
-import com.sparrowwallet.drongo.protocol.Sha256Hash;
-import com.sparrowwallet.drongo.wallet.UtxoMixData;
-import com.sparrowwallet.drongo.wallet.Wallet;
-
-import java.util.Map;
-
-public class WalletUtxoMixesChangedEvent extends WalletChangedEvent {
- private final Map<Sha256Hash, UtxoMixData> changedUtxoMixes;
- private final Map<Sha256Hash, UtxoMixData> removedUtxoMixes;
-
- public WalletUtxoMixesChangedEvent(Wallet wallet, Map<Sha256Hash, UtxoMixData> changedUtxoMixes, Map<Sha256Hash, UtxoMixData> removedUtxoMixes) {
- super(wallet);
- this.changedUtxoMixes = changedUtxoMixes;
- this.removedUtxoMixes = removedUtxoMixes;
- }
-
- public Map<Sha256Hash, UtxoMixData> getChangedUtxoMixes() {
- return changedUtxoMixes;
- }
-
- public Map<Sha256Hash, UtxoMixData> getRemovedUtxoMixes() {
- return removedUtxoMixes;
- }
-}
### src/main/java/com/sparrowwallet/sparrow/io/db/DbPersistence.java
@@ -1026,23 +1026,6 @@ public void walletTableChanged(WalletTableChangedEvent event) {
}
}
- @Subscribe
- public void walletMixConfigChanged(WalletMixConfigChangedEvent event) {
- if(persistsFor(event.getWallet()) && event.getWallet().getMixConfig() != null) {
- updateExecutor.execute(() -> dirtyPersistablesMap.computeIfAbsent(event.getWallet(), key -> new DirtyPersistables()).mixConfig = true);
- }
- }
-
- @Subscribe
- public void walletUtxoMixesChanged(WalletUtxoMixesChangedEvent event) {
- if(persistsFor(event.getWallet())) {
- updateExecutor.execute(() -> {
- dirtyPersistablesMap.computeIfAbsent(event.getWallet(), key -> new DirtyPersistables()).changedUtxoMixes.putAll(event.getChangedUtxoMixes());
- dirtyPersistablesMap.computeIfAbsent(event.getWallet(), key -> new DirtyPersistables()).removedUtxoMixes.putAll(event.getRemovedUtxoMixes());
- });
- }
- }
-
@Subscribe
public void keystoreLabelsChanged(KeystoreLabelsChangedEvent event) {
if(persistsFor(event.getWallet())) {
### src/main/java/com/sparrowwallet/sparrow/wallet/UtxosController.java
@@ -332,11 +332,6 @@ public void includeMempoolOutputsChangedEvent(IncludeMempoolOutputsChangedEvent
utxosTable.refresh();
}
- @Subscribe
- public void utxosChartChanged(UtxosChartChangedEvent event) {
- utxosChart.setVisible(event.isVisible() && !getWalletForm().getWallet().isWhirlpoolMixWallet());
- }
-
@Subscribe
public void selectEntry(SelectEntryEvent event) {
if(event.getWallet().equals(getWalletForm().getWallet()) && event.getEntry().getWalletFunction() == Function.UTXOS) {
### src/main/java/com/sparrowwallet/sparrow/wallet/WalletForm.java
@@ -784,20 +784,6 @@ public void walletTableChanged(WalletTableChangedEvent event) {
}
}
- @Subscribe
- public void walletMixConfigChanged(WalletMixConfigChangedEvent event) {
- if(event.getWallet() == wallet) {
- Platform.runLater(() -> EventManager.get().post(new WalletDataChangedEvent(wallet)));
- }
- }
-
- @Subscribe
- public void walletUtxoMixesChanged(WalletUtxoMixesChangedEvent event) {
- if(event.getWallet() == wallet) {
- Platform.runLater(() -> EventManager.get().post(new WalletDataChangedEvent(wallet)));
- }
- }
-
@Subscribe
public void walletLabelChanged(WalletLabelChangedEvent event) {
if(event.getWallet() == wallet) {Why this scored 12/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.