mirror of
https://github.com/status-im/status-desktop.git
synced 2025-02-16 08:37:12 +00:00
feat: fees update integration after calculating the initial route
This commit is contained in:
parent
1a3b75fc9d
commit
8dc067e0c4
@ -1,4 +1,4 @@
|
|||||||
import json, options, chronicles
|
import json, options, chronicles, Tables
|
||||||
|
|
||||||
import base
|
import base
|
||||||
import signal_type
|
import signal_type
|
||||||
@ -24,6 +24,7 @@ type WalletSignal* = ref object of Signal
|
|||||||
bestRoute*: seq[TransactionPathDtoV2]
|
bestRoute*: seq[TransactionPathDtoV2]
|
||||||
error*: string
|
error*: string
|
||||||
errorCode*: string
|
errorCode*: string
|
||||||
|
updatedPrices*: Table[string, float64]
|
||||||
|
|
||||||
proc fromEvent*(T: type WalletSignal, signalType: SignalType, jsonSignal: JsonNode): WalletSignal =
|
proc fromEvent*(T: type WalletSignal, signalType: SignalType, jsonSignal: JsonNode): WalletSignal =
|
||||||
result = WalletSignal()
|
result = WalletSignal()
|
||||||
@ -67,6 +68,10 @@ proc fromEvent*(T: type WalletSignal, signalType: SignalType, jsonSignal: JsonNo
|
|||||||
result.error = errorResponseJsonNode["details"].getStr
|
result.error = errorResponseJsonNode["details"].getStr
|
||||||
if errorResponseJsonNode.contains("code"):
|
if errorResponseJsonNode.contains("code"):
|
||||||
result.errorCode = errorResponseJsonNode["code"].getStr
|
result.errorCode = errorResponseJsonNode["code"].getStr
|
||||||
|
result.updatedPrices = initTable[string, float64]()
|
||||||
|
if event.contains("UpdatedPrices"):
|
||||||
|
for tokenSymbol, price in event["UpdatedPrices"].pairs():
|
||||||
|
result.updatedPrices[tokenSymbol] = price.getFloat
|
||||||
except:
|
except:
|
||||||
error "Error parsing best route"
|
error "Error parsing best route"
|
||||||
return
|
return
|
||||||
|
@ -565,3 +565,8 @@ QtObject:
|
|||||||
self.fetchTokenPreferences()
|
self.fetchTokenPreferences()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
error "error: ", procName="updateTokenPreferences", errName=e.name, errDesription=e.msg
|
error "error: ", procName="updateTokenPreferences", errName=e.name, errDesription=e.msg
|
||||||
|
|
||||||
|
proc updateTokenPrices*(self: Service, updatedPrices: Table[string, float64]) =
|
||||||
|
for tokenSymbol, price in updatedPrices:
|
||||||
|
self.tokenPriceTable[tokenSymbol] = price
|
||||||
|
self.events.emit(SIGNAL_TOKENS_PRICES_UPDATED, Args())
|
||||||
|
@ -181,6 +181,7 @@ QtObject:
|
|||||||
|
|
||||||
self.events.on(SignalType.WalletSuggestedRoutes.event) do(e:Args):
|
self.events.on(SignalType.WalletSuggestedRoutes.event) do(e:Args):
|
||||||
var data = WalletSignal(e)
|
var data = WalletSignal(e)
|
||||||
|
self.tokenService.updateTokenPrices(data.updatedPrices)
|
||||||
self.suggestedRoutesReady(data.uuid, data.bestRoute, data.bestRouteRaw, data.errorCode, data.error)
|
self.suggestedRoutesReady(data.uuid, data.bestRoute, data.bestRouteRaw, data.errorCode, data.error)
|
||||||
|
|
||||||
self.events.on(PendingTransactionTypeDto.WalletTransfer.event) do(e: Args):
|
self.events.on(PendingTransactionTypeDto.WalletTransfer.event) do(e: Args):
|
||||||
|
@ -156,7 +156,7 @@ Item {
|
|||||||
|
|
||||||
// verfy input and output panels
|
// verfy input and output panels
|
||||||
verify(!payPanel.mainInputLoading)
|
verify(!payPanel.mainInputLoading)
|
||||||
verify(!payPanel.bottomTextLoading)
|
verify(payPanel.bottomTextLoading)
|
||||||
compare(payPanel.selectedHoldingId, root.swapFormData.fromTokensKey)
|
compare(payPanel.selectedHoldingId, root.swapFormData.fromTokensKey)
|
||||||
compare(payPanel.value, Number(root.swapFormData.fromTokenAmount))
|
compare(payPanel.value, Number(root.swapFormData.fromTokenAmount))
|
||||||
compare(payPanel.rawValue, SQUtils.AmountsArithmetic.fromNumber(root.swapFormData.fromTokenAmount, root.swapAdaptor.fromToken.decimals).toString())
|
compare(payPanel.rawValue, SQUtils.AmountsArithmetic.fromNumber(root.swapFormData.fromTokenAmount, root.swapAdaptor.fromToken.decimals).toString())
|
||||||
@ -808,6 +808,8 @@ Item {
|
|||||||
// verfy input and output panels
|
// verfy input and output panels
|
||||||
waitForRendering(receivePanel)
|
waitForRendering(receivePanel)
|
||||||
verify(payPanel.valueValid)
|
verify(payPanel.valueValid)
|
||||||
|
verify(!payPanel.mainInputLoading)
|
||||||
|
verify(!payPanel.bottomTextLoading)
|
||||||
verify(!receivePanel.mainInputLoading)
|
verify(!receivePanel.mainInputLoading)
|
||||||
verify(!receivePanel.bottomTextLoading)
|
verify(!receivePanel.bottomTextLoading)
|
||||||
verify(!receivePanel.interactive)
|
verify(!receivePanel.interactive)
|
||||||
@ -858,6 +860,8 @@ Item {
|
|||||||
// verfy input and output panels
|
// verfy input and output panels
|
||||||
waitForRendering(receivePanel)
|
waitForRendering(receivePanel)
|
||||||
verify(payPanel.valueValid)
|
verify(payPanel.valueValid)
|
||||||
|
verify(!payPanel.mainInputLoading)
|
||||||
|
verify(!payPanel.bottomTextLoading)
|
||||||
verify(!receivePanel.mainInputLoading)
|
verify(!receivePanel.mainInputLoading)
|
||||||
verify(!receivePanel.bottomTextLoading)
|
verify(!receivePanel.bottomTextLoading)
|
||||||
verify(!receivePanel.interactive)
|
verify(!receivePanel.interactive)
|
||||||
|
@ -238,6 +238,8 @@ StatusDialog {
|
|||||||
swapSide: SwapInputPanel.SwapSide.Pay
|
swapSide: SwapInputPanel.SwapSide.Pay
|
||||||
swapExchangeButtonWidth: swapExchangeButton.width
|
swapExchangeButtonWidth: swapExchangeButton.width
|
||||||
|
|
||||||
|
bottomTextLoading: root.swapAdaptor.swapProposalLoading
|
||||||
|
|
||||||
onSelectedHoldingIdChanged: root.swapInputParamsForm.fromTokensKey = selectedHoldingId
|
onSelectedHoldingIdChanged: root.swapInputParamsForm.fromTokensKey = selectedHoldingId
|
||||||
|
|
||||||
onRawValueChanged: {
|
onRawValueChanged: {
|
||||||
|
2
vendor/status-go
vendored
2
vendor/status-go
vendored
@ -1 +1 @@
|
|||||||
Subproject commit 0235889e12bcd13e8e25fe1ee9a6d497ece57d01
|
Subproject commit 4816769506879b9877359bddb86d038c9501e865
|
Loading…
x
Reference in New Issue
Block a user