Commit Graph

147 Commits

Author SHA1 Message Date
ThomasV
a36b1d701c this is unneeded, new_windos already is a hook 2015-09-03 08:22:12 +02:00
ThomasV
e80870a9b0 fix syntax error 2015-09-03 08:15:39 +02:00
ThomasV
26ab5519b2 remove unwanted for loop in plugin hook 2015-09-03 08:14:42 +02:00
Neil Booth
2c67de8f64 Fix a couple of bugs. 2015-09-03 10:42:42 +09:00
Neil Booth
f2fb856f1c Exchange rate plugin fixes for multiple windows
This should be enough to keep everything working that was working
before.  The plugin itself needs a lot more work to fix existing
bugs and be sane.
2015-09-02 20:40:55 +09:00
Neil Booth
5be16ad5ca Clean up exchange handling in FX plugin 2015-09-02 18:53:23 +09:00
Neil Booth
a5e0265010 Make exchange rate plugin a network thread job
This fixes a lot of thread error noise when closing down electrum.
2015-08-31 20:33:39 +09:00
Neil Booth
f5a8da43e9 Have fields update as exchange rates do
Currently the exchange rates plugin shows the converted
rate at the time of last user input.  If the fx rate
changes the send and receive tabs do not update.

This makes them update.  It also means that when enabling
the plugin, if the user had input a BTC amount in the send
or receive, the other fields will refresh.  This didn't
used to happen - they stayed blank.
2015-08-31 20:14:44 +09:00
ThomasV
486d181b0b fix for #1408 exchange rates plugin 2015-08-23 19:22:52 +02:00
ThomasV
2515fc9b6a use blue color to denote auto-filled values (fee, exchange rates plugin) 2015-08-06 12:56:48 +02:00
Neil Booth
aa6de86c27 Once a user inputs a fee, retain it.
It has long been a minor annoyance that this isn't the
default behaviour.  Semantics are as follows:

- Fees are calculated automatically, as usual, and shown
  in black
- If the user inputs a fee, it is retained, and shown in
  blue to indicate it is user-overridden
- The user can switch back to automatic fee calculation mode
  in two ways: press Clear, or blank out the fee field
- User fees are also cleared by do_clear(), for instance when
  the payment is sent

I have checked all usage combinations I could think of, including
the ! case, and all work in a sensible and natural fashion.

This also fixes issue #995.
2015-07-03 20:14:12 +09:00
ThomasV
f70a996619 fix trezor initialiation hook (pass window in load_wallet) 2015-06-09 09:58:40 +02: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
8f98ea4aca make plugins available without the GUI 2015-05-23 10:38:19 +02:00
ThomasV
617fb36b06 minor fix: index 2015-05-02 11:21:19 +02:00
ThomasV
afa814a444 small fix exchange_rates 2015-05-02 11:08:35 +02:00
pooler
bc95b0b4db Fix variable reference in Exchange Rates plugin 2015-04-30 19:41:33 +02:00
ThomasV
30b189f68a fix #1179 2015-04-30 18:04:27 +02:00
ThomasV
77648c284f exchange_rates: use requests module 2015-04-28 06:28:20 +02:00
ThomasV
2bec9711cc decimal.Decimal -> Decimal 2015-04-28 04:50:41 +02:00
ThomasV
576e9be02b exchange_rates: more simplifications 2015-04-28 04:42:25 +02:00
ThomasV
4f3dd51885 factorize more 2015-04-28 04:24:10 +02:00
ThomasV
0b0fb45f62 exchange rates: factorize getter functions 2015-04-28 03:55:55 +02:00
ThomasV
a42743ca2d always request exchange rates over https 2015-04-28 03:28:43 +02:00
ThomasV
89338fa7bd revert 0cd63d19f4 2015-04-23 17:58:29 +02:00
ThomasV
dd6fd46913 set daemon thread in exchange rates plugin 2015-04-23 17:43:18 +02:00
ThomasV
b9537b0885 Merge pull request #1152 from chiguireitor/master
Fixed a missing import in exchange_rate.py that caused program hangs and...
2015-04-23 17:40:10 +02:00
John Miguel Villar Zavatti
0cd63d19f4 Fixed a missing import in exchange_rate.py that caused program hangs and wallet corruption
Signed-off-by: John Miguel Villar Zavatti <johnvillarzavatti@gmail.com>
2015-04-23 11:05:55 -04:30
ThomasV
697d8b7750 follow up 8e415d0f2a 2015-04-20 12:16:42 +02:00
ThomasV
8e415d0f2a exchange_rates plugin: hide widgets on close 2015-04-20 01:27:17 +02:00
ThomasV
d70c9d1ab7 stretch column instead of storing width 2015-04-02 17:45:44 +02:00
ThomasV
ec11e58add handle pruning in wallet.txi/txo 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
38e4eeef95 add rate conversion to receive tab 2015-03-14 19:47:57 +01:00
ThomasV
44b44279e7 import SSLError 2015-02-27 23:10:45 +01:00
ThomasV
bc3013caf0 fix exchange_rate plugin behavior when typing amounts 2015-02-27 21:13:17 +01:00
ThomasV
f302c90649 set self.wallet to None in plugin constructor 2015-02-17 11:39:06 +01:00
John Miguel Villar Zavatti
ea4bf4e91f * Added BTCParalelo price index for Venezuelan Bolivar VEF
* Fixed all of the update_* functions on the exchange_rate.py plugin to indicate when there are SSL errors, there was a horrorous try-except-pass block that was drowning all the exceptions
* Added get_json_insecure to allow exchange rates over HTTP

Signed-off-by: John Miguel Villar Zavatti <johnvillarzavatti@gmail.com>
2015-02-16 15:24:26 -04:30
wozz
29cf811858 Fix currency type for bitcoinvenezuela history
update exchange rate history for bitcoinvenezuela exchange
2014-11-23 14:41:20 -05:00
Gergely Imreh
3c3d064cad Fix "Invalid Fee" issue when start with fiat in send (exchange rate plugin)
Problem:

Using the exchange rate plugin in the send dialog one can start with
entering a fiat amount, e.g. 5 USD, and the BTC amount is updated,
but no fee is calculated.

In this case can get "Invalid fee" error until the BTC amount is
touched manually and fee is calculated. This can cause confusion
when "set transaction fees manually" is disabled.

Reproducing:

* enable exchange rate plugin
* start Electrum
* in send dialog fill out any receive address
* add a value (e.g. 5) into the fiat dialog and see the BTC value filled out
* fee is not filled out, or if disabled the manual transaction fees then directly
  get "Invalid Fee" error

Expectation:

* Fees are calculated just as it would be by filling out the BTC field

Fix:

Fixed by triggering a fee setting the same way as it is done when
the BTC field is edited, by calling `textEdited.emit("")` of the relevant
`BTCAmountEdit` element. One problematic  thing is that this also triggers
a change on the fiat we just edited, and thus cursor positions need to be saved
and restored. This is not ideal, there should be a way to avoid such cascades
and trigger fee calculation directly instead of by proxy.

Editing the fiat field with these changes is more or less okay, there can be
some strange steps when the decimal point is edited, but IMHO not worse
than the BTC field when the decimal point is edited there.
2014-09-30 11:28:42 +08:00
ThomasV
fd1f083958 simplify names 2014-09-19 13:48:49 +02:00
ThomasV
6cd00eb36b request history rates asynchronously 2014-09-19 13:36:30 +02:00
Michael Wozniak
a996659225 Update itbit/coindesk exchange rate api
itbit/coindesk exchange rate requires separate API calls per currency
Moved the calls to when the exchange rate plugin updates and when the
user modifies a selection instead of every time the program needs to
query the current exchange rate

This fixes an issue with slow response time in the send tab with the
exchange rate plugin turned on and set to coindesk or itbit
2014-09-05 19:58:54 -04:00
ThomasV
caf4adff49 add missing @hook in exch plugin 2014-09-05 19:43:27 +02:00
ThomasV
6101abda5d call init_qt everytime a plugin is enabled 2014-09-04 15:45:03 +02:00
ThomasV
79588eb4da init plugins before gui. register wallet types in plugin constructor 2014-08-31 15:33:20 +02:00
ThomasV
a3790372d8 @hook decorator for plugins 2014-08-31 11:42:40 +02:00
Michael Wozniak
27ddfcdd36 Add itbit exchange to exchange rate plugin 2014-07-26 13:58:55 -04:00
Michael Wozniak
9ae30533ca update historical winkdex api 2014-07-22 17:28:37 -04:00
Michael Wozniak
a72bc5a44a Update exchange rate plugin for Winkdex
updated exchange rate BTC price for Winkdex API that was officially published
2014-07-22 17:06:23 -04:00
ThomasV
f4dfec4565 define frozen signal for exchange rate plugin 2014-06-24 17:44:31 +02:00
ThomasV
f4a0a90010 catch exceptions raised by fiat amount conversion to decimal 2014-06-24 17:06:04 +02:00
ThomasV
96017fe530 fiat_e: set precision to 0.01 2014-06-11 18:20:25 +02:00
ThomasV
cff3d6ce31 exchange rate plugin: bi-directional conversion 2014-06-11 18:10:21 +02:00
ThomasV
efa35d9ec2 setAmount: convert to int 2014-06-11 15:36:40 +02:00
ThomasV
d9d76436db replace fiat dialog with direct edit line 2014-06-11 15:32:09 +02:00
ThomasV
46c2de3979 separate AmountEdit and BTCAmountEdit classes, for exchange rate plugin 2014-06-11 14:44:26 +02:00
wozz
fde8966471 Update historical exchange rate query
Update historical exchange rate query for bitcoinvenezuela to reduce extra data returned.
2014-04-28 11:03:32 -04:00
wozz
12b3a78036 Merge pull request #662 from wozz/issue-643
No longer require restart for toggle exchange rate
2014-04-22 14:42:32 -04:00
Michael Wozniak
b2a80d8522 Exchange rate update
use exchange rate value instead of string to calculate balance
2014-04-19 09:03:11 -04:00
Michael Wozniak
b7ea3c5e10 No longer require restart for toggle exchange rate
Fixes issue #643 and allows fiat button to work without restart

No logic is required because Send tab gets removed and added for every
toggle.
2014-04-17 12:48:16 -04:00
ThomasV
a92aae3306 Merge pull request #639 from toomyem/spesmilo
Added Bitcurex and Bitmarket exchanges
2014-04-01 11:18:14 +02:00
Michael Wozniak
b099930174 Update create current unix time
update method to create current unix time to be windows compatible

fix issue #640
2014-03-31 21:52:31 -04:00
Tomasz Machalski
0b8fc21db7 Added Bitcurex and Bitmarket exchanges 2014-03-31 21:02:21 +02:00
Michael Wozniak
a3b88ca3dc Exchange Rate History - Add APIs
Add API for Winkdex and BitcoinVenezuela
2014-03-30 20:39:37 -04:00
Darrin Daigle
5619859386 Streamlined code - modified two procs (get_fiat_status_text and fiat_dialog) to call exchange API only once instead of twice (as recommended by wozz). 2014-03-27 22:00:23 -05:00
Darrin Daigle
9fb7fd5803 Cleaned up Exchange Rate plugin: more efficient code and more intuitive names for the get fiat balance/price procedures. Created new procedure used for updating the fiat balance & price on the status panel. Enhancement: status panel on bottom left now shows the current BTC price (eg, 1 BTC~573.45 USD). 2014-03-27 15:30:24 -05:00
Darrin Daigle
eccb78c3e6 wrapped strings with _("string text") to enable language translation 2014-03-25 11:43:21 -05:00
Darrin Daigle
dea58fcb49 fixed issue when exchange rate not available (eg, no connection) 2014-03-24 11:06:20 -05:00
Darrin Daigle
284bcc1e5b better handling of very small fiat numbers and mBTC 2014-03-23 23:17:20 -05:00
Darrin Daigle
7bfd170ad9 check if fiat button exists on send tab before updating its caption with the newly selected fiat currency 2014-03-23 13:33:54 -05:00
Darrin Daigle
bc3bcc20dc check to see if fiat button already exists on send tab before telling user they must restart Electrum to see it 2014-03-23 12:58:42 -05:00
Darrin Daigle
669d8041e4 Add ability to specify fiat amount when sending bitcoin. 2014-03-22 23:04:06 -05:00
Michael Wozniak
e6175c6f57 fix error with Decimal in older python versions 2014-03-17 22:03:48 -04:00
Michael Wozniak
2fc3f408c8 Exception caused by tx_list not defined
I wasn't seeing this before, so I assume it could be a race condition if
the "load_wallet" function doesn't finish before the history tab is updated.
2014-03-07 23:10:36 -05:00
Michael Wozniak
f434bac45a fix bug for 0 transaction wallet
0 transaction wallet would return an error when getting transaction list
2014-03-07 22:51:58 -05:00
ThomasV
7f96001463 Merge pull request #609 from wozz/bitven
BitcoinVenezeula Rates
2014-03-06 09:44:53 +01:00
Michael Wozniak
fbbf1970b6 BitcoinVenezeula Rates
Rates are taken from CoinDesk, modified for the true blackmarket rates,
not the "government approved" rates.
2014-03-05 17:13:34 -05:00
Michael Wozniak
05027c512e exchange rate bug fix 2014-03-05 16:03:56 -05:00
Michael Wozniak
723b0e430f non blocking exchange rate API calls
clear combo box while waiting
2014-03-05 02:24:20 -05:00
Michael Wozniak
0c59b4148d Add new exchange rate options
BitcoinAverage added as new exchange rate option.

Add BitPay as new exchange rate API

Winkdex added as option for exchange rate - USD only

Cleanup exchange rate plugin

cavirtex exchange rate added

BTCChina - exchange rate
2014-03-04 23:57:32 -05:00
Michael Wozniak
3a078f507c update for new transactions with exchange plugin
new transactions aren't already loaded to the wallet when the update is
run. this catches the exception and gets the transaction value
2014-03-02 22:18:26 -05:00
Michael Wozniak
f9a52684e3 Add history fiat tx value for exchange plugin
Added coindesk BPI rate calculation for transaction values in history.

Coindesk currently only provides this functionality for USD, so it is
only available when the Coindesk and USD combination has been
selected.
2014-03-02 21:08:46 -05:00
Michael Wozniak
c582194bdc Add Coinbase exchange rate option
Add Coinbase exchange rate option in exchange rate plugin
2014-03-02 15:34:38 -05:00
Michael Wozniak
501996c145 add ok button for currencies
also update the currency list when changing exchanges.  defaults to
first in list if current selected currency is not available on the other
exchange
2014-03-02 15:07:09 -05:00
Michael Wozniak
fd6c6f209a Set default exchange to Blockchain.info
set default exchange to Blockchain.info, which will force the config to
be updated if the exchange is changed.
2014-03-02 12:37:14 -05:00
Michael Wozniak
d30fb5c473 Add CoinDesk BPI for exchange rate
Add CoinDesk BPI for exchange rate options. Choose between blockchain
and coindesk on the plugin settings page.
2014-03-01 11:40:07 -05:00
ThomasV
2112129703 fix space 2013-12-14 07:53:25 +01:00
ThomasV
4f78b5365b exchange rate plugin: keep thread running (fixes #494) 2013-12-14 07:49:21 +01:00
Bryan Stitt
6cd4ed486a fix more bare excepts 2013-11-10 12:30:57 -08:00
ThomasV
d70087a0f5 handle plugin dependency 2013-10-16 14:11:28 +02:00
ThomasV
87a8bfda47 plugins settings widget 2013-10-08 11:38:40 +02:00
Maran
818d53fce2 Remove log statement from Exchange rate plugin 2013-09-30 16:55:16 +02:00
ThomasV
6644fcc22e move lite window initialization in the constructor of the main window 2013-09-28 11:21:25 +02:00
ThomasV
7c4d7dc327 fix conversion in exchange rate plugin 2013-09-27 13:14:49 +02:00
ThomasV
2c0814f0d3 simplify gui names 2013-09-24 10:06:03 +02:00
ThomasV
404c1f84d2 generalize plugins to all guis 2013-09-24 08:47:04 +02:00