Commit Graph

250 Commits

Author SHA1 Message Date
71bc1451af fix: use correct type for NewPooledTransactionHashes68 (#1548) 2023-02-28 21:20:02 +01:00
c168ef4433 feat: implement eth handshake disconnects (#1494) 2023-02-22 12:18:12 +01:00
0fc9f67af8 feat(eth-wire): add td bitlen check in handshake (#1490) 2023-02-21 16:41:51 -05:00
f78da81e1e feat(net): support eth68 transactions (#1482) 2023-02-21 14:34:59 -05:00
f0f8f417d6 chore: add EthVersion::LATEST constant (#1479) 2023-02-21 09:26:30 -05:00
1d2bb1f11d chore: add eth68 to default capabilities (#1475) 2023-02-21 09:26:09 -05:00
c9075920c1 feat(net): support eth/68 (#1361)
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-02-20 19:37:03 -08:00
dba6b24bde chore: clippy fixes and make benches compile again (#1449) 2023-02-18 13:44:06 +01:00
f979c6c1fb chore: reexport bytes & bump version to 1.4 (#1395) 2023-02-16 10:33:28 -08:00
e97753c768 feat: withdrawals (#1322)
Co-authored-by: rakita <rakita@users.noreply.github.com>
2023-02-16 04:44:05 -08:00
d19720aa77 chore: add test for status init (#1388) 2023-02-15 18:20:59 -08:00
4f1ec0d8d2 fix: use td from current head for status (#1386) 2023-02-15 16:08:37 -08:00
3d60a24f9b perf: reuse genesis hash (#1271) 2023-02-10 14:20:43 +01:00
c7c76e9a5b feat(primitives): rm RawBlockBody, use Block (#1263) 2023-02-10 00:59:15 +01:00
1d1d90bd19 feat: optional serde features (#1214)
Co-authored-by: lambdaclass-user <github@lambdaclass.com>
2023-02-07 15:52:32 -08:00
02a6aec3fb feat: support time-based forking (#1128) 2023-02-06 12:55:41 -08:00
1f64d8e9d7 refactor: pull reth/common/rlp up to reth/rlp (#1146) 2023-02-02 13:54:13 -08:00
0c341ed9ce Revert "feat: support time-based forking" (#1090) 2023-01-30 10:58:55 -08:00
87306f2892 ci: ensure docs build (#1073)
Co-authored-by: xqft <estefano.bargas@fing.edu.uy>
Co-authored-by: lambdaclass-user <github@lambdaclass.com>
2023-01-27 18:49:22 +01:00
9cdead5646 feat: support time-based forking (#985) 2023-01-27 10:49:54 -05:00
1d5cce1092 fix(eth-wire): send p2p handshake disconnects (#1047) 2023-01-26 15:01:53 +01:00
2ae88b01df test: fix failing doctests (#1024)
Co-authored-by: lambdaclass-user <github@lambdaclass.com>
2023-01-25 04:04:48 +01:00
eb11da8adf fix(net): set status, forkfilter from chainspec (#939) 2023-01-20 10:53:01 +01:00
54e9b12e65 Send pings in P2PStream.poll_ready (#931) 2023-01-19 12:47:23 +01:00
d0e3741136 impl From for Status/SealedHeader (#927) 2023-01-18 19:23:02 -08:00
b07e5be040 chore(eth-wire): trace handshake messages (#910) 2023-01-18 01:07:44 +01:00
f9de425ad8 refactor: unify all chains confs (#747)
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
2023-01-17 07:47:34 -08:00
42f7936470 fix(rlp): receipts from non legacy transactions returning wrong length (#847) 2023-01-16 10:28:13 -08:00
d50d9bd0fe chore(net): Add proptest roundtrip to rlp types (#829) 2023-01-16 09:50:58 -08:00
18dbcd4e6a fix: use correct boolean conversion for direction (#870) 2023-01-13 15:50:39 +01:00
513df631e3 chore: convert warn,err to debug (#862) 2023-01-13 12:00:57 +01:00
c4bafe809b fix: clippy warnings, or_fun_call and unnecessary_lazy_evaluations (#846) 2023-01-13 11:10:02 +01:00
5b63437039 chore(net): set_capability_offsets tests and refactors (#763)
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2023-01-12 11:09:21 +01:00
20ee1bb1c9 refactor: move cli trace helpers to reth-tracing (#820) 2023-01-11 10:20:37 -08:00
31cb66902e fix: Fix typos (#773) 2023-01-09 01:43:51 +01:00
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
dafc01dde7 feat(net): add eth66 to default caps (#673) 2023-01-01 18:32:35 +02:00
1ba81191f6 perf(net): backoff on IO error (#633) 2022-12-28 12:43:02 +01:00
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
a51fa4fd63 docs(book): start book chapter for network crate (#445)
* WIP FOR DRAFT PR

* WIP draft, walking through usage in pipeline

* diving deeper into instantiation of NetworkHandle & FetchClient

* WIP network management task & eth requests task done (ish)

* address pr comments: networkmanager as standalone task, networkconfig as main entrypoint for setup

* complete draft of the  crate docs

* restructured, starts w/ expl of

* added more snippets/anchors

* using ignore flag on code blocks, brief explanation of  struct

* typos addressed
2022-12-27 14:53:15 -08:00
a2c1cdb399 refactor(net): deduplicate error variants (#619) 2022-12-26 23:29:26 +01:00
ebd686a407 refactor(net): rename and restructure wire error types (#614) 2022-12-26 16:33:59 +02:00
7c80dde0ec fix(net): check for handshake disconnect (#596) 2022-12-24 00:58:43 +01:00
d84eb9d93c fix(net): add capacity check on ping (#558) 2022-12-21 15:41:14 +02:00
151420df58 fix(net): encode ping pong as snappy (#555) 2022-12-21 15:24:41 +02:00
21564b43a2 feat(eth-wire): enforce test-fuzz traits pre-fuzz (#545)
* directs types we generate fuzz tests for to a method that is more
   restrictive in the traits each input type should implement, so if any
   type does not implement the test-fuzz required traits it will fail to
   compile instead of fail to autogenerate a fuzz test at runtime.
2022-12-20 20:32:17 +01:00
aab385c84a feat(eth-wire): RLP encode then compress (#535) 2022-12-20 14:33:47 +02:00
5758c297b3 fix(eth-wire): fix disconnect reason rlp decoding (#502)
* add trace in DisconnectReason Decodable impl

* add trace for decoding p2p hello

* add traces to p2p and eth stream

* refactor P2PMessage decoding

 * improve disconnect tracing

* s/Hello/first

* add geth disconnect test

* add disconnectreason test cases

* add known failing disconnect messages

* add trace when disconnect reason decoding fails

* cargo fmt

* add more examples

 * adding more as they appear in traces
 * will add the rest since they can be exhaustively enumerated

* add every other possible encoding

* fix disconnect decoding

 * the four possible formats for a disconnect message (rlp list (y/n) x
   snappy (y/n)):
   * encoded as a single rlp byte
     * with snappy
     * without snappy
   * encoded as a rlp list
     * with snappy
     * without snappy
 * fix the type for decoding in the test_decode_known_reasons test

* sort reasons by length in test

* remove printlns

* use one call to advance

* simplify decode impl to strip last byte

 * todo: comment explaining the different formats being parsed?

* explicitly remove geth as a peer

* style: traces

* add another disconnect code from geth

* fix: add check for DisconnectRequested

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2022-12-19 11:19:08 -05:00
dc85695d0d fix(net): set disconnect status (#520) 2022-12-19 16:22:55 +01:00
253aae5ea9 RLP decoding error tracing (#499)
* Add tracing to ProtocolMessage::decode errors

* Change trace message formatting

Now it prints the bytes as a hex string.
Also changed trace level to WARN and added 'handshake' to one of the traces to differentiate between them

* Add prefix to raw message bytes

* Specify 'eth' in trace message

to differentiate it from other handshakes

Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com>

Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com>
2022-12-16 20:57:48 -05:00