Nishant Das
0be1957c28
Use Stage 1 For Non Finalized Sync ( #7012 )
...
* checkpoint
* dont cancel
* remove
* sync mode
* fixes build
* cap max retries when no finalized peers are found
* use max peers
* change it
* fixes TestService_roundRobinSync/Multiple_peers_with_different_finalized_epoch
* fixes blocks fetcher tests
* fixes blocks queue tests
* fixes TestService_blockProviderScoring test
* gofmt
* Merge branch 'master' into useStage1
* Update round_robin.go
preston's review
* Preston's suggestions
* Merge branch 'useStage1' of github.com:prysmaticlabs/prysm into useStage1
* fixes test
2020-08-16 17:51:14 +00:00
Nishant Das
17b810f24e
Fix 2nd Stage of Sync ( #7006 )
...
* handle 2nd stage better
* 2 stage sort
* add warning
* better processing
* victor's review
* fix one test
* Update beacon-chain/blockchain/receive_block.go
* fixes TestService_roundRobinSync/Multiple_peers_with_many_skipped_slots
* Merge branch 'fixSync' of github.com:prysmaticlabs/prysm into fixSync
* fixes TestService_process
* fixes TestService_blockProviderScoring
* Preston's suggestion
* increase number of available slots, allowing 2nd phase to wrap up
* more concise limits
2020-08-15 15:14:59 +00:00
Victor Farazdagi
4de0b9fe69
Peer scoring: init sync ( #6709 )
...
* refactors redundant part of varname
* introduces score_block_providers
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* gazelle
* adds comment
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* removes redundant checks
* add block provider decay test
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* adds case
* penalize inactive peers
* adds scorebadresponses test
* inroduces no-activity penalty
* gazelle
* gofmt
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* expanded tests
* implement SortBlockProviders
* change -> update
* updates block fetcher peer filter
* fixes test
* allows to keep track of peer id
* updates scoring coefficients
* fixes test
* block fetcher update
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* disables empty batch penalty
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* removes outdated code
* update filterPeers
* gazelle
* updates var
* revert changes to var name
* updates blocks_fetcher
* minor fix to import name
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* add max processed blocks cap
* impoves scoring of stale peers
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* fixes test
* adds weight sorting to scored peers
* return pid when fetching batches
* updates round robin
* gazelle
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* updates block provider decay count
* go tidy
* cherry pick
* fixes test
* go tidy
* Merge branch 'peer-scorer-weighted-sorter' into init-sync-peer-scoring-slow-peers
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* refactors blocks fetcher: repackage methods
* Merge branch 'refactor-blocks-fetcher' into init-sync-peer-scoring-slow-peers
* minor fixes
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* allow scores in range (0;1) in weighted filter
* filterScoredPeers improve test suite
* puts feature behind the flag
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* Merge refs/heads/master into init-sync-peer-scoring-slow-peers
* fixes tests
* Merge branch 'init-sync-peer-scoring-slow-peers' of github.com:prysmaticlabs/prysm into init-sync-peer-scoring-slow-peers
* Merge refs/heads/master into init-sync-peer-scoring-slow-peers
* Merge branch 'master' into init-sync-peer-scoring-slow-peers
* Merge refs/heads/master into init-sync-peer-scoring-slow-peers
* Update beacon-chain/sync/initial-sync/blocks_fetcher_test.go
Co-authored-by: Shay Zluf <thezluf@gmail.com>
* Nishant's suggestion on peer limit variable
* better explanation of non-blocking peer scoring
* Shay's sugession on peer naming
* Merge refs/heads/master into init-sync-peer-scoring-slow-peers
* Merge refs/heads/master into init-sync-peer-scoring-slow-peers
* Update beacon-chain/sync/initial-sync/blocks_fetcher.go
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* Merge refs/heads/master into init-sync-peer-scoring-slow-peers
* gofmt
* Merge refs/heads/master into init-sync-peer-scoring-slow-peers
* Merge refs/heads/master into init-sync-peer-scoring-slow-peers
* Merge refs/heads/master into init-sync-peer-scoring-slow-peers
2020-08-13 17:33:57 +00:00
Victor Farazdagi
7611f6d84a
injects peer.ID into requested/queued/fetched batches ( #6979 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-08-13 16:42:21 +08:00
Victor Farazdagi
c24666e02e
refactors blocks fetcher: repackage methods ( #6962 )
2020-08-11 10:15:18 -05:00
Victor Farazdagi
4400321081
Handles case when no peers with finalized blocks are found ( #6679 )
...
* Handles case when no peers with finalized blocks are found
* more tests
* Merge branch 'master' into handle-zero-block-init-sync
* Merge branch 'master' into handle-zero-block-init-sync
2020-07-22 18:14:24 +00:00
Nishant Das
27577bc324
QSP 32: Add Appropriate Stream Deadlines for RPC Requests ( #6583 )
...
* add no deadlines
* Merge branch 'master' into fixDeadlines
* nogo
* Merge refs/heads/master into fixDeadlines
* Merge refs/heads/master into fixDeadlines
2020-07-13 19:40:12 +00:00
Nishant Das
7896e087e5
Add in Better Logging for Requests ( #6483 )
...
* add in better logging
* gaz
* last one
* mess about
* check strings
* fix
2020-07-03 10:08:45 +00:00
Nishant Das
ac9bc5d98b
Reset Streams at the End of the Request ( #6481 )
...
* close all incoming streams
* use proper helper
* shift to debug
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-07-03 16:21:18 +08:00
Victor Farazdagi
196f4c6222
QSP-BestPractice Refactors failover peer selection in init-sync ( #6442 )
...
* refactors failover peer selection in init-sync
* Merge refs/heads/master into init-sync-more-effective-failover
2020-06-29 15:23:04 +00:00
Raul Jordan
ab89053597
QSP-45 Add Check for No Connected Peers BestFinalized ( #6402 )
...
* no error returned
* no target root
* fix build
* Merge refs/heads/master into best-finalized
2020-06-26 16:35:12 +00:00
Victor Farazdagi
78465e2549
QSP-6: Enforces crypto-secure PRNGs ( #6401 )
...
* adds cryptorand analyzer
* better naming
* rely on suffix
* sync/pending_* use crypto/rand
* define shared/rand
* updates fetcher
* fixes rand issue in sync package
* gofmt
* shared/rand: more docs + add exclusion nogo_config.json
* updates validator/assignments
* updates comment
* fixes remaning cases
* re-arranges comments
* fixes tests
* renames in shared/rand API
* adds simple no-panic test
* gazelle
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-06-26 09:58:47 -05:00
Victor Farazdagi
00f24f5729
Deprecates --disable-init-sync-wrr flag ( #6400 )
...
* deprecates wrr-related flag
* gofmt + gazelle
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-06-25 10:26:30 -05:00
Ivan Martinez
e9a597b43c
[QSP-6] Change usages of math/rand to crypto/rand ( #6362 )
...
* Change math/rand to crypto/rand
* Change length
* Merge branch 'master' of github.com:prysmaticlabs/prysm into change-to-crypto-rand
* Change assignments to true random
* Merge branch 'master' into change-to-crypto-rand
* Change randomness
* Merge branch 'change-to-crypto-rand' of github.com:prysmaticlabs/prysm into change-to-crypto-rand
* Remove comments
* Test
* Fix test
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
2020-06-24 05:47:51 +00:00
Victor Farazdagi
22b3123ebe
Resolves issues from the best practices in sync package ( #6357 )
...
* removes redundant locks
* fixes 37
* fixes 38
* reverts lock removal
* Merge branch 'master' into sync-best-practices-updates
* Merge refs/heads/master into sync-best-practices-updates
2020-06-23 12:00:29 +00:00
Victor Farazdagi
6f8349cdb4
Reclaims leakybucket resources in sync service ( #6339 )
...
* Reclaims leakybucket resources
* move calls to defer
* do not reuse queue, after stopping
2020-06-22 11:23:23 +00:00
Nishant Das
d1a1043ef1
Update to v0.12 ( #5614 )
2020-06-09 15:40:48 -07:00
Nishant Das
ceaceeb33c
Reset Streams Properly ( #6066 )
...
* reset streams
* fix build
2020-06-01 16:14:47 +08:00
Victor Farazdagi
f81c8c6825
Allow to jump over 50K+ skipped slots in init-sync ( #5975 )
...
* allow to jump over 50K skipped slots
* more tests
* removes debug logs
* minor fixes
* re-arrage pid updates
* Merge refs/heads/master into init-sync-50K-skipped-slots
2020-05-25 16:43:59 +00:00
Victor Farazdagi
8241b7e20d
Re-arranges fetcher locks -> per peer level ( #5906 )
...
* fetcher locks -> per peer level
* typo
* removes redundant setting to nil
* Merge refs/heads/master into init-sync-rearrange-locks
2020-05-19 17:48:32 +00:00
Victor Farazdagi
ca26745720
Implements WRR in init-sync, full bandwidth utilization ( #5887 )
...
* implements weighted round robin in init-sync
* protection against evil peer
* reshuffle
* shorten flag
* deterministic order of wrr
* Merge branch 'master' into init-sync-wrr
* Merge refs/heads/master into init-sync-wrr
* Merge refs/heads/master into init-sync-wrr
* allow peers with the same capacity to pe selected at random
* Merge branch 'init-sync-wrr' of github.com:prysmaticlabs/prysm into init-sync-wrr
* adds wrr to e2e tests
* Merge refs/heads/master into init-sync-wrr
* Merge refs/heads/master into init-sync-wrr
* Merge refs/heads/master into init-sync-wrr
2020-05-18 18:59:03 +00:00
terence tsao
b5e7f9dd6d
Run go fmt
in prysm ( #5815 )
...
* go fmt
2020-05-11 22:03:15 +00:00
Victor Farazdagi
c4eb8c7a16
Refactors block fetching function to fetcher ( #5766 )
...
* refactors block fetching function to fetcher
* more comments fixed
* Merge refs/heads/master into init-sync-upd
* Merge refs/heads/master into init-sync-upd
* Merge refs/heads/master into init-sync-upd
2020-05-06 21:29:50 +00:00
terence tsao
cb045dd0e3
Align code base to v0.11 ( #5127 )
...
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* add in new patch and workspace
* update cloners
* Handle rewards overflow (#5122 )
* Refactoring of initial sync (#5096 )
* implements blocks queue
* refactors updateCounter method
* fixes deadlock on stop w/o start
* refactors updateSchedulerState
* more tests on schduler
* parseFetchResponse tests
* wraps up tests for blocks queue
* eod commit
* fixes data race in round robin
* revamps fetcher
* fixes race conditions + livelocks + deadlocks
* less verbose output
* fixes data race, by isolating critical sections
* minor refactoring: resolves blocking calls
* implements init-sync queue
* udpate fetch/send buffers in blocks fetcher
* blockState enum-like type alias
* refactors common code into releaseTicket()
* better gc
* linter
* minor fix to round robin
* moves original round robin into its own package
* adds enableInitSyncQueue flag
* fixes issue with init-sync service selection
* Update beacon-chain/sync/initial-sync/round_robin.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* initsyncv1 -> initsyncold
* adds span
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Handle rewards overflow
* Revert "Refactoring of initial sync (#5096 )"
This reverts commit 3ec2a0f9e0
.
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* updated block operations
* updated validator client
* Merge refs/heads/master into v0.10.1
* updated block operations test
* skip benchmark test
* updated transition test
* updated db kv tests
* updated ops tests
* updated ops tests
* updated slashing tests
* updated rpc tests
* updated state utils
* updated test utils and miscs
* Temp skips minimal spec tests
* Fixed proposer slashing test
* Gaz
* Skip 2 more minimal tests
* Skip 2 more minimal tests
* Update readme
* gaz
* Conflict
* Fix import and not use
* Update workspace for new spec test
* Fix workspace
* Merge refs/heads/master into v0.10.1
* Update workspace with new ethapi commit
* Unblock a few tests
* Merge refs/heads/master into v0.10.1
* fixed block op test
* gaz
* Merge refs/heads/master into v0.10.1
* Skip gen state test (test setup issue
* Updated hysteresis config
* Updated epoch processing for new hyteresis
* Updated tests
* regen proto beacon
* update state util for state root
* update state types
* update getter and setters
* update compute domain and get domain and tests
* update validators
* Add forkdata proto
* Updated compute domain api, moved it to helper pkg
* Merge refs/heads/master into v0.10.1
* Fixed all core tests
* Fixed all the sync tests
* Fixed all the rpc tests
* Merge refs/heads/master into v0.10.1
* Merge refs/heads/master into v0.10.1
* Fixed conflict
* Fixed conflict
* Conflict fix
* visibility
* Fixed validator tests
* Fixing test util
* Fixed rest of non spec tests
* Fixed a bug proposer index wasn't included
* gaz
* Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
* Updated eth1 data voting period to epoch based
* Fixed failed tests
* fix bug
* fix error
* Fixed more misc tests
* Add new SignedAggregateAndProof to pass spec test
* Update minimalConfig.PersistentCommitteePeriod
* allow to rebuild trie
* Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
* Skip e2e tests
* Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
* Align aggregator action with v0.11 (#5146 )
* Remove Head Root from Beacon Block by Range Request (#5165 )
* make proto changes
* remove head root
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into v0.11
* add back herumi's library
* Update ethapi in workspace, started fixing test. Hand off to Nishant
* fix build
* All tests passing
* Align finalized slot check with v0.11 (#5166 )
* Merge branch 'master' into v0.11
* Add DoS resistance for v0.11 (#5158 )
* Add Fork Digest Helper (#5173 )
* Extend DoS prevention to rest of operation objects (#5174 )
* Update mapping
* Add caches
* Update seen block in validation pipeline
* Update seen att in validation pipeline
* Update seen att in validation pipeline
* Fixed rest of tests
* Gazelle
* Better writes
* Lint
* Preston's feedback
* Switched to LRU cache and fixed tests
* Gazelle
* Fix test
* Update proposer slashing
* Update proposer slashing
* Fixed a block test
* Update exit
* Update atteser slashing
* Raul's feedback
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add remote keymanager (#5133 )
* Add remote keymanager
* Add generic signRoot() helper
* Add tests for remote keymanager
* NewRemote -> NewRemoteWallet
* signRoot -> signOject, to increase reuse
* Fix end-to-end compile error
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Add Snappy Framing to the Encoder (#5172 )
* change to framing
* more fixes
* fix everything
* add stricter limits
* preston feedback
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: rauljordan <raul@prysmaticlabs.com>
* Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
* Move Subnet Functionality to its Own File (#5179 )
* move subnets to their own file
* fix build fail
* build
* Update beacon-chain/p2p/discovery_test.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Sync with master
* Verify proposer signature in sync (#5206 )
* Fix Signed Attestation In Sync (#5207 )
* Add Eth2 Fork ENR Functionality (#5181 )
* add fork entry enr
* add in fork
* add the required fork entry to node
* add and retrieve fork entry
* await state initialized
* utilize new structure
* more progress, utilizing a config map instead
* send the genesis validators root via the event feed
* struct method for discovery
* fix broken builds
* fixed up more tsts using state feed initializer
* fix up most tests
* only one more failing test
* almost done with tests
* p2p tests all pass
* config fix
* fix blockchain test
* gaz
* add in todo
* lint
* add compare func
* ensure fork ENR versions match between peers
* add in test for discovery
* test name
* tests complete
* tests done
* done
* comments
* fix all flakes
* addressed comments
* build using ssz gen
* marshal record
* use custom ssz
* deduplicate import
* fix build
* add enr proto
* p2p tests done
Co-authored-by: nisdas <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Verify aggregator signature in sync (#5208 )
* Add Fork Digest For Gossip Topics (#5191 )
* update for the day
* fix remaining failing test
* fix one more test
* change message
* Apply suggestions from code review
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* terence's review
* implement fork digest'
* align digest to interface'
* passed all tests
* spawn in goroutine
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: Raul Jordan <raul@prysmaticlabs.com>
* Fix Incorrect Attester Slashing Method (#5229 )
* Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
* Remove keystore keymanager from validator (#5236 )
* Remove keystore keymanager from validator
* Update dependency
* Update validator/flags/flags.go
* Update validator/flags/flags.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* fix broadcaster
* update metrics with fork digest for p2p (#5251 )
* update metrics with fork digest for p2p
* update p2p metrics
* update metrics using att values
* wrapped up
* fix bug
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix incorrect domain type comments (#5250 )
* Fix incorrect domain type comments
* resolve conflicts
* fix broken broadcast test
* fix tests
* include protocol suffix
* fix confs
* lint
* fix test
* Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.11
* resolve broken slasher test'
* Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
* Merge branch 'master' into v0.11
* fix config override
* Remove deprecated parameters (#5249 )
* Avoid div by zero in extreme balance case (#5273 )
* Return effective balance increment instead of 1
* Update to new spec tests v0.11.1
* Revert "Regen historical states for `new-state-mgmt` compatibility (#5261 )"
This reverts commit df9a534826
.
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Revert "Remove deprecated parameters (#5249 )" (#5276 )
This reverts commit 7d17c9ac3455ee15c67b3645485693309216bc97.
* Verify block proposer index before gossip (#5274 )
* Update pipeline
* Update tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add in Proposer Index to Custom HTR (#5269 )
* fix test
* Update beacon-chain/state/stateutil/blocks_test.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Resolve Flakey P2P Tests (#5285 )
* double time for flakey test
* fix test flakeyness in p2p:
* flakey
* time tolerance
* greater tolerance
* Merge branch 'master' into v0.11
* release resources correctly (#5287 )
* Merge refs/heads/master into v0.11
* Enable NOISE Handshake by Default v0.11 (#5272 )
* noise handshakes by default
* fix build
* noisy noise everywhere
* deprecated noisy noise flag with more noise
* add secio as fallback
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
* Merge refs/heads/master into v0.11
* new ports
* fix broken build
* Make `new-state-mgmt` canonical (#5289 )
* Invert the flags
* Update checking messages
* Fixed all db tests
* Fixed rest of the block chain tests
* Fix chain race tests
* Fixed rpc tests
* Disable soudns better...
* Merge branch 'v0.11' into invert-new-state-mgmt
* Merge refs/heads/v0.11 into invert-new-state-mgmt
* Fix export
* Merge branch 'invert-new-state-mgmt' of github.com:prysmaticlabs/prysm into invert-new-state-mgmt
* Fix conflict tests
* Gazelle
* Merge refs/heads/v0.11 into invert-new-state-mgmt
* Merge refs/heads/v0.11 into invert-new-state-mgmt
* Merge branch 'master' into v0.11
* resolve flakeyness
* Merge refs/heads/master into v0.11
* Merge refs/heads/master into v0.11
* Detect Proposer Slashing Implementation (#5139 )
* detect blocks
* detect blocks
* use stub
* use stub
* use stub
* todo
* fix test
* add tests and utils
* fix imports
* fix imports
* fix comment
* todo
* proposerIndex
* fix broken test
* formatting and simplified if
* Update slasher/detection/service.go
* Update slasher/detection/testing/utils.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* fixed up final comments
* better naming
* Update slasher/detection/service.go
* Update slasher/detection/service.go
* Update slasher/detection/service.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* no more named args
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into v0.11
* Add Metadata And Ping RPC methods (#5271 )
* add new proto files
* add flag and helper
* add initializer
* imports
* add ping method
* add receive/send ping request
* add ping test
* refactor rpc methods and add ping test
* finish adding all tests
* fix up tests
* Apply suggestions from code review
* lint
* imports
* lint
* Update beacon-chain/p2p/service.go
* Update shared/cmd/flags.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into v0.11
* Updates for remote keymanager (#5260 )
* Merge branch 'spec-v0.11' of github.com:prysmaticlabs/prysm into v0.11
* Merge remote-tracking branch 'origin' into v0.11
* Update to slash by slot instead of epoch (#5297 )
* change to slash by slot instead of epoch
* gaz
* fix test
* fix test
* fix infinite loop on error parse
* Sync with master
* Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
* Update proposer protection to v0.11 (#5292 )
* Complete most of changes
* Fix other tests
* Test progress
* Tests
* Finish tests
* update pbs
* Fix mocked tests
* Gazelle
* pt 2
* Fix
* Fixes
* Fix tests wit hwrong copying
* Merge refs/heads/master into v0.11
* Merge refs/heads/master into v0.11
* Implement `SubscribeCommitteeSubnet` method (#5299 )
* Add client implementation
* Update workspace
* Update server
* Update service
* Gaz
* Mocks
* Fixed validator tests
* Add round tirp tests
* Fixed subnet test
* Comment
* Update committee cache
* Comment
* Update RPC
* Fixed test
* Nishant's comment
* Gaz
* Refresh ENR is for epoch
* Needs to be append
* Merge refs/heads/master into v0.11
* resolve confs
* Validator subscribe subnet to next epoch (#5312 )
* Alert to subscribe to next epoch
* Fixed tests
* Comments
* Fixed tests
* Update validator/client/validator.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Revert "Revert "Remove deprecated parameters (#5249 )" (#5276 )" (#5277 )
This reverts commit 47e5a2cf96f5add151bf135a5352c2dad7922615.
* Aggregate on demand for v0.11 (#5302 )
* Add client implementation
* Update workspace
* Update server
* Update service
* Gaz
* Mocks
* Fixed validator tests
* Add round tirp tests
* Fixed subnet test
* Wait 1/3 on validator side
* Lint
* Comment
* Update committee cache
* Comment
* Update RPC
* Fixed test
* Nishant's comment
* Gaz
* Refresh ENR is for epoch
* Needs to be append
* Fixed duplication
* Tests
* Skip e2e
* Update beacon-chain/rpc/validator/aggregator.go
Co-Authored-By: shayzluf <thezluf@gmail.com>
* Apply suggestions from code review
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: shayzluf <thezluf@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Refactor Dynamic Subscriptions (#5318 )
* clean up
* comment
* metrics
* fix
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge refs/heads/master into v0.11
* Fix listindexed attestations and detect historic attestations (#5321 )
* fix list indexed attestations
* fix tests
* goimports
* names
* Add check for slot == 0 (#5322 )
* Change attester protection to return default if DB is empty (#5323 )
* Change how default values are set
* Remove unused imports
* Remove wasteful db call
* Fix db tests
* Fix db test
* Merge refs/heads/master into v0.11
* fix it (#5326 )
* V0.11 run time fixes to use interop config (#5324 )
* Started testing
* Bunch of fixes
* use-interop
* Sync with v0.11
* Conflict
* Uncomment wait for activation
* Move pending block queue from subscriber to validator pipeline
* Merge branch 'v0.11' into use-interop-config
* passing tests
* Merge refs/heads/v0.11 into use-interop-config
* Merge refs/heads/v0.11 into use-interop-config
* Merge refs/heads/master into v0.11
* Merge refs/heads/master into v0.11
* Merge refs/heads/master into v0.11
* Nil Checks in Process Attestation v0.11 (#5331 )
* Started testing
* Bunch of fixes
* use-interop
* Sync with v0.11
* Uncomment wait for activation
* Move pending block queue from subscriber to validator pipeline
* passing tests
* nil checks to prevent panics
* lint
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Validator batch subscribe subnets (#5332 )
* Update both beacon node and validator
* Comments
* Tests
* Lint
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Validator smarter subscribe (#5334 )
* Fix incorrect proposer index calculation (#5336 )
* Use correct parent state
* Fixed test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* enhance error
* enhance error
* Update P2P Service to Handle Local Metadata (#5319 )
* add metadata to ENR
* add new methods
* glue everything
* fix all tests and refs
* add tests
* add more tests
* Apply suggestions from code review
* fix method
* raul's review
* gaz
* fix test setup
* fix all tests
* better naming
* fix broken test
* validate nil
Co-authored-by: rauljordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
* Revert "Revert "Revert "Remove deprecated parameters (#5249 )" (#5276 )" (#5277 )" (#5343 )
This reverts commit e5aef1686e582fc2077767c42187c8527f3a742f.
* Wait for Genesis Event to Start P2P (#5303 )
* use event feed for state initialized events
* add in handler for tests
* wait till genesis for p2p
* Apply suggestions from code review
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge refs/heads/master into v0.11
* Avoid duplicated aggregation request (#5346 )
* Avoid duplicated aggregation request
* Test and lock
* Gaz
* Fix Validate For Metadata (#5348 )
* return true
* shay's review
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Multiple Proposer Slots Allowed Per Epoch for Validators (#5344 )
* allow multiple proposer slots
* multi propose
* proposer indices to slots map
* remove deprecated comm assign
* Apply suggestions from code review
* resolve broken tests, add logic in validator client
* fix val tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Networking Fixes (#5349 )
* close stream later
* add ping method
* add method
* lint
* More efficient aggregation on demand (#5354 )
* Return Nil Error if Pre-Genesis in P2P Service Healthz Check (#5355 )
* pregenesis healthz check:
* optimal
* right order
* Update beacon-chain/p2p/service.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/p2p/service.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* no comment
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Release DiscoveryV5 for Testnet Restart (#5357 )
* release discv5
* fix build
* Fix Overflow in Status Check (#5361 )
* fix overflow
* Apply suggestions from code review
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.11
* fix after merge
* Merge refs/heads/master into v0.11
* Make Mainnet Config Default, No More Demo Config (#5367 )
* bye bye demo config
* gaz
* fix usage
* fix dep
* gaz
* Update default balance for sendDeposits
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Use FastSSZ Marshal/Unmarshal for DB Encodings in v0.11.1 (#5351 )
* try
* use marshaler structure for db instead of proto
* white list types
* attempt
* revert
* testutil.NewBeaconState()
* Fully populate fields for round trip ssz marshal
* fix //beacon-chain/db/kv:go_default_test
* more passing tests
* another test target passed
* fixed stategen
* blockchain tests green
* passing sync
* more targets fixed
* more test fixes in rpc/validator
* most rpc val
* validators test fixes
* skip round robin old
* aggregate test
* whitelist done
* Update beacon-chain/rpc/validator/attester_test.go
* edit baz
* Fixed tests
* Fixed getblock test
* Add back init
* reduce test size
* fix broken build
* tests pass
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Reconnect slasher streams on beacon node shutdown (#5376 )
* restart streams on beacon node shutdown
* fix comment
* remove export
* ivan feedback
* ivan feedback
* case insensitive
* Update slasher/beaconclient/receivers.go
* raul feedback
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'master' into v0.11
* Merge refs/heads/master into v0.11
* Amend Faucet to Offer 32.5 ETH for v0.11 (#5378 )
* deposit amount in faucet
* fix eth amount
* gas cost
* unskip exec transition test
* Revert "Enable NOISE Handshake by Default v0.11 (#5272 )" (#5381 )
This reverts commit a8d32d504a8f923cdf7fa9dfc2684f8804fbab92.
* Merge refs/heads/master into v0.11
* use string for deposit flag
* Update Bootnode to v0.11 (#5387 )
* fix bootnode
* add changes
* gaz
* fix docker
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.11
* build fix
* fix flaky test
* Merge refs/heads/master into v0.11
* Unskip E2E for V0.11 (#5386 )
* Begin work on fixing e2e for v0.11
* Start bootnode work
* Begin implementing bootnode into e2e
* Fix E2E for v0.11
* Remove extra
* gaz
* Remove unused key gen code
* Remove trailing multiaddr code
* add skip for slashing
* Fix slashing e2e
* Fix docker image build
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.11
* Merge refs/heads/master into v0.11
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.11
* Update beacon-chain/p2p/broadcaster_test.go
* Merge refs/heads/master into v0.11
* Pass E2E Tests for v0.11 and Enable Attestation Subnets By Default (#5407 )
* Update README.md
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Apply suggestions from code review
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/p2p/config.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/keystore/deposit_input.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update tools/faucet/server.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/p2p/service.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/benchutil/pregen_test.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/benchutil/pregen_test.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update proto/beacon/p2p/v1/BUILD.bazel
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/benchutil/pregen_test.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/bls/spectest/aggregate_verify_test.go
* Addressed feedback. All test passing
* Merge branch 'v0.11' of github.com:prysmaticlabs/prysm into v0.11
* Update beacon-chain/core/blocks/block_operations_fuzz_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/core/blocks/block_operations_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update shared/testutil/helpers.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/core/helpers/signing_root.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Resolve Misc v0.11 Items (Raul) (#5414 )
* address all comments
* set faucet
* nishant feedback
* Update beacon-chain/p2p/service.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Revert keymanager changes (#5416 )
* Revert "Updates for remote keymanager (#5260 )"
This reverts commit bbcd895db50ce5e7c0ecb64210471cf56f63b373.
* Revert "Remove keystore keymanager from validator (#5236 )"
This reverts commit 46008770c162e741251e13772fd7356b43a9af87.
* Revert "Update eth2 wallet keymanager (#4984 )"
This reverts commit 7f7ef43f218598a671aaeb327342d7e5130fe8b1.
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Update BLS and limit visibility (#5415 )
* remove duplicated BLS, add golang.org/x/mod
* Update BLS and restrict visibility
* fix build
* Fix eth1data test and fix order of ops (#5413 )
* use multiaddr builder (#5419 )
* Unskip benchutil and minor v0.11 fixes (#5417 )
* Unskip benchutil tests
* Remove protos and gaz
* Fixes
* Networking Fixes (#5421 )
* check
* fix test
* fix size
* fix test
* more fixes
* fix test again
* Update ethereum APIs with latest master
* Error handling for v0.11 tests (#5428 )
* Proper err handling for tests
* Lint
* Fixed rest of the tests
* Gaz
* Fixed old master tests
* Sync with master
* Rm old aggregate_test.go
2020-04-14 20:27:03 +00:00
Preston Van Loon
d5ddd012bc
Enforce error handling and checking type assertions ( #5403 )
...
* 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
2020-04-13 04:11:09 +00:00
Preston Van Loon
7a5010ecea
Add roughtime static code analysis and fix all violations ( #5370 )
...
* Add roughtime static code analysis and fix all violations
* Merge branch 'master' into enforce-roughtime
2020-04-09 23:35:42 +00:00
Victor Farazdagi
f440c815f9
Init sync update highest slot ( #5298 )
...
* updates highest slot before wrapping up
* more verbose error message
* error w/o stack
* revert back
2020-04-04 17:11:38 +03:00
Victor Farazdagi
c26a492225
Init sync optimizations ( #5284 )
...
* fix naming slot -> epoch
* better handling of long periods w/o finality
* fixes issue with pointer going too far ahead
2020-04-02 06:54:05 +03:00
Victor Farazdagi
7ebb3c1784
init-sync revamp ( #5148 )
...
* fix issue with rate limiting
* force fetcher to wait for minimum peers
* adds backoff interval
* cap the max blocks requested from a peer
* queue rewritten
* adds docs to fsm
* fix visibility
* updates fsm
* fsm tests added
* optimizes queue resource allocations
* removes debug log
* replace auto-fixed comment
* fixes typo
* better handling of evil peers
* fixes test
* minor fixes to fsm
* better interface for findEpochState func
2020-03-27 09:54:57 +03:00
terence tsao
dc3fb018fe
Fix new state mgmt sync stuck in a loop ( #5142 )
2020-03-19 18:46:35 -07:00
Victor Farazdagi
3ec2a0f9e0
Refactoring of initial sync ( #5096 )
...
* implements blocks queue
* refactors updateCounter method
* fixes deadlock on stop w/o start
* refactors updateSchedulerState
* more tests on schduler
* parseFetchResponse tests
* wraps up tests for blocks queue
* eod commit
* fixes data race in round robin
* revamps fetcher
* fixes race conditions + livelocks + deadlocks
* less verbose output
* fixes data race, by isolating critical sections
* minor refactoring: resolves blocking calls
* implements init-sync queue
* udpate fetch/send buffers in blocks fetcher
* blockState enum-like type alias
* refactors common code into releaseTicket()
* better gc
* linter
* minor fix to round robin
* moves original round robin into its own package
* adds enableInitSyncQueue flag
* fixes issue with init-sync service selection
* Update beacon-chain/sync/initial-sync/round_robin.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* initsyncv1 -> initsyncold
* adds span
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2020-03-17 12:27:18 -05:00
Victor Farazdagi
f18bada8c9
Init sync blocks queue ( #5064 )
...
* fixes data race, by isolating critical sections
* minor refactoring: resolves blocking calls
* implements init-sync queue
* udpate fetch/send buffers in blocks fetcher
* blockState enum-like type alias
* refactors common code into releaseTicket()
* better gc
* linter
* Update beacon-chain/sync/initial-sync/blocks_queue.go
Co-Authored-By: shayzluf <thezluf@gmail.com>
* Update beacon-chain/sync/initial-sync/blocks_queue_test.go
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: shayzluf <thezluf@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2020-03-16 18:21:36 +03:00
terence tsao
3660732f44
Resume new state mgmt ( #5102 )
2020-03-15 09:47:49 -07:00
Victor Farazdagi
1137403e4b
Init sync pre queue ( #5098 )
...
* fixes data race, by isolating critical sections
* minor refactoring: resolves blocking calls
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-03-14 13:21:07 -05:00
terence tsao
43722e45f4
Save cold state ( #5077 )
2020-03-12 05:58:06 -07:00
Victor Farazdagi
7b30845c01
fixes races in blocks fetcher ( #5068 )
2020-03-11 14:21:41 +03:00
prylabs-bulldozer[bot]
e635e5b205
Feature flag to gate prune state upon start up ( #5011 )
...
* Added feature flag to gate prune state upon start up
2020-03-05 06:24:59 +00:00
Victor Farazdagi
239efe7410
init sync: adds blocks fetcher service ( #4978 )
...
* init sync: adds blocks fetcher service
* init-sync: rework ctx handling
* init-sync: fix long lines
* removes redundant method
* adds buffer to requests channel
* adds jaeger spans
* fixes overly long comment line
2020-03-04 20:19:09 +03:00