1
0

qml: fix tx not saved when PIN active

This commit is contained in:
Sander van Grieken
2023-01-13 21:26:10 +01:00
parent 8fa549c418
commit 3b7a09a307
2 changed files with 10 additions and 3 deletions

View File

@@ -260,6 +260,7 @@ Item {
} }
close() close()
} }
onClosed: destroy() onClosed: destroy()
} }
} }
@@ -307,12 +308,13 @@ Item {
Component { Component {
id: confirmPaymentDialog id: confirmPaymentDialog
ConfirmTxDialog { ConfirmTxDialog {
id: _confirmPaymentDialog
title: qsTr('Confirm Payment') title: qsTr('Confirm Payment')
finalizer: TxFinalizer { finalizer: TxFinalizer {
wallet: Daemon.currentWallet wallet: Daemon.currentWallet
canRbf: true canRbf: true
onFinished: _confirmPaymentDialog.destroy()
} }
onClosed: destroy()
} }
} }

View File

@@ -218,6 +218,10 @@ class TxFeeSlider(FeeSlider):
self.outputs = outputs self.outputs = outputs
class QETxFinalizer(TxFeeSlider): class QETxFinalizer(TxFeeSlider):
_logger = get_logger(__name__)
finished = pyqtSignal()
def __init__(self, parent=None, *, make_tx=None, accept=None): def __init__(self, parent=None, *, make_tx=None, accept=None):
super().__init__(parent) super().__init__(parent)
self.f_make_tx = make_tx self.f_make_tx = make_tx
@@ -229,8 +233,6 @@ class QETxFinalizer(TxFeeSlider):
self._extraFee = QEAmount() self._extraFee = QEAmount()
self._canRbf = False self._canRbf = False
_logger = get_logger(__name__)
addressChanged = pyqtSignal() addressChanged = pyqtSignal()
@pyqtProperty(str, notify=addressChanged) @pyqtProperty(str, notify=addressChanged)
def address(self): def address(self):
@@ -350,6 +352,7 @@ class QETxFinalizer(TxFeeSlider):
return return
self._wallet.sign(self._tx, broadcast=True) self._wallet.sign(self._tx, broadcast=True)
self.finished.emit()
@pyqtSlot() @pyqtSlot()
def signAndSave(self): def signAndSave(self):
@@ -380,6 +383,8 @@ class QETxFinalizer(TxFeeSlider):
if not self._wallet.wallet.adb.add_transaction(self._tx): if not self._wallet.wallet.adb.add_transaction(self._tx):
self._logger.error('Could not save tx') self._logger.error('Could not save tx')
self.finished.emit()
@pyqtSlot(result=str) @pyqtSlot(result=str)
@pyqtSlot(bool, result=str) @pyqtSlot(bool, result=str)
def serializedTx(self, for_qr=False): def serializedTx(self, for_qr=False):