Commit Graph

31 Commits (f6111af5da2621d4167ba197dcc011388ac2cbaf)

Author SHA1 Message Date
Vladyslav Burzakovskyy f6111af5da Add fiat rates functionality (#316)
* Add initial commit for fiat rates functionality

* templates.go: use bash from current user's environment

* bitcoinrpc.go: add FiatRates and FiatRatesParams to config

* blockbook.go: add initFiatRatesDownloader kickoff

* bitcoin.json: add coingecko API URL

* rockdb.go: add FindTicker and StoreTicker functions

* rocksdb_test.go: add a simple test for storing and getting FiatRate tickers

* rocksdb: add FindLastTicker and convertDate, make FindTicker return strings

* rocksdb: add ConvertDate function and CoinGeckoTicker struct, update tests

* blockbook.go, fiat: finalize the CoinGecko downloader

* coingecko.go: do not stop syncing when encountered an error

* rocksdb_test: fix the exported function name

* worker.go: make getBlockInfoFromBlockID a public function

* public.go: apiTickers kickoff

* rocksdb_test: fix the unittest comment

* coingecko.go: update comments

* blockbook.go, fiat: reword CoinGecko -> FiatRates, fix binary search upper bound, remove assignment of goroutine call result

* rename coingecko -> fiat_rates

* fiat_rates: export only the necessary methods

* blockbook.go: update log message

* bitcoinrpc.go: remove fiatRates settings

* use CurrencyRatesTicker structure everywhere, fix time format string, update tests, use UTC time

* add /api/v2/tickers tests, store rates as strings (json.Number)

* fiat_rates: add more tests, metrics and tickers-list endpoint, make the "currency" parameter mandatory

* public, worker: move FiatRates API logic to worker.go

* fiat_rates: add a future date test, fix comments, add more checks, store time as a pointer

* rocksdb_test: remove unneeded code

* fiat_rates: add a "ping" call to check server availability

* fiat_rates: do not return empty ticker, return nil instead if not found

add a test for non-existent ticker

* rocksdb_test: remove Sleep from tests

* worker.go: do not propagate all API errors to the client

* move InitTestFiatRates from rocksdb.go to public_test.go

* public.go: fix FiatRatesFindLastTicker result check

* fiat_rates: mock API server responses

* remove commented-out code

* fiat_rates: add comment explaining what periodSeconds attribute is used for

* websocket.go: implement fiatRates websocket endpoints & add tests

* fiatRates: add getFiatRatesTickersList websocket endpoint & test

* fiatRates: make websocket getFiatRatesByDate accept an array of dates, add more tests

* fiatRates: remove getFiatRatesForBlockID from websocket endpoints

* fiatRates: remove "if test", use custom startTime instead

Update tests and mock data

* fiatRates: finalize websocket functionality

add "date" parameter to TickerList

return data timestamps where needed

fix sync bugs (nil timestamp, duplicate save)

* fiatRates: add FiatRates configs for different coins

* worker.go: make GetBlockInfoFromBlockID private again

* fiatRates: wait & retry on errors, remove Ping function

* websocket.go: remove incorrect comment

* fiatRates: move coingecko-related code to a separate file, use interface

* fiatRates: if the new rates are the same as previous, try five more times, and only then store them

* coingecko: fix getting actual rates, add a timestamp parameter to get uncached responses

* vertcoin_testnet.json: remove fiat rates parameters

* fiat_rates: add timestamp to log message about skipping the repeating rates
2019-12-17 10:40:02 +01:00
Martin Boehm eb4f049912 Fix version in Zcash and Zcash-testnet configs 2019-11-13 13:43:06 +01:00
Mykola bd0848dbbe Return to release tag 2.0.1-1 2019-11-13 11:19:21 +01:00
Mykola ff415ae394 Fix release number 2019-11-13 11:19:21 +01:00
Mykola 42a208be15 zcash (+testnet): Bump backend 2.0.7-3 -> 2.1.0-1 2019-11-13 11:19:21 +01:00
Jan Hrnko d3931953d5 zcash (+testnet): Bump backend 2.0.7-2 -> 2.0.7-3 2019-09-26 12:48:01 +02:00
JoHnY 1d1b02388d zcash (+testnet): Bump backend 2.0.7 -> 2.0.7-2 (#285)
* Bump zcash backend to 2.0.7

* zcash (+testnet): Bump backend 2.0.5-2 -> 2.0.7

* zcash (+testnet): Bump backend 2.0.7 -> 2.0.7-2

* zcash (+testnet): Bump backend 2.0.7 -> 2.0.7-2
2019-09-04 12:57:53 +02:00
JoHnY 5431b19cef Bump zcash backend to 2.0.7 (#273)
* Bump zcash backend to 2.0.7

* zcash (+testnet): Bump backend 2.0.5-2 -> 2.0.7
2019-08-28 14:14:47 +02:00
Martin Boehm 942c95add8 Update coin configs 2019-05-27 12:24:24 +02:00
JoHnY 0316ead232 bump zcash backend 2.0.4 -> 2.0.5-2 (#186)
* bump zcash backend 2.0.4 -> 2.0.5-2

* bump zcash_testnet backend 2.0.4 -> 2.0.5-2
2019-05-27 11:55:48 +02:00
Petr Kracík 0bfe1d5558 Bump ZCash backend version to 2.0.4 2019-03-28 11:12:53 +01:00
Martin Boehm dda96b4a8f Merge branch 'xpub' 2019-03-01 11:12:40 +01:00
Petr Kracík d41adf0a4e Bump zcash backend to 2.0.3 2019-02-14 11:30:09 +01:00
Martin Boehm 64c8ae9a62 Estimate full derivation path from xpub 2019-02-05 20:47:54 +01:00
Martin Boehm dafe19cf29 Synchronize xpub magic numbers from trezor-common 2019-01-28 13:34:43 +01:00
Petr Kracík 20b12f6100 Bump ZCash to 2.0.2 2018-12-05 10:59:51 +01:00
Martin Boehm e7e324a235 Bump zcash backend to 2.0.1 2018-10-16 12:37:07 +02:00
Jakub Matys 5d44ff33ff Generates backend server config (with rpcauth) and client config 2018-10-15 12:51:04 +02:00
Jakub Matys bf266c0db8 Merge branch 'integration-tests-upgrade-2' into v0.0.7 2018-10-01 14:34:34 +02:00
Jakub Matys f9e5092f82 Merge branch 'v0.0.7' into integration-tests-upgrade 2018-10-01 12:47:42 +02:00
Martin Boehm 8ad6d1d52c Remove /explorer part from URL, blockbook status with external explorer 2018-09-20 22:07:42 +02:00
Jakub Matys 5754523317 WIP: sync integration tests 2018-09-20 09:39:13 +02:00
Jakub Matys 0bfa1fa1b9 Bump Zcash backend (mainnet) version to 2.0.0 2018-09-12 14:15:51 +02:00
Jakub Matys b5d1e5c94e Integration tests are defined declaratively with single implementation 2018-09-11 16:38:39 +02:00
Martin Boehm 402eb92c5e Use internal explorer for bcash and zcash 2018-09-11 16:10:59 +02:00
Jakub Matys a636a3197d Added additional params template for backend service 2018-07-31 10:30:11 +02:00
Jakub Matys c71de0a696 Unified addresses in IPC section 2018-07-27 12:10:01 +02:00
Jakub Matys f9b21b4192 Changed structure of config files 2018-07-27 11:56:16 +02:00
Jakub Matys 7f52de3b65 Upgraded BlockChain configuration 2018-07-26 16:50:06 +02:00
Jakub Matys a573922bc1 Added templates for blockbook package 2018-07-26 12:49:57 +02:00
Jakub Matys d2a83351f0 Added templates for backend package 2018-07-26 11:46:44 +02:00