* Ignore latest messages in fork choice prior to latest justified
* Make sure Compact Committee Roots isn't changed by process_final_updates
* WIP add attestation bitfields length to match committee length
* Begin work on updating spec tests to 0.8.2
* WIP set up for new spec test structure
* Fix slashings
* Get mainnet tests mostly passing for attestations and attester slashings
* Fix process attestation test
* Undo change
* Complete spec tests for all operations
Still need sanity block tests
* Fix BLS sigs
* Reduce amount of reused code in core/blocks/spectests/
* Fix tests
* Update block sanity tests to 0.8.2
* Update epoch spec tests to 0.8.2
* Clean up all tests and fix shuffling/epoch tests
* WIP update bls tests to 0.8.2
* WIP update bls tests to 0.8.3
* Finish BLS spectest update to 0.8.3
* Fix shuffling spec tests
* Fix more tests
* Update proto ssz spec tests to 0.8.3
* Attempt to fix PrevEpochFFGDataMismatches test
* Goimports
* Fix documentation
* fix test
* Use custom general spec tests
* Reduce code footprint
* Remove unneeded minimal skip
* Fix for comments
* Fix for comments
* Fix test
* Small fixes
* Cleanup block spec tests a bit
* Undo change
* fix validator
* Fix validator tests
* Run gazelle
* Fix error output for epoch spec tests
* Implemented new fork choice service and helpers
* Added rest of the tests
* Lint
* Add back helpers test
* Reformatted to doc, helpers and metrics.go
* include new getter for block
* create block filters from indices
* give every block index a unique bucket
* construct block indices by bucket mmap
* almost done save for the block filters
* include block filters, need a few more small touches for fetching the proper indices by bucket
* full functionality to filter by parent root
* tests pass when using the same logic as attestations
* todo
* proper todo formatting
* first minimum slot range filter
* slot range filters pass
* more filter criteria passing
* tests passing
* add todos
* all block tests pass and work
* rem fmt
* range retrieval test
* fixed test conditions
* instantiate the other buckets
* simplify bucket lookups
* deprecate non map code
* revamp to remove old index prefixes
* create indices from data
* create indices from data
* fetch block roots by slot range
* better abstractions
* simpler abstractions
* roots rename
* comment
* preston feedback
* Fixed existing tests
* allow blocks without parent root
* Cleaned up a few things
* Removed todo
* Lint
* Cleaned up a few things
* A few functions don't need to be exported
* Gaz
* Fixed visibility
* Review feedback
* Review feedback part1
* Raul's feedback, refactored OnBlock and OnAttestation to its own file
* Fixed grammar
* Lint
* Implemented ReceiveAttestation
* Use time.Time
* Implemented ReceiveAttestation
* All tests pass
* Lint
* Oooops
* Typo
* Implemented new fork choice service and helpers
* Added rest of the tests
* Lint
* Add back helpers test
* Add benchmark tests
* Add yaml driven framework tests
* Reformatted to doc, helpers and metrics.go
* include new getter for block
* create block filters from indices
* give every block index a unique bucket
* construct block indices by bucket mmap
* almost done save for the block filters
* include block filters, need a few more small touches for fetching the proper indices by bucket
* full functionality to filter by parent root
* tests pass when using the same logic as attestations
* todo
* proper todo formatting
* first minimum slot range filter
* slot range filters pass
* more filter criteria passing
* tests passing
* add todos
* all block tests pass and work
* rem fmt
* range retrieval test
* fixed test conditions
* Implemented new receive block methods
* Comments
* Remove mark evil block
* instantiate the other buckets
* simplify bucket lookups
* deprecate non map code
* revamp to remove old index prefixes
* create indices from data
* create indices from data
* fetch block roots by slot range
* better abstractions
* simpler abstractions
* roots rename
* comment
* preston feedback
* Fixed existing tests
* allow blocks without parent root
* Cleaned up a few things
* Removed todo
* Lint
* Cleaned up a few things
* A few functions don't need to be exported
* Gaz
* Fixed visibility
* Review feedback
* Review feedback part1
* Raul's feedback, refactored OnBlock and OnAttestation to its own file
* Fixed grammar
* Lint
* Renamed to receive_block.go
* Use time.Time
* Preston's feedback, removed OnTick and Store.time
* Dont have to cast it to kv
* add block caching layer
* runlock
* lockinggg
* Fixed
* Avoid 2 fetches of the same data
* latest votes map
* Gaz
* Test passes
* Lint
* Fixed db set up
* Fixed all the tests
* Gazelle
* Added tests
* Remove todo
* remove kv
* Last clean up
* Last clean up
Last clean up
* Lint
* Preston's feedback
* Starting
* Gazelle