* 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
* 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
* 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
* 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
* add discovery
* gaz
* add build options
* add udpPort
* add more changes
* refactor private key
* added discovery loop
* add ttl
* add ttl
* use ip type instead of string
* tests pass
* gaz and new test file
* add test
* add more tests
* add one more test
* adding multiAddr tests
* adding new protocol , listener
* fix keys
* more fixes
* more changes dialing peers works now
* gaz
* add more changes
* add more changes
* gaz
* add new test helpers
* new test
* fixed all tests
* gaz
* reduce sleep
* lint
* new changes
* change formats
* fix all this stuff
* remove discv5 protocol
* remove protocol
* remove port condition,too restrictive
* preston's feedback
* preston's feedback
* close all peers
* gaz
* remove unused func
* Update beacon-chain/p2p/service.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* remove build options
* refactor tests
* checkpoint
* checkpoint
* varint prefix for ssz
* move the encoding API around a little bit to support reader writer
* add a simple test for the happy path subscribe
* move wait timeout to testutil
* Add inverted topic mapping
* Add varint prefixing to ssz network encoder
* fix spacing
* fix comments
* fix comments
* make anon methods more clear
* clean up log fields
* move topic mapping, reformat TODOs, get ready for brutal team review
* lint
* lint
* lint
* Update beacon-chain/p2p/gossip_topic_mappings.go
Co-Authored-By: Nishant Das <nishdas93@gmail.com>
* PR feedback
* PR feedback
* PR feedback
* PR feedback
* PR feedback
* basic test with a hardcoded fork choice
* updated beacon config to use genesis fork version
* checkpoint on hello handler
* create a testing db method that can be used with the new database interface
* lint
* lint
* PR feedback
* checkpoint
* passing tests
* comments, errors
* comments, errors
* remove swarm
* Add basic sanity test, naive implementation
* add test with real data
* 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
* Mark these soon to be deprecated functions as "deprecated"
* Deprecate all
* Marked fork choice reorg test as deprecated
* Marked fork choice reorg test as deprecated
* Gaz
* add new test
* specify ecdsa keygen
* skip test
* fix ref
* comment again
* fix test and clean up
* gaz
* change to another format
* Apply suggestions from code review
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* fix docker build
* add close
* add broadcaster impl
* change API so broadcast returns an error
* change API so broadcast returns an error
* add test for message not mapped
* lint msg
* lint msg
* checkpoint
* checkpoint
* varint prefix for ssz
* move the encoding API around a little bit to support reader writer
* add a simple test for the happy path subscribe
* move wait timeout to testutil
* Add inverted topic mapping
* Add varint prefixing to ssz network encoder
* fix spacing
* fix comments
* fix comments
* make anon methods more clear
* clean up log fields
* move topic mapping, reformat TODOs, get ready for brutal team review
* lint
* lint
* lint
* Update beacon-chain/p2p/gossip_topic_mappings.go
Co-Authored-By: Nishant Das <nishdas93@gmail.com>
* PR feedback
* PR feedback
* PR feedback
* PR feedback
* PR feedback
* basic test with a hardcoded fork choice
* updated beacon config to use genesis fork version
* checkpoint on hello handler
* create a testing db method that can be used with the new database interface
* lint
* lint
* PR feedback
* checkpoint
* passing tests
* comments, errors
* comments, errors
* remove swarm
* Update WORKSPACE
* Update WORKSPACE
* merge
* lint
* lint
* touch
* touch
* imports
* 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