Commit Graph

155 Commits

Author SHA1 Message Date
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
Noah Citron 568934e4e3
documentation: write readme (#73)
* documentation: write readme

* fix build badge

* fix badge

* fix badge

* fix badge

* fix typo

* typo
2022-10-26 16:12:35 -04:00
Noah Citron 8588485665
fix: release ci (#72) 2022-10-25 19:27:33 -04:00
Noah Citron e801b0b926
fix: better bootstrap error message (#71) 2022-10-25 19:10:49 -04:00
Noah Citron 56d0ce5a72
refactor: rename to helios #70) 2022-10-25 18:23:43 -04:00
Noah Citron 4757fa06ff
fix: use updated consensus layer light client api (#68)
* update consensus api

* update mainnet checkpoint
2022-10-13 13:59:37 -04:00
Noah Citron 98420e5d63
fix: dns and file errors (#67) 2022-10-05 16:06:15 -04:00
Noah Citron edfa536987
fix: rpc port override (#65) 2022-10-05 15:10:01 -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 c57c866c17
feat: parallel tx receipt fetching (#57) 2022-09-23 22:52:51 -04:00
Noah Citron fb28a61043
feat: add forced shutdowns (#56) 2022-09-23 22:09:03 -04:00
Noah Citron 1196c0181d
fix: handle access list gas requirements (#54) 2022-09-23 20:37:28 -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 9c3e5f4833
chore: better retry parameters (#45) 2022-09-22 15:42: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 c4e222b319
feat: mainnet support (#40)
* feat: mainnet support

* lint
2022-09-15 17:56:42 -04:00
Noah Citron 8f3b32d39d
feat: add installer (#37) 2022-09-15 17:13:10 -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