* 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>
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* Squashed 'interfaces/' content from commit e5b1945d0
git-subtree-dir: interfaces
git-subtree-split: e5b1945d02da7a7f00e2289034ee90a6edd60184
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* Header download simplifications
* Fixes
* Reuse headerRaw for inserting into DB
* Fix tests
* Fix test
* Revert to the loop in RequestMoreHeaders
* Change Warn to Debug
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* Rename maxHeight to lowestAnchorHeight for better readability
* Update header_algos.go
* Rename timestamp field in anchor, add comments
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
* initial commmit
* gofmt
* flipped if statement
* flipped if statement (forgot to save)
* passing unwinding to status ch
* added unwinding constant
* took out unwinding
* added statusCh
* added a return statement and a second part to the if statement
* checking for parent hash
* checking for parent hash
* changed check to check for parentHash
* staged wrong file
* changed header check to parentHash check
* channged blockhash name to a better name
* changed it to check for header.Hash()
* changed name of blocknumber to blockHash
* changed bad block to common.Hash{}
* added download channel to stage headers
* added direct execution
* now channel of headers rather than bodies
* simplifications
* fixed ttd headerForward
* garbage removed
* added some more stepping stones
* better transition
* covered edge case
* added names to returned values
* clean
* De-dup blockHeaders66() and blockHeaders65()
* Simplify loops and EOL detection
* Add ChainSegmentHeader struct and refactor
* Add RawRlpHash() to avoid re-encode for header hash
* Avoid multiple redundant rlpHash()
* Sort headers by height,hash to make dups consecutive
* Flip condition to reduce map lookups
* Remove redundant check
* Use rlp.RawValue rather than []byte to help self-document
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save
* save