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
Radosław Kapka
8455656597
Use beacon state interfaces instead of concrete structs ( #10195 )
...
* return interface from testing/util
* remove usages of v1
* return interface from InitializeFromProto
* return interface from InitializeFromProto
* fix test
* fix interface visibility
* more fixes
* use InitializeFromProtoUnsafe in testing/util
* return early error from mock
* v2
* fix tests
* remove unnecessary assertion
* use struct in nil state test
* Revert "Auxiliary commit to revert individual files from 6bb528c2c5df2446ad18450009f63f44318d41a9"
This reverts commit 7d70238a301209f6dbfc8ff1d81b16e33b0bd67d.
* use struct in sync committee test
* v3
* use InitializeFromProtoUnsafe in mock
* use version information
* Revert "Auxiliary commit to revert individual files from 6bb528c2c5df2446ad18450009f63f44318d41a9"
This reverts commit 5d5e6f2884d21caec7530c16ad2a0d0d27c44aa1.
* revert changes to ClearPreGenesisData
* fix build error
* remove error from PreGenesisState
* bzl
2022-02-08 09:30:06 +00:00
terence tsao
3a5cfab5f2
Add IsOptimistic
chain info getter ( #10184 )
...
* Add chain info getter
* Interface
* Test
* Update mock.go
* Go fmt
* Update beacon-chain/blockchain/testing/mock.go
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
2022-02-03 21:30:07 +00:00
Preston Van Loon
7df01feb58
Remove libfuzzer / afl based builds in favor of go 1.18 fuzz testing ( #10065 )
...
* Remove libfuzzer / afl based builds in favor of go 1.18 fuzz testing
* rm beacon-fuzz archive
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-01-20 04:51:02 +00:00
Nishant Das
49c73e65a1
make it better ( #10101 )
2022-01-20 10:37:27 +08:00
terence tsao
c69bce5d84
Use fieldparams for BLS public key ( #10042 )
...
* Use fieldparams for pubkey length
* Fix validator tests
* fix more tests
* fix mock validator
* Fix typo
* bunch of typos
* Update bytes.go
* Update BUILD.bazel
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-01-06 17:33:08 +00: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
Raul Jordan
9edba29f64
Slasher Simulator Code for Testing Optimized Slasher Behavior ( #9695 )
...
* slashing simulator
* add in necessary items for slasher sim
* sim item
* fix up
* fixed build
* rev
* slasher sim in testing
* testonly
* gaz
* gaz
* fix viz
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: prestonvanloon <preston@prysmaticlabs.com>
2021-09-29 02:27:21 +00:00
Raul Jordan
6d79f61fda
Process Slashings for Newly Optimized Slasher ( #9687 )
...
* add process slashings
* verify sig
* add method
* add test
* add in process slashings functionality
* target state for aggregate
* comment
* Radek comments
2021-09-28 10:27:40 -05:00
terence tsao
376d248c22
Add in progress handler to committee cache ( #9664 )
...
* Add in progress handler for committee cache
* Remove debug print
* Update validators.go
* Fix all the tests
* More tests
* Update committee_disabled.go
* Update committee_disabled.go
* Update testing util
* Update main.go
Co-authored-by: Nishant Das <nishdas93@gmail.com>
2021-09-26 23:27:57 +08:00
Raul Jordan
29513c804c
Create Encoding Bytesutil ( #9658 )
...
* bytesutil
* gaz
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2021-09-23 15:23:37 +00:00
Nishant Das
d694a775d7
Check For Blocks In Our Initial Sync Cache ( #9558 )
...
* add change
* test
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2021-09-23 05:18:19 +00:00
Raul Jordan
f3d6dbcc1e
Move Shared/Params Into Config/Params ( #9642 )
...
* config params into pkg
* gaz
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2021-09-21 19:59:25 +00:00
deepsource-autofix[bot]
531f05d30d
Unused parameter should be replaced by underscore ( #9632 )
...
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2021-09-20 20:51:59 +00:00