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 { Label {
text: qsTr('Fee rate') text: qsTr('Fee rate')
color: Material.accentColor color: Material.accentColor

View File

@@ -9,6 +9,7 @@ from electrum.transaction import PartialTxOutput, PartialTransaction
from electrum.util import NotEnoughFunds, profiler from electrum.util import NotEnoughFunds, profiler
from electrum.wallet import CannotBumpFee, CannotDoubleSpendTx, CannotCPFP from electrum.wallet import CannotBumpFee, CannotDoubleSpendTx, CannotCPFP
from electrum.network import NetworkException from electrum.network import NetworkException
from electrum.plugin import run_hook
from .qewallet import QEWallet from .qewallet import QEWallet
from .qetypes import QEAmount from .qetypes import QEAmount
@@ -227,6 +228,7 @@ class QETxFinalizer(TxFeeSlider):
_address = '' _address = ''
_amount = QEAmount() _amount = QEAmount()
_effectiveAmount = QEAmount() _effectiveAmount = QEAmount()
_extraFee = QEAmount()
_canRbf = False _canRbf = False
addressChanged = pyqtSignal() addressChanged = pyqtSignal()
@@ -257,6 +259,17 @@ class QETxFinalizer(TxFeeSlider):
def effectiveAmount(self): def effectiveAmount(self):
return self._effectiveAmount 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() canRbfChanged = pyqtSignal()
@pyqtProperty(bool, notify=canRbfChanged) @pyqtProperty(bool, notify=canRbfChanged)
def canRbf(self): def canRbf(self):
@@ -311,8 +324,11 @@ class QETxFinalizer(TxFeeSlider):
self.update_from_tx(tx) 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( fee_warning_tuple = self._wallet.wallet.get_tx_fee_warning(
invoice_amt=amount, tx_size=tx.estimated_size(), fee=tx.get_fee()) invoice_amt=amount, tx_size=tx.estimated_size(), fee=tx.get_fee())
if fee_warning_tuple: if fee_warning_tuple: