diff --git a/src/app/core/signals/remote_signals/wallet.nim b/src/app/core/signals/remote_signals/wallet.nim index 7e04ff9099..22bb6ac5a1 100644 --- a/src/app/core/signals/remote_signals/wallet.nim +++ b/src/app/core/signals/remote_signals/wallet.nim @@ -8,7 +8,6 @@ type WalletSignal* = ref object of Signal eventType*: string blockNumber*: int accounts*: seq[string] - baseFeePerGas*: string # newTransactions*: ??? erc20*: bool @@ -19,7 +18,6 @@ proc fromEvent*(T: type WalletSignal, jsonSignal: JsonNode): WalletSignal = if jsonSignal["event"].kind != JNull: result.eventType = jsonSignal["event"]["type"].getStr result.blockNumber = jsonSignal["event"]{"blockNumber"}.getInt - result.baseFeePerGas = jsonSignal["event"]{"baseFeePerGas"}.getStr result.erc20 = jsonSignal["event"]{"erc20"}.getBool result.accounts = @[] if jsonSignal["event"]["accounts"].kind != JNull: diff --git a/src/app/modules/main/wallet_section/transactions/controller.nim b/src/app/modules/main/wallet_section/transactions/controller.nim index d71bd13743..f3db6b7323 100644 --- a/src/app/modules/main/wallet_section/transactions/controller.nim +++ b/src/app/modules/main/wallet_section/transactions/controller.nim @@ -95,9 +95,6 @@ proc transferTokens*(self: Controller, from_addr: string, to_addr: string, contr result = self.transactionService.transferTokens(from_addr, to_addr, contractAddress, value, gas, gasPrice, maxPriorityFeePerGas, maxFeePerGas, password, uuid) -proc baseFeePerGas*(self: Controller): string = - return self.transactionService.baseFeePerGas() - proc suggestedFees*(self: Controller): string = let suggestedFees = self.transactionService.suggestedFees() return suggestedFees.toJson() \ No newline at end of file diff --git a/src/app/modules/main/wallet_section/transactions/io_interface.nim b/src/app/modules/main/wallet_section/transactions/io_interface.nim index 9ab1cda352..79f2cb9cf3 100644 --- a/src/app/modules/main/wallet_section/transactions/io_interface.nim +++ b/src/app/modules/main/wallet_section/transactions/io_interface.nim @@ -57,9 +57,6 @@ method transferTokens*(self: AccessInterface, from_addr: string, to_addr: string method transactionWasSent*(self: AccessInterface, result: string) {.base.} = raise newException(ValueError, "No implementation available") -method baseFeePerGas*(self: AccessInterface): string {.base.} = - raise newException(ValueError, "No implementation available") - method suggestedFees*(self: AccessInterface): string {.base.} = raise newException(ValueError, "No implementation available") diff --git a/src/app/modules/main/wallet_section/transactions/module.nim b/src/app/modules/main/wallet_section/transactions/module.nim index cacbac9f84..88ad7df484 100644 --- a/src/app/modules/main/wallet_section/transactions/module.nim +++ b/src/app/modules/main/wallet_section/transactions/module.nim @@ -103,8 +103,5 @@ method transferTokens*(self: Module, from_addr: string, to_addr: string, contrac method transactionWasSent*(self: Module, result: string) = self.view.transactionWasSent(result) -method baseFeePerGas*(self: Module): string = - return self.controller.baseFeePerGas() - method suggestedFees*(self: Module): string = return self.controller.suggestedFees() diff --git a/src/app/modules/main/wallet_section/transactions/view.nim b/src/app/modules/main/wallet_section/transactions/view.nim index a3a016ad46..98bd3e93fb 100644 --- a/src/app/modules/main/wallet_section/transactions/view.nim +++ b/src/app/modules/main/wallet_section/transactions/view.nim @@ -129,9 +129,5 @@ QtObject: result = self.delegate.transferTokens(from_addr, to_addr, contractAddress, value, gas, gasPrice, maxPriorityFeePerGas, maxFeePerGas, password, uuid) - proc latestBaseFeePerGas*(self: View): string {.slot.} = - let baseFeeWei = self.delegate.baseFeePerGas() - return common_conversion.wei2Gwei(baseFeeWei) - proc suggestedFees*(self: View): string {.slot.} = - return self.delegate.suggestedFees() \ No newline at end of file + return self.delegate.suggestedFees() diff --git a/src/app_service/service/transaction/service.nim b/src/app_service/service/transaction/service.nim index 2c42c66416..c76102ad03 100644 --- a/src/app_service/service/transaction/service.nim +++ b/src/app_service/service/transaction/service.nim @@ -51,18 +51,13 @@ type result*: string type SuggestedFees = object - gasPrice: string + gasPrice: float baseFee: float maxPriorityFeePerGas: float maxFeePerGasL: float maxFeePerGasM: float maxFeePerGasH: float -proc cmpUint256(x, y: Uint256): int = - if x > y: 1 - elif x == y: 0 - else: -1 - QtObject: type Service* = ref object of QObject events: EventEmitter @@ -72,8 +67,6 @@ QtObject: networkService: network_service.Service settingsService: settings_service.Service - baseFeePerGas: string - # Forward declaration proc checkPendingTransactions*(self: Service) proc checkPendingTransactions*(self: Service, address: string) @@ -98,25 +91,15 @@ QtObject: result.networkService = networkService result.settingsService = settingsService - proc baseFeePerGas*(self: Service): string = - return self.baseFeePerGas - - proc setLatestBaseFeePerGas*(self: Service) = - let response = eth.getBlockByNumber("latest") - self.baseFeePerGas = $fromHex(Stuint[256], response.result{"baseFeePerGas"}.getStr) - proc doConnect*(self: Service) = self.events.on(SignalType.Wallet.event) do(e:Args): var data = WalletSignal(e) if(data.eventType == "newblock"): - self.setLatestBaseFeePerGas() - for acc in data.accounts: self.checkPendingTransactions(acc) proc init*(self: Service) = self.doConnect() - self.setLatestBaseFeePerGas() proc checkRecentHistory*(self: Service) = try: @@ -356,57 +339,18 @@ QtObject: return false return true - proc maxPriorityFeePerGas(self: Service): Uint256 = - let response = eth.maxPriorityFeePerGas() - return fromHex(Stuint[256], response.result.getStr) - - proc getGasPrice(self: Service): Uint256 = - let response = eth.getGasPrice() - return fromHex(Stuint[256], response.result.getStr) - - proc feeHistory(self: Service, n:int): seq[Uint256] = - let response = eth.feeHistory(101) - for it in response.result["baseFeePerGas"]: - result.add(fromHex(Stuint[256], it.getStr)) - - result.sort(cmpUint256) - proc suggestedFees*(self: Service): SuggestedFees = - #[ - 0. priority tip always same, the value returned by eth_maxPriorityFeePerGas - 1. slow fee 10th percentile base fee (last 100 blocks) + eth_maxPriorityFeePerGas - 2. normal fee. - if 20th_percentile <= current_base_fee <= 80th_percentile then fee = current_base_fee + eth_maxPriorityFeePerGas. - if current_base_fee < 20th_percentile then fee = 20th_percentile + eth_maxPriorityFeePerGas - if current_base_fee > 80th_percentile then fee = 80th_percentile + eth_maxPriorityFeePerGas - The idea is to avoid setting too low base fee when price is in a dip and also to avoid overpaying on peak. - Specific percentiles can be revisit later, it doesn't need to be symmetric because we are mostly interested in not getting stuck and overpaying might not be a huge issue here. - 3. fast fee: current_base_fee + eth_maxPriorityFeePerGas - ]# - - let maxPriorityFeePerGas = self.maxPriorityFeePerGas() - let feeHistory = self.feeHistory(101) - let baseFee = self.baseFeePerGas.u256 - let gasPrice = self.getGasPrice() - - let perc10 = feeHistory[ceil(10/100 * feeHistory.len.float).int - 1] - let perc20 = feeHistory[ceil(20/100 * feeHistory.len.float).int - 1] - let perc80 = feeHistory[ceil(80/100 * feeHistory.len.float).int - 1] - - let maxFeePerGasM = if baseFee >= perc20 and baseFee <= perc80: - baseFee + maxPriorityFeePerGas - elif baseFee < perc20: - perc20 + maxPriorityFeePerGas - else: - perc80 + maxPriorityFeePerGas + let networkType = self.settingsService.getCurrentNetwork().toNetworkType() + let network = self.networkService.getNetwork(networkType) + let response = eth.suggestedFees(network.chainId).result return SuggestedFees( - gasPrice: $gasPrice, - baseFee: parseFloat(common_conversion.wei2gwei($baseFee)), - maxPriorityFeePerGas: parseFloat(common_conversion.wei2gwei($maxPriorityFeePerGas)), - maxFeePerGasL: parseFloat(common_conversion.wei2gwei($(perc10 + maxPriorityFeePerGas))), - maxFeePerGasM: parseFloat(common_conversion.wei2gwei($(maxFeePerGasM))), - maxFeePerGasH: parseFloat(common_conversion.wei2gwei($(baseFee + maxPriorityFeePerGas))) + gasPrice: parseFloat(response{"gasPrice"}.getStr), + baseFee: parseFloat(response{"baseFee"}.getStr), + maxPriorityFeePerGas: parseFloat(response{"maxPriorityFeePerGas"}.getStr), + maxFeePerGasL: parseFloat(response{"maxFeePerGasLow"}.getStr), + maxFeePerGasM: parseFloat(response{"maxFeePerGasMedium"}.getStr), + maxFeePerGasH: parseFloat(response{"maxFeePerGasHigh"}.getStr) ) proc fetchCryptoServices*(self: Service): seq[CryptoRampDto] = diff --git a/src/backend/eth.nim b/src/backend/eth.nim index 85de6ec1fc..7d1af8b7ac 100644 --- a/src/backend/eth.nim +++ b/src/backend/eth.nim @@ -30,10 +30,6 @@ proc getEthAccounts*(): RpcResponse[JsonNode] {.raises: [Exception].} = proc getGasPrice*(payload = %* []): RpcResponse[JsonNode] {.raises: [Exception].} = return core.callPrivateRPC("eth_gasPrice", payload) -proc maxPriorityFeePerGas*(): RpcResponse[JsonNode] {.raises: [Exception].} = - let payload = %* [] - return core.callPrivateRPC("eth_maxPriorityFeePerGas", payload) - -proc feeHistory*(n: int): RpcResponse[JsonNode] {.raises: [Exception].} = - let payload = %* [n, "latest", nil] - return core.callPrivateRPC("eth_feeHistory", payload) \ No newline at end of file +proc suggestedFees*(chainId: int): RpcResponse[JsonNode] {.raises: [Exception].} = + let payload = %* [chainId] + return core.callPrivateRPC("wallet_getSuggestedFees", payload) \ No newline at end of file diff --git a/ui/app/AppLayouts/Chat/stores/RootStore.qml b/ui/app/AppLayouts/Chat/stores/RootStore.qml index 0fb1ef3738..4b2d0e661d 100644 --- a/ui/app/AppLayouts/Chat/stores/RootStore.qml +++ b/ui/app/AppLayouts/Chat/stores/RootStore.qml @@ -503,10 +503,6 @@ QtObject { return walletSection.isEIP1559Enabled() } - function latestBaseFeePerGas() { - return walletSectionTransactions.latestBaseFeePerGas() - } - function suggestedFees() { return JSON.parse(walletSectionTransactions.suggestedFees()) } diff --git a/ui/app/AppLayouts/stores/RootStore.qml b/ui/app/AppLayouts/stores/RootStore.qml index b2a3f41c12..1df55d4962 100644 --- a/ui/app/AppLayouts/stores/RootStore.qml +++ b/ui/app/AppLayouts/stores/RootStore.qml @@ -104,10 +104,6 @@ QtObject { return walletSection.isEIP1559Enabled() } - function latestBaseFeePerGas() { - return walletSectionTransactions.latestBaseFeePerGas() - } - function suggestedFees() { return JSON.parse(walletSectionTransactions.suggestedFees()) } diff --git a/ui/imports/shared/controls/GasSelector.qml b/ui/imports/shared/controls/GasSelector.qml index a47ee3ae7a..5ad0e8cffd 100644 --- a/ui/imports/shared/controls/GasSelector.qml +++ b/ui/imports/shared/controls/GasSelector.qml @@ -18,17 +18,8 @@ Item { property bool isEIP1559Enabled: true - property var latestBaseFeePerGas: "" - // Not Refactored Yet property var suggestedFees: "" - - property double latestBaseFeePerGasGwei: { - if (!isEIP1559Enabled) return 0; - - return parseFloat(latestBaseFeePerGas) - } - property var getGasGweiValue: function () {} property var getGasEthValue: function () {} property var getFiatValue: function () {} @@ -53,11 +44,11 @@ Item { property bool isValid: true readonly property string uuid: Utils.uuid() - property bool advancedMode: true // TODO: change to false once EIP1559 suggestions are revised + property bool advancedMode: false // TODO: change these values false once EIP1559 suggestions are revised property double perGasTipLimitFloor: 1 // Matches status-react minimum-priority-fee - property double perGasTipLimitAverage: formatDec(suggestedFees.maxPriorityFeePerGas, 2) // 1.5 // Matches status-react average-priority-fee + property double perGasTipLimitAverage: formatDec(root.suggestedFees.maxPriorityFeePerGas, 2) // 1.5 // Matches status-react average-priority-fee property bool showPriceLimitWarning : false @@ -110,20 +101,6 @@ Item { errorMsg = appendError(errorMsg, qsTr("The average miner tip is %1 Gwei").arg(perGasTipLimitAverage), true) } - // Per-gas overall limit rules - if(inputOverallLimit < latestBaseFeePerGasGwei){ - errorMsg = appendError(errorMsg, qsTr("The limit is below the current base fee of %1 %2").arg(latestBaseFeePerGasGwei).arg("Gwei")) - showPriceLimitWarning = true - } - - /* TODO: change these values false once EIP1559 suggestions are revised - else if((inputOverallLimit - inputTipLimit) < latestBaseFeePerGasGwei){ - errorMsg = appendError(errorMsg, qsTr("The limit should be at least %1 Gwei above the base fee").arg(perGasTipLimitFloor)) - } else if((inputOverallLimit - perGasTipLimitAverage) < latestBaseFeePerGasGwei) { - errorMsg = appendError(errorMsg, qsTr("The maximum miner tip after the current base fee will be %1 Gwei, the minimum miner tip is currently %2 Gwei").arg(inputOverallLimit).arg(perGasTipLimitFloor), true) - showTipLimitWarning = true - }*/ - errorsText.text = `${errorMsg}` } @@ -185,6 +162,7 @@ Item { inputPerGasTipLimit.validationError = root.greaterThan0ErrorMessage } const isInputValid = inputGasLimit.validationError === "" && inputGasPrice.validationError === "" && (!isEIP1559Enabled || (isEIP1559Enabled && inputPerGasTipLimit.validationError === "")) + return isInputValid } @@ -206,14 +184,13 @@ Item { anchors.top: parent.top anchors.left: prioritytext.right anchors.leftMargin: Style.current.smallPadding - text: qsTr("Current base fee: %1 %2").arg(latestBaseFeePerGasGwei).arg("Gwei") + text: qsTr("Current base fee: %1 %2").arg(root.suggestedFees.baseFee).arg("Gwei") font.weight: Font.Medium font.pixelSize: 13 color: Style.current.secondaryText } StatusFlatButton { - visible: false // Change to TRUE once EIP1559 suggestions are revised id: buttonAdvanced anchors.verticalCenter: prioritytext.verticalCenter anchors.right: parent.right @@ -243,7 +220,7 @@ Item { text: qsTr("Low") price: { if (!isEIP1559Enabled) return gasPrice; - return formatDec(suggestedFees.maxFeePerGasL, 6) + return formatDec(root.suggestedFees.maxFeePerGasL, 6) } gasLimit: inputGasLimit ? inputGasLimit.text : "" getGasEthValue: root.getGasEthValue @@ -251,8 +228,8 @@ Item { defaultCurrency: root.defaultCurrency onChecked: { if (isEIP1559Enabled){ - inputPerGasTipLimit.text = formatDec(suggestedFees.maxPriorityFeePerGas, 2); - inputGasPrice.text = formatDec(suggestedFees.maxFeePerGasL, 2); + inputPerGasTipLimit.text = formatDec(root.suggestedFees.maxPriorityFeePerGas, 2); + inputGasPrice.text = formatDec(root.suggestedFees.maxFeePerGasL, 2); } else { inputGasPrice.text = price } @@ -273,7 +250,7 @@ Item { return root.gasPrice } - return formatDec(suggestedFees.maxFeePerGasM, 6) + return formatDec(root.suggestedFees.maxFeePerGasM, 6) } gasLimit: inputGasLimit ? inputGasLimit.text : "" getGasEthValue: root.getGasEthValue @@ -281,8 +258,8 @@ Item { defaultCurrency: root.defaultCurrency onChecked: { if (isEIP1559Enabled){ - inputPerGasTipLimit.text = formatDec(suggestedFees.maxPriorityFeePerGas, 2); - inputGasPrice.text = formatDec(suggestedFees.maxFeePerGasM, 2); + inputPerGasTipLimit.text = formatDec(root.suggestedFees.maxPriorityFeePerGas, 2); + inputGasPrice.text = formatDec(root.suggestedFees.maxFeePerGasM, 2); } else { inputGasPrice.text = root.gasPrice } @@ -296,7 +273,7 @@ Item { text: qsTr("High") price: { if (!isEIP1559Enabled) return gasPrice; - return formatDec(suggestedFees.maxFeePerGasH,6); + return formatDec(root.suggestedFees.maxFeePerGasH,6); } gasLimit: inputGasLimit ? inputGasLimit.text : "" getGasEthValue: root.getGasEthValue @@ -304,8 +281,8 @@ Item { defaultCurrency: root.defaultCurrency onChecked: { if (isEIP1559Enabled){ - inputPerGasTipLimit.text = formatDec(suggestedFees.maxPriorityFeePerGas, 2); - inputGasPrice.text = formatDec(suggestedFees.maxFeePerGasH, 2); + inputPerGasTipLimit.text = formatDec(root.suggestedFees.maxPriorityFeePerGas, 2); + inputGasPrice.text = formatDec(root.suggestedFees.maxFeePerGasH, 2); } else { inputGasPrice.text = price } @@ -359,7 +336,7 @@ Item { visible: isEIP1559Enabled width: 125 customHeight: 56 - text: formatDec(suggestedFees.maxPriorityFeePerGas, 2); + text: formatDec(root.suggestedFees.maxPriorityFeePerGas, 2); placeholderText: "20" onTextChanged: { if (root.validate()) { diff --git a/ui/imports/shared/popups/SendModal.qml b/ui/imports/shared/popups/SendModal.qml index 9084442690..f5418a6455 100644 --- a/ui/imports/shared/popups/SendModal.qml +++ b/ui/imports/shared/popups/SendModal.qml @@ -146,7 +146,6 @@ StatusModal { getFiatValue: popup.store.getFiatValue defaultCurrency: popup.store.currentCurrency isEIP1559Enabled: popup.store.isEIP1559Enabled() - latestBaseFeePerGas: popup.store.latestBaseFeePerGas() suggestedFees: popup.store.suggestedFees() visible: !popup.store.isMultiNetworkEnabled @@ -220,13 +219,13 @@ StatusModal { if(gasSelector.isEIP1559Enabled && popup.contentItem.currentGroup === group1 && gasSelector.advancedMode){ if(gasSelector.showPriceLimitWarning || gasSelector.showTipLimitWarning){ Global.openPopup(transactionSettingsConfirmationPopupComponent, { - currentBaseFee: gasSelector.latestBaseFeePerGasGwei, + currentBaseFee: gasSelector.suggestedFees.baseFee, currentMinimumTip: gasSelector.perGasTipLimitFloor, currentAverageTip: gasSelector.perGasTipLimitAverage, tipLimit: gasSelector.selectedTipLimit, suggestedTipLimit: gasSelector.perGasTipLimitFloor, priceLimit: gasSelector.selectedOverallLimit, - suggestedPriceLimit: gasSelector.latestBaseFeePerGasGwei + gasSelector.perGasTipLimitFloor, + suggestedPriceLimit: gasSelector.suggestedFees.baseFee + gasSelector.perGasTipLimitFloor, showPriceLimitWarning: gasSelector.showPriceLimitWarning, showTipLimitWarning: gasSelector.showTipLimitWarning, onConfirm: function(){ diff --git a/ui/imports/shared/popups/SignTransactionModal.qml b/ui/imports/shared/popups/SignTransactionModal.qml index 0c8256f241..919069769b 100644 --- a/ui/imports/shared/popups/SignTransactionModal.qml +++ b/ui/imports/shared/popups/SignTransactionModal.qml @@ -157,7 +157,6 @@ StatusModal { getFiatValue: root.store.getFiatValue defaultCurrency: root.store.currentCurrency isEIP1559Enabled: root.store.isEIP1559Enabled() - latestBaseFeePerGas: root.store.latestBaseFeePerGas() suggestedFees: root.store.suggestedFees() width: stack.width @@ -307,13 +306,13 @@ StatusModal { if(gasSelector.isEIP1559Enabled && stack.currentGroup === groupSelectGas && gasSelector.advancedMode){ if(gasSelector.showPriceLimitWarning || gasSelector.showTipLimitWarning){ Global.openPopup(transactionSettingsConfirmationPopupComponent, { - currentBaseFee: gasSelector.latestBaseFeePerGasGwei, + currentBaseFee: gasSelector.suggestedFees.baseFee, currentMinimumTip: gasSelector.perGasTipLimitFloor, currentAverageTip: gasSelector.perGasTipLimitAverage, tipLimit: gasSelector.selectedTipLimit, suggestedTipLimit: gasSelector.perGasTipLimitFloor, // TODO: priceLimit: gasSelector.selectedOverallLimit, - suggestedPriceLimit: gasSelector.latestBaseFeePerGasGwei + gasSelector.perGasTipLimitFloor, + suggestedPriceLimit: gasSelector.suggestedFees.baseFee + gasSelector.perGasTipLimitFloor, showPriceLimitWarning: gasSelector.showPriceLimitWarning, showTipLimitWarning: gasSelector.showTipLimitWarning, onConfirm: function(){ diff --git a/ui/imports/shared/status/StatusETHTransactionModal.qml b/ui/imports/shared/status/StatusETHTransactionModal.qml index 44eadf1fb2..6d957c2d5e 100644 --- a/ui/imports/shared/status/StatusETHTransactionModal.qml +++ b/ui/imports/shared/status/StatusETHTransactionModal.qml @@ -121,7 +121,6 @@ ModalPopup { getFiatValue: root.ensUsernamesStore.getFiatValue defaultCurrency: root.ensUsernamesStore.getCurrentCurrency() isEIP1559Enabled: root.store.isEIP1559Enabled() - latestBaseFeePerGas: root.store.latestBaseFeePerGas() suggestedFees: root.store.suggestedFees() property var estimateGas: Backpressure.debounce(gasSelector, 600, function() { @@ -221,13 +220,13 @@ ModalPopup { if(gasSelector.isEIP1559Enabled && stack.currentGroup === group2 && gasSelector.advancedMode){ if(gasSelector.showPriceLimitWarning || gasSelector.showTipLimitWarning){ Global.openPopup(transactionSettingsConfirmationPopupComponent, { - currentBaseFee: gasSelector.latestBaseFeePerGasGwei, + currentBaseFee: gasSelector.suggestedFees.baseFee, currentMinimumTip: gasSelector.perGasTipLimitFloor, currentAverageTip: gasSelector.perGasTipLimitAverage, tipLimit: gasSelector.selectedTipLimit, suggestedTipLimit: gasSelector.perGasTipLimitFloor, priceLimit: gasSelector.selectedOverallLimit, - suggestedPriceLimit: gasSelector.latestBaseFeePerGasGwei + gasSelector.perGasTipLimitFloor, + suggestedPriceLimit: gasSelector.suggestedFees.baseFee + gasSelector.perGasTipLimitFloor, showPriceLimitWarning: gasSelector.showPriceLimitWarning, showTipLimitWarning: gasSelector.showTipLimitWarning, onConfirm: function(){ diff --git a/ui/imports/shared/status/StatusSNTTransactionModal.qml b/ui/imports/shared/status/StatusSNTTransactionModal.qml index 94abf07cc3..58be0093db 100644 --- a/ui/imports/shared/status/StatusSNTTransactionModal.qml +++ b/ui/imports/shared/status/StatusSNTTransactionModal.qml @@ -139,7 +139,6 @@ ModalPopup { getFiatValue: root.stickersStore.getFiatValue defaultCurrency: root.stickersStore.getCurrentCurrency() isEIP1559Enabled: root.store.isEIP1559Enabled() - latestBaseFeePerGas: root.store.latestBaseFeePerGas() suggestedFees: root.store.suggestedFees() width: stack.width @@ -247,13 +246,13 @@ ModalPopup { if(gasSelector.isEIP1559Enabled && stack.currentGroup === group2 && gasSelector.advancedMode){ if(gasSelector.showPriceLimitWarning || gasSelector.showTipLimitWarning){ Global.openPopup(transactionSettingsConfirmationPopupComponent, { - currentBaseFee: gasSelector.latestBaseFeePerGasGwei, + currentBaseFee: gasSelector.suggestedFees.baseFee, currentMinimumTip: gasSelector.perGasTipLimitFloor, currentAverageTip: gasSelector.perGasTipLimitAverage, tipLimit: gasSelector.selectedTipLimit, suggestedTipLimit: gasSelector.perGasTipLimitFloor, // TODO: priceLimit: gasSelector.selectedOverallLimit, - suggestedPriceLimit: gasSelector.latestBaseFeePerGasGwei + gasSelector.perGasTipLimitFloor, + suggestedPriceLimit: gasSelector.suggestedFees.baseFee + gasSelector.perGasTipLimitFloor, showPriceLimitWarning: gasSelector.showPriceLimitWarning, showTipLimitWarning: gasSelector.showTipLimitWarning, onConfirm: function(){