Upgrade Lightning lib; add and pass cancellation tokens in Greenfield

This commit is contained in:
Dennis Reimann
2022-05-18 15:22:08 +02:00
committed by Andrew Camilleri
parent 5328303c32
commit 5a4b675791
5 changed files with 17 additions and 17 deletions

View File

@@ -28,8 +28,8 @@
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="BTCPayServer.Lightning.Common" Version="1.3.4" />
<PackageReference Include="NBitcoin" Version="7.0.1" />
<PackageReference Include="BTCPayServer.Lightning.Common" Version="1.3.3" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup>
<ItemGroup>

View File

@@ -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<IActionResult> ConnectToNode(string cryptoCode, ConnectToNodeRequest request)
public override Task<IActionResult> 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<IActionResult> GetDepositAddress(string cryptoCode)
public override Task<IActionResult> GetDepositAddress(string cryptoCode, CancellationToken cancellationToken = default)
{
return base.GetDepositAddress(cryptoCode);
return base.GetDepositAddress(cryptoCode, cancellationToken);
}
[Authorize(Policy = Policies.CanUseInternalLightningNode,

View File

@@ -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<IActionResult> ConnectToNode(string cryptoCode, ConnectToNodeRequest request)
public override Task<IActionResult> 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<IActionResult> GetDepositAddress(string cryptoCode)
public override Task<IActionResult> GetDepositAddress(string cryptoCode, CancellationToken cancellationToken = default)
{
return base.GetDepositAddress(cryptoCode);
return base.GetDepositAddress(cryptoCode, cancellationToken);
}
[Authorize(Policy = Policies.CanUseLightningNodeInStore,

View File

@@ -48,7 +48,7 @@ namespace BTCPayServer.Controllers.Greenfield
});
}
public virtual async Task<IActionResult> ConnectToNode(string cryptoCode, ConnectToNodeRequest request)
public virtual async Task<IActionResult> 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<IActionResult> GetDepositAddress(string cryptoCode)
public virtual async Task<IActionResult> 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<IActionResult> GetPayment(string cryptoCode, string paymentHash, CancellationToken cancellationToken = default)

View File

@@ -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<IEnumerable<LightningChannelData>> GetLightningNodeChannels(string storeId,
@@ -516,7 +516,7 @@ namespace BTCPayServer.Controllers.Greenfield
CancellationToken token = default)
{
return GetFromActionResult<string>(
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<IEnumerable<LightningChannelData>> GetLightningNodeChannels(string cryptoCode,
@@ -569,7 +569,7 @@ namespace BTCPayServer.Controllers.Greenfield
CancellationToken token = default)
{
return GetFromActionResult<string>(
await _lightningNodeApiController.GetDepositAddress(cryptoCode));
await _lightningNodeApiController.GetDepositAddress(cryptoCode, token));
}
public override async Task<LightningPaymentData> PayLightningInvoice(string cryptoCode,