diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml
index aebdb99134..bd9bd6be0d 100644
--- a/core/res/src/main/res/values-ja/strings.xml
+++ b/core/res/src/main/res/values-ja/strings.xml
@@ -19,7 +19,10 @@
回復する
「 %1$s 」を回復しようとしています。
アカウントを回復する
+ すでにアクティブアカウント数の上限(20件)を超えています。復元するには1件アーカイブしてください。
+ アカウントを復元できません
アーカイブ済み
+ アカウントを作成できませんでした。しばらくしてからもう一度お試しください。
アカウントを作成しました
アカウントをアーカイブする
アーカイブ
@@ -258,6 +261,7 @@
残り%1$s
レガシービットコイン
ロックされています
+ ロックされたウォレット
メインネットワーク
月
ネットワーク手数料
@@ -307,6 +311,7 @@
署名
署名して送信
スキップ
+ 問題が発生しました
ステーキング
ステーキング
始める
@@ -1143,7 +1148,7 @@
獲得した報酬をステーキングに再投資し、潜在的な収益を増やします。
再ステーキングを使うと、ステーキングを解除することなく、あるバリデータから別のバリデータに資金を移動できます。
残高のすべてをステーキングしようとしています。ステーキング解除や報酬請求にかかるネットワーク手数料をカバーするために、少額を残しておくことをお勧めします。
- TONでステーキングを開始するには、まず任意の金額の送金を行ってください。これにより、ウォレットがアクティブになります。
+ TONのステーキングを開始するには、まず自分のアドレスに少額の取引を送信します。これによりウォレットが有効になります。
取引を完了するには、ネットワーク手数料に加えて最大0.2TONが必要になる場合があります。未使用分は返金されます。
この操作を続行するには、ネットワーク手数料に加えて0.2 TONが必要です。残高を補充してください。
TONの準備金が必要です
@@ -1214,6 +1219,7 @@
Web3.0対応
続行するには少なくとも%1$sの受信取引が必要です
残高不足
+ 承認すると、このスマートコントラクトが今後の取引でトークンを利用できるようになります。
固定レート
ネットワークは、あなたがトークンのスワップを承認していることを確認するために、トークン承認手数料を請求します。
より多くのトークンをより良いレートで、ウォレット内にて直接交換します。
@@ -1653,7 +1659,7 @@
承認を確定する
資産残高に関するテキスト [プレースホルダー]
あなたの%sはAaveに預けられています
- %s%を獲得
+ %1$s%% を獲得
利用可能
現在のAPY
私の資金
@@ -1670,6 +1676,8 @@
手数料ポリシー
ここに説明を入力してください。1〜3行が理想的です。[プレースホルダー]
トークン承認が必要
+ ネットワーク接続を確認してください
+ ネットワーク手数料についての情報にアクセスできません
アカウントへの入金はすべて自動的にAaveに貸し出されます。
残高は自動的に計算されます
いつでも、即座に資金を送信、交換、売却できます。
diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml
index 8c66048afe..979bd1a061 100644
--- a/core/res/src/main/res/values-ru/strings.xml
+++ b/core/res/src/main/res/values-ru/strings.xml
@@ -1298,6 +1298,8 @@
Неверная карта или кольцо выбрана в приложении Tangem
Не удалось создать транзакцию из данных Dapp. Код: %s
Произошла непредвиденная ошибка. Код ошибки: %d. Попробуйте, пожалуйста, позже. Если проблема будет продолжать возникать — обратитесь в службу поддержки.
+ Транзакция в несколько шагов
+ Чтобы успешно обработать запрос, ваша транзакция будет разделена на несколько частей. Для завершения потребуется несколько приложений карты.
Нет открытых сессий WalletConnect
Упс. Нет сессий.
Не удалось создать пару WalletConnect: %1$s
@@ -1309,6 +1311,8 @@
Эту карту нельзя использовать с WalletConnect.
Сеть не поддерживается. Пожалуйста, выберите другую сеть.
Выберите сеть
+ Транзакция в процессе отправки. Пожалуйста, приложите карту несколько раз для её завершения.
+ Транзакция в обработке
Сессии WalletConnect
Подключение к dApps
WalletConnect
diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml
index e12a6bbfa6..1459ffedd9 100644
--- a/core/res/src/main/res/values/strings.xml
+++ b/core/res/src/main/res/values/strings.xml
@@ -19,7 +19,10 @@
Recover
You’re about to recover “%1$s”.
Recover account
+ You have already exceeded the limit of 20 active accounts. Archive one to recover
+ Can\'t recover account
Archived
+ We couldn’t create account. Please try again later.
Account created
Archive account
Archive
@@ -263,6 +266,7 @@
%1$s left
Legacy Bitcoin
Locked
+ Locked Wallets
Main network
month
Network fee
@@ -313,6 +317,7 @@
Sign
Sign and send
Skip
+ Something went wrong
Stake
Staking
Start
@@ -926,6 +931,7 @@
Send only %s to this address. Sending any other currency will result in its irreversible loss.
Send only %1$s on the %2$s network
Transfer funds from any wallet or exchange
+ Address for rewards
Participate
Failed to load the information about the referral program. Please try again later.
Failed to load the information about the referral program. Error code: %s. Please try again later.
@@ -1236,6 +1242,7 @@
Web 3.0 Compatible
An incoming transaction of at least %1$s is required to proceed
Insufficient funds
+ By approving, you allow the smart contract to use your tokens in future transactions.
Fixed Rate
The network will charge a token approval fee to verify that you are authorizing the use of your token for the swap.
Exchange more tokens at better rates directly in your wallet.
@@ -1454,8 +1461,8 @@
Wrong card or ring selected in Tangem App
Failed to create transaction from Dapp data. Code: %s
We\'ve encountered unknown error. Error code: %d. If the problem persists — feel free to contact our support
- Multiple transactions
- You’ll need to tap your Tangem device a few times to complete this process.
+ Multi-Part Transaction
+ To process successfully, your transaction will be split into multiple parts. You\'ll need to tap your card several times to complete it.
No opened WalletConnect sessions
Ooops. No Sessions.
Failed to pairing WalletConnect session: %1$s
@@ -1467,8 +1474,8 @@
This card can\'t be used to establish WalletConnect session
This network is not supported. Please select another network.
Select network
- We\'re processing the transaction
- Sending your funds...
+ The transaction is being processed. Please tap your card multiple times to complete it.
+ Transaction in progress
WalletConnect Sessions
Connect to dApps
WalletConnect
@@ -1724,7 +1731,7 @@
Confirm approval
Text about your money in balance [PLACEHOLDER]
Your %s is deposited in Aave
- Earn %s%
+ Earn %1$s%%
Available
Current APY
My Funds
@@ -1742,6 +1749,8 @@
Fee policy
Write description here. In one, two or three lines will be awesome. [PLACEHOLDER]
Some token approve needed
+ Check your network connection
+ Network fee info unreachable
Every top-up of your account will be lended to Aave automatically.
Your balance works automatically
Send, swap, or sell your funds instantly, anytime you want.
diff --git a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/network/solana/WcSolanaSignTransactionUseCase.kt b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/network/solana/WcSolanaSignTransactionUseCase.kt
index 2a3d2c624f..89a968a5fd 100644
--- a/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/network/solana/WcSolanaSignTransactionUseCase.kt
+++ b/data/wallet-connect/src/main/kotlin/com/tangem/data/walletconnect/network/solana/WcSolanaSignTransactionUseCase.kt
@@ -14,6 +14,7 @@ import com.tangem.data.walletconnect.utils.BlockAidVerificationDelegate
import com.tangem.domain.models.wallet.UserWallet
import com.tangem.domain.transaction.usecase.PrepareAndSignUseCase
import com.tangem.domain.transaction.usecase.SendLargeSolanaTransactionUseCase
+import com.tangem.domain.walletconnect.WcAnalyticEvents.SolanaLargeTransactionStatus
import com.tangem.domain.walletconnect.error.parseSendError
import com.tangem.domain.walletconnect.model.WcSolanaMethod
import com.tangem.domain.walletconnect.usecase.method.BlockAidTransactionCheck
@@ -59,10 +60,12 @@ internal class WcSolanaSignTransactionUseCase @AssistedInject constructor(
sendLargeSolanaTransactionUseCase(context.session.wallet as UserWallet.Cold, context.network, formattedHash)
.fold(
ifLeft = {
+ analytics.send(SolanaLargeTransactionStatus(SolanaLargeTransactionStatus.Status.Failed))
Timber.e(it.toString())
emit(state.toResult(parseSendError(it).left()))
},
ifRight = {
+ analytics.send(SolanaLargeTransactionStatus(SolanaLargeTransactionStatus.Status.Success))
val emptyRespond = ByteArray(0).formatAsSolanaSignature()
val respondResult = respondService.respond(rawSdkRequest, emptyRespond)
emit(state.toResult(respondResult))
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 b7228f2980..1ccecda5d1 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
@@ -236,6 +236,29 @@ sealed class WcAnalyticEvents(
enum class Source { Domain, SmartContract }
}
+ data class SolanaLargeTransaction(
+ val dappName: String,
+ ) : WcAnalyticEvents(
+ event = "Solana Large Transaction",
+ params = mapOf(
+ AnalyticsParam.Key.DAPP_NAME to dappName,
+ ),
+ )
+
+ data class SolanaLargeTransactionStatus(
+ val status: Status,
+ ) : WcAnalyticEvents(
+ event = "Solana Large Transaction Status",
+ params = mapOf(
+ AnalyticsParam.Key.STATUS to status.value,
+ ),
+ ) {
+ enum class Status(val value: String) {
+ Success("Success"),
+ Failed("Failed"),
+ }
+ }
+
enum class DAppVerificationStatus(val status: String) {
Verified("Verified"),
Risky("Risky"),
diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt
index 99b80940ee..8d36bbe2c6 100644
--- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt
+++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt
@@ -32,6 +32,7 @@ import com.tangem.domain.transaction.error.SendTransactionError.UserCancelledErr
import com.tangem.domain.transaction.usecase.GetFeeUseCase
import com.tangem.domain.walletconnect.WcAnalyticEvents
import com.tangem.domain.walletconnect.WcAnalyticEvents.SignatureRequestReceived.EmulationStatus
+import com.tangem.domain.walletconnect.WcAnalyticEvents.SolanaLargeTransaction
import com.tangem.domain.walletconnect.WcRequestUseCaseFactory
import com.tangem.domain.walletconnect.model.WcRequestError
import com.tangem.domain.walletconnect.model.WcRequestError.Companion.message
@@ -143,6 +144,7 @@ internal class WcSendTransactionModel @Inject constructor(
wcApproval = useCase as? WcApproval
sign = {
if (isMultipleSignRequired(useCase)) {
+ analytics.send(SolanaLargeTransaction(useCase.rawSdkRequest.dAppMetaData.name))
openMultipleTransaction(useCase)
} else {
useCase.sign()