* WIP of aggregated signatures in DB
* new lines at end
* taking a nap on the plane now
* fix tests
* remove duplication of attestations. so much for that airplane nap lol
* benchmark before flight lands
* gaz
* manual gaz
* fully contained checks
* quick improvement before landing
* new bitlist with fixes
* doesn't need real signatures
* it works, mostly
* print shard too
* some refactoring
* Revert "some refactoring"
This reverts commit 377ce7fbfb02321c20522da2eb27208a20a67669.
* Revert "Revert "some refactoring""
This reverts commit b46a458898acd214da44fc20dfae920d2725b6e8.
These changes are ok, just need to update the expected values
* fix tests
* lint
* lint
* upstream changes
* fix tests
* what
* resolve TODOs
* gofmt
* revert unrelated pb
* remove debug statement
* skip bls verification with a feature flag at runtime
* gazelle
* more bls mocks
* block roots efficiency
* db block roots now does not show up on the flame graphs
* save validator latest votes batch
* batch save att
* misc improvements to pprof
* import
* include validator index cache
* error if no filter criteria
* resolved comments
* build fix
* lint
* remove delay global
* attestation and block test fixes
* preston suggestions
* fix db tests
* fix missing broken tests
* tests pass
* batch deletions for blocks and attestations
* test for atts delete
* test for blocks delete
* better naming of args in iface methods
* modify a bit
* convert to batch
* blocks batch delete
* batch fixes
* suspecting deadlock
* blocks batch delete tests pass
* more complex test
* retrieve attestations by block root as well
* add beacon block root filter
* rem err unimpl
* add changes to list atts filter proto
* utilize the new filter attributes
* add filter types
* utilize filters in the api server impl
* tests for filter
* tests pass
* filter test done
* fix test by using head fetcher instead
* gaz
* no panic
* use new ethapis commit
* elim panic
* res panic
* ensure proto compatibility
* fixed broken test
* 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
* 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
* allow blocks without parent root
* begin indices approach
* use shard bucket
* continue the indices approach
* eliminate the filter checkers in favor of the single loop of root lookups
* elim extraneous println statement
* continue the indices approach
* intersection for multiple filter types works, but is complex, verbose, and nearly unreadable
* remove unused code
* table drive tests for byte slice intersections
* include all table driven tests
* gazelle imports
* better abstractions
* better comments
* variadic approach working
* transform to variadic
* comments
* comments
* separate bucket for indices for faster range scans
* attestation key as hash tree root of data and different indices buckets
* test pass
* default behavior without filter
* appropriate filter criterion errors if criterion does not apply to type
* better abstractions and prune keys on deletion
* better naming
* fix build
* fix build
* rem extraneous code