mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-19 15:04:19 +01:00
GreenField API: Wallet API (#2246)
* GreenField: Wallet API * more work * wip * rough fiunish of transaction sending api * Allow to create tx without broadcasting and small fixes * Refactor Wallet Receive feature ad add greenfield api for address reserve for wallet * add wallet api client * add docs * fix json converter tags * fixes and add wallet tests * fix tests * fix rebase * fixes * just pass the tests already * ugggh * small cleanup * revert int support in numeric string converter and make block id as native number in json * fix LN endpoint * try fix flaky test * Revert "try fix flaky test" This reverts commit 2e0d256325b892f7741325dcbab01196f74d182a. * try fix other flaky test * return proepr error if fee rate could not be fetched * try fix test again * reduce fee related logic for wallet api * try reduce code changes for pr scope * change auth logic for initial release of wallet api
This commit is contained in:
22
BTCPayServer/Extensions/AuthorizationExtensions.cs
Normal file
22
BTCPayServer/Extensions/AuthorizationExtensions.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System.Security.Claims;
|
||||
using System.Threading.Tasks;
|
||||
using BTCPayServer.Client;
|
||||
using BTCPayServer.Security.Bitpay;
|
||||
using BTCPayServer.Security.GreenField;
|
||||
using BTCPayServer.Services;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
|
||||
namespace BTCPayServer
|
||||
{
|
||||
public static class AuthorizationExtensions
|
||||
{
|
||||
public static async Task<(bool HotWallet, bool RPCImport)> CanUseHotWallet(
|
||||
this IAuthorizationService authorizationService,
|
||||
PoliciesSettings policiesSettings,
|
||||
ClaimsPrincipal user)
|
||||
{
|
||||
return (await authorizationService.AuthorizeAsync(user, Policies.CanModifyServerSettings))
|
||||
.Succeeded ? (true, true) : (policiesSettings?.AllowHotWalletForAll is true, policiesSettings?.AllowHotWalletRPCImportForAll is true);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user