* first pass, step 1 works
* naive from finalized to head
* delete commented code
* checkpoint progress on tests
* passing test
* abstract code slightly
* failure cases
* chkpt
* mostly working, missing a single block and having timeout
* passing tests
* comments
* comments
* gaz
* clarify comments
* progress on a few new cases
* add back bootnode query tool
* bootstrap from DHT
* chunked responses in round robin
* fix tests and deadlines
* add basic counter, time estimation
* hello -> handshakes
* show peers in use during sync
* just one last test failure
* only request blocks starting in the finalized epoch for step 1
* revert that
* comment out test and add better commentary
* move requestBlocks out to pointer receiver
* mathutil
* Update beacon-chain/sync/initial-sync/round_robin.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* PR feedback
* PR feedback
* first version of the watchtower api
* Initial prototype of sync parent fetching/processing
* Another map to track seen block root
* Fixed fmt
* Ready to live test
* Ready to live test
* Seperate pending block queue into its own
* first version
* delete watchtower
* move to message loop
* roughtime
* one time
* fix test
* Started testing but peer list empty
* Comment
* Loggins
* Stuck at decoding non proto type
* Revert
* First take, need feedback
* Run time panics at hello
* Revert
* use reflect properly
* Fixed subscriber
* instantiate helper
* More reverts
* Revert back tests
* Cont when EOF
* Working
* Clean hello tracker on peer disconnection
* Clean hello tracker on peer disconnection
* Move to validation
* Propoer locking
* Propoer locking
* Fmt
* Nishant's feedbacke
* More feedback
* All tests passing
* fix build
* remove log
* gaz
* Added the todo
* first version of the watchtower api
* first version
* delete watchtower
* move to message loop
* roughtime
* one time
* fix test
* add test to chain start
* fix test
* move logic to mock
* remove unused method
* remove imports
* gaz
* goimports
* goimport
* add validation
* add block db check in validation
* merge
* in memory caching of seen blocks
* basic block processing
* Update BUILD.bazel
* use new receiveBlockNoPubsub
* fix build
* add TODO issue numbers
* add TODO issue numbers
* lint