* Fix assignments bug where validators don't retry for assignments on failure
* synch only please
* trying to fix state issues
* trying random stuff
* do not explode
* use ctx
* working build, failing tests
* broadcast local addrs as well as relay addrs
* fixed p2p tests, more tests to fix still
* another test fixed, log warning instead of throw error
* Fix last tests
* godoc
* add test for broadcast in apply fork choiec
* remove unneeded code
* remove tracer adapter, not needed
* remove extra stuff
* remove any
* revert addr_factory
* revert addr_factory
* Revert "revert addr_factory"
This reverts commit e93fb706494a1070158b8db31e67146d6b0648ad.
* Revert "revert addr_factory"
This reverts commit dedaa405559cc818698870c4e4570953367f1e3c.
* revert removal of this code
* unused param
* refactor chain service
* restructure service and lint
* all calls to receive block in chain service are now blocking
* begin fixing tests
* refactored blockchain tests
* builds correctly
* blockchain tests pass again
* lint
* sync and rpc tests pass again
* done
* add in open tracing
* span in fork choice
* Update beacon-chain/blockchain/block_processing.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* remove hash field for state request
* change to finalized state root
* refactor code for bug
* add in saving of finalized state
* add method to db
* adding finalized state root
* add new changes
* add in new changes
* add in return vars
* goimports
* review comments
* error message
* fix broken build
* fix cache state tests
* lint
* add recovery for initial sync
* add recovery for rpc
* adding to other services
* remaining services and tests
* fix test
* remove changes to rpc
* handle powchain
* handle in powchain
* abstract to shared package
* gazelle
* lint
* remove for operations
* add in more for operations
* travis
* fix lint
* don't broadcast to yourself
* todo
* Also listen for incoming streams
* send to a specific peer
* add godoc comment
* handle EOF as a normal thing
* gazelle
* add test for subscribing via direct comm
* adding check for chainHead
* add batch block limit
* adding state root
* removing genesisHash
* removing setBlockForInitialSync
* fixing tests
* remove obsolete check
* changing to check for state initialization
* changing var name
* fix test
* add in tests
* fix all tests
* lint
* reduce test time
* merge fixes
* gazelle
* fatal if impossible to receive chainstart
* fix tests
* fix
* custom delay
* completed custom delay
* errors
* better logs, nothing at genesis
* use demo in val
* add gazelle
* log
* starting to log stuff
* pass in ops
* avoid printing the large #s for debug, still working on tests..
* all around better logging
* fixed build error in epoch process
* fixed state transiton tests
* fixed block tests
* lint
* verify sigs in randao
* ready for inclusion falg
* only print waiting when slot is not valid
* fix build
* mod config
* fixed last justified slot issue
* fix inclusion
* fixed attestation issue
* using zero hash from params instead
* fix tests
* update balance
* removed swp
* more `- genesis_slot` for logs
* rem unused log
* fix broken tests
* account for skip slots in state root computation
* fixes done
* validator guide bug fixes - 671
* epoch boundary at the last slot of the epoch
* fix epoch issue
* more balance cal logs for debugging
* greater balance
* attestaton fixes
* fixes
* addressed testrun
* fixed ejection balance
* fix tests with far future epoch
* revert sync change
* revert initial sync change
* fix changes
* off by one att fix
* revert the att fix
* address comments
* format
* fix build
* rem file
* clean up test
* adding test setup
* add chainstart check to sync querier
* goimports
* goimports
* backend cleanup
* adding getters
* lint
* moving to db
* gazelle
* adding more services setup
* adding more changes
* adding different test setups
* other merge issues
* imports
* fixing keys
* get intial sync able to be set up
* new changes and gazelle
* use simulated p2p
* everything finally works
* unexport fields
* revert changes from merge
* remove mock server
* add documentation
* gazelle
* add another node
* review comments
* fix tests
* begin using tree hash instead of hash for state and blocks
* replace with ssz
* rem references to vote cache
* replace all instances of state/block hash with root
* goimports
* almost every test in the world fails
* goimports
* all tests pass, tree hash across repo
* 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
* change visibility
* use gogoprotobu
* 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
* polling interval
* adding proto message
* changing proto messages
* changing naming
* adding slot functionality
* initial sync working
* new changes
* more sync fixes
* its working now
* finally working
* add tests
* fix tests
* tests
* adding tests
* lint
* log checks
* making changes to simulator
* update logs
* fix tests
* get sync to work with crystallized state
* fixing race
* making requested changes
* unexport
* documentation
* gazelle and fix merge conflicts
* adding repeated requests
* fix lint
* adding new clock , db methods, and util func
* revert change to test
* gazelle
* add in test
* gazelle
* finally working
* save slot
* fix lint and constant
* adding proto messages
* adding fields
* adding new service
* new changes
* checking in file from syncFix
* fixing test
* add test
* adding to node
* goimports
* adding query service to sync services
* sync working
* finally works
* fix test
* lint
* fix build
* fix test
* Remove error checking for type assertions on p2p messages. The code should fail earlier in the p2p layer. Also fixed format on some TODOs
* format TODO again
* Add a bit more tests for p2p stuff
* goimports on feed_mock
* remove unused import
* 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
* Initial commit to extract initial sync code
* Add stop/resume of sync/intialsync
* bazel run
* gometalinter
* add tests
* cleanup
* build fixes
* use infof rather than errorf if sync is not in correct state
* Add TODO comment detailing eventual completion of transition from initial sync to sync
* fix build
* pr comments
* fix tests
* bump