Commit Graph

7448 Commits

Author SHA1 Message Date
Matthias Seitz
40579bf233 test: decrease test timeout for keep alive (#523) 2022-12-19 18:03:50 +01:00
Matthias Seitz
e713b0c015 fix(net): poll after starting disconnect (#522) 2022-12-19 18:03:36 +01:00
Matthias Seitz
aac078a132 fix(net): add already connected check (#521)
* fix(net): add already connected check

* fix: get events before adding peer
2022-12-19 18:03:10 +01:00
Dan Cline
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
Matthias Seitz
f8b719e04c refactor(disc): use KBucekt entry API (#518)
* refactor(disc): use entry API

* refactor(disc): cleanup

* chore: rustfmt
2022-12-19 16:54:03 +01:00
Matthias Seitz
dc85695d0d fix(net): set disconnect status (#520) 2022-12-19 16:22:55 +01:00
Matthias Seitz
a5f01238b9 feat(net): allow disconnect with reason (#519) 2022-12-19 16:22:24 +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
Bjerg
bdec2357d2 fix: properly convert unknown error codes (#510) 2022-12-19 11:31:18 +02:00
Michael Sproul
e62b1cca10 meta(license): add years and authors (#512) 2022-12-19 10:54:21 +02:00
Matthias Seitz
bffc829bcb perf(net): increase udp channel buffers (#508)
* perf(net): increase channel buffers

* Update crates/net/discv4/src/config.rs

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
2022-12-18 15:22:19 +01:00
Matthias Seitz
ddc78ef733 chore(deps): bump ethers (#507) 2022-12-18 15:09:43 +02:00
Georgios Konstantopoulos
1e8098cd30 chore: add self to codeowners for all pkgs 2022-12-18 14:22:41 +02:00
Bjerg
75fb90be9a refactor: move metrics endpoint to node cmd (#505)
* refactor: move metrics endpoint to node cmd

* feat: value names

* refactor: simplify db path parsing
2022-12-18 13:57:37 +02:00
Bjerg
2b06d43465 chore: add codeowners (#504)
* chore: add codeowners

* chore: add @onbjerg as owner of `bin`
2022-12-18 00:26:43 +01:00
Tomás
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
0xYami
0a4bf67c32 chore: complete StageDB -> Transaction renaming (#497) 2022-12-16 23:16:31 +01:00
Mariano A. Nicolini
4da574df84 feat: add prometheus support (#474) 2022-12-16 20:21:26 +01:00
Matthias Seitz
c1f124d3e3 feat(net): temporarily ban bad peers (#492)
* feat(net): temporarily ban bad peers

* use half duration interval

* Update crates/net/network/src/peers/manager.rs

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>

* fix bad test

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
2022-12-16 18:22:25 +01:00
Bjerg
3989d5d3e0 feat: add more tables to db list (#491)
* feat: add more tables to db list

* feat: table macro for db command

* feat: lowercase table arg in db cmd

* chore: fix some rustdocs
2022-12-16 18:00:15 +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
Matthias Seitz
345b2c35b9 fix: apply reputation (#487)
* fix: apply reputation

* add note
2022-12-16 13:36:58 +01:00
Dan Cline
635203759b feat(discv4): support eth entries (#447)
* add ENRRequest and ENRResponse messages

 * todo: encode and decode impls

* scaffold enrrequest and enrresponse msgs

* implement encodable and decodable for enr

* cargo fmt

* impl sending enr requests

* silence clippy for now

* add todos for enrrequest and response in mocks

* make payload length fold more explicit

* feat: add enr support to ping pong

* integrate enr

* add update methods

* add enr handling

* feat: add enr handling

* integrate fork id

* fix: set frontier forkid

* disable eip868 by default

* address comments

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2022-12-16 14:14:19 +02:00
Matthias Seitz
864e6481da fix: set forkfilter correctly (#486)
* fix: set forkfilter correctly

* fix types

* update tests
2022-12-16 14:14:07 +02:00
Bjerg
8e4a35ae31 chore: clean up traces (#481)
* chore: clean up traces

* fix: typo in error
2022-12-16 11:24:46 +02:00
Bjerg
ca204a346d chore: use later block (#480)
The block we chose for testing sync previously did not include
any transactions.
2022-12-16 11:18:27 +02:00
rakita
617ae3604d feat(doc): Changeid table design (#430)
* Table design

* v2

* v3

* Update database.md

* Update docs/design/database.md

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-12-16 10:20:43 +02:00
Roman Krasiuk
e9ec6c2847 fix(sync): remove redundant error (#476) 2022-12-16 10:08:49 +02:00
Matthias Seitz
6a70494612 fix(net): use frontier forkid as default (#478) 2022-12-16 10:08:16 +02:00
Roman Krasiuk
f89fb4b453 fix(sync): database integrity header error message (#475) 2022-12-15 23:00:56 +01:00
mempirate
b1ce398dff feat(net): add Status to session established event (#473) 2022-12-15 22:37:03 +01: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
Bjerg
789dc3bc87 feat: request multiple bodies per request (#468) 2022-12-15 18:39:47 +01:00
Georgios Konstantopoulos
9cd5824f35 chore: rename StageDB to Transaction (#470)
* chore: rename StageDB to Transaction

* chore: cargo fmt

* chore: add note about potentially removing this in the future
2022-12-15 18:14:14 +02:00
Bjerg
c10bdb5830 feat: add flag for displaying log target (#469) 2022-12-15 18:08:29 +02:00
mempirate
6e577c6e5f feat(net): request peer by id through PeersHandle (#464) 2022-12-15 17:10:21 +02:00
Bjerg
f509213cb4 refactor: clean up reth node (#450)
* feat: parse genesis block from a json spec

* refactor: clean up `init_genesis`
2022-12-15 17:09:31 +02: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
Satoshi Okamoto
4c298ac022 docs: macos install steps (#460)
* Add MacOS installatin docs

* move installatio instruction to book

* move installatio instruction to book

* fix installation link in readme

* Remove installation link from docs, add link to installation in book summary

Co-authored-by: Satoshi Okamoto <satoshi@butcher73.com>
2022-12-15 12:55:59 +01:00
Oliver Nordbjerg
48fadbdf2e fix: missing import 2022-12-15 13:53:20 +02:00
Bjerg
f8b4251886 feat: don't stop the pipeline on internal stage errs (#453)
* feat: don't stop the pipeline on internal stage errs

* test: add tests for pipeline err handling

* chore: few notes

* refactor: stage error fatal/recoverable variants

* refactor: use recoverable errors in headers stage

* test: adjust tests

* chore: nits

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-12-15 12:48:41 +01:00
Matthias Seitz
9dbf280bfb docs(net): add bird's eye view docs (#456) 2022-12-15 11:36:58 +02: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
Matthias Seitz
f2707d32b5 fix(net): kick useless peers (#451) 2022-12-15 10:04:22 +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
joshieDo
7b6bf0820e fix(cli): remove usage of StageDB on DbTool (#448)
* use view and update instead of StageDB

* change DbTool docs

* clippy
2022-12-15 08:33:49 +01:00
Matthias Seitz
43f6bb9127 feat(net): integrate discovery banlist (#442)
* feat(net): integrate discovery banlist

* fix typos
2022-12-14 19:47:11 +02:00
Bjerg
ae2fc494c8 test: fix header dl error test (#441) 2022-12-14 17:32:26 +02: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