SomberNight
cb69aa80f7
coinchooser: don't spend buckets with negative effective value
...
Calculate the effective value of buckets, and filter <0 out.
Note that the filtering is done on the buckets, not per-coin.
This should better preserve the user's privacy in certain cases.
When the user "sends Max", as before, all UTXOs are selected,
even if they are not economical to spend.
see #5433
2019-06-20 22:42:50 +02:00
SomberNight
e0b1bbfc46
tests: new tests for bump_fee and rbf_batching
2019-06-20 22:42:50 +02:00
SomberNight
0c20fcb6b3
tests: fix existing bump_fee tests
2019-06-20 22:42:49 +02:00
SomberNight
8491a2d329
wallet: RBF batching will now reuse the change address
2019-06-20 22:42:49 +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
8bfe12e047
wallet: split "change address logic" from make_unsigned_transaction
2019-06-20 22:42:48 +02:00
SomberNight
e864fa5088
coinchooser: tweak heuristic scoring.
...
transactions without any change now get better scores.
transactions with really small change get worse scores.
2019-06-20 22:42:47 +02:00
SomberNight
f409b5da40
coinchooser: refactor so that penalty_func has access to change outputs
2019-06-20 22:42:47 +02:00
SomberNight
6424163d4b
wallet: fix rbf_batching edge case
...
The old change output was given to coinchooser
as part of possible UTXOs to use.
(Though the coinchooser was really unlikely to select it, as by
definition that UTXO is unconfirmed)
2019-06-20 21:53:24 +02:00
SomberNight
5f71163449
qt crash reporter: add warning that report contents are public
2019-06-20 17:32:21 +02:00
SomberNight
5effaaf428
TxOutput usage: trivial clean-up
2019-06-19 21:59:49 +02:00
SomberNight
c7a8540d06
kivy: show tx fee rate in tx dialog
2019-06-19 21:56:52 +02:00
SomberNight
cb204dd969
coinchooser: better account for fees in penalty_func
2019-06-17 19:55:39 +02:00
SomberNight
e3c26d7c7a
json_db: fix remove_spent_outpoint
...
method should make sure prevout_n is str...
also wrote failing test
2019-06-15 03:51:11 +02:00
SomberNight
d07caaf601
qt msgbox: when using rich text, set text format to "AutoText" instead
...
"\n" newlines were ignored for WIF_HELP_TEXT InfoButtons
2019-06-13 17:03:12 +02:00
SomberNight
23ec426b4f
qt history list: tweak sort order of items
2019-06-13 01:03:56 +02:00
SomberNight
811169da4b
plugins: on some systems plugins with relative imports failed to load
...
this caused electrum to fail to start
potentially only older python 3.6.x are affected
fixes #5421
2019-06-12 20:07:36 +02:00
SomberNight
29ce50a305
follow-up prev
...
wallet.is_mine needs to tolerate None as input
2019-06-12 18:27:13 +02:00
SomberNight
9e21b76c91
wallet: stricter validation in export_private_key
...
fixes #5422
2019-06-12 18:09:38 +02:00
SomberNight
9d2b601cc7
update block explorer URL for blockchain.info
...
closes #5408
2019-06-11 19:19:43 +02:00
SomberNight
7120c344b2
qt seed completer: colour words yellow if only in old electrum list
...
Some people complained that due to merging the two word lists,
it is difficult to restore from a metal backup, as they planned
to rely on the "4 letter prefixes are unique in bip39 word list" property.
So we colour words that are only in old list.
2019-06-08 15:37:49 +02:00
SomberNight
5c83df7709
android: update kivy, p4a, buildozer
2019-06-07 20:06:15 +02:00
SomberNight
6bdc6f559c
storage: fix bug in convert_version_17
...
closes #5400
2019-06-06 19:51:37 +02:00
SomberNight
53d189fc7a
storage: fix some madness about get_data_ref() and put() interacting badly
...
previously load_transactions() had to be called before upgrade();
now we reverse this order.
to reproduce/illustrate issue, before this commit:
try running convert_version_17 and convert_version_18
(e.g. see testcase test_upgrade_from_client_2_9_3_old_seeded_with_realistic_history)
and then in qt console:
>> wallet.storage.db.get_data_ref('spent_outpoints') == wallet.storage.db.spent_outpoints
False
>> wallet.storage.db.get_data_ref('verified_tx3') == wallet.storage.db.verified_tx
False
2019-06-06 19:49:06 +02:00
SomberNight
33308307a4
bip70 payreq: do not show error messages in gui
...
closes #5393
2019-06-05 19:40:33 +02:00
SomberNight
0553ab7f3f
follow-up prev
...
PaymentRequest.error is really not intuitive.........
2019-06-05 19:05:58 +02:00
SomberNight
d2de8de356
qt payment requests: fix some races
...
closes #5283 , #5407 , #5121
2019-06-05 16:29:33 +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
21ab65e5f7
qt lists right click: fix #5365
2019-06-03 22:21:53 +02:00
SomberNight
0ef853c046
rm dead code
2019-06-03 20:35:37 +02:00
SomberNight
371e1a6ebf
hw: allow bypassing "too old firmware" error when using hw wallets
...
The framework here is generic enough that it can be used for any hw plugin,
however atm only Trezor is implemented.
closes #5391
2019-05-31 04:09:03 +02:00
SomberNight
ab81a09de2
interface: hide some server-induced errors from log
2019-05-28 21:23:06 +02:00
SomberNight
d17e6a1b87
interface: fix for aiorpcx 0.18
2019-05-28 06:14:53 +02:00
SomberNight
41802d8094
qt receive tab: "receive address" is now coloured red if already used
...
closes #3812
closes #5374
2019-05-27 20:24:09 +02:00
SomberNight
41f160dd74
update to aiorpcx 0.18
2019-05-27 19:35:30 +02:00
SomberNight
eaf203dbb5
interface: fix connecting to new servers using self-signed certs
...
got broken in 6ec1578a90
2019-05-27 19:09:54 +02:00
SomberNight
37da192bf5
wizard/hw: less spammy logs when hw library unavailable
...
closes #5380
2019-05-26 17:01:01 +02:00
SomberNight
30ffb3d4dc
util: add function "chunks"
...
taken from ElectrumX
67111a3c4c/electrumx/lib/util.py (L149)
2019-05-26 04:10:32 +02:00
SomberNight
1ebfcc0f36
kivy: "paste" button now works for transactions
2019-05-26 02:46:25 +02:00
SomberNight
c776af41f6
qt: allow QR codes to store a bit more data
...
by decreasing error correction (about ~26% larger max payload)
2019-05-26 02:13:02 +02:00
SomberNight
aec53ae6af
qt: "Help" and "?" buttons can show rich text
...
namely "Revealer" plugin uses rich text in its description
2019-05-26 01:27:27 +02:00
SomberNight
e1c1a9d6a2
interface: add comment
2019-05-25 05:20:21 +02:00
SomberNight
3b445d7248
fix #5376
2019-05-25 05:13:57 +02:00
SomberNight
158090bf8b
util.parse_URI: more granular exceptions
...
related: #5376
first report in #5376 was generated with these changes;
before, the exception was caught and a toast displayed "Not a Bitcoin URI"
2019-05-25 04:55:36 +02:00
SomberNight
a591ccf9b1
interface: follow-up 6ec1578a90
2019-05-22 17:43:33 +02:00
SomberNight
db9a9bbf25
qt settings: restart needed after toggling log_to_file
2019-05-21 20:57:29 +02:00
SomberNight
6ec1578a90
follow-up prev
2019-05-21 18:43:16 +02:00
SomberNight
fecef91ee0
interface was suppressing storage r/w exceptions
2019-05-21 18:11:49 +02:00
ThomasV
cf01788c86
Merge pull request #5367 from SomberNight/issue_5366
...
keystore/transactions: fix overflow of derivation path indices
2019-05-21 09:52:05 +02:00