Updated on 2026-08-14

This commit is contained in:
Tangem 2026-03-17 16:13:15 +03:00
parent 0ce75f1445
commit e0c101f15f
12 changed files with 115 additions and 32 deletions

View file

@ -19,5 +19,12 @@ sealed class ClassifiedQrContent {
val matchingCurrencies: List<CryptoCurrency>,
) : ClassifiedQrContent()
data class Unknown(val raw: String) : ClassifiedQrContent()
sealed class Error : ClassifiedQrContent() {
/** QR code not recognized by any parser */
data class Unrecognized(val raw: String) : Error()
/** Network or token recognized but not available in user's wallet */
data object UnsupportedNetwork : Error()
}
}

View file

@ -41,5 +41,5 @@ sealed class QrSendTarget {
data class WalletConnect(val uri: String) : QrSendTarget()
data class Unknown(val raw: String) : QrSendTarget()
data class Error(val error: ClassifiedQrContent.Error) : QrSendTarget()
}

View file

@ -52,7 +52,7 @@ class ResolveQrSendTargetsUseCase(
private fun resolve(classified: ClassifiedQrContent, portfolioIndex: PortfolioIndex): QrSendTarget {
return when (classified) {
is ClassifiedQrContent.WalletConnect -> QrSendTarget.WalletConnect(classified.uri)
is ClassifiedQrContent.Unknown -> QrSendTarget.Unknown(classified.raw)
is ClassifiedQrContent.Error -> QrSendTarget.Error(classified)
is ClassifiedQrContent.PlainAddress -> resolveAddressTarget(
address = classified.address,
amount = null,