Commit Graph

167 Commits (deepcrayon)

Author SHA1 Message Date
jebba 7ba8d7f143 s/github/spacecruft 2021-04-05 12:59:11 -06:00
Martin Boehm 8f3106d009 Return filtered token balance in case of an empty account #566 2021-03-04 16:17:47 +01:00
Martin Boehm 7e54336e0c Return info about backend in websocket getInfo request 2021-01-21 10:31:04 +01:00
Martin Boehm fc267ed2f4 Return for mempool transactions coinSpecificData #522 2020-12-04 11:57:11 +01:00
hewigovens 5534372e7c
[Zcash] Expose zcash consensus info (#508) 2020-11-12 19:56:41 +01:00
Martin Boehm fc25200ff8 Fix ineffassign errors 2020-11-12 15:41:51 +01:00
Martin Boehm 17c9080135 Include eth transactions in unknown status into balance history 2020-07-30 16:02:08 +02:00
Martin Boehm 994567aed9 Add fee value to unspent transactions balance 2020-05-26 23:21:25 +02:00
Martin Boehm 0a3ea6e225 Send websocket notification on new tx for input addresses 2020-05-24 17:58:29 +02:00
Martin Boehm 01d8e48e73 Unconfirmed eth balance not being updated #408 2020-05-21 18:05:16 +02:00
Martin Boehm ff607bc334 Check ERC20 contract balance if no transactions were done for address 2020-05-21 18:05:16 +02:00
Martin Boehm dd2dc6b2ee Add sentToSelf to BalanceHistory 2020-05-21 18:05:16 +02:00
Martin Boehm ee3217aba8 Use common.JSONNumber instead of json.Number 2020-05-10 00:14:14 +02:00
hewigovens 3ba7289587 Add data field to EthereumSpecific 2020-05-09 21:43:33 +02:00
David Hill 13527bda06 build: go module support 2020-03-05 11:54:42 -05:00
Martin Boehm fd4181d03f Alter logging of a possible db inconsitency in addresses column 2020-02-24 23:11:46 +01:00
Martin Boehm 273b880245 Add load address by serialized address descriptor 2020-02-24 23:11:46 +01:00
Vladyslav Burzakovskyy 82debaa50e balanceHistory: remove empty currencies from the list, fix typo 2020-01-28 12:48:40 +01:00
Martin Boehm 95ac05b280 Improve error logging related to utxo requests 2020-01-22 16:38:29 +01:00
Vladyslav Burzakovskyy f0ccab3e01 getFiatRatesForTimestamps: remove empty currencies from the currency slice 2020-01-22 15:26:12 +01:00
Vladyslav Burzakovskyy 4b63b483e4 fiatRates: always return rates as a map, even if the ticker is unavailable 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 4b564510e0 balanceHistory: return all currencies if the "currency" parameter is empty 2020-01-22 15:26:12 +01:00
Vladyslav Burzakovskyy 171b7f9b9d balanceHistory: accept a list of currencies, update tests 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 729c35334a worker.go: use the correct data timestamp for getFiatRatesTickersList 2020-01-22 15:26:12 +01:00
Vladyslav Burzakovskyy 918e032bfe balanceHistory: add "groupBy" parameter 2020-01-08 17:57:47 +01:00
Vladyslav Burzakovskyy 9cec5424e7 fiatRates: fields to camelCase, update output format and tests 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 bef572c494 FiatRates: store rates as float64 instead of json.Number 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 1ed7b3f2d9 Fix repeated utxos (unconfirmed and confirmed) #275 2020-01-03 11:53:49 +01:00
Martin Boehm 225ac85a2a Add optional fiat rate to balance history 2019-12-18 00:02:24 +01:00
Martin Boehm 0340cef13c Fix linting errors 2019-12-17 15:37:09 +01:00
Martin Boehm 15e2c0bf41 Add websocket method getBalanceHistory 2019-12-17 14:37:24 +01:00
Martin Boehm 1cec22ecba Merge branch 'master' into balanceHistory 2019-12-17 11:52:33 +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 6f294a6241 Add get balance history for ethereum type coins 2019-12-10 21:08:27 +01:00
Martin Boehm c913a022ef Add get balance history for xpub 2019-12-03 16:02:20 +01:00
Martin Boehm 62208b9634 Add aggregation to balance history 2019-11-29 19:26:20 +01:00
Martin Boehm bf3d822b87 Add filter from-to to balance history 2019-11-25 18:34:33 +01:00
Martin Boehm 6cfb881a04 Add GetBalanceHistory for an address of bitcoin type 2019-11-04 10:55:00 +01:00
Martin Boehm 1c192f6d0b Fix invalid BlockHeight for unconfirmed transactions #301 2019-10-09 14:49:06 +02:00
Martin Boehm 3a8da67752 Fix linting errors 2019-08-21 23:11:50 +02:00
Vladyslav Burzakovskyy 4224aab5f2 Implement the "feestats" endpoint (#250) 2019-08-07 13:13:45 +02:00
Martin Boehm d01fc3d914 Detect RBF transactions in explorer and API #237 2019-07-30 16:43:13 +02:00
Martin Boehm 39f2c73f3e Add coinbase flag (boolean) to UTXO response #236 2019-07-23 12:52:18 +02:00
Martin Boehm 104f6f9a9d Add boolean flag isAddress vin and vout in API #209 2019-06-19 14:16:06 +02:00
Martin Boehm 701348c96d Remove hardcoded xpub length #203 2019-06-17 18:43:13 +02:00
Martin Boehm 34e5599362 Try to reconnect ethereum RPC in case of network failure 2019-06-10 13:48:46 +02:00