Commit graph

12820 commits

Author SHA1 Message Date
SomberNight
dc6dbe5bfb
HW_PluginBase: small clean-up for 'maximum_library' 2020-06-04 18:52:08 +02:00
SomberNight
e07d5d8422
fix tests: follow-up psbt changes
follow-up e058ee2957

the difference for each tx here is that
- the old ones had witness utxo but not utxo
- the new ones have utxo but not witness utxo
2020-06-03 21:24:05 +02:00
SomberNight
309ba15745
invoices: follow-up fixes re clean-up
follow-up 6058829870 and related
2020-06-03 21:00:03 +02:00
matejcik
e058ee2957
psbt: always include full prev tx (#6198)
* enable streaming full UTXOs for all types of inputs

Co-authored-by: SomberNight <somber.night@protonmail.com>
2020-06-03 18:03:12 +00:00
SomberNight
1978bba915
fix tests: follow-up 154b9cab50 2020-06-03 19:00:28 +02:00
ThomasV
cc3da6c75f follow-up prev 2020-06-03 18:48:27 +02:00
ThomasV
b6d56ece82 fix #6203: do not let request amount be None 2020-06-03 18:20:20 +02:00
SomberNight
154b9cab50
coinchooser: change "enable_output_value_rounding" default to True
see diff for rationale
2020-06-03 18:18:56 +02:00
SomberNight
5958fa8b2d
coinchooser: small clean-up re enable_output_value_rounding 2020-06-03 18:14:05 +02:00
SomberNight
d1f860ccf3
dependencies: update max qdarkstyle
Previously we stuck with version 2.6.8 as that had no deps but later
versions introduced several deps. However, now latest version only
has two dependencies (one of which has the same maintainer).
Futher, there are some bugs with 2.6.8 when used with new Qt,
e.g. with dropdowns that I want fixed (which it is in the newer ones).

related https://github.com/ColinDuquesnoy/QDarkStyleSheet/issues/182
2020-06-03 18:05:33 +02:00
SomberNight
83d7160b47
rerun freeze_packages 2020-06-03 18:05:30 +02:00
SomberNight
5ec0747eff
contrib/freeze_packages: should not use too new python interpreter
Certain dependencies are only needed on old python versions,
e.g. backports of stdlib functionality.
We should definitely not use newer python when running freeze_packages.sh
than what we bundle in the binaries. Perhaps it is prudent to use the
min python version that we support (which is atm older than what we bundle).
2020-06-03 18:05:26 +02:00
Marko Bencun
b9b08b768f
plugins/bitbox02: fix min version check
Inform the user that they need to upgrade if their firmware version is
out of date.

The previous `check_device_firmware_version()` was dead code, and the
bb02 function called inside also does not exist.
2020-06-03 15:36:15 +02:00
Marko Bencun
b863150fe3
plugins/bitbox02: fix compatibility with bitbox02-3.0.0 2020-06-03 15:35:43 +02:00
ThomasV
cfdfbd2bfe follow-up 6058829870 2020-06-02 16:32:07 +02:00
ThomasV
84a8b6af1f follow-up 1c436bbc22 2020-06-02 16:31:16 +02:00
ThomasV
0878fe08f7 do not display 'Expires in 100 years' for LN invoices 2020-06-01 22:18:08 +02:00
ThomasV
8cb36cb969 fix #6194 2020-06-01 21:57:46 +02:00
ThomasV
6058829870 Use attr.s classes for invoices and requests:
- storage upgrade
 - fixes #6192
 - add can_pay_invoice, can_receive_invoice to lnworker
2020-06-01 21:02:45 +02:00
ThomasV
5f527720cf kivy: update devs list 2020-05-30 20:38:47 +02:00
ThomasV
e51395132e add confirmation dialog for lightning payments. fixes #6100 2020-05-30 13:53:24 +02:00
SomberNight
d0e6747bb5
kivy: (fix) popups had white background with recent kivy
fixes #6191
2020-05-29 21:32:27 +02:00
SomberNight
f8530b1cda
android build: use python3.7 for now
see #6147
2020-05-29 21:15:05 +02:00
SomberNight
3e4ead446b
kivy: (trivial) fix typo in error msg 2020-05-29 20:53:12 +02:00
SomberNight
4a4b0922e5
trustedcoin: (trivial) add a stub method in plugin base class 2020-05-29 20:51:52 +02:00
ThomasV
b505763867 Qt: do not show node_id in channels_list 2020-05-29 19:23:29 +02:00
SomberNight
e6e587b7da
trustedcoin: use psbt format on wire. rm psbt to legacy tx conversion.
closes #6123
2020-05-29 18:58:30 +02:00
ThomasV
2adbbee5fe Add extra state to distinguish shutdown negotiation from post-
negotiation, where channel should not be reestablished. See #6182
2020-05-29 18:00:52 +02:00
ThomasV
680502cfb8 Qt: copy request to clipboard when it is created 2020-05-29 09:57:25 +02:00
ThomasV
3bf2641ce8 kivy: remove test_seed and test_xpub. fixes #6146 and #5925 2020-05-29 08:59:14 +02:00
Jin Eguchi
6339afee3b
appimage: update openssl (#6186) 2020-05-29 00:30:20 +00:00
ThomasV
8e3ee73daf
Merge pull request #6134 from SomberNight/202004_ln_fundingtx_forbid_bump_cjoin
wallet: disallow fee-bumping/coinjoining ln funding tx
2020-05-27 18:37:04 +02:00
ThomasV
6aa337c618 fix #6176 2020-05-27 18:13:30 +02:00
ThomasV
c035bfcc46 Qt: show fee combo next to fee slider, and remove it from settings 2020-05-26 18:34:48 +02:00
ThomasV
959af0065b follow-up previous commit: cleanup imports 2020-05-26 16:06:15 +02:00
ThomasV
7490787d38 follow-up previous commit 2020-05-26 15:55:47 +02:00
ThomasV
1c436bbc22 move units and amount formatting to simple_config 2020-05-26 15:49:28 +02:00
SomberNight
4d8fcded4b
qt plugins dialog: fix caching "settings" button
shesek reported on IRC:
> the button widget for opening plugins configuration gets cached in `settings_widgets`
> even after the plugin is disabled and re-enabled, which causes it to call `settings_dialog()`
> on the previous plugin instance that got unloaded instead of the new one.
2020-05-26 00:54:22 +02:00
SomberNight
ac63444cfc
wallet: better handle used change addresses reverting to unused
If a used/reserved change address became unused/unreserved, it would not
get offered for usage by wallet until app restart.
Make the used->unused transition less likely by requiring 3 confirmations
(instead of considering even local/unconfirmed txs for 'used');
and avoid removing reserved addresses from the pool altogether.
2020-05-25 17:42:11 +02:00
SomberNight
c14a704082
wallet: fix minor locking thing in set_reserved_state_of_address
follow-up 6040e953a3
2020-05-25 17:34:52 +02:00
SomberNight
24221f8fca
plugins: fix labels plugin FIXME re "just enabled plugin" 2020-05-25 17:31:13 +02:00
SomberNight
cdecc4e3fa
wallet: increase gap limit for change (6 -> 10)
We are now using change addresses for the channel SRK to_remote outputs
(and reserving these change addresses). (see prev commits)
Note that every channel open we initiate typically uses two change addresses:
- one for the SRK to_remote output, and
- one for the funding tx change output (assuming there is change).
2020-05-22 17:19:58 +02:00
SomberNight
530a446172
follow-up prev: don't reuse funding tx change address for static_remotekey
see comment in code
2020-05-22 17:19:55 +02:00
SomberNight
6040e953a3
wallet: implement reserving addresses, and use it for LN SRK to_remote
- Use change addresses (instead of receive) for the static_remotekey to_remote outputs,
  and reserve these to greatly reduce the chance of address-reuse
- Use change addresses (instead of receive) for LN channel sweep addresses.
  Note that these atm are not getting reserved.
2020-05-22 17:19:51 +02:00
SomberNight
6457bb141d
wallet: (trivial) rename check_address 2020-05-22 17:19:48 +02:00
SomberNight
f8c574b699
wallet: (fix) get_receiving_address must always return an addr
- also, disallow deleting last address from an imported wallet (fixes #3254, fixes #4833)
- also, set LNBackups.sweep_address lazily, as during fresh wallet creation
  there are no addresses in the wallet at that point yet! see trace below.

Traceback (most recent call last):
  [...]
  File "...\electrum\electrum\tests\test_commands.py", line 112, in test_export_private_key_deterministic
    wallet = restore_wallet_from_text('bitter grass shiver impose acquire brush forget axis eager alone wine silver',
  File "...\electrum\electrum\wallet.py", line 2575, in restore_wallet_from_text
    wallet = Wallet(db, storage, config=config)
  File "...\electrum\electrum\wallet.py", line 2502, in __new__
    wallet = WalletClass(db, storage, config=config)
  File "...\electrum\electrum\wallet.py", line 2346, in __init__
    Deterministic_Wallet.__init__(self, db, storage, config=config)
  File "...\electrum\electrum\wallet.py", line 2147, in __init__
    Abstract_Wallet.__init__(self, db, storage, config=config)
  File "...\electrum\electrum\wallet.py", line 261, in __init__
    self.lnbackups = LNBackups(self)
  File "...\electrum\electrum\lnworker.py", line 1401, in __init__
    self.sweep_address = wallet.get_receiving_address()
  File "...\electrum\electrum\wallet.py", line 1498, in wrapper
    addr = func(self, *args, **kwargs)
  File "...\electrum\electrum\wallet.py", line 1520, in get_receiving_address
    raise Exception("no receiving addresses in wallet?!")
Exception: no receiving addresses in wallet?!
2020-05-22 16:25:33 +02:00
SomberNight
9657e927a7
wallet: (trivial) define import/delete_address in Abstract_Wallet 2020-05-22 16:17:41 +02:00
SomberNight
b9f20d2c79
qt locktimeedit: fix max timestamp platform-dependent crash
fixes #6170
2020-05-21 21:03:41 +02:00
SomberNight
446f21c206
qt first-time network setup: fix edge case
previously, consider following flow:
- user selects "Select server manually"
- "next"
- network dialog is shown, user leaves everything at default
- "next"
- we would not save the "auto_connect" key, and hence the first-time
  network setup will be shown during the next app start again
2020-05-21 19:27:46 +02:00
SomberNight
dfb3138d87
fix #6168: "'MySortModel' object has no attribute 'item'" 2020-05-21 19:16:19 +02:00