* fix bug in eth1 data vote count increases
* updating attester slashings
* is double vote and attester pseudocode
* attester slashing revamp complete
* exits processing complete
* all block operations aligned to spec
* completed test revamp
* builds properly
* all done FINALLY
* deprecate all instances of old randao logic
* fix all broken tests and cleanup randao references across repo
* builds but tests failing
* fixing broken chaintests
* only chaintests fail now
* randao fully updated
* add bls todo
* lint
* travis
* fix unresolved property in struct
* remove used randao var
* initial validator attesthead rewrite based on proposer rewrite
* proceed with fetching committees and tree hashing the canonical head at assigned attester slot
* complete filling the properties of attestation data and all associated root hashes
* add when to attest todo
* finish entire attester client logic
* tests with mocks checked in
* tests passing in client
* stubbed out server implementation
* fixed build due to old property
* regen mocks with new mockgen version
* fixed broken tests
* complete bazel build fix
* address some review comments
* deep proto test
* tests passing after checking for empty committee and crosslink root
* address nishant comments
* able to bazel build beacon chain.. yay
* fixed package validator tests
* fixed a few more package tests (epoch, blockops, forkchoice)
* fixed all the tests! and lint. Woohoo
* moving committee helpers to own package
* more fixes at epoch processing
* fixed rewards and penalties tests
* fixed rest of the tests. yay
* tests passing once again in db package
* fixed all tests
* revert some weird p2p changes made accidentally
* fix repeated code
* build fixed
* fix p2p
* fix all tests
* update proto fileds
* Start writing ProcessETH1Data function
* More progress on tests
* Continue more work on tests
* Fix almost all the tests
* Fix all tests
* Fix everything
* Fix after rebase
* Fix for suggestions and fix per-epoch operation
* Remove method usage
* Fix build
* Fix suggestions
* Fix merge issues and suggestions
* Fix rebase issues
* Remove the error from ProcessETH1Data
* WIP write test
* Update test to reach crosslinks
* Revert "Update test to reach crosslinks"
This reverts commit 5ff9177f96c12c98c54eafffcfb385bd966b0888.
* Revert "WIP write test"
This reverts commit f7e7ed715c4af6b7e3c95643f7ebf85830caf638.
* first commit, remote att types
* no more agg attestation proto
* regen mock
* only attestations
* proto
* att process
* fix att references
* more tests passing
* use att protos
* complete
* Update dependency com_github_deckarep_golang_set to v1 (#1159)
* Update dependency com_github_edsrzf_mmap_go to v1 (#1160)
* Update dependency com_github_go_stack_stack to v1 (#1161)
* Update dependency com_github_rs_cors to v1 (#1162)
* Update dependency in_gopkg_urfave_cli_v1 to v1 (#1163)
* change visibility
* refactor repo to use protos
* removed block successfully in types
* db package updated
* db, core passing
* chain service done
* no more block instances
* all pass
* deprecate all block protos
* tests pass
* Persist Dag
* Add schema
* Add new message
* add mapping
* Adding check to save block
* Removing blocks mapping
* Make changes to block processing
* Change from mapping to a slice of hashes
* Adding tests to core
* adding more tests
* Fixing service test
* Add comments and fix bazel
* fix lint
* fix conflicts
* addressing review comments
* Removing references to active
* fixing tests with active state
* Protytype for #440: Persist blocks and latest state in DB
* simplify code
* removing block registry
* fix test
* adding block removal/iterator
* Addressing review comments
* Addressing comments
* removing extra line
* making vars private and adding canonical key
* fix lint
* splitting methods
* adding more changes
* lint
* improving coverage
* removing decodeslotnumber
* gazelle
* remove todos
* addressing preston's comments
* remove slotnumber
* lint
* begin with a block/state dag approach in prep for fork choice
* add TODOs for fork choice items, add data structure for forks
* remove syncing and processing states for incoming block sync
* simulator only broadcasts blocks now, no more state simulation
* fix sim tests, no more state sim
* bazel rerun
* naive fork choice
* split update head routine
* pesky race conditions
* fork choice rule works
* dag + fork choice working
* canonical head storage across sessions
* todo: save dag
* no more stalling after 10 blocks, using event feeds
* address review
* sync instead uses event feed
* refactored pure funcs into casper package
* tests pass
* fix lint
* refactor get blockhash
* refactor blockhashforslot
* event feed for incoming blocks in chainservice
* use config
* addressed all comments
* fix typo
* address yutaro comment
* using db interface
* check if parent hash in previous slot DAG
* works
* tests
* drop ffg suffix
* bazel gazelle
* full cov validators by height shard
* gazelle
* state tests
* all state tests
* 100% cov types and 99% cover casper
* cov up
* 80% blockchain cov
* fix lint
* Fix odd placement of import
* Puts all of NewGenesisBlock() into GenesisBlock()
Also removes the unneeded TODO
* Add error check for db retrieval
* Add missing bazel imports
* Add back NewGenesisBlock and create GenesisBlock in NewBeaconChian
* Fix GenesisBlock() to grab the block from memory db
* Fix according to requested changes
Fix GenesisBlock() to grab the block from memory db
Fix odd placement of import
Properly add ParentHash to Block
Remove no longer needed if statement condition
Puts all of NewGenesisBlock() into GenesisBlock()
Also removes the unneeded TODO
Add error check for db retrieval
Add case for if the beaconChain is missing a genesisBlock
Add missing bazel imports
Add back NewGenesisBlock and create GenesisBlock in NewBeaconChian
Remove duplicate code
Change genesis block timestamp to unix 0
Adds info log when a genesis block isn't found
* Provide fakeClock to pass tests with a mocked genesisBlock
* Fix unexpected log in test from addition of genesis block
* Add tests for clock