From d31883a2eab0ad5771ccf0d27b8490b132ffb7a1 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Mon, 22 Jun 2020 23:38:44 +0200 Subject: [PATCH] wallet.export_{request,invoice}: replace 'amount' field with sat/msat (was failing as 'amount' was Decimal for LN invoices, which cannot be json-serialised) --- electrum/wallet.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/electrum/wallet.py b/electrum/wallet.py index bf529010b..b29e156d0 100644 --- a/electrum/wallet.py +++ b/electrum/wallet.py @@ -1691,7 +1691,6 @@ class Abstract_Wallet(AddressSynchronizer, ABC): is_lightning = x.is_lightning() d = { 'is_lightning': is_lightning, - 'amount': x.get_amount_sat(), 'amount_BTC': format_satoshis(x.get_amount_sat()), 'message': x.message, 'timestamp': x.time, @@ -1708,6 +1707,9 @@ class Abstract_Wallet(AddressSynchronizer, ABC): d['can_receive'] = self.lnworker.can_receive_invoice(x) else: assert isinstance(x, OnchainInvoice) + amount_sat = x.get_amount_sat() + assert isinstance(amount_sat, (int, str, type(None))) + d['amount_sat'] = amount_sat addr = x.get_address() paid, conf = self.get_payment_status(addr, x.amount_sat) d['address'] = addr @@ -1733,7 +1735,6 @@ class Abstract_Wallet(AddressSynchronizer, ABC): is_lightning = x.is_lightning() d = { 'is_lightning': is_lightning, - 'amount': x.get_amount_sat(), 'amount_BTC': format_satoshis(x.get_amount_sat()), 'message': x.message, 'timestamp': x.time, @@ -1749,6 +1750,9 @@ class Abstract_Wallet(AddressSynchronizer, ABC): d['can_pay'] = self.lnworker.can_pay_invoice(x) else: assert isinstance(x, OnchainInvoice) + amount_sat = x.get_amount_sat() + assert isinstance(amount_sat, (int, str, type(None))) + d['amount_sat'] = amount_sat d['outputs'] = [y.to_legacy_tuple() for y in x.outputs] if x.bip70: d['bip70'] = x.bip70