* Use right signature
* Minor refactor and a regression test
* Use proper DomainRequest for mock
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* no more patch
* Merge refs/heads/master into no-more-patch
* fix build
* Merge refs/heads/master into no-more-patch
* Merge refs/heads/master into no-more-patch
* Change valstatus for visible deposit back to DEPOSITED
* Rename logs
* Merge branch 'master' into val-status
* Fix tests
* Merge branch 'val-status' of https://github.com/prysmaticlabs/prysm into val-status
* Fix tests
* Change test
* Merge branch 'master' into val-status
* Text changes
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into val-status
* Merge branch 'val-status' of https://github.com/prysmaticlabs/prysm into val-status
* Update validator/client/validator.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/client/validator.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Merge branch 'val-status' of https://github.com/prysmaticlabs/prysm into val-status
* Merge branch 'master' into val-status
* WaitForActrivation improvements
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into waitforactivation
* Changes to handle new statuses
* Merge branch 'master' into waitforactivation
* Fix tests
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into waitforactivation
* Merge branch 'waitforactivation' of https://github.com/0xKiwi/Prysm into waitforactivation
* Remove unkown status being set
* Fix test
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into waitforactivation
* Merge branch 'master' into waitforactivation
* Modify logging slightly
* Merge branch 'waitforactivation' of https://github.com/0xKiwi/Prysm into waitforactivation
* Improve deposit ux
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into waitforactivation
* Add test for logs
* Rename
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into waitforactivation
* Merge branch 'master' into waitforactivation
* Merge branch 'master' into waitforactivation
* Merge branch 'master' into waitforactivation
* Merge branch 'master' into waitforactivation
* Merge branch 'master' into waitforactivation
* Merge branch 'master' into waitforactivation
* Merge branch 'master' into waitforactivation
* Change prometheus flag from default 8080 and sort flags
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into change-prometheus-port
* Fix build
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into change-prometheus-port
* Merge branch 'master' into change-prometheus-port
* Enforce error handling and checking type assertions
* Reference issue #5404 in the TODO message
* doc description
* Merge branch 'master' into errcheck
* fix tests and address @nisdas feedbacK
* gaz
* fix docker image
* Look into what makes the validator client slow
* Comment
* Refactor status function to be cleaner
* Use timings from params
* Improve coverage
* Remove unneeded lock in chainstart
* Reorganize validator logging
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into optimize-validator
* cleanup
* Fix bug
* Undo depositbypukey changes
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into optimize-validator
* Fix deposit cache
* Fix multiple status test
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into optimize-validator
* Remove logs
* Remove unused import
* Add comment
* comment
* Remove comments
* Merge branch 'master' into optimize-validator
* Undo time change for activation
* Merge branch 'optimize-validator' of https://github.com/0xKiwi/Prysm into optimize-validator
* Fix check for sync
* Change value back to half slot
* comment
* Rephrase logs
* Merge branch 'master' into optimize-validator
* Reduce number of info-level messages on start of validator
* Test service, not log entry
* Gazelle
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Add alpine based images for validator and beacon chain
* Use an alpine image with glibc
* manual tags on transitional targets
* poke buildkite
* poke buildkite
* New byteutils for state gen
* Added empty slice and nil checks
* Merge branch 'master' into bit-utils
* SetBit to extend bit
* Merge branch 'bit-utils' of github.com:prysmaticlabs/prysm into bit-utils
* Comment
* Add HighestBitIndexBelow
* Test for HighestBitIndexBelow
* another test and better test fail output
* Feedback
* Merge branch 'bit-utils' of github.com:prysmaticlabs/prysm into bit-utils
* Feedback
* Preston's feedback, thanks!
* Use var
* Use var
* Merge refs/heads/master into bit-utils
* Warn on failure to decrypt a keystore validator
* Update test
* Update tools
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Define proto
* Regen
* Delete slasher.pb.go
* Gaz
* Merge branch 'state-summary-proto' of https://github.com/prysmaticlabs/prysm into state-summary-proto
* Revert "Delete slasher.pb.go"
This reverts commit 19bfa21cd3294bc5f684fe68968250de76a8f5bd.
* Add state_summary.go
* Test
* Gaz
* Interaces
* pass through
* Merge refs/heads/master into state-summary-db
* Merge refs/heads/master into state-summary-db
* Remove unused services, mark everything as deprecated, regen pb.go
* remove some code from cluster pk manager, gazelle
* goimports
* remove mocks
* Update WORKSPACE, deprecate old method, stub new method
* Move implementation to ethereumapis definition
* gofmt
* Add TODO for #4952
* Merge branch 'master' into migrate-submitaggregateandproof
* Update validator client to use new submit aggregate and proof method
* Merge branch 'migrate-submitaggregateandproof' of github.com:prysmaticlabs/prysm into migrate-submitaggregateandproof
* gaz
* rename
* rename
* Merge refs/heads/master into migrate-submitaggregateandproof
* Merge refs/heads/master into migrate-submitaggregateandproof
* Merge refs/heads/master into migrate-submitaggregateandproof
* Merge refs/heads/master into migrate-submitaggregateandproof
* Merge refs/heads/master into migrate-submitaggregateandproof
* fix tests
* Merge branch 'migrate-submitaggregateandproof' of github.com:prysmaticlabs/prysm into migrate-submitaggregateandproof
* Use a domain data cache to reduce the number of calls per epoch
* fix fakevalidator
* Refactor to use a feature flag, use proto.clone, move interceptor to its own file
* gofmt
* fix comment
* tune cache slightly
* log if error on domain data
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add a configurable flag for gRPC retries
* Merge refs/heads/master into configurable-retry
* Merge refs/heads/master into configurable-retry
* Merge refs/heads/master into configurable-retry
* Merge refs/heads/master into configurable-retry
* Merge refs/heads/master into configurable-retry
* add in flag to usage
* Done
* Fixed lock
* Fixed all the tests
* Comments
* Fixed more tests
* Merge branch 'master' into better-head-obj
* Fixed more tests
* Merge branch 'better-head-obj' of git+ssh://github.com/prysmaticlabs/prysm into better-head-obj
* Prestons feedback & fixed test
* Nishant's feedback
* Participation edge case
* Gaz
* Merge branch 'master' into better-head-obj
* Merge branch 'master' of git+ssh://github.com/prysmaticlabs/prysm into better-head-obj
* Raul's feedback
* Merge branch 'better-head-obj' of git+ssh://github.com/prysmaticlabs/prysm into better-head-obj
* Update attester submit strategy
* Tests
* Gaz
* Fixed rest of the tests
* Updated design to use feed
* Use roughtime for Now
* gaz
* Gaz
* Send block processed after fork choice
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Rename elements for clarity
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into slasher-renames
* Fix test
* Rename more functions
* Cleanup
* Fix logs
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into slasher-renames
* Reorganize and clean up logs
* Address comments
* Add comments
* add prometheus metrics for validator accounts:
* gauge for balances
* counters for attestations and failures
* counters for aggregations and failures
* counters for proposals and failures
put validator account metrics behind flag
* run gazelle to reorganize deps
* fix typo
Co-authored-by: garyschulteog <30323939+garyschulteog@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Add wallet keymanager
* Read keymanageropts from file if not JSON
Co-authored-by: Nishant Das <nish1993@hotmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update ValidatorStatus to match Ethereum APIs
* Tidy up status calculation
* Merge branch 'master' into validator-status-updates
* Merge branch 'master' into validator-status-updates
* Update beacon-chain/rpc/beacon/config.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update test names
* Fix validator acting upon first slot
* Change log to debug
* Fix roles at slot 0
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into fix-val
* Add regression test
* Formatting
* Add slot ticker regression test
* Change NoGenesisDelay to CustomGenesisDelay
* Implement flag
* gazelle
* Fix docs
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into custom-genesis-delay
* Fix
* Gazelle
* Add case to fix bad math
* Merge branch 'master' into custom-genesis-delay
* Move to keymanager/keymanageropts command line parameters
* Add help for individual keymanagers
* gazelle
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Remove map from validator
* remove failure check test
* fix
* Merge refs/heads/master into validator-fix
* Merge refs/heads/master into validator-fix
* Merge refs/heads/master into validator-fix
* Add error log if validator not found in committee
* Merge refs/heads/master into validator-fix
* Add flag for attester protection
* Remove flags
* Add attestation history DB functions to validator client
* Fix comments
* Update interface to new funcs
* Fix test
* Add flags
* Implement most of attester protection
* Fix tests
* Add test for pruning
* Add more test cases for prunes
* Remove todo comment
* Fix comments
* Rename functions
* Fix logs
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Add flag for attester protection
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into protecc-attester-db
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into protecc-attester-db
* Remove flags
* Add attestation history DB functions to validator client
* Fix comments
* Update interface to new funcs
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into protecc-attester-db
* Fix test
* Merge branch 'master' into protecc-attester-db
* include new patch
* add patch and validator indices to duties resp
* test passing
* move call to validator index
* Merge branch 'master' into include-val-idx
* do not use wait groups anymore
* Merge branch 'include-val-idx' of github.com:prysmaticlabs/prysm into include-val-idx
* Update beacon-chain/rpc/validator/assignments_test.go
* Add double proposal protection to client
* Add mock test cases for past proposals, and after pruning
* Fix error
* Add force clear db to val in e2e
* Fix val tests
* Move saving proposal history to after broadcasting block
* Add featureflag
* Goimports
* Unexport flag
* Add flag to tests
* gazelle
* Move conditionals
* Begin adding DB to validator client
Begin adding ValidatorProposalHistory
Implement most of proposal history
Finish tests
Fix marking a proposal for the first time
Change proposalhistory to not using bit shifting
Add pb.go
Change after proto/slashing added
Finally fix protos
Fix most tests
Fix all tests for double proposal protection
Start initialiing DB in validator client
Add db to validator struct
Add DB to ProposeBlock
Fix test errors and begin mocking
Fix test formatting and pass test for validator protection!
Fix merge issues
Fix renames
Fix tests
* Fix tests
* Fix first startup on DB
* Fix nil check tests
* Fix E2E
* Fix e2e flag
* Fix comments
* Fix for comments
* Move proposal hepers to validator/client to keep DB clean
* Add clear-db flag to validator client
* Fix formatting
* Clear out unintended changes
* Fix build issues
* Fix build issues
* Gazelle
* Fix mock test
* Remove proposal history
* Add terminal confirmation to DB clearing
* Add interface for validatorDB, add context to DB functions
* Add force-clear-db flag
* Cleanup
* Update validator/node/node.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* Change db to clear file, not whole folder
* Fix db test
* Fix teardown test
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Remove custody (#3986)
* Update proto fields
* Updated block operations
* Fixed all block operation tests
* Fixed tests part 1
* Fixed tests part 1
* All tests pass
* Clean up
* Skip spec test
* Fixed ssz test
* Skip ssz test
* Skip mainnet tests
* Update beacon-chain/operations/attestation.go
* Update beacon-chain/operations/attestation.go
* Decoy flip flop check (#3987)
* Bounce attack check (#3989)
* New store values
* Update process block
* Update process attestation
* Update tests
* Helper
* Fixed blockchain package tests
* Update beacon-chain/blockchain/forkchoice/process_block.go
* Conflict
* Unskip mainnet spec tests (#3998)
* Starting
* Fixed attestation mainnet test
* Unskip ssz static and block processing tests
* Fixed workspace
* fixed workspace
* fixed workspace
* Update beacon-chain/core/blocks/block_operations.go
* Unskip minimal spec tests (#3999)
* Starting
* Fixed attestation mainnet test
* Unskip ssz static and block processing tests
* Fixed workspace
* fixed workspace
* fixed workspace
* Update workspace
* Unskip all minimal spec tests
* Update workspace for general test
* Unskip test (#4001)
* Update minimal seconds per slot to 6 (#3978)
* Bounce attack tests (#3993)
* New store values
* Update process block
* Update process attestation
* Update tests
* Helper
* Fixed blockchain package tests
* Slots since epoch starts tests
* Update justified checkpt tests
* Conflict
* Fixed logic
* Update process_block.go
* Use helper
* Conflict
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.1
* Conflict
* Fixed failed tests
* Lower MinGenesisActiveValidatorCount to 16384 (#4100)
* Fork choice beacon block checks (#4107)
* Prevent future blocks check and test
* Removed old code
* Update aggregation proto (#4121)
* Update def
* Update spec test
* Conflict
* Update workspace
* patch
* Resolve conflict
* Patch
* Change workspace
* Update ethereumapis to a forked branch at commit 6eb1193e47
* Fixed all the tests
* Merge branch 'v0.9.2' of https://github.com/prysmaticlabs/prysm into conflict
* fix patch
* Need to regenerate test data
* Merge branch 'master' into v0.9.2
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Enable snappy compression for all (#4157)
* enable snappy compression for all
* enable snappy compression for all
* enable snappy compression for all
* enable snappy compression for all
* Validate aggregate and proof subscriber (#4159)
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Conflict
* Update workspace
* Conflict
* Conflict
* Conflict
* Merge branch 'master' into v0.9.2
* Merge branch 'master' into v0.9.2
* Conflict
* Merge branch 'v0.9.2' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Remove migrate to snappy (#4205)
* Feature flag: Deprecate --prune-states, release to all (#4204)
* Deprecated prune-states, release to all
* imports
* remote unused import
* remove unused import
* Rm prune state test
* gaz
* Refactoring for dynamic pubsub subscriptions for non-aggregated attestations (#4189)
* checkpoint progress
* chkpt
* checkpoint progress
* put pipeline in its own file
* remove unused imports
* add test, it's failing though
* fix test
* remove head state issue
* add clear db flag to e2e
* add some more error handling, debug logging
* skip processing if chain has not started
* fix test
* wrap in go routine to see if anything breaks
* remove duplicated topic
* Add a regression test. Thanks @nisdas for finding the original problem. May it never happen again *fingers crossed*
* Comments
* gofmt
* comment out with TODO
* Sync with master
* Sync with master
* RPC servers use attestation pool (#4223)
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Refactor RPC to Fully Utilize Ethereum APIs (#4243)
* include attester as a file in the validator server
* remove old proposer server impl
* include new patch and properly sync changes
* align with public pbs
* ensure matches rpc def
* fix up status tests
* resolve all broken test files in the validator rpc package
* gazelle include
* fix up the duties implementation
* fixed up all get duties functions
* all tests pass
* utilize new ethereum apis
* amend validator client to use the new beacon node validator rpc client
* fix up most of validator items
* added in mock
* fix up test
* readd test
* add chain serv mock
* fix a few more validator methods
* all validator tests passingggg
* fix broken test
* resolve even more broken tests
* all tests passsssss
* fix lint
* try PR
* fix up test
* resolve broken other tests
* Sync with master
* Merge branch 'v0.9.2' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Aggregate and proof subscriber (#4240)
* Added subscribers
* Fixed conflict
* Tests
* fix up patch
* Use upstream pb
* include latest patch
* Fmt
* Save state before head block
* skip tests (#4275)
* Delete block attestations from the pool (#4241)
* Added subscribers
* Clean up
* Fixed conflict
* Delete atts in pool in validate pipeline
* Moved it to subscriber
* Merge branch 'v0.9.2' of https://github.com/prysmaticlabs/prysm into use-att-pool-3
* Test
* Fixed test
* Initial work on voluntary exit (#4207)
* Initial implementation of voluntary exit: RPC call
* Update for recent merges
* Break out validation logic for voluntary exits to core module
* RequestExit -> ProposeExit
* Decrease exit package visibility
* Move to operation feed
* Wrap errors
* Fix critical proposer selection bug #4259 (#4265)
* fix critical proposer selection bug #4259
* gofmt
* add 1 more validator to make it 5
* more tests
* Fixed archivedProposerIndex
* Fixed TestFilterAttestation_OK
* Refactor ComputeProposerIndex, add regression test for potential out of range panic
* handle case of nil validator
* Update validators_test.go
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Leftover merge files, oops
* gaz
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into v0.9.2
* Fixes Duplicate Validator Bug (#4322)
* Update dict
* Test helper
* Regression test
* Comment
* Reset test cache
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* fixes after PR #4328
* Complete attestation pool for run time (#4286)
* Added subscribers
* Fixed conflict
* Delete atts in pool in validate pipeline
* Moved it to subscriber
* Test
* Fixed test
* New curl for forkchoice attestations
* Starting att pool service for fork choice
* Update pool interface
* Update pool interface
* Update sync and node
* Lint
* Gazelle
* Updated servers, filled in missing functionalities
* RPC working with 1 beacon node 64 validators
* Started writing tests. Yay
* Test to aggregate and save multiple fork choice atts
* Tests for BatchAttestations for fork choice
* Fixed exisiting tests
* Minor fixes
* Fmt
* Added batch saves
* Lint
* Mo tests yay
* Delete test
* Fmt
* Update interval
* Fixed aggregation broadcast
* Clean up based on design review comment
* Fixed setupBeaconChain
* Raul's feedback. s/error/err
* resolve conflicts
* Merge branch 'v0.9.2' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge refs/heads/master into v0.9.2
* Removed old protos and fixed tests (#4336)
* Merge refs/heads/master into v0.9.2
* Disallow duplicated indices and test (#4339)
* Explicit use of GENESIS_SLOT in fork choice (#4343)
* Update from 2 to 3 (#4345)
* Remove verify unaggregated attestation when aggregating (#4347)
* use slot ticker instead of run every (#4348)
* Add context check for unbounded loop work (#4346)
* Revert "Explicit use of GENESIS_SLOT in fork choice (#4343)" (#4349)
This reverts commit d3f6753c77f8f733563d00ab649c5159b2c2926f.
* Refactor Powchain Service (#4306)
* add data structures
* generate proto
* add in new fields
* add comments
* add new mock state
* add new mock state
* add new methods
* some more changes
* check genesis time properly
* lint
* fix refs
* fix tests
* lint
* lint
* lint
* gaz
* fix lint
* raul's comments
* use one method
* fix test
* raul's comment
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Ensure best better-justification is stored for fork choice (#4342)
* Ensure best better-justification is stored. Minor refactor
* Tests
* Merge refs/heads/v0.9.2 into better-best-justified
* Merge refs/heads/v0.9.2 into better-best-justified
* Ensure that epoch of attestation slot matches the target epoch (#4341)
* Disallow duplicated indices and test
* Add slot to target epoch check to on_attestation
* Add slot to target epoch check to process_attestation
* Merge branch 'v0.9.2' of git+ssh://github.com/prysmaticlabs/prysm into no-dup-att-indices
* Fixed TestProcessAttestations_PrevEpochFFGDataMismatches
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Update beacon-chain/blockchain/forkchoice/process_attestation_test.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Filter viable branches in fork choice (#4355)
* Only activate upon finality (#4359)
* Updated functions
* Tests
* Merge branch 'v0.9.2' of git+ssh://github.com/prysmaticlabs/prysm into queue-fix-on-finality
* Comment
* Merge refs/heads/v0.9.2 into queue-fix-on-finality
* Fixed failing test from 4359 (#4360)
* Fixed
* Skip registry spec tests
* Wait for state to be initialized at least once before running slot ticker based on genesis time (#4364)
* Sync with master
* Fix checkpoint root to use genesis block root (#4368)
* Return an error on nil head state in fork choice (#4369)
* Return error if nil head state
* Fixed tests. Saved childen blocks state
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update metrics every epoch (#4367)
* return empty slice if state is nil (#4365)
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge refs/heads/master into v0.9.2
* Pubsub: Broadcast attestations to committee based subnets (#4316)
* Working on un-aggregated pubsub topics
* update subscriber to call pool
* checkpointing
* fix
* untested message validation
* minor fixes
* rename slotsSinceGenesis to slotsSince
* some progress on a unit test, subscribe is not being called still...
* dont change topic
* need to set the data on the message
* restore topic
* fixes
* some helpful parameter changes for mainnet operations
* lint
* Terence feedback
* unskip e2e
* Unit test for validate committee index beacon attestation
* PR feedbacK
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into resolveConflicts
* remove condition
* Remove unused operation pool (#4361)
* Merge refs/heads/master into v0.9.2
* Aggregate attestations periodically (#4376)
* Persist ETH1 Data to Disk (#4329)
* add data structures
* generate proto
* add in new fields
* add comments
* add new mock state
* add new mock state
* add new methods
* some more changes
* check genesis time properly
* lint
* fix refs
* fix tests
* lint
* lint
* lint
* gaz
* adding in new proto message
* remove outdated vars
* add new changes
* remove latest eth1data
* continue refactoring
* finally works
* lint
* fix test
* fix all tests
* fix all tests again
* fix build
* change back
* add full eth1 test
* fix logs and test
* add constant
* changes
* fix bug
* lint
* fix another bug
* change back
* Apply suggestions from code review
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Fixed VerifyIndexedAttestation (#4382)
* rm signing root (#4381)
* rm signing root
* Fixed VerifyIndexedAttestation
* Check proposer slashed status inside ProcessBlockHeaderNoVerify
* Fixed TestUpdateJustified_CouldUpdateBest
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Remove Redundant Trie Generation (#4383)
* remove trie generation
* remove deposit hashes
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into v0.9.2
* fix build
* Conflict
* Implement StreamAttestations RPC Endpoint (#4390)
* started attestation stream
* stream attestations test
* on slot tick test passing
* imports
* gaz
* Update beacon-chain/rpc/beacon/attestations_test.go
Co-Authored-By: shayzluf <thezluf@gmail.com>
Co-authored-by: shayzluf <thezluf@gmail.com>
* Fixed goimport (#4394)
* Use custom stateutil ssz for ssz HTR spec tests (#4396)
* Use custom stateutil ssz for ssz HTR spec tests
* gofmt
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge refs/heads/master into v0.9.2
* set mainnet to be the default for build and run (#4398)
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* gracefully handle deduplicated registration of topic validators (#4399)
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* SSZ: temporarily disable roots cache until cache issues can be resolved (#4407)
* temporarily disable roots cache until cache issues can be resolved
* Also use custom ssz for spectests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Remove process block attestations as separate routine (#4408)
* Removed old save/process block atts
* Fixed tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Save Deposit Cache to Disk (#4384)
* change to protos
* fix build
* glue everything together
* fix test
* raul's review
* preston's comments
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix activation queue sorting (#4409)
* Removed old save/process block atts
* Fixed tests
* Proper sorting by eligibility epoch then by indices
* Deleted old colde
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge branch 'master' into v0.9.2
* Merge refs/heads/master into v0.9.2
* stop recursive lookup if context is cancelled (#4420)
* Fix proposal bug (#4419)
* Add Pending Deposits Safely (#4422)
* safely prune cache
* use proper method
* preston's,terence's reviews and comments
* revert change to build files
* use as feature config instead
* Release custom state ssz (#4421)
* Release custom state ssz, change all HTR of beacon state to use custom method
* typo
* use mainnet config
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Update initial sync save justified to align with v0.9.3 (#4432)
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* fix build
* don't blacklist on pubsub (#4435)
* Fix Flakey Slot Ticker Test (#4434)
* use interface instead for the slot ticker
* fixed up flakey tests
* add gen time
* get duties comment
* fix lifecycle test
* more fixes
* Configurable min genesis delay (#4437)
* Configurable min genesis delay based on https://github.com/ethereum/eth2.0-specs/pull/1557
* remove feature flag for genesis delay
* fix
* demo config feedback
* patch readme
* save keys unencrypted for validators (#4439)
* Add new demo configuration targeting mainnet scale (#4397)
* Add new demo configuration targeting mainnet, with 1/10th of the deposit value
* reduce quotant by 1/10th. Use 1/10th mainnet values
* only change the inactivity quotant
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Save justified checkpoint state (#4433)
* Save justified checkpoint state
* Lint
* Feedback
* Fixed test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Update shared/testutil/deposits.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update proto/testing/ssz_regression_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/core/epoch/epoch_processing.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/kv/forkchoice.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/pool.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/pool.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/powchain/log_processing_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/service.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/sync/subscriber_beacon_blocks_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/sync/subscriber_beacon_blocks_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/sync/subscriber.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/sync/subscriber.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/proposer.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/prepare_forkchoice.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/powchain/log_processing_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/pool.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/powchain/log_processing_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/aggregator/server.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/cache/depositcache/pending_deposits.go
* Update beacon-chain/cache/depositcache/pending_deposits_test.go
* Update beacon-chain/rpc/validator/proposer.go
* Merge refs/heads/master into v0.9.2
* Fix e2e genesis delay issues (#4442)
* fix e2e genesis delay issues
* register flag
* typo
* Update shared/featureconfig/config.go
Co-Authored-By: Nishant Das <nishdas93@gmail.com>
* Apply suggestions from code review
Co-Authored-By: Nishant Das <nishdas93@gmail.com>
* skip demo e2e
* fix validator
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Nishant Das <nish1993@hotmail.com>
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Batch Eth1 RPC Calls (#4392)
* add new methods
* get it working
* optimize past deposit logs processing
* revert change
* fix all tests
* use mock
* lint
* lint
* check for nil
* stop panics
* Apply suggestions from code review
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Terence's Review
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* panic on zero genesis time given
* fix test
* fix test
* fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add validator_log.go
* Use new logging scheme
* Go fmt
* Better name
* Tests
* Tests
* Add wg.done, moved logging before span end
* Add aggregator indices to submit attestation log
* Rename
* Fixed test
* Add proposer index
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add validator_log.go
* Use new logging scheme
* Go fmt
* Better name
* Tests
* Tests
* Merge refs/heads/master into better-logging
* Merge branch 'master' of git+ssh://github.com/prysmaticlabs/prysm into better-logging
* Add wg.done, moved logging before span end
* Merge branch 'better-logging' of git+ssh://github.com/prysmaticlabs/prysm into better-logging
* Implementation of graffiti flag without tests.
* Updated to pass graffiti as string instead of []byte all the way to the ProposeBlock RPC call. This ensures that the ToBytes32() call is handled in ProposeBlock as opposed to relying on the caller to ensure that the value passed is only 32 bytes. This adds work by doing that conversion on each proposed block for a static value of graffiti, but it also helps protect against an RPC call to ProposeBlock that has more than 32 bytes for graffiti.
* Added test case for validator.
* Added GraffitiFlag to validate usage test.
* Updated data structures and logic to convert graffiti flag from string to byte array earlier in the process. Now converting when setting up ValidatorService.
* Updated test case to correctly set up validator using byte array.
* Merge branch 'master' into graffitiFlag
* change to herumi's bls
* change alias
* change to better
* add benchmark
* build
* change to bazel fork
* fix prefix
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* make it work with library
* update to latest
* change again
* add import
* update to latest
* add sha commit
* new static lib with groups swapped
* using herumis new lib
* fix dep paths in c headers
* update again
* new changes
* fix commit
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* fix serialization
* comment
* fix test
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* fix to herumis latest version
* fix test
* fix benchmarks
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* add new workspace
* change commit and remove init
* get test to pass
* remove parameter
* remove reverse byte order
* make gazelle happy
* set pure to off
* fix failing tests
* Merge branch 'master' into herumiBLS
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* Merge branch 'herumiBLS' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* remove old ref
* use HashWithDomain functions
* update to latest version
* clean up
* gaz
* add back removed code
* switch off pure
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* use local repo
* resolve docker issues
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* fix build and tests
* gaz
* Merge branch 'master' into herumiBLS
* Merge refs/heads/master into herumiBLS
* Merge refs/heads/master into herumiBLS
* Enhance logging with sig
* Fixed
* Merge branch 'master' into add-sig
* Merge branch 'master' into add-sig
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into add-sig
* signature via debug
* Merge branch 'add-sig' of https://github.com/prysmaticlabs/prysm into add-sig
* Merge branch 'master' into add-sig
* Merge branch 'master' into add-sig
* Merge branch 'master' into add-sig
* Begin working on end to end tests using geth dev chain
* Start on beacon node set up
* More progress on bnode setup
* Complete flow until chainstart, begin work on evaluators
* More progress on evaluators
* Start changing bazel run to direct binary
* Move endtoend to inside beacon-chain
* use bazel provided geth, use bazel test
* tempdir
* use fork rules_go
* Change to use UUID dir and bazel binaries
* Truncate UUID a bit
* Get full run from chainstart to evaluating
* Rewrite to react to logs rather than arbitrarily wait
* Fix export
* Move evaluators to evaluators.go
* Add peer check test
* Add more comments
* Remove unneeded exports
* Check all nodes have the correct amount of peers
* Change name to onGenesisEpoch
* Remove extra wait times where not needed
* Cleanup
* Add log for beacon start
* Fix deposit amount
* Make room for eth1follow distnce
* Cleanup and fix minimal test
* Goimports
* Fix imports
* gazelle and minimal
* manual
* Fix for comments
* Make timing rely on reading logs, and cleanup
* Fix for comments
* Fix workspace
* Cleanup
* Fix visibility
* Cleanup and some comments
* Address comments
* Fix for v0.9
* Modify for v0.9
* Move to own package outside of beacon-chain
* Gazelle
* Polishing, logging
* Fix filenames
* Add more logs
* Add flag logging
* Cover for page not having libp2p info
* Improve multiAddr detection
* Add more logs
* Add missing flags
* Add log printing to defer
* Get multiAddr from logs
* Fix logging and detection
* Change evaluators to rely on EpochTimer
* Add evaluator for ValidatorParticipation
* Fix validator participation evaluator
* Cleanup, comments and fix participation calculation
* Cleanup
* Let the file searcher search for longer
* Change participation to check for full
* Log out file contents if text isnt found
* Split into different files
* Disable IPC and use RPC instead, change tmp dir to bazel dir
* Change visibility
* Gazelle
* Add e2e tag
* new line
* Revert "Revert "Change BLS Library to Herumi (#3752)" (#4006)"
This reverts commit 904898e405.
* turn it on
* make all docker images with cgo deps static
* change back
* fix build
* switch back
* address gateway
* fix library again
* change to herumi's bls
* change alias
* change to better
* add benchmark
* build
* change to bazel fork
* fix prefix
* make it work with library
* update to latest
* change again
* add import
* update to latest
* add sha commit
* new static lib with groups swapped
* using herumis new lib
* fix dep paths in c headers
* update again
* new changes
* fix commit
* fix serialization
* comment
* fix test
* fix to herumis latest version
* fix test
* fix benchmarks
* add new workspace
* change commit and remove init
* get test to pass
* remove parameter
* remove reverse byte order
* make gazelle happy
* set pure to off
* fix failing tests
* remove old ref
* use HashWithDomain functions
* update to latest version
* clean up
* gaz
* add back removed code
* switch off pure
* 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
* Added the panic capture so that information about it gets into the log file
* Printf -> Errorf
* Update validator/main.go "run time" -> "Runtime"
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* Update beacon-chain/main.go "run time" -> "Runtime"
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* Starting
* Update logging for service
* Update logging for assignment
* Update logging for attest
* Update logging for propose
* Update logging for balance update
* Final touchup
* Fixed test
* Fixed test
* Feedback
* Fix
* Fix all the tests
* 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
* Tidy up logging in the validator
* Log full public key when validator first initialised
* Use 'validator' rather than 'pubKey' for traces; use full public key
* 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
* 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
* 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
* 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
* Optimize Shuffled Indices Cache (#2728)
* Refactor Deposit Contract Test Setup (#2731)
* add new package
* fix all tests
* lint
* change hash function (#2732)
* Remove Deprecated Validator Protobuf (#2727)
* Remove deprecated validator protos
* Fix to comments
* Fix most of skipped tests (#2735)
* Cache Active Validator Indices, Count, and Balances (#2737)
* Optimize Base Reward Calculation (#2753)
* benchmark process epoch
* revert prof.out
* Add some optimizations
* beware where we use ActiveValidatorIndices...
* revert extra file
* gaz
* quick commit to get feedback
* revert extra file
* started fixing tests
* fixed broken TestProcessCrosslink_NoUpdate
* gaz
* cache randao seed
* fixed all the tests
* fmt and lint
* spacing
* Added todo
* lint
* revert binary file
* started regression test
* basic tests done
* using a fifo for active indices cache
* using a fifo for active count cache
* using a fifo for total balance cache
* using a fifo for active balance cache
* using a fifo for start shard cache
* using a fifo for seed cache
* gaz
* clean up
* fixing tests
* fixed all the core tests
* fixed all the tests!!!
* lint
* comment
* rm'ed commented code
* cache size to 1000 should be good enough
* optimized base reward
* revert binary file
* Added comments to calculate adjusted quotient outside
* removed deprecated configs (#2755)
* Optimize Process Eth1 Data Vote (#2754)
* Cleanup and Docs update (#2756)
* Add graffiti and update generate seed (#2759)
* Benchmark Process Block with Attestations (#2758)
* Tidying up Godoc for Core Package (#2762)
* Clean up Old RPC Endpoints (#2763)
* Update RPC end point for Proposer (#2767)
* add RequestBlock
* run mockgen
* implemented RequestBlock
* updated proto definitions
* updated tests
* updated validator attest tests
* done
* comment
* todo issue
* removed unused proto
* Update attesting indices v0.6 (#2449)
* sort participants slice
* add bitfield functions and tests
* added BitfieldBit test
* add AttestationParticipantsNew
* revert AttestationParticipants to its previous change
* add tests
* remove verifybitfieldnew
* fix tests and remove multiple tests
* remove duplicate test
* change magic number into ceildiv8
* Implement Justification and finalization Processing (#2448)
* Add convert to indexed (#2519)
* sort participants slice
* add bitfield functions and tests
* added BitfieldBit test
* add AttestationParticipantsNew
* revert AttestationParticipants to its previous change
* add tests
* remove verifybitfieldnew
* fix tests and remove multiple tests
* remove duplicate test
* start work
* convert attestation to indexed attestations
* fix test for convert index
* remove calling getter
* add more tests
* remove underscore
* changes name to signature (#2535)
* update registry updates func (#2521)
* update registry updates func
* added tests and moved to epoch processing
* fixed naming issues
* Update Committee Helpers to v0.6.0 (#2398)
* Update Committee Helper Part 2 (#2592)
* Implement Process Slashings for 0.6 (#2523)
* Update Proposer/Attester Slashings and Slashing Helpers (#2603)
* Implement Final Updates 0.6 (#2562)
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* implemented process_final_updates
* move to the top of the file
* add comment back
* gaz
* Test for process final updates
* fixed tests
* fixed all the tests
* Update Reward Helper v0.6 (#2470)
* added BaseReward
* added rewards helper
* added test for BaseReward
* extra space
* move exported function above
* update to new spec (#2614)
* Update Block Processing Voluntary Exits (#2609)
* Update processEth1Data for v0.6 (#2516)
* Clean up Helper Functions Part 1 (#2612)
* Finalize helper functions for 0.6 (#2632)
* Process Beacon Chain Transfers v0.6 (#2642)
* add transfers
* beacon transfer operations complete
* full cov
* transfer testing
* finished tests
* Update beacon-chain/core/blocks/block_operations_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Implement Process Crosslink From 0.6 (#2460)
* Process Block Eth1 Data v0.6 (#2645)
* Get attestation data slot v0.6 (#2593)
* attestation.go is ready, tests not
* ready for review
* fixing linter issues
* modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields
* gazelle
* fixed tests
* fixed error
* error msg
* Process Block Deposits v0.6 (#2647)
* imports fixes
* deposits tests pass
* wrapped up gazelle
* spacing
* Implement Crosslink Delta Rewards for 0.6 (#2517)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* merged master
* all tests passing
* start testing
* done
* add ProcessBlockHeader v0.6 (#2534)
* add ProcessBlockHeader
* function has all its dependancies in place
* arange the basic ok test
* gazzele and skip test update
* skip wrong sig test
* fmt imports and change requests
* goimports fmt
* map for struct fields to be location independent
* reorder protobuf fields
* added tests
* gazzle fix
* few change requests fixes
* revert changes in types.proto
* revert changes in types
* fix tests
* fix lint
* fmt imports
* fix gazelle
* fix var naming
* pb update
* var naming
* tarance change request fixes
* fix test
* Add Process Registry for Epoch Processing (#2668)
* update update-process-registry
* added back the old tests
* fmt
* gaz
* Follow up on process block header v0.6 (#2666)
* Putting Crosslink Delta Back (#2654)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* merged master
* all tests passing
* start testing
* done
* fixed tests
* addressed shay's feedback
* Implement Attestation Delta for v0.6 (#2646)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* implemented process_attestation_delta
* comments
* comments
* merged master
* all tests passing
* start testing
* done
* merged master
* fixed tests
* tests, more to come
* tests done
* lint
* spaces over tabs
* addressed shay's feedback
* merged master
* Implement process_rewards_and_penalties for 0.6 (#2665)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* implemented process_attestation_delta
* comments
* comments
* merged master
* all tests passing
* start testing
* done
* merged master
* fixed tests
* tests, more to come
* tests done
* lint
* spaces over tabs
* addressed shay's feedback
* starting but need to merge a few things...
* tests
* fmt
* Update Slot Processing and State Transition v0.6 (#2664)
* edit state transition to add slot processing logic, reorder logic
* fix build
* lint
* tests passing
* spacing
* tests pass
* imports
* passing tests
* Implement Process Epoch for 0.6 (#2675)
* can't find process j f functons
* implemented process_epoch
* tests done
* lint
* nishant's feedback
* stupid goland replace
* goimports
* Update CommitteeAssignment (#2693)
* cleaned up skipped tests for core processing (#2697)
* Process Block Attestations v0.6 (#2650)
* attestation.go is ready, tests not
* ready for review
* fixing linter issues
* modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields
* gazelle
* fixed tests
* fixed error
* add att processing:
* process atts
* error msg
* finish process attestations logic
* spacing
* ssz move
* inclusion delay failure passing
* more attestation tests
* more att tests passing
* more tests
* ffg data mismatching test
* ffg tests complete
* gofmt
* fix testing to match attestation updates
* ssz
* lint
* Fixed Skipped Tests for RPC Server (#2712)
* Remove Obsolete Deposit Proto Objects (#2673)
* remove deposit data
* remove deposit input
* fix references
* remove deposit helpers
* fix all refs
* gaz
* rgene proto
* fix all tests
* remove deposit data deprecated field
* fix remaining references
* fix all tests
* fix lint
* regen proto
* fix test
* Remove Deprecated Protobuf State Fields (#2713)
* Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714)
* Remove Deprecated Beacon Block Proto Fields (#2717)
* Remove Deprecated Attestation Proto Fields (#2723)
* Cache Shuffled Validator Indices (#2682)
* YAML shuffle tests for v0.6 (#2667)
* new shuffle tests
* added comment for exported function
* fix format and print
* added config files handling
* gazelle fix
* shuffle test debugging
* added shuffle list and benchmark
* hash function addition from nishant code
* gazelle fix
* remove unused function
* few minor changes
* add test to test protos optimization
* test a bigger list
* remove commented code
* small changes
* fix spec test and test indices to pass
* remove empty line
* abstraction of repeated code and comment arrangement
* terence change requests
* fix new test
* add small comment for better readability
* change from unshuflle to shuffle
* comment
* better comment
* fix all tests
* Remove Latest Block (#2721)
* lint
* remove latest block
* lint
* add proto
* fix build
* Fix Deposit Trie (#2686)
* remove deposit data
* remove deposit input
* fix references
* remove deposit helpers
* fix all refs
* gaz
* rgene proto
* fix all tests
* remove deposit data deprecated field
* fix remaining references
* fix all tests
* fix lint
* new tests with contract
* gaz
* more tests
* fixed bugs
* new test
* finally fixed it
* gaz
* fix test
* Remove Committee Cache (#2729)
* Benchmark Compute Committee (#2698)
* Fixed Skipped Attestation Tests (#2730)
* Optimize Shuffled Indices Cache (#2728)
* Refactor Deposit Contract Test Setup (#2731)
* add new package
* fix all tests
* lint
* change hash function (#2732)
* Remove Deprecated Validator Protobuf (#2727)
* Remove deprecated validator protos
* Fix to comments
* Fix most of skipped tests (#2735)
* Optimize Base Reward Calculation (#2753)
* benchmark process epoch
* revert prof.out
* Add some optimizations
* beware where we use ActiveValidatorIndices...
* revert extra file
* gaz
* quick commit to get feedback
* revert extra file
* started fixing tests
* fixed broken TestProcessCrosslink_NoUpdate
* gaz
* cache randao seed
* fixed all the tests
* fmt and lint
* spacing
* Added todo
* lint
* revert binary file
* started regression test
* basic tests done
* using a fifo for active indices cache
* using a fifo for active count cache
* using a fifo for total balance cache
* using a fifo for active balance cache
* using a fifo for start shard cache
* using a fifo for seed cache
* gaz
* clean up
* fixing tests
* fixed all the core tests
* fixed all the tests!!!
* lint
* comment
* rm'ed commented code
* cache size to 1000 should be good enough
* optimized base reward
* revert binary file
* Added comments to calculate adjusted quotient outside
* removed deprecated configs (#2755)
* Optimize Process Eth1 Data Vote (#2754)
* Cleanup and Docs update (#2756)
* Add graffiti and update generate seed (#2759)
* Benchmark Process Block with Attestations (#2758)
* Tidying up Godoc for Core Package (#2762)
* Clean up Old RPC Endpoints (#2763)
* Update RPC end point for Proposer (#2767)
* add RequestBlock
* run mockgen
* implemented RequestBlock
* updated proto definitions
* updated tests
* updated validator attest tests
* done
* comment
* todo issue
* removed unused proto
* Cache Active Validator Indices, Count, and Balances (#2737)
* Update Deposit Contract (#2648)
* lint
* add new contract
* change version
* remove log
* generating abi and binary files
* fix tests
* update to current version
* new changes
* add new hash function
* save hashed nodes
* add more things
* new method
* add update to trie
* new stuff
* gaz
* more stuff
* finally fixed build
* remove deposit data
* Revert "remove deposit data"
This reverts commit 9085409e91be0c94550af10290eaad72ad40a6de.
* more changes
* lint and gaz
* lint
* Update Shard Helpers for 0.6 (#2497)
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c01f68f30a2e50cd4eb35f29f672e1d.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* Update Genesis State Function to v0.6 (#2465)
* add pseudocode
* make changes
* fix all tests
* fix tests
* lint
* regen protos and mocks
* regenerated protos
* started fixing core
* all core tests passing!
* removed shared/forkutils
* started fixing blockchain package
* lint
* updating rpc package
* add back deleted stuff
* add back deleted stuff that was deleted accidentally
* add back protos and mocks
* fix errors
* fix genesis issue
* fix genesis issue for slot ticker
* fix all genesis errors
* fix build files
* temp change for go-ssz
* fix test
* Revert "temp change for go-ssz"
This reverts commit 3411cb9d6d519cb521181486debc3b21603c8873.
* update to latest go-ssz
* unstaged changes
* Update Attester Server RPC Calls (#2773)
* Update config and function parameters to v0.7 (#2791)
* Minor Updates to 0.7 (#2795)
* Refactor Deposit Flow and Cleanup Tests (#2788)
* More WIP on cleaning deposit flow
* Fix tests
* Cleanup and imports
* run gazelle
* Move deposit to block_operations
* gazelle
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Fix docs
* Remove unneeded calculations
* Fix tests
* Fix tests finally (?)
* Optimize Committee Assignment RPC (#2787)
* Update BlockRoot to BlockHash (#2816)
* Fix Final Missing Items in Block Processing v0.6 (#2710)
* override config successfully
* passes processing
* add signing root helper
* blockchain tests pass
* tests blocked by signing root
* lint
* fix references
* fix protos
* proper use of signing root
* only few failing tests now
* fix final test
* tests passing
* lint and imports
* rem unused
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* lint
* Update beacon-chain/attestation/service_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update beacon-chain/db/block_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* rename to hash tree root
* rename decode to unmarshal
* fix
* use latest ssz
* all tests passing
* lint
* fmt
* Add Config YAML for Spec Tests (#2818)
* Align Protobuf Type Names (#2825)
* gofmt
* Revert "Align Protobuf Type Names (#2825)" (#2827)
This reverts commit 882d067144c674bbf4eeee00404acaa0a9b1fd33.
* Update Domain Related Functions (#2832)
* Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)
* add tests
* gaz
* lint
* Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835)
This reverts commit 7fb2ebf3f12f043d7bd12f43500dc2bd133df573.
* Add ConvertToPb to package testutil (#2838)
* Block Processing Bug Fixes (#2836)
* Update types PB with Size Tags (#2840)
* Epoch processing spec tests (#2814)
* Remove Deposit Index (#2851)
* Shuffle tests revisited (#2829)
* first commit
* remove old files, add log
* remove duplicate yaml testing code
* reduce visability
* nishant feedback changes
* skip TestFromYaml_Pass
* added tags to bazel build
* gazelle fix
* remove unused vars
* adda back config
* remove config handling
* remove unused var
* gazelle fix
* SSZ compatibility test for protobufs (#2839)
* update workspace spec sha
* remove yamls from branch
* BLS spec tests (#2826) (#2856)
* bls spec tests
* add more bls tests
* use ioutil instead of bazel runfiles
* dont read bytes
* skip tests that overflow uint64
* manually fix input data
* add tests
* lint and gaz
* add all new changes
* some refactoring, cleanup, remove new API methods that only exist for tests
* gaz
* Remove yamls, skip test
* Slot processing spec test (#2813)
* eth1data rpc endpoint (#2733)
* eth1data rpc endpoint
* first version
* comment added
* gazelle fix
* new function to go once over the deposit array
* fix tests
* export DepositContainer
* terence feedback
* move structure decleration
* binary search
* fix block into Block
* preston feedback
* keep slice sorted to remove overhead in retrival
* merge changes
* feedback
* update to the latest go-ssz
* revert change
* chnages to fit new ssz
* revert merge reversion
* go fmt goimprts duplicate string
* exception for lint unused doesParentExist
* feedback changes
* latesteth1data to eth1data
* goimports and stop exposing Eth1Data
* revert unneeded change
* remove exposure of DepositContainer
* feedback and fixes
* fix workspace duplicate dependancy
* greatest number of deposits at current height
* add count votes function
* change method name
* revert back to latesteth1data
* latesteth1data
* preston feedback
* seperate function add tests fix bug
* stop exposing voteCountMap
* eth1data comment fix
* preston feedback
* fix tests
* new proto files
* workspace to default version of ssz
* new ssz
* chnage test size
* marshalled marshaled
* Attesting Indices Fix (#2862)
* add change
* fix one test
* fix all tests
* add test
* clear cache
* removed old chaintest, simulated backend and state generator (#2863)
* Block Processing Sanity Spec Tests (#2817)
* update PrevEpoch
* add new changes
* shift to blocks package
* add more changes
* new changes
* updated pb with size tags
* add new changes
* fix errors
* uncomment code
* more changes
* add new changes
* rename and lint
* gaz
* more changes
* proccess slot SigningRoot instead of HashTreeRoot
* ensure yaml generated structs work
* block sanity all passing
* minimal and mainnet all pass
* remove commented code
* fix one test
* fix all tests
* fix again
* no state comparison
* matching spec
* change target viz
* comments gazelle
* clear caches before test cases
* latest attempts
* clean up test format
* remove debugging log, remove yaml
* unskip attestation
* remove skip, check post state, diff state diffs
* handle err
* add bug fixes
* fixed one more bug
* fixed churn limit bug
* change hashProto to HashTreeRoot
* all tests pass :)
* fix all tests
* gaz
* add regression tests
* fix test bug
* Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868)
* mutation testing for attestation.go
* new line
* lint
* revert fmt.Errorf deletion
* gofmt
* Add some fixes for mutation testing on blocks.go (#2869)
* Fix sizes
* gaz
* Spec freeze release candidate spectests
* Align Protobuf Type Names (#2872)
* Removes some deprecated fields from protobuf (#2877)
* search and replace checkpoints
* fix tests, except spec tests
* Update Configs for Freeze (#2876)
* update configs
* updated minimal configs
* almost there
* all tests passing except for spec tests
* better comment for MinGenesisTime
* done, ready for review
* rm seconds per day
* feedback
* Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870)
* Add some fixes for mutation testing on blocks.go
* working on mutation testing fo committee.go
* gofmt
* goimports
* update readme target
* update latest sha for spec tests
* fix build
* Update State Transition Function (#2867)
* Change Base Reward Factor (#2888)
* Update Freeze Spec Simplification Section - part 1 (#2893)
* finished changes to attesting_indices
* removed index_count <= 2**40 requirement
* lint
* reverted index_count <= 2**40 check
* added short cut len(a) > len(b)
* Update justification bits (#2894)
* updated all the helper pseudocodes (#2895)
* Make Constants Explicit and Minor Cleanups (#2898)
* Rename outdated configs, make constants explicitly delcared
* Remove activate_validator, not needed
* Remove GenesisSlot and GenesisEpoch
* Remove unused import
* Move Block Operation Length Checks to ProcessOperations (#2900)
* Move block operation length checks to ProcessOperations
* Write tests for each length check in ProcessOperations
* Remove unneeded test
* Move checks to a new function
* Move duplicate check back into ProcessOperations
* reorder proto fields (#2902)
* Slashing Penalty Calculation Change (#2889)
* lint
* change config val
* add max helper
* changes to slashing and process slashing, add a min function for integers
* gaz
* fix failing tests
* fix test
* fixed all tests
* Change Yaml tag
* lint
* remove gc hack
* fix test
* gaz
* preston's comments
* change failing field
* fix and regen proto
* lint
* Implement Compact Committee Root (#2897)
* add tags
* add function
* add new code
* add function
* add all new changes
* lint
* add tests
* fix tests
* fix more tests
* fix all outstanding tests
* gaz
* Update beacon-chain/core/helpers/committee.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* comment
* Remove deprecated fields from attestation data (#2892)
* fix broken tests
* remove comment
* fixes
* Update Deposit Contract (#2903)
* update to new contract
* fix references
* fix tests
* fix some more tests
* fix local deposit trie
* gaz
* shays review
* more changes
* update WORKSPACE to use 0.8 spec tests
* Perform Mutesting in Helpers Package (#2912)
* Perform mutesting on validator
* Mutesting in helpers package
* Mutested eth1data
* s/volundary/voluntary (#2914)
* Update BLS Domain (#2916)
* change from integer to byte slice
* add test
* fix func for bytes4
* Fix Spec tests (#2907)
* fix panics
* handle failed transitions
* remove log
* fix to protos
* new changes
* remove i
* change ssz commit
* new changes
* update epoch tests
* fix epoch testing
* fix shuffle tests
* fix test
* Perform Mutesting in Epoch and State Packages (#2913)
* done with updates (#2890)
* Add Max Size Tag for Protobuf Fields (#2908)
* No more space between ssz-size numbers
* Regen pb.go
* Fixed a few incorrect proto fields (#2926)
* Update Validator Workflow (#2906)
* Justification spec tests (#2896)
* update go-ssz
* Fix SSZ Compatibility Test (#2924)
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* use proper override for gogo-protobuf
* fix a few tags
* forgot to include custody bits and Slashable not used
* Update yaml struct to use pb
* Update workspace to use latest ssz
* All tests fail
* Use the latest go-ssz commit
* All pass except for state (too long to taste)
* Update test.proto
* Added rest of the tests
* use 1 justification bits
* fix tag test, apply @rauljordan's suggestion
* add IsEmpty and use ssz struct
* delete unused file
* Update zero hash to sha256().digest() (#2932)
* update zero hash
* change zero hash to conform with spec
* goimports
* add test for zero hash
* Revert "Update zero hash to sha256().digest() (#2932)" (#2933)
This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc.
* Fix compress validator (#2936)
* fix compress validator
* update go-ssz
* build without the bytes test
* try minimal
* Block operations spec tests (#2828)
* update PrevEpoch
* debugging proposer slashing tests
* fmt
* add deposit tests
* Added skeleton for attestation minimal test
* remove bazel runfiles thing
* add deposits
* proposer slashing test is done
* comment
* complete test, some failing cases
* sig verify on
* refactor slightly to support mainnet and minimal
* included mainnet stuff
* Add block header tests
* volunary exit done
* transfer done
* new changes
* fix all tests
* update domain functions
* fmt
* fixed lint
* fixed all the tests
* fixed a transfer bug
* finished attester slashing tests and fixed a few bugs
* started fixing...
* cleaned up exit and proposr slashing tests
* attester slashing passing
* refactored deposit tests
* remove yamls, update ssz
* Added todo for invalid sig
* gazelle
* deposits test done!
* transfer tests done and pass!
* fix attesting indices bug
* temporarily disabled signature verification
* cleaned up most of the block ops, except for att
* update committee AttestingIndices
* oops, i dont know how or why i changed this file
* fixed all the rpc tests
* 6 more failing packages
* test max transfer in state package
* replace hashproto with treehash in package blockchain
* gazelle
* fix test
* fix test again
* fixed transition test, 2 more left
* expect an error in attestation tests
* Handle panic when no votes in aggregate attestation
* clear cache
* Add differ, add logging, tests pass yay
* remove todo, add tag
* fixed TestReceiveBlock_RemovesPendingDeposits
* TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now...
* handle panics
* Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238
* more fixes after merge, updating block_operations.yaml.go to match yaml
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* fix references and test panic
* change to proto objects from custom types
* fix panics in tests
* use proper override for gogo-protobuf
* fix a few tags
* fix tests
* forgot to include custody bits and Slashable not used
* fix tests
* sort again
* Update yaml struct to use pb
* Update workspace to use latest ssz
* All tests fail
* Use the latest go-ssz commit
* All pass except for state (too long to taste)
* Update test.proto
* Added rest of the tests
* use 1 justification bits
* minor fixes
* wrong proto.Equal
* fix tag test, apply @rauljordan's suggestion
* add IsEmpty and use ssz struct
* inverted logic
* update zero hash
* change zero hash to conform with spec
* goimports
* add test for zero hash
* Revert "Update zero hash to sha256().digest() (#2932)"
This reverts commit b926ae0667b18aef3f7e0e8ec8a9b3e98b3d2ccc.
* update ssz, fix import, shard big test
* checkpoint
* fix compress validator
* update go-ssz
* missing import
* missing import
* tests now pass
* been a good day
* update test size
* fix lint
* imports and remove unused const
* update bazel jobs flag
* update bazel jobs flag
* satisfy deprecation warning
* Add ssz regression tests for investigation of test failures in PR #2828 (#2935)
* Adding regression tests for investigation
* add another example
* goimports
* add quick comment about test case 0
* Epoch Process Slashings Spec Tests (#2930)
* updated justification bits, tests passing OK
* regen pb.go, clarify bit operations
* justification and finalization tests; failing
* Add wrapper, so we call the correct method
* checkpoint
* Update tar ref
* TestSlashingsMinimal/small_penalty still failing
* Use bigint instead of () and float
* Revert a bad merge from workspace
* Fmt
* add note about https://github.com/ethereum/eth2.0-specs/issues/1284
* improve tests
* gaz
* Perform Mutesting In core/state Package (#2923)
* Perform mutesting on validator
* Mutesting in helpers package
* Mutested eth1data
* Perform mutesting in epoch and state packages
* Fix voluntary exits test
* Fix typo
* Fix comments
* Fix formatting
* Fix error message
* Handle missing errors
* Handle all errors
* Perform Mutesting In State Package
* Fix block roots size
* Remove comment
* Fix error
* add backend service
* Add ssz compatibility tests for signing root (#2931)
* Added tests for signing root
* imports
* fix lint on travis
* fix bes flag
* Final updates spec tests (#2901)
* set up tests
* need to reorder pbs
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* use proper override for gogo-protobuf
* fix a few tags
* forgot to include custody bits and Slashable not used
* playing with tags idea, can revert this commit later
* fixes after merge
* reset caches before test
* all epoch tests pass
* gazelle
* Genesis trigger (#2905)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* shift spec method to state package, improve test setup
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use better tag names, not latest
* Remove Block Signing Root (#2945)
* replace with hash tree root
* Revert "replace with hash tree root"
This reverts commit 77d8f16a160e42f3c3d598df66c30a66657de1bf.
* replace with signing root instead
* remove one more ref
* Create Test Runner for Genesis State Spec Tests (#2940)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* Start genesis spec tests
* shift spec method to state package, improve test setup
* Add Genesis validity spec test
* Bazel
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use json tags
* fix up latest changes
* Fix most of test errors
* Attempts to see whats wrong with genesis validity
* Fix merge
* skip minimal
* fix state test
* new commit
* fix nishant comment
* gaz
* Static check on branch spec-v0.6 (#2946)
* Ran staticcheck and fixed the important complains
* commit
* commit
* Create Test Runner for Genesis State Spec Tests (#2940)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352e7b62e3c3220fb0d64e295b474b430.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* Start genesis spec tests
* shift spec method to state package, improve test setup
* Add Genesis validity spec test
* Bazel
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use json tags
* fix up latest changes
* Fix most of test errors
* Attempts to see whats wrong with genesis validity
* Fix merge
* skip minimal
* fix state test
* new commit
* fix nishant comment
* gaz
* Add Back Eth1Data After Bad Merge (#2953)
* eth1data rpc endpoint
* first version
* comment added
* gazelle fix
* new function to go once over the deposit array
* fix tests
* export DepositContainer
* terence feedback
* move structure decleration
* binary search
* fix block into Block
* preston feedback
* keep slice sorted to remove overhead in retrival
* merge changes
* feedback
* update to the latest go-ssz
* revert change
* chnages to fit new ssz
* revert merge reversion
* go fmt goimprts duplicate string
* exception for lint unused doesParentExist
* feedback changes
* latesteth1data to eth1data
* goimports and stop exposing Eth1Data
* revert unneeded change
* remove exposure of DepositContainer
* feedback and fixes
* fix workspace duplicate dependancy
* greatest number of deposits at current height
* add count votes function
* change method name
* revert back to latesteth1data
* latesteth1data
* preston feedback
* seperate function add tests fix bug
* stop exposing voteCountMap
* eth1data comment fix
* preston feedback
* fix tests
* new proto files
* workspace to default version of ssz
* new ssz
* chnage test size
* marshalled marshaled
* everything passing again
* add skip reason
* cleanup deposit contract slightly
* remove unused chainstart param (#2957)
* fix breakages from #2957 (#2958)
* fix breakages from #2957
* oops
* Fix deposit input data (#2956)
* fix deposit input data
* fix deposit input data
* gaz and build fix
* Add Tests for Genesis Deposits Caching (#2952)
* remove old method and replace with an improved one
* add new files
* gaz
* add test
* added all these tests
* gaz
* Apply suggestions from code review
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* fix merkle proof error
* fix config
* Minor fixes for runtime (#2960)
* Minor fixes for runtime
* use comments
* goimports
* revert beacon-chain/core/state/state.go and fix comment for lint
* fix test too
* Minor runtime fixes (#2961)
* Add support for bundling binaries and fix ARM64 builds (#2970)
* Add support for bundling binaries and fix ARM64 builds
* Fix exports
* ignore manual targets wrt vis check
* fix graknlabs
* update spec tests (#2979)
* hotfix until https://github.com/graknlabs/bazel-distribution/pull/169
* Overflow slashing calculation fix (#2977)
* Runtime Fixes (#2736)
* first batch of fixes
* add log
* more fixes
* another bug fixed
* update deposit contract and other fixes
* remove logs
* new changes
* fixes
* fix build
* remove config
* more fixes
* add more changes
* add back todo
* make compute state root work
* remove commented out and fix condition
* fix commented code
* fix config
* gaz
* remove flag
* remove init
* new fixes
* fix test
* one more fix
* fix all tests
* change back config
* fix one more bug
* remove logging bool
* Only build test targets when running bazel test //...
* Align prysm to spec v0.8.1 (#2978)
* Bazel problem
* Update zero hash representation to be clear (cosmetic)
* Update minor cosmetic fixes
* Fixed lookahead off by 1
* Update randao.go
* update ssz
* test failures fixed
* test fixes
* fix up workspace
* lint
* fixed errs
* Updated pubkey loggings (#2983)
* Fix proposer assignment (#2984)
* add jvm limits
* add jvm limits
* Removed logging from state transition functions (#2980)
* Match spec on proposer index division (#2985)
* Match spec on proposer index division
* gaz
* fixes
* Fix Default Eth1Data (#2982)
* fix bug
* Update beacon-chain/core/state/transition.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* more fixes
* reg test
* Set ejection balance to 1.6 (#2987)
* improve block processing log (#2990)
* Fix HistoricalRootsLimit (#2989)
* fix historical lenght
* fix genesis state initialization and test
* fix genesis state initialization and test
* fix genesis state initialization and test
* fix genesis state initialization and test
* hack config until https://github.com/prysmaticlabs/prysm/issues/2993
* More Runtime Fixes (#2986)
* local changes
* add val sig
* attester fix
* one more fix
* fixed all tests
* rem validator issue
* fix finality issue (#2994)
* Fix validator prev balance calculation (#2992)
* attester fix
* one more fix
* fixed all tests
* Fix validator prev balances calculation
* go fmt
* 48 bytes
* Fix Querier to handle Deposit Logs Race (#2999)
* fix sync issue
* fix build
* add regression test
* add var for magic number
* Fix eth1data and deposits (#2996)
* Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time
* revert blockInfo being public
* git tests to build, not yet pass though
* add tests
* some commentary
* fix comment
* goimports
* fmt and remove unused method
* Update rules go (#2975)
* update rules_go
* Fix some cross compile builds stuff
* add missing deps
* update to 0.19.1
* Update Protobufs to Match Ethereum APIs (#2998)
* add beacon block and attestation files
* add all types
* include all new proto type definitions
* add add all proto definitions
* fix all comments to say 48 bytes
* include latest changes
* readd common
* no swag
* add build file
* deps issue
* right package names
* address feedback, maintain parity between upstream ethereumapis
* delete pb
* bad gens
* Update "Testing Prysm" readme section (#3000)
Resolves invalid url link to golangci-lint.
* Update badge to version 0.8.1
* elaborate on test skip
* revert shared/p2p/options.go
* make travis happy with goimports
* Update beacon-chain/core/blocks/block.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Added the 'enable-upnp' flag to the list of supported command line arguments.
If the user specifies this feature flag (adds --enable-upnp as an argument) - the Beacon-chain and Validator services, when started, will initialize libp2p with the UPNP options.
* Added the new arg to usage.go due to test failure
* Update shared/p2p/service.go
Changed the logging according to Preston's recommendation.
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Code review changes:
1. File formatting.
2. Command line arg more detailed description.
* added file log feature
* moved the logic to one central location (shared/logutil/logutil.go), removed new line chars from file logs
* removed a resdundant temp file refrences that went into beachon-chain/BUILD.bazel by mistake
* Update shared/cmd/flags.go
Co-Authored-By: shayzluf <thezluf@gmail.com>
* Update shared/cmd/flags.go
Co-Authored-By: shayzluf <thezluf@gmail.com>
* manually added loguitl dep to the go image target
* Manaully added the logutil dep to the go image target
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* syntax and styling changes required by code reviewers
* Update beacon-chain/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* changed the return type of 'ConfigurePersistentLogging' from bool, error to error based on recommendation from code review
* ran goimports in beacon-chain/main.go after tests have failed
* Update beacon-chain/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Changes requested by code reviewer
* Added a mandatory comment (linter required) to the 'Fire' event
* Changed the beacon-chain and validator to support only same format stdout and file logging due to complications in the outputs when using different formats.
* Had to run gazelle --fix due to check failure
* test block tree req
* tree improvement
* use the right data
* block tree blocked by children func
* rem file
* imports
* add ctx
* imports
* mock
* check expired context
* added block root
* gazelle
* sace
* Added flag to disable rewards/penatlty logging
* Added flag disable log info validator function
* Added flag to disable rewards/penatlty logging
* Changed value to not have it log when it is on and have it logged when it's off
* Added flag to disable rewards/penatlty logging
* Built for cli & types
* fixing flag issue
* Added ctxCli to the validator struct
* Accepted change
* Fixing conditionals and merge conflicts
* Added bracket
* fixed the return statement to its proper place
* Added validator conditional for logging penalties & rewards
* Added conditional for logging penality/reward info
* Making conditional command line log refactorable
* also part of the last commit
* Changed value variable to lowercase
* Fixed if conditional for penalty reward validation
* Synced with master
* Fixed bazel build
* Syncing with master
* Sync with master
* Added true values to logValidator Balances
* Changed values from true to false
* FIX WIP
* Added variables to the validators
* Added negation for logValidatorBalances variable
The name of the flag is DisablePenaltyRewardLogFlag. Since the name of the var is logValidatorBalances. We are assuming that the variable will have a positive. It makes more sense to negate the disable flag as a value rather than keep it positive.
Co-Authored-By: frederickalcantara <frederickaalcantara@gmail.com>
* fixed password
* Remove prevBalance line
* first version - broken
* working proto changes
* resolve review remarks
* fix goimport issues
* fix service issues
* first logic version-broken
* first running version - no new tests
* fix validator client test
* add wait group to goroutines
* remove unused var in function call
* fix review remarks and tests
* merge master changes and fix conflicts
* gazzele fix
* fix prestonvanloon requested changes
* merge and some of terenc3t remarks addressed
* _,pk bug fix in log
* fix account file name suffix and filter not active validator out
* merge with master and fix missing parameters
* run over all public keys in hasvalidators
* add test for error when no all the validators has index in the db and hasvalidators is called
* fix runner tests fail due to timing issues
* goimports
* smaller sleep time in proposer tests
* fix UpdateAssignments loging
* fix goimports
* added && false commented TestUpdateAssignments_DoesNothingWhenNotEpochStartAndAlreadyExistingAssignments
* hasvalidators without missing publickeys list
* fix some of prestone review remarks
* fixes for prestone comments
* review changes applied
* expect context call in TestWaitForActivation_ValidatorOriginallyExists
* changed hasvalidators to return true if one validator exists
* fix init problem to getkeys
* hasvalidators requiers all validators to be in db
* validator attest assignments update
* fix ap var name
* Change name to hasallvalidators
* fix tests
* update script, fix any vs all validator calls
* fix wait for activation
* filter validator
* reuse the reply block
* fix imports
* Remove dup
* better lookup of active validators
* better filter active vlaidators, still need to fix committee assignment tests
* lint
* use activated keys
* fix for postchainstart
* fix logging
* move state transitions
* hasanyvalidator and hasallvalidators
* fix tests with updatechainhead missing
* add tests
* fix TestCommitteeAssignment_OK
* fix test
* fix validator tests
* fix TestCommitteeAssignment_multipleKeys_OK and TestWaitForActivation_ValidatorOriginallyExists
* fix goimports
* removed unused param from assignment
* change string(pk) to hex.EncodeString(pk) fix change requests
* add inactive validator status to assignments
* fix logging mess due to multi validator setup
* set no assignment to debug level
* log assignments every epoch
* logging fixes
* fixed runtime by using the right assignments
* correct activation request
* fix the validator panic
* correct assignment
* fix test fail and waitforactivation
* performance log issue fix
* fix goimports
* add log message with truncated pk for attest
* add truncated pk to attest and propose logs
* Add comment to script, change 9 to 8
* Update assignment log
* Add comment, report number of assignments
* Use WithError, add validator as field, merge block proposal log
* Update validator_propose.go
* fix
* use entry.String()
* fix fmt
* support multiple pubkeys
* a bit of refactoring to avoid calling db.state multiple times
* Add test for supporting multiple keys
* rename proto field
* Revert "disable state root computation"
This reverts commit ba7368ac57f3ecd3cb710049e677ba60a820dd82.
* Revert "tests fixed"
This reverts commit 1141af27c253ca000de0a63f0e1c91d983078ebc.
* Fix build, skip test until https://github.com/prysmaticlabs/prysm/issues/2167
* headRoot is a better name
* yay merged with master
* fixed attester server returning incorrect attestation field values
* revert stupid mock changes
* fixed and updated all the tests
* uncomment
* head start should handle skip blocks
* Raul's feedback
* keystore and account support for multi key
* fix service issues
* fix Potential file inclusion
* fix Potential file inclusion try2
* Update shared/keystore/keystore.go
remove security detection for file read
Co-Authored-By: shayzluf <thezluf@gmail.com>
* getkeys uses map to pt multiple copies of the same key
* use 12 char of public key to differentiate file names
* use map in test
* fix changes from 2069 into here
* add // #nosec G304
* plug forkchoice to blockchain service's block processing
* fixed tests
* more fixes...
* clean ups
* fixed test
* Update beacon-chain/blockchain/block_processing.go
* merged with 2006 and started fixing tests
* remove prints
* fixed tests
* lint
* include ops service
* if there's a skip slot, slot--
* fixed typo
* started working on test
* no fork choice in propose
* bleh, need to fix state generator first
* state gen takes input slot
* feedback
* fixed tests
* preston's feedback
* fmt
* removed extra logging
* add more logs
* fixed validator attest
* builds
* fixed save block
* children fix
* removed verbose logs
* fix fork choice
* right logs
* Add Prometheus Counter for Reorg (#2051)
* fetch every slot (#2052)
* test Fixes
* lint
* only regenerate state if there was a reorg
* better logging
* fixed seed
* better logging
* process skip slots in assignment requests
* fix lint
* disable state root computation
* filter attestations in regular sync
* log important items
* better info logs
* added spans to stategen
* span in stategen
* set validator deadline
* randao stuff
* disable sig verify
* lint
* lint
* save only using historical states
* use new goroutine for handling sync messages
* change default buffer sizes
* better p2p
* rem some useless logs
* lint
* sync tests complete
* complete tests
* tests fixed
* lint
* fix flakey att service
* PR feedback
* undo k8s changes
* Update beacon-chain/blockchain/block_processing.go
* Update beacon-chain/sync/regular_sync.go
* Add feature flag to enable compute state root
* add comment
* gazelle lint fix
* Create a feature flagging system
* Refactor how featureflags works and improve docs
* Gazelle and final touches
* Refactor, new flags in the package
* Remove old flags since they have been moved
* Fix bazel
* Update to comments
* Full coverage
* Fix formatting
* Align code with numbers
* Run bazel and fix docs
* Fix test for flag
* 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
* add recovery for initial sync
* add recovery for rpc
* adding to other services
* remaining services and tests
* fix test
* remove changes to rpc
* handle powchain
* handle in powchain
* abstract to shared package
* gazelle
* lint
* remove for operations
* add in more for operations
* travis
* fix lint
* 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
* 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
* implemented wait for activation on client side
* all tests pass for validator client
* weird spacing
* 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
* 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