* 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 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
* move to deprecated-p2p
* fix lint
* Add boilerplate p2p
* lint?
* fix imports
* fix lint
* lint
* lint
* lint
* lint
* comment
* skeleton
* checkpoint
* add a new message that should work with ssz
* add ssz fix and test snappy encoder
* clarify todo
* fix viz
* move, no need to be in subpackage
* testing pb
* end nl
* use merged ssz
* lint
* clean up deposits in db
* fix all references
* fixed tests
* lint
* bring it into a separate package
* fix lint
* move test
* fix ref
* fix test
* fix test
* fix test
* 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
* filter deposits by index and block number
* fix test and inverted logic
* nishant feedback
* -1
* Update beacon-chain/db/deposits_test.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* raul feedback: explicit variables
* revert everything :(
* a better fix
* fix +1
* fix test
* Implement Attestation Aggregation before inserting into the DB
* Nearly complete test for aggregating signatures
* Finish tests for aggregating signatures
* gazelle
* Rename tests
* add lock and advance state
* only advance if necessary
* Fix most tests
* Fix more of DB keys and changing keys to data hashes
* Fix a lot of tests and inconsistencies
* fix lock
* gaz
* undo local changes
* fix ref
* fix ref
* Fix some tests
* clear cache
* fix sync for attestations
* finally working across multiple nodes
* gen proto
* lint
* properly wrap error