ThomasV
e2c19ff871
fix #1344
2015-07-05 16:19:44 +02:00
ThomasV
9947173183
fix tx deserialize
2015-07-05 13:29:02 +02:00
ThomasV
5c2235e54b
make tx.deserialize preserve existing inputs
2015-07-04 17:33:18 +02:00
ThomasV
c224a9ad9d
enable multisig with trezor
2015-07-04 12:10:52 +02:00
ThomasV
7933ac4324
reformatting
2015-07-04 12:07:33 +02:00
ThomasV
250bb03034
Merge pull request #1337 from kyuupichan/auto_connect
...
Suggested auto_connect daemon mode fix for #1336
2015-07-03 09:58:57 +02:00
ThomasV
9e84d12a6f
Merge pull request #1339 from kyuupichan/daemon
...
Avoid string representation issues, fix #1338
2015-07-03 09:41:21 +02:00
Neil Booth
930304e46b
Remove apparently dead code.
2015-07-03 13:57:42 +09:00
Neil Booth
389c8e8a8d
Only write config file once.
2015-07-03 13:56:17 +09:00
Neil Booth
3a50c78a47
Avoid string representation issues
...
Caused by unicode vs non-unicode strings.
Fixes #1338
2015-07-03 13:53:15 +09:00
Neil Booth
5acbe00cbf
Suggested auto_connect daemon mode fix for #1336
2015-07-03 11:50:53 +09:00
ThomasV
65e7667eba
build reverse history index, to know when a transaction can be removed
2015-07-02 16:07:04 +02:00
ThomasV
616becd9a8
move openalias from plugins to core
2015-07-02 12:44:53 +02:00
ThomasV
fa2de58c90
redo fixes for 1324
2015-07-02 09:22:59 +02:00
ThomasV
ccd07c6a80
Merge branch 'synchronizer-unthread' of https://github.com/kyuupichan/electrum into kyuupichan-synchronizer-unthread
2015-07-02 09:20:51 +02:00
ThomasV
0c37009cdb
fix is_address (forgot p2sh)
2015-07-02 08:53:17 +02:00
ThomasV
c0858f314f
Merge branch 'master' of git://github.com/spesmilo/electrum
2015-07-02 08:48:53 +02:00
ThomasV
cf5328b143
do not accet testnet addresses in bitcoin.is_address
2015-07-02 08:48:48 +02:00
Roman Zeyde
daee02e22d
commands: fix typo
...
rename "sec" to "privkey"
2015-07-01 18:15:35 +03:00
Roman Zeyde
9c06bee8c7
interface: slow_parse() is not defined for X509
2015-07-01 16:54:11 +03:00
ThomasV
604d5d432c
sanitize server at the interface level (follow up to issue #1330 )
2015-07-01 09:09:00 +02:00
ThomasV
0ac3aebb88
fix proxy setting issue #1330
2015-07-01 08:45:47 +02:00
Neil Booth
d0308010da
Client-side fix for #1324
...
Print messages rather than throwing uncaught exceptions that kill the
thread.
I cannot fix the server side as I have no way to test it.
2015-06-30 23:14:05 +09:00
Michael Wozniak
523aa7c380
update restore multisig to add type
2015-06-27 16:12:15 -04:00
ThomasV
765ef338ec
fix multisig seed detection
2015-06-27 21:53:55 +02:00
ThomasV
118052d815
v2.4 will require protocol v0.10
2015-06-27 15:22:34 +02:00
ThomasV
56b3c98332
generic m of n multisig
2015-06-27 12:43:29 +02:00
ThomasV
37d5e3b42a
version 2.3.3, release notes
2015-06-26 14:35:22 +02:00
ThomasV
fdd43bd5ad
fix issue in f307b18546
2015-06-24 09:35:54 +02:00
ThomasV
f307b18546
Merge pull request #1268 from kyuupichan/blockchain_nothread
...
Make the blockchain class not a thread
2015-06-24 09:00:52 +02:00
ThomasV
56f8fc62f9
fix 1312
2015-06-23 16:58:21 +02:00
ThomasV
f894af90d7
fix deserialize_proxy. fixes #1309
2015-06-23 14:22:10 +02:00
ThomasV
74d26f5bdc
better error message
2015-06-15 10:52:03 +02:00
ThomasV
0682695da9
version 2.3.2
2015-06-14 11:39:41 +02:00
ThomasV
00af3b394b
Merge pull request #1280 from kyuupichan/BIP-LI01
...
Implement BIP-LI01.
2015-06-14 08:08:55 +02:00
ThomasV
ec9cdfaf48
blockchain: restore call to set_local_height, forgotten in previous commit
2015-06-13 16:45:42 +02:00
ThomasV
d09a10e0f7
fix is_used for unmatured tx
2015-06-13 16:40:50 +02:00
Roman Zeyde
90076b0b79
util: add print_msg() method to DaemonThread
...
it is used by at synchornizer.py, line 173
2015-06-13 16:58:08 +03:00
Roman Zeyde
c324d21107
transaction: added missing import
...
for "traceback.print_exc(file=sys.stdout)" statement at line 361
2015-06-13 16:58:08 +03:00
Roman Zeyde
cb4d3a78b4
verifier: fix typo
2015-06-13 16:58:08 +03:00
ThomasV
12feb4cf9c
Merge pull request #1294 from romanz/master
...
bitcoin: remove dead code
2015-06-13 13:25:28 +02:00
Roman Zeyde
6bb9ee0cf7
bitcoin: remove dead code
2015-06-13 08:34:56 +03:00
ThomasV
7a3ddfc6a4
version 2.3.1
2015-06-12 20:22:02 +02:00
ThomasV
10740470cc
fix requests_dir bug
2015-06-12 20:18:06 +02:00
ThomasV
d75d3fdf5b
fix --pending option
2015-06-12 20:15:53 +02:00
ThomasV
42084a3610
improve docstrings
2015-06-12 10:34:45 +02:00
ThomasV
1fbbd5d65d
require network to show request status
2015-06-12 09:58:29 +02:00
ThomasV
cbcb799eec
add filtering options for listrequests
2015-06-12 09:46:21 +02:00
ThomasV
f3597f865b
--force option for addrequest
2015-06-11 20:44:38 +02:00
ThomasV
db6c69f0da
Merge pull request #1289 from Kefkius/patch-1
...
Fix typo in param_descriptions
2015-06-11 13:47:06 +02:00
ThomasV
a103f59686
new flags for listaddresses
2015-06-11 12:49:14 +02:00
ThomasV
317a9de71d
check amount before calling make_payment_request
2015-06-11 12:32:52 +02:00
ThomasV
ba78093e2e
getalias: no check
2015-06-11 12:08:38 +02:00
Kefkius
b6e4013a9d
Fix typo in param_descriptions
...
heigh --> height
2015-06-11 04:55:08 -04:00
ThomasV
e5b5e8d0f4
comment our ackrequest
2015-06-11 10:50:25 +02:00
ThomasV
d6cdc085ea
fix #1283
2015-06-11 10:03:26 +02:00
ThomasV
16344b43af
fix issue #1282
2015-06-11 08:56:07 +02:00
ThomasV
e31ac7905d
Clear address cache when interface changes. Send requests only if interface is connected.
2015-06-11 02:10:06 +02:00
Neil Booth
28f440350d
Fix request handling.
...
Handle local requests immediately.
Defer those requiring connectivity until we have an interface.
2015-06-11 08:31:19 +09:00
ThomasV
5714d9f4fc
shorter docstrings
2015-06-10 23:48:36 +02:00
ThomasV
145bf5cf0a
rename decodetx and sendtx commands. merge mktx and payto commands.
2015-06-10 23:21:25 +02:00
ThomasV
e067e34313
make global options: -w and -o
2015-06-10 22:29:31 +02:00
ThomasV
2b9b42d5f7
Merge pull request #1286 from kyuupichan/remove_urllib2
...
Use requests instead - SSL handling is superior
2015-06-10 21:15:27 +02:00
ThomasV
e517321f76
Network: fix handle_requests, must process requests even if we are not connected
2015-06-10 18:26:03 +02:00
ThomasV
6ea04e2d47
Network: Fix switch_to_interface (check that interface is connected)
2015-06-10 18:24:57 +02:00
ThomasV
060e3aa23e
plugins: call load_wallet in install wizard
2015-06-10 12:40:08 +02:00
Neil Booth
a3ad32bd91
Use requests instead - SSL handling is superior
2015-06-10 16:15:00 +09:00
ThomasV
479a6f84e7
paymentrequest: add headers to http request
2015-06-10 09:04:34 +02:00
ThomasV
8bccf7b2db
replace httplib with requests
2015-06-10 08:29:50 +02:00
ThomasV
ee6b718ea4
better message
2015-06-09 16:10:44 +02:00
ThomasV
f70a996619
fix trezor initialiation hook (pass window in load_wallet)
2015-06-09 09:58:40 +02:00
Neil Booth
e8db8983ec
Make the synchronizer not a thread.
...
The synchronizer's work is done from the network proxy's main loop.
A minor problem with the old synchronizer was that it considered itself
out of date if the network was out of date. This was too generic: the
network can have pending requests unrelated to the synchronizer. This
resulted in the synchronizer often unnecessarily flipping the wallet
between up-to-date and not-up-to-date, and causing unnecessary calls
to wallet.save_transactions(). This was observable when opening the
network dialog box: frequently just opening it would cause a wallet
status change and transaction flush, simply because the network dialog
sends a get_parameters() request. This rework of the synchronizer does
not have that issue.
2015-06-09 08:41:31 +09:00
ThomasV
70037b89a9
version 2.3 and release notes
2015-06-08 18:40:21 +02:00
ThomasV
8995cdbf14
rename fields: 'time' -> 'timestamp', payment_requests
2015-06-08 13:36:35 +02:00
ThomasV
357c405ac6
fix publish_request
2015-06-08 13:21:13 +02:00
ThomasV
d367930113
amount is in satoshis
2015-06-08 13:20:42 +02:00
ThomasV
9bd94e5062
refactor payment requests
2015-06-08 12:51:45 +02:00
ThomasV
572a463806
reason->memo
2015-06-08 08:06:38 +02:00
ThomasV
3bb00f0006
store json record requests
2015-06-07 21:52:23 +02:00
ThomasV
bf755f8ac0
jsonrpc interface
2015-06-07 19:11:54 +02:00
ThomasV
48e53498db
improve requests
2015-06-07 18:44:33 +02:00
Neil Booth
98bea614d8
Implement BIP-LI01.
...
No more need to randomly place change.
2015-06-06 22:25:40 +09:00
ThomasV
0b874b2bb0
Readding pending_transactions_for_notifications, needed by the gui.
2015-06-05 08:56:55 +02:00
Neil Booth
a2445aa27d
Remove unused vars and imports.
2015-06-05 11:54:00 +09:00
Neil Booth
2f2e468d0a
SocketPipe shouldn't close the socket.
...
This is a layering violation - the SocketPipe doesn't own
the socket and provides no other way to close the socket, leading
to unnecessary complexity like that in interface.py.
I looked at deamon.py and NetworkProxy - the two other users,
and they don't close the sockets explicitly, just let them be
garbage collected.
2015-06-04 16:30:59 +09:00
ThomasV
90d7179d73
Merge pull request #1276 from kyuupichan/need_interface
...
Need an interface to process a request.
2015-06-04 05:57:04 +02:00
Neil Booth
caebdd0819
Need an interface to process a request.
...
Occasionally triggered with a race at start up, typically from
the verifier requesting a merkle root.
2015-06-04 11:22:57 +09:00
ThomasV
fc23b0f490
fix #1274
2015-06-03 14:18:49 +02:00
ThomasV
ec795ba3c0
fix var name
2015-06-03 11:39:44 +02:00
ThomasV
ab60da89ac
Add a help group for config variables. Change name of ssl variables
2015-06-03 11:34:52 +02:00
ThomasV
34360bddfb
add missing definition of COIN
2015-06-03 10:25:21 +02:00
ThomasV
0ddd94b5b3
remove forgotten debugging statement
2015-06-03 10:03:55 +02:00
ThomasV
ca62df89d4
fix: set_config
2015-06-03 10:02:12 +02:00
ThomasV
d85a11173d
verify: return earlier if request is empty
2015-06-03 09:34:35 +02:00
ThomasV
cbeeedcca2
Add note for commands that are not SPV; fix format_request parameter
2015-06-03 09:12:38 +02:00
ThomasV
fb6a74e034
fix typo
2015-06-02 16:49:21 +02:00
ThomasV
3188ff05a3
fix is_watching_only
2015-06-02 16:41:32 +02:00
ThomasV
b832a5cea4
Merge pull request #1272 from kyuupichan/if-socket
...
Fix couple of minor socket issues
2015-06-02 16:28:42 +02:00
ThomasV
088d8e8415
show request status
2015-06-02 11:36:06 +02:00
Neil Booth
ab2f80c3e0
Fix couple of minor socket issues
...
Set timeout and socket options on all simple sockets. At present
some code paths can miss it, such as when the SSL certificate is
CA-signed.
Add a missing check for failure.
2015-06-02 18:13:36 +09:00
ThomasV
e4946cf26e
setconfig: return False on error
2015-06-02 11:05:21 +02:00
ThomasV
31c4849566
url_rewrite
2015-06-02 10:41:36 +02:00
ThomasV
b83b7fa5c8
cmd line: format payment requests
2015-06-02 10:25:39 +02:00
ThomasV
2727df962e
requests: store path not url
2015-06-02 09:56:10 +02:00
ThomasV
b9e4825422
fix request_dir variable
2015-06-02 09:37:54 +02:00
ThomasV
514ea6aa8c
doc for addrequest
2015-06-02 09:31:24 +02:00
ThomasV
d41785c783
save payment requests in requests_dir
2015-06-02 09:18:39 +02:00
Neil Booth
d16714a1db
Make the blockchain class not a thread
...
Remove interface communication out of blockchain.py
into network.py. network.py handles protocol requests
for headers and chunks. blockchain.py continues to
handle their analysis and verification.
If an interface provides a header chain that doesn't
connect, it is dismissed, as per a previous TODO comment.
This removes a thread and another source of timeouts.
I see no performance issues with this when truncating the
blockchain.
Rename 'result' to 'header' for clarity.
2015-06-01 20:53:42 +09:00
ThomasV
832369d7c4
Merge pull request #1270 from kyuupichan/if-tristate
...
Make interface status tri-state.
2015-06-01 13:09:40 +02:00
ThomasV
0938299e9b
move payment requests logic to wallet, add basic commands
2015-06-01 13:02:09 +02:00
Neil Booth
76355e66c8
Make interface status tri-state.
...
This allows us to distinguish between connecting and connected
state in interface.py (used to be done in network.py but that
had other issues).
This means we don't switch to a connecting server, and get_interfaces()
does not report connecting ones.
2015-06-01 18:22:03 +09:00
Neil Booth
03e53a5e01
Create a constant for 100000000 and use it
...
Use same name as is in bitcoind.
Note that one of the constants in text.py had the wrong number
of zeroes previously...
2015-06-01 14:53:36 +09:00
ThomasV
4d9be9a6d2
commands: use decorator to register commands
2015-06-01 06:10:06 +02:00
ThomasV
7e20901e3b
read command defaults
2015-06-01 00:17:50 +02:00
ThomasV
c3f82fd69c
fix cmd descriptions
2015-05-31 23:23:13 +02:00
ThomasV
f8eb68458d
use docstrings
2015-05-31 23:17:44 +02:00
ThomasV
ddd6a58cc7
commands: extract params and options from arguments
2015-05-31 22:42:34 +02:00
ThomasV
1d5c6bdc2d
deserialized option for mktx
2015-05-31 18:21:14 +02:00
ThomasV
4042ac69ec
fix varname
2015-05-31 18:03:58 +02:00
ThomasV
9c76a0232e
distinction between 'destination' and 'address'
2015-05-31 18:02:09 +02:00
ThomasV
200563c4e9
fix sweep fee
2015-05-31 17:49:59 +02:00
ThomasV
c4d822b0cf
add 'unsigned' option
2015-05-31 17:38:57 +02:00
ThomasV
ee20910c65
fix signtransaction flags
2015-05-31 17:21:02 +02:00
ThomasV
a3cd33fe03
add option to disable dnssec
2015-05-31 16:43:27 +02:00
ThomasV
9be94c74d2
add getalias command
2015-05-31 15:06:52 +02:00
ThomasV
8513dd2c63
fix cmd names
2015-05-31 15:00:56 +02:00
ThomasV
c006678289
fix indent
2015-05-31 15:00:43 +02:00
ThomasV
5a76a0fc95
hook openalias plugin to command line interface
2015-05-31 14:42:16 +02:00
ThomasV
ee5f499fc1
use contacts in command line
2015-05-31 14:10:52 +02:00
ThomasV
5cd3bfedb6
always pass coins to wallet.make_unsigned_transactions. fix \! shortcut in commands
2015-05-31 11:31:41 +02:00
ThomasV
0531f00c80
support for \! shortcut in command line
2015-05-31 10:40:12 +02:00
ThomasV
0caa29784c
separate param_descriptions and improve help messages
2015-05-31 10:03:53 +02:00
ThomasV
cc610d352f
merge signtxwithwallet and signtxwithkey
2015-05-31 09:28:47 +02:00
ThomasV
1d5f04c588
fix function name
2015-05-31 08:49:47 +02:00
ThomasV
53a3f00389
add --deserialize option to gettransaction
2015-05-31 08:20:09 +02:00
ThomasV
9acc0e4ed0
minor formatting
2015-05-31 08:06:20 +02:00
ThomasV
2167b9e93d
Merge pull request #1264 from kyuupichan/unify_interfaces
...
Remove pending_servers, self.interfaces is now the complete set of
2015-05-31 08:02:47 +02:00
ThomasV
bd6bfcea0e
Merge pull request #1267 from kyuupichan/spendable_coins
...
get_spendable_coins and frozen addrs
2015-05-31 07:53:43 +02:00
Neil Booth
320f9a3790
get_spendable_coins and frozen addrs
...
Two callers of get_spendable_coins were removing frozen addrs
before calling. Put that functionality in the function.
We shouldn't be able to send_from a frozen address. This was
possible in the current release because logic assumed a two-element
tuple was returned when it is now three-element. Fix that too.
Command line options listunspent and createrawtransaction currently
ignore frozen addresses. I'm not sure that's right but I've preserved
that behaviour.
With this patch only the wallet class refers to self.frozen_addresses;
other clients use is_frozen() now.
2015-05-31 14:07:50 +09:00
ThomasV
00ded10810
fix: freeze does not need password
2015-05-31 06:45:51 +02:00
Neil Booth
0f29984f07
Speed up freezing and unfreezing of many addresses
...
Speedup mainly from writing to storage only once.
Make frozen_addresses a set in memory, as sets give cleaner
code and are more efficient.
Minor change in behaviour: command line freezing used to return
False if the address isn't in the wallet OR the address was already
frozen. Now it returns more like a success code: it returns False
only if the address isn't in the wallet regardless of frozen state.
Similarly for unfreezing.
2015-05-31 11:54:21 +09:00
ThomasV
d6f4b57d64
help function for python console
2015-05-30 19:13:28 +02:00
ThomasV
92a158b910
proper handling of arg_types. add more options for listaddresses
2015-05-30 18:49:58 +02:00
ThomasV
2ab9272f52
fix positional arguments
2015-05-30 16:14:56 +02:00
ThomasV
966bb3c15f
separate help and description for commands
2015-05-30 14:07:48 +02:00
ThomasV
0ad73b0899
better help
2015-05-30 13:38:05 +02:00
ThomasV
d2f3e3f349
fix cmdline listcontacts
2015-05-30 12:35:58 +02:00
Neil Booth
2b66f0d459
Remove pending_servers, self.interfaces is now the complete set of
...
interfaces we have created.
Existing code has the concept of pending servers, where a connection
thread is started but has not sent a connection notification, and
and interfaces which have received the notification.
This separation caused a couple of minor bugs, and given the cleaner
semantics of unifying the two I don't think the separation is beneficial.
The bugs:
1) When stopping the network, we only stopped the connected interface
threads, not the pending ones. This would leave Python hanging
on exit if we don't make them daemon threads.
2) start_interface() did not check pending servers before starting
a new thread. Some of its callers did, but not all, so it was
possible to initiate two threads to one server and "lose" one thread.
Apart form fixing the above two issues, unification causes one more
change in semantics: we are now willing to switch to a connection
that is pending (we don't switch to failed interfaces). I don't
think that is a problem: if it times out we'll just switch
again when we receive the disconnect notification, and previously the
fact that an interface was in the interaces dictionary wasn't a
guarantee the connection was good anyway: we might not have processed
a pending disconnection notification.
2015-05-30 17:42:11 +09:00
Neil Booth
4eaff5678d
Avoid change address reuse if possible
...
As discussed on #electrum yesterday.
Increase change gap limit to 6.
Choose the next unused change address, if any, otherwise pick
one at random from the gap limit.
2015-05-30 17:07:29 +09:00
ThomasV
48f98f75db
improve help messages
2015-05-30 09:43:42 +02:00