diff --git a/app/build.gradle b/app/build.gradle index 0a29927a55..310b18fa9f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -77,9 +77,9 @@ dependencies { implementation 'com.google.android.play:core-ktx:1.8.1' coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5' - implementation 'com.tangem:blockchain:develop-55' - implementation 'com.tangem.tangem-sdk-kotlin:core:develop-125' - implementation 'com.tangem.tangem-sdk-kotlin:android:develop-125' + implementation 'com.tangem:blockchain:develop-57' + implementation 'com.tangem.tangem-sdk-kotlin:core:develop-127' + implementation 'com.tangem.tangem-sdk-kotlin:android:develop-127' // WebView implementation "androidx.browser:browser:1.3.0" diff --git a/app/src/main/java/com/tangem/tap/common/extensions/WalletManager.kt b/app/src/main/java/com/tangem/tap/common/extensions/WalletManager.kt index 70a4fcc286..3d33ceeaa8 100644 --- a/app/src/main/java/com/tangem/tap/common/extensions/WalletManager.kt +++ b/app/src/main/java/com/tangem/tap/common/extensions/WalletManager.kt @@ -1,11 +1,11 @@ package com.tangem.tap.common.extensions +import com.tangem.blockchain.common.BlockchainSdkError import com.tangem.blockchain.common.Wallet import com.tangem.blockchain.common.WalletManager import com.tangem.common.services.Result import com.tangem.tap.domain.TapError import com.tangem.tap.domain.extensions.amountToCreateAccount -import com.tangem.tap.domain.extensions.isNoAccountError import com.tangem.tap.domain.getFirstToken import com.tangem.tap.domain.topup.TradeCryptoHelper import com.tangem.tap.features.wallet.redux.AddressData @@ -26,7 +26,7 @@ suspend fun WalletManager.safeUpdate(): Result = try { val blockchain = wallet.blockchain val amountToCreateAccount = blockchain.amountToCreateAccount(wallet.getFirstToken()) - if (blockchain.isNoAccountError(exception) && amountToCreateAccount != null) { + if (exception is BlockchainSdkError.AccountNotFound && amountToCreateAccount != null) { Result.Failure(TapError.WalletManagerUpdate.NoAccountError(amountToCreateAccount.toString())) } else { val message = exception.localizedMessage ?: "An error has occurred. Try later" diff --git a/app/src/main/java/com/tangem/tap/domain/extensions/Blockchain.kt b/app/src/main/java/com/tangem/tap/domain/extensions/Blockchain.kt index 0563eb8482..673ef1787b 100644 --- a/app/src/main/java/com/tangem/tap/domain/extensions/Blockchain.kt +++ b/app/src/main/java/com/tangem/tap/domain/extensions/Blockchain.kt @@ -6,14 +6,6 @@ import com.tangem.common.card.EllipticCurve import java.math.BigDecimal -fun Blockchain.isNoAccountError(exception: Throwable): Boolean { - return when (this) { - Blockchain.Stellar, Blockchain.XRP -> - exception.message?.contains("Account not found") == true - else -> false - } -} - fun Blockchain.amountToCreateAccount(token: Token? = null): BigDecimal? { return when (this) { Blockchain.Stellar -> if (token?.symbol == NODL) BigDecimal(1.5) else BigDecimal.ONE 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 9243d5953e..572658b793 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 @@ -205,13 +205,13 @@ private fun sendTransaction( } is SimpleResult.Failure -> { when (sendResult.error) { - is CreateAccountUnderfunded -> { - val error = sendResult.error as CreateAccountUnderfunded + is BlockchainSdkError.CreateAccountUnderfunded -> { + val error = sendResult.error as BlockchainSdkError.CreateAccountUnderfunded val reserve = error.minReserve.value?.stripZeroPlainString() ?: "0" val symbol = error.minReserve.currencySymbol dispatch(SendAction.SendError(TapError.CreateAccountUnderfunded(listOf(reserve, symbol)))) } - is SendException -> { + is BlockchainSdkError.SendException -> { sendResult.error?.let { FirebaseCrashlytics.getInstance().recordException(it) } } is Throwable -> {