diff --git a/Plugins/BTCPayServer.Plugins.Breez/BTCPayServer.Plugins.Breez.csproj b/Plugins/BTCPayServer.Plugins.Breez/BTCPayServer.Plugins.Breez.csproj
index 4d99525..ea0c970 100644
--- a/Plugins/BTCPayServer.Plugins.Breez/BTCPayServer.Plugins.Breez.csproj
+++ b/Plugins/BTCPayServer.Plugins.Breez/BTCPayServer.Plugins.Breez.csproj
@@ -9,7 +9,7 @@
Breez / Greenlight
Lightweight lightning baby!
- 1.0.1
+ 1.0.2
true
@@ -34,7 +34,7 @@
-
+
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj b/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj
index 27e1dd2..e7a182d 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.84
+ 1.0.85
true
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabiSabiController.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabiSabiController.cs
index 117bfdd..a469969 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabiSabiController.cs
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabiSabiController.cs
@@ -46,9 +46,7 @@ public class WabiSabiController : ControllerBase, IWabiSabiApiRequestHandler
var medians = CoinJoinFeeRateStatStore.GetDefaultMedians();
var affiliateInformation = AffiliationManager.GetAffiliateInformation();
var ret = new RoundStateResponse(response.RoundStates, medians, affiliateInformation);
-
- var duration = DateTimeOffset.UtcNow - before;
- RequestTimeStatista.Instance.Add("status", duration);
+
return ret;
}
@@ -61,8 +59,6 @@ public class WabiSabiController : ControllerBase, IWabiSabiApiRequestHandler
var before = DateTimeOffset.UtcNow;
var ret = await IdempotencyRequestCache.GetCachedResponseAsync(request, action: Arena.ConfirmConnectionAsync, linkedCts.Token);
- var duration = DateTimeOffset.UtcNow - before;
- RequestTimeStatista.Instance.Add("connection-confirmation", duration);
return ret;
}
@@ -74,9 +70,6 @@ public class WabiSabiController : ControllerBase, IWabiSabiApiRequestHandler
var before = DateTimeOffset.UtcNow;
InputRegistrationResponse ret = await IdempotencyRequestCache.GetCachedResponseAsync(request, Arena.RegisterInputAsync, linkedCts.Token);
-
- var duration = DateTimeOffset.UtcNow - before;
- RequestTimeStatista.Instance.Add("input-registration", duration);
return ret;
}
@@ -89,8 +82,6 @@ public class WabiSabiController : ControllerBase, IWabiSabiApiRequestHandler
var before = DateTimeOffset.UtcNow;
await IdempotencyRequestCache.GetCachedResponseAsync(request, action: Arena.RegisterOutputCoreAsync, linkedCts.Token);
- var duration = DateTimeOffset.UtcNow - before;
- RequestTimeStatista.Instance.Add("output-registration", duration);
}
[HttpPost("credential-issuance")]
@@ -102,8 +93,6 @@ public class WabiSabiController : ControllerBase, IWabiSabiApiRequestHandler
var before = DateTimeOffset.UtcNow;
var ret = await IdempotencyRequestCache.GetCachedResponseAsync(request, action: Arena.ReissuanceAsync, linkedCts.Token);
- var duration = DateTimeOffset.UtcNow - before;
- RequestTimeStatista.Instance.Add("credential-issuance", duration);
return ret;
}
@@ -112,9 +101,6 @@ public class WabiSabiController : ControllerBase, IWabiSabiApiRequestHandler
{
var before = DateTimeOffset.UtcNow;
await Arena.RemoveInputAsync(request, cancellableToken);
-
- var duration = DateTimeOffset.UtcNow - before;
- RequestTimeStatista.Instance.Add("input-unregistration", duration);
}
[HttpPost("transaction-signature")]
@@ -123,8 +109,6 @@ public class WabiSabiController : ControllerBase, IWabiSabiApiRequestHandler
var before = DateTimeOffset.UtcNow;
await Arena.SignTransactionAsync(request, cancellableToken);
- var duration = DateTimeOffset.UtcNow - before;
- RequestTimeStatista.Instance.Add("transaction-signature", duration);
}
[HttpPost("ready-to-sign")]
@@ -132,9 +116,6 @@ public class WabiSabiController : ControllerBase, IWabiSabiApiRequestHandler
{
var before = DateTimeOffset.UtcNow;
await Arena.ReadyToSignAsync(request, cancellableToken);
-
- var duration = DateTimeOffset.UtcNow - before;
- RequestTimeStatista.Instance.Add("ready-to-sign", duration);
}
///
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/NostrWabiSabiApiClient.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/NostrWabiSabiApiClient.cs
index 750fc9a..ceaf210 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/NostrWabiSabiApiClient.cs
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/NostrWabiSabiApiClient.cs
@@ -222,7 +222,7 @@ public class NostrWabiSabiApiClient : IWabiSabiApiRequestHandler, IHostedService
public async Task GetStatusAsync(RoundStateRequest request, CancellationToken cancellationToken)
{
- await _lastRoundStateTask.Task.WithAwaitCancellationAsync(cancellationToken);
+ await _lastRoundStateTask.Task.WithCancellation(cancellationToken);
return _lastRoundState;
}
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiPlugin.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiPlugin.cs
index 928f6bd..aed6087 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiPlugin.cs
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiPlugin.cs
@@ -34,29 +34,6 @@ public class WabisabiPlugin : BaseBTCPayServerPlugin
public override void Execute(IServiceCollection applicationBuilder)
{
var utxoLocker = new LocalisedUTXOLocker();
- applicationBuilder.AddSingleton(
- provider =>
- {
- var res = ActivatorUtilities.CreateInstance(provider);
- res.UTXOLocker = utxoLocker;
- res.AddCoordinator("zkSNACKS Coordinator", "zksnacks", provider =>
- {
- var chain = provider.GetService().GetExplorerClient("BTC").Network
- .NBitcoinNetwork.ChainName;
- if (chain == ChainName.Mainnet)
- {
- return new Uri("https://wasabiwallet.io/");
- }
-
- if (chain == ChainName.Testnet)
- {
- return new Uri("https://wasabiwallet.co/");
- }
-
- return new Uri("http://localhost:37127");
- });
- return res;
- });
applicationBuilder.AddHostedService(provider =>
provider.GetRequiredService());
applicationBuilder.AddSingleton();
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiStoreController.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiStoreController.cs
index e34d7ef..91ae116 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiStoreController.cs
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiStoreController.cs
@@ -355,7 +355,7 @@ namespace BTCPayServer.Plugins.Wabisabi
{
if (spendViewModel.SelectedCoins?.Any() is true)
{
- coins = (CoinsView) coins.FilterBy(coin =>
+ coins = (CoinsView) coins.Where(coin =>
spendViewModel.SelectedCoins.Contains(coin.Outpoint.ToString()));
}
}
@@ -422,11 +422,12 @@ namespace BTCPayServer.Plugins.Wabisabi
if (labels?.Any() is true)
{
- var directLinkCoins = coins.FilterBy(coin => coin.HdPubKey.Labels.Any(labels.Contains)).Available();
+ var directLinkCoins =
+ coins.Where(coin => coin.HdPubKey.Labels.Any(labels.Contains) && coin.IsAvailable());
selectedCoins.AddRange(directLinkCoins.Select(coin => coin.Coin));
- if (directLinkCoins.TotalAmount().ToDecimal(MoneyUnit.BTC) > amount)
+ if (directLinkCoins.Sum(coin => coin.Amount.ToDecimal(MoneyUnit.BTC)) > amount)
{
//select enough to be able to spend the amount requested
var result = directLinkCoins.ToShuffled(new InsecureRandom()).Aggregate(
@@ -451,7 +452,7 @@ namespace BTCPayServer.Plugins.Wabisabi
coinSelect:
var selectedCoinSum = selectedCoins.Sum(coin => ((Money)coin.Amount).ToDecimal(MoneyUnit.BTC));
var remaining = amount - selectedCoinSum;
- var remainingCoins = coins.FilterBy(coin => !selectedCoins.Contains(coin.Coin)).Available().ToList();
+ var remainingCoins = coins.Where(coin => !selectedCoins.Contains(coin.Coin) && coin.IsAvailable()).ToList();
if (remaining > 0 && remainingCoins.Any())
{
//try to select the closest coin to the remaining amount while also prioritizing privacy
diff --git a/submodules/btcpayserver b/submodules/btcpayserver
index 3fbc717..a026d24 160000
--- a/submodules/btcpayserver
+++ b/submodules/btcpayserver
@@ -1 +1 @@
-Subproject commit 3fbc717cd45e2d4a6766715163b1cea50db72f72
+Subproject commit a026d244fe9e69de869605cef4c27d148c4b2163