Arijit Das
54db8f23e0
Refactor the code
2021-09-22 16:18:15 +05:30
n0cte
3a216b2ca3
add data length check
2021-09-22 16:02:05 +05:30
n0cte
bca33381dd
fix value checking for function GetStorageAt
2021-09-22 16:00:59 +05:30
n0cte
70c539c8d7
fix encoding when storage is empty
2021-09-22 16:00:57 +05:30
Arijit Das
77d28264f7
Address comments.
2021-09-21 17:54:54 +05:30
Arijit Das
5acecec955
Fix failing test.
2021-09-21 17:54:51 +05:30
Arijit Das
5772d52eb1
Change receipt CID and MHKey to point trie leaf cid and mkhey.
2021-09-21 17:51:38 +05:30
Ashwin Phatak
2de9c5bd48
Use groupcache pool for state db access ( #91 )
...
* Use groupcache pool for state db access
* Group cache config and logging stats on timer
* Integrate state validator into server
* Use tagged ipfs-ethdb
* groupcache config for tests
* Work around duplicate registration of groupcache error in tests
* Use tagged version of eth-ipfs-state-validator
* State validation command.
* Validator for static replicas to keep cache warm
* Update docker go-version and go.mod.
* Address comments and self review.
* Fix ipfs-ethdb version.
Co-authored-by: Arijit Das <arijitad.in@gmail.com>
2021-09-21 17:40:55 +05:30
Arijit Das
838ed033f8
Merge pull request #98 from vulcanize/fix-state-remove
...
Fix state leaf key removed query
2021-09-17 17:32:34 +05:30
Arijit Das
32b4f56557
Update state_cids and storgae_cids query to use node_type.
2021-09-15 17:19:08 +05:30
Arijit Das
ed4171a1ab
Revert "Add status field for pre-byzantium blocks."
...
This reverts commit 04a0f9a751
.
2021-09-15 17:14:25 +05:30
Arijit Das
04a0f9a751
Add status field for pre-byzantium blocks.
2021-09-14 17:25:48 +05:30
Arijit Das
458aae1c1e
Address comments.
2021-09-08 12:25:50 +05:30
Arijit Das
4d9edd2008
Minor change.
2021-09-02 19:17:04 +05:30
Arijit Das
121c75cc1d
Change getLogs GQL API to take nil contract address.
2021-09-02 19:12:33 +05:30
Arijit Das
967c148eff
Add test for graphql.
2021-09-01 18:25:22 +05:30
Arijit Das
71837c4b24
Self review.
2021-08-31 18:10:41 +05:30
Arijit Das
d0c3241730
Add reciept status in log for graphql.
2021-08-31 12:01:06 +05:30
Arijit Das
a28892f1d3
Fix get log API to use log_cids table.
2021-08-30 21:25:39 +05:30
Arijit Das
c0a4600ce7
Refactoring.
2021-08-15 18:23:05 +05:30
Arijit Das
b3e4fbfa39
Fix get logs API.
2021-08-14 19:20:22 +05:30
Arijit Das
d8a5358a70
Remove ipld-eth-indexer dependency.
2021-08-12 11:56:29 +05:30
Arijit Das
e00e602098
Merge pull request #83 from vulcanize/marshall-binary
...
Update RPC api and backend to support the EIP-2930 and EIP-1559.
2021-08-05 11:04:57 +05:30
Arijit Das
924d0be0b9
Update RPC api and backend to support the EIP-2930 and EIP-1559.
2021-07-27 17:37:50 +05:30
Ashwin Phatak
70f7face75
getLogs API changes to return txHash, make contract arg optional. ( #81 )
...
* getLogs API changes to return txHash, make contract arg optional.
* Populate log index.
* Add test for txn hash in GetLogs request.
* Convert tx string to common.Hash after fetching.
Co-authored-by: Arijit Das <arijitad.in@gmail.com>
2021-07-26 15:43:38 +05:30
Arijit Das
f1a61d0991
Add graphql tests.
2021-07-02 14:35:01 +05:30
Arijit Das
9a5581b543
Fix failing unit tests.
2021-06-29 12:59:37 +05:30
Ashwin Phatak
0a14bd9f0f
Update method used to get storage slot.
2021-06-29 12:23:10 +05:30
Ashwin Phatak
a3ca08b653
Return empty result instead of error if slot not found in storage table.
2021-06-28 12:51:38 +05:30
Ashwin Phatak
b2828a814f
Compute leaf key from slot.
2021-06-28 12:51:38 +05:30
Ashwin Phatak
a284a566d5
Get storage API, with storage leaf CID and raw IPLD block.
2021-06-28 12:51:35 +05:30
Ashwin Phatak
b90fcb53e6
Get logs API, with receipt CID and raw IPLD block.
2021-06-28 12:04:46 +05:30
Ashwin Phatak
18266c4f9d
Get receipt CID and block data for logs.
2021-06-28 12:04:46 +05:30
Arijit Das
969da82f6e
Merge remote-tracking branch 'origin/master' into endpoints
2021-06-18 16:11:11 +05:30
Arijit Das
c4f7fa2821
Address comments.
2021-06-18 12:12:29 +05:30
Arijit Das
e7744cce4b
Add test scripts.
2021-06-14 10:26:10 +05:30
Arijit Das
2c1bc557e5
Add test for GetStorageAt RPC.
2021-06-10 11:51:38 +05:30
Arijit Das
3b3716499f
Fix and add integration test.
2021-06-10 08:50:18 +05:30
Arijit Das
8c16dc2b35
Fix get logs unit test.
2021-06-09 09:12:46 +05:30
Arijit Das
7babaf6c05
Fix failing test
2021-06-04 00:01:25 +05:30
ramil
954e028306
custom comparation for tx and block (exclude time)
...
enrich receipts and logs with non-rlp encoded data (block number, block hash, etc)
2021-04-29 16:33:27 +03:00
ramil
97d8c4dc86
integration tests: fix issue with eth_call (pass chain config via json file to match geth chain config)
...
added additional test case: gets balance for a non-existing account without block number
2021-04-23 12:46:35 +03:00
ramil
1141f3909c
unit test fix for eth_getStorageAt
2021-04-21 22:42:11 +03:00
ramil
cef4b1ddc6
fix storageAt json-rpc endpoint
2021-04-21 22:09:57 +03:00
ramil
39141bd30d
fix quiering json-rpc methods eth_getStorageAt, eth_getBalance without block number
2021-04-21 18:00:01 +03:00
ramil
d09b756768
fix unit tests for getCode method
2021-04-21 15:11:00 +03:00
ramil
9b960a105f
fix CodeAt without block number
2021-04-21 14:16:47 +03:00
ramil
f8b9d9475e
add eth_chainId JSON-RPC endpoint
2021-04-20 00:52:58 +03:00
Ian Norden
d5cf74e202
minor refactor; fix error shadowing
2021-04-19 09:34:38 -05:00
ramil
9d6791706d
fix unit tests
2021-04-19 15:00:28 +03:00
ramil
53f06a66f5
integration test: fix returning error when block doesn't exist
2021-04-19 13:16:59 +03:00
ramil
31cbaec567
fix serve command for ipld graphql server
2021-04-16 16:56:02 +03:00
ramil
75debec01a
remove proxy command
2021-04-16 16:02:04 +03:00
ramil
524ab42674
normilize CLI options, environment variables
...
merge gap-filler library to "serve" commnad
2021-04-14 18:53:44 +03:00
Ian Norden
08df7beca3
eth_getLogs use FilterCriteria not FilterQuery
2021-04-11 23:12:20 -05:00
Ian Norden
aff66d950b
fix
2021-04-10 21:28:21 -05:00
Ian Norden
86aa1c16e6
support net endpoints
2021-04-09 09:51:12 -05:00
Ramil Amerzyanov
d3f30b621b
support custom chain config ( #36 )
...
* support custom chain config
* move loading config logic to a separate helper function
2021-03-10 19:18:32 +03:00
Ramil Amerzyanov
33bb152c04
[WIP] don't write to public.node from ipld-eth-server ( #37 )
...
* don't write to public.node from ipld-eth-server
* update ipld-eth-indexer to version v0.7.0-alpha
2021-03-10 13:13:43 +03:00
Ian Norden
86e9edd3d1
extend deadline
2021-02-27 10:31:40 -06:00
Ian Norden
9f81ffa8e0
minor clenaup/adjustments
2021-02-24 16:20:06 -06:00
Ian Norden
211ec12009
cache misses trigger call out to statediffing geth to fill in the gap in Postgres
2021-02-24 10:50:26 -06:00
Ramil Amerzyanov
e92d35b084
update geth statediff to version v1.9.25-statediff-0.0.14 ( #27 )
...
* update geth statediff to version v1.9.25-statediff-0.0.14
run integration tests in github actions
* fix goose install issue
* fix unit test bug.
Added sorting by tx index for transactions and receipts queries
2021-02-19 23:23:45 +03:00
Ian Norden
b11fb949f5
final touches, test canonicty functions and get tests passing again
2020-11-13 07:40:33 -06:00
Ian Norden
c0a91b9d9f
updated canonical header finder functions
2020-11-09 10:29:04 -06:00
Ian Norden
b128f894c4
postgres functions to check if node was removed (e.g. a la EIP158) in a range; update backend to use these to retrieve state and storage leafs in single (albeit complex) SELECT query
2020-10-31 15:00:03 -05:00
Ian Norden
7c06d4b3a1
additional unit tests
2020-10-30 18:21:44 -05:00
Ian Norden
b208281ad6
optimize GetStorageAt; GetStorageAt unit tests
2020-10-30 12:06:41 -05:00
Ian Norden
b664aee621
unit tests for GetTransactionCount, GetTransactionReceipt, GetBalance, and GetCode
2020-10-30 00:44:41 -05:00
Ian Norden
cffceb53db
optimize GetTransactionCount, GetBalance, and GetCode to use secondary indexes instead of operating through ethdb where we have to iterate down trie from root to leaf (multiple db lookups) to access account info
2020-10-29 22:07:39 -05:00
Ian Norden
dc25ea7f87
new transaction endpoint unit tests (except for GetTransactionCount which is still TODO because testing its current implementation requires complete state (e.g. like eth_call test) so- ideally- will first refactor it to use state diff 2ndary indexes rather than proceeding through regular ethdb interface)
2020-10-29 15:20:58 -05:00
Ian Norden
e1026d5261
remaining block endpoint unit test; uncle endpoints unit tests
2020-10-29 14:59:09 -05:00
Ian Norden
1d4abcb69b
finish cache miss forwarding for new endpoints
2020-10-28 08:54:06 -05:00
Ian Norden
b5d57b6afc
the remaining, currently supportable, eth_* endpoints
2020-10-28 08:54:06 -05:00
Ian Norden
7a2ccaa8a7
fixes for test; update readme and gomodules
2020-10-28 08:40:00 -05:00
Ian Norden
16aa9652a5
integrate into serve command
2020-10-28 08:23:17 -05:00
Ian Norden
a8dd77294a
graphql service on top of rpc endpoints
2020-10-28 08:23:17 -05:00
Ian Norden
4f4ab1dd4f
update eth backend
2020-10-28 08:23:17 -05:00
Ian Norden
e561fd3178
minor cleanup to prom files
2020-10-27 14:18:59 -05:00
Ian Norden
2d0367fe6c
update env
2020-10-27 12:57:26 -05:00
Ian Norden
e1cab4fadc
forward cache misses (err and/or empty results) to remote node
2020-10-27 12:29:28 -05:00
ramil
909c85b547
monitoring documentation, prometheus config, grafana dashboard
2020-10-21 15:38:48 +03:00
ramil
c5eae5fb75
Merge remote-tracking branch 'remotes/vulc/master' into metrics
...
# Conflicts:
# go.sum
# pkg/serve/config.go
2020-10-21 13:53:38 +03:00
Ian Norden
20af343efb
fixes after dirty rebase; canonical hash/header finder function is in this commit now
2020-10-20 15:36:51 -05:00
Ian Norden
5b177e716c
test chain maker for eth_call testing
2020-10-20 15:29:00 -05:00
Ian Norden
33a0c8e0e7
begin eth_Call backend integration
2020-10-20 15:28:57 -05:00
Ian Norden
71bc3f8e7b
ipld retriever
2020-10-20 15:28:57 -05:00
ramil
bf46200c07
revert local changes for testing
2020-10-20 18:54:06 +03:00
ramil
797450dd2a
fix tests
2020-10-20 18:48:35 +03:00
ramil
6e127acbf3
upgrade ipld-eth-indexer from v0.2.0-alpha to v0.5.0-alpha and test fixes
2020-10-20 17:42:09 +03:00
Ilnur Galiev
4c18554fbe
add websocket and unixsocket counters
2020-10-19 23:00:09 +03:00
Ilnur Galiev
f627c2edfa
add prometheus-middlewares for http and ws endpoint
2020-10-19 18:00:55 +03:00
Ilnur Galiev
a0d70b544b
add prometheus metrics
2020-10-19 16:07:29 +03:00
ramil
1d57f75dcf
docker compose for dapptools, postgraphile, eth-indexer and eth-server
2020-09-06 12:32:11 +03:00
Ian Norden
add6afadd7
fix subscribe command and client (remove rlp encoding of subscription params)
2020-09-02 14:13:51 -05:00
Ian Norden
dbcb2c0cf7
updat dep and serve cmd
2020-09-02 10:19:25 -05:00
Ian Norden
0d28234804
continue refactor/purge
2020-09-01 16:15:31 -05:00
Ian Norden
d645f52e87
watch => serve
2020-08-31 10:59:41 -05:00
Ian Norden
5830df44a4
decouple from sync
2020-08-31 10:47:06 -05:00
Ian Norden
558599dd32
remove btc stuff
2020-08-31 10:42:01 -05:00
Ian Norden
611fc2c11e
eth json rpc optimizations; begin ipfs-ethdb integration
2020-08-14 13:14:19 -05:00
Ian Norden
a532e17e21
remove option for publishing through ipfs node interface
2020-08-12 09:26:18 -05:00
Ian Norden
39354b2114
write code to pg-ipfs table, for codehash lookups
2020-08-12 09:26:18 -05:00
Ian Norden
52b5c99760
fix support for eth testnet chains (use correct tx signer)
2020-08-12 09:26:18 -05:00
Ian Norden
7b0b613b92
misc adjustments
2020-08-07 23:17:16 -05:00
Ian Norden
74752d15aa
remove diff unique connstraint, overwrite as diff
2020-08-07 23:17:11 -05:00
Ian Norden
2b8e5ad05a
fix flaky test
2020-08-05 11:55:36 -05:00
Ian Norden
b9fbd2da53
update docs
2020-08-05 00:23:06 -05:00
Ian Norden
77b7bcc94c
adjust everything to work with mh fks
2020-08-04 22:35:05 -05:00
Ian Norden
0ab55ef9d8
distinguish between differential state/storage nodes and eventual ones
2020-07-01 13:44:04 -05:00
Ian Norden
e2bcc06f8a
major refactor pt 3
2020-06-29 19:16:52 -05:00
Ian Norden
449d23757e
pkg rename
2020-06-29 16:56:25 -05:00
Ian Norden
3dc1bf6955
update ipfs stack, specifically dshelp.CidToDsKey => dshelp.MultihashToDsKey
2020-06-22 13:15:29 -05:00
Ian Norden
9f3e4f1102
finish updating documentation after refactor
2020-06-20 10:59:32 -05:00
Ian Norden
fe083c12f9
trimming down to ipfs watchers
2020-05-29 22:02:47 -05:00
Ian Norden
421987ff72
update version in go.mod
2020-05-22 19:22:52 -05:00
Ian Norden
0101c4791a
pair with new statediffing geth version; travis tests will fail til release is up
2020-05-21 15:34:43 -05:00
Ian Norden
5fb1cc0696
refactor- focus on simplifying concurrent fetching; graceful shutdown for superNode command
2020-05-12 15:34:25 -05:00
Ian Norden
3320df264f
avoid decode error on storage branch nodes when element won't decode into byte array
2020-05-12 09:32:33 -05:00
Ian Norden
e2ccd3ffdb
update configs
2020-05-11 20:50:19 -05:00
Ian Norden
8dc31e4ca5
make connection pool params configurable
2020-05-11 10:50:05 -05:00
Ian Norden
fb6fdfcc13
separate db conneciton pools for each process
2020-05-06 16:16:56 -05:00
Ian Norden
dfb66eb67b
update version; minor refactoring
2020-05-04 12:14:57 -05:00
Ian Norden
9b0ded692b
clean up db transaction rollback/commit handling
2020-05-01 17:00:00 -05:00
Ian Norden
1541c62ddc
eth api tests needed to be updated too
2020-05-01 11:12:01 -05:00
Ian Norden
ff5472ccf5
direct fetching of iplds from pg-ipfs for btc and eth
2020-04-30 17:22:22 -05:00
Ian Norden
059664ffc9
combined/directp publish and indexing for btc; tests
2020-04-30 17:22:22 -05:00
Ian Norden
65da8cafe7
update higher level interfaces and constructs
2020-04-30 17:22:22 -05:00
Ian Norden
475ca3e6d1
publish and index test for eth
2020-04-30 17:22:22 -05:00
Ian Norden
680a86aee2
combine publishing and indexing for eth; write directly to pg and avoid need for ipfs node
2020-04-30 17:22:22 -05:00
Ian Norden
d345e6b954
reduce chan buffer size, make circular buffer
2020-04-30 17:22:22 -05:00
Ian Norden
9db0fb219a
ipfs mode enum; configuration
2020-04-30 17:22:18 -05:00
Ian Norden
ef77688145
additional logging at initialization
2020-04-28 22:08:46 -05:00
Ian Norden
43c254b5f6
fixes after tests
2020-04-20 11:16:08 -05:00
Ian Norden
eceaa0aecb
use configurable timeout for geth batch http requests; additional error log info in payload fetchers
2020-04-20 11:05:12 -05:00
Ian Norden
35e625695e
updates to documentation for super node
2020-04-19 18:28:36 -05:00
Ian Norden
79c3078c36
version command; log resync and super node configs; fix logfile cli flag
2020-04-14 12:36:07 -05:00
Ian Norden
f2e853e9c9
add back raw contract address
2020-04-04 15:45:55 -05:00
Ian Norden
8960cde4f7
backfill based on validation level
2020-04-04 15:45:54 -05:00
Ian Norden
649fd54a9f
store receipt contract hash instead of contract
2020-04-04 15:45:54 -05:00
Ian Norden
00031e2b83
resync reset validation level
2020-04-04 15:45:54 -05:00
Ian Norden
060e3430c1
times_validated field in header
2020-04-04 15:45:54 -05:00
Ian Norden
aa9f78a028
new fields in eth.receipt_cids to index contract addresses seen in
...
logs; handle null dst/contract addrs in trxs/rcts
2020-04-04 15:45:54 -05:00
Ian Norden
657abbb7ec
vacuum analyze public.blocks after cleanup
2020-03-26 04:25:00 -05:00
Ian Norden
834e2bcff4
additional logging to resync service; rename state/storage key to leaf key and allow insert of null values for intermediate nodes
2020-03-25 19:16:26 -05:00
Ian Norden
e570a2c9d4
VACUUM ANALYZE after cleaning out old data
2020-03-25 19:16:26 -05:00
Ian Norden
716cc3663f
don't throw error on duplicate key insert
2020-03-25 19:16:26 -05:00
Ian Norden
1aded75645
additional log.info for data streamed at head
2020-03-22 09:45:49 -05:00
Ian Norden
f81c440418
for some reason every now and then a branch node would throw a panic here; still need to figure out why; quick fix
2020-03-22 09:05:26 -05:00
Ian Norden
b2d5345c02
add new fields to test data to get tests passing again
2020-03-21 21:10:28 -05:00