Commit graph

67 commits

Author SHA1 Message Date
SomberNight
aa518c0ea5
psbt: allow insecure signing of legacy UTXOs without full previous tx
When "importing" a psbt, we accept witness utxos even for legacy inputs
(warning shown to user in gui).
When "exporting" a psbt, we follow the spec; except when exporting as a QR code,
in which case we include witness utxos for all inputs.
This makes QR codes for psbts with legacy inputs feasible, just like they
were before, with our custom tx serialization format (with the same risk,
of burning coins as miner fees).
2019-11-07 02:40:10 +01:00
SomberNight
74a46689d8
kivy tx dialog: was missing tx.add_input_from_wallet() call
resulted in e.g. incorrect "tx unrelated to wallet" detection for beyond-gap-limit stuff
2019-11-07 02:26:58 +01:00
SomberNight
bafe8a2fff
integrate PSBT support natively. WIP 2019-11-04 22:24:36 +01:00
ThomasV
e35bddcc09 kivy: fix can_pay in invoice_dialog 2019-10-23 08:33:16 +02:00
ThomasV
aac0fe9ae6 kivy: show status with color. show inflight attempts. 2019-10-22 15:41:45 +02:00
ThomasV
cd86bec894 kivy: add 'delete channel' button 2019-10-22 12:27:55 +02:00
SomberNight
c7346c1eb8
kivy: fix paying onchain invoices
when pasting a new invoice and paying it
Traceback (most recent call last):
  File "/home/user/wspace/electrum/electrum/gui/kivy/uix/screens.py", line 358, in _do_send_onchain
    tx = self.app.wallet.make_unsigned_transaction(coins, outputs, None)
  File "/home/user/wspace/electrum/electrum/wallet.py", line 849, in make_unsigned_transaction
    if o.type == TYPE_ADDRESS:
AttributeError: 'tuple' object has no attribute 'type'

when loading back a saved invoice
Traceback (most recent call last):
  File "/home/user/wspace/electrum/electrum/gui/kivy/uix/screens.py", line 358, in _do_send_onchain
    tx = self.app.wallet.make_unsigned_transaction(coins, outputs, None)
  File "/home/user/wspace/electrum/electrum/wallet.py", line 849, in make_unsigned_transaction
    if o.type == TYPE_ADDRESS:
AttributeError: 'list' object has no attribute 'type'
2019-09-13 15:00:34 +02:00
SomberNight
a05dab2c4d
storage: read/write sanity checks
related: #4110
supersedes: #4528
2019-09-10 21:17:15 +02:00
ThomasV
cefa4762ba do not create multiple instances of SimpleConfig (fix #5629). Add config field to wallet 2019-09-10 08:57:40 +02:00
SomberNight
b1dc281cba
kivy amount_dialog: truncate btc amounts to max precision
closes #5624
2019-09-08 15:41:10 +02:00
SomberNight
0deb12cb2b
kivy: fix ln channel open via scan_qr 2019-09-05 17:06:42 +02:00
ThomasV
a50f935aec Restructure invoices and requests (WIP)
- Terminology: use 'invoices' for outgoing payments, 'requests' for incoming payments
 - At the GUI level, try to handle invoices in a generic way.
 - Display ongoing payments in send tab.
2019-09-02 15:35:44 +02:00
ThomasV
b99a71d1b3 kivy: call register_callback only from main_window. Display CTN in channel details. 2019-08-31 10:13:20 +02:00
ThomasV
31a18f83f1 (trivial) fix variable name 2019-08-27 13:35:03 +02:00
ThomasV
ab5a02ba50 kivy: remove hidden state in RefLabel, use it for seed and private keys 2019-08-23 15:46:58 +02:00
ThomasV
e9c32bad19 kivy: remove context menus, cleanup unused files 2019-08-23 12:15:42 +02:00
ThomasV
587f8aa487 Kivy GUI improvements:
- create unique instances of channels_dialog and addresses_dialog
 - display and refresh balances in channels_dialog
 - improve formatting of tx history
 - repurpose left button in receive_tab
2019-08-22 19:04:32 +02:00
ThomasV
dd22cb6dff kivy: minor fixes 2019-08-20 09:03:12 +02:00
ThomasV
9f8e2c689e test funding_txn_minimum_depth, show it in GUI 2019-08-20 09:03:12 +02:00
ThomasV
46c2d7821f kivy: show pending requests in receive tab instead of dialog 2019-08-20 09:03:12 +02:00
ThomasV
4b2336304f kivy fix: get_latest_feerate 2019-08-20 09:03:12 +02:00
ThomasV
a54cb30cf3 kivy: simplify open_channel dialog 2019-08-20 09:03:12 +02:00
ThomasV
70cd29f9e1 GUI refactoring for Kivy and lightning.
This also touches Qt and wallet code.
2019-08-20 09:03:12 +02:00
SomberNight
2976f50b8c lightning post-rebase fixups 2019-08-20 09:03:11 +02:00
Janus
9d32031ca2 Kivy: Lightning support in Receive tab 2019-08-20 09:03:11 +02:00
Janus
7db9a22d63 Kivy: open channel dialog 2019-08-20 09:03:11 +02:00
Janus
f803bb571d kivy: restore channel list to working state, add [force-]closing functionality 2019-08-20 09:03:11 +02:00
Janus
35adc3231b lightning: fixup after rebasing on restructured master 2019-08-20 09:03:10 +02:00
ThomasV
9c454726f4 rename WizardChoiceDialog (ambiguous) 2019-08-20 09:02:33 +02:00
SomberNight
bf7beba60c
kivy wizard: script type dialog now uses toggle buttons 2019-08-13 20:12:27 +02:00
SomberNight
bcbd52d752
kivy wizard: dedicated button for seed options
previously user had to touch the text field itself
2019-08-13 19:19:50 +02:00
ThomasV
a7b61fcab9 kivy: support bip39 seeds 2019-08-13 17:14:54 +02:00
SomberNight
95ae42b998
kivy wizard: undo Window.bind callbacks
related: #5534
2019-08-13 17:12:42 +02:00
zebra-lucky
e953eebdb9 gui/kivy: fix installwizard back button behaviour 2019-07-28 04:04:20 +03:00
SomberNight
53893be4c9
crash reporter: in Qt subclass, do network request using WaitingDialog
so it does not block the GUI
2019-07-02 19:27:36 +02:00
SomberNight
d0a43662bd
wallet: make "increase fee" RBF logic smarter
There are now two internal strategies to bump the fee of a txn.
bump fee method 1: keep all inputs, keep all not is_mine outputs,
                   allow adding new inputs
bump fee method 2: keep all inputs, no new inputs are added,
                   allow decreasing and removing outputs (change is decreased first)
Method 2 is less "safe" as it might end up decreasing e.g. a payment to a merchant;
but e.g. if the user has sent "Max" previously, this is the only way to RBF.

We try method 1 first, and fail-over to method 2.
Previous versions always used method 2.

fixes #3652
2019-06-20 22:42:48 +02:00
SomberNight
c7a8540d06
kivy: show tx fee rate in tx dialog 2019-06-19 21:56:52 +02:00
SomberNight
0ec574bcf8
kivy tx_dialog: fix size of buttons in "Options" dropdown 2019-06-04 21:00:48 +02:00
SomberNight
6cf7aefe28
kivy: offer to copy raw hex tx to clipboard
related: #5405
2019-06-04 19:20:31 +02:00
SomberNight
d2a80f15a1
kivy fx dialog: fix #5329 2019-05-13 20:05:01 +02:00
SomberNight
dd7b356fcc
kivy wizard: fix #5333 2019-05-11 19:36:57 +02:00
SomberNight
7a99fdc275
kivy: fix crash in logging.py; platform.platform() not available 2019-05-06 19:10:29 +02:00
SomberNight
163a814dc4
logging: log exceptions caught by crash reporter 2019-05-02 15:19:11 +02:00
SomberNight
205c437d9a
wallet: get_tx_info now returns NamedTuple instead of abomination 2019-04-29 02:32:15 +02:00
ghost43
a6762ffebc
Merge pull request #5272 from SomberNight/issue_4638_2
sweep/import key: disallow uncompressed segwit
2019-04-25 14:25:46 +02:00
SomberNight
2b717a8cef
minor fix re translated string 2019-04-21 03:31:37 +02:00
SomberNight
914d02ecd3
kivy tx dialog: allow removing local transactions
fixes #5156
2019-04-21 03:26:54 +02:00
SomberNight
8d0ec1dec0
kivy tx dialog: "action button" can have multiple options -> dropdown 2019-04-21 03:25:06 +02:00
SomberNight
a1d98d4331
sweep/import key: show error in Qt GUI to user as tooltip 2019-04-19 00:15:45 +02:00
SomberNight
6311aa24a8
follow-up prev 2019-03-22 18:52:57 +01:00