mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-17 14:04:26 +01:00
Upgrade Lightning lib; add and pass cancellation tokens in Greenfield
This commit is contained in:
committed by
Andrew Camilleri
parent
5328303c32
commit
5a4b675791
@@ -28,8 +28,8 @@
|
|||||||
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
|
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<PackageReference Include="BTCPayServer.Lightning.Common" Version="1.3.4" />
|
||||||
<PackageReference Include="NBitcoin" Version="7.0.1" />
|
<PackageReference Include="NBitcoin" Version="7.0.1" />
|
||||||
<PackageReference Include="BTCPayServer.Lightning.Common" Version="1.3.3" />
|
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -49,9 +49,9 @@ namespace BTCPayServer.Controllers.Greenfield
|
|||||||
[Authorize(Policy = Policies.CanUseInternalLightningNode,
|
[Authorize(Policy = Policies.CanUseInternalLightningNode,
|
||||||
AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
||||||
[HttpPost("~/api/v1/server/lightning/{cryptoCode}/connect")]
|
[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,
|
[Authorize(Policy = Policies.CanUseInternalLightningNode,
|
||||||
@@ -73,9 +73,9 @@ namespace BTCPayServer.Controllers.Greenfield
|
|||||||
[Authorize(Policy = Policies.CanUseInternalLightningNode,
|
[Authorize(Policy = Policies.CanUseInternalLightningNode,
|
||||||
AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
||||||
[HttpPost("~/api/v1/server/lightning/{cryptoCode}/address")]
|
[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,
|
[Authorize(Policy = Policies.CanUseInternalLightningNode,
|
||||||
|
|||||||
@@ -51,9 +51,9 @@ namespace BTCPayServer.Controllers.Greenfield
|
|||||||
[Authorize(Policy = Policies.CanUseLightningNodeInStore,
|
[Authorize(Policy = Policies.CanUseLightningNodeInStore,
|
||||||
AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
||||||
[HttpPost("~/api/v1/stores/{storeId}/lightning/{cryptoCode}/connect")]
|
[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,
|
[Authorize(Policy = Policies.CanUseLightningNodeInStore,
|
||||||
AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
||||||
@@ -73,9 +73,9 @@ namespace BTCPayServer.Controllers.Greenfield
|
|||||||
[Authorize(Policy = Policies.CanUseLightningNodeInStore,
|
[Authorize(Policy = Policies.CanUseLightningNodeInStore,
|
||||||
AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
AuthenticationSchemes = AuthenticationSchemes.Greenfield)]
|
||||||
[HttpPost("~/api/v1/stores/{storeId}/lightning/{cryptoCode}/address")]
|
[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,
|
[Authorize(Policy = Policies.CanUseLightningNodeInStore,
|
||||||
|
|||||||
@@ -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);
|
var lightningClient = await GetLightningClient(cryptoCode, true);
|
||||||
if (request?.NodeURI is null)
|
if (request?.NodeURI is null)
|
||||||
@@ -61,7 +61,7 @@ namespace BTCPayServer.Controllers.Greenfield
|
|||||||
return this.CreateValidationError(ModelState);
|
return this.CreateValidationError(ModelState);
|
||||||
}
|
}
|
||||||
|
|
||||||
var result = await lightningClient.ConnectTo(request.NodeURI);
|
var result = await lightningClient.ConnectTo(request.NodeURI, cancellationToken);
|
||||||
switch (result)
|
switch (result)
|
||||||
{
|
{
|
||||||
case ConnectionResult.Ok:
|
case ConnectionResult.Ok:
|
||||||
@@ -156,10 +156,10 @@ namespace BTCPayServer.Controllers.Greenfield
|
|||||||
return this.CreateAPIError(errorCode, errorMessage);
|
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);
|
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)
|
public virtual async Task<IActionResult> GetPayment(string cryptoCode, string paymentHash, CancellationToken cancellationToken = default)
|
||||||
|
|||||||
@@ -495,7 +495,7 @@ namespace BTCPayServer.Controllers.Greenfield
|
|||||||
public override async Task ConnectToLightningNode(string storeId, string cryptoCode,
|
public override async Task ConnectToLightningNode(string storeId, string cryptoCode,
|
||||||
ConnectToNodeRequest request, CancellationToken token = default)
|
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,
|
public override async Task<IEnumerable<LightningChannelData>> GetLightningNodeChannels(string storeId,
|
||||||
@@ -516,7 +516,7 @@ namespace BTCPayServer.Controllers.Greenfield
|
|||||||
CancellationToken token = default)
|
CancellationToken token = default)
|
||||||
{
|
{
|
||||||
return GetFromActionResult<string>(
|
return GetFromActionResult<string>(
|
||||||
await _storeLightningNodeApiController.GetDepositAddress(cryptoCode));
|
await _storeLightningNodeApiController.GetDepositAddress(cryptoCode, token));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task PayLightningInvoice(string storeId, string cryptoCode,
|
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,
|
public override async Task ConnectToLightningNode(string cryptoCode, ConnectToNodeRequest request,
|
||||||
CancellationToken token = default)
|
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,
|
public override async Task<IEnumerable<LightningChannelData>> GetLightningNodeChannels(string cryptoCode,
|
||||||
@@ -569,7 +569,7 @@ namespace BTCPayServer.Controllers.Greenfield
|
|||||||
CancellationToken token = default)
|
CancellationToken token = default)
|
||||||
{
|
{
|
||||||
return GetFromActionResult<string>(
|
return GetFromActionResult<string>(
|
||||||
await _lightningNodeApiController.GetDepositAddress(cryptoCode));
|
await _lightningNodeApiController.GetDepositAddress(cryptoCode, token));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task<LightningPaymentData> PayLightningInvoice(string cryptoCode,
|
public override async Task<LightningPaymentData> PayLightningInvoice(string cryptoCode,
|
||||||
|
|||||||
Reference in New Issue
Block a user