292f5f22bc
docs: add review of erigon/akula
2022-12-06 18:02:04 -08:00
b34e2bfa45
docs: reth design decisions
...
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-06 18:02:04 -08:00
181954ec66
docs(contributing): make explicit that contribs are apache/mit
2022-12-06 18:02:04 -08:00
449321ddc4
refactor(db): separate transaction indexes from block body ( #326 )
2022-12-06 18:02:04 -08:00
925001e1ee
move tokio utils to dev dep ( #345 )
2022-12-06 18:02:04 -08:00
ce8f61f0a5
Draft Layout for Reth walkthrough ( #344 )
2022-12-06 18:02:04 -08:00
a0a40a9c3d
chore(db): change table macro tokens ( #343 )
2022-12-06 18:02:04 -08:00
9628d03871
feat(sync): headers commit threshold ( #296 )
...
* headers stream init
* fix tests
* return header if available regardless of control flow
* proper stream termination & docs
* upd headers stage to consume stream
* adjust response validation for stream
* use cursor.insert for headers
* wrap poll_next in a loop to bypass poking waker
* fix typo
* fix last td lookup
* Apply suggestions from code review
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* misc
* remove waker ref
* dedup response handling logic
* clippy
* add docs to poll
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-06 18:02:04 -08:00
2671cd1cb6
chore(primitives): impl serde traits for ForkId ( #342 )
2022-12-06 18:02:04 -08:00
4643f840d7
chore(deps): get rid of unused deps ( #339 )
2022-12-06 18:02:04 -08:00
5e37ef8226
style(net): use pin_project on eceis stream ( #338 )
2022-12-06 18:02:04 -08:00
0b8d50127c
refactor(net): box ecies error ( #337 )
2022-12-06 18:02:04 -08:00
b40546b999
refactor(net): misc P2Pstream refactor ( #336 )
...
* refactor(net): misc P2Pstream refactor
* update note
2022-12-06 18:02:04 -08:00
074e69cafb
chore(net): remove unused function ( #335 )
2022-12-06 18:02:04 -08:00
a4472ca1c6
chore(clippy): make clippy happy ( #334 )
2022-12-06 18:02:04 -08:00
a68cb3f357
feat(stage): Add execution stage ( #287 )
...
* Execution stage
* StorageProviderRef. cleanup, fmt/clippy
* block inclusion
* insert blocks for execution stage
* Sanity test for execution stage
* nits
* Update crates/stages/src/stages/execution.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Update crates/stages/Cargo.toml
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Update crates/stages/src/stages/execution.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Update crates/stages/src/stages/execution.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* feat(execution) Execution change diff. (#323 )
* Insert to execution changediffs
* progress on exec stage unwind
* wip
* Remove tables:BlockBody from execution stage
* unwind passing
* Nits cleanup and refactoring
* DatabaseIntegrity errors
* KECCAK_EMPTY acc to None
* Update crates/interfaces/src/db/tables.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Update crates/interfaces/src/provider/block.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Update crates/stages/src/stages/execution.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* nits
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-06 18:02:04 -08:00
75879b2027
chore(ecies): remove body size check ( #328 )
...
* remove body size check
* cargo fmt
2022-12-06 18:02:04 -08:00
13df80c1d1
chore(codecs): contain [Struct]Flags in a mod and import what's necessary ( #329 )
...
* contain StructFlags in a mod with its imports
* update code generation test
2022-12-06 18:02:04 -08:00
f65969e90f
perf(net): exclude bootnodes from update stream ( #319 )
2022-12-06 18:02:04 -08:00
2b6ef0afcf
fix(eth-wire): encode p2p message id as valid rlp ( #324 )
2022-12-06 18:02:04 -08:00
4f370e9ada
docs: update readme
2022-12-06 18:02:04 -08:00
1668313d55
perf(disc): instantly lookup self in DHT ( #314 )
...
* perf(disc): instantly lookup self in DHT
* Update crates/net/discv4/src/lib.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-06 18:02:04 -08:00
12212ec91a
fix(disc): set trace target correctly ( #315 )
2022-12-06 18:02:04 -08:00
4c4357a1bc
docs: expand readme ( #316 )
...
* wip
* link to warning
* update readme
* add more acknowledgments
* chore: fix typo in readme
* more readme
* refactor goals into the what is reth section
* clarify Reth is EL and make dir layout explicit
2022-12-06 18:02:01 -08:00
5300c83a50
feat(net): send full transactions to fraction of all peers ( #272 )
...
* refactor(net): use shared objects on a per peer basis
* feat(net): send full transactions to fraction of all peers
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-02 04:21:23 -08:00
debc87177c
fix(eth-wire): handle 0x80 for DisconnectReason and P2PMessageID ( #313 )
...
* fix disconnect reason encoding
* move disconnect to own file
* add encoding test for 0x80 in list
* rlp([0u8]) is a good test case to have because it is the RLP encoding
of a DisconnectRequested p2p message
* fix disconnect encoding and decoding
* directly decode the disconnect id to handle the 0x80 case of
DisconnectRequested
* the previous manual snappy encoding / decoding was incorrect - a
snappy encoded disconnect message is 4 bytes, not 3 bytes. The tests
and implementation are changed to reflect this.
* fix p2p message decoding
* had a similar issue to disconnect reason decoding where it would not
handle a 0x80 message id
* make invalid rlp header case more explicit
* cargo fmt
2022-12-02 04:21:00 -08:00
743b1bd6ba
meta(txpool): fairer order function via timestamp ( #281 )
2022-12-02 03:58:21 -08:00
bb014eea25
codecs: "type specialization" for Compact on Vec<T> & Option<T> ( #297 )
...
* maybe_zero no longer necessary on bytecode_hash
* add alt impl for Compact to/from
* add some more docs
* add default vec impl on generator test
* use default trait impl
* rename from alternative to specialized
2022-12-02 01:56:08 -08:00
c7ec4512c8
feat(db): cursor insert ( #310 )
2022-12-01 19:31:32 -08:00
bc3702ec42
chore(rlp): add comment on 0x80 decoding ( #312 )
...
* add comment on 0x80 decoding
* decode 0x80 into zero explicitly
* add explicit 0x80 decoding for ethereum types
2022-12-01 21:27:33 -05:00
a3f9e28d71
chore: prepare main readme for oss ( #302 )
...
* chore: prepare main readme for oss
* fix: use correct tg url
* fix: use %5F instead of underscore
* chore: add build/security/contrib guidelines
* chore: cleanup
* feat: expand vision
* chore: apply suggestions from code review
Co-authored-by: joshieDo <93316087+joshieDo@users.noreply.github.com >
Co-authored-by: joshieDo <93316087+joshieDo@users.noreply.github.com >
2022-12-01 11:53:19 -08:00
04105ec82b
test: add mainnet connection test ( #306 )
2022-12-01 17:59:52 +01:00
a0c35f1f48
refactor: replace reverse with HeadersDirection ( #305 )
2022-12-01 17:59:33 +01:00
53b1593849
add comment & test ( #309 )
2022-12-01 08:38:56 -08:00
3355b0c605
test(net): add e2e request body test ( #304 )
...
* test(net): add e2e request body test
* test(net): add e2e request header test
2022-12-01 15:35:14 +01:00
a267515a60
add a more complete description of the error ( #303 )
2022-12-01 01:41:09 -08:00
3541ebee9e
docs: contributing ( #290 )
...
* initialized contributing doc based off of foundry
* chore: set new chatrooms
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-11-30 17:29:59 -08:00
6f0349a4b7
docs: basic security doc ( #285 )
2022-11-30 14:02:34 -08:00
b7a2951eaa
docs: crude release workflow doc ( #284 )
...
* docs: crude release workflow checklist
* docs: add changelog
The changelog format is based on [Keep a Changelog][kac] and can
be somewhat automated.
[kac]: https://keepachangelog.com/en/1.0.0/
2022-11-30 14:02:17 -08:00
480097a7ca
feat(net): add eth request handler ( #293 )
...
* feat(net): add block request manager
* refactor: change ommers type to Header
* feat: impl handlers
* rename to EthRequestHandler
* impl checks
* fix: skip as step
* chore: rustfmt
2022-11-30 21:19:50 +01:00
d0e9e6fe80
feat: add header by number provider fn ( #299 )
...
* feat: add header by number provider fn
* Update crates/interfaces/src/provider/block.rs
Co-authored-by: rakita <rakita@users.noreply.github.com >
Co-authored-by: rakita <rakita@users.noreply.github.com >
2022-11-30 14:05:46 +01:00
69b2adab1a
docs(repo): add p2p architecture details in layout ( #295 )
...
* remove net/p2p docs as it only contains anchor currently, which is
not integrated
2022-11-30 13:06:22 +01:00
267b857a8f
refactor: change ommers type to Header ( #292 )
2022-11-30 00:13:52 +01:00
7879389059
chore(net): deny unused and cleanup ( #289 )
2022-11-29 20:57:40 +01:00
97ea20e9d5
feat(net): add swarm mermaid diagram ( #288 )
2022-11-29 20:15:17 +01:00
e53ed8ffc2
refactor(net): use shared objects on a per peer basis ( #270 )
2022-11-29 11:43:45 +01:00
d0b31bb074
feat: add issue templates ( #282 )
2022-11-29 11:36:09 +01:00
d12addefb9
docs: expand on status labels ( #283 )
2022-11-29 11:35:39 +01:00
8bbb9a71db
docs: link to book ( #286 )
...
* docs: explain diff between `docs` and `book`
* docs: link to book
2022-11-29 11:33:50 +01:00
3ac52bae84
chore(sync): unwind tx by latest available ( #280 )
2022-11-28 14:49:54 -08:00