Greenfield: Add balance endpoint (#3887)

* Greenfield: Add balance endpoint

* Remove superfluous try/catch
This commit is contained in:
d11n
2022-06-23 06:42:28 +02:00
committed by GitHub
parent c89f7aaaed
commit 61c6a2ab57
10 changed files with 296 additions and 2 deletions

View File

@@ -24,6 +24,7 @@ namespace BTCPayServer.Controllers.Greenfield
// Do not mark handled, it is possible filters above have better errors
}
}
public abstract class GreenfieldLightningNodeApiController : Controller
{
private readonly BTCPayNetworkProvider _btcPayNetworkProvider;
@@ -49,6 +50,32 @@ namespace BTCPayServer.Controllers.Greenfield
});
}
public virtual async Task<IActionResult> GetBalance(string cryptoCode, CancellationToken cancellationToken = default)
{
var lightningClient = await GetLightningClient(cryptoCode, true);
var balance = await lightningClient.GetBalance(cancellationToken);
return Ok(new LightningNodeBalanceData
{
OnchainBalance = balance.OnchainBalance != null
? new OnchainBalanceData
{
Confirmed = balance.OnchainBalance.Confirmed,
Unconfirmed = balance.OnchainBalance.Unconfirmed,
Reserved = balance.OnchainBalance.Reserved
}
: null,
OffchainBalance = balance.OffchainBalance != null
? new OffchainBalanceData
{
Opening = balance.OffchainBalance.Opening,
Local = balance.OffchainBalance.Local,
Remote = balance.OffchainBalance.Remote,
Closing = balance.OffchainBalance.Closing,
}
: null
});
}
public virtual async Task<IActionResult> ConnectToNode(string cryptoCode, ConnectToNodeRequest request, CancellationToken cancellationToken = default)
{
var lightningClient = await GetLightningClient(cryptoCode, true);