diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj b/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj
index 4501acd..9c13ba2 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj
@@ -13,7 +13,7 @@
Wabisabi Coinjoin
Allows you to integrate your btcpayserver store with coinjoins.
- 1.0.53
+ 1.0.54
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs
index a0caf7e..23ba7e4 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs
@@ -1,4 +1,5 @@
using System;
+using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net.Http;
@@ -107,10 +108,12 @@ public class WabisabiCoordinatorService : PeriodicRunner
public class BtcPayRpcClient : CachedRpcClient
{
private readonly ExplorerClient _explorerClient;
+ private readonly Stopwatch _uptime;
public BtcPayRpcClient(RPCClient rpc, IMemoryCache cache, ExplorerClient explorerClient) : base(rpc, cache)
{
_explorerClient = explorerClient;
+ _uptime = Stopwatch.StartNew();
}
public override async Task GetRawTransactionAsync(uint256 txid, bool throwIfNotFound = true,
@@ -142,6 +145,10 @@ public class WabisabiCoordinatorService : PeriodicRunner
var result = await _explorerClient.GetStatusAsync(cancellationToken);
return result.BitcoinStatus.Blocks;
}
+ public override Task UptimeAsync(CancellationToken cancellationToken = default)
+ {
+ return Task.FromResult(_uptime.Elapsed);
+ }
public override async Task EstimateSmartFeeAsync(int confirmationTarget,
EstimateSmartFeeMode estimateMode = EstimateSmartFeeMode.Conservative,
@@ -161,6 +168,25 @@ public class WabisabiCoordinatorService : PeriodicRunner
cancellationToken).ConfigureAwait(false);
}
+
+
+ public override async Task GetBlockchainInfoAsync(CancellationToken cancellationToken = default)
+ {
+ var status = await _explorerClient.GetStatusAsync(cancellationToken);
+
+ return new BlockchainInfo()
+ {
+ Chain = _explorerClient.Network.NBitcoinNetwork,
+ InitialBlockDownload = status.BitcoinStatus.VerificationProgress > 0.999,
+ Blocks = (ulong) status.BitcoinStatus.Blocks,
+ Headers = (ulong) status.BitcoinStatus.Headers,
+ };
+ }
+
+ public override async Task GetPeersInfoAsync(CancellationToken cancellationToken = default)
+ {
+ return new[] {new PeerInfo()};
+ }
}
public override async Task StartAsync(CancellationToken cancellationToken)