terence
16b567f6af
Add log capitalization analyzer and apply changes ( #15452 )
...
* Add log capitalization analyzer and apply fixes across codebase
Implements a new nogo analyzer to enforce proper log message capitalization and applies the fixes to all affected log statements throughout the beacon chain, validator, and supporting components.
Co-Authored-By: Claude <noreply@anthropic.com >
* Radek's feedback
---------
Co-authored-by: Claude <noreply@anthropic.com >
2025-07-10 13:43:38 +00:00
terence
774b9a7159
Migrate Prysm repo to Offchain Labs organization ahead of Pectra V6 ( #15140 )
...
* Migrate Prysm repo to Offchain Labs organization ahead of Pectra upgrade v6
* Replace prysmaticlabs with OffchainLabs on general markdowns
* Update mock
* Gazelle and add mock.go to excluded generated mock file
2025-04-10 15:40:39 +00:00
Potuz
92cf0bc0ab
Use forkchoice dependent root helper ( #15137 )
2025-04-07 18:02:27 +00:00
Radosław Kapka
8e2c9313e9
Save orphaned Electra attestations properly ( #15060 )
...
* Deal with block attestations post_electra
* changelog <3
* Revert "Deal with block attestations post_electra"
This reverts commit 3d9a40a5a8369e863c37cebec0a53f4bbcf79fe2.
2025-03-21 12:54:19 +00:00
Radosław Kapka
d04b361cc3
Redesign of the attestation pool ( #14324 )
...
* Rename existing AttestationCache
* Cache with simple Add
* fix import cycle
* logic for unaggregated, aggregated and block attestations
* some small fixes
* remove Seen
* finishing touches
* feature flag
* extract forkchoice atts to separate type
* gate new functionality behind feature flag
* revert test files
* preparing for review
* change Id to [32]byte
* Potuz's review
* Potuz's review pt 2
* Nishant's review
* keep flat list of atts
* fix ForkchoiceAttestations() function
* Tests for Add, GetAll, Count
* Tests for remaining functions
* use DeepEqual
* fix tests
* documentation
* changelog <3
* v2 handlers
* nil check for forkchoice atts
* guard against 0 bits set
* fix failing test
* Preston's review
* better godocs
2024-12-23 09:59:32 +00:00
Nishant Das
2f42f7e313
Add a Tracing Wrapper Package ( #14207 )
...
* Adds a wrapper package
* Gazelle
* Add in Empty Span
* Revert It Back
* Add back reference
* Set It As Empty
* fix missing import
* remove redundant alias
* remove unused
---------
Co-authored-by: Sammy Rosso <15244892+saolyn@users.noreply.github.com >
Co-authored-by: Saolyn <sammy@rosso.red >
2024-08-27 20:00:53 +00:00
Radosław Kapka
2c5a2e8ec7
Electra attestation interfaces ( #13937 )
...
* config values
* block protos
* get_committee_indices
* proto and ssz
* attestation interface
* Revert "Auxiliary commit to revert individual files from deadb2183723511721b3288c7168808a4fa97c64"
This reverts commit 32ad5009537bc5ec0e6caf9f52143d380d00be85.
* todos
* get_attesting_indices
* Revert "Auxiliary commit to revert individual files from dd2789723f90b15eb1f874b561d88d11dcc9c0bf"
This reverts commit f39644ed3cb6f3964fc6c86fdf4bd5de2a9668c8.
* beacon spec changes
* Fix pending attestation. Build ok
* Electra: add electra version
* Electra: consensus types
* gocognit exclusion
* @potuz's suggestion
* build fix
* interfaces for indexed att and slashing
* indexed att usage
* BuildSignedBeaconBlockFromExecutionPayload
* slashing usage
* grpc stubs
* remove unused methods
* Electra attestation interfaces
* cleanup
* tests
* make linter happy
* simple casting
* test fixes
* Fix spectest failures
* Regen pb and ssz files
* Handle "not ok" type assertion cases
* Setters that check version should always return an error. SetAttesterSlashings and SetAttestations
* gofmt
* Fix TestMinSpanChunksSlice_CheckSlashable
---------
Co-authored-by: terence tsao <terence@prysmaticlabs.com >
Co-authored-by: Preston Van Loon <preston@pvl.dev >
2024-04-30 21:29:38 +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
Preston Van Loon
db096488b0
fixing sa4006 ( #13350 )
2023-12-15 16:49:27 +00:00
Potuz
418959565f
set optimistic status in head at init sync ( #12748 )
2023-08-16 00:47:56 +00:00
Potuz
57f97feb84
Track optimistic status on head ( #12552 )
2023-06-20 08:59:48 -07:00
Justin Traglia
9f7711e74a
Enable misspell linter & fix findings ( #12272 )
...
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2023-04-14 10:03:11 +00:00
Potuz
5fdd4e9148
Add prepare-all-payloads flag ( #12260 )
...
* Add prepare-all-payloads flag
* add unit tests
* do not use the nsc
---------
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2023-04-13 14:47:13 +00:00
terencechain
0325741318
Add orphaned operations to the appropriate pools in saveOrphanedOps() and mark included slashings in prunePostBlockOperationPools(). ( #12249 )
...
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com >
2023-04-06 16:26:01 -05: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
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
0a87210514
Forkchoice external locks v2 ( #12036 )
...
* write locks
* fix forkchoice tests
* blockchain locks
* lock on IsOptimistic
* use forkchoice instead of chaininfo within savehead
* Use forkchoice HasNode to check if a block is consistent with finality
* interface fix
* Use forkchoice HasNode to check if a block is consistent with finality
* interface fix
* fix tests
* remove VerifyFinalizedBlkDescendant
* don't write lock wrappers
* fix validateBeaconBlock
* Terence's review and more missing locks
* add lock for InForkChoice
* lock head on fillMissingBlockPayload
* fix lock on IsOptimisticForRoot
* fix lock in fillMissingBlockPayloadId
* extra comments
* lock proposerBoost on spectests
* nishant's review
---------
Co-authored-by: Nishant Das <nishdas93@gmail.com >
2023-03-02 09:10:52 -03:00
Potuz
c7f0a94b19
Remove state balance cache ( #11964 )
...
* Remove state balance cache
* remove unused metrics
* add missing balance update
* add comment about locks
* update balance only when updataing the justified checkpoint on unrealization
* update checkpoint balances at launch
* fix unit tests
* fix remaining test
* review
* fix build file
* fix test
---------
Co-authored-by: terencechain <terence@prysmaticlabs.com >
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2023-02-15 14:19:46 +00:00
terencechain
d4f3257f60
Rename block interfaces ( #11975 )
2023-02-09 10:23:32 +01:00
terencechain
c070283bf1
Call FCU with attribute on non head block ( #11919 )
...
* Call FCU with attribute on non head block
* Fix condition
* Filer save head
* Refactor
* Rm
* Add tests
* Fix race test
* Potuz feedback
* Reorder r != currentHeadRoot
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2023-01-31 19:17:16 +00: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
Potuz
66b6177ed3
Log forkchoice weights on reorgs ( #11849 )
2023-01-05 20:06:40 -03:00
Potuz
ff82d9ee8c
Add back BLS changes from orphaned blocks ( #11822 )
...
* Add back BLS changes from orphaned blocks
* Add full test
* add missing file
* remove duplicate imports
* Update beacon-chain/blockchain/head.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terencechain <terence@prysmaticlabs.com >
2023-01-01 18:22:01 +00:00
terencechain
b6060d5a49
Track head slot through head block ( #11833 )
...
* Track head slot through head block
* Update beacon-chain/blockchain/head.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com >
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com >
2022-12-29 22:23:56 +00:00
Radosław Kapka
41e95cb274
Release headLock on error ( #11412 )
...
Co-authored-by: terencechain <terence@prysmaticlabs.com >
2022-09-14 11:44:38 +02:00
terencechain
53627e9709
Metrics: capture reorg distances and depths ( #11435 )
...
* Capture reorg distance and depths
* Use historgrams instead of gauges
* Fix build
* Edit help texts
2022-09-12 15:06:52 +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
Potuz
52271cf0ba
Report depth and distance on reorgs ( #11315 )
...
* Report depth and distance on reorgs
* rename to CommonAncestor
* change event feed
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-08-25 23:59:08 +00:00
terencechain
3b38765a2d
Better re-org log ( #11253 )
...
* Better re-org log
* Dont' return err
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-08-18 16:53:17 +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
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 ecc84e4553 .
* 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
Preston Van Loon
5722a5793c
Tracing: properly overwrite context so that spans can be correctly attributed ( #11012 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-07-14 17:00:33 +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
b7463d0070
Ignore nil node when saving orphaned atts ( #10930 )
...
* Ignore nil node when saving orphaned atts
* Just use ErrUnknownCommonAncestor
2022-06-24 18:07:31 +00:00
Potuz
e439f4aff6
Forkchoice duplicate store ( #10840 )
...
* forkchoice tests
* blockchain tests
* no fatal errors
* use ZeroHash for genesis
* deal with zerohashes at genesis
* avoid nil best justified checkpoint on new store
* unit tests
* Debug log
Co-authored-by: terencechain <terence@prysmaticlabs.com >
* Terence's review
* update capitalization
Co-authored-by: terencechain <terence@prysmaticlabs.com >
* update capitalization
Co-authored-by: terencechain <terence@prysmaticlabs.com >
* update capitalization
Co-authored-by: terencechain <terence@prysmaticlabs.com >
* update capitalization
Co-authored-by: terencechain <terence@prysmaticlabs.com >
Co-authored-by: terencechain <terence@prysmaticlabs.com >
2022-06-16 18:21:40 +00:00
Potuz
18fc17c903
Forkchoice checkpoints ( #10823 )
...
* double_tree_changes
* protoarray changes
* beacon-chain changes
* spec tests and debug rpc fixes
* more conflicts
* more conflicts
* Terence's review
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-06-09 22:28:30 +00:00
Potuz
2536195be0
Change forkchoice API ( #10774 )
...
* Change forkchoice API
doubly-linked-tree changes
* protoarray changes
* blockchain tests
* rebase and fix conflicts
* More blockchain fixes
* blockchain test fixes
* doubly linked tree changes again
* protoarray changes v2
* blockchain packages v2
* Radek's review
* Fix on batch processing
* Terence's review
* fill in at start
* Revert "fill in at start"
This reverts commit 8c11db063a .
* wrap error message
* fill in before mutating the state
* wrap nil node errors
* handle unknown optimistic status on init sync
* rename insert function
* prune on batches only after forkchoice insertion
Co-authored-by: terencechain <terence@prysmaticlabs.com >
2022-06-05 17:48:21 +00:00
terencechain
364ad3fbda
Reinsert reorg atts ( #10767 )
...
* Add common ancestor root for protoarray
* More efficient algo
* Tests
* Fix linting
* Fix linting
* Fix linting
* Fix linting
* Fix linting
* Fix linting
* Apply suggestions from code review
Co-authored-by: Potuz <potuz@prysmaticlabs.com >
* Feedbacks
* Revert saveHead changes
* Revert "Revert saveHead changes"
This reverts commit a15fddc2e6 .
* Fix rest of the tests
* Update beacon-chain/blockchain/head.go
Co-authored-by: Potuz <potuz@prysmaticlabs.com >
Co-authored-by: Potuz <potuz@prysmaticlabs.com >
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-05-29 19:32:42 +00:00
David
adabd1fa4f
service.head race condition fix ( #10741 )
...
* added various read mutex locks for service.head
* added RLocks around all calls to s.headRoot()
* added RLocks around all calls to s.headBlock()
* reduce lock surface-> Stop(),handleEpochBoundary()
* refactor Stop() to +performance, -lock_surface
* Apply suggestions from code review
Co-authored-by: terencechain <terence@prysmaticlabs.com >
* fixed indentation
Co-authored-by: terencechain <terence@prysmaticlabs.com >
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com >
Co-authored-by: Radosław Kapka <rkapka@wp.pl >
2022-05-27 14:24:43 +00:00
Potuz
237807b248
Do not update forkchoice checkpoints on calls to Head ( #10702 )
...
* Only update forkchoice checkpoints at epoch transition
* gazelle
* blockchain package changes
* fix node
* spectest package
* rpc package
* fix spec test
* Fix spectests
* fix new_slot.test
* gaz
* fix spectests
* fix conflicts
* Update beacon-chain/blockchain/process_block.go
* regression do not update on newSlot
* revert bd64cab
* terence's review
* fix conflicts
* fix latest conflicts
* gaz
* go mod tidy
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-05-22 18:37:01 +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
a90335b15e
Blockchain: Use get_block to retrieve block ( #10688 )
...
* Use get block
* Remove unused errNilParentInDB
* Fix TestVerifyBlkDescendant
* Update beacon-chain/blockchain/service.go
Co-authored-by: Potuz <potuz@prysmaticlabs.com >
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Potuz <potuz@prysmaticlabs.com >
2022-05-15 02:23:01 +00:00
Nishant Das
f9b4a340a3
Graduate Orphaned Attestation Insertion Feature ( #10622 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-05-04 13:59:41 +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
0411b7eceb
Payload ID caching ( #10481 )
2022-04-06 16:36:52 -07:00
terence tsao
bdab34fd01
Use correct head for notifyForkchoiceUpdate ( #10485 )
...
* Use correct head for notifyForkchoiceUpdate
* Fix existing tests
* Update receive_attestation_test.go
2022-04-06 19:05:53 +08:00