public CryptoPaymentData GetCryptoPaymentData() { #pragma warning disable CS0618 if (string.IsNullOrEmpty(CryptoPaymentDataType)) { // For invoices created when CryptoPaymentDataType was not existing, we just consider that it is a RBFed payment for safety var paymentData = new Payments.Bitcoin.BitcoinLikePaymentData(); paymentData.Outpoint = Outpoint; paymentData.Output = Output; paymentData.RBF = true; paymentData.ConfirmationCount = 0; paymentData.Legacy = true; return(paymentData); } if (GetPaymentMethodId().PaymentType == PaymentTypes.BTCLike) { var paymentData = JsonConvert.DeserializeObject <Payments.Bitcoin.BitcoinLikePaymentData>(CryptoPaymentData); // legacy paymentData.Output = Output; paymentData.Outpoint = Outpoint; return(paymentData); } if (GetPaymentMethodId().PaymentType == PaymentTypes.LightningLike) { return(JsonConvert.DeserializeObject <Payments.Lightning.LightningLikePaymentData>(CryptoPaymentData)); } throw new NotSupportedException(nameof(CryptoPaymentDataType) + " does not support " + CryptoPaymentDataType); #pragma warning restore CS0618 }
public CryptoPaymentData GetCryptoPaymentData() { #pragma warning disable CS0618 if (string.IsNullOrEmpty(CryptoPaymentDataType)) { // In case this is a payment done before this update, consider it unconfirmed with RBF for safety var paymentData = new Payments.Bitcoin.BitcoinLikePaymentData(); paymentData.Outpoint = Outpoint; paymentData.Output = Output; paymentData.RBF = true; paymentData.ConfirmationCount = 0; paymentData.Legacy = true; return(paymentData); } if (GetPaymentMethodId().PaymentType == PaymentTypes.BTCLike) { var paymentData = JsonConvert.DeserializeObject <Payments.Bitcoin.BitcoinLikePaymentData>(CryptoPaymentData); // legacy paymentData.Output = Output; paymentData.Outpoint = Outpoint; return(paymentData); } if (GetPaymentMethodId().PaymentType == PaymentTypes.LightningLike) { return(JsonConvert.DeserializeObject <Payments.Lightning.LightningLikePaymentData>(CryptoPaymentData)); } throw new NotSupportedException(nameof(CryptoPaymentDataType) + " does not support " + CryptoPaymentDataType); #pragma warning restore CS0618 }