@using Breez.Sdk @using BTCPayServer @using BTCPayServer.Client @using BTCPayServer.Components.QRCode @using BTCPayServer.Components.TruncateCenter @using BTCPayServer.Models.StoreViewModels @using BTCPayServer.Payments @using BTCPayServer.Plugins.Breez @using BTCPayServer.Security @using BTCPayServer.Services @using BTCPayServer.Services.Invoices @using Microsoft.AspNetCore.Mvc.TagHelpers @using NBitcoin @inject BreezService BreezService @inject TransactionLinkProviders TransactionLinkProviders @inject PaymentMethodHandlerDictionary PaymentMethodHandlerDictionary @{ ViewData.SetActivePage("Breez", "Swap In", "SwapIn"); var pmi = PaymentTypes.CHAIN.GetPaymentMethodId("BTC"); string storeId = Model switch { string s => s, StoreDashboardViewModel dashboardModel => dashboardModel.StoreId, _ => Context.GetImplicitStoreId() }; var sdk = BreezService.GetClient(storeId)?.Sdk; if (sdk is null) return; SwapInfo inProgressSwap = null; try { inProgressSwap = sdk.InProgressSwap(); inProgressSwap ??= sdk.ReceiveOnchain(new ReceiveOnchainRequest()); } catch (Exception e) { } var refundables = sdk.ListRefundables(); var deriv = Context.GetStoreData().GetDerivationSchemeSettings(PaymentMethodHandlerDictionary, "BTC"); var ni = sdk.NodeInfo(); var f = sdk.RecommendedFees(); }
@if (inProgressSwap is not null) {
Please send an amount between
@Money.Satoshis(inProgressSwap.minAllowedDeposit).ToDecimal(MoneyUnit.BTC) and @Money.Satoshis(inProgressSwap.maxAllowedDeposit).ToDecimal(MoneyUnit.BTC)BTC
@if (deriv is not null) { var wallet = new WalletId(storeId, "BTC"); Send using BTCPay Wallet } @{ var onChainSats = ni.onchainBalanceMsat / 1000; if (inProgressSwap.minAllowedDeposit <= (long) onChainSats) {
} }
@if (inProgressSwap.unconfirmedSats + inProgressSwap.confirmedSats + (inProgressSwap.paidMsat * 1000) > 0) {
@inProgressSwap.unconfirmedSats sats unconfirmed @inProgressSwap.confirmedSats sats confirmed @(inProgressSwap.paidMsat * 1000) sats paid
} @if (inProgressSwap.unconfirmedTxIds.Any()) {
Unconfirmed transactions @foreach (var txId in inProgressSwap.unconfirmedTxIds) { }
} @if (inProgressSwap.confirmedTxIds.Any()) {
Confirmed transactions @foreach (var txId in inProgressSwap.confirmedTxIds) { }
}
} @if (refundables?.Any() is true) { @foreach (var refund in refundables) { }
Status Created Deposit Address Payment Actions
@refund.status @DateTimeOffset.FromUnixTimeSeconds(refund.createdAt) @refund.bitcoinAddress @if (refund.unconfirmedSats + refund.confirmedSats + refund.paidMsat > 0) {
@refund.unconfirmedSats sats unconfirmed @refund.confirmedSats sats confirmed @(refund.paidMsat * 1000) sats paid
} @if (refund.unconfirmedTxIds.Any()) {
Unconfirmed transactions @foreach (var txId in refund.unconfirmedTxIds) { }
} @if (refund.confirmedTxIds.Any()) {
Confirmed transactions @foreach (var txId in refund.confirmedTxIds) { }
} @if (refund.refundTxIds.Any()) {
Refund transactions @foreach (var txId in refund.refundTxIds) { }
}
Start Refund
}