Commit Graph

222 Commits

Author SHA1 Message Date
d64ac5792c Add forwardGetStorageAt setting. 2023-01-10 12:04:28 -06:00
prathamesh0
721a728d4b
Implement getSlice API (#206)
* Implement getSlice API for state nodes

* Implement getSlice API for storage nodes

* Fix the helper function to create a slice of required paths

* Fix query to get state leaf key for given storage root

* Add a test to get state slice for root path

* Add checks in queries to get canonical data

* Add tests to get state slice

* Add a todo for using an iterator

* Avoid filtering out removed nodes

* Add tests to get storage slice

* Remove logs

* Populate extra contract leaves field in the response

* Update tests

* Avoid EOAs in additional data in response

* Use iterator based approach for getSlice

* Skip undesired nodes from stem and head iterators

* Update storage slice tests

* Fix meta data updates

* Use state trie to get stem nodes directly using paths

* Bugfix - Continue processing other trie nodes on encountering a leaf

* Remove unnecessary TODO
2022-12-19 14:12:23 +05:30
4714610b72
Use get_storage_at DB functions. (#205)
* Use new get_storage_at DB functions.

* Use latest ipld-eth-db for tests.
2022-11-16 14:13:10 -06:00
prathamesh0
cc17368c0d
Optimize GQL and getBlock APIs (#201)
* Add optional block number filter to getLogs API

* Use block number while fetching block with transactions

* Fix for failing tests

* Use block number when fetching block objects

* Use block number when fetching a tx by hash

* Add back methods to get block objects by block hash

* Update run_unit_test.sh

Removing echo command, as it seems to be only change in CICD.

* Increase wait time for db setup in unit test job

Co-authored-by: Michael <michael@abastionofsanity.com>
2022-11-04 10:02:09 +05:30
prathamesh0
33602aa0e0
Optimize getLogs GQL API (#198)
* Avoid joins with header and transaction tables while getting logs

* Update getLogs GQL API to accept multiple addresses

* Update version

* Update unit tests
2022-10-05 15:14:17 +05:30
prathamesh0
2c03c8cbd0
Support debug_traceCall API (#192)
* Implement debug_traceCall API

* Use API implementation from geth with custom backend

* Update refs in GitHub workflow
2022-09-21 17:15:03 +05:30
prathamesh0
4d99ecdee3
Increase EVM timeout for eth-calls (#191)
* Increase EVM timeout for eth-calls

* Remove goose prerequisite from test targets in Makefile
2022-09-21 16:28:19 +05:30
Michael
fc0d7a6dd6
Cerc refactor (#193)
* cerc refactor waiting on unpublished dependencies

* cerc refactor updates for dependencies

* Describe imports got removed

* cleaning up more vulcanize refs in ci/cd

* another test lost Describe imports

* another test lost Describe imports... not caught in go build -a???

* more cerc-io migrations to utilize new git.vdb.to gitea instance

* switching back to github for running unit test

* first try at git.vdb.to as conatiner repository

* targeted tag was incomplete
2022-09-20 11:52:06 -04:00
Michael Shaw
d24be29ef0 use mgirated test helper func GenesisBlockForTesting 2022-09-02 11:05:54 -04:00
Michael Shaw
0e91e42128 first pass updating for statediffing geth 1.10.23... filters changed 2022-09-01 18:37:51 -04:00
prathamesh0
4e9f4bbad6
Re-order uncles if calculated uncle hash doesn't match (#188)
* Re-order uncles if calculated uncle hash doesn't match

* Add a spec to test out of order uncles
2022-08-25 15:54:32 +05:30
prathamesh0
e40e8a7335
Optimize eth_getBlockByNumber and eth_getBlockByHash implementations (#187)
* Avoid two step queries for creating a block object

* Use a db tx while fetching block objects

* Upgrade ipfs-ethdb
2022-08-23 12:42:19 +05:30
i-norden
1a24075da7 ChainID adjustment 2022-08-08 13:57:36 -05:00
Michael Shaw
415e426946 geth 1.10.21 update with changes for API update in issue 177 2022-08-01 13:27:29 -04:00
prathamesh0
ba01123f54
Use geth's eth API on missing blocks for getHeaderByHash (#181) 2022-07-20 09:34:44 +05:30
prathamesh0
b90c28906a
Add log while serving getBlockByNumber (#176)
* Add log while serving getBlockByNumber

* Update GQL API to return empty result when header not found for hash
2022-07-15 16:19:31 +05:30
prathamesh0
6cb54ca790
Update transactions, receipts and logs queries (#173)
* Update queries to fetch data from cids tables

* Fix eth_getTransactionByHash to return tx from canonical block

* Fetch transaction by hash in a single query

* Update queries to fetch data from IPLD blocks table

* Avoid NULL result from canonical block hash query

* Update GitHub workflow and script to run unit tests

* Avoid usage of LIMIT 1 in queries for GQL API

* Fetch IPLD data separately when retrieving latest account data or storage value

* Upgrade geth dependency

* Update GitHub workflow
2022-07-12 13:40:45 +05:30
07a991d3e4 Add misssing error logs 2022-06-28 16:40:07 +05:30
Abdul Rabbani
4121863a4c Update Geth and CICD 2022-06-17 10:45:54 -04:00
nikugogoi
221114cf56 Merge changes to implement postgraphile graphql queries 2022-06-07 17:37:01 +05:30
nikugogoi
1fc53ccab1 Rename Cid to CID 2022-06-06 16:46:53 +05:30
nikugogoi
31e9a7dc5e Review changes 2022-06-06 15:54:06 +05:30
c19cc5c44d Select required fields in transaction_cids 2022-06-03 15:08:45 +05:30
6bd563e3d5 Use GORM to retrieve data from database 2022-06-03 15:08:45 +05:30
80413211c2 Remove block_number from queries for v3 schema 2022-06-03 15:05:46 +05:30
217cfc63ec Return empty headerCIDs and commit db tx 2022-06-03 15:05:46 +05:30
9550d60467 Add query ethTransactionCidByTxHash 2022-06-03 15:05:46 +05:30
da1c8b2332 Implement single query for transactions and blockByMhKey 2022-06-03 15:05:46 +05:30
f144d932cd Implement graphql query to get header with transactions 2022-06-03 15:04:54 +05:30
ace12fbc35 Update module path for v4 2022-05-20 18:50:50 +05:30
9676690a2d Remove unused functions 2022-05-19 08:14:43 +05:30
36e590c092 Delete from all tables when tearing down db for tests 2022-05-18 20:23:40 +05:30
384d939dc2 Upgrade dependencies 2022-05-18 14:53:09 +05:30
24a45a3f00 Update unit tests and queries to fetch data from cids tables 2022-05-18 14:38:09 +05:30
867323a1ab Update queries to get data from IPLD blocks table 2022-05-18 14:36:51 +05:30
705835512e Update module path for v3 2022-05-18 13:35:16 +05:30
2a0e9f8dfd Upgrade geth 2022-05-18 13:05:26 +05:30
233fa29740 Upgrade eth-ipfs-state-validator to v3 2022-05-04 13:06:07 +05:30
4883590d85 Upgrade ipfs-ethdb to v3 2022-05-04 13:06:07 +05:30
4b697b2a98 Upgrade dependencies 2022-05-02 17:48:03 +05:30
77812f2673 Move SetupTestStateDiffIndexer to shared test helpers 2022-04-21 17:06:29 +05:30
56c85709c1 Add unit tests for fill service 2022-04-21 17:03:59 +05:30
76aaa93c50 Use pgx while indexing test data 2022-04-19 14:01:25 +05:30
778bf82dfd Fix queries used for getStorageAt 2022-04-19 14:01:25 +05:30
e8c1db69b4 Update ipld-eth-db image source and increase tx batch wait 2022-04-19 14:01:25 +05:30
3aa5cb36ef Fixes for unit tests 2022-04-19 14:01:24 +05:30
43ddbc7eea Update unit tests 2022-04-19 14:01:24 +05:30
8df8b50cb1 Update to use new schema 2022-04-19 14:01:24 +05:30
072ba1edcc Use sqlx for db connection 2022-04-19 14:01:24 +05:30
i-norden
e6869f4236 explicity set whether to forward to proxy on errors, so that we can turn it off and test the direct forwarding 2021-12-30 01:45:53 -06:00
i-norden
907c7132f4 needed type assertion 2021-12-29 14:57:21 -06:00
i-norden
1b513a3c02 bump version 2021-12-27 15:08:04 -06:00
i-norden
140989cbf7 option to immediately forward eth_calls to proxy node 2021-12-27 12:25:54 -06:00
Arijit Das
fcd2b963b0 Get DB config from env. 2021-10-12 12:33:48 +05:30
Arijit Das
20c04a98bc Update DB name. 2021-10-12 12:33:48 +05:30
Arijit Das
25b49f784b Use ipld-eth-db docker image. 2021-10-12 12:33:48 +05:30
Arijit Das
1973e8032d Bump up daptools image tag and geth version. 2021-10-07 15:07:23 +05:30
Arijit Das
9fef3687a0 Address comments. 2021-09-30 19:13:50 +05:30
Arijit Das
88ced60707 Address comments. 2021-09-30 16:40:07 +05:30
Arijit Das
cc6822f7a6 Update eth_call code. 2021-09-29 10:57:11 +05:30
Arijit Das
500bba43b4 Fix SQL query to check for empty storage value. 2021-09-24 15:37:04 +05:30
Arijit Das
f09f665b11 Fix empty value when contract is deleted. 2021-09-23 16:06:09 +05:30
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
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
9a5581b543 Fix failing unit tests. 2021-06-29 12:59:37 +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
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