From 5cae804a2dd72cca782dd6bb82d821da0e1b1345 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 2 Jun 2026 23:42:42 +0500 Subject: [PATCH 1/5] Updated on 2026-08-14 --- gradle/tangem_dependencies.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/tangem_dependencies.toml b/gradle/tangem_dependencies.toml index 6741f7e5f8..7c3b140b4c 100644 --- a/gradle/tangem_dependencies.toml +++ b/gradle/tangem_dependencies.toml @@ -5,7 +5,7 @@ # https://github.com/tangem/tangem-sdk-android/ # https://github.com/tangem/vico -tangemBlockchainSdk = "releases-5.38-1523" +tangemBlockchainSdk = "releases-5.38-1542" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "releases-5.38-615" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ From 2de0b0683dc9cde153b4b177e9b799c368be8545 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 3 Jun 2026 15:57:31 +0500 Subject: [PATCH 2/5] Updated on 2026-08-14 --- .../DefaultPaymentAccountStatusProducer.kt | 21 +++++++++++++------ .../pay/store/PaymentAccountStatusesStore.kt | 13 +++--------- gradle/tangem_dependencies.toml | 2 +- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/data/visa/src/main/kotlin/com/tangem/data/pay/flow/DefaultPaymentAccountStatusProducer.kt b/data/visa/src/main/kotlin/com/tangem/data/pay/flow/DefaultPaymentAccountStatusProducer.kt index 153f0d327d..b8530171db 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/pay/flow/DefaultPaymentAccountStatusProducer.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/pay/flow/DefaultPaymentAccountStatusProducer.kt @@ -15,8 +15,7 @@ import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flowOn -import kotlinx.coroutines.flow.onEach -import kotlinx.coroutines.flow.onEmpty +import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onStart private const val TAG = "PaymentAccountStatusProducer" @@ -38,10 +37,20 @@ internal class DefaultPaymentAccountStatusProducer @AssistedInject constructor( logger.i("[${params.userWalletId}] produce() called") return paymentAccountStatusesStore.get(userWalletId = params.userWalletId) .onStart { logger.i("[${params.userWalletId}] flow subscribed to store") } - .onEach { logger.i("[${params.userWalletId}] flow emits statusType=${it.value::class.simpleName}") } - .onEmpty { - logger.i("[${params.userWalletId}] onEmpty triggered: emitting NotCreated fallback") - emit(value = AccountStatus.Payment(account, PaymentAccountStatusValue.NotCreated)) + .map { status -> + if (status != null) { + logger.i("[${params.userWalletId}] flow emits statusType=${status.value::class.simpleName}") + AccountStatus.Payment( + account = account, + value = status.value, + ) + } else { + logger.i("[${params.userWalletId}] status is null: emitting Empty fallback") + AccountStatus.Payment( + account = account, + value = PaymentAccountStatusValue.Empty, + ) + } } .flowOn(dispatchers.default) } diff --git a/data/visa/src/main/kotlin/com/tangem/data/pay/store/PaymentAccountStatusesStore.kt b/data/visa/src/main/kotlin/com/tangem/data/pay/store/PaymentAccountStatusesStore.kt index fd60f231b4..c9ff2fd990 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/pay/store/PaymentAccountStatusesStore.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/pay/store/PaymentAccountStatusesStore.kt @@ -13,11 +13,7 @@ import com.tangem.utils.coroutines.AppCoroutineScope import com.tangem.utils.coroutines.runSuspendCatching import com.tangem.utils.logging.TangemLogger import kotlinx.coroutines.coroutineScope -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.firstOrNull -import kotlinx.coroutines.flow.mapNotNull -import kotlinx.coroutines.flow.onEach -import kotlinx.coroutines.flow.onStart +import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch internal typealias WalletIdWithPaymentStatus = Map @@ -65,7 +61,7 @@ internal class PaymentAccountStatusesStore( } } - fun get(userWalletId: UserWalletId): Flow { + fun get(userWalletId: UserWalletId): Flow { return runtimeStore.get() .onStart { logger.i("get($userWalletId): subscribed to runtimeStore") } .onEach { map -> @@ -74,10 +70,7 @@ internal class PaymentAccountStatusesStore( "hasEntry=${map.containsKey(userWalletId.stringValue)}", ) } - .mapNotNull { it[userWalletId.stringValue] } - .onEach { status -> - logger.i("get($userWalletId): emitting statusType=${status.value::class.simpleName}") - } + .map { it[userWalletId.stringValue] } } suspend fun getSyncOrNull(userWalletId: UserWalletId): AccountStatus.Payment? { diff --git a/gradle/tangem_dependencies.toml b/gradle/tangem_dependencies.toml index 7c3b140b4c..149b415b2f 100644 --- a/gradle/tangem_dependencies.toml +++ b/gradle/tangem_dependencies.toml @@ -5,7 +5,7 @@ # https://github.com/tangem/tangem-sdk-android/ # https://github.com/tangem/vico -tangemBlockchainSdk = "releases-5.38-1542" +tangemBlockchainSdk = "releases-5.38-1543" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "releases-5.38-615" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ From d873d6425d4a7a3597a09b32a3e31b052da08755 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 3 Jun 2026 19:34:07 +0500 Subject: [PATCH 3/5] Updated on 2026-08-14 --- gradle/tangem_dependencies.toml | 2 +- .../src/main/java/com/tangem/lib/crypto/BlockchainFeeUtils.kt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/gradle/tangem_dependencies.toml b/gradle/tangem_dependencies.toml index 149b415b2f..21992c6251 100644 --- a/gradle/tangem_dependencies.toml +++ b/gradle/tangem_dependencies.toml @@ -5,7 +5,7 @@ # https://github.com/tangem/tangem-sdk-android/ # https://github.com/tangem/vico -tangemBlockchainSdk = "releases-5.38-1543" +tangemBlockchainSdk = "releases-5.38-1547" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "releases-5.38-615" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ diff --git a/libs/crypto/src/main/java/com/tangem/lib/crypto/BlockchainFeeUtils.kt b/libs/crypto/src/main/java/com/tangem/lib/crypto/BlockchainFeeUtils.kt index 74d6248b75..5c08e72030 100644 --- a/libs/crypto/src/main/java/com/tangem/lib/crypto/BlockchainFeeUtils.kt +++ b/libs/crypto/src/main/java/com/tangem/lib/crypto/BlockchainFeeUtils.kt @@ -66,6 +66,7 @@ object BlockchainFeeUtils { private fun Fee.increaseGasLimitBy(percentage: Int): Fee { if (this !is Fee.Ethereum) return this val gasLimit = this.gasLimit + if (gasLimit == BigInteger.ZERO) return this val increasedGasPrice = this.amount.value?.movePointRight(this.amount.decimals) ?.divide(gasLimit.toBigDecimal(), RoundingMode.HALF_UP) val increasedGasLimit = gasLimit From d6a69a6b8cbbecc470d1ceccd298f7322b50f67c Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 3 Jun 2026 21:38:39 +0500 Subject: [PATCH 4/5] Updated on 2026-08-14 --- gradle/tangem_dependencies.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/tangem_dependencies.toml b/gradle/tangem_dependencies.toml index 21992c6251..962be99d3f 100644 --- a/gradle/tangem_dependencies.toml +++ b/gradle/tangem_dependencies.toml @@ -5,7 +5,7 @@ # https://github.com/tangem/tangem-sdk-android/ # https://github.com/tangem/vico -tangemBlockchainSdk = "releases-5.38-1547" +tangemBlockchainSdk = "releases-5.38-1551" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "releases-5.38-615" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ From 9b306f1bb184038aa963da99ec36581340a697b6 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 5 Jun 2026 09:38:22 +0000 Subject: [PATCH 5/5] Updated on 2026-08-14 --- gradle/tangem_dependencies.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/tangem_dependencies.toml b/gradle/tangem_dependencies.toml index 962be99d3f..0ab9e14901 100644 --- a/gradle/tangem_dependencies.toml +++ b/gradle/tangem_dependencies.toml @@ -5,9 +5,9 @@ # https://github.com/tangem/tangem-sdk-android/ # https://github.com/tangem/vico -tangemBlockchainSdk = "releases-5.38-1551" +tangemBlockchainSdk = "releases-5.39-1533" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds -tangemCardSdk = "releases-5.38-615" +tangemCardSdk = "releases-5.39-623" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ tangemVico = "tangem-master-21" #tangemVico = "0.0.1" # Keep it! - used for local builds ^