@using BTCPayServer.Plugins.SideShift @using BTCPayServer.Payments @inject BTCPayServer.Security.ContentSecurityPolicies csp @inject SideShiftService SideShiftService @model BTCPayServer.Models.InvoicingModels.PaymentModel @{ var settings = await SideShiftService.GetSideShiftForInvoice(Model.InvoiceId, Model.StoreId); var preferredTargetPaymentMethodId = ""; if(!PaymentMethodId.TryParse(settings?.PreferredTargetPaymentMethodId, out var preferredPMI)) { preferredTargetPaymentMethodId = null; } else { preferredTargetPaymentMethodId = Model.AvailableCryptos.FirstOrDefault(crypto => crypto.PaymentMethodId == settings.PreferredTargetPaymentMethodId || (crypto.CryptoCode == preferredPMI.CryptoCode && crypto.PaymentMethodId.EndsWith(LNURLPayPaymentType.Instance.GetId()) || crypto.PaymentMethodId.EndsWith(LightningPaymentType.Instance.GetId())))?.PaymentMethodId; } } @if (settings?.Enabled is true) { csp.Add("script-src", "https://sideshift.ai"); csp.Add("script-src", "*.sideshift.ai"); }