diff --git a/lib/electrumx_rpc/electrumx.dart b/lib/electrumx_rpc/electrumx.dart index 7eaf0ba5a..81dc67148 100644 --- a/lib/electrumx_rpc/electrumx.dart +++ b/lib/electrumx_rpc/electrumx.dart @@ -77,6 +77,11 @@ class ElectrumX { final Duration connectionTimeoutForSpecialCaseJsonRPCClients; + // add finalizer to cancel stream subscription when all references to an + // instance of ElectrumX becomes inaccessible + static final Finalizer _finalizer = Finalizer( + (p0) => p0._torStatusListener?.cancel(), + ); StreamSubscription? _torStatusListener; ElectrumX({