Andreas Bigger
4279c65cda
builder refactor
2023-03-17 09:51:40 -04:00
Andreas Bigger
f679a7c5c8
bad merge
2023-03-16 23:18:49 -04:00
Andreas Bigger
43850702c2
large upstream sync ♻️
2023-03-16 23:18:00 -04:00
Noah Citron
5a32f30686
feat: fee history ( #211 )
...
* client get_fee_history
* node get_fee_history
* errors: InvalidBaseGaseFee
* execution get_fee_history
* http rpc get_fee_history
* moc rpc get_fee_history and json file
* module add get_fee_history
* update exec
* test feehistory
* update execution with logging + better logic
* fee history config loader
* rust fmt client
* rustfmt node
* rustfmt error
* rustfmt execution
* rustfmt http and moc rpc
* rustfmt mod.rs
* fee history formating
* correct typos
* use env var
* InvalidGasUsedRatio error
* check gas used ratio
* remove logging
* Update execution/src/errors.rs
Co-authored-by: refcell.eth <abigger87@gmail.com>
* Update execution/src/execution.rs
Co-authored-by: refcell.eth <abigger87@gmail.com>
* adding block and payload errors
* using error
* handle error in test
* fix: evm panic on slot not found (#208 )
* fixes, but test fails
* fix: cleanup and example (#210 )
* clean up fee history
* bump time dep in chrono, thx dependabot
* add benches to pr
* sleep
* fmt ✨
* place benching behind a man flag
---------
Co-authored-by: SFYLL <santiagoflood@hotmail.fr>
Co-authored-by: SFYLL <39958632+SFYLL@users.noreply.github.com>
Co-authored-by: refcell.eth <abigger87@gmail.com>
2023-03-11 01:59:29 -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
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
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
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
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
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
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
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
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
Andreas Bigger
2a37dbcb22
♻️ upstream sync
2022-12-03 08:14:21 -08:00
Andreas Bigger
38091aaa00
:caution: rfc
2022-12-03 07:58:58 -08: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
Andreas Bigger
4f99cfef95
more websocket progress
2022-12-02 13:39:57 -08:00
Andreas Bigger
81e5a08828
stash websocket progress
2022-12-02 13:30:16 -08:00
Andreas Bigger
f28483dfd7
⚙️ upstream sync
2022-12-02 11:45:53 -08:00
Andreas Bigger
cda8f39b4c
⚙️ examples
2022-12-02 08:24:03 -08: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
Andreas Bigger
55839e5479
🏗️ start websocket support
2022-11-30 09:01:43 -08:00
asnared
21c73c1649
feat: Lints, Clippy, and Cleaning ( #115 )
...
* ✨ cargo fmt smells
* ♻️ cargo cleaning
2022-11-29 17:31:25 -08:00
Noah Citron
5e29149297
fix: remove leading zeros in rpc responses ( #113 )
2022-11-26 16:47:20 -05:00
Simon Saliba
3177ad55c1
feat: add `get_logs` RPC method ( #108 )
...
* Implemented RPC method get_logs
* Limit the max number of logs to 5
* remove unused import
Co-authored-by: Noah Citron <noah@jeff.org>
2022-11-17 12:14:13 -05:00
0xModene
eaf5605d4d
feat: verify checkpoint has valid age ( #105 )
...
* check blockhash has valid timestamp
* remove warn log
* made checkpoint age req configurable
* renamed method to make more sense
* fixed broken tests
* formatting
* unit tests completed
* removed needless imports
* renaming vars
2022-11-14 15:23:51 -05: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
50cdfe25ad
chore: remove rpc logging ( #89 )
2022-11-04 17:09:13 -04:00
Noah Citron
0706755ec2
fix: correct blockhash access in calls ( #88 )
2022-11-04 16:37:30 -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
f605f009a7
feat: add client builder ( #84 )
...
* add client builder
* use client builder in cli
* make build sync
* fix data dir override
* fix tests
2022-11-03 15:24:17 -04:00
Noah Citron
7841eb90e0
chore: pin git dependencies ( #82 )
2022-11-02 21:48:18 -04:00
Noah Citron
43a519d129
fix: use openssl ( #81 )
2022-11-02 20:32:22 -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
4444148f71
feat: handle full tx blocks ( #75 )
...
* fix: implement full tx blocks
* better error handling
* fix tests
2022-10-27 13:46:32 -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
f3b9750eff
fix: prevent stale reads ( #62 )
2022-09-28 17:50:39 -04:00
Noah Citron
aa71f4ac17
refactor: core consensus ( #61 )
...
* try to update next sync committee periodically
* perform verification through generic updates
* apply updates with generic update struct
* better logging
* fix checkpoint save
* clean up
* better update timing
2022-09-28 16:48:24 -04:00
Noah Citron
fb28a61043
feat: add forced shutdowns ( #56 )
2022-09-23 22:09:03 -04:00