* Create block generation util in testutil
* Gazelle
* Fix deps
* Fix imports
* Change tests to use config and fix integer division
* Remove logs
* Fix build
* Add test to ensure finalization occurs
* Add check for finalization
* Add comment for incrementing the state
* Fix test
* Fix tes
* Fix testutil us
* Fix tests
* Change var name
* Add regression test for bug with large validator count
* Fix bazel test
* info logs beacon node improvements
* prom test fixes
* info logging changes
* wrapped up node info logging
* changed to debug level
* warn logs taken care of
* Terence suggestion
* warn spacing
* better logging in initial sync
* debug level standardized
* complete debug standardization
* participation at epoch end
* fix archive tests
* even more test fixes
* prom test
* ops test
* powtest
* rpc sync test
* rem part
* log formatting
* skip bls verification with a feature flag at runtime
* gazelle
* more bls mocks
* block roots efficiency
* db block roots now does not show up on the flame graphs
* save validator latest votes batch
* batch save att
* misc improvements to pprof
* import
* include validator index cache
* error if no filter criteria
* resolved comments
* build fix
* lint
* remove delay global
* attestation and block test fixes
* preston suggestions
* fix db tests
* fix missing broken tests
* tests pass
* batch deletions for blocks and attestations
* test for atts delete
* test for blocks delete
* better naming of args in iface methods
* modify a bit
* convert to batch
* blocks batch delete
* batch fixes
* suspecting deadlock
* blocks batch delete tests pass
* more complex test
* Allow overwriting of default bootstrap node
* Update shared/cmd/flags.go
Co-Authored-By: Nishant Das <nish1993@hotmail.com>
* Provide warning at more suitable time
* changes
* active set change
* helpers for active set changes
* include the helpers in archive service
* table driven tests for helpers
* use from archive
* remove item
* properly use the keys in the response
* test for active set changes
* test passing
* test passing no archive
* archive tests completed
* add ethapis latest commit
* begin implementation get validator queue
* include queue
* finish the queue implementation
* consolidated churn limit
* pending active testing
* pending active t est
* tests below churn in response
* pubkey
* below churn test
* only fetches below the churn limit
* exit queue churn clip as needed
* full test for pending active below churn limits
* pending exit test
* pending exit logic
* pending exit below churn test
* all tests done for queue impl
* revert some bad changes
* bug
* make demo default
* make minimal config a flag
* lint
* initialize config at the start
* gaz
* make main method cleaner
* remove interop.go
* fix test
* lint
* gaz
* Update validator/accounts/interop.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* fix docker build
* fix docker build
* changes
* active set change
* helpers for active set changes
* include the helpers in archive service
* table driven tests for helpers
* use from archive
* remove item
* properly use the keys in the response
* test for active set changes
* test passing
* test passing no archive
* archive tests completed
* add ethapis latest commit
* fix test
* first pass, step 1 works
* naive from finalized to head
* delete commented code
* checkpoint progress on tests
* passing test
* abstract code slightly
* failure cases
* chkpt
* mostly working, missing a single block and having timeout
* passing tests
* comments
* comments
* gaz
* clarify comments
* progress on a few new cases
* add back bootnode query tool
* bootstrap from DHT
* chunked responses in round robin
* fix tests and deadlines
* add basic counter, time estimation
* hello -> handshakes
* show peers in use during sync
* just one last test failure
* only request blocks starting in the finalized epoch for step 1
* revert that
* comment out test and add better commentary
* move requestBlocks out to pointer receiver
* mathutil
* Update beacon-chain/sync/initial-sync/round_robin.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* PR feedback
* PR feedback
* archive participation begin implementation
* validator participation compute
* comments
* compute participation common func
* full test for archiving data
* gazelle
* complete tests
* gaz
* properly retrieve the validators
* revert weird change
* historical validator fetching
* resolves issues with current tests
* adding test for old epoch validators
* tests in
* archive participation begin implementation
* validator participation compute
* comments
* compute participation common func
* full test for archiving data
* gazelle
* complete tests
* gaz
* define archived validator assignment method
* archived assign logic
* need to use compute committee next
* compute archival assignments helper func
* properly compute committee using current shard
* modify the assignments request to take in a query filter item
* more intuitive implementation of list assignments
* utilize the query filter
* complete implementation
* revamp tests
* fixing current tests before adding archive tests
* test now passes using len filtered indices for total size
* include prop index in test
* revert bad change
* use ethapis
* add necessary tests
* comments
* HeadFetcher data race fix
* bazel run //:gazelle -- fix
* add the db teardown to test
* add TestChainService_SaveHead_DataRace test
* split race and norace tests
* change testset name
* test CI with 'spectest' tag instead of 'raceon'
* one more test CI with 'spectest' tag instead of 'raceon'
* bazel run //:gazelle -- fix
* set test tag to 'race_on'
* not clone the state
* Run time bug
* Still failing
* Run time working
* Run time working
* Gazelle
* Fixed all the tests
* Revert config
* Revert back test configs
* Revert config
* Tested run time again, everything is good
* Implemented AttestationPoolNoVerify
* serve nodes
* remove testing flag
* add back bootnode
* add dht
* add back dht
* gaz
* fix build
* bootnode works in runtime
* fix all references
* all tests pass
* remove feature flag
* separate out ports
* lint
* fix docker build
* use one error package
* Run time bug
* Still failing
* Run time working
* Run time working
* Gazelle
* Fixed all the tests
* Revert config
* Revert back test configs
* Revert config
* Tested run time again, everything is good
* archive participation begin implementation
* validator participation compute
* comments
* compute participation common func
* full test for archiving data
* gazelle
* complete tests
* gaz
* remove double negative grammar in comment
* use archive in rpc
* uses the archive!
* error if nothing found in archive
* comment
* use head fetcher and root
* tests pass
* archive active set changes appropriately
* archive committees
* archive info
* done with committee info archiving
* archived set changes stored
* fix build
* test for archive balances and active indices
* further abstractions
* only archive epoch end
* tests all pass
* tests pass now
* archive done
* test for activated validators
* tests for exited
* amend message
* use different proto
* finalization fetcher
* gaz
* use root
* use ctx
* use new ethapis
* use proper hash
* match apis compatibility
* match apis
* properly use participation
* fix tests
* use right commit
* first version of the watchtower api
* first version
* delete watchtower
* move to message loop
* roughtime
* one time
* fix test
* Fixed
* Fixed
* Revert unused lock
* first version of the watchtower api
* Initial prototype of sync parent fetching/processing
* Another map to track seen block root
* Fixed fmt
* Ready to live test
* Ready to live test
* Seperate pending block queue into its own
* first version
* delete watchtower
* move to message loop
* roughtime
* one time
* fix test
* Started testing but peer list empty
* Comment
* Loggins
* Stuck at decoding non proto type
* Revert
* First take, need feedback
* Run time panics at hello
* Revert
* use reflect properly
* Fixed subscriber
* instantiate helper
* More reverts
* Revert back tests
* Cont when EOF
* Working
* Clean hello tracker on peer disconnection
* Clean hello tracker on peer disconnection
* Move to validation
* Propoer locking
* Propoer locking
* Fmt
* Nishant's feedbacke
* More feedback
* All tests passing
* fix build
* remove log
* gaz
* Added the todo
* archive participation begin implementation
* validator participation compute
* comments
* compute participation common func
* full test for archiving data
* gazelle
* complete tests
* gaz
* remove double negative grammar in comment
* use head fetcher and root
* tests pass
* archive active set changes appropriately
* archive committees
* archive info
* done with committee info archiving
* archived set changes stored
* fix build
* test for archive balances and active indices
* further abstractions
* only archive epoch end
* tests all pass
* tests pass now
* archive done
* test for activated validators
* tests for exited
* use ctx
* first version of the watchtower api
* first version
* delete watchtower
* move to message loop
* roughtime
* one time
* fix test
* Update block attestation votes
* Clean up
* Found a bug
* Confirmed to be working in run time
* Confirmed to be working run time
* Raul's feedback
* Tests
* archive participation begin implementation
* validator participation compute
* comments
* compute participation common func
* full test for archiving data
* gazelle
* complete tests
* gaz
* remove double negative grammar in comment
* use head fetcher and root
* tests pass
* retrieve attestations by block root as well
* add beacon block root filter
* rem err unimpl
* add changes to list atts filter proto
* utilize the new filter attributes
* add filter types
* utilize filters in the api server impl
* tests for filter
* tests pass
* filter test done
* fix test by using head fetcher instead
* gaz
* no panic
* use new ethapis commit
* elim panic
* res panic
* ensure proto compatibility
* fixed broken test
* generate archive proto
* archived committee info
* archive methods added to iface definition
* impl
* update iface
* proto comments
* implement first method
* committee info
* save committee info
* participation checked in
* fully implemented
* tests
* test defs
* db impls done
* archive flags
* gaz
* create archiver
* register archiver in node
* registering the head updater feed
* add more gazelle
* cancel func
* test for service
* properly utilize the mocks
* lint
* remove extraneous log
* add back write to disk
* gaz
* first version of the watchtower api
* first version
* delete watchtower
* move to message loop
* roughtime
* one time
* fix test
* Fixed test
* Fixed proposer server
* Gaz
* gaz
* Stuck
* Tests passing
* Fixed all the tests
* first version of the watchtower api
* first version
* delete watchtower
* move to message loop
* roughtime
* one time
* fix test
* add test to chain start
* fix test
* move logic to mock
* remove unused method
* remove imports
* gaz
* goimports
* goimport
* update workspace
* change to new version
* gaz
* set keys
* try more things
* finally fixed all tests
* fix bootnode
* Update beacon-chain/p2p/discovery.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* preston's and raul's review
* add http server
* add tool
* add image
* change comment
* add multiaddr comment
* lint
* cosmetic changes
* fix docker
* remove dep
* preston's requested changes
* new flags
* add support for separate tcp port
* fix refs
* change tcp port
* deposit cache refactor begin
* use interface for has chain started
* use deposit fetcher interface instead
* use moar interfaces
* comment
* gaz
* fix breaking build
* lint
* implement chainstart fetcher
* allow start to work
* fix broken tests
* Add failing test
* remove glob
* remove extra deps
* Use min config for test
* Set for unslashedAttestingIndices
* add comment
* add minimal and manual tag
* coldstart flags for validator
* WIP beacon node flags
* wip beacon chain, flag fix in validator, arg fix in validator
* checkpoint
* Added interop service
* working on mock chainstart
* save the state lol
* fix tests
* Save genesis validators
* gaz
* fix validator help flags
* WaitForChainStart actually waits for genesis time
* cold start fixes
* cache
* change back
* allow for genesis state too
* remove logs
* increase mmap size
* dont process if head doesn't exist
* add 10ms tolerance
* enable libp2p debug at debug, fix pubsub
* works with checkpt
* initialize justified and finalized in db
* Removed preloadStatePath from blockchain service
* Clean up
* Write to disk for now post state
* revert b466dd536f8eadbdae2264a545a755370223d917
* Builds
* Only RPC test fails now
* use minimal config, no demo config
* clean up branch
* Lint
* resolve lint
* more lint fixes
* lint
* fix viz
* Fixing RPC test
* skip before epoch 2
* RPC time out
* Fixed ordering
* rename
* remove some dbg statements
* ensure index is correct
* fix some panics
* getting closer
* fix tests
* Fix private key
* Fixed RPC test
* Fixed beacon chain build for docker
* Add interop.go to validator go_image
* Fixed docker build
* handle errors
* skip test, skip disconnecting peers
* Fixed docker build
* tolerance for attestation processing
* revert copy
* clearer err message parse
* fix launching from dep contract
* add tool and script for interop testing
* identity
* lint
* merge upstream, fix conflict, update script, add comment
* add comma separated support for --peer=
* remove NUM_VALIDATORS, comma fix
* WIP docker image
* use CI builder
* pr feedback
* whatever antoine says
* ignore git in docker
* jobs=auto
* disable remote cache
* try to cache the golang part
* try to cache the golang part
* nvm
* From Antoine with love
* fix
* add main.go
* interop readme
* proper visibility
* standardize and abstract into simpler funcs
* formatting
* no os pkg
* add test
* no panics anywhere, properly and nicely handle errors
* proper comments
* fix broken test
* readme
* comment
* recommend ssz
* install
* tool now works
* README
* build
* readme
* 64 validators
* rem print
* register the no powchain flag
* work on mock eth1 start
* common interface
* getting closer with the interface defs
* only two uses of powchain
* remove powchain dependency
* remove powchain dependency
* common powchain interface
* proper comment in case of flag
* proper args into rpc services
* rename fields
* pass in mock flag into RPC
* conforms to iface
* use client instead of block fetcher iface
* broken tests
* block fetcher
* finalized
* resolved broken build
* fix build
* comment
* fix tests
* tests pass
* resolved confs
* took them out
* rename into smaller interfaces
* resolve some confs
* ensure tests pass
* properly utilize mock instead of localized mock
* res lint
* lint
* finish test for mock eth1data
* run gazelle
* include flag again
* fix broken build
* disable powchain
* dont dial eth1 nodes
* reenable pow
* use smaller interfaces, standardize naming
* abstract mock into its own package
* faulty mock lint
* fix stutter in lint
* rpc tests all passing
* use mocks for operations
* no more mocks in the entire rpc package
* no mock
* viz
* testonly
* Ignore latest messages in fork choice prior to latest justified
* Make sure Compact Committee Roots isn't changed by process_final_updates
* WIP add attestation bitfields length to match committee length
* Begin work on updating spec tests to 0.8.2
* WIP set up for new spec test structure
* Fix slashings
* Get mainnet tests mostly passing for attestations and attester slashings
* Fix process attestation test
* Undo change
* Complete spec tests for all operations
Still need sanity block tests
* Fix BLS sigs
* Reduce amount of reused code in core/blocks/spectests/
* Fix tests
* Update block sanity tests to 0.8.2
* Update epoch spec tests to 0.8.2
* Clean up all tests and fix shuffling/epoch tests
* WIP update bls tests to 0.8.2
* WIP update bls tests to 0.8.3
* Finish BLS spectest update to 0.8.3
* Fix shuffling spec tests
* Fix more tests
* Update proto ssz spec tests to 0.8.3
* Attempt to fix PrevEpochFFGDataMismatches test
* Goimports
* Fix documentation
* fix test
* Use custom general spec tests
* Reduce code footprint
* Remove unneeded minimal skip
* Fix for comments
* Fix for comments
* Fix test
* Small fixes
* Cleanup block spec tests a bit
* Undo change
* fix validator
* Fix validator tests
* Run gazelle
* Fix error output for epoch spec tests
* Save new validators in DB
* Use info
* Add total validator count
* Fixed tests
* Add new test
* Revert light client config
* Add state metrics back
* Gaz
* Mark old ones as deprecated
* Deprecate not --next services
* Fixed all operation tests
* Fixed node test
* All tests passing locally
* Add deprecated-p2p back, blocked by boostrap-query
* Revert message proto
* delete deprecated DB items
* delete all other instances of old db
* gaz
* cycle rem
* clear db
* 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