Commit Graph

590 Commits

Author SHA1 Message Date
Martin Boehm
f5b179d5c2 Fix ERC1155 transfer event processing 2023-02-01 17:58:37 +01:00
Pavol Rusnak
34499406cf Simplify comparisons
len(byte[][]) is defined as zero when the value is nil
2023-02-01 17:58:37 +01:00
Pavol Rusnak
e87ffec75c Don't use break in switch where it's not needed 2023-02-01 17:58:37 +01:00
Martin Boehm
96a09cf478 Setup fiat rates downloader for Ethereum Archive 2023-02-01 17:58:37 +01:00
Martin Boehm
db91824dc3 Store contract info in DB 2023-02-01 17:58:37 +01:00
Martin Boehm
8bdc3da694 Return address aliases from API 2023-02-01 17:58:37 +01:00
Martin Boehm
77561e3567 Process ENS records 2023-02-01 17:58:37 +01:00
Martin Boehm
6fdf6e297c Parse ethereum input data 2023-02-01 17:58:37 +01:00
Martin Boehm
f57bd2e6c3 Download ETH 4byte signatures 2023-02-01 17:58:37 +01:00
Martin Boehm
72e0ac23bc Return internal data and ERC721 and ERC1155 tokens from API and explorer 2023-02-01 17:58:37 +01:00
Martin Boehm
9a0790a71d Process ERC721 and ERC1155 tokens 2023-02-01 17:58:37 +01:00
Martin Boehm
45a53e41a1 Process ETH transaction failure reasons 2023-02-01 17:58:37 +01:00
Martin Boehm
91031715f7 Bulk import ETH internal transactions 2023-02-01 17:58:37 +01:00
Martin Boehm
e3bb706ea2 Index ETH internal transactions 2023-02-01 17:58:37 +01:00
Martin Boehm
c374ef86fd Update types in preparation for eth internal transactions,
bump dbVersion to 6
2023-02-01 17:58:37 +01:00
Martin Boehm
5818ce8aa2 Ethereum: process call trace to extract internal transactions 2023-02-01 17:58:37 +01:00
CodeFace
401740a8b5 bump Qtum 22.1 2022-06-09 12:46:01 +02:00
Martin Boehm
1e68493371 Litecoin: Change serialization of tx in cache, #770
It is necessary to remove all transactions from the cache DB column
using command like
`/opt/coins/blockbook/litecoin/bin/ldb --db=/opt/coins/data/litecoin/blockbook/db --hex --column_family=transactions deleterange 0x00 0xffffffffffffffffffff`
or do full db resync. The old data in the transaction cache are not compatible.
2022-05-22 17:08:40 +02:00
Martin Boehm
b9e3cf8c9b Litecoin: Fix tx parsing related changes in backend 0.21.2, #770 2022-05-22 12:05:39 +02:00
Martin Boehm
a22bf37788 Litecoin: Adapt to MWEB related changes in backend 0.21.2, #770 2022-05-21 13:09:44 +02:00
Jeremy Anderson
e49942dab3
Rebrand Zelcash to Flux (#747) 2022-04-01 23:30:24 +02:00
Pierre K
6ca53f69f5
add support for eCash (#731) 2022-03-23 10:01:55 +01:00
Martin Boehm
a282cde045 Fix format 2022-03-06 21:27:52 +01:00
Martin Boehm
93ea126123 Add get raw block API request #736 2022-03-04 17:26:13 +01:00
gruve-p
18b9104381 feat: add groestlcoin signet mode 2022-01-04 15:23:42 +01:00
gruve-p
6a9852c463 feat: add groestlcoin regtest mode 2021-12-13 23:06:14 +01:00
Martin Boehm
e143215288 Fix linting issues 2021-11-28 21:27:16 +01:00
wakiyamap
ae4cb2fb64 Use chaincfg params(signet) 2021-11-19 00:28:49 +01:00
Martin Boehm
e500d6873d Parse xpub descriptors 2021-11-10 00:32:11 +01:00
Martin Boehm
c4128e5c9c Handle taproot xpub descriptors 2021-11-10 00:32:11 +01:00
Martin Boehm
ba75e60950 Handle Bitcoin taproot addresses 2021-11-10 00:32:11 +01:00
Ara
6bbb81ec10 Support for Firo ProgPow blocks 2021-11-04 00:05:57 +01:00
FujiCoin
77c205afa0
fujicoin → v22.0 (#679) 2021-10-15 09:39:11 +02:00
gruve-p
3b77f4e18e
Bump GRS to 22.0 (#671) 2021-10-12 09:09:45 +02:00
matyushkins
fed171b05a Decred Insecure Skip Verify and skip block height 0 2021-09-23 13:20:19 +02:00
Martin Boehm
eae9b6b613 Handle Bitcoin vout addresses after upgrade to bitcoind 22.0.0
It was necessary to split the composition chain in other coins
from BitcoinParser to BitcoinLikeParser to keep backwards compatibility
2021-09-21 23:59:20 +02:00
nhaus12
7847f7c2ad
feat: Dogecoin testnet support (#650)
* feat: Dogecoin testnet address/script parsing

* test: Dogecoin testnet address/script parsing

* test: Dogecoin testnet transaction packing/unpacking

* test: Dogecoin testnet block parsing

* chore: Dogecoin testnet config file

* test: Dogecoin testnet integration rpc (initial)

* fix: run backend as REST

* fix: Dogecoin testnet in BlockChainFactories

* test: Dogecoin testnet integration sync

* docs: Dogecoin testnet port numbers
2021-08-12 22:22:05 +02:00
vdovhanych
51d10bccd2 feat: add bitcoin regtest support 2021-07-30 11:04:54 +02:00
hewigovens
787432906d
[Dash] Upgrade Dash core to v0.17.0.3 & enable estimatesmartfee (#638)
* enable estimate smart fee

* remove EstimateFee for dash
2021-07-22 17:52:11 +02:00
Martin Boehm
f0fe08a054 Make parsing of ETH numeric properties more robust #623 2021-06-02 16:51:56 +02:00
Martin Boehm
538ff0cdcb Handle OP_RETURN OP_PUSHDATA2 type output 2021-05-21 00:24:57 +02:00
FujiCoin
02369a9cce OP_RETURN: upgrade to utf8 (#583)
Co-authored-by: motty <admin@fujicoin.org>
2021-05-21 00:24:57 +02:00
Martin Boehm
0ae8ba57a2 Update for geth version 1.10
- remove workaround for to low maxRequestContentLength
- stop using obsolete eth_protocolVersion RPC call
2021-03-09 11:37:35 +01:00
Yusaku Senga
5fdc26bc14
feat: Support Ethereum Goerli testnet (#550) 2021-01-21 21:39:37 +01:00
Martin Boehm
d992369426 Fix linting issues 2021-01-21 10:29:25 +01:00
David Hill
d97b5e14e8
Update Decred (#385)
Co-authored-by: Martin <martin.boehm@1mbsoftware.net>
2021-01-21 09:25:07 +01:00
Martin Kuvandzhiev
295b630ec8
Adding Bitcoin Gold Testnet to the configurations (#532)
Co-authored-by: Martin <martin.boehm@1mbsoftware.net>
2020-12-29 23:19:53 +01:00
Peter John Bushnell
bb9fce02cb
Add Trezarcoin (TZC) (#423)
Co-authored-by: Martin <martin.boehm@1mbsoftware.net>
2020-12-29 01:39:37 +01:00
Jin Eguchi
077e637093
add bitcoin-signet (#533) 2020-12-29 00:47:50 +01:00
araarakelyan1985
15b88ef23d
Rebranding from Zcoin to Firo (#538) 2020-12-28 23:38:56 +01:00
Martin Boehm
636167c72a Store to txcache old eth transactions without status 2020-12-04 11:57:11 +01:00
Martin Boehm
576b8b57b7 Upgrade to go 1.15.6, rocksdb 6.13.3 and other dependecies 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
a1993173ab
Go ethereum v1.9.20 (#482) issue #481
Handle different behavior of geth from v1.9.15
Bump go-ethereum dependecy to v1.9.20
2020-09-03 10:11:37 +02:00
Panu
79907e7aa5
Update Zcoin transaction parser and bump binary version (#466) 2020-08-20 10:23:23 +02:00
Martin Boehm
17c9080135 Include eth transactions in unknown status into balance history 2020-07-30 16:02:08 +02:00
Martin Boehm
dd7964297d Suppress logging of MQ errors 2020-05-24 19:18:23 +02:00
Martin Boehm
0a3ea6e225 Send websocket notification on new tx for input addresses 2020-05-24 17:58:29 +02:00
Martin Boehm
e60c320ae7 Allow parameters value, gasPrice and gas to be passed to ETH estimateFee 2020-05-21 18:05:16 +02:00
Adam Collier
3ebe99edb2
Add support for DigiByte Testnet (#432) 2020-05-19 23:58:46 +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
Martin Boehm
997fa661e7 Merge branch 'master' into gomod 2020-05-09 01:50:51 +02:00
Martin Boehm
8a926a0799 Merge branch 'master' of github.com:trezor/blockbook 2020-05-02 17:25:10 +02:00
Martin Boehm
828e10b629 Parsing of ERC20 name, symbol and decimals in different format #400 2020-05-02 17:24:56 +02:00
Scotty0448
7eb4675f54 Update Ravencoin support 2020-04-16 09:55:34 +02:00
ciripel
124dee84fa
SnowGem Support (#342)
* SnowGem Support

* changed bynary_url to debian9.11 source
The Debian Source contain also the fetch_params.sh

* changed sha256 source

* Fix integration tests config file after merge

* Implemented snowgem parser

* fixed paxkedTx

* Fixed testdata tx hex

Co-authored-by: Martin <martin.boehm@1mbsoftware.net>
2020-04-11 16:34:37 +02:00
Martin Boehm
c43a7a4feb Merge branch 'gomod' of https://github.com/dajohi/blockbook into gomod 2020-03-21 01:17:42 +01:00
ilmango
e99a8eba65
Add BitZeny (ZNY) (#383)
* Add BitZeny

* Fix test packed tx

* Fix exec command template
2020-03-21 00:39:24 +01:00
David Hill
13527bda06 build: go module support 2020-03-05 11:54:42 -05:00
Martin Boehm
53cc6237a7 Format all ethereum addresses as EIP55 2020-03-04 10:17:47 +01:00
Martin Boehm
f761dbec2a Fix linting errors 2020-03-03 10:22:11 +01:00
omotenashicoin-project
2d430aa80b added MTNS 2020-02-25 18:24:00 +01:00
Martin Boehm
273b880245 Add load address by serialized address descriptor 2020-02-24 23:11:46 +01:00
Martin Boehm
7e35bac99c Remove etc specific code after upgrade to multi-geth backend 2020-02-11 12:08:03 +01:00
Martin Boehm
aceadbb10c Fix formatting and linting errors 2020-01-22 16:07:30 +01:00
Dali
e4231a2eaa Add Bitcore (BTX) 2020-01-14 11:57:46 +01:00
random.zebra
b7a430574f PIVX (+testnet): Bump backend 3.1.1 -> 4.0.0 (#340)
* PIVX: bump to 4.0.0

* PIVX: remove AccCheckpoint in block version 7

ref https://github.com/PIVX-Project/PIVX/pull/1022

* PIVX: Test block v7 in pivxparser_test
2020-01-03 12:45:40 +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
5600e0d30a Fix formatting/linting issues 2019-11-23 14:34:53 +01:00
Martin Boehm
e754a6c0fd Fix incorrect registration of network params in unobtanium and viacoin 2019-11-23 14:34:53 +01:00
Liam Alford
3853520a0f Add DeepOnion (#298)
* Add DeepOnion

* Fix config bugs

* Use base pack/unpck TX

* Fix empty array causing test failure.

* Fix config files and executable.

* Fix sync issue

* Fix integration tetsts
2019-11-23 14:34:53 +01:00
Martin Boehm
f7bbffa4c9 Fix formatting/linting issues 2019-11-19 11:15:00 +01:00
Martin Boehm
c45312edf1 Fix incorrect registration of network params in unobtanium and viacoin 2019-11-19 11:13:15 +01:00
Liam Alford
4134934031 Add DeepOnion (#298)
* Add DeepOnion

* Fix config bugs

* Use base pack/unpck TX

* Fix empty array causing test failure.

* Fix config files and executable.

* Fix sync issue

* Fix integration tetsts
2019-11-18 17:51:45 +01:00
Martin Boehm
262ca3e2e4 Fix litecoin address parsing issue #254 2019-10-23 14:00:56 +02:00
Martin Boehm
4eff57189d Fix ETH address API - some tokens are missing #271 2019-09-30 17:28:10 +02:00
Martin Boehm
ac9a721cc6 Format Ethereum addresses with EIP55 checksum 2019-09-30 17:11:17 +02:00
Martin Boehm
8851c649d5 Fix linting errors 2019-09-23 09:38:48 +02:00
migwi
f28c6bcf61 Check unindexed confirmed tx height for decred 2019-09-22 17:31:04 +02:00
migwi
d4a7fcabd9 Check if unindexed confirmed tx height exists 2019-09-18 22:35:53 +02:00
Min Khang Aung
24725a21a9 Add CPUchain support (#288)
* Add CPUchain support

* Update cpuchain.json
2019-09-16 22:32:08 +02:00
TheCreator
12c4217f94 Add Unobtanium (#276)
* Create Unobtanium Configs

* Add Unobtanium

* Add Unobtanium

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Fix Unobtanium xpub_magic

* Fix Server/Client config files

TODO: Maybe remove reindex: 1 from additional params.

* Fix xpub

* Reduce the polling interval

As suggested by martinboehm, copied from viacoin

* Remove GetBlockHeader

Fails Integration tests.
2019-09-15 22:53:51 +02:00
Martin Boehm
3a8da67752 Fix linting errors 2019-08-21 23:11:50 +02:00
Migwi Ndung'u
5ea4bbded6 Fix decred's xpub decoding (#249)
* Add the decred xpub decoding implementation

* Fix the address decoding

* Resolve the extended public key path

* Add tests for DeriveAddressDescriptors and DeriveAddressDescriptorsFromTo methods

* Add TestDerivationBasePath

* Add tests for pack and unpack methods
2019-08-21 19:31:23 +02:00
James Scaur
d6375a19dd Add support for DIVI (#228)
* Add Divi Project (DIVI) support

* Remove PivX comments, add Divi RPC tests

* Merge with latest Blockbook state

* Fix permissions issue with automatic setup

* Recreate integration tests with block 430894

* Remove GetBlockHeader test

* Increase frequency of mempool sync
2019-08-21 19:07:35 +02:00
Martin Boehm
be393c6d5d Update dependency of btcutil library 2019-08-04 12:54:54 +02:00