* add state initialized feed to send to rpc service
* rpc tests pass by using mock initializer
* verifies the chain start send and receive
* chain start chan sub test
* goimports
* using little endian and tests for encoding dep inputs
* use decode value and timestamp method in state
* updated comments to match serialization format
* latest compiled contract, abi, bytecode, and bindings
* to little endian everywhere
* fix all tests except for contract tests
* include contract changes
* address broken build
* compile with vyper v8
* update readme
* fix pkg name
* add skip chainstart delay
* skip chainstart delay tests pass
* to little endian timestamp
* using genesis timestamp instead of bool
* update with gofmt
* make more fields public
* duplicate log spam inconsistent root fixed by tracking last seen index
* sync with master
* readd weird removal of import
* readd libp2p import
* gazelle
* readd eth
* comments
* using little endian and tests for encoding dep inputs
* use decode value and timestamp method in state
* updated comments to match serialization format
* latest compiled contract, abi, bytecode, and bindings
* to little endian everywhere
* fix all tests except for contract tests
* include contract changes
* address broken build
* compile with vyper v8
* update readme
* fix pkg name
* add skip chainstart delay
* skip chainstart delay tests pass
* to little endian timestamp
* using genesis timestamp instead of bool
* update with gofmt
* make more fields public
* using little endian and tests for encoding dep inputs
* use decode value and timestamp method in state
* updated comments to match serialization format
* latest compiled contract, abi, bytecode, and bindings
* to little endian everywhere
* fix all tests except for contract tests
* include contract changes
* address broken build
* compile with vyper v8
* update readme
* fix pkg name
* add skip chainstart delay
* skip chainstart delay tests pass
* to little endian timestamp
* 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
* server implementation logic
* attestation info tests
* completed passing tests, tree hash still blocked by error with nil fields unfortunately
* fix todo failure
* gazelle rerun and master merge
* testing full behavior of attestation info server
* finished all required server tests and implementation
* break loop
* fix tests due to genesis slot updates
* 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
* 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
* Update config for deposits processing
* Add pending deposits database methods
* oops forgot the files
* move the lock after the nil check
* move the lock after the nil check
* test inclusion behavior
* Insert pending deposits on process deposit log
* WIP - with TODOs
* interface w/ test
* basic test for broadcast
* Add computeStateRoot funciton
* remove custody challenge
* resolve TODO lint issues
* more TODOs
* revert new line in types.proto
* broadcaster comment
* one of several failure condition tests
* Add test cases
* handle compute state error test case
* fix config in validator helpers
* fix tests too
* fix conflict
* partial PR feedback
* remove p2p
* gazelle
* package comment
* Better godoc
* rpcHealth
* TestBadEndPoint not passed
* Crasher and TestCrasher()
* panic and recover
* assertPanic , TestBadEndPoint failed because of panic in goroutine
* log not found: Starting go routine
* TestLogger implementation
* Testlogger with map and overriden Fatalf
* rebased
* testLogger - modified the severity of message - added TestStatus - goimports
* fix test issues
* fmt
* 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
* 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 reorder
* move into beacon server
* add proposer server
* fix
* add proposer server
* wrap up rpc reorder
* eliminated deprecated RPC endpoints
* formatted nicely
* RPC protos
* fix lint
* integrate hash proto
* autoclean
* deprecate all old code
* include the rest of methods mocks
* bazel run
* lint fixes
* Begin renaming
* Missing goimports
* Continue rename
* Fix errors and mismatches
* Run proto script
* Fix proto
* Fix some more issues
* Fix tests
duh
* Fix goimports
* add fork choice helpers
* LMD GHOST basic implementation
* add todos
* add in the initial test and finalize rest of functions
* added tests
* more simulation, adding trivial case with only one option for a head
* panics
* begin helper function tests
* more helper tests
* higher vote wins
* LMD Ghost full test
* comment
* add types
* optimize
* prepared
* deposits for chain
* lint
* use the hash beacon block util
* rem unnecessary db methods
* comments
* setup works
* 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
* 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
* Add version linking to binaries via --workspace_status_command=./scripts/workspace_status.sh
* dont export some things
* lint and better date
* even better date
* /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
* helper functions to get active validator total balances
* forgot to * params.BeaconConfig().Gwei
* tests
* GetEffectiveBalance comments & MaxDepositInGwei in config
* format
* WIP: Dummy db clean service
* [WIP. NOT READY FOR REVIEW] Add DB cleanup routine that cleans block vote cache
* Add missing bazel config
* Put DB clean behind a CLI flag
* Address review comments
* Fix error handling
* Preliminary support for relay nodes
* lint
* Add comment, remove TODO
* work on relay address factory
* dial relay node, if available
* forgot new files
* fix service registry breakage
* added logging
* Added a peer count with prometheus
* always start mDNS
* fix lint
* 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
* Standardize params for BeaconChain and Validator projects
* gofmt
* various changes to bring up to standards
* lint
* linter 2, not sure why travis complains
* revert service_test.go
* Added prometheus client and p2p metrics
* Avoid run the adapter if the metrics are disabled
* fix visibility issue
* Fix invalid p2p.Message sent to Adapters
The middlewares (adapters) must receive the complete message to avoid
problems and the main Handler must get the values from middlewares
Also, added tests and comments for metrics package
* Added logrus hook collector
This collector is used to collect counters of log messages.
The main purpose of these metric is to know how many warnings and errors
the system are getting.
* Add hook when register the prometheus service
* update bazel builds
* fix emit tests and remove unused imports
* gazelle --fix
* remove unused logger
* move prometheus package to shared directory
* better metric names and fix metric paths
* improve metric tests and start to use promauto
* added prometheus initial documentation
* fix tests
* fix type differences with go get and bazel
* Fix service test
* start sequence for node to connect to bootstrap nodes
* lint
* maybe warning is more appropiate?
* fix gazelle
* preston's feedback
* add go-ipfs-addr to workspace
* move flag to shared
* removed routed host
* Copy state in CalculateNewState and Recalculations
* Modifies method for copying state
* Adds CopyState() function to ActiveState and CrystalliziedState
* Fully deep copies the fields required
* Writes test for ActiveState's CopyState
* Add test for CopyCrystallizedState
* Update tests to requirements
* Fix wrong logs
* Change variables to newState
* Change newC to newState
* Gofmt the active_state_test.go