* initial impl
* review feedback
* fix tests
* review feedback
* some improvements
* tests and small improvements
* gzl
* one more review
* fix test
* fix other test
* get the roots instead of hashing them
* fix comment
* fix justified case
* fix all tests
* misc
* gzl
* fix broken tests
* use isOptimisticForRoot once we have the blockroot
* Fix is_not_finalized_when_head_is_optimistic but reviewing the logic first
* Fix is_not_finalized_when_head_is_optimistic
* better root tests
* move optimistic check before parsing root
* check for last validated checkpoint
* add right check for finalized
* fix finalized tests
* removed impossible condition
* fix TestGetSyncCommitteeDuties
* Use Ancestor from chaininfo
* fix test
---------
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: rauljordan <raul@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Extract `OptimisticSyncFetcher` interface
* extract IsOptimistic
* fix tests
* more test fixes
* even more test fixes
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>