fix: Fixed tokens initialization. Fixed SendModal for ENS.

This commit is contained in:
Igor Sirotin 2023-01-27 15:19:23 +03:00 committed by Igor Sirotin
parent 5ff4c35bf0
commit 470200a477
5 changed files with 26 additions and 19 deletions

View File

@ -1,4 +1,4 @@
import NimQml, Tables, strutils, strformat
import NimQml, Tables, strutils, strformat, json
import ./token_item
import ./currency_amount
@ -153,8 +153,8 @@ QtObject:
case column:
of "name": result = $item.getName()
of "symbol": result = $item.getSymbol()
of "totalBalance": result = $item.getTotalBalance()
of "totalCurrencyBalance": result = $item.getTotalCurrencyBalance()
of "totalBalance": result = $item.getTotalBalance().toJsonNode()
of "totalCurrencyBalance": result = $item.getTotalCurrencyBalance().toJsonNode()
of "enabledNetworkCurrencyBalance": result = $item.getEnabledNetworkCurrencyBalance()
of "enabledNetworkBalance": result = $item.getEnabledNetworkBalance()
of "visibleForNetwork": result = $item.getVisibleForNetwork()

View File

@ -14,7 +14,7 @@ proc newTimedCache*[T](): TimedCache[T] = initTable[string, Value[T]]()
proc init*[T](self: var TimedCache[T], values: Table[string, T]) =
self.clear()
for cacheKey, value in values:
self[cacheKey].value = value
self.set(cacheKey, value)
proc getTimestamp[T](self: TimedCache[T], cacheKey: string): DateTime = self[cacheKey].timestamp

View File

@ -72,8 +72,12 @@ QtObject:
proc init*(self: Service) =
try:
let response = backend.getCachedPrices()
self.initTokenPrices(jsonToPricesMap(response.result))
let prices = jsonToPricesMap(response.result)
self.initTokenPrices(prices)
except Exception as e:
error "Cached prices init error", errDesription = e.msg
try:
let networks = self.networkService.getNetworks()
for network in networks:
@ -93,11 +97,8 @@ QtObject:
self.tokens[network.chainId] = default_tokens.filter(
proc(x: TokenDto): bool = x.chainId == network.chainId
)
except Exception as e:
let errDesription = e.msg
error "error: ", errDesription
return
error "Tokens init error", errDesription = e.msg
proc findTokenBySymbol*(self: Service, network: NetworkDto, symbol: string): TokenDto =
try:

View File

@ -54,15 +54,16 @@ Item {
let assetsList = buyEnsModal.store.currentAccount.assets
for(var i=0; i< assetsList.count;i++) {
let symbol = JSON.parse(root.stickersStore.getStatusToken()).symbol
if(symbol === assetsList.rowData(i, "symbol"))
return {
name: assetsList.rowData(i, "name"),
symbol: assetsList.rowData(i, "symbol"),
totalBalance: assetsList.rowData(i, "totalBalance"),
totalCurrencyBalance: assetsList.rowData(i, "totalCurrencyBalance"),
balances: assetsList.rowData(i, "balances"),
decimals: assetsList.rowData(i, "decimals")
}
if (symbol !== assetsList.rowData(i, "symbol"))
continue
return {
name: assetsList.rowData(i, "name"),
symbol: assetsList.rowData(i, "symbol"),
totalBalance: JSON.parse(assetsList.rowData(i, "totalBalance")),
totalCurrencyBalance: JSON.parse(assetsList.rowData(i, "totalCurrencyBalance")),
balances: assetsList.rowData(i, "balances"),
decimals: assetsList.rowData(i, "decimals")
}
}
return {}
}

View File

@ -244,7 +244,12 @@ StatusDialog {
StatusListItemTag {
Layout.alignment: Qt.AlignVCenter | Qt.AlignRight
Layout.preferredHeight: 22
title: d.maxFiatBalance && d.maxFiatBalance.amount > 0 ? qsTr("Max: %1").arg(LocaleUtils.currencyAmountToLocaleString(d.maxFiatBalance)) : qsTr("No balances active")
title: {
if (!d.maxFiatBalance || d.maxFiatBalance.amount <= 0)
return qsTr("No balances active")
const balance = LocaleUtils.currencyAmountToLocaleString(d.maxFiatBalance)
return qsTr("Max: %1").arg(balance)
}
closeButtonVisible: false
titleText.font.pixelSize: 12
bgColor: amountToSendInput.input.valid ? Theme.palette.primaryColor3 : Theme.palette.dangerColor2