diff --git a/electrum/wallet.py b/electrum/wallet.py index b9447e7c7..ed5906242 100644 --- a/electrum/wallet.py +++ b/electrum/wallet.py @@ -1440,6 +1440,7 @@ class Abstract_Wallet(AddressSynchronizer, ABC): if not isinstance(tx, PartialTransaction): tx = PartialTransaction.from_tx(tx) assert isinstance(tx, PartialTransaction) + tx.remove_signatures() if tx.is_final(): raise CannotBumpFee(_('Transaction is final')) new_fee_rate = quantize_feerate(new_fee_rate) # strip excess precision diff --git a/electrum/wallet_db.py b/electrum/wallet_db.py index 23d360915..281cd634a 100644 --- a/electrum/wallet_db.py +++ b/electrum/wallet_db.py @@ -968,6 +968,8 @@ class WalletDB(JsonDB): assert isinstance(tx_hash, str) assert isinstance(tx, Transaction), tx # note that tx might be a PartialTransaction + # serialize and de-serialize tx now. this might e.g. convert a complete PartialTx to a Tx + tx = tx_from_any(str(tx)) if not tx_hash: raise Exception("trying to add tx to db without txid") if tx_hash != tx.txid():