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.fillWidth: true
Label {
text: Config.formatSats(swaphelper.serverfee)
text: Config.formatSats(swaphelper.server_miningfee)
font.family: FixedFont
}
Label {
@ -128,7 +128,7 @@ ElDialog {
}
Label {
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._toreceive = QEAmount()
self._serverfeeperc = ''
self._serverfee = QEAmount()
self._server_miningfee = QEAmount()
self._miningfee = QEAmount()
self._isReverse = False
@ -148,16 +148,16 @@ class QESwapHelper(AuthMixin, QObject):
self._toreceive = toreceive
self.toreceiveChanged.emit()
serverfeeChanged = pyqtSignal()
@pyqtProperty(QEAmount, notify=serverfeeChanged)
def serverfee(self):
return self._serverfee
server_miningfeeChanged = pyqtSignal()
@pyqtProperty(QEAmount, notify=server_miningfeeChanged)
def server_miningfee(self):
return self._server_miningfee
@serverfee.setter
def serverfee(self, serverfee):
if self._serverfee != serverfee:
self._serverfee = serverfee
self.serverfeeChanged.emit()
@server_miningfee.setter
def server_miningfee(self, server_miningfee):
if self._server_miningfee != server_miningfee:
self._server_miningfee = server_miningfee
self.server_miningfeeChanged.emit()
serverfeepercChanged = pyqtSignal()
@pyqtProperty(str, notify=serverfeepercChanged)
@ -285,8 +285,8 @@ class QESwapHelper(AuthMixin, QObject):
# fee breakdown
self.serverfeeperc = f'{swap_manager.percentage:0.1f}%'
serverfee = math.ceil(swap_manager.percentage * pay_amount / 100) + swap_manager.lockup_fee
self.serverfee = QEAmount(amount_sat=serverfee)
server_miningfee = swap_manager.lockup_fee
self.server_miningfee = QEAmount(amount_sat=server_miningfee)
self.miningfee = QEAmount(amount_sat=swap_manager.get_claim_fee())
else: # forward (normal) swap
@ -305,8 +305,8 @@ class QESwapHelper(AuthMixin, QObject):
# fee breakdown
self.serverfeeperc = f'{swap_manager.percentage:0.1f}%'
serverfee = math.ceil(swap_manager.percentage * pay_amount / 100) + swap_manager.normal_fee
self.serverfee = QEAmount(amount_sat=serverfee)
server_miningfee = swap_manager.normal_fee
self.server_miningfee = QEAmount(amount_sat=server_miningfee)
self.miningfee = QEAmount(amount_sat=self._tx.get_fee()) if self._tx else QEAmount()
if pay_amount and receive_amount:

Loading…
Cancel
Save