Updated on 2026-08-14
This commit is contained in:
parent
f07c11dc61
commit
e94550a09a
4 changed files with 7 additions and 14 deletions
|
|
@ -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 ?: "") }
|
||||
}
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue