From d9dc6ce158317e8fdd626810a8fbf83994604e40 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 30 Jan 2025 17:30:26 +0200 Subject: [PATCH 1/6] Updated on 2026-08-14 --- ci_resources/find-latest-pre-release-branch.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ci_resources/find-latest-pre-release-branch.sh b/ci_resources/find-latest-pre-release-branch.sh index f422f6d0ed..653cbdd467 100755 --- a/ci_resources/find-latest-pre-release-branch.sh +++ b/ci_resources/find-latest-pre-release-branch.sh @@ -16,16 +16,17 @@ latest_merge_base="" # Source refs to find branches from local_refs="refs/heads/releases/*" # For debug and development -remote_refs=$(git for-each-ref --format="%(refname:short)" refs/remotes/origin/ | grep -E "origin/[a-zA-Z0-9._-]+_pre_release$") +remote_refs=$(git for-each-ref --sort=-committerdate --format="%(refname:short)" refs/remotes/origin/ | grep -E "origin/[a-zA-Z0-9._-]+_pre_release$") # Iterate over all remote release branches sorted by commit date (most recent first) for branch in $remote_refs; do + # Find the common ancestor (merge base) between the base branch and the current branch merge_base=$(git merge-base "$base_branch" "$branch") echo "Merge base for branches '$branch' and '$base_branch' is '$merge_base'" - if [ -z "$latest_merge_base" ] || git rev-list "$merge_base..$base_branch" | grep -q .; then - echo "Update" + # Update the latest branch and merge base if the current merge base is a descendant of the latest merge base + if [ -z "$latest_merge_base" ] || git merge-base --is-ancestor "$latest_merge_base" "$merge_base"; then latest_branch="$branch" latest_merge_base="$merge_base" fi @@ -45,4 +46,4 @@ fi latest_branch="${latest_branch#origin/}" echo "$latest_branch" > "find-latest-pre-release-branch.output" -echo "Latest release branch created directly from '$base_branch' or its ancestor: '$latest_branch'" +echo "Latest 'pre_release' branch created from '$base_branch' or its ancestor: '$latest_branch'" From e22349c6e326a56f3f93d94db95ad0cd8ae5eb8f Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 31 Jan 2025 10:01:57 +0300 Subject: [PATCH 2/6] Updated on 2026-08-14 --- core/res/src/main/res/values-de/strings.xml | 7 +++++++ core/res/src/main/res/values-ja/strings.xml | 6 ++++-- core/res/src/main/res/values/strings.xml | 8 ++++++++ gradle/dependencies.toml | 2 +- 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml index ae312288dd..8a48bdcc9f 100644 --- a/core/res/src/main/res/values-de/strings.xml +++ b/core/res/src/main/res/values-de/strings.xml @@ -314,6 +314,9 @@ Gekauft %s Kauf %s Kauf %s… + Diese Transaktion ausblenden + Sobald dieser Bildschirm ausgeblendet wurde, kann er nicht mehr aufgerufen werden. + Bist Du sicher, dass Du die Transaktionsdetails ausblenden willst? Keine Token gefunden. Bitte versuche eine andere Anfrage ID: %s Transaktions-ID kopiert @@ -790,6 +793,8 @@ Migrieren Natives Staking Derzeit sind keine aktiven Validatoren für das Staking verfügbar. Bitte versuchen Sie es später erneut. + Beim Staking im Cardano Netzwerk wird das gesamte Guthaben genutzt. Zusätzlich werden 2 ADA reserviert und nach dem Unstaking zurückgegeben. Deine ADA sind während des Stakings nicht gesperrt. + Einzelheiten zum ADA-Staking Verdiente Belohnungen werden an Deine Wallet gesendet und stehen Dir sofort zur Verfügung Stake sicher und verdienen Belohnungen Sicher staken und tägliche Belohnungen verdienen. @@ -803,6 +808,8 @@ Verdiene Staking-Belohnungen Dein verbleibender Stakingbetrag ist zu niedrig, um den Einsatz aufzuheben. Du musst mehr Staken, um den Mindestbetrag zum Aufheben des Einsatzes zu erreichen. Niedriges Stakingguthaben + Für erneutes Staking sind mindestens %1$s %2$s erforderlich. Bitte lade Dein Guthaben auf. + Nicht genug %s Aufgrund von Netzwerkproblemen ist Staking derzeit nicht verfügbar. Bitte versuche es später erneut. Beim Staking im %1$s -Netzwerk mit einem neuen Validator werden alle zuvor eingesetzten Kryptos automatisch an diesen Validator übertragen Reinvestiert Deine verdienten Prämien in Deinen Einsatzbetrag und erhöht so den potenziellen Gewinn. diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml index 287efe4ff4..d7232f22fd 100644 --- a/core/res/src/main/res/values-ja/strings.xml +++ b/core/res/src/main/res/values-ja/strings.xml @@ -648,7 +648,7 @@ 工場出荷時設定にリセットすると、選択したカードやリングからウォレットが完全に削除されます。現在のウォレットを復元したり、カードやリングを使用してアクセスコードを復元することはできません。 工場出荷時の状態にリセットすると、選択したカードやリングからウォレットが完全に削除され、アプリから削除されます。現在のウォレットを復元することはできません。 Tangem Ringユーザーは、11/15日までChangelly経由でスワップを3回手数料ゼロで行えます! - 今すぐ手数料0%でスワップしましょう! + 今すぐ手数料0% でスワップしましょう! アプリにログインして、カードまたはリングをスキャンせずに残高を確認できます アプリにアクセスする 生体認証の使用を許可する @@ -780,6 +780,8 @@ 移行 ネイティブステーキング 現在、ステーキングに使用できるアクティブなバリデータは見つかりません。しばらくしてからもう一度お試しください。 + Cardanoネットワークでステーキングする場合、残高全体が使用されます。追加の2ADAが予約され、ステーキング解除後に返却されます。ステーキング中はADAはロックされません。 + ADAステーキングの詳細 獲得した報酬はあなたのアドレスに直接送られ、すぐ使用可能です。 安全にステーキングして報酬を獲得しましょう 安全にステーキングして、報酬を毎日獲得しましょう @@ -988,7 +990,7 @@ %sネットワーク アドレスがクリップボードにコピーされました インターネット接続がありません - 今すぐ10 %オフで購入 + 今すぐ10 % オフで購入 1.3万種類以上の暗号資産にアクセス。ワンタップで買付、売却、スワップ、ステーキングが可能です。\nバックアップ用に最大3枚のカードを連携できます。 Tangemウォレットを見る ウォレット設定 diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index 868f58f4a9..0fc0d39a01 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -142,6 +142,7 @@ Synchronize addresses Go to provider Go to token + Hide hour Import In progress @@ -314,6 +315,9 @@ Bought %s Buying %s Buying %s... + Hide this transaction + Once hidden, the transaction status cannot be viewed again. You can simply swipe to dismiss instead. + Hide Transaction Status? No tokens found. Please try another request ID: %s Transaction ID copied @@ -790,6 +794,8 @@ Migrate Native staking No active validators available for staking at the moment. Please try again later. + When staking in the Cardano network, the entire balance is used. An additional 2 ADA will be reserved and returned after unstaking. Your ADA is not locked while staking. + ADA Staking Details Earned rewards will be sent to your wallet and available for use immediately Stake securely and start earning your rewards Stake securely and start earning daily rewards @@ -803,6 +809,8 @@ Earn staking rewards Your remaining staked balance will be too low to unstake. You’ll need to stake more to meet the minimum unstake amount. Low staked balance + A minimum of %1$s %2$s is required for restaking. Please top up your balance. + Not enough %s Staking is currently unavailable due to network conditions. Please try again later. Staking in the %1$s network with a new validator will automatically transfer all previously staked funds to this validator Reinvests your earned rewards in your staked amount, increasing potential earnings. diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 2a7ce1423f..5ca76840d2 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -91,7 +91,7 @@ markdownComposeView = "0.5.4" # region Tangem tangemBlockchainSdk = "release-app_5.20-930" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds -tangemCardSdk = "release-app_5.20-427" +tangemCardSdk = "release-app_5.20-431" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ tangemVico = "2.0.0-alpha.25-tangem-developments8" #tangemVico = "0.0.1" # Keep it! - used for local builds ^ From 8523e137e98a5f3d45bab80e3f8f942cd93b572e Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 30 Jan 2025 15:13:26 +0300 Subject: [PATCH 3/6] Updated on 2026-08-14 --- .../transformers/RenameWalletTransformer.kt | 32 ----------- .../transformers/RenameWalletsTransformer.kt | 53 +++++++++++++++++++ .../wallet/viewmodels/WalletViewModel.kt | 4 +- .../viewmodels/WalletsUpdateActionResolver.kt | 46 ++++++++++++---- 4 files changed, 92 insertions(+), 43 deletions(-) delete mode 100644 features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/RenameWalletTransformer.kt create mode 100644 features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/RenameWalletsTransformer.kt diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/RenameWalletTransformer.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/RenameWalletTransformer.kt deleted file mode 100644 index f0b5cf9e20..0000000000 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/RenameWalletTransformer.kt +++ /dev/null @@ -1,32 +0,0 @@ -package com.tangem.feature.wallet.presentation.wallet.state.transformers - -import com.tangem.domain.wallets.models.UserWalletId -import com.tangem.feature.wallet.presentation.wallet.state.model.WalletState -import timber.log.Timber - -internal class RenameWalletTransformer( - userWalletId: UserWalletId, - private val newName: String, -) : WalletStateTransformer(userWalletId) { - - override fun transform(prevState: WalletState): WalletState { - return when (prevState) { - is WalletState.MultiCurrency.Content -> { - prevState.copy(walletCardState = prevState.walletCardState.copySealed(title = newName)) - } - is WalletState.SingleCurrency.Content -> { - prevState.copy(walletCardState = prevState.walletCardState.copySealed(title = newName)) - } - is WalletState.Visa.Content -> { - prevState.copy(walletCardState = prevState.walletCardState.copySealed(title = newName)) - } - is WalletState.MultiCurrency.Locked, - is WalletState.SingleCurrency.Locked, - is WalletState.Visa.Locked, - -> { - Timber.e("Impossible to rename wallet in locked state") - prevState - } - } - } -} \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/RenameWalletsTransformer.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/RenameWalletsTransformer.kt new file mode 100644 index 0000000000..9dd8ccb8f9 --- /dev/null +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/RenameWalletsTransformer.kt @@ -0,0 +1,53 @@ +package com.tangem.feature.wallet.presentation.wallet.state.transformers + +import com.tangem.domain.wallets.models.UserWallet +import com.tangem.feature.wallet.presentation.wallet.state.model.WalletScreenState +import com.tangem.feature.wallet.presentation.wallet.state.model.WalletState +import kotlinx.collections.immutable.toImmutableList +import timber.log.Timber + +/** + * Transformer that renames wallets + * + * @property renamedWallets renamed wallets + */ +internal class RenameWalletsTransformer( + private val renamedWallets: List, +) : WalletScreenStateTransformer { + + override fun transform(prevState: WalletScreenState): WalletScreenState { + return prevState.copy( + wallets = prevState.wallets.map { walletState -> + val renamedWallet = renamedWallets.firstOrNull { it.walletId == walletState.walletCardState.id } + + if (renamedWallet != null) { + transform(prevState = walletState, newName = renamedWallet.name) + } else { + walletState + } + } + .toImmutableList(), + ) + } + + private fun transform(prevState: WalletState, newName: String): WalletState { + return when (prevState) { + is WalletState.MultiCurrency.Content -> { + prevState.copy(walletCardState = prevState.walletCardState.copySealed(title = newName)) + } + is WalletState.SingleCurrency.Content -> { + prevState.copy(walletCardState = prevState.walletCardState.copySealed(title = newName)) + } + is WalletState.Visa.Content -> { + prevState.copy(walletCardState = prevState.walletCardState.copySealed(title = newName)) + } + is WalletState.MultiCurrency.Locked, + is WalletState.SingleCurrency.Locked, + is WalletState.Visa.Locked, + -> { + Timber.e("Impossible to rename wallet in locked state") + prevState + } + } + } +} \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModel.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModel.kt index 1d56ea3290..f06a3d46c4 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModel.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletViewModel.kt @@ -308,8 +308,8 @@ internal class WalletViewModel @Inject constructor( ), ) } - is WalletsUpdateActionResolver.Action.UpdateWalletName -> { - stateHolder.update(transformer = RenameWalletTransformer(action.selectedWalletId, action.name)) + is WalletsUpdateActionResolver.Action.RenameWallets -> { + stateHolder.update(transformer = RenameWalletsTransformer(renamedWallets = action.renamedWallets)) } is WalletsUpdateActionResolver.Action.Unknown -> { Timber.w("Unable to perform action: $action") diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletsUpdateActionResolver.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletsUpdateActionResolver.kt index 324b2fc7ca..2328a63d3c 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletsUpdateActionResolver.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletsUpdateActionResolver.kt @@ -67,6 +67,9 @@ internal class WalletsUpdateActionResolver @Inject constructor( selectedWallet = selectedWallet, ) } + isAnyWalletNameChanged(state, wallets) -> { + getRenameWalletsAction(state, wallets) + } else -> getUpdateSelectedWalletAction(state, wallets, selectedWallet) } } @@ -121,15 +124,35 @@ internal class WalletsUpdateActionResolver @Inject constructor( return state.getPrevSelectedWallet().id != selectedWallet.walletId } + private fun isAnyWalletNameChanged(state: WalletScreenState, wallets: List): Boolean { + val prevWallets = state.wallets.map { it.walletCardState.id to it.walletCardState.title } + val newWallets = wallets.map { it.walletId to it.name } + + val prevWalletsIds = prevWallets.map { it.first } + val newWalletsIds = newWallets.map { it.first } + + val isAnyNameChanged = (newWallets - prevWallets.toSet()).isNotEmpty() + + return prevWalletsIds != newWalletsIds && isAnyNameChanged + } + + private fun getRenameWalletsAction(state: WalletScreenState, wallets: List): Action.RenameWallets { + val prevWallets = state.wallets.map { it.walletCardState.id to it.walletCardState.title } + val newWallets = wallets.map { it.walletId to it.name } + + val renamedWallets = newWallets - prevWallets.toSet() + + return Action.RenameWallets( + renamedWallets = wallets.filter { wallet -> renamedWallets.any { it.first == wallet.walletId } }, + ) + } + private fun getUpdateSelectedWalletAction( state: WalletScreenState, wallets: List, selectedWallet: UserWallet, ): Action { return when { - isSelectedWalletNameChanged(state, selectedWallet) -> { - Action.UpdateWalletName(selectedWalletId = selectedWallet.walletId, name = selectedWallet.name) - } isSelectedWalletUnlocked(state, selectedWallet) -> { Action.UnlockWallet( selectedWallet = selectedWallet, @@ -143,10 +166,6 @@ internal class WalletsUpdateActionResolver @Inject constructor( } } - private fun isSelectedWalletNameChanged(state: WalletScreenState, selectedWallet: UserWallet): Boolean { - return state.getPrevSelectedWallet().title != selectedWallet.name - } - private fun isSelectedWalletUnlocked(state: WalletScreenState, selectedWallet: UserWallet): Boolean { return state.isSelectedWalletLocked() && !selectedWallet.isLocked } @@ -215,10 +234,19 @@ internal class WalletsUpdateActionResolver @Inject constructor( } } - data class UpdateWalletName(val selectedWalletId: UserWalletId, val name: String) : Action() { + /** + * Rename wallets + * + * @property renamedWallets renamed wallets + */ + data class RenameWallets(val renamedWallets: List) : Action() { override fun toString(): String { - return "UpdateWalletName(selectedWalletId = $selectedWalletId, name = $name)" + return """ + RenameWallets( + renamedWallets = ${renamedWallets.joinToString { it.walletId.toString() }} + ) + """.trimIndent() } } From 14f6b73b00c2ebd5d7e897f7f0171be6e2220180 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 3 Feb 2025 16:27:52 +0300 Subject: [PATCH 4/6] Updated on 2026-08-14 --- .../onboarding/products/twins/redux/TwinCardsMiddleware.kt | 4 +++- .../wallet/domain/ScanCardToUnlockWalletClickHandler.kt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsMiddleware.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsMiddleware.kt index 4b8ab7545a..9b0daea01d 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsMiddleware.kt @@ -358,7 +358,9 @@ private fun handle(action: Action, dispatch: DispatchFunction) { private fun showCardVerificationFailedDialog(error: TangemError) { if (error is TangemSdkError.CardVerificationFailed) { Analytics.send( - event = OnboardingAnalyticsEvent.Onboarding.OfflineAttestationFailed(AnalyticsParam.ScreensSources.Backup), + event = OnboardingAnalyticsEvent.Onboarding.OfflineAttestationFailed( + AnalyticsParam.ScreensSources.Onboarding, + ), ) val resource = error.localizedDescriptionRes() diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/ScanCardToUnlockWalletClickHandler.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/ScanCardToUnlockWalletClickHandler.kt index 9026867a47..a487bd79bd 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/ScanCardToUnlockWalletClickHandler.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/ScanCardToUnlockWalletClickHandler.kt @@ -23,7 +23,7 @@ internal class ScanCardToUnlockWalletClickHandler @Inject constructor( suspend operator fun invoke(walletId: UserWalletId): Either { return either { - when (val result = scanCardProcessor.scan(analyticsSource = AnalyticsParam.ScreensSources.Main)) { + when (val result = scanCardProcessor.scan(analyticsSource = AnalyticsParam.ScreensSources.SignIn)) { is CompletionResult.Failure -> { if (result.error is TangemSdkError.UserCancelled) { scanFailsCounter++ From 171062fc2d8be334f4363a111d40b4787f15c096 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 3 Feb 2025 18:51:15 +0300 Subject: [PATCH 5/6] Updated on 2026-08-14 --- Dockerfile | 2 +- ci_resources/Dockerfile.android | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4fa62fd751..c8237d2ba3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,7 +33,7 @@ RUN wget https://github.com/lzhiyong/android-sdk-tools/releases/download/34.0.3/ rm -rf /tmp/android-sdk-tools-static-arm /tmp/android-sdk-tools-static-aarch64.zip RUN gem install bundler:2.5.23 -RUN gem install fastlane -v 2.211.0 -N -V +RUN gem install fastlane -v 2.225.0 -N -V RUN gem install fastlane-plugin-firebase_app_distribution -v 0.9.1 -N -V COPY Gemfile Gemfile.lock ./ diff --git a/ci_resources/Dockerfile.android b/ci_resources/Dockerfile.android index 4573a0972d..bdd3dd2f52 100644 --- a/ci_resources/Dockerfile.android +++ b/ci_resources/Dockerfile.android @@ -39,7 +39,7 @@ RUN wget https://github.com/lzhiyong/android-sdk-tools/releases/download/34.0.3/ rm -rf /tmp/android-sdk-tools-static-arm /tmp/android-sdk-tools-static-aarch64.zip RUN gem install bundler:2.5.23 -RUN gem install fastlane -v 2.211.0 -N -V +RUN gem install fastlane -v 2.225.0 -N -V RUN gem install fastlane-plugin-firebase_app_distribution -v 0.9.1 -N -V COPY ../Gemfile Gemfile.lock ./ From e0f3b721474fe00eddc07ecc3b3cbbe29c11ad03 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 4 Feb 2025 15:02:39 +0400 Subject: [PATCH 6/6] Updated on 2026-08-14 --- .../wallet/viewmodels/WalletsUpdateActionResolver.kt | 2 +- gradle/dependencies.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletsUpdateActionResolver.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletsUpdateActionResolver.kt index 2328a63d3c..2d675b4ca0 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletsUpdateActionResolver.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/WalletsUpdateActionResolver.kt @@ -133,7 +133,7 @@ internal class WalletsUpdateActionResolver @Inject constructor( val isAnyNameChanged = (newWallets - prevWallets.toSet()).isNotEmpty() - return prevWalletsIds != newWalletsIds && isAnyNameChanged + return prevWalletsIds == newWalletsIds && isAnyNameChanged } private fun getRenameWalletsAction(state: WalletScreenState, wallets: List): Action.RenameWallets { diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 5ca76840d2..aa063deab4 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -89,7 +89,7 @@ markdownComposeView = "0.5.4" # endregion Other libraries # region Tangem -tangemBlockchainSdk = "release-app_5.20-930" +tangemBlockchainSdk = "release-app_5.20-937" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "release-app_5.20-431" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^