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()