diff --git a/BTCPayServer.Client/BTCPayServer.Client.csproj b/BTCPayServer.Client/BTCPayServer.Client.csproj index d92e2bd7e..281d9cfc9 100644 --- a/BTCPayServer.Client/BTCPayServer.Client.csproj +++ b/BTCPayServer.Client/BTCPayServer.Client.csproj @@ -28,8 +28,8 @@ + - diff --git a/BTCPayServer/Controllers/GreenField/GreenfieldLightningNodeApiController.Internal.cs b/BTCPayServer/Controllers/GreenField/GreenfieldLightningNodeApiController.Internal.cs index 318ad1f5f..1f14822ff 100644 --- a/BTCPayServer/Controllers/GreenField/GreenfieldLightningNodeApiController.Internal.cs +++ b/BTCPayServer/Controllers/GreenField/GreenfieldLightningNodeApiController.Internal.cs @@ -49,9 +49,9 @@ namespace BTCPayServer.Controllers.Greenfield [Authorize(Policy = Policies.CanUseInternalLightningNode, AuthenticationSchemes = AuthenticationSchemes.Greenfield)] [HttpPost("~/api/v1/server/lightning/{cryptoCode}/connect")] - public override Task ConnectToNode(string cryptoCode, ConnectToNodeRequest request) + public override Task ConnectToNode(string cryptoCode, ConnectToNodeRequest request, CancellationToken cancellationToken = default) { - return base.ConnectToNode(cryptoCode, request); + return base.ConnectToNode(cryptoCode, request, cancellationToken); } [Authorize(Policy = Policies.CanUseInternalLightningNode, @@ -73,9 +73,9 @@ namespace BTCPayServer.Controllers.Greenfield [Authorize(Policy = Policies.CanUseInternalLightningNode, AuthenticationSchemes = AuthenticationSchemes.Greenfield)] [HttpPost("~/api/v1/server/lightning/{cryptoCode}/address")] - public override Task GetDepositAddress(string cryptoCode) + public override Task GetDepositAddress(string cryptoCode, CancellationToken cancellationToken = default) { - return base.GetDepositAddress(cryptoCode); + return base.GetDepositAddress(cryptoCode, cancellationToken); } [Authorize(Policy = Policies.CanUseInternalLightningNode, diff --git a/BTCPayServer/Controllers/GreenField/GreenfieldLightningNodeApiController.Store.cs b/BTCPayServer/Controllers/GreenField/GreenfieldLightningNodeApiController.Store.cs index da6af2330..660273317 100644 --- a/BTCPayServer/Controllers/GreenField/GreenfieldLightningNodeApiController.Store.cs +++ b/BTCPayServer/Controllers/GreenField/GreenfieldLightningNodeApiController.Store.cs @@ -51,9 +51,9 @@ namespace BTCPayServer.Controllers.Greenfield [Authorize(Policy = Policies.CanUseLightningNodeInStore, AuthenticationSchemes = AuthenticationSchemes.Greenfield)] [HttpPost("~/api/v1/stores/{storeId}/lightning/{cryptoCode}/connect")] - public override Task ConnectToNode(string cryptoCode, ConnectToNodeRequest request) + public override Task ConnectToNode(string cryptoCode, ConnectToNodeRequest request, CancellationToken cancellationToken = default) { - return base.ConnectToNode(cryptoCode, request); + return base.ConnectToNode(cryptoCode, request, cancellationToken); } [Authorize(Policy = Policies.CanUseLightningNodeInStore, AuthenticationSchemes = AuthenticationSchemes.Greenfield)] @@ -73,9 +73,9 @@ namespace BTCPayServer.Controllers.Greenfield [Authorize(Policy = Policies.CanUseLightningNodeInStore, AuthenticationSchemes = AuthenticationSchemes.Greenfield)] [HttpPost("~/api/v1/stores/{storeId}/lightning/{cryptoCode}/address")] - public override Task GetDepositAddress(string cryptoCode) + public override Task GetDepositAddress(string cryptoCode, CancellationToken cancellationToken = default) { - return base.GetDepositAddress(cryptoCode); + return base.GetDepositAddress(cryptoCode, cancellationToken); } [Authorize(Policy = Policies.CanUseLightningNodeInStore, diff --git a/BTCPayServer/Controllers/GreenField/GreenfieldLightningNodeApiController.cs b/BTCPayServer/Controllers/GreenField/GreenfieldLightningNodeApiController.cs index bd1d16185..25e71f418 100644 --- a/BTCPayServer/Controllers/GreenField/GreenfieldLightningNodeApiController.cs +++ b/BTCPayServer/Controllers/GreenField/GreenfieldLightningNodeApiController.cs @@ -48,7 +48,7 @@ namespace BTCPayServer.Controllers.Greenfield }); } - public virtual async Task ConnectToNode(string cryptoCode, ConnectToNodeRequest request) + public virtual async Task ConnectToNode(string cryptoCode, ConnectToNodeRequest request, CancellationToken cancellationToken = default) { var lightningClient = await GetLightningClient(cryptoCode, true); if (request?.NodeURI is null) @@ -61,7 +61,7 @@ namespace BTCPayServer.Controllers.Greenfield return this.CreateValidationError(ModelState); } - var result = await lightningClient.ConnectTo(request.NodeURI); + var result = await lightningClient.ConnectTo(request.NodeURI, cancellationToken); switch (result) { case ConnectionResult.Ok: @@ -156,10 +156,10 @@ namespace BTCPayServer.Controllers.Greenfield return this.CreateAPIError(errorCode, errorMessage); } - public virtual async Task GetDepositAddress(string cryptoCode) + public virtual async Task GetDepositAddress(string cryptoCode, CancellationToken cancellationToken = default) { var lightningClient = await GetLightningClient(cryptoCode, true); - return Ok(new JValue((await lightningClient.GetDepositAddress()).ToString())); + return Ok(new JValue((await lightningClient.GetDepositAddress(cancellationToken)).ToString())); } public virtual async Task GetPayment(string cryptoCode, string paymentHash, CancellationToken cancellationToken = default) diff --git a/BTCPayServer/Controllers/GreenField/LocalBTCPayServerClient.cs b/BTCPayServer/Controllers/GreenField/LocalBTCPayServerClient.cs index e28ff221f..d462fe66c 100644 --- a/BTCPayServer/Controllers/GreenField/LocalBTCPayServerClient.cs +++ b/BTCPayServer/Controllers/GreenField/LocalBTCPayServerClient.cs @@ -495,7 +495,7 @@ namespace BTCPayServer.Controllers.Greenfield public override async Task ConnectToLightningNode(string storeId, string cryptoCode, ConnectToNodeRequest request, CancellationToken token = default) { - HandleActionResult(await _storeLightningNodeApiController.ConnectToNode(cryptoCode, request)); + HandleActionResult(await _storeLightningNodeApiController.ConnectToNode(cryptoCode, request, token)); } public override async Task> GetLightningNodeChannels(string storeId, @@ -516,7 +516,7 @@ namespace BTCPayServer.Controllers.Greenfield CancellationToken token = default) { return GetFromActionResult( - await _storeLightningNodeApiController.GetDepositAddress(cryptoCode)); + await _storeLightningNodeApiController.GetDepositAddress(cryptoCode, token)); } public override async Task PayLightningInvoice(string storeId, string cryptoCode, @@ -549,7 +549,7 @@ namespace BTCPayServer.Controllers.Greenfield public override async Task ConnectToLightningNode(string cryptoCode, ConnectToNodeRequest request, CancellationToken token = default) { - HandleActionResult(await _lightningNodeApiController.ConnectToNode(cryptoCode, request)); + HandleActionResult(await _lightningNodeApiController.ConnectToNode(cryptoCode, request, token)); } public override async Task> GetLightningNodeChannels(string cryptoCode, @@ -569,7 +569,7 @@ namespace BTCPayServer.Controllers.Greenfield CancellationToken token = default) { return GetFromActionResult( - await _lightningNodeApiController.GetDepositAddress(cryptoCode)); + await _lightningNodeApiController.GetDepositAddress(cryptoCode, token)); } public override async Task PayLightningInvoice(string cryptoCode,