Neil Booth
e1c0298fc2
Write the wallet less often
...
This should speed up synchronization / restoration of large wallets.
Wallets are written only when they switch to up_to_date state, or
when stop_threads() is called when closing the daemon, or when
a command line command finishes.
2015-12-20 15:47:46 +09:00
Neil Booth
0a3d74de8f
Avoid index-out-of-range
...
Also add sanity assertion
2015-12-20 12:19:44 +09:00
Neil Booth
25a2ceda23
Fix copyright.
2015-12-20 12:06:23 +09:00
Neil Booth
5c3a6db445
Fix negative amounts assertion
...
Change amounts could be negative after deducting the cost of the extra
change output; floor them at zero. Move the assertion to the main
code. Simplify rounding logic.
2015-12-19 13:44:12 +09:00
ThomasV
3bed2e3106
don't wait for wallet sync in rpc commands; instead, show wallet status in status command
2015-12-17 17:54:49 +01:00
ThomasV
026f9312a7
fix more type errors caused by jsonrpc (parsing floats and transactions)
2015-12-16 20:17:20 +01:00
ThomasV
b3ef2249b5
add more features to settings dialog
2015-12-16 11:53:37 +01:00
ThomasV
30ace570d3
kivy: choice_dialog and load_wallet_by_name
2015-12-16 08:57:47 +01:00
ThomasV
9d3162b1a1
simplify get_label
2015-12-15 12:52:30 +01:00
ThomasV
6ad3f47640
don't rewrite index.html everytime
2015-12-15 12:10:25 +01:00
ThomasV
679efe2a66
don't use floats because of rounding errors
2015-12-15 11:33:04 +01:00
Neil Booth
cead9cd7c6
Ensure zeroes is always non-empty.
2015-12-14 07:45:01 +09:00
ThomasV
f30149ad49
fix #1579
2015-12-13 06:33:06 +01:00
Kirill Fomichev
d344ee0474
Small blockchain changes
2015-12-12 18:37:18 +03:00
Neil Booth
06eb3142c4
Oldest First
2015-12-12 19:01:14 +09:00
Neil Booth
52fc739052
Update default chooser name too.
2015-12-12 18:39:03 +09:00
Neil Booth
1c528af433
Description tweaks.
...
Mention loss of priority, and rename Classic to Oldest First.
2015-12-12 18:32:24 +09:00
Neil Booth
36aaad392d
Fix docstring display.
2015-12-12 18:11:07 +09:00
Neil Booth
2763b0feea
Improved change handling for Privacy chooser
...
Breaks up large change in such a way as to make it
unclear what the real send might be.
Fixes #1203
2015-12-12 11:53:17 +09:00
Neil Booth
ea49e8dc96
Remove unneeded buckets for Privacy coin chooser
...
Commonize the code with the classic chooser and simplify.
2015-12-12 10:12:46 +09:00
ThomasV
0cef063ee2
add payment requests to kivy
2015-12-11 15:21:21 +01:00
ThomasV
2a1fbf01fe
simplify blockchain.py
2015-12-11 12:37:40 +01:00
ThomasV
81f070c83b
fix bug in get_target
2015-12-11 10:14:01 +01:00
ThomasV
4112e2c3fa
Merge pull request #1558 from fanatid/spv
...
Improve get_target
2015-12-11 10:09:11 +01:00
ThomasV
b7cef8dd58
follow up to 74a9e2296c
2015-12-10 09:52:00 +01:00
Neil Booth
75b3ecee49
Add coin chooser to try and minimize loss of privacy.
2015-12-09 22:20:23 +09:00
ThomasV
de964f4033
plugins: on_close method
2015-12-09 09:41:24 +01:00
ThomasV
6770834d06
daemon: use available port
2015-12-08 10:55:34 +01:00
ThomasV
becfe13df2
decrease daemon timeout
2015-12-07 18:42:12 +01:00
ThomasV
9ec4cbeed1
fix issue #1572
2015-12-06 13:32:50 +01:00
Neil Booth
50dcee69d0
Clean up imports in daemon.py
2015-12-05 21:38:20 +09:00
Neil Booth
03b4868bf8
Handle JSON RPC server timeouts differently
...
Prior method was causing issues on Python 2.7.10 on DragonFlyBSD at
least.
2015-12-05 21:30:37 +09:00
ThomasV
74a9e2296c
separate Network and Plugins
2015-12-03 11:18:10 +01:00
ThomasV
deefd74c37
labels sync for kivy
2015-12-01 17:29:24 +01:00
ThomasV
afae9a097e
add php example
2015-12-01 09:42:47 +01:00
ThomasV
95393656aa
rename command: notify
2015-12-01 08:58:00 +01:00
Neil Booth
3eca419ef3
Fix typo.
...
One character makes all the difference.
2015-11-30 23:47:14 +09:00
ThomasV
9b5b9849d7
add watchaddress command
2015-11-30 10:54:15 +01:00
ThomasV
3c11c63289
fix daemon: don't oad wallet if there is a gui
2015-11-30 10:23:38 +01:00
ThomasV
4682d95a76
merge jsonrpc gui and daemon
2015-11-30 10:09:54 +01:00
Neil Booth
e302dbc71c
Move debug output to end of function.
2015-11-29 18:10:17 +09:00
Neil Booth
9a6dcf7b1e
Use bucketing to choose coins
...
Bucketing is generalization of coin chooser logic that makes it easy
to implement other algorithms.
- Put core coin chooser functionality in base class.
- Specialize derived class to implement classic electrum algorithm of
oldest coins first. One bucket per output.
No intended change in behaviour.
Coin chooser now sorts the coins as it wants; remove redundant sorting
from get_spendable_coins().
2015-11-29 17:59:36 +09:00
Neil Booth
93bb09230c
Track tx size directly; calculate fees from that
...
This has several advantages. Fee calculation is now very fast,
as we don't need to keep reserializing the tx. Another is that
we can reason about the fees after adding a change output without
having to add it, recalculate the tx fee, and remove it again.
2015-11-29 15:40:11 +09:00
Neil Booth
a4dd5acc48
Prepare to calculate tx fee given a tx size
2015-11-29 12:41:54 +09:00
Neil Booth
d97106f17d
Don't keep dust change in any case
2015-11-28 22:27:01 +09:00
Neil Booth
530dc16ed2
Remove unused import
2015-11-28 22:14:24 +09:00
Neil Booth
8785b65a1f
Remove need for coin chooser to take a wallet
2015-11-28 22:12:20 +09:00
Neil Booth
a6ea9a0c71
Simplify interface to make_tx in coin chooser
...
Makes the coin chooser code simpler and easier to understand.
2015-11-28 22:08:00 +09:00
Neil Booth
90dee43998
Move estimated_fee to Transaction class
...
It's not a function of the wallet but of the transaction
so it more naturally belongs there.
2015-11-28 21:28:54 +09:00
Neil Booth
e9061ea371
Move coin choosing logic to own class
...
This contains no change in logic, but is preparation for cleanup
and possible alternative strategies.
2015-11-28 14:49:10 +09:00