* Clean testutil, change tool names to Deterministic
* Cleanup errors
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into clean-testutil
* Fix bug with generating deposits
* Fix a few tests
* Fix most tests
* Clean up some tests
* Remove err pt. 1
* Remove err pt. 2
* Change tests to use genesis state util
* Remove err from deposits
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Remove circular dependency
* Remove uncompressed signature test
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Merge branch 'master' into clean-testutil
* Goimports
* gazelle
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Add back error handling
* New attestation pool (#4185)
* New pool
* Better namings
* Fmt
* Gazelle
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into define-pool
* Raul's feedback
* Raul's feedback
* Log peer conected log for incoming connections (#4173)
* Log peer conected log for incoming connections
* Merge branch 'master' into peerconnected
* Merge branch 'master' into peerconnected
* Update handshake.go
* Update handshake.go
* Merge branch 'master' into peerconnected
* Merge branch 'master' into peerconnected
* Attestation pool to use go-cache (#4187)
* Update EthereumAPIs (#4186)
* include new patch targeting latest ethapis master
* ensure project builds
* Merge branch 'master' into update-all-api
* fix up committees
* Merge branch 'update-all-api' of github.com:prysmaticlabs/prysm into update-all-api
* include latest eth apis
* Merge branch 'master' into update-all-api
* update block tests
* Merge branch 'update-all-api' of github.com:prysmaticlabs/prysm into update-all-api
* Merge branch 'master' into update-all-api
* add todos
* Implement GetValidator RPC Endpoint (#4188)
* include new patch targeting latest ethapis master
* ensure project builds
* Merge branch 'master' into update-all-api
* fix up committees
* Merge branch 'update-all-api' of github.com:prysmaticlabs/prysm into update-all-api
* include latest eth apis
* Merge branch 'master' into update-all-api
* update block tests
* Merge branch 'update-all-api' of github.com:prysmaticlabs/prysm into update-all-api
* Merge branch 'master' into update-all-api
* add todos
* implement get validator rpc
* add test for get validator
* table driven test
* fix up test
* fix confs
* tests for more cases
* fix up tests and add out of range
* Slasher optimization (#4172)
* size
* batching and concurrency improvements
* gaz
* merge fixes
* fix comment
* fix test
* fix test
* fix build
* ethpb
* ethpb
* fix test
* fix comment
* add benchmark
* fix benchmark
* Handle error for all testutil uses
* Fix errors
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Revert error handling
Revert "Fix errors"
This reverts commit db081f5486f62c854e7a34e792f5e380cfa922e7.
Revert "Handle error for all testutil uses"
This reverts commit bdabef230632dd184491c2dad63c7d3e74a3861b.
Revert "Add back error handling"
This reverts commit da7e3d2020cd906f45f452d4e441b566f2d5c8aa.
* Change genesis state func to use testing.T
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Fix conflict
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Merge branch 'master' into clean-testutil
* Merge branch 'master' into clean-testutil
* Captialize other logs
* Merge branch 'clean-testutil' of https://github.com/0xKiwi/Prysm into clean-testutil
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Merge branch 'master' into clean-testutil
* first version of the watchtower api
* service files
* Begin work on grpc server
* More changes to server
* REnames and mock setup
* working test
* merge
* double propose detection test
* nishant review
* todo change
* gaz
* fix service
* gaz
* remove unused import
* gaz
* resolve circular dependency
* resolve circular dependency 2nd try
* remove package
* fix package
* fix test
* added tests
* gaz
* remove status check
* gaz
* remove context
* remove context
* change var name
* moved to rpc dir
* gaz
* remove server code
* gaz
* slasher server
* visibility change
* pb
* service update
* gaz
* slasher grpc server
* making it work
* setup db and start
* gaz
* service flags fixes
* grpc service running
* go imports
* remove new initializer
* gaz
* remove feature flags
* change back SetupSlasherDB
* fix SetupSlasherDB calls
* define err
* fix bad merge
* fix test
* fix imports
* fix imports
* fix imports
* add cancel
* comment stop
* fix cancel issue
* remove unneeded code
* bring back bad merge that removed TODO
* remove use of epoch as am input
* fixed slasher to be runable again
* wait for channel close
* gaz
* small test
* flags fix
* fix flag order
* double vote detection
* remove source epoch from indexed attestation indices
* change server method to receive indexed attestation
* start implementation
* double vote detection
* proto
* pb
* fir comment
* add surround detection and retrieval to endpoint
* nishant review
* import fix
* fix miss order
* fix detection 0 case
added tests
* terence review
* first version of the watchtower api
* service files
* Begin work on grpc server
* More changes to server
* REnames and mock setup
* working test
* merge
* double propose detection test
* nishant review
* todo change
* gaz
* fix service
* gaz
* remove unused import
* gaz
* resolve circular dependency
* resolve circular dependency 2nd try
* remove package
* fix package
* fix test
* added tests
* gaz
* remove status check
* gaz
* remove context
* remove context
* change var name
* moved to rpc dir
* gaz
* remove server code
* gaz
* slasher server
* visibility change
* pb
* service update
* gaz
* slasher grpc server
* making it work
* setup db and start
* gaz
* service flags fixes
* grpc service running
* go imports
* remove new initializer
* gaz
* remove feature flags
* change back SetupSlasherDB
* fix SetupSlasherDB calls
* define err
* fix bad merge
* fix test
* fix imports
* fix imports
* fix imports
* add cancel
* comment stop
* fix cancel issue
* remove unneeded code
* bring back bad merge that removed TODO
* remove use of epoch as am input
* fixed slasher to be runable again
* wait for channel close
* gaz
* small test
* flags fix
* fix flag order
* double vote detection
* remove source epoch from indexed attestation indices
* change server method to receive indexed attestation
* start implementation
* double vote detection
* proto
* pb
* fir comment
* nishant review
* import fix
* Update slasher/db/indexed_attestations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* terence feedback
* Update seed domains (#3872)
* Remove Transfers (#3870)
* Remove active index roots and compact committee roots (#3869)
* Update inclusion reward (#3886)
* Alter proposer selection logic (#3884)
* Fix early committee bias (#3888)
* Remove shards and committees (#3896)
* Epoch spec tests v0.9 (#3907)
* Block spec test v0.9 (#3905)
* rm'ed in protobuf
* build proto
* build proto
* build proto
* fix core package
* Gazelle
* Fixed all the tests
* Fixed static test
* Comment out spec test for now
* One more skip
* fix-roundRobinSync (#3862)
* Starting but need new seed function
* Revert initial sync
* Updated Proposer Slashing
* Fixed all tests
* Lint
* Update inclusion reward
* Fill randao mixes with eth1 data hash
* Test
* Fixing test part1
* All tests passing
* One last test
* Updated config
* Build proto
* Proper skip message
* Conflict and fmt
* Removed crosslinks and shards. Built
* Format and gazelle
* Fixed all the block package tests
* Fixed all the helper tests
* All epoch package tests pass
* All core package tests pass
* Fixed operation tests
* Started fixing rpc test
* RPC tests passed!
* Fixed all init sync tests
* All tests pass
* Fixed blockchain tests
* Lint
* Lint
* Preston's feedback
* Starting
* Remove container
* Fixed block spec tests
* All passing except for block_processing test
* Failing block processing test
* Starting
* Add AggregateAndProof
* All mainnet test passes
* Update deposit contract (#3906)
* Proto spec tests v0.9 (#3908)
* Starting
* Add AggregateAndProof
* Unskip block util tests (#3910)
* rm'ed in protobuf
* build proto
* build proto
* build proto
* fix core package
* Gazelle
* Fixed all the tests
* Fixed static test
* Comment out spec test for now
* One more skip
* fix-roundRobinSync (#3862)
* Starting but need new seed function
* Revert initial sync
* Updated Proposer Slashing
* Fixed all tests
* Lint
* Update inclusion reward
* Fill randao mixes with eth1 data hash
* Test
* Fixing test part1
* All tests passing
* One last test
* Updated config
* Build proto
* Proper skip message
* Conflict and fmt
* Removed crosslinks and shards. Built
* Format and gazelle
* Fixed all the block package tests
* Fixed all the helper tests
* All epoch package tests pass
* All core package tests pass
* Fixed operation tests
* Started fixing rpc test
* RPC tests passed!
* Fixed all init sync tests
* All tests pass
* Fixed blockchain tests
* Lint
* Lint
* Preston's feedback
* Starting
* Remove container
* Fixed block spec tests
* All passing except for block_processing test
* Failing block processing test
* Starting
* Add AggregateAndProof
* All mainnet test passes
* Unskip block util tests
* Slot processing spec test V0.9 (#3912)
* Starting
* Add AggregateAndProof
* Unskip slot processing mainnet test
* Unskip minimal spec test for finalization (#3920)
* Remove outdated interop tests (#3922)
* Rm outdated interop tests
* Rm test runner
* Gazelle
* Update validator to use proposer slot (#3919)
* Fix committee assignment (#3931)
* Replace shard with committee index (#3930)
* Conflict
* Clean up (#3933)
* Remove shard filter in db (#3936)
* Remove lightouse compatibility test (#3939)
* Update Committee Cache for v0.9 (#3948)
* Updated committee cache
* Removed shuffled indices cache
* Started testing run time
* Lint
* Fixed test
* Safeguard against nil head state
* address edge case
* add test
* Fixed TestRoundRobinSync by doubling the epochs
* Unskip TestProtoCompatability (#3958)
* Unskip TestProtoCompatability
* Update WORKSPACE
* Fix minimal config (#3959)
* fix minimal configs
* fix hardcoded value in test
* Simplify verify att time (#3961)
* update readme for deposit contract, regen bindings for vyper 0.1.0b12 (#3963)
* update readme for deposit contract, regen bindings
* medium
* Check nil base state (#3964)
* Copy Block When Receiving it From Sync (#3966)
* copy block
* clone for other service methods too
* Change logging of Bitfield (#3956)
* change logging of bits
* preston's review
* Unskip Beacon Server Test (#3962)
* run test till the end
* fix up proto message types
* fmt
* resolve broken tests
* better error handling
* fixing new logic to use archived proposer info
* fix up logic
* clip using the max effective balance
* broken build fix with num arg mismatch
* amend archive
* archival logic changed
* rename test
* archive both proposer and attester seeds
* page size 100
* further experiments
* further experimentation, archivedProposerIndex seems wrong
* test passes
* rem log
* fix broken test
* fix test
* gaz
* fix imports
* ethapis
* use LRU cache on skip slots
* add a metric
* gaz
* more metrics
* temporary log
* added more logging
* fix
* only update, if its higher than the cache
* only update, if its higher than the cache
* increase the cache size, just in case
* split cache related stuff into its own file
* add feature flag
* clean up
* add new test
* make test proper
* godoc
* preston's review
* first version of the watchtower api
* service files
* Begin work on grpc server
* More changes to server
* REnames and mock setup
* working test
* merge
* double propose detection test
* nishant review
* todo change
* gaz
* fix service
* gaz
* remove unused import
* gaz
* resolve circular dependency
* resolve circular dependency 2nd try
* remove package
* fix package
* fix test
* added tests
* gaz
* remove status check
* gaz
* remove context
* remove context
* change var name
* moved to rpc dir
* gaz
* remove server code
* gaz
* slasher server
* visibility change
* pb
* service update
* gaz
* slasher grpc server
* making it work
* setup db and start
* gaz
* service flags fixes
* grpc service running
* go imports
* remove new initializer
* gaz
* remove feature flags
* change back SetupSlasherDB
* fix SetupSlasherDB calls
* define err
* fix bad merge
* fix test
* fix imports
* fix imports
* fix imports
* add cancel
* comment stop
* fix cancel issue
* remove unneeded code
* bring back bad merge that removed TODO
* remove use of epoch as am input
* fixed slasher to be runable again
* wait for channel close
* gaz
* small test
* flags fix
* fix flag order
* first version of the watchtower api
* service files
* Begin work on grpc server
* More changes to server
* REnames and mock setup
* working test
* merge
* double propose detection test
* nishant review
* todo change
* gaz
* fix service
* gaz
* remove unused import
* gaz
* resolve circular dependency
* resolve circular dependency 2nd try
* remove package
* fix package
* fix test
* added tests
* gaz
* remove status check
* gaz
* remove context
* remove context
* change var name
* moved to rpc dir
* gaz
* remove server code
* gaz
* slasher server
* visibility change
* pb
* service update
* gaz
* slasher grpc server
* making it work
* setup db and start
* gaz
* service flags fixes
* grpc service running
* go imports
* remove new initializer
* gaz
* remove feature flags
* change back SetupSlasherDB
* fix SetupSlasherDB calls
* define err
* fix bad merge
* fix test
* fix imports
* fix imports
* fix imports
* add cancel
* comment stop
* fix cancel issue
* remove unneeded code
* bring back bad merge that removed TODO
* fixed slasher to be runable again
* wait for channel close
* gaz
* small test
* flags fix
* fix flag order
* remove flag
* first version of the watchtower api
* service files
* Begin work on grpc server
* More changes to server
* REnames and mock setup
* working test
* merge
* double propose detection test
* nishant review
* todo change
* gaz
* fix service
* gaz
* remove unused import
* gaz
* resolve circular dependency
* resolve circular dependency 2nd try
* remove package
* fix package
* fix test
* added tests
* gaz
* remove status check
* gaz
* remove context
* remove context
* change var name
* moved to rpc dir
* gaz
* remove server code
* gaz
* slasher server
* visibility change
* pb
* service update
* gaz
* test for verifying large amount of agg sigs
* agg sgi could not verify
* 128 fails
* confirmed works for 512
* comprehensive test for handle att
* commented test
* fix up test
* include the proper wait group
* concurrency managed to reproduce verification bug
* concurrent test passes
* revert config changes
* use new db in operations tests
* debugging for the special attestations
* resolve tests
* fmt
* first version of the watchtower api
* first commit
* remove watchtower
* working version
* fix < 0
* gaz
* Update slasher/db/db.go
* remove clear history
* moved constant to config
* gaz
* feedback changes
* compare uint64
* add constant config
* PruneSlasherStoragePeriod change