* 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>
* implemented all the merkle func signatures
* branch indices complete
* check for index out of range in generating merkle proof
* completed full tests for sparse merkle trie impl
* lint
* formatting
* gazelle
* commentary
* ivan comments
* fmt
* get rid of the deposit trie
* recalculate trie when eth1 data changes
* default data response recalculates tree
* update merkle trie to use raw bytes
* use the new verify merkle root func
* builds
* if default data response historical deposits are empty, return the deposit root at the contract at the time
* work on trie
* trying again with more logging
* keep track of merkle trie indices, use correct big int ops
* use uint for merkle idx
* add todo
* update ticker correctly
* fix config and remove unnecessary logs
* readd plus one fix
* clarify some details
* weird imports spacing
* gazelle, lint
* fix tests using the new deposit trie
* builds but tests still fail
* rpc tests
* lint
* tests pass
* bazel lint
* rem commented block
* revert att slot fix
* preston comments
* comments
* fix build
* address last comment
* use counter
* imports
* 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
* 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
* initialize beacon state separately
* extracting out testcase into another func
* creating function for simulated objects
* creating simulated object struct
* final clean up
* documentation
* lint
* review comments
* 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
* 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
* casper advancement
* wrap up casper slashings
* gazelle
* fix conf
* fix comments
* advance validator exits complete
* wrap up readme
* 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
* casper advancement
* wrap up casper slashings
* gazelle
* fix conf
* 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
* 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
* helper functions to get active validator total balances
* forgot to * params.BeaconConfig().Gwei
* tests
* GetEffectiveBalance comments & MaxDepositInGwei in config
* format