Commit Graph

671 Commits

Author SHA1 Message Date
Sander van Grieken
c690c9c1be Revert "qml: ElDialog titlebar click moves focus, hack for android to remove onscreen keyboard"
This reverts commit f0f320b119.
2023-03-15 15:39:35 +01:00
Sander van Grieken
2881c49671 qml: move technical details to bottom of InvoiceDialog, add routing hints 2023-03-15 15:19:30 +01:00
SomberNight
02a2f02d02 qml: actually do the x509 validation for bip70
as in other GUIs
2023-03-14 17:04:39 +00:00
SomberNight
e14ed717a8 qml: fix paying bip70 invoices 2023-03-14 16:32:14 +00:00
Sander van Grieken
0799560ae4 qml: make fiat and btc states in BalanceSummary hopefully equally tall 2023-03-14 16:36:34 +01:00
Sander van Grieken
f0f320b119 qml: ElDialog titlebar click moves focus, hack for android to remove onscreen keyboard 2023-03-14 15:52:24 +01:00
Sander van Grieken
1b0a58a0ff qml: don't pass lightning flag from GUI when creating payment requests 2023-03-14 14:49:58 +01:00
Sander van Grieken
950d8f4885 qml: Pin dialog wider (small form factor issue) 2023-03-14 14:01:03 +01:00
Sander van Grieken
876b0ff295 qml: handle empty histogram more gracefully, set histogram limit to 10MB 2023-03-14 13:59:56 +01:00
Sander van Grieken
5feb16ad75 qml: SeedTextArea only lower case input 2023-03-14 12:46:00 +01:00
Sander van Grieken
7fc4153f46 qml: render balance bar using (local|remote) capacity instead of can_(send|receive) 2023-03-14 12:42:52 +01:00
Sander van Grieken
4979346881 qml: detect channel backups in send dialog 2023-03-14 10:20:42 +01:00
Sander van Grieken
c0ce0296f8 qml: show channel backups together with channels in Channels, remove Channel backups button from WalletDetails,
filter backups to bottom, add backups section header
2023-03-14 10:06:31 +01:00
Sander van Grieken
5fd7721508 qml: de-dupe broadcastFailed handler, styling InvoiceDialog amount 2023-03-13 18:22:51 +01:00
Sander van Grieken
faf0c80893 qml: enable canPay in InvoiceDialog if wallet has insufficient funds to pay via lightning
and invoice has fallback address and amount can be paid on-chain.
In WalletMainView, follow on-chain payment path if available lighting balance is
insufficient for the invoice amount
2023-03-13 18:07:37 +01:00
Sander van Grieken
8e2a5853b8 qml: don't crash on bolt11 invoice when wallet is non-lightning 2023-03-13 17:20:01 +01:00
Sander van Grieken
c29e82053f qml: use config.FEERATE_DEFAULT_RELAY as lower bound for fee histogram 2023-03-13 15:51:36 +01:00
Sander van Grieken
a7e5349a58 qml: clamp min fees in histogram to 1, server can report invalid 0 fees 2023-03-13 14:24:11 +01:00
Sander van Grieken
0ebec200e2 qml: render fee histogram as a HSV gradient over next 25 blocks 2023-03-13 12:17:36 +01:00
ThomasV
503776c0de move fiat columns show/hide settings from settings_dialog to tab toolbars 2023-03-12 13:30:11 +01:00
SomberNight
d83863cc52 qt tx dialog: add checkbox "Download input data"
If checked, we download prev (parent) txs from the network, asynchronously.
This allows calculating the fee and showing "input addresses".

We could also SPV-verify the tx, to fill in missing tx_mined_status
(block height, blockhash, timestamp, short ids), but this is not done currently.
Note that there is no clean way to do this with electrum protocol 1.4:
`blockchain.transaction.get_merkle(tx_hash, height)` requires knowledge of the block height.

Loosely based on 6112fe0e51
2023-03-12 00:24:31 +00:00
SomberNight
81772faf6c wallet: add_input_info to no longer do network requests
- wallet.add_input_info() previously had a fallback to download parent
  prev txs from the network (after a lookup in wallet.db failed).
  wallet.add_input_info() is not async, so the network request cannot
  be done cleanly there and was really just a hack.
- tx.add_info_from_wallet() calls wallet.add_input_info() on each txin,
  in which case these network requests were done sequentially, not concurrently
- the network part of wallet.add_input_info() is now split out into new method:
  txin.add_info_from_network()
- in addition to tx.add_info_from_wallet(), there is now also tx.add_info_from_network()
  - callers of old tx.add_info_from_wallet() should now called either
    - tx.add_info_from_wallet(), then tx.add_info_from_network(), preferably in that order
    - tx.add_info_from_wallet() alone is sufficient if the tx is complete,
      or typically when not in a signing context
- callers of wallet.bump_fee and wallet.dscancel are now expected to have already
  called tx.add_info_from_network(), as it cannot be done in a non-async context
  (but for the common case of all-inputs-are-ismine, bump_fee/dscancel should work regardless)
- PartialTxInput.utxo was moved to the baseclass, TxInput.utxo
2023-03-12 00:21:57 +00:00
Sander van Grieken
a595102d5f qml: auto sign and broadcast for cancel txs too 2023-03-10 15:28:59 +01:00
Sander van Grieken
15a3c2d344 qml: auto sign & broadcast fee bump transactions if wallet can sign without cosigners.
Show a dialog otherwise
2023-03-10 13:31:41 +01:00
Sander van Grieken
cb5a9e499f qml: SwapDialog ok button 2023-03-10 12:52:04 +01:00
Sander van Grieken
ffb899871f qml: don't explicitly add new channel to listmodel. It is updated automatically (and the
model refreshed) through the channels_updated callback
2023-03-10 10:25:14 +01:00
Sander van Grieken
016eea2c04 qml: more robust keystore properties builder, support imported type 2023-03-09 21:49:42 +01:00
Sander van Grieken
aaca7c58ad qml: BalanceSummary now flipflops between fiat view and btc view 2023-03-09 17:16:22 +01:00
Sander van Grieken
c0e7fc6dec qml: don't show placeholder in History when empty history list and synchronizing 2023-03-09 16:19:10 +01:00
Sander van Grieken
1210ef5f81 qml: various styling 2023-03-09 16:13:46 +01:00
Sander van Grieken
d717471389 qml: move PIN one section up in Preferences 2023-03-09 15:38:29 +01:00
Sander van Grieken
b5e7887fa4 qml: move channel backups to WalletDetails 2023-03-09 15:37:51 +01:00
Sander van Grieken
c6be2521ef qml: relabel Export tx to Share 2023-03-09 15:19:33 +01:00
Sander van Grieken
0423970ae0 qml: add word picker to SeedTextArea 2023-03-09 15:09:16 +01:00
Sander van Grieken
f7a300b89b qml: successful PIN entry stays valid for 5 mins 2023-03-09 10:19:17 +01:00
Sander van Grieken
db467ff1f7 qml: remove not implemented new version check option in Preferences 2023-03-09 10:01:06 +01:00
ThomasV
74718e9085 confirm_tx_dialog: separate messages from warnings. add warnings about tx batching and spending unconfirmed coins 2023-03-06 19:25:46 +01:00
Sander van Grieken
b788f79509 qml: styling, padding various wizardcomponents 2023-03-06 18:05:54 +01:00
Sander van Grieken
9b0ff481b2 qml: txdetails feebump/cancel below mempool position 2023-03-06 18:05:20 +01:00
Sander van Grieken
00286254f9 qml: wizard button padding, wizardcomponent now a Pane 2023-03-06 16:47:19 +01:00
Sander van Grieken
461fcf2443 qml: wizard use flatbuttons 2023-03-06 16:02:08 +01:00
Sander van Grieken
ce5b6499fd qml: styling fixes 2023-03-06 11:43:32 +01:00
SomberNight
5673f08750 follow-up invoice changes: fix wallet.get_bolt11_inv if amt is None
follow-up 719b468eee

Traceback (most recent call last):
  File "...\electrum\electrum\gui\qt\request_list.py", line 111, in item_changed
    self.receive_tab.update_current_request()
  File "...\electrum\electrum\gui\qt\receive_tab.py", line 227, in update_current_request
    lnaddr = self.wallet.get_bolt11_invoice(req) if not help_texts.ln_is_error else ''
  File "...\electrum\electrum\wallet.py", line 2515, in get_bolt11_invoice
    amount_msat = req.amount_msat if req.amount_msat > 0 else None
TypeError: '>' not supported between instances of 'NoneType' and 'int'
2023-03-03 16:02:12 +00:00
Sander van Grieken
8fe181d757 qml: sort languages 2023-03-03 15:50:42 +01:00
Sander van Grieken
ba888fc9fa qml: background flatbuttons within pages 2023-03-03 15:50:13 +01:00
Sander van Grieken
b16fb5088b qml: padding around label above TextHighlightPanes 2023-03-03 15:05:29 +01:00
Sander van Grieken
94fd0dcf10 qml: remove bolt11 invoice from qelnpaymentdetails/LightningPaymentDetails 2023-03-03 13:40:31 +01:00
Sander van Grieken
0f596cf2e9 qml: report unified password change failure, impose minimum password length of 5, disallow empty passwords 2023-03-03 12:56:02 +01:00
Sander van Grieken
90355a150f qml: fix exception handler register opened wallet 2023-03-03 12:26:36 +01:00
Sander van Grieken
72b07a3630 qml: don't initialize swaphelper if a non-lightning wallet is opened
Due to swaphelper's lifecycle (it is kept around longer than the swap dialog) it might
get initialized with a non-lightning wallet. don't initialize in that case.

proper fix is to tie the lifecycle to the swap process, or make it a child of the wallet.
2023-03-03 10:53:03 +01:00