mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-06-28 12:29:51 +00:00
CW-997 coin control enhancements / send ALL fixes (#2114)
* computed sending balance value * files that didnt get added before * monero + move unspent calc to view model * working * remove old code * Update lib/view_model/send/send_view_model.dart --------- Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
This commit is contained in:
parent
7831b421b1
commit
40a0989956
8 changed files with 106 additions and 12 deletions
|
@ -225,6 +225,42 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor
|
|||
return wallet.balance[selectedCryptoCurrency]!.formattedFullAvailableBalance;
|
||||
}
|
||||
|
||||
@action
|
||||
Future<void> updateSendingBalance() async {
|
||||
// force the sendingBalance to recompute since unspent coins aren't observable
|
||||
// or at least mobx can't detect the changes
|
||||
|
||||
final currentType = coinTypeToSpendFrom;
|
||||
|
||||
if (currentType == UnspentCoinType.any) {
|
||||
coinTypeToSpendFrom = UnspentCoinType.nonMweb;
|
||||
} else if (currentType == UnspentCoinType.nonMweb) {
|
||||
coinTypeToSpendFrom = UnspentCoinType.any;
|
||||
} else if (currentType == UnspentCoinType.mweb) {
|
||||
coinTypeToSpendFrom = UnspentCoinType.nonMweb;
|
||||
}
|
||||
|
||||
// set it back to the original value:
|
||||
coinTypeToSpendFrom = currentType;
|
||||
}
|
||||
|
||||
@computed
|
||||
String get sendingBalance {
|
||||
// only for electrum, monero, wownero, decred wallets atm:
|
||||
switch (wallet.type) {
|
||||
case WalletType.bitcoin:
|
||||
case WalletType.litecoin:
|
||||
case WalletType.bitcoinCash:
|
||||
case WalletType.monero:
|
||||
case WalletType.wownero:
|
||||
case WalletType.decred:
|
||||
return wallet.formatCryptoAmount(
|
||||
unspentCoinsListViewModel.getSendingBalance(coinTypeToSpendFrom).toString());
|
||||
default:
|
||||
return balance;
|
||||
}
|
||||
}
|
||||
|
||||
@computed
|
||||
bool get isFiatDisabled => balanceViewModel.isFiatDisabled;
|
||||
|
||||
|
@ -502,14 +538,14 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor
|
|||
return bitcoin!.createBitcoinTransactionCredentials(
|
||||
outputs,
|
||||
priority: priority!,
|
||||
feeRate:feesViewModel. customBitcoinFeeRate,
|
||||
feeRate: feesViewModel.customBitcoinFeeRate,
|
||||
coinTypeToSpendFrom: coinTypeToSpendFrom,
|
||||
);
|
||||
case WalletType.litecoin:
|
||||
return bitcoin!.createBitcoinTransactionCredentials(
|
||||
outputs,
|
||||
priority: priority!,
|
||||
feeRate:feesViewModel. customBitcoinFeeRate,
|
||||
feeRate: feesViewModel.customBitcoinFeeRate,
|
||||
// if it's an exchange flow then disable sending from mweb coins
|
||||
coinTypeToSpendFrom: provider != null ? UnspentCoinType.nonMweb : coinTypeToSpendFrom,
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue