From b5ac6052ac2ecde95f69842f8e2387a0a6a6d209 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 25 Oct 2022 22:48:04 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/tap/common/extensions/WalletManager.kt | 11 ++++++++--- .../wallet/saltPay/SaltPayActivationManager.kt | 3 ++- .../wallet/saltPay/SaltPayExceptionHandler.kt | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) 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 76144c6132..15d02907bf 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 @@ -44,8 +44,13 @@ suspend fun WalletManager.safeUpdate(): Result = try { if (exception is BlockchainSdkError.AccountNotFound && amountToCreateAccount != null) { Result.Failure(TapError.WalletManager.NoAccountError(amountToCreateAccount.toString())) } else { - val message = exception.localizedMessage ?: "An error has occurred. Try later" - Result.Failure(TapError.WalletManager.InternalError(message)) + when (exception) { + is BlockchainSdkError -> Result.Failure(exception) + else -> { + val message = exception.cause?.localizedMessage ?: "Unknown error" + Result.Failure(TapError.WalletManager.InternalError(message)) + } + } } } } @@ -72,7 +77,7 @@ fun WalletManager?.getAddressData(): AddressData? { else addressDataList[0] } -fun WalletManager.Companion.stub(): T { +fun WalletManager.Companion.stub(): T { val wallet = Wallet(Blockchain.Unknown, setOf(), Wallet.PublicKey(byteArrayOf(), null, null), setOf()) return object : WalletManager(wallet) { override val currentHost: String = "" diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/saltPay/SaltPayActivationManager.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/saltPay/SaltPayActivationManager.kt index 9080c00383..e103ad4391 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/saltPay/SaltPayActivationManager.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/saltPay/SaltPayActivationManager.kt @@ -4,6 +4,7 @@ import android.net.Uri import com.tangem.blockchain.blockchains.ethereum.SignedEthereumTransaction import com.tangem.blockchain.common.Amount import com.tangem.blockchain.common.AmountType +import com.tangem.blockchain.common.BlockchainSdkError import com.tangem.blockchain.common.TransactionSigner import com.tangem.blockchain.extensions.successOr import com.tangem.common.extensions.guard @@ -48,7 +49,7 @@ class SaltPayActivationManager( } else { Result.Failure(SaltPayActivationError.NoGas) } - is com.tangem.blockchain.extensions.Result.Failure -> Result.Failure(SaltPayActivationError.NoGas) + is com.tangem.blockchain.extensions.Result.Failure -> Result.Failure(hasGasResult.error as BlockchainSdkError) } } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/saltPay/SaltPayExceptionHandler.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/saltPay/SaltPayExceptionHandler.kt index 87d0c2831d..3b4ed41a05 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/saltPay/SaltPayExceptionHandler.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/saltPay/SaltPayExceptionHandler.kt @@ -1,5 +1,6 @@ package com.tangem.tap.features.onboarding.products.wallet.saltPay +import com.tangem.blockchain.common.BlockchainSdkError import com.tangem.common.core.TangemSdkError import com.tangem.tap.common.extensions.dispatchDialogShow import com.tangem.tap.common.redux.AppDialog @@ -21,7 +22,6 @@ class SaltPayExceptionHandler { } store.dispatchDialogShow(dialog) } - is TangemSdkError -> { when (throwable) { is TangemSdkError.NetworkError -> { @@ -33,8 +33,11 @@ class SaltPayExceptionHandler { } } } + is BlockchainSdkError -> { + store.dispatchDialogShow(AppDialog.SimpleOkErrorDialog(throwable.customMessage)) + } else -> { - val message = throwable.message ?: "SaltPay unknown error" + val message = throwable.localizedMessage ?: "SaltPay unknown error" store.dispatchDialogShow(AppDialog.SimpleOkErrorDialog(message)) } }