diff --git a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt index 405897ace0..a91c30859e 100644 --- a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt +++ b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt @@ -413,13 +413,17 @@ internal class SwapInteractorImpl @Inject constructor( fromToken.network.backendId, fromToken.network.derivationPath.value, ) ?: ProxyAmount.empty() + // ignore if amount is bigger than balance + if (amount.value > nativeBalance.value) { + return + } val fee = when (txFee) { TxFeeState.Empty -> BigDecimal.ZERO is TxFeeState.MultipleFeeState -> txFee.priorityFee.feeValue is TxFeeState.SingleFeeState -> txFee.fee.feeValue } val minAvailableAmount = nativeBalance.value - existentialDeposit - fee - if (nativeBalance.value.minus(amount.value) < existentialDeposit) { + if (nativeBalance.value.minus(amount.value + fee) < existentialDeposit) { warnings.add(Warning.ExistentialDepositWarning(existentialDeposit, minAvailableAmount)) } } diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/TransactionCard.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/TransactionCard.kt index e8b04b03fc..7ae3edc6a2 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/TransactionCard.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/TransactionCard.kt @@ -282,7 +282,10 @@ private fun Content( if (amountEquivalent != null) { if (type is TransactionCardType.ReadOnly) { - Row(modifier = Modifier.defaultMinSize(minHeight = TangemTheme.dimens.size20)) { + Row( + modifier = Modifier.defaultMinSize(minHeight = TangemTheme.dimens.size20), + verticalAlignment = Alignment.CenterVertically, + ) { if (priceImpact is PriceImpact.Value) { Text( text = makePriceImpactBalanceWarning( @@ -291,8 +294,6 @@ private fun Content( ), color = TangemTheme.colors.text.tertiary, style = TangemTheme.typography.body2, - modifier = Modifier - .align(Alignment.CenterVertically), ) } else { AnimatedContent(targetState = amountEquivalent, label = "") { @@ -312,7 +313,7 @@ private fun Content( modifier = Modifier.size(size = TangemTheme.dimens.size20), ) { Icon( - painter = painterResource(id = R.drawable.ic_alert_24), + painter = painterResource(id = R.drawable.ic_information_24), contentDescription = null, tint = if (priceImpact is PriceImpact.Value) { TangemTheme.colors.text.attention diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index fd64bed28e..e0d517abb2 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -87,7 +87,7 @@ markdown = "0.7.2" # endregion Other libraries # region Tangem -tangemBlockchainSdk = "release-app_5.12-683" +tangemBlockchainSdk = "release-app_5.12-689" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "release-app_5.12-364" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^