From 5e984d1751b123fdedf5e2271959e7d4a2166d66 Mon Sep 17 00:00:00 2001 From: Kukks Date: Mon, 28 Aug 2023 16:04:01 +0200 Subject: [PATCH] bump --- .../BTCPayServer.Plugins.Wabisabi.csproj | 2 +- .../Coordinator/WabisabiCoordinatorService.cs | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) 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)