* 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
* 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
* 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
* create wait for activation stream
* wait for activation server stream open
* complete server side logic
* formatting
* first test passing
* context closed test
* lint
* fix build failure
* imports
* eliminate unused cancel var
* described the Status () function
* web3 service health checks
* remove method LatestBlockTime and add tests
* remove lastHeadInteractTime
* corrected conflicts of different branches of development
* goimports -w beacon-chain/powchain/service_test.go
* add tests for cache
* changes to test
* add pruning and tests
* add fifo queue
* revamped key function
* fix all methods to use new fifo queue
* fix tests and gazelle
* refactor block cache
* lint
* add a bit more testing to service_test
* Implemented the flag grouping logic
* Added a usage file to the validator binary and fixed style issues
* Ran gazelle fix to fix the CI tests that failed
* 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
* 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
* eth1 data comments
* eth1 data RPC server side impl
* logic is data objects is empty
* finished eth1 server logic
* update comments
* fmt
* big int comparisons
* begin adding eth1 data tests
* empty data votes test runs
* all tests complete with every code branch triggered, behavior correct
* fmt, imports
* address comments
* wrapped up tests
* addressed all comments
* correct attester view of chain head and prioritize proposer
* fix attempt not working
* revise with correct logic
* attester fixess to root fetching, spec did not make sense
* comments to match code
* fix attester responsibility
* comments
* 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
* provide validator with real keystore public key
* fmt
* build errors buildkite
* readd imports removed by goimport
* gazelle
* address broken tests
* make reference to filename a param
* fmt
* imports
* gazelle
* os remove all
* Use better Temp storage for tests
* testmain approach to avoid repeating expensive operation for each test
* travis lint
* fix test
* nokeystore in status test
* passing
* fix goimports
* 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