* new chain service usage via interface
* put in the new chain service in propose blk
* deprecate with new service for canonical block roots
* remove old chain serv absolutely in validator server
* full legacy code compatible in beacon server
* fully compliant
* full deprecation at service level
* no more mock chain serv
* fix beacon server tests
* add changes to prop server
* broken build
* --next compatible
* conditional register of chain service
* proper conversion
* nil deref
* deprecate db
* fix build
* begin integrating new db
* gaz
* use more of the new db
* newest implementation uses head state
* remove more deprecated items
* setup validators in state helper
* fix up some tests with the new db
* resolve broken build
* gaz
* begin ensuring tests pass
* optional idx
* list validator balances passing
* default page size passing
* only two failing
* fixed most tests, found edge case
* allow nil return and add proper tests
* pass tests
* fix head block root problem
* working with the new db
* every ethereumapis method now compliant with both dbs
* pass in db into server
* proposer server all compliant
* validator service fully compliant
* fix broken build, tests pass
* spacing
* compute state root and propose block tests passing with new db
* complete proposer server tests revamp
* validator tests halfway through passing with new db
* more validator server tests
* more than halfway there
* so so close
* all validators tests done
* attester server tests fixing
* use new api
* attester server complete
* complete
* 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
* deprecate db
* fix build
* begin integrating new db
* gaz
* use more of the new db
* newest implementation uses head state
* remove more deprecated items
* setup validators in state helper
* fix up some tests with the new db
* resolve broken build
* gaz
* begin ensuring tests pass
* optional idx
* list validator balances passing
* default page size passing
* only two failing
* fixed most tests, found edge case
* allow nil return and add proper tests
* pass tests
* fix head block root problem
* working with the new db
* every ethereumapis method now compliant with both dbs
* pass in db into server
* 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