Commit Graph

12556 Commits

Author SHA1 Message Date
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
ThomasV 717d112b26 Move create_transaction logic from commands to wallet 2020-05-21 12:08:46 +02:00
ThomasV 782f9ed273 lnwatcher: use generic callbacks 2020-05-20 13:49:44 +02:00
SomberNight 7da8c2dfe5 qt/kivy: show warning when sending tx with high fee/amount ratio
related: #6162
2020-05-15 20:00:59 +02:00
SomberNight 937c0f36ae kivy: fix some bugs when paying 'max'
fixes: #6164
2020-05-15 20:00:56 +02:00
SomberNight eba3fa03ee kivy: confirm all actions even if there is no PIN set
eh.. I've just consolidated hundreds of testnet UTXOs by accident
2020-05-15 19:11:31 +02:00
SomberNight 1ac41b33a2 qt ConfirmTxDialog: (fix) allow sending tx with high feerate 2020-05-15 17:09:25 +02:00
SomberNight efc5deb06e qt addresses list: custom sort order for "Type" and "fiat balance" cols
fixes #4920
fixes #5641
2020-05-15 15:32:27 +02:00
SomberNight 93c90a30f0 qt MyTreeView: impl custom sort order framework, and use for invoices
sort invoices and payreqs (for Date column) based on timestamps
(timestamps have second resolution while the displayed date has minute resolution)
2020-05-15 15:32:18 +02:00
SomberNight 7d0703fc4a fix mac build: follow-up aac770404f 2020-05-14 20:58:54 +02:00
SomberNight 2a4b516f16 qt receive tab: fix refresh bug on macOS
related: #4777
2020-05-14 20:24:21 +02:00
SomberNight 587f8df8ad binaries: update base docker image for wine/appimage 2020-05-14 20:24:17 +02:00
SomberNight aac770404f mac build: pin hashes of more build dependencies
namely pyinstaller
2020-05-14 20:24:14 +02:00
SomberNight d9b4270035 mac build: bump libusb version 2020-05-14 20:24:11 +02:00
SomberNight 7143e9199f binaries: bump python version (3.7.6->3.7.7) 2020-05-14 20:24:07 +02:00