* progress on fixing #3947
* upsert after, but only if not already exists
* return an error in some case
* format
* handle case where there has not been any finality yet
* it works
* remove todo
* use variable with comments
* regression test
* revert off by one issue, fix tests
* rename receiver
* @nisdas pr feedback
* Deprecated do not use
* remove finalized block indexing feature flag
* remove flag some more
* dont rollback a managed tx
* require blocks to be in a chain in tests
* checkpoint progress
* feature flag and test
* return true if feature flag is not on
* add lint msg
* rollback tx if failure
* Revert validator/BUILD.bazel
* 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
* generate archive proto
* archived committee info
* archive methods added to iface definition
* impl
* update iface
* proto comments
* implement first method
* committee info
* save committee info
* participation checked in
* fully implemented
* tests
* test defs
* db impls done
* new interface methods
* support proposer slashings
* add in the new buckets
* all crud for propoer slashings
* attester slashings complete
* all slashings crud done
* right comment
* deposit contract tests pass
* delete out of scope methods
* conform old beacon DB
* comment
* include interface implementations
* deprecations
* pass lint
* new interface methods
* support proposer slashings
* add in the new buckets
* all crud for propoer slashings
* attester slashings complete
* all slashings crud done
* right comment
* deposit contract tests pass
* delete out of scope methods
* conform old beacon DB
* comment
* deprecations
* pass lint
* Update deposit_contract.go
* new interface methods
* support proposer slashings
* add in the new buckets
* all crud for propoer slashings
* attester slashings complete
* all slashings crud done
* right comment
* delete out of scope methods
* conform old beacon DB
* 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
* Added state implementation
* Gaze
* Fixed test
* Fixed build file
* Fixed all tests
* Merged with master
* Added comments to save and get from roots
* Make it explicit signing root
* s/./,
* s/marshalled/marshaled