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
0eff83cb9d
Use a cache of one entry to build attestation ( #13300 )
...
* Use a cache of one entry to build attestation
* Gazelle
* Enforce on RPC side
* Rm unused var
* Potuz feedback, dont use pointer
* Fix tests
* Init fetcher
* Add in-progress
* Add back missing lock
* Potuz feedback
* Update beacon-chain/rpc/prysm/v1alpha1/validator/attester_test.go
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
---------
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
2023-12-18 16:12:43 +00:00
kasey
1123df7432
Verified roblobs ( #13190 )
...
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2023-11-21 18:44:38 +00:00
Radosław Kapka
d1dd8471a3
Debug HTTP endpoints ( #13164 )
...
* Debug HTTP endpoints
* register endpoints
* tests
* small fixes
* config test fix
2023-11-03 15:33:46 +00:00
Terence
57eda1de63
Add RO blob sidecar ( #13144 )
2023-11-01 10:03:49 -07:00
terencechain
cb5ce74a23
Add pending blobs queue for missing parent block ( #13005 )
...
* Add pending blobs queue for missing parent block
* Prune sidecars older than previous slot
* Prune sidecar based on time
* Tests
* Fix state notifier
* Wait for chain to start
* Remove logs
* Remove bad logs
* James feedback
* Fix conflict
* Rm outdated check
* Potuz's feedback
* Kasey's feedback
* Use 11s mark
* Use secs
* Add pending blobs queue for missing parent block
* Prune sidecars older than previous slot
* Prune sidecar based on time
* Tests
* Fix state notifier
* Wait for chain to start
* Remove logs
* Remove bad logs
* James feedback
* Fix conflict
* Rm outdated check
* Potuz's feedback
* Kasey's feedback
* Use 11s mark
* Use secs
* Add test case for duplicates
* Radek's feedback
* Fix test
2023-10-17 14:42:15 +00:00
Potuz
b4e72f1e19
Deneb spectests release v1.4.0-beta.2-hotfix ( #12959 )
...
* Update and use max per epoch churn limit
* Update spec tests
* Fix e2e test
* deneb fork epoch condition
* Fix lint and better casting
* fix ordering
* fix check
* gaz
* Fix more tests
* Apply proposer boost to first block in equivocation
* Increase timeout
* Don't increase timeout, it's not the reason
* implement deneb forkchoice spectests
expose ReceiveBlob from the blockchain package
* spin_off_helper
* remove minimal tests
* Terence's review
* Add process register test for Deneb
* Terence's suggestion
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* fix forkchoice minimal
* fix minimal sha
* general sha
* different repos
* different repos
---------
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
2023-09-28 21:05:23 +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
Potuz
3a1b4a19c2
Blob channel ( #12753 )
...
* Add a new blob channel
* fix mock
* reset the channel
* keep a map of channels
* gazelle
* do not overwrite map
* remove pre-declaration
2023-08-31 08:41:57 -05:00
kasey
3476112d63
sync blobs in initial-sync ( #12522 )
2023-08-31 08:41:57 -05:00
terencechain
e3ac8b7745
Add Blob Gossip ( #12413 )
2023-08-31 08:41:57 -05:00
terencechain
ba9bbdd6b9
Style: minor cleanups to blockchain pkg ( #12640 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2023-07-20 10:17:35 +00:00
Potuz
b9917807d8
Ignore some untimely attestations ( #12387 )
...
* Ignore some untimely attestations
* correct child slot check
* consider tips as viable for checkpoints
* deal with canonical blocks
* forkchoice unit tests
* blockchain readonly beacon state
* Ignore some untimely attestations
* correct child slot check
* consider tips as viable for checkpoints
* deal with canonical blocks
* forkchoice unit tests
* blockchain readonly beacon state
* Fix AttestationTargetState mock
* Fix ineffectual assignment lint
* Fix blockchain tests
* Fix build
* Add Nil check
* add comment on lock
---------
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com>
2023-05-12 16:55:33 +00:00
Potuz
300a827027
Use same signature for unrealized justified hash and justified hash ( #12314 )
...
* Use same signature for unrealized justified hash and justified hash
* fix build
2023-04-20 15:59:12 +00:00
terencechain
17488028a6
Use justified hash as safe block hash when passing attribute ( #12196 )
...
* With attribute, use justified hash as safe block hash
* Use UnrealizedJustifiedPayloadBlockHash
* Cleanups
* Add test to forkchoice
* Block proposal
* Fix mock
* Fix test
* Fix rest of the tests
* Potuz feedback
* Fix test
* Use unrealized justified hash for regular fcu
2023-03-29 23:38:36 +00:00
Potuz
797cc360c7
Isolate forkchoice to blockchain package ( #12174 )
...
* Isolate Forkchoice to blockchain package
* Nishant's feedback
* Terence's feedback
* Nishant saving the day
2023-03-22 09:12:54 +08:00
Radosław Kapka
0cb46eb29a
Do not HTR the state when checking for optimistic mode ( #12143 )
...
* initial impl
* review feedback
* fix tests
* review feedback
* some improvements
* tests and small improvements
* gzl
* one more review
* fix test
* fix other test
* get the roots instead of hashing them
* fix comment
* fix justified case
* fix all tests
* misc
* gzl
* fix broken tests
* use isOptimisticForRoot once we have the blockroot
* Fix is_not_finalized_when_head_is_optimistic but reviewing the logic first
* Fix is_not_finalized_when_head_is_optimistic
* better root tests
* move optimistic check before parsing root
* check for last validated checkpoint
* add right check for finalized
* fix finalized tests
* removed impossible condition
* fix TestGetSyncCommitteeDuties
* Use Ancestor from chaininfo
* fix test
---------
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: rauljordan <raul@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2023-03-20 17:04:40 -03:00
Potuz
3536669a70
lock forkchoice on calls to Ancestor ( #12162 )
...
Co-authored-by: terencechain <terence@prysmaticlabs.com>
2023-03-20 15:51:42 -03: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
Potuz
93514de00f
Proposer head v5 ( #12075 )
...
* Use ShouldOverrideFCU in regular sync
* fix build
* fix tests
* add feature flag gate in updatehead
* fix rpc tests
* fix grcp tests
* deepsource
* add locks and reuse isNewProposer
* flip flag
* Fix ticker for late blocks
* implement get_proposer_head in GetBeaconBlock
* fix unit tests
2023-03-04 20:19:23 -03:00
Potuz
ec13d52f03
Remove VerifyFinalizedBlkDescendant ( #12046 )
...
* Use forkchoice HasNode to check if a block is consistent with finality
* interface fix
* fix tests
* remove VerifyFinalizedBlkDescendant
* fix validateBeaconBlock
2023-02-25 13:39:13 -03:00
Potuz
ae76240f83
Use forkchoice HasNode to check if a block is consistent with finality ( #12040 )
...
* Use forkchoice HasNode to check if a block is consistent with finality
* interface fix
* fix tests
2023-02-23 21:21:34 +00:00
terencechain
d4f3257f60
Rename block interfaces ( #11975 )
2023-02-09 10:23:32 +01:00
Nishant Das
3f67818a65
Utilize Read Only Head State ( #11932 )
2023-01-31 10:41:53 -08: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
885dd2e327
Revert "More efficient way of computing skip slot cache key ( #11441 )" ( #11535 )
...
This reverts commit 0f0d480dbc
.
2022-10-04 14:13:11 +08:00
terencechain
0f0d480dbc
More efficient way of computing skip slot cache key ( #11441 )
...
* More efficient way of computing skip slot cache key
* Gazelle
* Add defensive check
* Fix test setup
* Disable skip slot cache
* Fix rpc tests for dependent root
2022-10-03 13:53:17 -04: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
Nishant Das
9261da7fb1
Update E2E ( #11140 )
...
* save progress
* tidy
* Update go.yml
* make CI happy
* gosec
* revert back
* Update go.yml
* change go version
* remove fixed test case
* fix ci
* fix updates
* fix up
* fix race tests
* fix bad mock
* lock it
* fix it
* fix e2e builds
* use gotags
* Revert "use gotags"
This reverts commit 808863f427399723a3e7e2b70bcc4771d108e8e6.
* Revert "fix e2e builds"
This reverts commit eb351e7d319b13fea2642271390e1f2863fc6d72.
* Revert "fix it"
This reverts commit 9e99dac94f68538e0cd3f8958b7f10f1fe433b26.
* Revert "lock it"
This reverts commit 1a3c60ad41b76c651af2d64edff2eaf864ad64ec.
* different approach
* better
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
2022-08-05 13:01:47 +00:00
terencechain
af4d0c84c8
Check finalized beyond DB ( #10978 )
...
* Check finalized beyond DB
* Unhandle error
* Remove debug log
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
2022-07-02 16:31:05 -03: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
Radosław Kapka
578fea73d7
API's IsOptimistic
- update header.StateRoot
only when block is not missing ( #10852 )
...
* bug fix
* tests
* comment
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-06-09 19:35:35 +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
092e9e1d19
Clean up various warnings ( #10710 )
...
* Clean up various warnings
* Update beacon-chain/rpc/prysm/v1alpha1/debug/state_test.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Fix redundant casting genState
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
2022-05-19 04:38:04 +00:00
terencechain
bbdf19cfd0
Process atts and update head before proposing ( #10653 )
...
* Process atts and updeate head
* Fix ctx
* New test and old tests
* Update validator_test.go
* Update validator_test.go
* Update service.go
* Rename to UpdateHead
* Update receive_attestation.go
* Update receive_attestation.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-05-09 23:12:50 +00:00
terencechain
122c3f44cc
Insert over-the-wire slashing to forkchoice ( #10615 )
...
* remove equivocating votes from forkchoice
* shutup deepsource
* Add insertSlashingsToForkChoiceStore
* Fix equality checks, add tests
* Update process_block.go
* Fix equality check for doublylinked
* More checks
* Rm err return
* Consider slashings over the wire
* Update new_slot_test.go
* Fix spec tests
* Add ReceiveAttesterSlashing
* Update mock.go
* Revert spec test changes
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
2022-05-07 15:56:34 +00:00
terencechain
03ae8672b6
Refactor and use has_block getter ( #10592 )
...
* Refactor and use has block getter
* Update blocks_fetcher_utils.go
* Fix tests
* Fix tests
* Fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-05-04 00:17:40 +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
2060f876b1
Code cleanup in blockchain
module ( #10566 )
...
* Code cleanup in `blockchain` module
* revert comment fix
* remove test
* forkchoice test fix
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-04-28 11:34:25 +00: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
terence tsao
fe98d69c0a
Clean up blockchain pkg ( #10452 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-03-30 17:45:24 +00:00
Potuz
57a323f083
Forkchoice featureflag ( #10299 )
...
* Compiling main beacon-chain binary
* Add feature flag
* passing protoarray tests
* passing nodetree tests
* passing blockchain package tests
* passing rpc tests
* go fmt
* re-export forkchoice store from blockchain package
* remove duplicated import
* remove unused var
* add nodetree rpc method
* remove slot from IsOptimisticForRoot
* release lock in IsOptimistic
* change package name
* Revert "change package name"
This reverts commit 679112f9ef795922c631e7823dbdfb3746838f3c.
* rename package
* Update doc
* Fix span names
* Terence + Raul review
* remove go:build flags
* add errors dep
* spec tests
* fix call to IsOptimisticForRoot
* fix test
* Fix conflict
* change name of function
* remove ctx from store.head
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2022-03-09 03:05:51 +00:00
Mohamed Zahoor
b516cfd998
cherry picked PR of #10233 ( #10301 )
...
* fix merge conflicts
* fix more merge conflicts
* fix fmt
* remove unnecessary cfg
* setting bad block if the bellatrix validation fails
* added an edge condition
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-03-07 13:19:07 +00:00
terence tsao
7719356b69
Add opt sync bool to IsOptimistic
( #10270 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-02-22 16:46:42 +00:00
Radosław Kapka
c5c039fd6b
Unify GenesisValidator(s)Root
throughout the codebase ( #10230 )
...
* Unify `GenesisValidator(s)Root` throughout the codebase
* comments and literals
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2022-02-14 13:34:38 +00:00
Mohamed Zahoor
f89265f2f7
Adding a new method in HeaderFetcher ( #10212 )
...
* Is optimisyic for root
* add the function in mock chainservice also
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-02-09 20:21:15 +00:00