Commit Graph

340 Commits

Author SHA1 Message Date
190b36bcd1 Support validator withdrawals (#265)
- Retrieves indexed withdrawal objects with blocks over RPC.
- Includes system-tests in CI workflow.
- Uses external fixturenet stack in CI tests.

Depends on
- cerc-io/ipld-eth-db#7
- cerc-io/plugeth-statediff#25

To induce and test validator withdrawals:
  - cerc-io/lighthouse#1
  - cerc-io/fixturenet-eth-stacks#19
  - cerc-io/system-tests#16

Reviewed-on: #265
2024-08-05 15:50:53 +00:00
688b5c817a Geth 1.13 (Deneb/Cancun) update (#264)
Most notable changes are the updates to the test contracts: due to https://eips.ethereum.org/EIPS/eip-6780, SELFDESTRUCT no longer destroys a contract (unless it occurs in the creating transaction), so CREATE2 can no longer redeploy contracts to the same address.

Reviewed-on: #264
2024-05-29 12:29:55 +00:00
d2252193ec Refactor to use plugeth-statediff (#1)
Reviewed-on: #1
2023-09-21 06:55:26 +00: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
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
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
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
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
757edf17d6
Add option to forward eth_getStorageAt calls. (#221) 2023-01-10 17:39:21 -06:00
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
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
415e426946 geth 1.10.21 update with changes for API update in issue 177 2022-08-01 13:27:29 -04:00
389ba2e360 Merge changes to remove watched addresses fill service code 2022-05-23 19:12:11 +05:30
c25d220f71 Remove watched addresses fill service code 2022-05-23 10:37:59 +05:30
ace12fbc35 Update module path for v4 2022-05-20 18:50:50 +05:30
384d939dc2 Upgrade dependencies 2022-05-18 14:53:09 +05:30
705835512e Update module path for v3 2022-05-18 13:35:16 +05:30
c8bdaefe97 Gracefully shutdown watched address fill service on interrupt 2022-05-18 11:08:15 +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
3914889d53 Add a service to fill indexing gap for watched addresses 2022-04-19 19:32:18 +05:30
072ba1edcc Use sqlx for db connection 2022-04-19 14:01:24 +05:30
Arijit Das
316bf0990a Add env flag to load .env file. 2022-01-13 23:15:20 +05:30
Arijit Das
c07ee1d78a Take config through env. 2022-01-13 22:08:38 +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
bd093e0ea6 cli flag for new option 2021-12-27 12:31:25 -06:00
i-norden
d53bfae243 use buffered chan for os.Signal 2021-10-11 11:06:04 -05:00
Arijit Das
1973e8032d Bump up daptools image tag and geth version. 2021-10-07 15:07:23 +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
d8a5358a70 Remove ipld-eth-indexer dependency. 2021-08-12 11:56:29 +05:30
Arijit Das
9aaea6e016 Address comments. 2021-06-18 17:13:46 +05:30
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
07519468e9 fix serve command 2021-04-16 01:32:29 +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
86aa1c16e6 support net endpoints 2021-04-09 09:51:12 -05:00
Ian Norden
f6780ddd95 update go.mod and cmds 2021-03-10 10:46:21 -06:00
Ian Norden
8d10dc98ee proxy command for graphQL endpoints directly ontop of Postgres indexes 2021-03-10 10:26:40 -06: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
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
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
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
ramil
909c85b547 monitoring documentation, prometheus config, grafana dashboard 2020-10-21 15:38:48 +03:00
ramil
d9b05233b0 fix null pointer exception 2020-10-21 14:22:43 +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