Commit Graph

2545 Commits

Author SHA1 Message Date
ThomasV 85c0dda1a9 version 2.5 2015-08-22 13:42:53 +02:00
ThomasV 234471b70c version 2.4.3 and release notes 2015-08-22 11:42:18 +02:00
dabura667 678ec84267 Add Chinese Simplified wordlist 2015-08-20 23:18:47 +09:00
ThomasV 37034bdf7f listunspent: convert value to float 2015-08-19 11:10:55 +02:00
ThomasV 6bbfef5198 add timestamp to history command output, convert value to float 2015-08-19 11:04:06 +02:00
ThomasV 93b674982e fix tx strip 2015-08-18 16:33:51 +02:00
ThomasV f583fcfedb do not import dns on android 2015-08-18 12:15:56 +02:00
ThomasV 3f1e4ae3b1 strip spaces from raw tx 2015-08-18 10:17:53 +02:00
ThomasV 4a514c7638 version 2.4.2 and release notes 2015-08-17 13:20:45 +02:00
ThomasV fa9ce51685 deprecate dumpprivkeys 2015-08-16 16:30:55 +02:00
ThomasV 02e81a3655 read command line arguments from stdin if '-' is passed 2015-08-16 16:11:52 +02:00
ThomasV 5686499eae fix #1400 2015-08-16 13:50:03 +02:00
ThomasV bfae04e6f0 Improved in network callbacks:
* Pass arguments
 * Don't redraw history when a tx is verified.
 * Fix new tx notifications.
2015-08-16 11:36:23 +02:00
ThomasV 438bc94dce fix #1399 2015-08-16 11:25:23 +02:00
ThomasV ede7423bf2 Merge pull request #1397 from romanz/master
Add tests to bitcoin.py and ripemd.py
2015-08-15 13:42:59 +02:00
ThomasV e0939348c3 minimize calls to estimated_fee 2015-08-15 12:31:57 +02:00
ThomasV 6232a0b76c speedup fee computation when collecting small inputs 2015-08-15 10:02:47 +02:00
Roman Zeyde ac8e792c58 test_ripemd: add simple test case for ripemd module 2015-08-15 09:52:27 +03:00
Roman Zeyde fa412c3a86 test_bitcoin: add tests for int packing 2015-08-15 09:41:20 +03:00
Roman Zeyde 175fef2d56 test_bitcoin: add test case for seeds 2015-08-15 09:20:01 +03:00
ThomasV 8a3e5032b1 Merge pull request #1389 from romanz/master
remove unused code
2015-08-14 16:48:23 +02:00
ThomasV d69da1ef43 add/remove transaction: remove unused tx_height parameter 2015-08-14 15:30:00 +02:00
ThomasV e9b346ed29 add command for master private key 2015-08-14 15:23:50 +02:00
Roman Zeyde abc7429b0f bitcoin: remove multiple imports 2015-08-09 19:35:02 +03:00
Roman Zeyde b5854b6e8b account: remove unused variables 2015-08-09 19:35:02 +03:00
Roman Zeyde a3a01be8ce remove unused code 2015-08-09 19:02:04 +03:00
ThomasV c3991091de move init_qt hook 2015-08-07 20:06:31 +02:00
ThomasV 6b87256795 sign tx with empty scriptSig inputs 2015-08-07 17:11:42 +02:00
ThomasV 5f413aca1c rm unneeded float conversion 2015-08-07 14:36:43 +02:00
ThomasV c844d22a19 synchronous_get: return -> raise exception 2015-08-07 12:22:47 +02:00
ThomasV 85d9b8aa8d fix: dePem cert before parsing 2015-08-07 11:58:59 +02:00
ThomasV ca3c320ef4 simplify x509 constructor 2015-08-07 11:39:30 +02:00
ThomasV 713fa00d86 fix estimatefee for daemon 2015-08-07 10:54:32 +02:00
ThomasV 65c7dfafbc check alias in signrequest 2015-08-07 09:00:00 +02:00
ThomasV 34e3261efd fix estimate_fee 2015-08-06 19:26:34 +02:00
ThomasV 714445aba8 fix: wallet.is_used 2015-08-06 19:19:25 +02:00
ThomasV e93ff18776 rename help -> commands 2015-08-06 15:52:38 +02:00
ThomasV aadffa0c8f check_ssl_config: verify pubkey 2015-08-05 20:59:51 +02:00
ThomasV a9e74da11c check SSL certificate in config dialog 2015-08-05 20:49:45 +02:00
ThomasV 43880d452e dynamic fees 2015-08-05 15:45:28 +02:00
ThomasV 476d198be9 fix missing occurences of X509.parse 2015-08-04 18:31:08 +02:00
ThomasV e8d30129ea replace TLSLite dependency with minimal RSA implementation 2015-08-04 18:16:06 +02:00
Neil Booth 4c8408b42d Print reason for failure to connect headers
Used to fail just with a "header didn't connect" message, now
it gives a reason too.
2015-08-01 13:09:52 +09:00
ThomasV 8ae64064b6 dont silence dns errors 2015-07-31 21:56:22 +02:00
ThomasV 380bccacf0 request_queue.put should never block, because maxsize is not set 2015-07-31 20:11:12 +02:00
ThomasV 963ec4ca3e dnssec: don't call get_default_resolver 2015-07-31 20:02:55 +02:00
ThomasV 9938fbd160 version 2.4.1 2015-07-31 14:52:16 +02:00
ThomasV 465d1dfd8b fix #1378 2015-07-31 14:51:48 +02:00
ThomasV 2ec19e7528 fix bugs with ecdsa/dnssec 2015-07-31 13:49:14 +02:00
Eagle[TM] 4731418af9 Use ssl.PROTOCOL_TLSv1 on client side to avoid SSLv23 2015-07-30 20:40:05 +02:00
ThomasV 77b0e7be5e network: initial status should be 'unknown', distinct from 'connecting' 2015-07-30 11:32:16 +02:00
ThomasV 348a9b0e21 fix imports, cleanup 2015-07-29 22:16:36 +02:00
ThomasV e96a0945ca do not use pycrypto for DNSSEC validation 2015-07-29 22:06:44 +02:00
Roman Zeyde 5fbd7553ed interface: fix check_host_name() pattern matching
The existing pattern matching code:

    val.find('*.') == 0 and name.find(val[1:]) + len(val[1:]) == len(name)

will return True in the following case:

   val = '*.host.com'
   name = 'blah.org'

since string.find() will return -1, len(val[1:]) == 9 and len(name) == 8.
2015-07-26 18:11:30 +03:00
ThomasV 70d59bbe06 Merge pull request #1376 from romanz/master
util: fix small typo at parse_URI() and update its unittests
2015-07-25 17:19:28 +02:00
ThomasV 96c3513cb2 add character encoding declaration to index.html 2015-07-25 12:50:00 +02:00
ThomasV cbf13197e2 websocket: hostname 2015-07-25 12:31:35 +02:00
ThomasV e9f5e6866d check www dir on daemon start 2015-07-25 12:25:47 +02:00
Roman Zeyde 87d3fafa22 util: fix small typo at parse_URI() and update its unittests 2015-07-25 12:41:37 +03:00
ThomasV 0c5bfb8c26 print -> util.print_error 2015-07-24 14:23:03 +02:00
ThomasV e6924d9912 prevent websocket closing with balnk target 2015-07-24 13:30:51 +02:00
ThomasV 3da148f406 use local copy of javascript files 2015-07-24 12:36:08 +02:00
ThomasV f0e6f5bf64 Merge branch 'master' of github.com:spesmilo/electrum 2015-07-24 11:39:31 +02:00
ThomasV 18d145cced add websocket to webpages 2015-07-24 11:39:12 +02:00
Neil Booth 0f2d4bd375 Add bitflyer.jp block explorer 2015-07-24 15:17:15 +09:00
ThomasV 41d9c94821 don't add bip70 suffixes 2015-07-22 16:00:08 +02:00
ThomasV 6d54512627 clearrequests command; minor type fix 2015-07-22 15:46:53 +02:00
ThomasV 508b5373ac minor fixes 2015-07-22 15:33:50 +02:00
ThomasV 8960b16e09 more sanitization 2015-07-22 15:28:43 +02:00
ThomasV b813ba0bdd sanitize timestamp and expiration in requests 2015-07-22 15:24:15 +02:00
ThomasV 37c07278d5 update var names 2015-07-22 09:37:17 +02:00
ThomasV 8f507d2afd change var name 2015-07-22 09:24:44 +02:00
ThomasV acbd434f76 cleanup request signing 2015-07-22 09:06:03 +02:00
ThomasV a8ed934a7f fix bug with make_unsigned_request 2015-07-21 16:30:25 +02:00
ThomasV a6c65b8997 change internal format of requests 2015-07-21 12:26:37 +02:00
ThomasV 2c1fb1e37c do not raise exception if uri has an unknown key 2015-07-21 11:54:45 +02:00
ThomasV e77f0c98e7 extend bitcoin: URI with signature data, instead of serialized format 2015-07-21 11:40:55 +02:00
ThomasV 9c30ad3dd5 extend bitcoin URIs with signed payment requests passed directly 2015-07-18 18:42:56 +02:00
ThomasV e879cb4552 https download of headers 2015-07-18 11:17:19 +02:00
ThomasV 380e072842 fix bug with import_key 2015-07-18 11:00:41 +02:00
neocogent 8792301846 restrict to *. only, add DN support also 2015-07-17 11:17:43 +07:00
neocogent 3c563b85ad adjust comment about wildcards 2015-07-17 04:22:39 +07:00
neocogent 59c231808f add wildcard ssl support 2015-07-17 04:03:40 +07:00
Neil Booth e7ea3e5d01 Add two more block explorers
chain.so and biteasy.com
2015-07-15 20:58:19 +09:00
ThomasV 471cab6089 do not base64encode signatures in requests 2015-07-14 16:37:04 +02:00
Neil Booth 677f235e4b Fix typo. 2015-07-14 09:00:59 +09:00
ThomasV f320178db9 no empty amount in bip70 2015-07-13 21:37:41 +02:00
ThomasV 6fa7f57f10 express expiration dates in natural language 2015-07-13 20:47:11 +02:00
ThomasV aa7b9af501 minor fix 2015-07-12 08:13:09 +02:00
ThomasV da55d9ed6e payment requests: cmdline fixes 2015-07-11 21:09:56 +02:00
ThomasV fbc23a61a3 fix cmdline addrequest 2015-07-11 21:03:02 +02:00
ThomasV dff8f6b338 rework paymentrequest methods 2015-07-11 20:26:30 +02:00
ThomasV 35aba0c14b show alias satus in gui after fetch 2015-07-11 18:14:00 +02:00
Eagle[TM] 4578777c29 network: Update default servers 2015-07-10 19:35:02 +02:00
ThomasV cb2bc54f96 store and display signatures of own requests 2015-07-09 14:15:30 +02:00
ThomasV 71243c2a57 dnssec: fix hash, and skip SOA 2015-07-09 09:02:39 +02:00
ThomasV 094ce2e4b3 add DNSSEC chain validation 2015-07-08 19:20:54 +02:00
ThomasV 538846ee0b remove incorrect dnssec validation 2015-07-08 15:14:00 +02:00
ThomasV f3c4a55e77 add dnssec verification to payment requests 2015-07-07 08:59:03 +02:00
ThomasV e9f3b21519 Fix transaction update 2015-07-06 00:22:19 +02:00
ThomasV 15f592f022 trezor multisig: build xpub from pubkey 2015-07-05 23:29:36 +02:00
ThomasV 0368a2cd5e fix bug from #1281 2015-07-05 18:16:33 +02:00
ThomasV b0f7411a0a check and fix history on startup 2015-07-05 17:29:41 +02:00
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