go-ethereum/eth/protocols/eth
Manav Darji c44693706a
RFC35/Common Ancestor: Modifying the forkchoice rule (#425)
* initial

* update

* fix: add validator to NewBlockchain function calls

* handle past chain reorg

* fix: only check with last checkpoint

* rm logs

* add: handle future chain import case

* fix: handle single block case

* add unit tests for past and future chain

* modularise forker tests

* minor fixes

* add: overlapping chain test case, minor fixes

* minor fixes

* add: isolated unit test for IsValidChain

* add more test case for IsValidChain

* fix: use index for header time

* add: fetch last N checkpoints in first run

* fix: change checkpoint count to int64

* fix: handle edge case

* fix: handle no checkpoint case separately

* fix: consider offset for future chain calculation

* re-write test case for split chain

* fix: typo

* add: split chain properties test

* separate reorg checks, validate chain before inserting

* fix: handle err incase of invalid chain

* fix: use error from whitelist service

* split chain property tests

* remove duplicate test cases

* cleanup

* clean up

* fix linters

* fix: fetch checkpoint count bug, add tests

* fix more linters

* fix: handle nil chain validator in downloader

* fix: mock bor tests

Co-authored-by: Evgeny Danienko <6655321@bk.ru>
2022-07-15 10:37:35 +05:30
..
broadcast.go eth/protocols/eth: replace array with counter in txn broadcaster (#23656) 2021-10-04 16:10:51 +02:00
discovery.go core, eth: split eth package, implement snap protocol (#21482) 2020-12-14 10:27:15 +01:00
dispatcher.go V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
handler.go V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
handler_test.go RFC35/Common Ancestor: Modifying the forkchoice rule (#425) 2022-07-15 10:37:35 +05:30
handlers.go V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
handshake.go core, eth: split eth package, implement snap protocol (#21482) 2020-12-14 10:27:15 +01:00
handshake_test.go Revert "Revert "eth: drop eth/65, the last non-reqid protocol version" (#23426)" (#23456) 2021-08-24 21:52:58 +03:00
peer.go V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
peer_test.go eth/protocols/eth: simplify peer known block/txs caches (#23649) 2021-09-28 13:44:07 +02:00
protocol.go V0.2.16 candidate (#373) 2022-05-06 12:31:48 +02:00
protocol_test.go all: add read-only option to database (#22407) 2021-03-22 19:06:30 +01:00
tracker.go eth/protocols, prp/tracker: add support for req/rep rtt tracking (#22608) 2021-04-22 11:42:46 +03:00