From dd772d84f976d20fd504d492c51a131bb83983d4 Mon Sep 17 00:00:00 2001 From: OmarHatem Date: Sun, 2 Nov 2025 05:54:27 +0100 Subject: [PATCH] tolerate nullable payment methods --- cw_bitcoin/pubspec.lock | 4 ++-- lib/cake_pay/src/models/cake_pay_order.dart | 20 +++++++++---------- .../cake_pay_buy_card_view_model.dart | 5 ++--- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/cw_bitcoin/pubspec.lock b/cw_bitcoin/pubspec.lock index 16ff71686..681e68d47 100644 --- a/cw_bitcoin/pubspec.lock +++ b/cw_bitcoin/pubspec.lock @@ -1159,8 +1159,8 @@ packages: dependency: "direct main" description: path: "." - ref: "59b3ceec158d3393b20d0c596cab2abcc62ac8e4" - resolved-ref: "59b3ceec158d3393b20d0c596cab2abcc62ac8e4" + ref: d1242cea90f84b00200e7bcab914a5af750e23fb + resolved-ref: d1242cea90f84b00200e7bcab914a5af750e23fb url: "https://github.com/cake-tech/trezor_connect" source: git version: "0.0.1" diff --git a/lib/cake_pay/src/models/cake_pay_order.dart b/lib/cake_pay/src/models/cake_pay_order.dart index d3a2ecfda..0f70c50f5 100644 --- a/lib/cake_pay/src/models/cake_pay_order.dart +++ b/lib/cake_pay/src/models/cake_pay_order.dart @@ -124,11 +124,11 @@ class OrderCard { } class PaymentData { - final CryptoPaymentData btc; - final CryptoPaymentData btc_ln; - final CryptoPaymentData xmr; - final CryptoPaymentData ltc; - final CryptoPaymentData ltc_mweb; + final CryptoPaymentData? btc; + final CryptoPaymentData? btc_ln; + final CryptoPaymentData? xmr; + final CryptoPaymentData? ltc; + final CryptoPaymentData? ltc_mweb; final DateTime invoiceTime; final DateTime expirationTime; final int? commission; @@ -146,11 +146,11 @@ class PaymentData { factory PaymentData.fromMap(Map map) { return PaymentData( - btc: CryptoPaymentData.fromMap(map['BTC'] as Map), - btc_ln: CryptoPaymentData.fromMap(map['BTC_LN'] as Map), - xmr: CryptoPaymentData.fromMap(map['XMR'] as Map), - ltc: CryptoPaymentData.fromMap(map['LTC'] as Map), - ltc_mweb: CryptoPaymentData.fromMap(map['LTC_MWEB'] as Map), + btc: map['BTC'] != null ? CryptoPaymentData.fromMap(map['BTC'] as Map) : null, + btc_ln: map['BTC_LN'] != null ? CryptoPaymentData.fromMap(map['BTC_LN'] as Map) : null, + xmr: map['XMR'] != null ? CryptoPaymentData.fromMap(map['XMR'] as Map) : null, + ltc: map['LTC'] != null ? CryptoPaymentData.fromMap(map['LTC'] as Map) : null, + ltc_mweb: map['LTC_MWEB'] != null ? CryptoPaymentData.fromMap(map['LTC_MWEB'] as Map) : null, invoiceTime: DateTime.fromMillisecondsSinceEpoch(map['invoice_time'] as int), expirationTime: DateTime.fromMillisecondsSinceEpoch(map['expiration_time'] as int), commission: map['commission'] as int?, diff --git a/lib/view_model/cake_pay/cake_pay_buy_card_view_model.dart b/lib/view_model/cake_pay/cake_pay_buy_card_view_model.dart index 87ebe63c8..2f4ccc502 100644 --- a/lib/view_model/cake_pay/cake_pay_buy_card_view_model.dart +++ b/lib/view_model/cake_pay/cake_pay_buy_card_view_model.dart @@ -1,6 +1,5 @@ import 'dart:async'; -import 'package:cake_wallet/buy/buy_provider_description.dart'; import 'package:cake_wallet/order/order_provider_description.dart'; import 'package:cake_wallet/order/order.dart'; import 'package:cake_wallet/order/order_source_description.dart'; @@ -170,10 +169,10 @@ abstract class CakePayBuyCardViewModelBase with Store { from: CakePayOrder.getCurrencyCodeFromPaymentMethod(selectedPaymentMethod!), to: order!.fiatCurrencyCode, createdAt: DateTime.now(), - amount: paymentData.amount ?? '', + amount: paymentData.amount, receiveAmount: order!.totalReceiveAmount, quantity: order!.quantity.toString(), - receiveAddress: paymentData.address ?? '', + receiveAddress: paymentData.address, source: OrderSourceDescription.order, giftCardProvider: OrderProviderDescription.cakePay, walletId: sendViewModel.wallet.id);