Browse Source

qml: fix display of server fee in swap dialog

The previously displayed amount was not the percentage,
but the mining fee plus the percentage.
master
ThomasV 3 years ago
parent
commit
6890268b1d
  1. 4
      electrum/gui/qml/components/SwapDialog.qml
  2. 28
      electrum/gui/qml/qeswaphelper.py

4
electrum/gui/qml/components/SwapDialog.qml

@ -119,7 +119,7 @@ ElDialog {
Layout.preferredWidth: 1 Layout.preferredWidth: 1
Layout.fillWidth: true Layout.fillWidth: true
Label { Label {
text: Config.formatSats(swaphelper.serverfee) text: Config.formatSats(swaphelper.server_miningfee)
font.family: FixedFont font.family: FixedFont
} }
Label { Label {
@ -128,7 +128,7 @@ ElDialog {
} }
Label { Label {
text: swaphelper.serverfeeperc text: swaphelper.serverfeeperc
? '(' + swaphelper.serverfeeperc + ')' ? '+ ' + swaphelper.serverfeeperc
: '' : ''
} }
} }

28
electrum/gui/qml/qeswaphelper.py

@ -37,7 +37,7 @@ class QESwapHelper(AuthMixin, QObject):
self._tosend = QEAmount() self._tosend = QEAmount()
self._toreceive = QEAmount() self._toreceive = QEAmount()
self._serverfeeperc = '' self._serverfeeperc = ''
self._serverfee = QEAmount() self._server_miningfee = QEAmount()
self._miningfee = QEAmount() self._miningfee = QEAmount()
self._isReverse = False self._isReverse = False
@ -148,16 +148,16 @@ class QESwapHelper(AuthMixin, QObject):
self._toreceive = toreceive self._toreceive = toreceive
self.toreceiveChanged.emit() self.toreceiveChanged.emit()
serverfeeChanged = pyqtSignal() server_miningfeeChanged = pyqtSignal()
@pyqtProperty(QEAmount, notify=serverfeeChanged) @pyqtProperty(QEAmount, notify=server_miningfeeChanged)
def serverfee(self): def server_miningfee(self):
return self._serverfee return self._server_miningfee
@serverfee.setter @server_miningfee.setter
def serverfee(self, serverfee): def server_miningfee(self, server_miningfee):
if self._serverfee != serverfee: if self._server_miningfee != server_miningfee:
self._serverfee = serverfee self._server_miningfee = server_miningfee
self.serverfeeChanged.emit() self.server_miningfeeChanged.emit()
serverfeepercChanged = pyqtSignal() serverfeepercChanged = pyqtSignal()
@pyqtProperty(str, notify=serverfeepercChanged) @pyqtProperty(str, notify=serverfeepercChanged)
@ -285,8 +285,8 @@ class QESwapHelper(AuthMixin, QObject):
# fee breakdown # fee breakdown
self.serverfeeperc = f'{swap_manager.percentage:0.1f}%' self.serverfeeperc = f'{swap_manager.percentage:0.1f}%'
serverfee = math.ceil(swap_manager.percentage * pay_amount / 100) + swap_manager.lockup_fee server_miningfee = swap_manager.lockup_fee
self.serverfee = QEAmount(amount_sat=serverfee) self.server_miningfee = QEAmount(amount_sat=server_miningfee)
self.miningfee = QEAmount(amount_sat=swap_manager.get_claim_fee()) self.miningfee = QEAmount(amount_sat=swap_manager.get_claim_fee())
else: # forward (normal) swap else: # forward (normal) swap
@ -305,8 +305,8 @@ class QESwapHelper(AuthMixin, QObject):
# fee breakdown # fee breakdown
self.serverfeeperc = f'{swap_manager.percentage:0.1f}%' self.serverfeeperc = f'{swap_manager.percentage:0.1f}%'
serverfee = math.ceil(swap_manager.percentage * pay_amount / 100) + swap_manager.normal_fee server_miningfee = swap_manager.normal_fee
self.serverfee = QEAmount(amount_sat=serverfee) self.server_miningfee = QEAmount(amount_sat=server_miningfee)
self.miningfee = QEAmount(amount_sat=self._tx.get_fee()) if self._tx else QEAmount() self.miningfee = QEAmount(amount_sat=self._tx.get_fee()) if self._tx else QEAmount()
if pay_amount and receive_amount: if pay_amount and receive_amount:

Loading…
Cancel
Save