Commit Graph

1704 Commits

Author SHA1 Message Date
Chris Glass
8997c760a2 Do not use mutables as default values!
This blog article explains why (just an example, many other articles
discuss this ad nauseam):
http://pythonconquerstheuniverse.wordpress.com/2012/02/15/mutable-default-arguments/
2014-06-25 17:43:45 +02:00
Chris Glass
fff3ed9b77 Added a lot of tests for SimpleConfig
Refactored the SImpleConfig class a lot to make sure the behavior is
always defined.
2014-06-25 17:34:51 +02:00
ThomasV
05dba32315 Merge branch 'master' of git://github.com/spesmilo/electrum 2014-06-25 16:46:05 +02:00
ThomasV
54973062bd restore from xprv 2014-06-25 16:45:55 +02:00
ThomasV
935286fe1c Merge pull request #733 from chrisglass/add-more-tests
Add more tests
2014-06-25 12:07:51 +02:00
Chris Glass
af5a0eba33 Added mnemonic to seed tests 2014-06-25 11:21:39 +02:00
ThomasV
8795e1a746 Comment on wallet classes. Use address_is_old to check if address is beyond gap limit 2014-06-25 10:53:06 +02:00
Chris Glass
4675ea5321 Added util test file 2014-06-25 10:50:21 +02:00
Chris Glass
bc98223188 Added more bitcoin tests 2014-06-25 10:39:50 +02:00
Chris Glass
9dc814ec8c Made _do_test_crypto private to allow nosetests 2014-06-25 08:45:37 +02:00
Chris Glass
413945435a Added private/public key tests
Including converting from a private key to a public key, and
deriving the primary address from a private key.
2014-06-25 08:27:45 +02:00
Chris Glass
73c33820db Moved bitcoin.py tests to their own file
This allows standard python testing tools to discover and run them.
2014-06-25 07:35:49 +02:00
ThomasV
0c440ee6a6 wallet.is_beyond_limit (False for imported accounts) 2014-06-24 20:47:44 +02:00
ThomasV
c742e8c5cf minor fix 2014-06-24 17:43:23 +02:00
ThomasV
0c6d470296 various bugfixes for imported addresses 2014-06-24 16:47:58 +02:00
Chris Glass
2765b66411 Removed uselss comment. 2014-06-24 15:48:50 +02:00
Chris Glass
01f3e31c6b First cleanup branch commit
This fixes some import and whitespace issues to align closer to pep8.
I added a few comments to make further contributions easier.
2014-06-24 16:12:43 +03:00
ThomasV
2c7bf3ca1a detect if wallet can sign tx before showing sign button 2014-06-24 13:22:10 +02:00
ThomasV
b32d0c77a3 fix bug with the order of signatures in tx input 2014-06-23 09:42:07 +02:00
ThomasV
37148b72d4 show number of tx signatures in gui 2014-06-22 12:07:41 +02:00
ThomasV
b28a0bcdd4 getmpk: return list of accounts 2014-06-22 08:06:37 +02:00
ThomasV
a24e32266f help text for signrawtransaction 2014-06-22 08:05:13 +02:00
ThomasV
3f15a8f217 serialize: do not use x_pubkeys if we have enough signatures. 2014-06-21 22:09:35 +02:00
ThomasV
785b54f8f4 fix add_keypairs: support old wallets 2014-06-21 21:39:57 +02:00
ThomasV
85505c1d8e cleanup (dead code) 2014-06-21 21:17:40 +02:00
ThomasV
0636ef8b32 compact serialized format for unsigned and partially signed transactions. 2014-06-21 21:06:09 +02:00
ThomasV
a40ed14953 fix save_qrcode 2014-06-17 18:32:49 +02:00
ThomasV
e2d03f1cc9 show popup if qr scanner not enabled 2014-06-17 16:45:45 +02:00
ThomasV
52e74ccda1 parse_scriptSig 2014-06-17 13:48:58 +02:00
ThomasV
c07c1c58ed access to global configuration using set_config and get_config 2014-06-17 12:03:41 +02:00
ThomasV
2b2a8d17df bundle dependencies in 'packages' dir. use qrcode instead of pyqrnative 2014-06-17 11:02:46 +02:00
ThomasV
f43ddf1d8f parse_URI: amount is in satoshis 2014-06-15 09:26:52 +02:00
ThomasV
47c491624e show expired status in invoices tab 2014-06-13 16:53:43 +02:00
ThomasV
38e7d8ebe5 show color if payment request has expired 2014-06-13 16:39:07 +02:00
ThomasV
36cee62849 import paymentrequests only when really needed 2014-06-13 16:25:25 +02:00
ThomasV
58c302a4cf minor fixes 2014-06-13 16:08:46 +02:00
ThomasV
6f3c9e6a44 unify util.parse_URI 2014-06-13 16:02:30 +02:00
ThomasV
14331afc2b adding file generated by protobuf 2014-06-13 00:06:45 +02:00
ThomasV
173c034e26 on_header: return early if block_height is missing 2014-06-12 15:49:53 +02:00
ThomasV
6631ab9406 verify if pr has expired 2014-06-12 15:47:48 +02:00
ThomasV
503fd99cdb add pay_invoice menu item 2014-06-12 15:35:46 +02:00
ThomasV
4e1068b343 broadcast tx of payment request 2014-06-12 15:15:05 +02:00
ThomasV
68a75af1bd save and display request status 2014-06-12 11:27:18 +02:00
ThomasV
89a1b48ba1 column for payment request memo 2014-06-12 10:20:06 +02:00
ThomasV
86aba082e1 fix bug #718 2014-06-11 13:10:48 +02:00
ThomasV
5ed0f2224d Fix daemon port 2014-06-10 20:44:52 +02:00
ThomasV
4ec31b9fe9 prevent collision on daemon port. Add Imported_Wallet (bolkin) 2014-06-10 20:40:42 +02:00
ThomasV
958f764dae verify payment requests with tlslite and pyasn1 (pure python) instead of m2Crypto 2014-06-10 14:32:17 +02:00
ThomasV
440f972fd3 show payment request details 2014-06-07 19:53:54 +02:00
ThomasV
14dfa6f5b0 store payment requests even if M2Crypto is not available 2014-06-07 11:11:49 +02:00
ThomasV
513f9c2d89 save invoices 2014-06-06 16:16:14 +02:00
ThomasV
38a6747eff fix: sanitize outputs 2014-06-06 07:48:08 +02:00
ThomasV
e699ab6660 coin control: select UTXOs in menu 2014-06-05 21:55:11 +02:00
ThomasV
26d133c20a payment request: show status with help button 2014-06-05 17:40:58 +02:00
ThomasV
31226b8a34 add pbkdf2 dependency 2014-06-05 16:19:13 +02:00
ThomasV
5a89734d6c do not raise an error if user config file is corrupted 2014-06-03 16:16:43 +02:00
ThomasV
90a558e02c fix get_pubkey for imported keys 2014-06-03 15:35:09 +02:00
ThomasV
1045b537aa unit test for aes 2014-06-03 13:15:41 +02:00
ThomasV
274c67f984 check message length in mnemonic encode 2014-06-03 09:35:34 +02:00
ThomasV
30b608c6fb move tests to unittest format 2014-06-03 09:34:59 +02:00
ThomasV
194291c80b update imported keys 2014-06-02 08:59:41 +02:00
ThomasV
650ef92c5f class MyVerifyingKey, with constructor to submit to python-ecdsa 2014-05-30 21:24:23 +02:00
ThomasV
501bb92584 Remove Bitcoin address from serialized encryption format. Enable encrypt commands, fix ser_to_point() and add some tests 2014-05-28 12:20:04 +02:00
Lucas Ryan
a3d02525e2 in ecies encryption, mac headers+ciphertext instead of just ciphertext 2014-05-27 11:37:37 -07:00
Lucas Ryan
93f61f1717 replaced jackjack encryption with corrected ecies implementation 2014-05-27 10:55:51 -07:00
ThomasV
adb53e4c41 fix #699 2014-05-21 22:04:10 +02:00
ThomasV
35c270e075 explicit type for imported wallets. fixes #698 2014-05-21 16:04:58 +02:00
ThomasV
217ba7c80c createrawtransaction: keep all fields for input_info 2014-05-21 12:37:00 +02:00
ThomasV
84954b0778 update calls to is_complete() method. fixes #693 2014-05-21 11:36:37 +02:00
ThomasV
a21a175679 mpk hex encoding 2014-05-15 09:13:50 +02:00
ThomasV
c3676cc6e6 wallet.is_used() method 2014-05-12 11:28:00 +02:00
ThomasV
a66df2a3fa multi seed and mpk dialogs 2014-05-12 10:53:04 +02:00
ThomasV
b9143b3800 show request memo 2014-05-10 22:43:53 +02:00
ThomasV
9e2db24f5d return error status for payment requests 2014-05-10 20:35:00 +02:00
ThomasV
0fb6cdcb1a add 2of3 wallets in wizard 2014-05-09 16:27:12 +02:00
wozz
5a312290e2 Target Calculation Update
fix #686
2014-05-08 12:44:36 -04:00
ThomasV
a18d21d946 fix cmd line wallet creation. fixes #684 2014-05-08 15:18:38 +02:00
ThomasV
370bdbe855 fix payment ack 2014-05-07 18:59:51 +02:00
ThomasV
e8a5070948 fix parse_url 2014-05-07 18:34:00 +02:00
ThomasV
0149ec5921 sanitize payment request code 2014-05-07 18:20:17 +02:00
ThomasV
ec234105a5 send error messages for payment requests 2014-05-07 18:10:14 +02:00
ThomasV
87fa402c34 support for payment requests in the gui 2014-05-07 15:26:38 +02:00
ThomasV
2642b7e126 can_import 2014-05-07 11:53:32 +02:00
Michael Wozniak
96e1ea42a8 update to certificate check for Subject Alt Names 2014-05-05 12:09:48 -04:00
ThomasV
f004dff9ef adding initial bip70 script (wozz) 2014-05-05 17:31:39 +02:00
ThomasV
7f67b36a19 fix: num_accounts should return only confirmed bip32 accounts 2014-05-05 12:17:25 +02:00
ThomasV
fa4c2b96d7 p2sh wallets cannot create accounts 2014-05-05 12:03:01 +02:00
ThomasV
97a6f91451 fix: is_address, is_private_key: check that text is not empty 2014-05-05 10:03:31 +02:00
ThomasV
8534ec603f dumpprivkey -> getprivatekeys 2014-05-05 09:13:10 +02:00
ThomasV
563a7d99b9 rename command dumpprivkey as getprivatekeys 2014-05-05 09:11:36 +02:00
ThomasV
90f5133983 utf8 encode seed (old wallets) 2014-05-05 01:19:04 +02:00
ThomasV
c76da17262 utf8 encoding for seed encryption 2014-05-04 20:31:05 +02:00
ThomasV
430c7aa92e fix: get_seed 2014-05-04 19:52:47 +02:00
ThomasV
c9fc6275ab move private key methods from wallet to accounts 2014-05-04 19:43:15 +02:00
ThomasV
9b8ad42a66 id of imported account 2014-05-04 14:13:34 +02:00
ThomasV
339dd46d98 return imported addresses as sorted 2014-05-04 13:54:53 +02:00
ThomasV
e9968e4a39 imported_keys and accounts 2014-05-04 13:46:37 +02:00
ThomasV
4a33cf256b remove dead code: get_imported_balance 2014-05-04 12:54:35 +02:00
ThomasV
09a2254739 fix #676 2014-05-04 10:22:35 +02:00
ThomasV
0536f256cf fix: imported_account 2014-05-02 12:41:37 +02:00
ThomasV
2a938ad516 fix: pending accounts 2014-05-02 11:19:02 +02:00
ThomasV
fdf8697e58 handle pending and imported accounts using account child classes 2014-05-02 11:10:12 +02:00
ThomasV
95df9cd103 fix bugs on wallet creation 2014-05-01 18:58:24 +02:00
ThomasV
46c0dda3b9 sweep privkeys in gui 2014-05-01 17:35:01 +02:00
ThomasV
3faeb7eab6 define check_password for imported wallets 2014-05-01 13:08:12 +02:00
ThomasV
ace127ee43 fix password dialog, for imported wallets 2014-05-01 12:42:06 +02:00
ThomasV
95fce65e12 disable wallet menus when they do not apply 2014-05-01 12:19:24 +02:00
ThomasV
84052bcdb2 fix bug with has_seed 2014-04-30 15:44:46 +02:00
ThomasV
9c37ed68f4 wallet.has_seed 2014-04-30 11:40:53 +02:00
ThomasV
56e8ad3397 cleanup wallet classes 2014-04-30 11:18:13 +02:00
ThomasV
17216da392 can_create_account 2014-04-30 10:40:47 +02:00
ThomasV
7e0711f6ec move synchronizer class in its own file. abstract wallet class. 2014-04-30 10:32:40 +02:00
ThomasV
bb88c891dc move set_url to __init__. fixes #672 2014-04-30 07:59:59 +02:00
ThomasV
582fb76e9e new class: Imported_Wallet 2014-04-29 21:04:16 +02:00
ThomasV
23df7394df is_new_seed: encode utf8 2014-04-29 19:30:31 +02:00
ThomasV
0ba73dfc95 restore get_master_public_key function. fixes #668 2014-04-29 12:26:58 +02:00
ThomasV
5d68ce4f22 wizard: option to create multisig wallet manually 2014-04-29 11:45:39 +02:00
ThomasV
70a638a7c3 more robust install wizard 2014-04-28 17:30:48 +02:00
ThomasV
c295c79754 fix signrawtransaction 2014-04-27 14:26:15 +02:00
ThomasV
5a02836933 fix input_info for signrawtransaction 2014-04-26 18:44:45 +02:00
ThomasV
0c100c1480 add_cold_seed 2014-04-25 17:51:41 +02:00
ThomasV
e552930d34 sweep command (does not broadcast) 2014-04-25 17:23:26 +02:00
ThomasV
217900bbfa watching_only wallets have a single account 2014-04-25 11:48:13 +02:00
ThomasV
1662a9e9c5 fix: get_master_public_key 2014-04-25 10:39:07 +02:00
ThomasV
a1daba6afe get_master_public_keys 2014-04-25 10:16:07 +02:00
ThomasV
a3dd9f700c no accounts in multisig wallets 2014-04-24 14:29:08 +02:00
ThomasV
7bef756813 simplify getseed: do not return hex 2014-04-23 16:14:31 +02:00
ThomasV
26c65dd65f lower default fee. fixes #403 2014-04-23 16:10:01 +02:00
ThomasV
5d9b9492e1 abstract and improve seed and key methods 2014-04-21 22:09:15 +02:00
ThomasV
41f9da1559 fix #655 2014-04-20 10:42:13 +02:00
ThomasV
6c96b38abf installwizard: multisig wallets 2014-04-19 20:23:27 +02:00
ThomasV
86917c2ff3 handle coinbase transactions explicitly 2014-04-19 10:32:23 +02:00
ThomasV
df59c8e013 fix #563 2014-04-17 18:41:34 +02:00
ThomasV
80a988e337 slightly better notifications. at least, it fixes #652 2014-04-17 17:38:21 +02:00
ThomasV
696766c370 json-friendly debug messages. fix #659 2014-04-17 17:20:07 +02:00
ThomasV
3e1a87397d Merge branch 'master' of git://github.com/spesmilo/electrum 2014-04-17 17:05:45 +02:00
ThomasV
8a7a6f347b fix #661 2014-04-17 17:05:36 +02:00
Drak
d082ed3cb5 Lower minimum tx fee in line with Bitcoin 0.9
Since Bitcoin Core 0.9 the minimum relay tx fee was lowered to `0.00001`.
2014-04-14 21:20:42 +01:00
ThomasV
cba7a5d68d fix signatures returned by get_address_from_input_script. fixes #653 2014-04-13 14:57:42 +02:00
wozz
4a79769af4 Merge pull request #650 from wozz/URI-bug
Bitcoin URL Handling

closes #649
2014-04-12 14:15:08 -04:00
ThomasV
d30d7b2188 fix #651 2014-04-12 19:53:52 +02:00
Michael Wozniak
8874242fa7 Bitcoin URL Handling
Update Bitcoin URL handling to reject URLs with duplicate keys

issue: #649
2014-04-12 12:19:42 -04:00
Fynn
cc13dd25b3 Accept FreeBSD OS 2014-04-10 11:37:58 -03:00
ThomasV
1751c3ac7f fix: public instead of private 2014-04-09 07:36:33 +02:00
ThomasV
f550b452be transaction: add_signature(), is_complete() methods 2014-04-07 11:03:12 +02:00
ThomasV
102bc204d5 hooks and workflow for 2of3 wallets 2014-04-06 21:38:53 +02:00
ThomasV
f4b1621910 rename do_send as send. fixes #645 2014-04-05 18:35:15 +02:00
ThomasV
c24482c21a check seed in gui. fixes #622 2014-04-05 10:34:51 +02:00
ThomasV
38a59c0b37 re-enable seed tests. get_public_keys method 2014-04-05 10:08:54 +02:00
ThomasV
02c3bc131e fix and simplify tx serialization 2014-04-03 21:23:35 +02:00
ThomasV
8e644a4dc8 sort signatures for multisig 2014-04-03 20:48:31 +02:00
ThomasV
66e1e2707d get_pubkey_from_x 2014-04-03 16:11:28 +02:00
ThomasV
a194edbefb account:simplification 2014-04-03 14:32:03 +02:00
ThomasV
4fb5296a92 account:simplification 2014-04-03 14:30:00 +02:00
ThomasV
9c34f9a1da fix: getpubkey 2014-04-03 14:17:42 +02:00
ThomasV
f68ecb3e26 multisig accounts: sort pubkeys 2014-04-03 14:15:02 +02:00
ThomasV
f522d6c36d sort pubkeys in multisig scripts 2014-04-02 14:04:39 +02:00
ThomasV
df540cb241 move get_keyID to accounts 2014-04-01 23:53:07 +02:00
ThomasV
5c31263848 fix load_accounts 2014-04-01 19:10:59 +02:00
ThomasV
05fcdce018 fix redeem scripts 2014-04-01 19:10:35 +02:00
ThomasV
9fccf9c287 helper functions for bip32 derivations 2014-04-01 19:10:13 +02:00
ThomasV
9567af0219 fix CKD in p2sh accounts 2014-04-01 12:34:03 +02:00
ThomasV
5a43b633d6 update bip32 accounts and wallet 2014-04-01 11:25:12 +02:00
ThomasV
9663600d5d update bip32 derivations, using xpriv and xpub serialization format 2014-03-31 12:16:15 +02:00
ThomasV
91ba04c4d7 update bip32 derivations, using xpriv and xpub serialization format 2014-03-31 12:12:29 +02:00
ThomasV
328432f5f4 update bip32 derivations, using xpriv and xpub serialization format 2014-03-31 12:00:57 +02:00
ThomasV
7cc04f383b Merge pull request #617 from flatfly/patch-3
Remove unused import
2014-03-16 20:18:22 +01:00
ThomasV
f92b483942 disable encrypt/decrypt 2014-03-16 16:35:12 +01:00
flatfly
2a28fa07e3 Update daemon.py 2014-03-16 15:04:40 +01:00
Eagle[TM]
e81385fc05 update server list 2014-03-16 12:18:38 +01:00
ThomasV
9230482870 set default verbosity to false, because of daemon 2014-03-16 12:13:52 +01:00
ThomasV
7dd296273f move daemon spawning code into NetworkProxy class 2014-03-16 12:00:08 +01:00
ThomasV
0bb16f0836 add daemon port to config 2014-03-16 06:28:16 +01:00
ThomasV
c0378a5ba0 fix getservers: wait until they are available 2014-03-15 11:04:11 +01:00
ThomasV
9543d2b5ec catch exception in signrawtransaction, if wallet is not synchronized 2014-03-15 09:59:00 +01:00
ThomasV
32cca276fe don't use recent_servers if list from irc is available 2014-03-13 19:23:26 +01:00
ThomasV
e2c749cdab bip32 uses compressed K 2014-03-13 16:56:53 +01:00
ThomasV
f3b728989a update default servers 2014-03-13 14:07:36 +01:00
ThomasV
b379a14cd2 guess seed_version on old wallets 2014-03-13 10:42:39 +01:00
ThomasV
4e8bb4dac4 add tx direction info to default labels 2014-03-12 10:16:51 +01:00
ThomasV
051853556e change the format returned by history command 2014-03-12 09:52:17 +01:00
ThomasV
fb8e2fe7eb change decrypt syntax 2014-03-11 14:11:45 +01:00
ThomasV
960e7bc3df fix reference to verifier 2014-03-11 09:38:08 +01:00
ThomasV
489413d358 move start_daemon code to main script 2014-03-11 08:33:58 +01:00
ThomasV
0a1f6b5c43 fix return, debug flags 2014-03-11 07:12:57 +01:00
ThomasV
919ec8e837 fix: missing import 2014-03-11 07:04:25 +01:00
ThomasV
8f025db800 add missing Network methods to NetworkProxy 2014-03-10 20:58:18 +01:00
ThomasV
b4bed1ccaa remove blockchain object from verifier 2014-03-10 20:53:05 +01:00
ThomasV
6e30894af6 daemon; initial commit 2014-03-10 16:16:27 +01:00
ThomasV
f352832879 Merge branch 'master' of git://github.com/spesmilo/electrum 2014-03-10 16:05:57 +01:00
ThomasV
6ecb977461 add password to sign hook 2014-03-10 16:05:54 +01:00
Michael Wozniak
820328781a print statement should be debug only
comment print statement of seed
2014-03-09 23:27:40 -04:00
Michael Wozniak
f5fb6ed194 display locktime for transaction
display locktime for transactions if it is greater than 0.  Majority of
transactions will not display any value because default is 0.
2014-03-05 16:38:34 -05:00
CodingAnarchy
b9bf3a2ee8 change estimated_fee to include 34 bytes per output instead of hard-coded 80 (issue #520) 2014-03-05 01:01:09 -07:00
ThomasV
cef7bbf294 add get_public_key method to EC_KEY class 2014-03-04 16:33:25 +01:00
ThomasV
12e9f49042 fix: network.height() is a function 2014-03-04 14:32:52 +01:00
ThomasV
da6f292dd5 encrypt/decrypt messages in gui 2014-03-03 10:39:10 +01:00
ThomasV
9d5f39c235 fix createrawtransaction (issue #574) 2014-03-02 19:24:44 +01:00
ThomasV
9bebc05149 fix bug in chunk validation 2014-03-02 17:43:46 +01:00
ThomasV
f37b23b2a7 rename command: getutxoaddress 2014-03-02 11:02:45 +01:00