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
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
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
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
Noah Citron
4a347e3b2c
feat: evm efficiency improvements ( #53 )
...
* feat: evm efficiency improvements
* remove get_code tests
2022-09-23 19:40:01 -04:00
Noah Citron
e2eb7a731a
chore: fix typos ( #50 )
2022-09-22 23:41:17 -04:00
Noah Citron
5b55c1b35e
feat: require execution rpc ( #49 )
2022-09-22 23:34:34 -04:00
Noah Citron
b137df4b85
fix: handle null rpc responses ( #47 )
2022-09-22 23:19:24 -04:00
Noah Citron
abfed6a8fe
feat: use RwLock for concurrent reads ( #46 )
...
* feat: use RwLock for concurrent reads
* use reads for most client actions
2022-09-22 17:30:47 -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
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
4719717ddb
fix: node memory leak ( #30 )
...
* fix: node memory leak
* fix ci
* typo
* set override
* set uses
* fix
* remove duplicate name
* use nightly
* fix tests
* use BTreeMap for payload cache
2022-09-14 13:57:48 -04:00
Noah Citron
56385f15ed
feat: support finalized block tag ( #28 )
2022-09-12 19:23:37 -04:00
Noah Citron
cf6c211516
feat: refactor client ( #17 )
...
* seperate client and node
* encapsule rpc inside client
* pass proper port into rpc
* track chain head in seperate thread
* client new takes config instead of arc
* refactor main
* add start method to client
2022-09-10 00:01:23 -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
95daee7186
fix: add full block and tx context to call ( #10 )
2022-09-02 15:29:51 -04:00
Noah Citron
dbeeffb9f9
feat: add eth_getBlockByHash ( #9 )
2022-09-02 00:13:22 -04:00
Noah Citron
e0411e1e97
feat: add eth_getTransactionByHash ( #8 )
...
* add eth_getTransactionByHash
* clean up imports
2022-09-01 23:28:37 -04:00
Noah Citron
11fd824b01
feat: add eth_getTransactionReceipt ( #6 )
2022-09-01 20:28:12 -04:00
Noah Citron
76a230446d
feat: add eth_sendRawTransaction ( #5 )
2022-09-01 17:07:30 -04:00