Commit Graph

947 Commits

Author SHA1 Message Date
i-norden
ec49318294 fix CI errors
Some checks failed
Test the stack. / Run integration tests (pull_request) Failing after 4m12s
Test the stack. / Run unit tests (pull_request) Successful in 10m26s
2023-11-08 08:54:31 -06:00
i-norden
877b731340 go mod
Some checks failed
Test the stack. / Run unit tests (pull_request) Failing after 8m56s
Test the stack. / Run integration tests (pull_request) Failing after 10m25s
2023-11-06 08:25:05 -06:00
i-norden
1d578b3bf9 debug_traceBlock test
Some checks failed
Test the stack. / Run unit tests (pull_request) Failing after 2m17s
Test the stack. / Run integration tests (pull_request) Failing after 6m3s
2023-11-02 13:03:01 -05:00
i-norden
5c387aaf1e TraceBlockByHash and TraceBlockByNumber methods 2023-11-02 13:03:01 -05:00
i-norden
289bf6dde4 debug_traceCall test 2023-11-02 13:03:01 -05:00
i-norden
cfb88d9f09 add ability to fall through to another RPC provider 2023-11-02 13:03:01 -05:00
i-norden
20894b7482 go fmt; temporary go mod using replace directive 2023-11-02 13:02:54 -05:00
i-norden
0ea4d50856 update top-level service 2023-11-01 15:13:25 -05:00
i-norden
8985110b6c update config 2023-11-01 15:13:25 -05:00
i-norden
800bc2c37a tracing API for traceBlock and traceCall 2023-11-01 15:13:25 -05:00
i-norden
f275264147 ToMessage method for transaction_arguments 2023-11-01 15:13:25 -05:00
i-norden
74f5bdda0d BlockOverride required by tracing endpoints 2023-11-01 15:13:25 -05:00
4b749e8544 Update to plugeth-statediff 0.1.4 (#3)
Co-authored-by: Roy Crihfield <roy@manteia.ltd>
Reviewed-on: #3
Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com>
Co-committed-by: Thomas E Lackey <telackey@bozemanpass.com>
2023-09-30 14:37:53 +00:00
d2252193ec Refactor to use plugeth-statediff (#1)
Reviewed-on: #1
2023-09-21 06:55:26 +00:00
6470bf2f01
251: Remove uses of canonical_header_hash() and get_storage_at() fns in light of v5 schema updates. (#253)
* Remove canonical_header_hash() uses and update SQL queries for latest v5 schema.

* Remove get_storage_at() uses.
2023-08-03 14:44:58 -05:00
51c36adbea
Update dependencies for ipld-eth-db 5.0.5 and geth v1.11.6-statediff-5.0.8 (#252)
In addition to the module updates, because the new indexer code will automatically flag pre-existing blocks as non-canonical when new block is added at the same height, I had to re-order the test setup to insert non-canonical blocks first.
2023-07-31 12:43:15 -05:00
39f8b6ec79
Fix getLogs query (avoid repeated execution, separate tx, and improve performance) (#250)
* Avoid repeated queries in getLogs.

* Rewrite query for speed and simplicity.

* Make default limit 500
2023-06-16 11:49:56 -05:00
i-norden
a1fbc1875b use GasFeeCap for unmined tx GasPrice 2023-06-14 11:49:57 -05:00
i-norden
111d879d71 rlp.EncodeToBytes => MarshalBinary, in tests 2023-06-12 17:25:17 -05:00
i-norden
ac67af63e1 rlp.EncodeToBytes => tx.MarshalBinary 2023-06-12 17:18:16 -05:00
77f861dd95
Fix for getTransactionReceipt returning empty 'from' address. (#242)
* Fix for getTransactionReceipt returning empty 'from' address.

* Unify the code

* Unify the code
2023-06-12 11:37:46 -05:00
i-norden
175c840bac fix err overshadowing in defers 2023-05-31 17:57:42 -05:00
6d7487152c Upgrade to v5 schema
Now uses:
* ipld direct_by_leaf StateDB for basic queries
* trie_by_cid StateDB for trie slice and proof queries

Also:
* vulcanize => cerc refactor
* Backend method to close dbs
* state tests are in multiple packages, to allow separate ginkgo suites
* removes gap-filler module
* integration tests and github workflows
* run stack-orchestrator for testnet
* fix various issues with tests, hardhat server, dockerfile
* fix cmd flags / env vars
* fix flaky tests and clean up code
* remove unused code, scripts
* remove outdated docs
* update version
2023-05-25 21:39:48 +08:00
i-norden
ec6707c6ab return effectiveGasPrice in GetTransactionReceipt 2023-04-14 17:33:27 +08:00
i-norden
b410c0876a interface fixes for v1.11.5 2023-04-14 14:49:39 +08:00
i-norden
9fcb21f812 bump to v4 v1.11.5 and use internal concurrent_iterator 2023-04-14 14:49:39 +08:00
ea19cc8d8d Use blocks table, not header_cids, for getBlockNumber() (#232) 2023-03-17 15:17:58 -05:00
i-norden
20b787e5dc missed moving some sql into consolidated file 2023-03-14 10:04:41 -05:00
i-norden
4678b6a733 ipld-eth-statedb initialization/instantiation 2023-03-13 18:23:49 -05:00
i-norden
df8bec1ad0 adapt uncle retrieval methods to work for v5 2023-03-13 12:48:25 -05:00
i-norden
aab5a2ef0b use ipld-eth-statedb for eth_call and graphql endpoints 2023-03-13 11:25:19 -05:00
i-norden
ba5cdecf93 new backend methods using ipld_eth_statedb.StateDB 2023-03-13 07:51:03 -05:00
i-norden
4c29841c21 internalize some node type utils from geth as they are no longer used over there in v5 2023-03-07 21:49:38 -06:00
i-norden
573a3dc991 node_type => removed 2023-03-07 21:49:38 -06: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
i-norden
5bd9783aed move all sql statements into own file 2023-03-07 21:49:35 -06:00
i-norden
907f15f640 mh_key => cid; leaf_cid => cid; refactor GetReceipts 2023-03-02 17:59:13 -06:00
i-norden
87013110f9 public.blocks => ipld.blocks 2023-03-02 17:41:44 -06:00
i-norden
8ec203ec3d refactor out remaining unused bits 2023-02-21 19:50:58 -06:00
i-norden
7279d48dc6 remove vestigial packages 2023-02-21 19:47:47 -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
ade4a7ae91 Only attempt to parse the body when it is present. 2023-01-20 20:08:19 -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