feat: add ToMoney extension for double type and refactor currency amount conversions (#3391)

This commit is contained in:
Konstantin Ullrich
2026-07-12 03:55:54 +03:00
committed by GitHub
parent 5b2045af28
commit 77f305af09
3 changed files with 20 additions and 7 deletions
@@ -45,6 +45,7 @@ import 'package:cake_wallet/store/app_store.dart';
import 'package:cake_wallet/utils/exchange_provider_logger.dart';
import 'package:cw_core/amount/amount_sanitizer.dart';
import 'package:cw_core/amount/money.dart';
import 'package:cw_core/amount/money_double.dart';
import "package:cw_core/wallet_info.dart";
import 'package:cake_wallet/store/dashboard/fiat_conversion_store.dart';
import 'package:cake_wallet/store/dashboard/trades_store.dart';
@@ -804,7 +805,7 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
}
final amount_ = _enteredAmount / (forcedProvider == null ? bestRate : forcedProviderRate);
_depositAmount = Money.tryParse(amount_.toStringAsFixed(depositCurrency.decimals), depositCurrency);
_depositAmount = amount_.tryToMoney(depositCurrency);
}
@action
@@ -863,8 +864,7 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
}
final amount_ = _enteredAmount * (forcedProvider == null ? bestRate : forcedProviderRate);
_receiveAmount =
Money.tryParse(amount_.toStringAsFixed(min(20, receiveCurrency.decimals)), receiveCurrency);
_receiveAmount = amount_.tryToMoney(receiveCurrency);
}
bool checkIfInputMeetsMinOrMaxCondition(String input) {