Commit Graph

130 Commits

Author SHA1 Message Date
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
HAOYUatHZ e8642fe521
build(github CI): replace `actions/cache@v2` with `Swatinem/rust-cache@v2` (#123) 2022-12-02 18:39:41 -05:00
HAOYUatHZ e4071fea6e
build(CI): add cargo clippy (#122) 2022-12-01 20:21:20 -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
Abdel @ StarkWare 4d721e86c3
chore: export CallOpts type (#118) 2022-11-30 08:48:12 -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
HAOYUatHZ f74724763c
build(github CI): add cargo cache (#109) 2022-11-22 11:45:14 -05:00
HAOYUatHZ 81c2d6ddd7
build: add rust_toolchain (#110) 2022-11-22 11:32:08 -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 23bb207f1a
refactor: promote constant; switch to list chunking (#107)
* promote constant; switch to list chunking

* cargo fmt

Co-authored-by: Noah Citron <noah@jeff.org>
2022-11-11 19:45:08 -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
Pablo Carranza Vélez d13df518d6
fix: explicit check for invalid divergent paths (#100)
* fix: avoid computing a wrong shared prefix length in proofs

* fix: avoid looping over the node_path twice, and fix test

* fix: properly validate proofs with divergent paths

* fix: cargo fmt

* fix: typo

* fix: tokio tests must be async
2022-11-09 13:20:19 -05:00
dadepo 2dbe057e3a
refactor: add count parameter to get_update and use 128 as the limit (#97)
* Make get_update take count. Limit count to 128 as specified in the spec

* use u8 instead of u32

* run cargo fmt to fix formating

* fix compilation in tests

* moved constants module into the consensus package
2022-11-08 16:24:55 -05:00
guacamoleoverflow b5d1dbc638
chore: fix typos (#96) 2022-11-08 04:57:40 -05:00
Noah Citron 4c72344b55
documentation: update readme (#95) 2022-11-07 17:50:25 -05:00
Noah Citron 6ff501352b
fix: install instructions (#94) 2022-11-07 16:21:35 -05:00
Noah Citron 23d0e6f658
chore: bumb version (#93) 2022-11-07 13:42:40 -05:00
Noah Citron 719c8c04c7
documentation: update readme (#92)
* update readme

* make tg badge blue

* lowercase badge titles

* lowercase license

* typo
2022-11-07 13:00:22 -05:00
Noah Citron b56dfbb5a7
feat: provide default consensus rpc (#91) 2022-11-07 10:24:37 -05:00
Noah Citron cbb96abd65
fix: better call error handling (#90) 2022-11-04 20:10:24 -04: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 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 20c86907e2
chore: render toml in readme (#86) 2022-11-03 21:57:46 -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 d06fb73803
fix proof (#77) 2022-11-01 20:40:37 -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 5e53cd6300
documentation: add license (#74) 2022-10-26 16:20:57 -04:00