Commit Graph

2252 Commits

Author SHA1 Message Date
Neil Booth 346e38674b Absorb add_interface and remove_interface
They are now only called from the same place; it's simpler
and clearer to put them inline.
2015-05-22 15:26:17 +09:00
ThomasV 0b201d98ab Merge pull request #1230 from kyuupichan/switch-random-if
Remove interfaces in one place only
2015-05-22 08:13:14 +02:00
ThomasV e13e42a00c Merge pull request #1229 from kyuupichan/uri-format
Plain number formatting for URIs.
2015-05-22 08:12:09 +02:00
Neil Booth 274965468e Remove interfaces in one place only
switch_to_random_interface used to do is_connected()
checks and remove interfaces when switching.  This
is redundant: interfaces are only added to self.interfaces
once in is_connected() state from process_if_notification().
When they are disconnected, a notification is also received
and process_if_notification() performs the removal.  Furthermore,
two other callers of switch_to_interface do not do explicit
is_connected() checks before calling it.
2015-05-22 15:01:11 +09:00
Neil Booth d09d5e5dac Plain number formatting for URIs. 2015-05-22 14:32:47 +09:00
Neil Booth 4873c455b9 Add documentation string. Fix uninitialized f error.
Traceback (most recent call last):
      File "src/electrum/lib/network.py", line 411, in process_request
        out['result'] = f(*params)
    UnboundLocalError: local variable 'f' referenced before assignment
    [Network] network error local variable 'f' referenced before assignment
2015-05-22 14:14:06 +09:00
Neil Booth 05dd310431 Set 'connecting' status in one place.
Also means when switching to an already connected server our
status doesn't quickly change to connecting and back again.
2015-05-22 14:05:58 +09:00
Neil Booth 86626d8080 Consistency in handling of self.interface
switch_to_interface() becomes the common place where
self.interface is set; therefore self.interface is not None
precisely when self.default_server is connected.  Previously some
places required it to be connected and some didn't.  Also an
interface change now sends the 'updated' notification
consistently - previously some did and some didn't.

Have network_start() call start_interfaces() - this also means
network restarts now do this.

Fix apparent off-by-one in start_interfaces()
2015-05-22 09:13:09 +09:00
Neil Booth c918e74039 Put common network start and stop code in one place.
Prefer to use safer self.is_connected() as it checks interface
is not None.

Using common code gives small observable changes in behaviour:

 - slightly different print_error() messages
 - network restarts now enter status 'connecting' which they
   didn't before, which seems correct
 - status 'connecting' is done with set_status() rather than
   simply assigning the status, which seems more correct.  Now
   that the response_queue is available in the constructor this
   works; it used to fail with 'response_queue is not defined'
2015-05-22 07:52:59 +09:00
ThomasV 8620019f92 Merge pull request #1222 from kyuupichan/if_notification
Put interface notification handling in its own function.
2015-05-21 15:05:07 +02:00
ThomasV 5bd22d2378 follow-up to bd781d600b8ce2bc9dcebebbdb0fb60ad2fb892e: use pipe 2015-05-21 12:50:26 +02:00
Neil Booth c9a30eb5f2 Put interface notification handling in its own function. 2015-05-21 17:45:37 +09:00
Neil Booth bd781d600b Have queues passed to the network constructor.
This is somewhat cleaner as the proxy's pipe and network setup
was awkwardly interleaved.  It also means network's constructor
is free to use both; currently some code is working around the
fact that the response queue doesn't exist in the constructor.
2015-05-21 12:49:39 +09:00
ThomasV 7b27f01e07 call fsync before rename 2015-05-19 11:56:33 +02:00
ThomasV 5c73bc5bc7 interface: init ping_time with 0 so that the client sends version message 2015-05-19 11:28:30 +02:00
ThomasV 2104e96a66 network: use get_nowait on one of the two queues 2015-05-19 10:22:25 +02:00
Neil Booth 63733ccd2a No need for thread to handle requests
Handle requests in the main loop.
Remove unused lock.
interface.py was reworked and send_request() no longer throws.
2015-05-19 14:29:10 +09:00
ThomasV a0e9046c2c prepare for 2.2 release 2015-05-17 09:17:52 +02:00
ThomasV e33bc2473b network: don't store unanswered request if result is in cache 2015-05-17 09:00:36 +02:00
ThomasV 6d0bc5d9b3 fix: nodes retry 2015-05-17 08:41:01 +02:00
ThomasV 44f06de796 network: when interface is disconnected, clear cache and resend unanswered requests 2015-05-15 14:47:59 +02:00
mikeland86 0ec62c8f36 Fix createrawtransaction and missing deserialize()
Found these issues while trying to create, sign, and broadcast a raw transaction. 

* createrawtransaction was using old signature for Transaction constructor
* Signwithwallet and decoderawtransaction need to call deserialize on tx before they can access inputs and outputs. (Maybe adding getInputs() and getOutputs() which deserializes if needed might be nicer)
2015-05-13 14:57:34 +02:00
ThomasV 5fa2a48343 add getmerkle command 2015-05-12 12:30:26 +02:00
ThomasV 81be685644 remove tests broken after WalletStorage update 2015-05-11 11:59:39 +02:00
ThomasV 7e9153aaa4 test if labels exist before loop. don't raise if a label cannot be converted 2015-05-11 11:55:26 +02:00
Azelphur fe5be618db Convert old latin1 labels, Raise exception if json conversion fails.
A couple of changes
1) Old electrum wallets seemed to save labels in latin1, when you call json.dumps on line 83/84 it fails silently, which causes the label import to fail. Whenever electrum saves, it then overwrites your default wallet with no labels - essentially deleting all your labels. The solution to this is iterating over all the labels for old wallets decoding anything that fails to unicode() as latin1, and then unicoding it :)

2) Failing to import data and then deleting it is bad. So I'm raising an exception to avoid data being lost.
2015-05-10 20:28:42 +01:00
ThomasV 59a9e4f710 fix new_wallet and seed language 2015-05-10 08:31:31 +02:00
ThomasV a1d1999545 move interfaces maintenance to its own function 2015-05-08 20:13:18 +02:00
ThomasV f2c2f9d738 network: fix confusion between addresses and cached responses 2015-05-08 17:59:33 +02:00
ThomasV 2a92a310ba typo 2015-05-08 17:47:04 +02:00
ThomasV 8c07bdc3bc do not timeout if interface is receiving data 2015-05-08 17:45:59 +02:00
ThomasV 233fd8ed77 revert 175bfae9e6. store last known height in wallet instead 2015-05-08 13:43:42 +02:00
ThomasV 1d517abf39 restore network_proxy.get_local_height 2015-05-08 11:12:19 +02:00
ThomasV c2a4252065 do not pass config to storage. request height from network_proxy if connected 2015-05-08 10:58:54 +02:00
Neil Booth 13b9b577a4 Don't use self.network to get the local height.
This restores a working offline mode.
2015-05-08 14:45:23 +09:00
ThomasV e06b3ba3ce Merge branch 'offline-2' of https://github.com/kyuupichan/electrum into kyuupichan-offline-2 2015-05-08 07:32:48 +02:00
Neil Booth 37c3cce329 Remove wallet.get_transactions()
Because references are returned, it's not threadsafe as ThomasV
pointed out.
2015-05-08 09:31:45 +09:00
Neil Booth 97b5f6d6a3 Fix two races in interface.py.
First, close the socket from the thread itself rather than from
the stop() function.  This prevents another thread closing the
socket that the interface thread is simultaneously using.

Second, it occasionally would happen that the parent thread such as
network.py start() an interface, do a send_request() and timeout
waiting for a response (timeouts are 0.1s).  It would check
is_connected(), get False, and assume the connection has failed.
In fact the thread hadn't even been scheduled or gotten around to
completing the socket connection.  Fix by having self.connected
start out True.  If the connection fails or times out, we set
connected to False soon enough.

Finally for correctness we need to deepcopy a send_request() rather
than take a reference to it.
2015-05-08 07:32:31 +09:00
Neil Booth a47881d72b Move the verified and unverified txs to the wallet. 2015-05-07 23:54:39 +09:00
ThomasV 656560be72 show many address labels in tx default label. fixes #1200 2015-05-07 16:09:39 +02:00
Neil Booth 79de458101 Preparation for moving the set of verified and unverified txs to the wallet.
The verifier will retain responsibility for verification, but will no longer
hold the transaction sets itself.

Change requires_fee to take a wallet.
Add new function add_unverified_tx()
Move get_confirmations() to the wallet from the verifier.
2015-05-07 09:21:08 +09:00
ThomasV ffda5cd866 Merge pull request #1187 from kyuupichan/local_height
Move away from requiring network and blockchain objects to be able to re...
2015-05-06 17:45:42 +02:00
ThomasV 8656785aa7 fix: use request_time for interface timeout 2015-05-06 17:25:29 +02:00
ThomasV 45fd3ef343 interface: send from same thread and simplify timeouts 2015-05-06 16:42:18 +02:00
ThomasV 78f5dbb72e revert c64e0c0e64 2015-05-06 12:13:21 +02:00
ThomasV 241b3b073f Merge pull request #1198 from kyuupichan/if-cleanup7b
Move response getting to its own function.
2015-05-06 11:28:03 +02:00
Neil Booth 6171779442 Move response getting to its own function.
This makes the operation of run() more clear.
No essential change in functionality.
2015-05-06 14:35:55 +09:00
ThomasV 43b8e202fd replace instances of get_unspent_coins 2015-05-06 07:25:50 +02:00
ThomasV a99c2bc9fa less verbose debug message 2015-05-05 21:00:35 +02:00
ThomasV 9d747fb601 Merge branch 'master' of git://github.com/spesmilo/electrum 2015-05-05 20:52:28 +02:00
ThomasV 687cc7783f show unmatured coins in status bar. fixes #1163 2015-05-05 20:52:14 +02:00
Neil Booth 0cfcd2c7b2 Remove self.lock
It is now unused; all necesary locking is done by the Queue objects.
2015-05-05 21:57:07 +09:00
Neil Booth c64e0c0e64 Send requests only from the interface thread.
Currently requests are sent from the requestor's thread.  The lock is
not properly held where necessary so this is not thread-safe.  For example
it can race with the thread stopping and closing the socket the
requestor is trying to use to send with.

Resolve such races by having send_request() simply queue the requests,
which are asynchronously sent from the interface thread itself.
2015-05-05 21:36:34 +09:00
Neil Booth 6920747a5d Move ping functionality into its own function.
First step in cleaning up the run() function.
Calls stop() rather than setting is_connected to False on
case of timeout, which cleanly closes the socket.
2015-05-05 20:46:34 +09:00
Neil Booth c07e956127 Pass the response_queue to the constructor, not start().
Removes an unnecessary Thread base-class override.  The python
documentation also strongly discourages overriding anything other
than run().
2015-05-05 20:37:25 +09:00
Neil Booth 9cf2eff16b Make is_connected into a member function. No change in logic. 2015-05-05 20:00:10 +09:00
Neil Booth 4d55cb9528 First of several incremental patches tightening up interface.py.
Remove some unneeded imports, a constant and a line of dead code.
Document the current external API interface.py provides.
2015-05-05 14:02:51 +09:00
Neil Booth 175bfae9e6 Move away from requiring network and blockchain objects to be able to request local height.
We store it in the config object instead of in the blockchain object.
The blockchain object now refers to its config, and calls refresh_height() to update it.
The network objects also refer to the config rather than the blockchain.

This is the first of many small steps to untangle the verifier from stored state and so
permit the history tab to work in offline mode.  The refactoring will simultaneously clean
up a lot of accumulated cruft.
2015-05-03 15:19:29 +09:00
ThomasV 25c6a78ae0 fix missing immport 2015-05-02 16:29:41 +02:00
ThomasV 475a48091f Merge pull request #1183 from kyuupichan/get_history2
Make it 3-step instead of four. Avoid quadratic insertions.
2015-05-02 16:28:18 +02:00
ThomasV e4038dcdba move create_csr to gui 2015-05-02 16:26:27 +02:00
Neil Booth 2fc38332e7 Make it 3-step instead of four. Avoid quadratic insertions.
This is preparation to hopefully fix #1163
2015-05-02 23:17:50 +09:00
ThomasV bbaacef960 fix format_satoshis for None values 2015-05-02 15:12:00 +02:00
ThomasV 75ddc066bb fix #1181 2015-05-02 11:05:38 +02:00
ThomasV 8ba70c941b add function to create CSR 2015-04-30 17:51:51 +02:00
ThomasV c35cdf1fd8 rename ssl config variables 2015-04-30 17:33:29 +02:00
Neil Booth db2517b901 Shrink size of changes; functionality unchanged. 2015-04-30 13:32:01 +09:00
Neil Booth 506ed8ee74 Merge branch 'master' into tray_tip_wallet 2015-04-30 13:28:13 +09:00
ThomasV 953674aac7 resize columns to content by default 2015-04-29 09:26:22 +02:00
Neil Booth 4f45e0a083 Prior lost minus sign for fractional negative numbers 2015-04-29 15:09:55 +09:00
Neil Booth 0d35dd66d2 The lite GUI passes a decimal type 2015-04-29 14:48:55 +09:00
Neil Booth 83e05b1183 Modify format_satoshis to display amounts according to locale.
In particular, thousands and decimal point separators are taken from locale.
2015-04-29 10:13:41 +09:00
Neil Booth f56413d602 Put title() member func, with localization, in main_window.py 2015-04-28 21:12:25 +09:00
Neil Booth 889174ae19 Show wallet basename in tray tooltip for those of us using multiple wallets
Move basename (and title) logic to the wallet and use those member functions.
2015-04-28 19:32:56 +09:00
ThomasV 7316f613d6 fix history command 2015-04-28 08:58:33 +02:00
Neil Booth deec78a9d4 Clean up block explorer handling. Add menu item to go to block explorer for an address.
Block explorer code is data-driven now.
Put block explorer defaulting in one place.
Fix URLs for insight.is and blockr.io.
Add tradeblock.com explorer.
Add menu item to view address on block explorer provided only one is selected.
2015-04-26 22:02:21 +09:00
ThomasV f2749a744e version 2.1.1 2015-04-24 21:26:08 +02:00
ThomasV cb09d88322 fix bug introduced in 21673c95f4 2015-04-24 21:01:34 +02:00
Maran 21673c95f4 Fix wallet write to support windows 2015-04-24 13:14:17 +02:00
ThomasV 4a28c88946 atomic write wallet file 2015-04-23 17:12:02 +02:00
ThomasV e8189490e9 store contacts in a separate file, shared between wallets 2015-04-23 12:16:46 +02:00
ThomasV 065145e557 get_history: return empty history if balance check fails 2015-04-23 09:49:24 +02:00
ThomasV 6cff7a284a store invoices as dict. rename domain -> requestor 2015-04-22 13:59:38 +02:00
ThomasV 74b0ed5f48 move get_status to InvoiceStore 2015-04-22 13:36:07 +02:00
ThomasV 409c34d1bf verify: create a PaymentRequest instance, to avoid blanking the signature as side effect 2015-04-22 10:25:29 +02:00
ThomasV 30bed4c5a9 sign and save to file bip70 payment request; redo receive tab layout 2015-04-21 08:45:51 +02:00
ThomasV 50bc50d78d daemon: filter notificaions sent to client 2015-04-20 09:16:43 +02:00
ThomasV 524db55b90 don't display hashes or addresses as default labels 2015-04-19 14:30:44 +02:00
ThomasV eac3129cba Merge pull request #1135 from Kausheel/get_addr_received
Add wallet function get_addr_received()
2015-04-19 13:38:45 +02:00
ThomasV 21b2fcbe85 always_hook. fix trezor handler. fixes #1146 2015-04-18 14:59:46 +02:00
ThomasV f82de35bd2 x509: use SKI and AKI to find parent certificate if it is missing 2015-04-17 12:30:52 +02:00
ThomasV 7796243fdd get_common_name: return string if missing 2015-04-14 16:35:06 +02:00
ThomasV ed5258e406 parse certificates without pyasn1 2015-04-14 15:04:04 +02:00
ThomasV f6a00fdb34 add file: scheme to get_payment_request 2015-04-13 17:56:20 +02:00
ThomasV 036f96cf35 store invoices in a separate file, with their status 2015-04-13 14:19:59 +02:00
ThomasV 8a55a4c26c Merge pull request #1141 from kaykurokawa/master
Dust threshold should be 546
2015-04-12 12:09:48 +02:00
ukurokawa e708c446a8 Dust threshold should be 546 2015-04-11 11:41:02 -04:00
ThomasV 4fe32d2ad1 add root certificate to chain if missing. fixes #1137 2015-04-10 16:32:16 +02:00
ThomasV c381fc2194 remove debug message 2015-04-09 19:29:53 +02:00
ThomasV cdd5d6e130 fix #1136 2015-04-09 19:05:11 +02:00
ThomasV eb9802356a fix variable name in from_seed 2015-04-09 18:59:51 +02:00
Kausheel Kumar 8cf793ab98 Add wallet function get_addr_received() 2015-04-09 01:44:44 +10:00
ThomasV be5731d463 move make_payment_request to lib 2015-04-05 18:57:00 +02:00
ThomasV b8a72180c7 HistoryWidget class; address history window 2015-04-04 18:26:52 +02:00
ThomasV 0a7b585b6c redo default labels with incoming tx outputs 2015-04-04 15:55:28 +02:00
ThomasV 4c729f0ff0 move format_time to util 2015-04-03 14:44:03 +02:00
ThomasV 75cf142be0 fix typo 2015-04-03 11:30:36 +02:00
ThomasV a3422d3fae generic multisig wallet constructor. fixes #1129 2015-04-03 11:27:57 +02:00
ukurokawa 950dc2c685 get_pubkeys is called incorrectly in get_pubkey_from_xpub() 2015-04-02 15:03:48 -04:00
ThomasV 911a60c02d separate timeouts for server and nodes retry 2015-04-02 15:12:01 +02:00
ThomasV 5f29017c9d pass config.path to daemon (exemptore). fixes #901 2015-04-02 12:12:18 +02:00
ThomasV 98cc9c53d1 do not write config file from network class 2015-04-02 10:50:09 +02:00
ThomasV a805afa900 save recent_servers in separate file 2015-04-02 10:12:51 +02:00
ThomasV 881e15ae12 store config as json 2015-04-02 10:00:07 +02:00
ThomasV 0503e809d5 fix #1121: tx.update 2015-04-01 07:57:59 +02:00
ThomasV e3e5d95794 fix account key bug 2015-03-31 22:44:00 +02:00
ThomasV a44f1bc4d3 Merge pull request #1115 from romanz/offline-mode-fix
Offline mode fixes
2015-03-31 13:57:27 +02:00
ThomasV c9d874ce38 openalias: more error message 2015-03-31 12:21:20 +02:00
ThomasV f77311328a add get_completions to wallet 2015-03-31 12:01:42 +02:00
ThomasV 4d7b68658b fix delete_contact 2015-03-31 11:29:18 +02:00
ThomasV 2f1c597e8f print_error method for plugins 2015-03-31 10:01:53 +02:00
Roman Zeyde a7440fc89c wallet: skip history sort when verifier is not set 2015-03-31 09:32:21 +03:00
ThomasV da502076bd fix get_history 2015-03-30 20:39:06 +02:00
ThomasV f051a3e577 update occurences of get_history 2015-03-30 20:17:24 +02:00
Roman Zeyde c4b306cdbe fix Transaction.deserialize() to Transaction() 2015-03-30 18:28:24 +03:00
Roman Zeyde 9d0aa737e5 transaction: call serialize() before deserialization 2015-03-30 18:28:24 +03:00
ThomasV 2d84deeaad sanity check history 2015-03-30 14:10:46 +02:00
ThomasV ec11e58add handle pruning in wallet.txi/txo 2015-03-30 14:10:46 +02:00
ThomasV 3d1fa1e27f find_pay_to_pubkey_address 2015-03-30 14:10:46 +02:00
ThomasV bc3ed470e1 use hash as default label 2015-03-30 14:10:46 +02:00
ThomasV e3de121be9 store deserialized tx in/out in wallet file for fast computation 2015-03-30 14:10:46 +02:00
ThomasV d9b1271f65 version 2.1 2015-03-30 14:10:32 +02:00
ThomasV cf0fcac9fa fix deserialize_server bug 2015-03-28 19:17:07 +01:00
ThomasV 08f63a7f14 release notes for 2.0.4 2015-03-26 09:26:25 +01:00
ThomasV d9874ecb01 add 10 second timeout to header requests 2015-03-25 10:18:32 +01:00
ThomasV f50a62755c use self.print_error 2015-03-25 09:22:27 +01:00
ThomasV 973f7f9fe5 mpk window: detect self and cosigner keys 2015-03-24 17:33:08 +01:00
ThomasV 1369c02011 safeguard: do not let daemon treads write wallet file 2015-03-24 12:23:11 +01:00
ThomasV 0200778ac1 require user to start daemon explicitly 2015-03-23 11:50:13 +01:00
ThomasV b4ff652d89 Merge pull request #1095 from railgun74/master
Let wallet recovery use 64 character hex strings and legacy 24 word seeds.
2015-03-19 17:58:21 +01:00
K 41127db32d Let wallet recovery use 64 byte hex strings and 24 word seeds.
1. Allow wallet recovery from 64 byte hex strings.
2. Allow use of 24 word legacy seeds created from 64 byte hex strings.
2015-03-19 08:20:32 -07:00
ThomasV 90a22f1a36 Merge branch 'master' of git://github.com/spesmilo/electrum 2015-03-17 14:31:21 +01:00
Neil bbcfa44e54 Use string joins instead of concatenation for efficiency. 2015-03-17 21:57:06 +09:00
ThomasV d82529a41a function profiler 2015-03-17 11:29:17 +01:00
ThomasV cabd6bbb2c inputs_to_sign: handle missing num_sig 2015-03-17 07:41:27 +01:00
ThomasV a5a7a34c2d IOError: add file path to exception message 2015-03-15 08:04:02 +01:00
ThomasV b93aa9bc43 do not display daemon socket path 2015-03-14 19:08:22 +01:00
ThomasV 4a4624cb85 type conversion; fixes #1077 2015-03-14 16:22:47 +01:00
ThomasV 39ba3db0dd version 2.0.3 2015-03-14 14:29:10 +01:00
ThomasV b2a13dbd9c remove unused imports 2015-03-14 09:37:56 +01:00
ThomasV 4ebefc6e4c standardize error messages in synchronizer 2015-03-14 09:29:44 +01:00
ThomasV 8e7ce452f6 move misplaced debug message 2015-03-14 09:27:18 +01:00
ThomasV 5b8588ee90 rename spv class, use own print_error 2015-03-14 09:20:27 +01:00
ThomasV a4cb70649d fix synchronizer hanging when not connected. 2015-03-14 08:43:43 +01:00
ThomasV 72688a5cfa clean implementation of daemon threads 2015-03-13 23:04:29 +01:00
ThomasV 58f9ab3492 add a lock to wallet.synchronize() and fix #1049 2015-03-13 16:51:31 +01:00
ThomasV 9e4eda24b5 fix #1082 2015-03-13 12:00:08 +01:00
ThomasV f32f1183fc print_error methods. request timeout for interface 2015-03-12 21:39:05 +01:00
ThomasV 1569cd0420 serialize/deserialize methods for servers 2015-03-12 18:06:28 +01:00
ThomasV c4d0314817 network: separate interface management from reconnection logic 2015-03-12 17:44:16 +01:00
ThomasV 799a08514b move proxy logic to network.py. reload socket module if proxy is disabled 2015-03-12 12:56:06 +01:00
ThomasV ae7405a10f remove old http interface code, not used 2015-03-12 11:55:10 +01:00
ThomasV 92987d9019 add comment about proxy side effect 2015-03-10 09:43:22 +01:00
ThomasV 0947eb7960 should test proxy_str. fixes issue #1073 2015-03-10 09:05:44 +01:00
ThomasV 4780d8f811 do not try to connect to daemon on windows (af_unix) 2015-03-09 09:35:10 +01:00
ThomasV 6fc9ca2a41 bump version number 2015-03-08 19:09:03 +01:00
ThomasV 8852ad5281 fix transaction sweep; fixes #1066 2015-03-08 09:06:40 +01:00
ThomasV 14d7be7445 Merge pull request #1068 from gurnec/gap-limit-type
check arg type in change_gap_limit()
2015-03-08 03:02:57 +01:00
ThomasV 73d8ba24d9 fix network connection issues 2015-03-07 22:47:25 +01:00
Christopher Gurnee 4ba4611599 check arg type in change_gap_limit() 2015-03-07 12:51:35 -05:00
ThomasV b53a813111 revert 33b11422 2015-03-06 21:46:30 +01:00
ThomasV 33b11422a8 give a short timeout for daemon calls that actually do not require the network 2015-03-06 08:12:30 +01:00
ThomasV 98a809415d bump version number 2015-03-05 18:07:02 +01:00
ThomasV 15636282e4 fix issue #1061: normalize trezor passphrases. Add passphrases to restore from seed with trezor. 2015-03-05 17:09:39 +01:00
ThomasV 1d885c11e0 fix segfault in zbar init, issue #1059 2015-03-05 07:49:07 +01:00
ThomasV 59c76f5e09 use file socket for daemon 2015-03-05 07:16:48 +01:00
ThomasV 490de0d8ce fix password bug with xprv wallet 2015-03-04 18:57:28 +01:00
ThomasV e9b06f494d abort set_parameters if changes are not allowed by config 2015-03-01 07:27:05 +01:00
ThomasV 7a9141e509 deserialize network.proxy to prevent variability 2015-02-28 20:04:03 +01:00
ThomasV fdaf4e42a9 print reason if connection fails 2015-02-28 19:45:10 +01:00
ThomasV a90f3e0027 re-add older version of socks.py to repo, because SocksiPy-branch does not work with current code 2015-02-28 19:22:43 +01:00
ThomasV 510934d545 do not store protocol explicitly 2015-02-28 15:37:50 +01:00
ThomasV f489466709 fix: notify proxy when switching server 2015-02-28 14:08:58 +01:00
ThomasV 78573e202d add try..except arount get_next_account 2015-02-27 21:35:50 +01:00
ThomasV 46c290e30d use base43 in order to send transactions by QR code 2015-02-26 13:59:29 +01:00
ThomasV 52b43c57b8 android create and restore 2015-02-25 22:48:47 +01:00
ThomasV 0f3c5ad4b1 parse_URI: utf8 decode 2015-02-25 21:13:59 +01:00
ThomasV f92c3cadf0 fix utf8 encode in create_URI 2015-02-25 20:17:03 +01:00
ThomasV 761871b900 sanitize server and protocol 2015-02-25 17:14:31 +01:00
ThomasV c7f89da934 copy request URI to clipboard 2015-02-25 10:01:59 +01:00
ThomasV b29038073d add new languages to i18n 2015-02-24 19:32:59 +01:00
ThomasV 80284d5516 updates for the old android GUI 2015-02-24 18:45:09 +01:00
ThomasV 18d16ba82c bugfix: add pubkey to PendingAccount, to be able to spend from it 2015-02-23 19:33:31 +01:00
ThomasV 45007a27e4 plugins readme 2015-02-22 12:28:18 +01:00
ThomasV b3364b87d1 interface: don't show traceback on error 104 2015-02-21 14:45:09 +01:00
ThomasV 56dc9f7f80 cleanup dead code 2015-02-21 08:48:15 +01:00
ThomasV e389745491 remove appdata_dir and data_dir 2015-02-18 18:48:32 +01:00
ThomasV b5ac7f2a7c simplify setup.py using package_data 2015-02-18 17:13:41 +01:00
ThomasV 5f425738da version 2.0 beta 3 2015-02-17 18:39:15 +01:00
ThomasV acaaec8405 fix comment: standard is not bip44 2015-02-17 16:57:48 +01:00
ThomasV 9205a35c22 rm failing test 2015-02-17 15:01:06 +01:00
ThomasV f302c90649 set self.wallet to None in plugin constructor 2015-02-17 11:39:06 +01:00
ThomasV 0934976f3a fix #1011 2015-02-17 10:30:10 +01:00
ThomasV 58d2e90fa5 parse PEM list using tlslite 2015-02-15 21:27:11 +01:00
ThomasV 03a88743a3 fix typo: stdout 2015-02-11 21:05:33 +01:00
ThomasV 3e1078c79b add support for rsa+sha384 and rsa+sha512 in paymentrequests 2015-02-08 20:04:42 +01:00
ThomasV 271a27fc83 fix installwizard_restore 2015-02-06 07:20:09 +01:00
ThomasV 76cbafe754 fix Master Public Keys dialog 2015-02-05 13:29:18 +01:00
ThomasV 8982a463a4 allow change_gap_limit in bip32 wallets 2015-02-03 16:26:00 +01:00
ThomasV 036147db44 fix: change_gap_limit 2015-02-03 16:18:42 +01:00
ThomasV 58146407f7 fix: gap_limit 2015-02-03 16:09:39 +01:00
ThomasV 22fdedf7a6 normalize version number 2015-02-03 15:15:27 +01:00
ThomasV 6717460ee6 version 2.0-beta2 2015-02-03 14:20:35 +01:00
ThomasV 2f7b8ce864 fix wallet.can_sign: use isinstance with BIP32 class 2015-02-03 13:14:35 +01:00
ThomasV ca01e1d7be handle 1.9.8 bug that created seed_v6 wallets 2015-02-03 12:20:03 +01:00
ThomasV 059d381ba8 backport padding fix to AES module 2015-02-03 08:01:01 +01:00
ThomasV 0b674eb35d fix can_sign: detect if OldWallet is used 2015-02-02 16:06:29 +01:00
ThomasV 6bb4a554e3 suggest pip install instead of apt-get 2015-02-02 15:15:44 +01:00
ThomasV 395312e70f fix: add wallet types only if available 2015-02-01 10:44:29 +01:00
ThomasV 62fd3ad9a0 2.0 beta 2015-02-01 09:51:54 +01:00
ThomasV 820d356325 fix saving request: binary flag is needed on windows 2015-01-31 20:25:12 +01:00
ThomasV 78ce20b0b8 fix plugins initialization 2015-01-31 18:09:50 +01:00
ThomasV 94c9bf3655 define special hooks for install wizard 2015-01-30 13:18:00 +01:00
ThomasV 935a9a980d disable auo-connect is --server option is passed. fixes #992 2015-01-30 10:19:22 +01:00
ThomasV 3c6cfc8b70 disable server selector if server is passed from cmd line 2015-01-29 13:35:19 +01:00
ThomasV 8ca17a3e70 print traceback is an exception occurs in network.process_request 2015-01-29 11:32:58 +01:00
ThomasV 992a634a77 serialize: handle case where proxy is None 2015-01-29 11:30:42 +01:00
ThomasV 30763a6555 fix config: serialize/deserialize proxy 2015-01-29 11:21:17 +01:00
ThomasV 4eda748506 fix #991 2015-01-28 08:24:51 +01:00
Maran fd8a931608 Make where() work with OSX app bundles
MEIPASS is PythonInstaller specific and won't work for py2app

	modified:   lib/util.py
	modified:   .gitignore
	modified:   lib/util.py
	modified:   setup-release.py
2015-01-27 12:32:23 +01:00
ThomasV 4120678dff add google protobuf to packages 2015-01-27 10:01:40 +01:00
ThomasV dda4a0fcb3 call load_wallet and close_wallet for each plugin 2015-01-26 20:42:32 +01:00
ThomasV 9d40fb2ea8 detect if we are in a pyinstaller bundle 2015-01-26 16:53:59 +01:00
ThomasV 16c72d286c try to import all python dependencies from the main script 2015-01-26 14:14:16 +01:00
ThomasV 4ce699bf25 disable key import in all bip32 wallet classes; users should create an ImportedWallet 2015-01-23 13:54:33 +01:00
ThomasV 84fc4574d6 add password when creating imported wallet 2015-01-23 00:06:17 +01:00
ThomasV 2b42f054a9 rename SEED_PREFIX constant 2015-01-21 23:49:31 +01:00
ThomasV 906e0ecd14 rename SEED_PREFIX constant 2015-01-21 23:43:26 +01:00
ThomasV 8863b6f294 remove remaining instances of op_return type 2015-01-18 17:23:21 +01:00
dabura667 d166927fd0 Change type to 'script' and remove OP_RETURN 2015-01-19 01:03:46 +09:00
dabura667 b741dd89ca Added arbitrary outputs
write your own output scripts should you be so inclined.
2015-01-18 02:37:44 +09:00
ThomasV 9a6d98f899 display and encode only hex with OP_RETURN 2015-01-15 17:55:10 +01:00
ThomasV 9285074f00 fix typo 2015-01-11 20:38:48 +01:00
ThomasV 0f5ab4c296 add ismine command. should fix issue #975 2015-01-11 20:37:08 +01:00
Charles Lehner 6d2d53b43f Move root_name to parent class 2015-01-11 13:58:03 -05:00
ThomasV 5262d6ae73 remove wrong test 2015-01-06 18:19:00 +01:00
ThomasV af7d94d081 Merge pull request #939 from Tafelpoot/daemon2
Fix Daemon on Windows
2015-01-06 13:15:33 +01:00
ThomasV da968b60e4 drop support for multiple accounts (bip44) in standard wallets 2015-01-05 00:33:10 +01:00
ThomasV 9f9bab6cf0 fix issue #968 2014-12-31 19:21:54 +01:00
ThomasV 52e9c0b498 fix createrawtransaction, using extended serialization format 2014-12-29 20:26:00 +01:00