Updated on 2026-08-14

This commit is contained in:
Tangem 2022-04-22 18:45:05 +03:00
parent f07c11dc61
commit e94550a09a
4 changed files with 7 additions and 14 deletions

View file

@ -17,5 +17,5 @@ fun SelectTokenNetworkDialog(dialog: DomainDialog.SelectTokenDialog, onDismissRe
items = dialog.items,
onSelect = dialog.onSelect,
onDismissRequest = onDismissRequest
) { network -> TitleSubtitle(dialog.networkIdConverter(network.networkId), network.address ?: "") }
) { network -> TitleSubtitle(dialog.networkIdConverter(network.networkId), network.contractAddress ?: "") }
}

View file

@ -22,8 +22,8 @@ class AddCustomTokenService(
var coinsList = mutableListOf<CoinsResponse.Coin>()
result.data.coins.forEach { coin ->
val networksWithTheSameAddress = coin.networks
.filter { it.address != null || it.decimalCount != null }
.filter { it.address == contractAddress }
.filter { it.contractAddress != null || it.decimalCount != null }
.filter { it.contractAddress == contractAddress }
if (networksWithTheSameAddress.isNotEmpty()) {
val newToken = coin.copy(networks = networksWithTheSameAddress)
coinsList.add(newToken)

View file

@ -63,10 +63,12 @@ internal class AddCustomTokenHub : BaseStoreHub<AddCustomTokenState>("AddCustomT
when (val error = ContractAddress.validateValue(address)) {
null -> {
// valid contract
// valid contract address
ContractAddress.removeError()
updateTokenDetailFields(false)
changeBlockchainNetworkList()
checkAndUpdateAddButton()
manageFoundTokenChanges(requestInfoAboutToken(address))
}
AddCustomTokenError.FieldIsEmpty -> {
// empty contract address
@ -75,23 +77,14 @@ internal class AddCustomTokenHub : BaseStoreHub<AddCustomTokenState>("AddCustomT
updateTokenDetailFields(false)
changeBlockchainNetworkList()
checkAndUpdateAddButton()
return
}
AddCustomTokenError.InvalidContractAddress -> {
ContractAddress.addError(error)
updateTokenDetailFields(hubState.tokensAnyFieldsIsFilled())
changeBlockchainNetworkList()
checkAndUpdateAddButton()
return
}
else -> {}
}
if (!action.contractAddress.isUserInput) {
checkAndUpdateAddButton()
return
}
manageFoundTokenChanges(requestInfoAboutToken(address))
}
is OnTokenNetworkChanged -> {
if (!action.blockchainNetwork.isUserInput) return

View file

@ -24,7 +24,7 @@ data class CoinsResponse(
data class Network(
val networkId: String,
val address: String? = null,
val contractAddress: String? = null,
val decimalCount: BigDecimal? = null,
) : TangemTechResponse
}