From fe7f1f8b5db6d2131c5382cfb5f4b6fee96b815c Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 9 Nov 2022 22:17:30 +0500 Subject: [PATCH 1/7] Updated on 2026-08-14 --- app/src/main/assets/tangem-app-config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/assets/tangem-app-config b/app/src/main/assets/tangem-app-config index cf6ea50867..a1658496e7 160000 --- a/app/src/main/assets/tangem-app-config +++ b/app/src/main/assets/tangem-app-config @@ -1 +1 @@ -Subproject commit cf6ea50867477f97655da9da47ff94987e8f3354 +Subproject commit a1658496e777b611fc990ef2bc1a1a1fd48bc1e6 From 9087ca5f5546ee7978ea0b30d61dce34194920b2 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 16 Nov 2022 11:07:20 +0400 Subject: [PATCH 2/7] Updated on 2026-08-14 --- dependencies.gradle | 2 +- .../java/com/tangem/domain/common/extensions/Blockchain.kt | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index ba7e3c39b6..2db7835bc2 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,7 +3,7 @@ ext.versions = [ build_gradle : '7.1.3', tangem_card_sdk : 'develop-165', // tangem_card_sdk : '0.0.1', - tangem_blockchain_sdk: 'develop-133', + tangem_blockchain_sdk: 'develop-134', // tangem_blockchain_sdk: '0.0.1', ] diff --git a/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt b/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt index b11840f128..0fde777794 100644 --- a/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt +++ b/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt @@ -44,8 +44,7 @@ fun Blockchain.Companion.fromNetworkId(networkId: String): Blockchain? { "polkadot" -> Blockchain.Polkadot "polkadot/test" -> Blockchain.PolkadotTestnet "kusama" -> Blockchain.Kusama - // "optimistic-ethereum" -> Blockchain.Optimism - "optimistic-ethereum" -> null //TODO: Optimism is disabled until next release + "optimistic-ethereum" -> Blockchain.Optimism "optimistic-ethereum/test" -> Blockchain.OptimismTestnet "dash" -> Blockchain.Dash "sxdai" -> Blockchain.SaltPay @@ -144,6 +143,5 @@ fun Blockchain.isSupportedInApp(): Boolean { } private val excludedBlockchains = listOf( - Blockchain.Optimism, // TODO: remove when fee calculation is fixed Blockchain.SaltPay, ) \ No newline at end of file From 626b1496cfac9494ded605736df3b045dba250b5 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 17 Nov 2022 12:28:38 +0300 Subject: [PATCH 3/7] Updated on 2026-08-14 --- .../redux/middlewares/WalletMiddleware.kt | 36 ++++++++++++------- app/src/main/res/values-ru/strings_final.xml | 1 + app/src/main/res/values/strings_final.xml | 1 + 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt index 30a72f0fd4..ea47afc58a 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt @@ -1,5 +1,6 @@ package com.tangem.tap.features.wallet.redux.middlewares +import com.google.firebase.crashlytics.FirebaseCrashlytics import com.tangem.blockchain.blockchains.solana.RentProvider import com.tangem.blockchain.common.Amount import com.tangem.blockchain.common.AmountType @@ -17,6 +18,7 @@ import com.tangem.tap.common.extensions.dispatchDebugErrorNotification import com.tangem.tap.common.extensions.dispatchErrorNotification import com.tangem.tap.common.extensions.dispatchOnMain import com.tangem.tap.common.extensions.dispatchOpenUrl +import com.tangem.tap.common.extensions.dispatchToastNotification import com.tangem.tap.common.extensions.onCardScanned import com.tangem.tap.common.extensions.shareText import com.tangem.tap.common.extensions.stripZeroPlainString @@ -45,6 +47,7 @@ import com.tangem.tap.preferencesStorage import com.tangem.tap.scope import com.tangem.tap.store import com.tangem.tap.tangemSdkManager +import com.tangem.wallet.R import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll import kotlinx.coroutines.launch @@ -118,10 +121,9 @@ class WalletMiddleware { true, ), ) - store.dispatch(WalletAction.LoadWallet.Success( - action.wallet, - action.blockchain - )) + store.dispatch( + action = WalletAction.LoadWallet.Success(action.wallet, action.blockchain) + ) } } store.dispatch(WalletAction.Warnings.CheckHashesCount.CheckHashesCountOnline) @@ -257,9 +259,17 @@ class WalletMiddleware { return } val newAction = prepareSendAction(action.amount, store.state.walletState) - store.dispatch(newAction) - if (newAction is PrepareSendScreen) { - store.dispatch(NavigationAction.NavigateTo(AppScreen.Send)) + if (newAction is PrepareSendScreen && newAction.walletManager == null) { + store.dispatch(NavigationAction.PopBackTo(screen = AppScreen.Home)) + FirebaseCrashlytics.getInstance().recordException( + IllegalStateException("PrepareSendScreen: walletManager is null") + ) + store.dispatchToastNotification(R.string.internal_error_wallet_manager_not_found) + } else { + store.dispatch(newAction) + if (newAction is PrepareSendScreen) { + store.dispatch(NavigationAction.NavigateTo(AppScreen.Send)) + } } } } @@ -366,11 +376,13 @@ class WalletMiddleware { val currency = walletManager.wallet.blockchain.currency if (show) { - dispatchOnMain(WalletAction.SetWalletRent( - wallet = walletManager.wallet, - minRent = ("${rentProvider.rentAmount().stripZeroPlainString()} $currency"), - rentExempt = ("${rentExempt.stripZeroPlainString()} $currency") - )) + dispatchOnMain( + WalletAction.SetWalletRent( + wallet = walletManager.wallet, + minRent = ("${rentProvider.rentAmount().stripZeroPlainString()} $currency"), + rentExempt = ("${rentExempt.stripZeroPlainString()} $currency") + ) + ) } else { dispatchOnMain(WalletAction.RemoveWalletRent(walletManager.wallet)) } diff --git a/app/src/main/res/values-ru/strings_final.xml b/app/src/main/res/values-ru/strings_final.xml index fe86cb0019..ad4f23ca35 100644 --- a/app/src/main/res/values-ru/strings_final.xml +++ b/app/src/main/res/values-ru/strings_final.xml @@ -152,4 +152,5 @@ Вы хотите выйти из процесса активации? В этом случае вам будет необходимо начать процесс заново. Вы использовали карту от другого кошелька. Приложите карту, связанную с этим кошельком. + Внутренняя ошибка: не удается найти менеджер кошельков diff --git a/app/src/main/res/values/strings_final.xml b/app/src/main/res/values/strings_final.xml index f5e11c6885..70e85346c6 100644 --- a/app/src/main/res/values/strings_final.xml +++ b/app/src/main/res/values/strings_final.xml @@ -154,4 +154,5 @@ Do you want to exit the activation process? In this case, you will need to start from the beginning. You have used a card from another wallet. Tap the card associated with this wallet + Internal error: wallet manager not found From 0fae89892af90d38eb136a68ca5c0fc1480d6aa4 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 17 Nov 2022 15:37:24 +0400 Subject: [PATCH 4/7] Updated on 2026-08-14 --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index 2db7835bc2..2376dbe286 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,7 +3,7 @@ ext.versions = [ build_gradle : '7.1.3', tangem_card_sdk : 'develop-165', // tangem_card_sdk : '0.0.1', - tangem_blockchain_sdk: 'develop-134', + tangem_blockchain_sdk: 'develop-135', // tangem_blockchain_sdk: '0.0.1', ] From 150bdaf01a76ae1af5980f64d8b3730a768dd80e Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 23 Nov 2022 21:10:11 +0400 Subject: [PATCH 5/7] Updated on 2026-08-14 --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index 2376dbe286..02d685f18f 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,7 +3,7 @@ ext.versions = [ build_gradle : '7.1.3', tangem_card_sdk : 'develop-165', // tangem_card_sdk : '0.0.1', - tangem_blockchain_sdk: 'develop-135', + tangem_blockchain_sdk: 'develop-139', // tangem_blockchain_sdk: '0.0.1', ] From 199d6d4eb76fa8cbd1ed112c685b0171bb8def56 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 23 Nov 2022 21:19:00 +0400 Subject: [PATCH 6/7] Updated on 2026-08-14 --- .../com/tangem/tap/domain/RatesRepository.kt | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/domain/RatesRepository.kt b/app/src/main/java/com/tangem/tap/domain/RatesRepository.kt index 51252c819c..8b4136e90f 100644 --- a/app/src/main/java/com/tangem/tap/domain/RatesRepository.kt +++ b/app/src/main/java/com/tangem/tap/domain/RatesRepository.kt @@ -20,21 +20,18 @@ class RatesRepository { val throttledResult = coinsList.filter { throttler.isStillThrottled(it) }.map { Pair(it, throttler.geValue(it)) } - if (throttledResult.isNotEmpty()) { - return handleFiatRatesResult(throttledResult.toMap()) - } val currenciesToUpdate = coinsList.filter { !throttler.isStillThrottled(it) } val coinIds = currenciesToUpdate.mapNotNull { it.coinId }.distinct() - if (coinIds.isEmpty()) return EMPTY_RESULT + if (coinIds.isEmpty()) return handleFiatRatesResult(throttledResult.toMap()) return when (val result = tangemTechService.rates(currencyId, coinIds)) { is Result.Success -> { val ratesResultList: Map> = result.data.rates.mapValues { Result.Success(it.value.toBigDecimal()) } - val updatedCurrencies = mutableMapOf?>() - currenciesToUpdate.forEach { currency -> + val updatedCurrencies = throttledResult.toMap().toMutableMap() + coinsList.forEach { currency -> ratesResultList[currency.coinId]?.let { updatedCurrencies[currency] = it throttler.updateThrottlingTo(currency) @@ -65,13 +62,6 @@ class RatesRepository { fun clear() { throttler.clear() } - - companion object { - val EMPTY_RESULT = Result.Success(Pair( - mutableMapOf(), - mutableMapOf() - )) - } } typealias RatesResult = Pair, MutableMap> From 4edf42b23f8bdc678d19d0ff545fc9d0310b2b50 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 23 Nov 2022 21:19:54 +0400 Subject: [PATCH 7/7] Updated on 2026-08-14 --- .../features/wallet/ui/WalletDetailsFragment.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletDetailsFragment.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletDetailsFragment.kt index 281d4b3938..f43965d8f9 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletDetailsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletDetailsFragment.kt @@ -149,14 +149,16 @@ class WalletDetailsFragment : Fragment(R.layout.fragment_wallet_details), binding.srlWalletDetails.setOnRefreshListener { if (selectedWallet.currencyData.status != BalanceStatus.Loading) { - store.dispatch(WalletAction.LoadWallet( - blockchain = BlockchainNetwork( - selectedWallet.currency.blockchain, - selectedWallet.currency.derivationPath, - emptyList() - ) - ) + store.dispatch( + WalletAction.LoadWallet( + blockchain = BlockchainNetwork( + selectedWallet.currency.blockchain, + selectedWallet.currency.derivationPath, + emptyList(), + ), + ), ) + store.dispatch(WalletAction.LoadFiatRate(coinsList = listOf(selectedWallet.currency))) } }