diff --git a/app/build.gradle b/app/build.gradle index 70991ec583..021f3fe282 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -64,7 +64,7 @@ dependencies { implementation 'com.google.android.material:material:1.2.1' coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.10' - implementation 'com.tangem:blockchain:1.45.0' + implementation 'com.tangem:blockchain:1.49.0' //lifecycle implementation "androidx.lifecycle:lifecycle-runtime:2.2.0" diff --git a/app/src/main/java/com/tangem/tap/domain/TapErrors.kt b/app/src/main/java/com/tangem/tap/domain/TapErrors.kt index 4bd45c181d..b6668d0754 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapErrors.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapErrors.kt @@ -2,6 +2,7 @@ package com.tangem.tap.domain import androidx.annotation.StringRes import com.tangem.wallet.R +import java.math.BigDecimal interface TapErrors interface MultiMessageError : TapErrors { @@ -24,7 +25,9 @@ sealed class TapError(@StringRes val localizedMessage: Int) : Throwable(), TapEr object InvalidAmountValue : TapError(R.string.invalid_amount_value) object InvalidFeeValue : TapError(R.string.invalid_fee_value) object DustAmount : TapError(R.string.dust_amount) - object DustChang : TapError(R.string.dust_change) + object DustChange : TapError(R.string.dust_change) + object CreateAccountUnderfunded : TapError(R.string.create_account_underfunded) + data class ValidateTransactionErrors( override val errorList: List, override val builder: (List) -> String diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/AmountMiddleware.kt b/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/AmountMiddleware.kt index d77bb638f0..2db1073a31 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/AmountMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/AmountMiddleware.kt @@ -71,7 +71,7 @@ class AmountMiddleware { TransactionError.InvalidAmountValue -> TapError.InvalidAmountValue TransactionError.InvalidFeeValue -> TapError.InvalidFeeValue TransactionError.DustAmount -> TapError.DustAmount - TransactionError.DustChange -> TapError.DustChang + TransactionError.DustChange -> TapError.DustChange else -> TapError.UnknownError } } diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/SendMiddleware.kt b/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/SendMiddleware.kt index 9fc892d655..0ef6422639 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/SendMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/SendMiddleware.kt @@ -1,6 +1,7 @@ package com.tangem.tap.features.send.redux.middlewares import com.tangem.blockchain.common.Amount +import com.tangem.blockchain.common.CreateAccountUnderfunded import com.tangem.blockchain.common.TransactionSender import com.tangem.blockchain.extensions.Signer import com.tangem.blockchain.extensions.SimpleResult @@ -69,6 +70,9 @@ private fun verifyAndSendTransaction(appState: AppState?, dispatch: (Action) -> } is SimpleResult.Failure -> { when (result.error) { + is CreateAccountUnderfunded -> + dispatch(SendAction.SendError(TapError.CreateAccountUnderfunded)) + is Throwable -> { val message = (result.error as Throwable).message when { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bffdfc8813..836cd2d341 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -68,6 +68,7 @@ invalid_fee_value dust_amount dust_change + Target account is not created. Send more than base reserve to create Send Address or PayID