Commit Graph

164 Commits

Author SHA1 Message Date
geemo f82a0ff03b remove extraneous lines from example 2023-03-03 03:05:35 -06:00
geemo 4a35ad2165 add broken discovery example. Discv5 starts but everything is not quite set up. Change the ConsensusNetworkInterface trait function to async so it works with p2p plus for the rpc setup you can add a feature to retrieve the requisite paths from a cached file. 2023-03-03 02:58:07 -06:00
geemo 7d7ac4b5aa add traits 2023-03-02 02:27:54 -06:00
geemo c2237668ea accidentally deleted stuff 2023-03-01 21:16:21 -06:00
geemo a740cb656f trying with Arc<Mutex 2023-03-01 21:11:16 -06:00
geemo 72f74bd05a remove unused 2023-03-01 14:39:50 -06:00
geemo 12cb00496d trying to integrate Discovery 2023-02-28 00:10:35 -06:00
geemo e73aa9bc05 add discovery protocol but not integrated yet 2023-02-26 00:49:55 -06:00
geemo 1aa4977598 implementing discovery step 1: change name of the ConsensusRpc to reflect gnerality add a feature flag to conditionally support p2p and use extra crates add cli flag for consensus p2p 2023-02-23 03:18:09 -06:00
Noah Citron 8da632f8f2
fix: filter invalid checkpoints from fallback (#196)
* fix: filter invalid checkpoints from fallback

* use iter find
2023-02-12 14:57:24 -05:00
Noah Citron ef5a6a216f
fix: correct zero hex formatting (#195)
* fix: correct zero hex formatting

* clippy
2023-02-12 12:16:11 -05:00
Giovanni Vignone 32d09736e0
feat: add eth_syncing (#188)
* adding documentation for rpc.md

* adding rpc methods in table for rpc.md

* adjusting readme to link to rpc.md

* fixing grammar

* grammar

* adding RPC Methods according to documentation and listing column as Client Function

* adding more description space

* undoing description spacing

* adding get block transaction count by hash to node.rs and rpc.rs

* functioning getblocktransactioncountbyhash function

* removing documentation

* adding second rpc method and simplifying logic

* adjusting example and node.rs

* formatting

* fixing clippy errors

* adding to client and to rpc.md

* formatting

* integrating into client

* u64 return types, rpc.md updated to get_nonce, get_transaction_count -> get_nonce revert

* cargo fmt

* readme architecture init

* removing blockchain

* removing complexity

* updating mermaid with links from evm -> execution, renaming, and recoloring

* coloring letters black

* removing uncessary styling and adding untrustedexecutionrpc and untrustedconsensusrpc

* initial syncing work

* adding in proper computations to syncing()

* simplificaiton of logic

* cargo fmt

* updaing rpc.md and rpc

* removing unwrapping
2023-02-11 18:05:22 -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
Noah Citron 4066828387
fix: prevent logs for unseen blocks (#192) 2023-02-08 18:12:41 -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
danilowhk a0032835f3
feat: make ConfigDB public (#190)
* Update lib.rs

* format
2023-02-03 15:35:10 -05:00
Noah Citron 4a84ecabed
fix: handle checkpoint overrides correctly (#187)
* fix: handle checkpoint overrides correctly

* fix optional deserialize

* clippy

* fmt
2023-02-01 17:10:26 -05:00
Noah Citron 1fa2dede25
fix: add data dir to basic example (#186) 2023-02-01 13:40:11 -05:00
Noah Citron 7b7dc708f8
fix: check checkpoint block root exists (#185)
* fix: check checkpoint block root is some

* remove print

* check block root earlier
2023-01-31 18:40:53 -05:00
Noah Citron 6b662f903b
fix: benches (#184) 2023-01-31 18:23:55 -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
James Prestwich 604b325983
fix: specify precise nightly version (#179) 2023-01-24 17:30:03 -05:00
Noah Citron 2c5c318529
feat: check consensus rpc network (#177)
* feat: check consensus rpc network

* cleanup
2023-01-23 10:07:11 -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
Noah Citron 10e39eb35a
chore: bump version to 0.1.3 (#173) 2023-01-19 19:23:06 -05:00
Noah Citron 4d6568a8a5
fix: correct example names in cargo (#172) 2023-01-18 21:45:29 -05:00
Noah Citron 4d1ca1d6ed
chore: rename examples (#171) 2023-01-18 21:23:47 -05:00
Noah Citron cb6cf75d59
feat: make checkpoint age check optional (#170)
* feat: make checkpoint age check optional

* add new flag to readme

* fix tests
2023-01-18 21:18:26 -05:00
Noah Citron 69b8108dae
fix: deserialize wrapped lc headers correctly (#169)
* fix: deserialize wrapped lc headers correctly

* clippy
2023-01-18 19:42:56 -05:00
danilowhk 819ee702e8
feat : eth_coinbase implementation #157 (#167)
* ethereum_get_cooinbase

* change return type from CoinbaseAddress to Address

* format
2023-01-12 20:30:15 -05:00
Dimitris Apostolou c7a1bad8e5
fix: typos (#164) 2023-01-10 15:47:58 -05:00
danilowhk 9d69c2b2b4
feat : add eth_getTransactionByBlockHashAndIndex (#157)
* eth_getTransactionByBlockHashAndIndex

* format

* clippy changes

* test check
2023-01-03 09:45:56 -05:00
Giovanni Vignone ec4beb38e9
docs: architectural Diagram (#161)
* adding documentation for rpc.md

* adding rpc methods in table for rpc.md

* adjusting readme to link to rpc.md

* fixing grammar

* grammar

* adding RPC Methods according to documentation and listing column as Client Function

* adding more description space

* undoing description spacing

* adding get block transaction count by hash to node.rs and rpc.rs

* functioning getblocktransactioncountbyhash function

* removing documentation

* adding second rpc method and simplifying logic

* adjusting example and node.rs

* formatting

* fixing clippy errors

* adding to client and to rpc.md

* formatting

* integrating into client

* u64 return types, rpc.md updated to get_nonce, get_transaction_count -> get_nonce revert

* cargo fmt

* readme architecture init

* removing blockchain

* removing complexity

* updating mermaid with links from evm -> execution, renaming, and recoloring

* coloring letters black

* removing uncessary styling and adding untrustedexecutionrpc and untrustedconsensusrpc
2022-12-30 16:28:46 -05:00
ControlCplusControlV ac8a145ae3
feat: reduce binary size (#160)
* reduced bin size

* Update README.md
2022-12-23 21:14:21 -05:00
Noah Citron f8275f054e
fix: handle calls to eoa (#159) 2022-12-21 19:11:43 -05:00
Mathieu bfe44809d8
chore: make execution types clonable (#156) 2022-12-18 10:27:57 -05:00
danilowhk aa838aeee1
chore: add checkpoints in export config mod (#149)
* add checkpoints in export config mod

* add checkpoints
2022-12-14 16:38:19 -05:00
Mathieu af2a12dd57
chore: export src/execution types (#148) 2022-12-14 14:37:15 -05:00
Mathieu 9f53fc9bfc
chore: export ExecutionBlock type (#146)
* export ExecutionBlock type

* fix linting error

* Format with cargo fmt
2022-12-14 11:43:43 -05:00
refcell.eth 4707a0a9d4
feat(docs): Config (#140)
* 📝 comprehensive config options

* 🔨 remove forks and chain parameters
2022-12-14 00:10:24 -05:00
Noah Citron 56f9d89525
fix(ci): move benchmark ci to separate action (#143) 2022-12-13 20:22:53 -05:00
Giovanni Vignone c26e393b7d
feat: add tx length rpc methods (#142)
* adding documentation for rpc.md

* adding rpc methods in table for rpc.md

* adjusting readme to link to rpc.md

* fixing grammar

* grammar

* adding RPC Methods according to documentation and listing column as Client Function

* adding more description space

* undoing description spacing

* adding get block transaction count by hash to node.rs and rpc.rs

* functioning getblocktransactioncountbyhash function

* removing documentation

* adding second rpc method and simplifying logic

* adjusting example and node.rs

* formatting

* fixing clippy errors

* adding to client and to rpc.md

* formatting

* integrating into client

* u64 return types, rpc.md updated to get_nonce, get_transaction_count -> get_nonce revert

* cargo fmt
2022-12-13 19:19:36 -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
Giovanni Vignone f37aa2aa45
documentation: add rpc docs (#136)
* adding documentation for rpc.md

* adding rpc methods in table for rpc.md

* adjusting readme to link to rpc.md

* fixing grammar

* grammar

* adding RPC Methods according to documentation and listing column as Client Function

* adding more description space

* undoing description spacing
2022-12-11 11:45:34 -05:00
sragss d8db74ede9
fix: surface eth_getStorageAt (#124)
* feat: surface eth_getStorageAt

* add blocktag

* cargo fmt
2022-12-08 10:57:21 -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
sragss e132706f0b
fix: prepend 0x to eth_getCode responses (#125) 2022-12-02 18:42:58 -05:00
refcell.eth 7e3fe40613
feat(examples): Introduces working examples (#126)
* ⚙️ examples and more cleanup

* ⚙️ examples
2022-12-02 18:41:50 -05:00