Commit graph

2598 commits

Author SHA1 Message Date
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
ThomasV
90a2a049f4 network fix: callbacks were not called 2015-11-27 11:30:14 +01:00
ThomasV
042f8ef832 network: cache subscription responses 2015-11-26 11:26:01 +01:00
ThomasV
43df795b1f network: separate callbacks from unanswered_requests 2015-11-26 10:57:43 +01:00
ThomasV
ed2ab5e3c1 websockets: minor fix 2015-11-25 11:37:10 +01:00
ThomasV
1207ad3ba4 fix: websocket uses network object 2015-11-25 10:48:34 +01:00
ThomasV
2a29d1e5e7 fix syntax error 2015-11-25 10:35:14 +01:00
ThomasV
2934fd17be fix websockets 2015-11-25 10:32:46 +01:00
ThomasV
9ba75b80e2 increase version number 2015-11-24 09:43:21 +01:00
ThomasV
ba2c737a21 finish separation between plugins and GUIs 2015-11-24 09:36:42 +01:00
ThomasV
2c0489c809 plugins: separate GUIs using child classes 2015-11-23 14:15:25 +01:00
ThomasV
175fdbcac6 Disentangle plugins and window management; use Qt signals 2015-11-23 09:05:34 +01:00
Kirill Fomichev
334b84c3c3 Add assertions to get_target 2015-11-19 22:03:12 +03:00
Kirill Fomichev
e188929972 Fix proof of work assert in verify_chunk 2015-11-19 18:40:54 +03:00
Neil Booth
3211d752c7 Need to set p.wallet unfortunately
Fixes #1553
2015-11-19 08:31:01 +09:00
Neil Booth
0dcaa13d31 Show the wallet path in -v output 2015-11-14 16:14:00 +09:00
Neil Booth
e9384f15ed Plugins manage their own wallet tracking 2015-11-14 15:58:10 +09:00
Neil Booth
53f6fb9876 Add a GC debugger
Add commented-out GC debugging step
2015-11-14 10:47:44 +09:00
Neil Booth
ae4cfc9f0b Unregister network callbacks from QT gui
Rework the callback system in QT to make this easy, and avoid
leaking window references that prevent the window from being
GC-ed on close
2015-11-13 23:36:29 +09:00
ThomasV
0d4de870a5 prepare 2.5.4 release 2015-11-12 14:56:51 +01:00
ThomasV
ae42576423 Merge branch 'master' of git://github.com/spesmilo/electrum 2015-11-12 14:32:19 +01:00
ThomasV
86a0103a7f increase min_relay_tx_fee, and make dust_threshold a function 2015-11-12 14:31:17 +01:00
Neil Booth
206e38fb7c Make use of trigger_callback easier to understand 2015-11-12 16:08:37 +09:00
Neil Booth
8cc3b58364 Allow syncronizer to be GC-ed
Proper fix for #1525.
Using python's GC module, I've verified that the daemon, when running,
now releases all verifiers, synchronizers and wallets - all the resources
we care about releasing.
2015-11-12 08:40:58 +09:00
Neil Booth
d612684196 Attempt at fixing issue 1525
The main problem is, I think, that the synchronizer and wallet
still exist in the daemon process, and updates to things like
TXI and TXO are made but never saved (as client exit is what
saves the wallet).

I suspect fixing the lingering objects is hard; this is a short
term fix to ensure that when internal wallet state is updated,
the wallet is written to disk, so later daemon clients pick up
the correct state.
2015-11-11 16:38:28 +09:00
ThomasV
d82896dadf fix #1525 (part 2) 2015-11-06 18:00:19 +01:00
ThomasV
b3529147d5 fix #1525 2015-11-06 17:32:54 +01:00
ThomasV
3f2c906ace version 2.5.3 and release notes 2015-11-02 13:03:14 +01:00
ThomasV
2a3c97813d wallet.get_max_amount method, used by qt and kivy 2015-10-30 14:10:41 +01:00
ThomasV
5bbffb0cbf remove --deserialized option, redundant with deserialize command 2015-10-29 14:44:41 +01:00
ThomasV
369d5d8812 fix #1525 2015-10-29 14:36:50 +01:00
ThomasV
bb7b0884e3 Various fixes for command line. Make 'payto' command require network (fixes #1525) 2015-10-29 11:06:09 +01:00
ThomasV
079cb311ec call wallet.wait_until_synchronized before commands 2015-10-29 05:01:06 +01:00
ThomasV
53273b7d40 fix #1523: prevent side-effect of _format_request 2015-10-29 00:09:50 +01:00
ThomasV
511b23fee6 add release notes 2015-10-28 11:45:53 +01:00
ThomasV
142b5532ec revert to previous restore method, without daemon 2015-10-28 11:11:41 +01:00
ThomasV
5b96d5166e fix restore messages 2015-10-28 10:46:01 +01:00
ThomasV
052d8b236e fix #1494 2015-10-28 10:36:44 +01:00
ThomasV
94ac0db91f command line: Require 'text' argument for 'restore'. Replace 'concealed' option with ':' magic word 2015-10-28 09:33:35 +01:00
ThomasV
65f20895df bump version number 2015-10-28 08:46:02 +01:00