Greenfield: Improve error message, do not use internal lightning node on store's lightning API

This commit is contained in:
nicolas.dorier
2021-12-16 12:32:13 +09:00
parent bbddd72780
commit 4f7eeea14e
12 changed files with 149 additions and 64 deletions

View File

@@ -104,12 +104,16 @@ namespace BTCPayServer.Controllers.GreenField
protected override async Task<ILightningClient> GetLightningClient(string cryptoCode, bool doingAdminThings)
{
var network = _btcPayNetworkProvider.GetNetwork<BTCPayNetwork>(cryptoCode);
if (network == null ||
!_lightningNetworkOptions.Value.InternalLightningByCryptoCode.TryGetValue(network.CryptoCode,
out var internalLightningNode) ||
!await CanUseInternalLightning(doingAdminThings))
if (network is null)
throw ErrorCryptoCodeNotFound();
if (!_lightningNetworkOptions.Value.InternalLightningByCryptoCode.TryGetValue(network.CryptoCode,
out var internalLightningNode))
{
return null;
throw ErrorInternalLightningNodeNotConfigured();
}
if (!await CanUseInternalLightning(doingAdminThings))
{
throw ErrorShouldBeAdminForInternalNode();
}
return _lightningClientFactory.Create(internalLightningNode, network);
}