qml: show extra fee in ConfirmTxDialog (2fa)
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user