1
0

qml: show extra fee in ConfirmTxDialog (2fa)

This commit is contained in:
Sander van Grieken
2022-12-02 13:50:31 +01:00
parent ad2b01716c
commit 96af21faeb
2 changed files with 36 additions and 2 deletions

View File

@@ -106,6 +106,24 @@ ElDialog {
}
}
Label {
visible: !finalizer.extraFee.isEmpty
text: qsTr('Extra fee')
color: Material.accentColor
}
RowLayout {
visible: !finalizer.extraFee.isEmpty
Label {
text: Config.formatSats(finalizer.extraFee)
}
Label {
text: Config.baseUnit
color: Material.accentColor
}
}
Label {
text: qsTr('Fee rate')
color: Material.accentColor

View File

@@ -9,6 +9,7 @@ from electrum.transaction import PartialTxOutput, PartialTransaction
from electrum.util import NotEnoughFunds, profiler
from electrum.wallet import CannotBumpFee, CannotDoubleSpendTx, CannotCPFP
from electrum.network import NetworkException
from electrum.plugin import run_hook
from .qewallet import QEWallet
from .qetypes import QEAmount
@@ -227,6 +228,7 @@ class QETxFinalizer(TxFeeSlider):
_address = ''
_amount = QEAmount()
_effectiveAmount = QEAmount()
_extraFee = QEAmount()
_canRbf = False
addressChanged = pyqtSignal()
@@ -257,6 +259,17 @@ class QETxFinalizer(TxFeeSlider):
def effectiveAmount(self):
return self._effectiveAmount
extraFeeChanged = pyqtSignal()
@pyqtProperty(QEAmount, notify=extraFeeChanged)
def extraFee(self):
return self._extraFee
@extraFee.setter
def extraFee(self, extrafee):
if self._extraFee != extrafee:
self._extraFee.copyFrom(extrafee)
self.extraFeeChanged.emit()
canRbfChanged = pyqtSignal()
@pyqtProperty(bool, notify=canRbfChanged)
def canRbf(self):
@@ -311,8 +324,11 @@ class QETxFinalizer(TxFeeSlider):
self.update_from_tx(tx)
#TODO
#x_fee = run_hook('get_tx_extra_fee', self._wallet.wallet, tx)
x_fee = run_hook('get_tx_extra_fee', self._wallet.wallet, tx)
if x_fee:
x_fee_address, x_fee_amount = x_fee
self.extraFee = QEAmount(amount_sat=x_fee_amount)
fee_warning_tuple = self._wallet.wallet.get_tx_fee_warning(
invoice_amt=amount, tx_size=tx.estimated_size(), fee=tx.get_fee())
if fee_warning_tuple: