kasey
3476112d63
sync blobs in initial-sync ( #12522 )
2023-08-31 08:41:57 -05:00
terencechain
d17996f8b0
Update to V4
🚀 ( #12134 )
...
* Update V3 from V4
* Fix build v3 -> v4
* Update ssz
* Update beacon_chain.pb.go
* Fix formatter import
* Update update-mockgen.sh comment to v4
* Fix conflicts. Pass build and tests
* Fix test
2023-03-17 18:52:56 +00:00
terencechain
d4f3257f60
Rename block interfaces ( #11975 )
2023-02-09 10:23:32 +01:00
Radosław Kapka
77d3ccb9ad
Clean up state types ( #11916 )
...
* Clean up state types
* rename package
2023-01-26 14:40:12 +00:00
Nishant Das
396fc3dc7e
Fix Waiting For Bandwidth Issue While Syncing ( #11853 )
...
* fix bugs
* fix up
* comment
* raul's review
* comment
* finally fix it
2023-01-12 00:07:09 +00:00
Preston Van Loon
6bea17cb54
Update libp2p to support go 1.19 ( #11309 )
...
* Update libp2p to support go 1.19
* gaz
* go mod tidy
* Only update the minimum deps
* go mod tidy
* revert .bazelrc
* Update go-libp2p to v0.22.0 and update import paths (#11440 )
* Fix import paths
* Fix go-libp2p-peerstore import
* Bazel updates
* fix
* revert some comments changes
* revert some comment stuff
* fix dependency issues
* vendor problematic library
* use your brain
* remove
* tests
Co-authored-by: Marco Munizaga <marco@marcopolo.io>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
2022-10-07 15:24:51 +08:00
Raul Jordan
d077483577
Add V3 Suffix to All Prysm Packages ( #11083 )
...
* v3 import renamings
* tidy
* fmt
* rev
* Update beacon-chain/core/epoch/precompute/reward_penalty_test.go
* Update beacon-chain/core/helpers/validators_test.go
* Update beacon-chain/db/alias.go
* Update beacon-chain/db/alias.go
* Update beacon-chain/db/alias.go
* Update beacon-chain/db/iface/BUILD.bazel
* Update beacon-chain/db/kv/kv.go
* Update beacon-chain/db/kv/state.go
* Update beacon-chain/rpc/prysm/v1alpha1/validator/attester_test.go
* Update beacon-chain/rpc/prysm/v1alpha1/validator/attester_test.go
* Update beacon-chain/sync/initial-sync/service.go
* fix deps
* fix bad replacements
* fix bad replacements
* change back
* gohashtree version
* fix deps
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
2022-08-16 12:20:13 +00:00
Radosław Kapka
7f56ac6355
Massive code cleanup ( #10913 )
...
* Massive code cleanup
* fix test issues
* remove GetGenesis mock expectations
* unused receiver
* rename unused params
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-06-27 13:34:38 +00:00
Jie Hou
6c878b1665
Refactor: Continue reducing cognitive complexity ( #10862 )
...
* Refactor beacon-chain/db/kv/state.go
* Refactor api/gateway/apimiddleware/process_field.go
* Refactor beacon-chain/sync/initial-sync/blocks_queue.go
* Refactor validator/db/kv/migration_optimal_attester_protection.go
* goimports
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2022-06-15 18:34:59 +00:00
Raul Jordan
20ab988a4a
Rename Block
Package in Consensus-Types to Interfaces ( #10605 )
...
* interfaces package
* builds
* gaz
2022-05-02 14:32:37 -04:00
Raul Jordan
16bbf5602f
Move Consensus Type Wrappers Into Consensus Types Package ( #10598 )
...
* builds
* move block to consensus-types
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-05-02 15:43:40 +00:00
Raul Jordan
84916672c6
Remove Eth2-Types Dependency in Prysm ( #10578 )
...
* replace eth2 types
* replace protos
* regen proto
* replace
* gaz
* deps
* amend
* regen proto
* mod
* gaz
* gaz
* ensure build
* ssz
* add dep
* no more eth2 types
* no more eth2
* remg
* all builds
* buidl
* tidy
* clean
* fmt
* val serv
* gaz
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
2022-04-29 10:32:11 -04:00
Radosław Kapka
5569a68452
Code cleanup ( #9992 )
...
* Value assigned to a variable is never read before being overwritten
* The result of append is not used anywhere
* Suspicious assignment of range-loop vars detected
* Unused method receiver detected
* Revert "Auxiliary commit to revert individual files from 54edcb445484a2e5d79612e19af8e949b8861253"
This reverts commit bbd1e1beabf7b0c5cfc4f514dcc820062ad6c063.
* Method modifies receiver
* Fix test
* Duplicate imports detected
* Incorrectly formatted error string
* Types of function parameters can be combined
* One more "Unused method receiver detected"
* Unused parameter detected in function
2021-12-07 17:52:39 +00:00
terence tsao
c21e43e4c5
Refactor: move functions beacon-chain/core/time
-> time/slots
( #9719 )
...
* Move necessary functions beacon-chain/core/time -> time/slots
* Fix fuzz
* Fix build
* Update slot_epoch.go
2021-10-01 15:17:57 -05:00
terence tsao
8219af46e4
Move slot epoch from core to time pkg ( #9714 )
...
* Move slot epoch from core to time pkg
* Fix fuzz
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2021-09-30 19:00:14 +00:00
Preston Van Loon
4beb352e6f
Move Slot and Epoch functions from helpers to core pkg ( #9519 )
...
* Move Slot and Epoch functions from helpers to core
* limited viz
* goimports
* fix fuzz build
* fix fuzz build
* fix
* fix
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2021-09-03 20:10:31 +00:00
Raul Jordan
9145310647
Eliminate Proto V2 Namespace ( #9297 )
...
* get rid of v2 in prysm codebase
* replace block2
* builds
* terence comments
* gazelle
2021-07-28 21:23:44 +00:00
terence tsao
8db0c9a0e6
Move proto/interfaces -> proto/prysm/v2 ( #9270 )
...
* Move proto/interfaces -> proto/prysm
* Update paths
* Fix block2
* Update blocks_fetcher_utils.go
* Update BUILD.bazel
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2021-07-23 20:10:15 +00:00
terence tsao
1d3a9983cc
Move block interface next to generated pb ( #9146 )
...
* Move block interface next to pb
* Update fuzz build bazel
* Move interface to /proto/interface and wrapper next to generated pb
* Fix fuzz build bazel
* Add //proto/eth/v1alpha1/wrapper
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2021-07-06 15:34:05 +00:00
Nishant Das
caf9bdbc6f
Use Block Interface Across Prysm ( #8918 )
...
* commit initial work
* checkpoint current work
* gaz
* checkpoint
* req/resp changes
* initial-sync
* finally works
* fix error
* fix bugs
* fix issue
* fix issues
* fix refs
* tests
* more text fixes
* more text fixes
* more text fixes
* fix tests
* fix tests
* tests
* finally fix builds
* finally
* comments
* fix fuzz
* share common library
* fix
* fix
* add in more defensive nil checks
* add in more defensive nil checks
* imports
* Apply suggestions from code review
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Apply suggestions from code review
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update shared/interfaces/block_interface.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update shared/interfaces/block_wrapper.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update shared/interfaces/block_interface.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* imports
* fix bad changes
* fix
* terence's review
* terence's review
* fmt
* Update beacon-chain/rpc/beacon/blocks.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* fix tests
* fix
* fix all tests
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
2021-05-26 16:19:54 +00:00
Victor Farazdagi
a069738c20
ETH2 Types: Slot ( #8408 )
...
* update shared/params
* update eth2-types deps
* update protobufs
* update shared/*
* fix testutil/state
* update beacon-chain/state
* update beacon-chain/db
* update tests
* fix test
* update beacon-chain/core
* update beacon-chain/blockchain
* update beacon-chain/cache
* beacon-chain/forkchoice
* update beacon-chain/operations
* update beacon-chain/p2p
* update beacon-chain/rpc
* update sync/initial-sync
* update deps
* update deps
* go fmt
* update beacon-chain/sync
* update endtoend/
* bazel build //beacon-chain - works w/o issues
* update slasher code
* udpate tools/
* update validator/
* update fastssz
* fix build
* fix test building
* update tests
* update ethereumapis deps
* fix tests
* update state/stategen
* fix build
* fix test
* add FarFutureSlot
* go imports
* Radek's suggestions
* Ivan's suggestions
* type conversions
* Nishant's suggestions
* add more tests to rpc_send_request
* fix test
* clean up
* fix conflicts
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
2021-02-16 07:45:34 +00:00
Victor Farazdagi
a8e501b3cf
ETH2 Types: Epoch ( #8373 )
...
* update deps
* update deps
* update protos/*
* update deps
* reset protos
* update protos
* update shared/params/config
* update protos
* update /shared
* update shared/slotutil and shared/testutil
* update beacon-chain/core/helpers
* updates beacon-chain/state
* update beacon-chain/forkchoice
* update beacon-chain/blockchain
* update beacon-chain/cache
* update beacon-chain/core
* update beacon-chain/db
* update beacon-chain/node
* update beacon-chain/p2p
* update beacon-chain/rpc
* update beacon-chain/sync
* go mod tidy
* make sure that beacon-chain build suceeds
* go fmt
* update e2e tests
* update slasher
* remove redundant alias
* update validator
* gazelle
* fix build errors in unit tests
* go fmt
* update deps
* update fuzz/BUILD.bazel
* fix unit tests
* more unit test fixes
* fix blockchain UTs
* more unit test fixes
2021-02-09 10:05:22 +00:00
Victor Farazdagi
372dc47b64
Deprecate enableSyncBacktracking flag ( #8371 )
...
* Deprecate enableSyncBacktracking flag
* keep deprecated flags
2021-02-01 11:18:24 +00:00
Victor Farazdagi
c7f7a29d7e
remove redundant start slot ( #7991 )
...
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2020-12-02 20:47:39 +03:00
Victor Farazdagi
54a42ce4a8
more robust processing of invalid head slot ( #7990 )
2020-11-29 15:03:25 -06:00
Victor Farazdagi
51796d77f6
Init-sync: backtracking to alternative forks ( #7564 )
...
* cherry-pick from previous commits
* use finalized checpoint instead of head slot
* add helpers
* add dedicated error for missing blocks
* add backtracking options to fetcher
* TestBlocksFetcher_alternativeSlotBefore regression test
* update peer block provider test
* update injected deps
* update round robing deps
* update fetcher
* patch status and stream handlers
* test template
* gazelle
* revert BestNonFinalized changes
* extract waitForBandwidth method
* extend test
* remove redundant code
* add flag
* update queue
* update thresholds
* upd inequality
* minor cleanup
* check for mode
* add backtracking queue test
* merge from master
* remove redundant test
* correct logging level
* fix tests
* remove test template
* Nishant's suggestion to parametrize magic number
2020-11-06 15:54:20 +00:00
Victor Farazdagi
7acd73e1fe
Refactor p2p requests: extract BeaconBlocksByRangeRequest and BeaconBlocksByRootRequest ( #7718 )
...
* extract SendBeaconBlocksByRangeRequest
* adds extra processing
* extract SendBeaconBlocksByRootRequest
* extract into rpc_send_request.go
* add tests
* more tests
* gazelle
* remove redundant import
* for consistency
* for consistency
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-11-04 20:09:19 +00:00
Victor Farazdagi
926d3b9b34
Init-sync: more tests + minor refactoring ( #7692 )
...
* cherry-pick commits
* re-arrange calls
2020-10-31 21:33:57 +00:00
Victor Farazdagi
4fc0a50569
Turn init-sync FSM logs to trace level ( #7670 )
...
* trace
* go fmt
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
2020-10-29 04:55:07 +00:00
Victor Farazdagi
8a3b75e9e3
Update init-sync FSM ( #7640 )
...
* update fsm
* more tests
2020-10-26 05:26:35 +00:00
Victor Farazdagi
0b53a89d00
More verbose output on init-sync ( #7578 )
...
* more verbose output on init-sync
* log slot
* no error stack
* remove redundant data
* less verbose
2020-10-20 14:59:38 +00:00
Victor Farazdagi
a005c77b3f
Update error usage patterns to go1.13+ ( #7529 )
...
* rely on errors.Is
* wrap errors
2020-10-14 17:39:52 +00:00
Victor Farazdagi
8baa22f065
Fix unclosed tickers/timers ( #7190 )
...
* fix resource leak
* fixes leak in blocks fetcher
* client/validator release ticker resorces
* powchain, more straightforward ticker closing
* adds missing ticker.stop() calls
* more straightforward ticker closing
* Merge refs/heads/master into fix-unclosed-tickers-timers
* Merge refs/heads/master into fix-unclosed-tickers-timers
* Merge refs/heads/master into fix-unclosed-tickers-timers
* gofmt issues introduced in https://github.com/prysmaticlabs/prysm/pull/7176
2020-09-08 18:05:38 +00:00
Victor Farazdagi
7fd2536d54
Hardens block validation in init-sync ( #7168 )
...
* assert response invariants in beaconBlocksByRange
* Merge branch 'master' into assert-invariants-in-beaconblocksbyrange
* enforce specs invariant in requestBlocks
* blocks queue: onDataReceivedEvent - part1
* Merge branch 'master' into init-sync-block-validation
* blocks queue: onDataReceivedEvent - part2
* Merge branch 'master' into init-sync-block-validation
* block fetcher: test returned blocks validation
* gazelle
* Nishant's suggestion to not loop more than req.count of times
* combine checks
* enforce slot ordering
* enforce skip increments
2020-09-03 07:07:42 +00:00
Victor Farazdagi
5d0f6c5b16
Fixes errNoPeersWithFinalizedBlocks naming ( #7087 )
...
* fixes errNoPeersWithFinalizedBlocks naming
* Merge refs/heads/master into init-sync-queue-fix-err-naming
* Merge refs/heads/master into init-sync-queue-fix-err-naming
2020-08-24 10:48:52 +00:00
Victor Farazdagi
0a5ec502b0
Updates resyncIfBehind() functionality ( #7039 )
...
* defines BestNonFinalized
* updates blocks_fetcher
* updates blocks_queue
* Merge branch 'master' into fix-resync
* Nishant's suggestion
* Merge branch 'fix-resync' of github.com:prysmaticlabs/prysm into fix-resync
* unit test
* Merge branch 'master' into fix-resync
* fixes test
* Merge refs/heads/master into fix-resync
2020-08-18 02:10:45 +00:00
Victor Farazdagi
bde3073bd6
Wait interval, before finalized peers re-checked ( #7032 )
...
* wait on no finalized peers
* Merge branch 'master' into better-no-finalized-peers-handling
2020-08-17 16:01:16 +00:00
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
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
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
Victor Farazdagi
f279cf09b8
Removes excessive concurrency from init-sync queue ( #6471 )
...
* Removes excessive concurrency from init-sync queue
* update buffer size
2020-07-02 13:06:12 +00:00
Victor Farazdagi
92c5c651f7
Refactors init-sync: queue streams blocks in batches ( #6470 )
...
* init-sync: queue streams blocks in batches
2020-07-02 11:19:07 +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
fd3cb0be55
Re-enables multi-failure test case in round robin ( #6143 )
...
* re-enables multi-failure test case in round robin
2020-06-05 11:26:10 +00:00
Victor Farazdagi
f4778048ac
Init sync arbitrary batch length + full bandwidth utilization ( #5978 )
...
* allow to jump over 50K skipped slots
* more tests
* removes debug logs
* minor fixes
* re-arrage pid updates
* optimizes queue and fsm
* Merge branch 'master' into init-sync-arbitrary-batch-len
* fixes benchmark test
* Merge branch 'master' into init-sync-arbitrary-batch-len
* queue cleanup
* updates polling interval
* fsm test: allMachinesInState
* fsm test: highestStartBlock
* rest of fsm tests
* Merge branch 'master' into init-sync-arbitrary-batch-len
* Merge refs/heads/master into init-sync-arbitrary-batch-len
* Merge refs/heads/master into init-sync-arbitrary-batch-len
* Merge refs/heads/master into init-sync-arbitrary-batch-len
* Merge refs/heads/master into init-sync-arbitrary-batch-len
* Merge refs/heads/master into init-sync-arbitrary-batch-len
* parse machines in order
* Merge branch 'init-sync-arbitrary-batch-len' of github.com:prysmaticlabs/prysm into init-sync-arbitrary-batch-len
2020-05-27 09:13:41 +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
Victor Farazdagi
d79950ab3b
Optimizes FSM event triggering ( #5881 )
...
* Optimizes machine triggering
* updates queue
* Merge branch 'master' into init-sync-fsm-optimizations
* gazelle
* Merge branch 'init-sync-fsm-optimizations' of github.com:prysmaticlabs/prysm into init-sync-fsm-optimizations
2020-05-16 20:26:00 +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
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
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