* Begin adding Deposit Index to beacon state
* Move deposit index increment to ProcessDeposit
* Fix initial deposits bug
* Fix bug in RPC
* More bug fixes
* Fix RPC bug, ensure deposits are processed in the right order
* Fix tests
* Fix merge
* Attempt to fix pruning deposits on regular sync
* Fix pending deposits on node restart
* Fix test
* Fix tests properly
* Gofmt
* Remove unneeded logs
* Fix build
* update protos
* Revert "Use DB to Fetch Justified Block (#2172)"
This reverts commit 60c254d818.
* use justified root and previous justified root across the repo
* change attester server to use state justified root
* remove commented code
* fix build issues
* fix test
* fix all tests
* fix merge issues
* reduce state size
* lint
* fork data
* addressed broken build
* make values 5x slots per epoch
* 5 epochs worth of arrays
* add back slash balances
* rem items
* test
* imports
* plug forkchoice to blockchain service's block processing
* fixed tests
* more fixes...
* clean ups
* fixed test
* Update beacon-chain/blockchain/block_processing.go
* merged with 2006 and started fixing tests
* remove prints
* fixed tests
* lint
* include ops service
* if there's a skip slot, slot--
* fixed typo
* started working on test
* no fork choice in propose
* bleh, need to fix state generator first
* state gen takes input slot
* feedback
* fixed tests
* preston's feedback
* fmt
* removed extra logging
* add more logs
* fixed validator attest
* builds
* fixed save block
* children fix
* removed verbose logs
* fix fork choice
* right logs
* Add Prometheus Counter for Reorg (#2051)
* fetch every slot (#2052)
* test Fixes
* lint
* only regenerate state if there was a reorg
* better logging
* fixed seed
* better logging
* process skip slots in assignment requests
* fix lint
* disable state root computation
* filter attestations in regular sync
* log important items
* better info logs
* added spans to stategen
* span in stategen
* set validator deadline
* randao stuff
* disable sig verify
* lint
* lint
* save only using historical states
* use new goroutine for handling sync messages
* change default buffer sizes
* better p2p
* rem some useless logs
* lint
* sync tests complete
* complete tests
* tests fixed
* lint
* fix flakey att service
* PR feedback
* undo k8s changes
* Update beacon-chain/blockchain/block_processing.go
* Update beacon-chain/sync/regular_sync.go
* Add feature flag to enable compute state root
* add comment
* gazelle lint fix
* Verify signatures of attestations
* Implement BLS Signing for attestations
* Remove custody bit 0 from the attestation for now
* Fixes tests for attestations
* Fix tests to ensure they use proper attester indice
* Run gazelle
* Goimports
* Test attestation sigs in block operations
* Change formatting and make sure signatures are actually verified
* Fix duplicate import
* Fix duplicate import from merge
* Organize attestation sig to be conssitent with codebase
* Update to comments
* Change signatures to use aggregation
* Run gazelle
* Change function to return err instead of bool
Also gofmt
* Fix for comments
* Move createAggregationSignature to a function in attestations.go
* fix current boundary issue
* gazelle
* test fix
* deprecate old epoch processing justified hash indices
* finality fixes
* fmt
* pseudocode
* underflow conditions
* add back att fix
* remove off by one fix
* fix most tests
* fix all tests
* logging proposers
* use the update registry function
* outdated tests
* fixed check reg change
* gazelle
* tests pass
* registry change flag
* fix current boundary issue
* gazelle
* test fix
* deprecate old epoch processing justified hash indices
* finality fixes
* fmt
* pseudocode
* underflow conditions
* add back att fix
* remove off by one fix
* fix most tests
* fix all tests
* 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
* 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
* initialize beacon state separately
* extracting out testcase into another func
* creating function for simulated objects
* creating simulated object struct
* final clean up
* documentation
* lint
* adding chain advancer
* review comments
* replacing lib
* adding initialization for chain and new vars in struct
* added func
* fixing tests and all other bugs
* fixing tests
* docs
* adding a new nil block function
* adding test
* remove check for nil blocks
* godoc
* fixing merge conflicts, tests
* fix test
* 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
* 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.
* Begin renaming
* Missing goimports
* Continue rename
* Fix errors and mismatches
* Run proto script
* Fix proto
* Fix some more issues
* Fix tests
duh
* Fix goimports
* implemented process pentalties and exit logic
* tests
* add MaxWithdrawalsPerEpoch to config
* preston's feedback, replaced index with idx
* s/e/penalizedEpoch
* removed blank line
* deposit definition according to latest spec
* ssz decode input data tests
* fix todo
* ignore XXX fields in struct
* fix
* timestamp
* gazelle run processing
* process deposit complete
* all logic complete
* verify merkle branch
* gazelle
* process deposit func
* diff cov 1005
* add todo"
* all test cases written down
* most tests complete
* ttl timestamp fail
* 100% code coverage in deposits
* fix params
* encode deposit data helper func
* state transition with no slots failing with panic at calcnewblockhashes
* smaller deposits for chain start
* state advancement benches
* ran go tests
* bazel
* improve the thing
* lint
* works works works
* all conflicts fixed
* edit readme to specify tests format
* edit readme to specify tests format
* skip slots works yay
* gazelle
* edit readme to specify tests format
* wrapped up all randao simulation
* fix
* passing
* goimports
* move to slices pkg
* deadcode
* deposit yaml tests
* created deposit trie implementation in Go
* created deposit trie implementation in Go
* gazelle
* merkle branch generation
* merkle branch generation
* more merkle debugging
* fix deposit trie
* include new merkle trie functions
* update all deposit operations
* capitalize
* advancing deposits fully works, grows the validator set
* wrap up time formatting
* lint fix
* include all information in the README
* edit conf
* revert
* clean up before merge
* successfully e2e test proposer slashings
* fix comments
* deposit definition according to latest spec
* ssz decode input data tests
* fix todo
* ignore XXX fields in struct
* fix
* timestamp
* gazelle run processing
* process deposit complete
* all logic complete
* verify merkle branch
* gazelle
* process deposit func
* diff cov 1005
* add todo"
* all test cases written down
* most tests complete
* ttl timestamp fail
* 100% code coverage in deposits
* fix params
* encode deposit data helper func
* state transition with no slots failing with panic at calcnewblockhashes
* smaller deposits for chain start
* state advancement benches
* ran go tests
* bazel
* improve the thing
* lint
* works works works
* all conflicts fixed
* edit readme to specify tests format
* edit readme to specify tests format
* skip slots works yay
* gazelle
* edit readme to specify tests format
* wrapped up all randao simulation
* fix
* passing
* goimports
* move to slices pkg
* deadcode
* deposit yaml tests
* created deposit trie implementation in Go
* created deposit trie implementation in Go
* gazelle
* merkle branch generation
* merkle branch generation
* more merkle debugging
* fix deposit trie
* include new merkle trie functions
* update all deposit operations
* capitalize
* advancing deposits fully works, grows the validator set
* wrap up time formatting
* lint fix
* include all information in the README
* revert
* clean up before merge
* nishant comments
* 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
* helper functions to get active validator total balances
* forgot to * params.BeaconConfig().Gwei
* tests
* GetEffectiveBalance comments & MaxDepositInGwei in config
* format