Commit Graph

70 Commits

Author SHA1 Message Date
i-norden
aab5a2ef0b use ipld-eth-statedb for eth_call and graphql endpoints 2023-03-13 11:25:19 -05:00
i-norden
6f1bfc7fce combine ipld and cid retriever into one struct. the original reason for the separation of concerns was because we used to fetch cids directly from the database but then use those to fetch iplds using an ipfs.BlockService abstraction ontop of our database (and/or a ipfs.BlockExchange). But now they are both accessed directly in the local DB. Additionally, some of the queries should be further refined/refactored/combined as we no longer need to take two trips but can retrieve cid and ipld in the same query. 2023-03-07 21:49:38 -06:00
Ian Norden
dec31761b2
Merge pull request #225 from cerc-io/ian_dev
Fall-through post-London endpoints
2023-01-23 12:45:15 -06:00
190d0d7ac9
Improved logging and metrics. (#227)
1. Improve logging to include API method, user ID, etc in the output. We do this by intercepting the request details in the "middleware" and adding them to the request context, as well as adding a wrapper to logrus that simplifies including the fields in the output.

2. Breakdown API metrics by method. This will allow us to differentiate call counts and durations by API method (eg, eth_call vs eth_getStorageAt).
2023-01-20 19:39:26 -06:00
i-norden
1b5dbc33d7 eth_maxPriorityFeePerGas fall-through 2023-01-12 20:58:42 -06:00
i-norden
74071ecdf9 eth_gasPrice fall-through 2023-01-12 20:58:42 -06:00
i-norden
7b19973f91 eth_estimateGas fallthrough 2023-01-12 20:58:42 -06:00
i-norden
ed088cdf21 eth_feeHistory fallthrough endpoint 2023-01-12 20:58:42 -06:00
i-norden
2b10ac5385 eth_createAccessList fall-through endpoint 2023-01-12 20:58:42 -06:00
e0de4a1591
add StateDiffTimeout config setting (#224) 2023-01-12 19:18:12 -06:00
i-norden
f667e59699 do no eth_writeStateDiffAt for certain endpoints where we cannot pinpoint which statediff is missing 2023-01-10 15:34:39 -06:00
96a0774725 Always return when forwarding. 2023-01-10 13:16:01 -06:00
c57e8091b8 Merge error 2023-01-10 12:19:38 -06:00
b37c6bb5a3
Merge branch 'v4' into telackey/pxy_get_storage_at 2023-01-10 12:10:03 -06:00
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
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
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
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
07a991d3e4 Add misssing error logs 2022-06-28 16:40:07 +05:30
ace12fbc35 Update module path for v4 2022-05-20 18:50:50 +05:30
705835512e Update module path for v3 2022-05-18 13:35:16 +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
140989cbf7 option to immediately forward eth_calls to proxy node 2021-12-27 12:25:54 -06:00
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
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
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
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
924d0be0b9 Update RPC api and backend to support the EIP-2930 and EIP-1559. 2021-07-27 17:37:50 +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
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
08df7beca3 eth_getLogs use FilterCriteria not FilterQuery 2021-04-11 23:12:20 -05:00