using System.Collections.Generic; using System.Net.Http; using System.Threading; using System.Threading.Tasks; using BTCPayServer.Client.Models; using Newtonsoft.Json.Linq; namespace BTCPayServer.Client; public partial class BTCPayServerClient { public virtual async Task PreviewProposedStoreOnChainPaymentMethodAddresses( string storeId, string paymentMethodId, string derivationScheme, int offset = 0, int amount = 10, CancellationToken token = default) { return await SendHttpRequest($"api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/preview", new Dictionary { { "offset", offset }, { "amount", amount } }, new UpdatePaymentMethodRequest { Config = JValue.CreateString(derivationScheme) }, HttpMethod.Post, token); } public virtual async Task PreviewStoreOnChainPaymentMethodAddresses( string storeId, string paymentMethodId, int offset = 0, int amount = 10, CancellationToken token = default) { return await SendHttpRequest($"api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/preview", new Dictionary { { "offset", offset }, { "amount", amount } }, HttpMethod.Get, token); } public virtual async Task GenerateOnChainWallet(string storeId, string paymentMethodId, GenerateOnChainWalletRequest request, CancellationToken token = default) { return await SendHttpRequest($"api/v1/stores/{storeId}/payment-methods/{paymentMethodId}/wallet/generate", request, HttpMethod.Post, token); } }