Commit Graph

43 Commits

Author SHA1 Message Date
Noah Citron 2e6b948c8f
feat(cli): add version cli flag (#216) 2023-03-15 16:04:09 -04:00
Noah Citron ba3f31111f
feat: support capella (#214)
* handle forks using superstructs

* fix ssz for superstructs

* add capella types

* fix tests

* clippy

* clippy take two
2023-03-15 00:46:00 -04:00
Noah Citron 3c471c2bef
fix: cleanup call example (#212)
* fix: evm panic on slot not found (#208)

* cleanup and example

---------

Co-authored-by: refcell.eth <abigger87@gmail.com>
2023-03-11 01:58:42 -05:00
Noah Citron da520290ce
fix: embedded wasm binary (#193)
* fix: embedded wasm binary

* remove public path

* remove unused comments from run.sh
2023-02-10 12:47:57 -05:00
Noah Citron 8e006d623b
feat: typescript bindings (#191)
* basic ethers provider setup

* add getCode

* add call

* add estimateGas

* add gas pricing methods

* add sendRawTransaction

* add getTransactionReceipt

* add getLogs

* add net_version

* decouple ethers from lib

* add config options

* fmt
2023-02-09 14:32:17 -05:00
christn 1b1a540340
feat: backfill payloads (#189)
* Loop over all missing slots since last update

* Adjust get_block_header function to allow getting headers of past blocks

* Compare parent hashes when backfilling blocks

* Backfill blocks concurrently

* Do not rehash backfilled blocks

* Revert "Adjust get_block_header function to allow getting headers of past blocks"

This reverts commit 5895118046.

* Move get_payloads to consensus module

* Continue with the next block instead of request failure to recover from skipped blocks

* clippy and rustfmt

* clippy

* Remove redundant get_block_from_rpc method
2023-02-07 17:36:29 -05:00
Noah Citron 5b9e90436a
fix: check checkpoint file exists (#183) 2023-01-31 14:18:51 -05:00
Noah Citron 72267b4563
feat: wasm support (#182)
* basic consensus setup

* basic execution setup

* patch for wasm

* basic wasm client

* proxy cors for testing

* migrate to webpack

* use typescript

* track chain head

* rename to helios-ts

* better build instructions

* add getCode

* builds everywhere

* add wasm-pack to dependencies

* compile for both wasm and non-wasm

* fix deps

* fix deps

* remove ds store

* add blocktags

* add getNonce

* use BTreeMap to store payloads

* add getTransaction

* switch to proper ethers provider

* post merge fixes

* compile client to wasm

* fix tests

* fmt

* use milagro for bls

* handle node advance in rust

* faster bls deserialization

* clippy

* add ConfigDB

* remove ts bindings

* fix gitignore

* remove ts workspace member

* remove unused mut

* uncomment old deletions

* bump to 0.2.0
2023-01-30 21:38:46 -05:00
Noah Citron de90eb9158
feat: check execution rpc network (#176)
* feat: check execution rpc network

* clippy
2023-01-22 11:58:55 -05:00
refcell.eth 94bf458d94
feat(benches): Criterion + Iai Benchmarking [RFC] (#131)
* ⚙️ benches

* 📝 docs

* 🏗️ file_db benches and checkpoint fixes

* 🔨 fix github action env vars

*  benchmark env vars

* ⚙️ sync benchmarks

*  cargo fmt touchups
2022-12-11 14:42:52 -05:00
refcell.eth b449c1f674
fix(readme): Resolve Dependency Type Conflicts (#129)
* 🐛 resolve dependency type conflicts

* 🔨 fix inline payload construction in tests
2022-12-04 15:28:44 -05:00
refcell.eth 7e3fe40613
feat(examples): Introduces working examples (#126)
* ⚙️ examples and more cleanup

* ⚙️ examples
2022-12-02 18:41:50 -05:00
andreas 161e0fbfb9
feat: checkpoint fallbacks (#120)
* 🏗️ checkpoint fallback initial impl

* 🚧 checkpoint fallbacks

*  checkpoint fallbacks

* ⚙️ fix result types

* ♻️ checkpoints refactoring

* 🔨 import nits

* 🚀 graceful checkpoint fallbacks

*  parallel checkpoint fallback service fetching using async tokio tasks

* 📝 readme touchups
2022-12-01 20:18:23 -05:00
asnared 21c73c1649
feat: Lints, Clippy, and Cleaning (#115)
*  cargo fmt smells

* ♻️ cargo cleaning
2022-11-29 17:31:25 -08:00
sragss b9d67e956b
feat: surface revert errors to RPC (#106)
* surface revert errors to RPC

* remove temp generic errors from evm, node

* merge resolution

* cargo fmt
2022-11-11 19:41:37 -05:00
Noah Citron 6ff501352b
fix: install instructions (#94) 2022-11-07 16:21:35 -05:00
Noah Citron eaca764aac
feat: add retries to consensus rpc (#87)
* feat: add retries to consensus rpc

* fix tests
2022-11-04 11:05:18 -04:00
Noah Citron ba08cc1a3c
feat: use helios as a library (#85)
* add root helios package

* fix revm

* copy blocktag when passing to funcs

* run all tests

* update readme

* update readme

* update readme
2022-11-03 19:36:14 -04:00
Noah Citron 7841eb90e0
chore: pin git dependencies (#82) 2022-11-02 21:48:18 -04:00
Noah Citron 8f375d8c44
fix retries (#80) 2022-11-02 15:26:15 -04:00
Noah Citron a9b34f3dee
refactor: clean up (#78)
* refactor client rpc

* refactor node

* remove unused deps

* remove unused import

* refactor consensus

* consensus refactor

* rename rpc traits

* refactor execution
2022-11-01 23:52:28 -04:00
Noah Citron 56d0ce5a72
refactor: rename to helios #70) 2022-10-25 18:23:43 -04:00
Noah Citron 8844f921e8
feat: improved configs (#64)
* migrate config to figment

* support env variables

* add better error messages

* fix tests

* refactor
2022-10-05 13:52:07 -04:00
Noah Citron 5d1f4a6344
refactor: better error handling (#63)
* add custom errors to consensus

* add BlockNotFoundError

* better handling of blocktag parsing

* clean up

* add execution errors

* add rpc errors

* add more fields to errors
2022-09-29 19:35:43 -04:00
Noah Citron 897f679a2c
feat: use access lists to batch fetch proofs (#44)
* add create_access_list to rpc

* batch fetch proofs with access lists

* refactor

* use caching for estimate_gas

* cleanup

* add rate limiting to bulk proof fetch
2022-09-22 15:40:06 -04:00
Noah Citron 0579855141
feat: add checkpoint caching (#41)
* add checkpoint caching

* add data dir override to cli

* move checkpointing into database

* move logging to client

* clean up
2022-09-16 15:32:15 -04:00
Noah Citron c4e222b319
feat: mainnet support (#40)
* feat: mainnet support

* lint
2022-09-15 17:56:42 -04:00
Noah Citron 7bb9800447
feat: ci releases (#36)
* add simple release ci for mac arm

* install arm target

* run mac build on macos-latest

* archive file

* fix file paths

* use tag names

* add amd darwin build

* fix typo

* add linux arm build

* add linux amd build

* fix linux arm

* install libssl for linux arm

* set linker

* install pkg-config

* fix openssl

* use cross

* fix cross

* fix cross

* .

* .

* add deps

* .

* .

* use vendored openssl

* remove cross

* deps

* push to tags

* use commit as tag name

* tag with correct name and use pre release

* fix tag names

* only maual dispatch
2022-09-15 04:55:29 -04:00
Noah Citron b8d21abe44
feat: improve cli (#16)
* use default_value for flags

* add checkpoint flag
2022-09-09 18:14:17 -04:00
Noah Citron a149ba618c
feat: add logging (#15)
* feat: add logging

* show confidence and delay when syncing

* log rpc errors

* fmt
2022-09-08 21:34:14 -04:00
Noah Citron 40a6211c13
tests: add execution tests (#14)
* add execution rpc trait

* add account tests

* add code and tx tests

* add receipt tests

* add get block tests
2022-09-08 17:46:48 -04:00
Noah Citron a63d56a952
refactor: switch execution rpc to ethers (#13) 2022-09-06 13:57:47 -04:00
Noah Citron a0b0b78da5
test: add consensus tests (#11)
* add consensus integration tests

* add unit tests

* organize imports
2022-09-04 19:32:16 -04:00
Noah Citron 11fd824b01
feat: add eth_getTransactionReceipt (#6) 2022-09-01 20:28:12 -04:00
Noah Citron ad43cf7668 add cli app 2022-08-29 16:54:58 -04:00
Noah Citron 1d810caa92 refactor using cargo workspaces 2022-08-29 13:31:17 -04:00
Noah Citron 99d7ff4043 add configuration file support 2022-08-26 20:05:12 -04:00
Noah Citron 748af6ce95 add simulated call support 2022-08-23 21:33:48 -04:00
Noah Citron f71bff19f6 add proof helpers 2022-08-18 20:33:44 -04:00
Noah Citron 0ced9e8f55 committee signature verification 2022-08-13 16:24:04 -04:00
Noah Citron d42d327f26 fix ssz hashing 2022-08-12 12:38:40 -04:00
Noah Citron 573fd7fcc4 hashing committees 2022-08-12 11:32:16 -04:00
Noah Citron 2dd11e6a1c setup api bindings for reaching out to light servers 2022-08-11 14:09:58 -04:00