Commit Graph

30 Commits (deepcrayon)

Author SHA1 Message Date
kaladin 1f6cddd4ab
Websocket new transaction (#574) 2021-03-21 21:55:25 +01:00
Martin Boehm e60c320ae7 Allow parameters value, gasPrice and gas to be passed to ETH estimateFee 2020-05-21 18:05:16 +02:00
Vladyslav Burzakovskyy 357ad63bde test-websocket.html: remove debug log :) 2020-01-22 15:26:12 +01:00
Vladyslav Burzakovskyy 4ca66f3b1d fiatRates: accept an array of strings everywhere and return all available rates if it's empty 2020-01-22 15:26:12 +01:00
Vladyslav Burzakovskyy 8ea853c388 balanceHistory: fix currencies list and update placeholders in test-websocket.html 2020-01-22 15:26:12 +01:00
Vladyslav Burzakovskyy 6f06b549df balanceHistory: accept Unix timestamps instead of a date string 2020-01-22 15:26:12 +01:00
Vladyslav Burzakovskyy 7f992e9eb8 test-websocket.html: add "groupBy" parameter to getBalanceHistory 2020-01-08 17:57:47 +01:00
Vladyslav Burzakovskyy c58b1538d6 fiatRates: timestamps as int64, errors as -1, update field names and tests 2020-01-08 17:57:47 +01:00
Vladyslav Burzakovskyy 14c64410f7 FiatRates: change input & output time values to Unix timestamps
make currency parameter optional, return all rates if it's empty

update tests
2020-01-08 17:57:47 +01:00
Martin Boehm 225ac85a2a Add optional fiat rate to balance history 2019-12-18 00:02:24 +01:00
Martin Boehm 15e2c0bf41 Add websocket method getBalanceHistory 2019-12-17 14:37:24 +01:00
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 4ba0769433 Add "ping" message to the websocket interface #238 2019-07-19 14:59:03 +02:00
Martin Boehm bf461d0737 Add "gap" parameter to websocket "getAccountInfo" method #206 2019-06-18 12:21:22 +02:00
Martin Boehm bd89ab8256 Add getTransactionSpecific to websocket interface 2019-03-01 15:37:38 +01:00
Martin Boehm 1c35c632cb Add tokens to return level choice to websocket interface 2019-03-01 15:25:16 +01:00
Martin Boehm 7b590d9958 Unify AccountDetails levels in GetAccount and GetXpub api calls 2019-02-28 15:07:07 +01:00
Martin Boehm 4846af9f60 Control token detail level returned by xpub api 2019-02-12 15:15:10 +01:00
Martin Boehm f3cbd5e20e Cleanup the test-websocket page 2019-01-21 10:05:44 +01:00
Martin Boehm 9af314f7aa Add websocket method getTransaction 2019-01-16 16:10:30 +01:00
Martin Boehm 1c29283bf0 Add getAccountUtxo method to websocket interface 2019-01-14 17:12:33 +01:00
Martin Boehm 1e8506bdf7 Add websocket method getBlockHash 2019-01-04 16:10:24 +01:00
Martin Boehm bab500d3f8 Notify on mempool erc20 transfer transaction 2018-12-19 10:06:25 +01:00
Martin Boehm 7edea80209 Add estimateFee method to websocket interface 2018-12-18 09:52:46 +01:00
Martin Boehm f332c0aa9e Add getInfo websocket method 2018-12-16 00:26:41 +01:00
Martin Boehm a04b2b67b5 Filter address transactions by height from-to and contract 2018-12-14 16:42:35 +01:00
Martin Boehm d01081fd83 Allow websocket connections from all origins 2018-12-11 12:14:05 +01:00
Martin Boehm 4b39519750 Change websocket address subscription behavior 2018-12-11 11:50:43 +01:00
Martin Boehm 13f7b48ae6 Add websocket interface 2018-12-10 17:22:37 +01:00
Martin Boehm 75e2ffa025 Add websocket implementation WIP 2018-12-10 00:26:04 +01:00