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
Noah Citron
dc0e31cedd
fix: allow from in eth_call and eth_estimateGas ( #4 )
...
* fix gas esimtation in uniswap frontend
* calculate empty account
2022-09-01 15:58:45 -04:00
Noah Citron
92e30c3d50
feat: add metamask support ( #2 )
...
* add eth_getBlockByNumber and net_version
* fmt
2022-08-31 17:40:44 -04:00
Noah Citron
374dd1f38f
add optimistic updates ( #1 )
2022-08-30 20:31:58 -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