diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectSdkHelper.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectSdkHelper.kt index 739a1c621d..152bdd04d7 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectSdkHelper.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectSdkHelper.kt @@ -10,6 +10,7 @@ import com.tangem.blockchain.extensions.* import com.tangem.common.CompletionResult import com.tangem.common.core.TangemSdkError import com.tangem.common.extensions.hexToBytes +import com.tangem.crypto.CryptoUtils import com.tangem.operations.sign.SignHashCommand import com.tangem.tap.common.analytics.FirebaseAnalyticsHandler import com.tangem.tap.common.extensions.toFormattedString @@ -216,7 +217,7 @@ class WalletConnectSdkHelper { is CompletionResult.Success -> { val hash = result.data.signature return EthereumUtils.prepareSignedMessageData( - hash, hashToSign, publicKey + hash, hashToSign, CryptoUtils.decompressPublicKey(wallet.walletPublicKey) ) } is CompletionResult.Failure -> { diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectMiddleware.kt b/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectMiddleware.kt index cca999bf87..2c1aab1596 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectMiddleware.kt @@ -164,22 +164,28 @@ class WalletConnectMiddleware { val card = scanResponse.card val factory = store.state.globalState.tapWalletManager.walletManagerFactory + val wcBlockchain = if (scanResponse.card.isTestCard) { + Blockchain.EthereumTestnet + } else { + Blockchain.Ethereum + } + return if (store.state.globalState.scanResponse?.card?.cardId == card.cardId) { - store.state.walletState.getWalletManager(Blockchain.Ethereum) - ?: factory.makeWalletManagerForApp(scanResponse, Blockchain.Ethereum) + store.state.walletState.getWalletManager(wcBlockchain) + ?: factory.makeWalletManagerForApp(scanResponse, wcBlockchain) ?.also { walletManager -> store.dispatch(WalletAction.MultiWallet.AddWalletManagers(walletManager)) store.dispatch(WalletAction.MultiWallet.AddBlockchain(walletManager.wallet.blockchain)) } } else { if (currenciesRepository.loadCardCurrencies(card.cardId)?.blockchains?.contains( - Blockchain.Ethereum) == true + wcBlockchain) == true ) { - factory.makeWalletManagerForApp(scanResponse, Blockchain.Ethereum) + factory.makeWalletManagerForApp(scanResponse, wcBlockchain) } else { - factory.makeWalletManagerForApp(scanResponse, Blockchain.Ethereum) + factory.makeWalletManagerForApp(scanResponse, wcBlockchain) ?.also { - currenciesRepository.saveAddedBlockchain(card.cardId, Blockchain.Ethereum) + currenciesRepository.saveAddedBlockchain(card.cardId, wcBlockchain) } } } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt index 982d4e127b..8e0c5daac7 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt @@ -39,7 +39,10 @@ class BackupReducer { ): BackupState { return when (action) { - BackupAction.IntroduceBackup -> BackupState(backupStep = BackupStep.InitBackup) + BackupAction.IntroduceBackup -> BackupState( + backupStep = BackupStep.InitBackup, + canSkipBackup = state.canSkipBackup + ) BackupAction.StartBackup -> state.copy(backupStep = BackupStep.ScanOriginCard) diff --git a/app/src/main/res/layout/fragment_onboarding_wallet.xml b/app/src/main/res/layout/fragment_onboarding_wallet.xml index 7197ed1eab..56427dc352 100644 --- a/app/src/main/res/layout/fragment_onboarding_wallet.xml +++ b/app/src/main/res/layout/fragment_onboarding_wallet.xml @@ -168,7 +168,7 @@ app:layout_constraintBottom_toTopOf="@id/layout_buttons_common" app:flow_verticalBias="0" app:layout_constraintTop_toTopOf="@+id/guideline2" - android:layout_marginBottom="12dp"/> + android:layout_marginBottom="8dp"/>