From 0efd3fc53afd2e02a37fd4d9aa7dd24e5dd80c8a Mon Sep 17 00:00:00 2001 From: Kukks Date: Thu, 7 Mar 2024 12:08:16 +0100 Subject: [PATCH] make terms acceptnace clearert --- .../BTCPayServer.Plugins.Wabisabi.csproj | 2 +- .../Shared/Wabisabi/WabisabiDashboard.cshtml | 9 ++++++- .../WabisabiService.cs | 27 +++++++++---------- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj b/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj index dbc36d0..207c236 100644 --- a/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj +++ b/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj @@ -13,7 +13,7 @@ Coinjoin Allows you to integrate your btcpayserver store with coinjoins. - 1.0.73 + 1.0.74 true diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/Views/Shared/Wabisabi/WabisabiDashboard.cshtml b/Plugins/BTCPayServer.Plugins.Wabisabi/Views/Shared/Wabisabi/WabisabiDashboard.cshtml index 56dea43..22e4673 100644 --- a/Plugins/BTCPayServer.Plugins.Wabisabi/Views/Shared/Wabisabi/WabisabiDashboard.cshtml +++ b/Plugins/BTCPayServer.Plugins.Wabisabi/Views/Shared/Wabisabi/WabisabiDashboard.cshtml @@ -392,7 +392,14 @@ updateInProgressAnimation(myChart); } else if (coordinator.WasabiCoordinatorStatusFetcher.Connected) { - if (coordinator.CoinJoinManager.TrackedWallets.TryGetValue(wallet.WalletName, out _)) + var roundParameters = coordinator.RoundStateUpdater.RoundStates.LastOrDefault(pair => pair.Value.BlameOf == uint256.Zero).Value?.CoinjoinState.Parameters; + coordinator.CoinJoinManager.TrackedWallets.TryGetValue(wallet.WalletName, out var trackedWallet); + if(trackedWallet is {} && setting.RoundWhenEnabled is not null && roundParameters is not null && !BTCPayWallet.IsRoundOk(roundParameters, setting)) + { + + New terms detected + + }else if (trackedWallet is {}) { Idle } diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiService.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiService.cs index 0652e67..e71bfa3 100644 --- a/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiService.cs +++ b/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiService.cs @@ -116,22 +116,21 @@ namespace BTCPayServer.Plugins.Wabisabi { wabisabiStoreCoordinatorSettings.RoundWhenEnabled = null; } - else if ( - (termsCoord == wabisabiStoreCoordinatorSettings.Coordinator || - res?.Settings?.Find(settings => - settings.Coordinator == wabisabiStoreCoordinatorSettings.Coordinator) - ?.RoundWhenEnabled is null) && - _coordinatorClientInstanceManager.HostedServices.TryGetValue( - wabisabiStoreCoordinatorSettings.Coordinator, out var coordinator)) + else if ((termsCoord == wabisabiStoreCoordinatorSettings.Coordinator || wabisabiStoreCoordinatorSettings.RoundWhenEnabled is null)&& + _coordinatorClientInstanceManager.HostedServices.TryGetValue(wabisabiStoreCoordinatorSettings.Coordinator, out var coordinator)) { + var round = coordinator.RoundStateUpdater.RoundStates.LastOrDefault(); - wabisabiStoreCoordinatorSettings.RoundWhenEnabled = new LastCoordinatorRoundConfig() - { - CoordinationFeeRate = round.Value.CoinjoinState.Parameters.CoordinationFeeRate.Rate, - PlebsDontPayThreshold = round.Value.CoinjoinState.Parameters.CoordinationFeeRate - .PlebsDontPayThreshold.Satoshi.ToString(), - MinInputCountByRound = round.Value.CoinjoinState.Parameters.MinInputCountByRound, - }; + wabisabiStoreCoordinatorSettings.RoundWhenEnabled = + round.Value?.CoinjoinState?.Parameters is { } roundParameters + ? new LastCoordinatorRoundConfig() + { + CoordinationFeeRate = roundParameters.CoordinationFeeRate.Rate, + PlebsDontPayThreshold = roundParameters.CoordinationFeeRate + .PlebsDontPayThreshold.Satoshi.ToString(), + MinInputCountByRound = roundParameters.MinInputCountByRound, + } + : null; } }