From 0184cf23e9e1b3c650eb4204932ce02ce279f4f6 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 10 Sep 2025 11:12:01 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../pair/DefaultWcPairUseCase.kt | 21 ++++++++++-- .../request/DefaultWcRequestUseCaseFactory.kt | 1 + .../domain/walletconnect/WcAnalyticEvents.kt | 6 ++++ .../destination/ui/SendDestinationContent.kt | 33 +------------------ 4 files changed, 26 insertions(+), 35 deletions(-) diff --git a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/pair/DefaultWcPairUseCase.kt b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/pair/DefaultWcPairUseCase.kt index 6d335571ef..3db26641c5 100644 --- a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/pair/DefaultWcPairUseCase.kt +++ b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/pair/DefaultWcPairUseCase.kt @@ -51,7 +51,12 @@ internal class DefaultWcPairUseCase @AssistedInject constructor( val pairResult = sdkDelegate.pair(uri) .onLeft { Timber.tag(WC_TAG).e(it, "Failed to call pair $pairRequest") - analytics.send(WcAnalyticEvents.PairFailed(it.code)) + analytics.send( + WcAnalyticEvents.PairFailed( + errorCode = it.code, + errorMessage = it.message, + ), + ) emit(WcPairState.Error(it)) } .getOrNull() ?: return@flow @@ -73,7 +78,12 @@ internal class DefaultWcPairUseCase @AssistedInject constructor( val proposalState = buildProposalState(sdkSessionProposal, sdkVerifyContext) .onLeft { - analytics.send(WcAnalyticEvents.PairFailed(it.code)) + analytics.send( + WcAnalyticEvents.PairFailed( + errorCode = it.code, + errorMessage = it.message, + ), + ) emit(WcPairState.Error(it)) } .getOrNull() ?: return@flow @@ -121,7 +131,12 @@ internal class DefaultWcPairUseCase @AssistedInject constructor( ) newSession }.onLeft { - analytics.send(WcAnalyticEvents.DAppConnectionFailed(it.code)) + analytics.send( + WcAnalyticEvents.DAppConnectionFailed( + errorCode = it.code, + errorMessage = it.message, + ), + ) sdkDelegate.rejectSession(sdkSessionProposal.proposerPublicKey) Timber.tag(WC_TAG).e(it, "Failed to approve session ${sdkSessionProposal.name}") } diff --git a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/request/DefaultWcRequestUseCaseFactory.kt b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/request/DefaultWcRequestUseCaseFactory.kt index 31791fd91c..9745a0f84f 100644 --- a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/request/DefaultWcRequestUseCaseFactory.kt +++ b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/request/DefaultWcRequestUseCaseFactory.kt @@ -50,6 +50,7 @@ internal class DefaultWcRequestUseCaseFactory @Inject constructor( rawRequest = request, errorCode = error.code().orEmpty(), blockchain = blockchainName, + errorMessage = error.message, ) analytics.send(event) } diff --git a/domain/wallet-connect/src/main/kotlin/com/tangem/domain/walletconnect/WcAnalyticEvents.kt b/domain/wallet-connect/src/main/kotlin/com/tangem/domain/walletconnect/WcAnalyticEvents.kt index 145a9abca0..0801b74dc6 100644 --- a/domain/wallet-connect/src/main/kotlin/com/tangem/domain/walletconnect/WcAnalyticEvents.kt +++ b/domain/wallet-connect/src/main/kotlin/com/tangem/domain/walletconnect/WcAnalyticEvents.kt @@ -53,10 +53,12 @@ sealed class WcAnalyticEvents( class PairFailed( errorCode: String, + errorMessage: String, ) : WcAnalyticEvents( event = "Session Failed", params = mapOf( AnalyticsParam.Key.ERROR_CODE to errorCode, + AnalyticsParam.Key.ERROR_DESCRIPTION to errorMessage, ), ) @@ -76,10 +78,12 @@ sealed class WcAnalyticEvents( class DAppConnectionFailed( errorCode: String, + errorMessage: String, ) : WcAnalyticEvents( event = "dApp Connection Failed", params = mapOf( AnalyticsParam.Key.ERROR_CODE to errorCode, + AnalyticsParam.Key.ERROR_DESCRIPTION to errorMessage, ), ) @@ -163,6 +167,7 @@ sealed class WcAnalyticEvents( rawRequest: WcSdkSessionRequest, blockchain: String, errorCode: String, + errorMessage: String, ) : WcAnalyticEvents( event = "Signature Request Received with Failed", params = mapOf( @@ -171,6 +176,7 @@ sealed class WcAnalyticEvents( AnalyticsParam.Key.METHOD_NAME to rawRequest.request.method, AnalyticsParam.Key.BLOCKCHAIN to blockchain, AnalyticsParam.Key.ERROR_CODE to errorCode, + AnalyticsParam.Key.ERROR_DESCRIPTION to errorMessage, ), ) diff --git a/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/subcomponents/destination/ui/SendDestinationContent.kt b/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/subcomponents/destination/ui/SendDestinationContent.kt index 6f655f90bf..841793e7a6 100644 --- a/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/subcomponents/destination/ui/SendDestinationContent.kt +++ b/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/subcomponents/destination/ui/SendDestinationContent.kt @@ -121,11 +121,7 @@ private fun LazyListScope.addressItem( ) { item(key = ADDRESS_FIELD_KEY) { FooterContainer( - footer = if (isRedesignEnabled) { - buildHighlightedFooterText(networkName) - } else { - resourceReference(R.string.send_recipient_address_footer, wrappedList(networkName)) - }, + footer = resourceReference(R.string.send_recipient_address_footer, wrappedList(networkName)), ) { InputRowRecipient( value = address.value, @@ -150,33 +146,6 @@ private fun LazyListScope.addressItem( } } -@Composable -private fun buildHighlightedFooterText(networkName: String): TextReference { - return annotatedReference( - buildAnnotatedString { - val styledText = stringResourceSafe( - R.string.send_recipient_address_footer_highlighted_part, - networkName, - ) - val styledColor = TangemTheme.colors.text.secondary - appendWithStyledPlaceholder( - template = stringResourceSafe( - R.string.send_recipient_address_footer_v2, - networkName, - ), - placeholder = networkName, - ) { - withStyle(SpanStyle(fontWeight = FontWeight.Medium)) { - appendColored( - text = styledText, - color = styledColor, - ) - } - } - }, - ) -} - private fun LazyListScope.memoField( memoField: DestinationTextFieldUM.RecipientMemo?, onMemoChange: (String, Boolean) -> Unit,