From c80dcd69cc0e4d01594da3805b0b2ddb4e35cb09 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 8 Dec 2021 23:34:30 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../tap/domain/walletconnect/WalletConnectManager.kt | 3 ++- .../tap/domain/walletconnect/WalletConnectSdkHelper.kt | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectManager.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectManager.kt index e7b23953b5..7c74264429 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectManager.kt @@ -96,7 +96,8 @@ class WalletConnectManager { val activeData = sessions[session] ?: return removeSimilarSessions(activeData) - val accounts = listOf(Blockchain.Ethereum.makeAddresses(activeData.wallet.walletPublicKey).first().value) + val key = activeData.wallet.derivedPublicKey ?: activeData.wallet.walletPublicKey + val accounts = listOf(Blockchain.Ethereum.makeAddresses(key).first().value) val approved = activeData.client.approveSession( accounts = accounts, chainId = activeData.wallet.chainId 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 152bdd04d7..85ef0eaac6 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 @@ -154,7 +154,8 @@ class WalletConnectSdkHelper { val command = SignHashCommand( hash = dataToSign.hash, - walletPublicKey = data.walletManager.wallet.publicKey.seedKey + walletPublicKey = data.walletManager.wallet.publicKey.seedKey, + derivationPath = data.walletManager.wallet.publicKey.derivationPath ) val result = tangemSdkManager.runTaskAsync(command, initialMessage = Message()) return when (result) { @@ -211,13 +212,13 @@ class WalletConnectSdkHelper { } suspend fun signPersonalMessage(hashToSign: ByteArray, wallet: WalletForSession): String? { - val publicKey = wallet.walletPublicKey - val command = SignHashCommand(hashToSign, publicKey) + val key = wallet.derivedPublicKey ?: wallet.walletPublicKey + val command = SignHashCommand(hashToSign, wallet.walletPublicKey, wallet.derivationPath) return when (val result = tangemSdkManager.runTaskAsync(command, wallet.cardId)) { is CompletionResult.Success -> { val hash = result.data.signature return EthereumUtils.prepareSignedMessageData( - hash, hashToSign, CryptoUtils.decompressPublicKey(wallet.walletPublicKey) + hash, hashToSign, CryptoUtils.decompressPublicKey(key) ) } is CompletionResult.Failure -> {