Ejemplo n.º 1
0
        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
        }
Ejemplo n.º 2
0
        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
        }