Verify PoS headers before inserting them into DB (#3151)
* Remove TotalDifficulty stage
* Introduce FeedHeaderFuncType
* Some TODOs
* Don't gossip PoS headers
* FeedHeaderPoS
* Call header.Hash once
* Use FeedHeaderPoS for to write PoS header
* Support errors in EngineExecutePayloadV1
* useExternalTx boilerplate
* Call VerifyHeader on PoS header
* latestValidHash must be nil when status is SYNCING
* fixCanonicalChain instead of canonicalHeadersCollector
* engine.VerifyHeader + FeedHeaderPoS as headerLoadFunc
* fix daemon
Co-authored-by:
Giulio Rebuffo <giulio.rebuffo@gmail.com>
Showing
- cmd/rpcdaemon/commands/engine_api.go 8 additions, 3 deletionscmd/rpcdaemon/commands/engine_api.go
- eth/stagedsync/default_stages.go 1 addition, 14 deletionseth/stagedsync/default_stages.go
- eth/stagedsync/stage_difficulty.go 0 additions, 158 deletionseth/stagedsync/stage_difficulty.go
- eth/stagedsync/stage_difficulty_test.go 0 additions, 248 deletionseth/stagedsync/stage_difficulty_test.go
- eth/stagedsync/stage_headers.go 76 additions, 70 deletionseth/stagedsync/stage_headers.go
- eth/stagedsync/stages/stages.go 0 additions, 1 deletioneth/stagedsync/stages/stages.go
- ethdb/privateapi/engine_test.go 9 additions, 15 deletionsethdb/privateapi/engine_test.go
- ethdb/privateapi/ethbackend.go 13 additions, 12 deletionsethdb/privateapi/ethbackend.go
- turbo/stages/headerdownload/header_algo_test.go 2 additions, 2 deletionsturbo/stages/headerdownload/header_algo_test.go
- turbo/stages/headerdownload/header_algos.go 44 additions, 14 deletionsturbo/stages/headerdownload/header_algos.go
- turbo/stages/headerdownload/header_data_struct.go 5 additions, 6 deletionsturbo/stages/headerdownload/header_data_struct.go
- turbo/stages/mock_sentry.go 9 additions, 6 deletionsturbo/stages/mock_sentry.go
- turbo/stages/stageloop.go 1 addition, 1 deletionturbo/stages/stageloop.go
Loading
Please register or sign in to comment