import 'package:pshared/models/currency.dart'; import 'package:pshared/models/wallet/wallet.dart' as domain; import 'package:pshared/models/payment/wallet.dart'; import 'package:pshared/utils/currency.dart'; extension WalletUiMapper on domain.WalletModel { Wallet toUi() { final amountStr = availableMoney?.amount ?? balance?.available?.amount ?? '0'; final parsedAmount = double.tryParse(amountStr) ?? 0; final currency = currencyStringToCode(asset.tokenSymbol); return Wallet( id: walletRef, walletUserID: walletRef, balance: parsedAmount, currency: currency, isHidden: true, calculatedAt: balance?.calculatedAt ?? DateTime.now(), depositAddress: depositAddress, network: asset.chain, tokenSymbol: asset.tokenSymbol, contractAddress: asset.contractAddress, describable: describable, ); } }