Updated on 2026-08-14

This commit is contained in:
Tangem 2024-05-20 14:24:27 +05:00
parent aa52b659ce
commit 4d028cc8e4
3 changed files with 19 additions and 14 deletions

View file

@ -58,7 +58,9 @@ internal class SdkTransactionHistoryItemConverter(
} else { } else {
mapToInteractionAddressType(sourceType = sourceType) mapToInteractionAddressType(sourceType = sourceType)
} }
is SdkTransactionHistoryItem.TransactionType.ContractMethod -> mapToInteractionAddressType(destinationType) is SdkTransactionHistoryItem.TransactionType.ContractMethod,
is SdkTransactionHistoryItem.TransactionType.ContractMethodName,
-> mapToInteractionAddressType(destinationType)
} }
} }

View file

@ -9,7 +9,7 @@ import com.tangem.domain.txhistory.models.TxHistoryItem
import com.tangem.domain.walletmanager.model.SmartContractMethod import com.tangem.domain.walletmanager.model.SmartContractMethod
import com.tangem.utils.converter.Converter import com.tangem.utils.converter.Converter
class SdkTransactionTypeConverter( internal class SdkTransactionTypeConverter(
private val assetReader: AssetReader, private val assetReader: AssetReader,
private val moshi: Moshi, private val moshi: Moshi,
) : Converter<TransactionHistoryItem.TransactionType, TxHistoryItem.TransactionType> { ) : Converter<TransactionHistoryItem.TransactionType, TxHistoryItem.TransactionType> {
@ -27,20 +27,23 @@ class SdkTransactionTypeConverter(
override fun convert(value: TransactionHistoryItem.TransactionType): TxHistoryItem.TransactionType { override fun convert(value: TransactionHistoryItem.TransactionType): TxHistoryItem.TransactionType {
return when (value) { return when (value) {
TransactionHistoryItem.TransactionType.Transfer -> TxHistoryItem.TransactionType.Transfer is TransactionHistoryItem.TransactionType.ContractMethod ->
is TransactionHistoryItem.TransactionType.ContractMethod -> { getTransactionType(methodName = smartContractMethods[value.id]?.name)
return when (val name = smartContractMethods[value.id]?.name) { is TransactionHistoryItem.TransactionType.ContractMethodName -> getTransactionType(methodName = value.name)
"transfer" -> TxHistoryItem.TransactionType.Transfer is TransactionHistoryItem.TransactionType.Transfer -> TxHistoryItem.TransactionType.Transfer
"approve" -> TxHistoryItem.TransactionType.Approve }
"swap" -> TxHistoryItem.TransactionType.Swap }
null -> TxHistoryItem.TransactionType.UnknownOperation
else -> TxHistoryItem.TransactionType.Operation(name = name.replaceFirstChar { it.titlecase() }) private fun getTransactionType(methodName: String?): TxHistoryItem.TransactionType {
} return when (methodName) {
} "transfer" -> TxHistoryItem.TransactionType.Transfer
"approve" -> TxHistoryItem.TransactionType.Approve
"swap" -> TxHistoryItem.TransactionType.Swap
null -> TxHistoryItem.TransactionType.UnknownOperation
else -> TxHistoryItem.TransactionType.Operation(name = methodName.replaceFirstChar { it.titlecase() })
} }
} }
@Deprecated(message = "Use AssetReader instead")
private fun readSmartContractMethods(): Map<String, SmartContractMethod> { private fun readSmartContractMethods(): Map<String, SmartContractMethod> {
val json = assetReader.readJson("contract_methods") val json = assetReader.readJson("contract_methods")
return adapter.fromJson(json) ?: emptyMap() return adapter.fromJson(json) ?: emptyMap()

View file

@ -87,7 +87,7 @@ markdown = "0.7.2"
# endregion Other libraries # endregion Other libraries
# region Tangem # region Tangem
tangemBlockchainSdk = "develop-633" tangemBlockchainSdk = "develop-635"
#tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds
tangemCardSdk = "develop-354" tangemCardSdk = "develop-354"
#tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^