Radosław Kapka
0b261cba5e
Unify log fields ( #13654 )
...
* unify fields
* fix tests
2024-02-22 22:40:36 +00:00
kasey
04dd60d1bf
Fix pending block/blob zero peer edge case ( #13625 )
...
* pending broadcast err if missing blobs and 0 peers
* compute request first for len check
---------
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
2024-02-17 00:29:23 +00:00
terence
5a66807989
Update to V5 ( #13622 )
...
* First take at updating everything to v5
* Patch gRPC gateway to use prysm v5
Fix patch
* Update go ssz
---------
Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com>
2024-02-15 05:46:47 +00:00
terence
f3ef1b64d6
Enhance block by root log ( #13472 )
2024-01-18 13:43:10 +00:00
kasey
0e043d55b4
VerifiedROBlobs in initial-sync ( #13351 )
...
* Use VerifiedROBlobs in initial-sync
* Update beacon-chain/das/cache.go
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
* Apply suggestions from code review
comment fixes
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
* fix lint error from gh web ui
* deepsource fixes
* more deepsource
* fix init wiring
* mark blobless blocks verified in batch mode
* move sig check after parent checks
* validate block commitment length at start of da check
* remove vestigial locking
* rm more copy-locksta
* rm old comment
* fail the entire batch if any sidecar fails
* lint
* skip redundant checks, fix len check
* assume sig and proposer checks passed for block
* inherits most checks from processed block
* Assume block processing handles most checks
* lint
* cleanup unused call and gaz
* more detailed logging for e2e
* fix bad refactor breaking non-finalized init-sync
* self-review cleanup
* gaz
* Update beacon-chain/verification/blob.go
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
* terence and justin feedback
---------
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com>
2024-01-06 23:47:09 +00:00
terence
ac06362baf
Add a helper for max request block ( #13173 )
...
* Add a helper for max request block
* Add test
* Use deneb fork epoch from config
* Fix comment
2023-11-14 05:50:51 +00:00
Nishant Das
b56bf00682
Fix Pending Queue Deadline Bug ( #13145 )
...
* rearrange deadline
* naming
2023-10-31 06:40:41 +00:00
terencechain
cabf3476e7
Add context deadline for pending queue's receive block ( #13114 )
...
* Add context dead like for pending queue's receive block
* Use timeout
2023-10-25 19:40:17 +00:00
Nishant Das
642458f037
Fix Pending Queue Expiration Bug ( #13104 )
...
* fix bug
* make test better
---------
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2023-10-24 20:28:57 +00:00
terencechain
4809da62cc
Passing block as arugment for sidecar validation ( #13062 )
2023-10-18 13:42:15 +00:00
terencechain
99843688cd
Request missing blobs while processing pending queue ( #13015 )
...
* Request missing blobs while processing pending queue
* Fix build
* Lower complexity
* Fix conflict
* Clean up per James's comment
---------
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2023-10-11 22:07:11 +00:00
terencechain
c5501f8775
Refactor Pending Block Queue Logic in Sync Package ( #13026 )
...
* Clean up pending block queue
* Kasey's feedback
* Kasey's feedback on validateBeaconBlock err handling
* Clean up handleBlockProcessingError
* Clean up old comments
* James feedback
* has peer helper
* Reuse parent reoot
---------
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2023-10-11 14:41:24 +00:00
terencechain
39072e1b74
Check block exists in pending queue before requesting from peer ( #13013 )
2023-10-09 10:35:15 -07:00
terencechain
58c0899676
Don't mark block as bad in validateBeaconBlock
for pending queue ( #12983 )
...
* Don't mark block as bad in validateBeaconBlock for pending queue
* Fix tests
2023-10-03 16:36:23 +00:00
terencechain
0e5d299d02
Remove unused pending blobs queue ( #12913 )
...
* Remove pending blobs queue
* Fix tests
---------
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
2023-09-20 17:00:01 +00:00
Potuz
6b915bab26
Dont process blocks twice ( #12905 )
...
* keep track of block being synced
* gazelle
* use maps
* shutup deepsource
* change godoc
* Radek's review
* Do not process block twice if it's already being processed
* add unit test
2023-09-15 20:11:02 +00:00
Potuz
dd73f762ec
keep track of block being synced ( #12903 )
...
* keep track of block being synced
* gazelle
* use maps
* shutup deepsource
* change godoc
* Radek's review
2023-09-15 17:13:13 +00:00
terencechain
e3ac8b7745
Add Blob Gossip ( #12413 )
2023-08-31 08:41:57 -05:00
kasey
385a317902
Revert initsync revert ( #12431 )
...
* Revert "Revert "BeaconBlocksByRange and BlobSidecarsByRange consistency (#123… (#12426 )"
This reverts commit ddc1e48e05
.
* fix metrics bug, add batch.next tests
---------
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
2023-05-19 16:59:13 +00:00
kasey
ddc1e48e05
Revert "BeaconBlocksByRange and BlobSidecarsByRange consistency (#123… ( #12426 )
...
This reverts commit 73e4bdccbb
.
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
2023-05-18 18:01:26 +00:00
kasey
73e4bdccbb
BeaconBlocksByRange and BlobSidecarsByRange consistency ( #12383 )
...
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com>
2023-05-17 12:16:10 +00:00
kasey
918129cf36
Replace statefeed Initialize ( #12285 )
...
* refactor initialization to blocking startup method
* require genesisSetter in blockchain, fix tests
* work-around gazelle weirdness
* fix dep gazelle ignores
* only call SetGenesis once
* fix typo
* validator test setup and fix to return right error
* move waitForChainStart to Start
* wire up sync Service.genesisWaiter
* fix p2p genesisWaiter plumbing
* remove extra clock type, integrate into genesis
and rename
* use time.Now when no Nower is specified
* remove unused ClockSetter
* simplify rpc context checking
* fix typo
* use clock everywhere in sync; [32]byte val root
* don't use DeepEqual to compare [32]byte and []byte
* don't use clock in init sync, not wired up yet
* use clock waiter in blockchain as well
* use cancelable contexts in tests with goroutines
* missed a reference to WithClockSetter
* Update beacon-chain/startup/genesis.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/blockchain/service_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* more clear docs
* doc for NewClock
* move clock typedef to more logical file name
* adding documentation
* gaz
* fixes for capella
* reducing test raciness
* fix races in committee cache tests
* lint
* add tests on Duration slot math helper
* startup package test coverage
* fix bad merge
* set non-zero genesis time in tests that call Start
* happy deepsource, happy me-epsource
* replace Synced event with channel
* remove unused error
* remove accidental wip commit
* gaz!
* remove unused event constants
* remove sync statefeed subscription to fix deadlock
* remove state notifier
* fix build
---------
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
2023-05-03 04:34:01 +00: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
Radosław Kapka
4d90afe944
Fixed size arrays in block interfaces and structs ( #11375 )
...
* Fixed size arrays in block fields
* test fix
* fmt
* fix fetcher test
* fix fuzz tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-09-06 14:30:16 +00: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
Preston Van Loon
9d375969d1
Enforce log.WithError(err) static analysis and fix all violations ( #11163 )
...
* Use log.WithError static analysis from #11143 and fix all violations
* Fix another log violation after pulling from develop
* Update beacon-chain/sync/pending_blocks_queue.go
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
* @potuz feedback
* Copy paste fail
* fix tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
2022-08-05 10:52:02 +00:00
Radosław Kapka
879e310332
Native Blocks Ep. 2 - Switch usages to new package ( #10885 )
...
* panic in SizeSSZ
* moving slowly
* adapt old code to new interfaces
* return interfaces from factory functions
* replace the rest of WrappedSignedBeaconBlock
* WrappedBeaconBlock
* WrappedBeaconBlockBody
* miscellaneous
* Test_BeaconBlockIsNil
* replace usages of BeaconBlockIsNil
* replace usages of mutator
* fix all build errors
* fix some more issues
* mutator changes
* relax assertions when initializing
* revert changes in object_mapping.go
* allow calling Proto on nil
* Revert "allow calling Proto on nil"
This reverts commit ecc84e455381b03d24aec2fa0fa17bddbec71705.
* modify Copy and Proto methods
* remove unused var
* fix block batch tests
* correct BUILD file
* Error when initializing nil objects
* one more error fix
* add missing comma
* rename alias to blocktest
* add logging
* error when SignedBeaconBlock is nil
* fix last test
* import fix
* broken
* working
* test fixes
* reduce complexity of processPendingBlocks
* simplified
2022-08-02 15:30:46 +00:00
terencechain
7fd2c08be3
Propagate FCU invalid error ( #10997 )
...
* Wrap fcu error
* Wrap fcu error
* Wrap error better
* More test
* Add else
* Potuz feedback
* Propagate the correct root for fcu
* Always return true for invalid
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-07-09 20:51:03 +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
Potuz
f8b4d8c57a
Deprecate store in blockchain pkg ( #10903 )
...
* Deprecate store WIP
* fix spectests build
* mock right interface
* sync tests build
* more tests builds
* blockchain tests
- TestFinalizedCheckpt_GenesisRootOk
- TestCurrentJustifiedCheckpt_CanRetrieve
- TestJustifiedCheckpt_GenesisRootOk
- TestHeadRoot_CanRetrieve
- TestHeadRoot_UseDB
- TestService_ProcessAttestationsAndUpdateHead
- TestService_VerifyWeakSubjectivityRoot
- TestVerifyFinalizedConsistency_InconsistentRoot_ProtoArray
- TestVerifyFinalizedConsistency_InconsistentRoot_DoublyLinkedTree
- TestVerifyFinalizedConsistency_Ok
- TestStore_OnBlock_ProtoArray
- TestStore_OnBlock_DoublyLinkedTree
- TestStore_OnBlockBatch_ProtoArray
- TestStore_OnBlockBatch_DoublyLinkedTree
- TestStore_OnBlockBatch_NotifyNewPayload
- TestCachedPreState_CanGetFromStateSummary_ProtoArray
- TestCachedPreState_CanGetFromStateSummary_DoublyLinkedTree
* more blockchain tests
- TestStore_OnBlockBatch_PruneOK_Protoarray
- TestFillForkChoiceMissingBlocks_CanSave_ProtoArray
- TestFillForkChoiceMissingBlocks_CanSave_DoublyLinkedTree
- TestFillForkChoiceMissingBlocks_RootsMatch_Protoarray
- TestFillForkChoiceMissingBlocks_RootsMatch_DoublyLinkedTree
- TestFillForkChoiceMissingBlocks_FilterFinalized_ProtoArray
- TestFillForkChoiceMissingBlocks_FilterFinalized_DoublyLinkedTree
- TestVerifyBlkDescendant
- Test_verifyBlkFinalizedSlot_invalidBlock
- TestChainService_SaveHeadNoDB
* update best justified from genesis
* deal with nil head on saveHead
* initialize prev justified checkpoint
* update finalization correctly
* update finalization logic
* update finalization logic
* track the wall clock on forkchoice spectests
* export copies of checkpoints from blockchain package
* do not use forkchoice's head on HeadRoot
* Remove debug remain
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* terence's review
* add forkchoice types deps
* wtf
* debugging
* init-sync: update justified and finalized checkpoints on db
* call updateFinalized instead of only DB
* remove debug symbols
* safe copy headroot
Co-authored-by: terencechain <terence@prysmaticlabs.com>
2022-06-25 03:57:52 +00:00
terencechain
a58809597e
Sync: don't process pending blocks w/o genesis time ( #10750 )
...
* Sync: don't process pending blocks w/o genesis time
* Update pending_blocks_queue.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2022-06-10 05:02:47 +00:00
Raul Jordan
244e670b71
Move BeaconBlockNil Checker Function to Consensus-Types/Wrapper Package ( #10731 )
...
* beacon block is nil wrapper
* gaz
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-05-20 23:29:16 +00:00
terencechain
370cf1a6c8
Chain info: Return err if checkpoint is nil ( #10729 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-05-20 18:41:33 +00:00
terencechain
addb3cd665
More selective on marking block as bad ( #10681 )
...
* Starting, looking for feedbacks
* Update error.go
* Wrap invalid blocks to rest of the processings
* More tests
* More tests
* Fix tests
* Update process_block_test.go
* Update execution_engine_test.go
* Update BUILD.bazel
* Nishant's feedback and Kasey's recommendation
* Add comments on what an invalid block is
* Update beacon-chain/blockchain/error.go
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
* Update beacon-chain/blockchain/error.go
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
* Rm faulty invalid conditions
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-05-20 17:05:39 +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
terence tsao
7003d97061
Don't mark block as bad with unknown ee error ( #10556 )
...
* Don't mark block as bad with unknown ee error
* Some tests
* Comments
* Comments
2022-04-25 18:41:35 +00:00
terence tsao
7d669f23ab
Sync: process pending block with optimistic parent ( #10480 )
2022-04-04 18:46:05 -07:00
Raul Jordan
edb98cf499
Move Engine API to Powchain and Consolidate Connection Management ( #10438 )
...
* gazelle
* tests passing
* use the same engine client
* pass
* initialize in right place
* erge
* build
* imports
* ensure engine checks work
* pass powchain tests
* powchain tests pass
* deepsource
* fix up node issues
* gaz
* endpoint use
* baz
* b
* conf
* lint
* gaz
* move to start function
* test pass
2022-04-01 14:04:24 -04:00
terence tsao
7cdc741b2f
Sync: don't set block to bad due to timeout ( #10470 )
...
* Add filter error and tests
* Update BUILD.bazel
* Kasey's feedback
2022-03-31 23:29:27 +00:00
Preston Van Loon
c1197d7881
Add static analysis for unsafe uint casting ( #10318 )
...
* Add static analysis for unsafe uint casting
* Fix violations of uintcast
* go mod tidy
* Add exclusion to nogo for darwin build
* Add test for math.Int
* Move some things to const so they are assured not to exceed int64
* Self review
* lint
* fix tests
* fix test
* Add init check for non 64 bit OS
* Move new deps from WORKSPACE to deps.bzl
* fix bazel build for go analysis runs
* Update BUILD.bazel
Remove TODO
* add math.AddInt method
* Add new test casts
* Add case where builtin functions and declared functions are covered
* Fix new findings
* cleanup
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
2022-03-11 09:34:30 +00:00
Nishant Das
339540274b
Integration of Vectorized Sha256 In Prysm ( #10166 )
...
* add changes
* fix for vectorize
* fix bug
* add new bench
* use new algorithms
* add latest updates
* save progress
* hack even more
* add more changes
* change library
* go mod
* fix deps
* fix dumb bug
* add flag and remove redundant code
* clean up better
* remove those ones
* clean up benches
* clean up benches
* cleanup
* gaz
* revert change
* potuz's review
* potuz's review
* potuz's review
* gaz
* potuz's review
* remove cyclical import
* revert ide changes
* potuz's review
* return
2022-02-28 21:56:12 +08:00
Nishant Das
1c4ea75a18
Prevent Reprocessing of a Block From Our Pending Queue ( #9904 )
...
* fix bugs
* test
* raul's review
2021-11-17 10:05:50 -05:00
Raul Jordan
233171d17c
[Service Config Revamp] - Sync Service With Functional Options ( #9859 )
...
* sync config refactor
* rem
* rem
* testing
* gaz
* next
* fuzz
* build
* fuzz
* rev
* log
* cfg
2021-11-05 19:08:58 +00:00
terence tsao
712cc18ee0
Use BeaconBlockIsNil
helper more ( #9834 )
...
* Replace manual checks with helper
* Rename to `BeaconBlockIsNil`
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2021-11-01 14:13:05 +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