Roman Krasiuk
bd540c70ce
feat(download): bodies task downloader and header selection fix ( #1049 )
2023-01-26 04:43:22 -08:00
Aurélien
e493720f64
feat: integrate chain_id and protocol_version in NetworkInfo ( #1029 )
2023-01-25 13:08:40 +01:00
Matthias Seitz
6c37b0aa1b
feat: add task header downloader ( #958 )
2023-01-25 12:32:28 +01:00
Roman Krasiuk
d08aa94f5d
feat(download): bodies downloader metrics ( #1027 )
2023-01-25 02:59:12 -08:00
Roman Krasiuk
c5cd64bb0e
chore(download): cleanup bodies downloader errors ( #1026 )
2023-01-25 02:05:24 -08:00
Roman Krasiuk
e195e1d14c
chore(download): propagate fatal bodies db error ( #1008 )
2023-01-24 06:17:53 -08:00
Bjerg
7905100f6d
refactor: use dyn Consensus ( #1007 )
2023-01-24 14:33:48 +01:00
Matthias Seitz
a24048a237
refactor: deprecate downloader trait ( #959 )
2023-01-24 13:38:11 +01:00
Roman Krasiuk
d601895940
feat(download): bodies downloader stream ( #905 )
...
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2023-01-23 10:48:03 -08:00
Ikechukwu Ahiara Marvellous
a331b54bb0
Create Network variant in reth_interfaces::Error ( #950 )
2023-01-22 20:59:50 +01:00
Matthias Seitz
009d2056f9
fix: mark response correctly ( #966 )
2023-01-22 16:48:04 +01:00
Aurélien
583426bb95
Prevent follow-up requests if a response is likely bad ( #946 )
2023-01-21 20:13:20 -08:00
Ikechukwu Ahiara Marvellous
ac9f26fcab
Extend HeadersClient, BodiesClient with a priority argument ( #935 )
...
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2023-01-20 14:20:46 +01:00
Matthias Seitz
b4080a7de5
feat: concurrent headers downloader ( #891 )
2023-01-20 12:06:06 +01:00
rakita
899d011bfd
feat: add AccountHashingStage and StorageHashingStage ( #756 )
...
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2023-01-18 10:22:39 -08:00
Kim, JinSan
161fe0d957
test: signature & transaction w/ EIP155 ( #914 )
2023-01-18 09:48:52 -08:00
rakita
4f91344b5b
feat: BlockTransition remove hash from NumHash db index ( #894 )
2023-01-17 16:18:31 -08:00
Matthias Seitz
79fad91ca0
feat(net): integrate num active peers in downloader ( #900 )
...
Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com >
2023-01-17 01:31:52 -08:00
LambdaClass
a1c8a34711
test: add test for header stage two step download ( #843 )
2023-01-13 14:40:42 -08:00
Kim, JinSan
c4bafe809b
fix: clippy warnings, or_fun_call and unnecessary_lazy_evaluations ( #846 )
2023-01-13 11:10:02 +01:00
Dimitris Apostolou
31cb66902e
fix: Fix typos ( #773 )
2023-01-09 01:43:51 +01:00
joshieDo
6407b5087e
chore: use B160, B256 and U256 coming from revm and ruint ( #676 )
...
* use B256, B160 and U256 from revm
* fix U256 from_str
* use U256::ZERO
* use temporary commit for revm and interpreter
* more U256::ZERO
* more changes for revm/ruint types
* clippy
* change revm and revm-interpreter repo
* remove H160 wrap
* minor cleanup
* remove unused
* fix MIN_PROTOCOL_BASE_FEE
2023-01-04 11:11:48 +02:00
Matthias Seitz
debf21d34e
feat: add SyncState traits ( #693 )
...
* feat: add SyncState traits
* docs: clarify execution stage
2023-01-03 14:56:50 +02:00
Matthias Seitz
c7dc22fd41
fix: remove BlockExecutor default impl
2023-01-03 13:24:06 +01:00
Roman Krasiuk
a7d8059357
test(engine): consensus engine tests ( #648 )
2022-12-30 13:17:27 +02:00
Matthias Seitz
3ab6c278e8
fix(net): improve error propagation ( #620 )
...
* fix(net): improve error propagation
* refactor: unify on closed session
* add noop helpers
* add noop helpers
* test setup
* test: add dropped connection test
* rename mock --> test-utils
2022-12-29 16:05:56 +01:00
Andrew Kirillov
d4d8a8c882
Moves code walkthrough book chapters to docs ( #629 )
...
* replaced template blocks with code blocks in stages chapter
* replaced template blocks with code blocks in network chapter
* moved book sections to docs
* fix indentation in recover_signer codeblock
* remove unnecessary TODO comment in network.md
2022-12-28 10:24:39 +01:00
Bjerg
562e895f21
ci: unused dependencies sanity check ( #590 )
...
* ci: add unused deps sanity check
* ci: fix unused deps issue template title
* ci: rename udeps job
* chore: formatting
* chore: make `cargo-udeps` ignore `aquamarine`
* deps: resolve unused deps
* ci: check every feature and target in udeps job
2022-12-23 13:19:50 +01:00
Genysys
0b1b5368e6
chore: Rename BlockLocked to SealedBlock ( #573 )
...
* chore: Rename BlockLocked to SealedBlock
* chore: fmt
Co-authored-by: Genysys <112424909+samtvlabs@users.noreply.github.com >
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-22 14:45:36 +02:00
Bjerg
82cd84eca7
test: fix emits_bodies_in_order test ( #534 )
...
* feat(test-utils): make body tx count configurable
* test: fix `emits_bodies_in_order` test
2022-12-20 01:29:04 +01:00
Roman Krasiuk
c1a863d067
test(download): header downloader request attempts & remove duplicates ( #517 )
...
* test(download): header downloader request attempts
* fix comment
2022-12-19 16:18:38 +01:00
Roman Krasiuk
1dca4b58df
test(sync): sender recovery single tx ( #516 )
2022-12-19 16:08:07 +01:00
Roman Krasiuk
daaf039fbf
feat(sync): state transition indexes ( #449 )
...
* introduce state transitions and revert/modify block bodies table
* init refactor
* revamp transaction iteration based on bodies and add state transition mappings
* change expected return on empty db execution
* interim commit
* fix body downloader & stage
* refactor(bodies/dl): make fetch bodies fn more clear
* chore: disable unused vars/fns temporarily until exec is back
* chore: fmt
* test: fix tests
* use transitions in execution stage
* clarify empty unwind test
* remove last_tx_index fn
* rename fn and var names
* fix full block response comment
* rename fetcher`s get_block_body to get_block_bodies
* Update crates/stages/src/db.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* fmt
* fix index overlap check error
* uncomment eth chain command
* fix doc comment
* typos
* cleanup
* any_last_tx_index -> last_tx_index
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me >
2022-12-16 08:37:49 -08:00
Roman Krasiuk
2b0f5316f9
fix(sync): headers stage progress ( #467 )
...
* fix(sync): headers stage progress
* add tests to head/tip and split suite
* fix(sync): headers stage progress
* add tests to head/tip and split suite
* fix local tip and address comments
* rename error
2022-12-15 10:41:32 -08:00
Roman Krasiuk
9208f2fd9b
test(execution): execution test runner ( #426 )
...
* wip run chain test
* dump pre test state
* bug: fix casting to revm spec
* wip move execution to std thread
* wip scoped thread execution
* fmt clippy
* Update crates/stages/src/stages/execution.rs
* Update bin/reth/Cargo.toml
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Update bin/reth/src/test_eth_chain/models.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Correct models for chain tests
Co-authored-by: rakita <dragan0rakita@gmail.com >
Co-authored-by: rakita <rakita@users.noreply.github.com >
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-15 13:39:55 +01:00
Roman Krasiuk
22dc50e5f6
feat(sync): download peer penalization ( #427 )
...
* feat(sync): download peer penalization
* peer penalization
* add tracing on penalization
* add trace on request
* rename consensus back
* clippy
* fix tests
* nit: download result
* nit: fix comment
* rename penalize() to report_bad_message() and move DownloadError
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-15 10:42:18 +02:00
mempirate
c23c65fc3b
feat(net): draft for sending status updates through NetworkHandle ( #436 )
...
* feat(net): draft for sending status updates through `NetworkHandle`
* feat(net): draft for sending status updates through `NetworkHandle`
* fix(net): remove unused import
* feat(net): implement getters for status update sender half
* docs(net): document methods
* chore: cargo fmt
* feat(net): move status updating logic to NetworkManager and NetworkHandle
* feat(net): move status updating logic to NetworkManager and NetworkHandle
* fix(net): fix headers stage testing
* fix: derive default
* fix: remove StatusUpdate struct
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-15 08:59:28 +01:00
dependabot[bot]
c2719ec27e
chore(deps): bump secp256k1 from 0.24.1 to 0.24.2 ( #440 )
...
Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1 ) from 0.24.1 to 0.24.2.
- [Release notes](https://github.com/rust-bitcoin/rust-secp256k1/releases )
- [Changelog](https://github.com/rust-bitcoin/rust-secp256k1/blob/secp256k1-0.24.2/CHANGELOG.md )
- [Commits](https://github.com/rust-bitcoin/rust-secp256k1/compare/secp256k1-0.24.1...secp256k1-0.24.2 )
---
updated-dependencies:
- dependency-name: secp256k1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-14 16:40:16 +02:00
Roman Krasiuk
4430089b71
fix(download): header download stream ( #438 )
...
* fix(downloader): rewrite header stream
* rm unused import
* add comment
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-14 16:38:10 +02:00
Georgios Konstantopoulos
83c89a85e9
Add additional logs for P2P debugging ( #434 )
...
* feat: make logs on network manager more granular
* feat: log error on session disconnect
* temp: manual peer
* temp: manual peer
* feat(linear-dl): make BadResponse error more descriptive
* feat(linear-dl): log retries on future
* chore: add target
* chore: add target
* chore: remove unused var
* chore: remove manual peer override
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me >
2022-12-14 13:53:49 +02:00
0xKitsune
df9d14127d
Reth Book - Stages framework/draft ( #360 )
...
* Added framework and start to draft for stages, stopping here to get feedback on approach before pushing forward
* Update README.md
Fixing some wording / grammar.
* Fixing grammar/wording.
* Added note about non-exhaustive stages list, fixed grammar, fixed State exectuion function name, updated language to reflect that the stream yields a SealedHeader and added language to describe that the initial header validation is only a basic validation.
* updated stages chapter, added bodies, senders, execution, next chapter prelude
* typo
* Added line numbers to code snippets for the stages chapter of the reth book
* address reverse header download + other nits
* add note about book hosting
* tweaked wording, formatting
* Address typo "staring"
* Address typo "HeadderDownloader"
* consolidated book.toml
* updating snippets in stages chapter to ignore errors
* template & removed empty fields from book.toml
* addressed build issues, added templating for source code
* only deploy on push to main
* using single quotes in github action if expression
Co-authored-by: Andrew Kirillov <andrew@paradigm.xyz >
Co-authored-by: Andrew Kirillov <20803092+akirillo@users.noreply.github.com >
2022-12-14 10:30:45 +02:00
Dan Cline
1e38ffa5ad
feat(eth-wire): fuzzing wire encoding roundtrip ( #350 )
...
* move hello to separate file
* cargo fmt
* wip: actual fuzz test
* should probably also take advantage of test-fuzz to generate
benchmarks like impl_fuzzer_with_input
* impl generic roundtrip method
* generate test with macro
* change testname to fuzzname
* add reth-eth-wire to fuzz in ci
* add other message types to fuzz
* remove unused_crate_dependencies
* was causing test issues, may want to revisit whether or not we can
include this warning and still use test_fuzz
* more afl debugging ci
* use more explicit imports in fuzz_rlp
* impl Default for types and fuzz ping/pong
* Default is necessary for test-fuzz to auto generate a corpus for each
type we are fuzz testing
* enable AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES
* not sure if we should do this in the workflow instead:
echo core >/proc/sys/kernel/core_pattern
we may miss crashes if we keep this enabled?
* remove reth-interfaces from fuzzing
* add secp256k1 to reth-db dev deps
2022-12-13 19:10:52 +02:00
Roman Krasiuk
5057e8ec0a
feat(p2p): refactor downloaders and add peer id to the result ( #410 )
...
* feat(p2p): refactor downloaders and add peer id to the result
* rm unused import
* fix tests
* clean up deps
* Update crates/interfaces/src/p2p/error.rs
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
* add split fn
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-13 17:14:45 +01:00
rakita
e014eaad33
feat(db): Refactor storage libraries ( #371 )
2022-12-09 23:14:07 -08:00
0xYYY
fc2dfa7524
fix(interfaces/db): remove unused $seek:ty token in table! macro ( #362 )
...
Co-authored-by: 0xYYY <0xYYY@protonmail.com >
2022-12-08 09:12:44 -08:00
Roman Krasiuk
ba758c5f54
chore(sync): remove timeout from downloader ( #356 )
2022-12-08 04:53:56 -08:00
rakita
4fb3626546
chore: Last PR cleanup, nits ( #353 )
...
* chore: cleanup, tests and nits
* fmt
2022-12-08 11:16:01 +01:00
rakita
d66138e143
feat(execution): Account NotExisting and block reward changesets ( #349 )
2022-12-07 21:10:06 -08:00
Georgios Konstantopoulos
4d718bbf33
s/foundry-rs/paradigmxyz
2022-12-07 00:00:45 -08:00
Roman Krasiuk
449321ddc4
refactor(db): separate transaction indexes from block body ( #326 )
2022-12-06 18:02:04 -08:00