diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/viewmodel/SendViewModel.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/viewmodel/SendViewModel.kt index 98d771ee76..d2231aaf7f 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/viewmodel/SendViewModel.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/viewmodel/SendViewModel.kt @@ -207,7 +207,6 @@ internal class SendViewModel @Inject constructor( private var sendIdleTimer = 0L init { - subscribeOnQRScannerResult() subscribeOnCurrencyStatusUpdates() subscribeOnBalanceHidden() getTapHelpPreviewAvailability() @@ -374,7 +373,7 @@ internal class SendViewModel @Inject constructor( cryptoCurrencyStatus = currencyStatus coinCryptoCurrencyStatus = coinCurrencyStatus feeCryptoCurrencyStatus = feeCurrencyStatus - + subscribeOnQRScannerResult() when { uiState.sendState?.isSuccess == true -> { stateRouter.showSend() @@ -630,7 +629,7 @@ internal class SendViewModel @Inject constructor( }.saveIn(memoValidationJobHolder) } - private suspend fun validateAddress(value: String): Boolean { + private suspend fun validateAddress(value: String): Boolean = runCatching { val isValidAddress = validateWalletAddressUseCase( userWalletId = userWalletId, network = cryptoCurrency.network, @@ -640,7 +639,7 @@ internal class SendViewModel @Inject constructor( ?.any { it.value == value } ?: true onEnteredValidAddress(isValidAddress, isAddressInWallet) return isValidAddress - } + }.getOrElse { false } private suspend fun checkIfXrpAddressValue(value: String): Boolean { return BlockchainUtils.decodeRippleXAddress(value, cryptoCurrency.network.id.value)?.let { decodedAddress ->