tolerate nullable payment methods
OmarHatem committed
Nov 2, 2025 at 05:54 UTC
dd772d84f976d20fd504d492c51a131bb83983d4
3 files changed
+14
-15
cw_bitcoin/pubspec.lock
+2
-2
@@ -1159,8 +1159,8 @@ packages:
1159
dependency: "direct main"
1160
description:
1161
path: "."
1162
- ref: "59b3ceec158d3393b20d0c596cab2abcc62ac8e4"
1163
- resolved-ref: "59b3ceec158d3393b20d0c596cab2abcc62ac8e4"
1162
+ ref: d1242cea90f84b00200e7bcab914a5af750e23fb
1163
+ resolved-ref: d1242cea90f84b00200e7bcab914a5af750e23fb
1164
url: "https://github.com/cake-tech/trezor_connect"
1165
source: git
1166
version: "0.0.1"
lib/cake_pay/src/models/cake_pay_order.dart
+10
-10
@@ -124,11 +124,11 @@ class OrderCard {
124
}
125
126
class PaymentData {
127
- final CryptoPaymentData btc;
128
- final CryptoPaymentData btc_ln;
129
- final CryptoPaymentData xmr;
130
- final CryptoPaymentData ltc;
131
- final CryptoPaymentData ltc_mweb;
127
+ final CryptoPaymentData? btc;
128
+ final CryptoPaymentData? btc_ln;
129
+ final CryptoPaymentData? xmr;
130
+ final CryptoPaymentData? ltc;
131
+ final CryptoPaymentData? ltc_mweb;
132
final DateTime invoiceTime;
133
final DateTime expirationTime;
134
final int? commission;
@@ -146,11 +146,11 @@ class PaymentData {
146
147
factory PaymentData.fromMap(Map<String, dynamic> map) {
148
return PaymentData(
149
- btc: CryptoPaymentData.fromMap(map['BTC'] as Map<String, dynamic>),
150
- btc_ln: CryptoPaymentData.fromMap(map['BTC_LN'] as Map<String, dynamic>),
151
- xmr: CryptoPaymentData.fromMap(map['XMR'] as Map<String, dynamic>),
152
- ltc: CryptoPaymentData.fromMap(map['LTC'] as Map<String, dynamic>),
153
- ltc_mweb: CryptoPaymentData.fromMap(map['LTC_MWEB'] as Map<String, dynamic>),
149
+ btc: map['BTC'] != null ? CryptoPaymentData.fromMap(map['BTC'] as Map<String, dynamic>) : null,
150
+ btc_ln: map['BTC_LN'] != null ? CryptoPaymentData.fromMap(map['BTC_LN'] as Map<String, dynamic>) : null,
151
+ xmr: map['XMR'] != null ? CryptoPaymentData.fromMap(map['XMR'] as Map<String, dynamic>) : null,
152
+ ltc: map['LTC'] != null ? CryptoPaymentData.fromMap(map['LTC'] as Map<String, dynamic>) : null,
153
+ ltc_mweb: map['LTC_MWEB'] != null ? CryptoPaymentData.fromMap(map['LTC_MWEB'] as Map<String, dynamic>) : null,
154
invoiceTime: DateTime.fromMillisecondsSinceEpoch(map['invoice_time'] as int),
155
expirationTime: DateTime.fromMillisecondsSinceEpoch(map['expiration_time'] as int),
156
commission: map['commission'] as int?,
lib/view_model/cake_pay/cake_pay_buy_card_view_model.dart
+2
-3
@@ -1,6 +1,5 @@
1
import 'dart:async';
2
3
-import 'package:cake_wallet/buy/buy_provider_description.dart';
3
import 'package:cake_wallet/order/order_provider_description.dart';
4
import 'package:cake_wallet/order/order.dart';
5
import 'package:cake_wallet/order/order_source_description.dart';
@@ -170,10 +169,10 @@ abstract class CakePayBuyCardViewModelBase with Store {
169
from: CakePayOrder.getCurrencyCodeFromPaymentMethod(selectedPaymentMethod!),
170
to: order!.fiatCurrencyCode,
171
createdAt: DateTime.now(),
173
- amount: paymentData.amount ?? '',
172
+ amount: paymentData.amount,
173
receiveAmount: order!.totalReceiveAmount,
174
quantity: order!.quantity.toString(),
176
- receiveAddress: paymentData.address ?? '',
175
+ receiveAddress: paymentData.address,
176
source: OrderSourceDescription.order,
177
giftCardProvider: OrderProviderDescription.cakePay,
178
walletId: sendViewModel.wallet.id);