* recover from a panic in p2p
* Add safely process function
* print proto message
* add status to the span, if available
* add status to the span, if available
* 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
* syncHealth removed capitalization from an error string
* replaced error variable names in testStatus()
* TestStatus splits into 3 separate tests
* unit test refinement + travis resolved issues
* modified isSynced in querier.go + deleted uncommented code
* removed conditional logic from two unit tests
* TestStatus_ReturnsErrorWhenNotSynced
* moved defer TeardownDB outside setupSyncService
* 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
* 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.
* implemented process pentalties and exit logic
* tests
* add MaxWithdrawalsPerEpoch to config
* preston's feedback, replaced index with idx
* s/e/penalizedEpoch
* removed blank line
* /healthz part1
* lint, fix
* lints and todos
* add p2p status test
* Add test for service registry Statuses
* fix my fake errors for the linter
* Test healthz handler
* Run gazelle
* 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
* 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
* 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
* 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
* Adding block request
* removing extra line
* making vars private and adding canonical key
* fix lint
* splitting methods
* adding more changes
* lint
* improving coverage
* removing decodeslotnumber
* Able to search for and send blocks
* adding core tests
* adding tests
* adding documentation
* addressing raul's comments
* lint and gazelle
* addressing yutaro's comments
* improving coverage
* improve coverage
* improving coverage
* 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
* Adding proto topics
* Adding crystallized state request
* Reverting shanges to proto
* Adding db checks
* get crystallised state
* Finalize epoch for mapping
* more changes
* cleaning up main routine
* adding tests
* fix test
* Adding ability to save blocks
* Adding block fetcher
* Another test for setting finalized epoch
* adding final tests
* finished tests
* adding comments
* gazelle
* Making requested changes
* Fixing lint
* stop sync from exiting
* fixing lint
* lint
* Adding new request type to proto
* Making changes to block/state requests
* Change tests
* fixing error messages
* gazelle and lint
* adding back crystallised state
* fix tests
* Fixing merge conflicts
* Addressing review comments
* Changing back to one service
* removing case