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
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
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
5effaaf428
TxOutput usage: trivial clean-up
2019-06-19 21:59:49 +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
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
407e3514cc
wallet: test_addresses_sanity to include (part of) address in exception
...
related: #5342
2019-05-13 23:20:48 +02:00
SomberNight
808239bbcc
wallet: fix deleting address from Imported_Wallet
...
closes #4481
2019-05-11 02:08:15 +02:00
SomberNight
46ae86f600
wallet: fix balance_at_timestamp
...
closes #5326
2019-05-10 19:22:13 +02:00
SomberNight
104b8804f7
logging: '-V' cli option can blacklist/whitelist classes with short names
...
for example, '-V ni' will whitelist the 'Network' and 'Interface' classes
'-V ^ni' will blacklist those instead
2019-05-07 21:07:18 +02:00
SomberNight
fd5b1acdc8
commands: fix encrypt/decrypt
...
based on Electron-Cash/Electron-Cash@62aa08a0ff
2019-05-03 03:10:31 +02:00
SomberNight
6940c424d1
logging: cli options to filter for modules using -v
...
old style "-v" still works
filtering examples:
-v=debug,network=error,interface=error // effectively blacklists network and interface
-v=warning,network=debug,interface=debug // effectively whitelists network and interface
2019-05-02 15:19:10 +02:00
SomberNight
3385a94753
logging: basics
2019-05-02 15:19:03 +02:00
SomberNight
205c437d9a
wallet: get_tx_info now returns NamedTuple instead of abomination
2019-04-29 02:32:15 +02:00
SomberNight
271d1a3f1d
qt tx dialog: two columns for tx stats
...
also show "RBF", and fix "date"
2019-04-29 01:19: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
ThomasV
46f1fca7c3
remove currency from amount fields in exported history
2019-03-26 18:35:46 +01:00
SomberNight
752c518bdc
add option to freeze individual UTXOs
...
based on cculianu's work in Electron-Cash/Electron-Cash@fd910cffc8
2019-03-11 18:46:29 +01:00
SomberNight
cd40f2c9b7
trivial wallet clean-up
2019-03-10 18:47:23 +01:00
ThomasV
56ced1dfd5
let DB handle addresses
2019-03-05 08:20:34 +01:00
SomberNight
514d0ae958
wallet: towards restoring previous performance 2
2019-03-04 18:16:48 +01:00
SomberNight
12b98fa251
wizard: fix regression: unencrypted wallets were not getting upgraded
...
fixes #5177
2019-03-04 17:23:43 +01:00
SomberNight
b79f43c360
wallet: fix RBF batching
...
post-storage_db-merge fixup
2019-03-02 19:16:39 +01:00
SomberNight
0c232905a8
wallet: rm dead code
2019-03-01 20:55:21 +01:00
SomberNight
2ad73050b3
wallet: towards restoring previous performance
2019-03-01 17:59:22 +01:00
SomberNight
d0fa3b431a
wallet: generate addresses in Deterministic_Wallet constructor
2019-02-28 21:22:10 +01:00
SomberNight
f85b8f349d
wallet: fix bug in restore_wallet_from_text, and write tests
2019-02-28 20:26:29 +01:00
SomberNight
ae80f143e7
commands/wallet: separate out 'create' and 'restore' core parts
...
so that they are easier to use from python scripts
2019-02-28 20:26:29 +01:00
ThomasV
3631c27ed7
fix: load trustedcoin plugin for two-step wallet creation
2019-02-28 13:11:00 +01:00
ThomasV
d74f0c0947
storage_db: fix tests, add modified flag to db class
2019-02-28 12:09:36 +01:00
ThomasV
cb9dcb8e26
load wallet plugin in Wallet factory, fix trustedcoin wizard on kivy
2019-02-28 09:02:58 +01:00
ThomasV
791e680a96
abstract database away from wallet and address_synchronizer
2019-02-28 09:02:58 +01:00
ThomasV
7f2083f667
separate storage and database (JsonDB)
2019-02-28 09:02:58 +01:00
SomberNight
086372f68a
wallet get_full_history: add from/to_height info to summary
2019-02-12 19:38:15 +01:00
SomberNight
2174fc0676
cli history: add option to filter by block height
2019-02-12 18:38:35 +01:00
SomberNight
026448837f
no more "import *"
...
fixes #5101
fixes #5105
2019-02-11 20:21:24 +01:00
ThomasV
8f2a730b3b
add more details values to history
2019-02-05 18:27:01 +01:00
SomberNight
d820f9ad37
transaction: change default version to 2
2019-01-28 15:11:03 +01:00
ghost43
dc19cf1fa1
wallet: randomise locktime of transactions a bit. also check if stale. ( #4967 )
2019-01-16 18:51:59 +01:00
SomberNight
664b0c234e
wizard: fix imported address wallets
...
assertion added in 9350709f13
was failing
2018-12-14 22:50:25 +01:00
ThomasV
3184d6f369
simplify previous commit
2018-12-13 12:10:36 +01:00
SomberNight
ef94af950c
wallet: try detecting internal address corruption
2018-12-12 20:50:53 +01:00
SomberNight
48e119b59e
qt history: minor clean-up and sanity checking
2018-12-10 09:31:47 +01:00
SomberNight
e023d8abdd
qt history list: sorting of first column now considers txpos
...
same block txns were in unnatural order, maybe sort is not stable?
2018-12-10 09:31:47 +01:00
Janus
3960070a50
QAbstractItemModel: fix sorting, QAbstractItemDelegate usage, QVariant usage
2018-12-10 09:31:45 +01:00
SomberNight
960855d0aa
wallet history fees: only calculate fees when exporting history
...
it's expensive, and it slows down startup of large wallets a lot
2018-12-04 16:17:22 +01:00
SomberNight
9350709f13
wallet creation: take care not to write plaintext keys to disk
...
when creating imported privkey wallets the privkeys
were written to disk unencrypted first, then overwritten with ciphertext
2018-12-03 13:02:14 +01:00