terencechain
08d6eccfb3
Change native execution value to Gwei Uint64 ( #12291 )
...
* Default value to uint64
* Fix spectest
* Fix tests
* Fix tests
* Fix tests
* Fix test
* Fix test
* Fix build
* Potuz feedback
* Add test
* Fix test
* Fix test
2023-04-22 00:44:28 +00:00
Justin Traglia
8428a79971
Enable whitespace linter & fix findings ( #12273 )
...
* Enable whitespace linter & fix findings
* Fix new finding
* fix new violation
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com>
2023-04-18 18:58:27 +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
terencechain
79da486508
Add locks to forkchoice spec tests ( #12165 )
...
* Add locks to forkchoice spec testS
* Fix
* Rm forkchoice store getter
* Rm useless lock
2023-03-21 18:39:40 +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
Potuz
99997fa2e3
forkchoice changes ( #12126 )
...
* forkchoice changes
* gazelle
* remove best justified from forkchoice dump
* keep protobufs and update comment
* remove phase0 tests
* bumb spectests version
* missing sha
* Fix sha256 for spec
* rpc tests
* Mark field 3 as reserved so it will never be used it again
---------
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
2023-03-16 14:27:30 -03: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
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
Radosław Kapka
e92b546a36
Return proposer reward from ProcessSyncAggregate
( #12047 )
2023-02-27 19:04:23 +01:00
terencechain
a6dd561b9d
Process blind withdrawals ( #11995 )
...
* Update head before block proposal
* fix e2e runs
* Can process blind withdrwals
* Rm bad change
* Should be in process payload header
* Version check
* Compare roots
* Typo
* Remove redundant checks
* Add tests
* Rm errors
---------
Co-authored-by: nisdas <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2023-02-17 15:49:30 +08: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
Potuz
047cae5e8b
Sign BLS_TO_EXECUTION_CHANGES with GENESIS_FORK_VERSION ( #11870 )
...
* Sign BLS_TO_EXECUTION_CHANGES with GENESIS_FORK_VERSION
* update spectests
* extra blank line
* fix consensus_specs_sha
* get rid of LightClients tests
* fix unit tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2023-01-16 14:29:33 +00:00
terencechain
7fa3ebfaa8
Add historical summaries to state and processing ( #11842 )
...
* Add historical summaries to state and processing
* Process historical roots test
* Passing spec tests
* Fix shas and tests
* Fix mainnet spectest sha
* Fix tests
* Update beacon-chain/core/epoch/epoch_processing.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/core/epoch/epoch_processing_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update proto/prysm/v1alpha1/beacon_state.proto
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/state/state-native/hasher.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Radek's feedback
* Getters error
* Dont return
* Fix else
* Fix tests
* Fix test
* Rm white space
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
2023-01-11 22:20:15 +00:00
Potuz
856102cba8
Implement bound on expected withdrawals ( #11760 )
...
* Implement bound on expected withdrawals
This PR implements https://github.com/ethereum/consensus-specs/pull/3095
* Terence's suggestion
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* Update spectests
* fix minimal preset
* Clear committee cache during header tests to ensure active validators ain't leaking
* Rm debug log
* Rm bad init
* Update consensus spec sha
* Fix bad tests and remove redundant casting
* Fix build
* MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP typo
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-12-16 06:45:26 +00:00
terencechain
295cc5e4f0
Engine API: new/get_payload for Capella ( #11775 )
...
* Engine API: new/get_payload for Capella
* Fix build
* Use switch for payload type check
* Fix bad tests
* Rm redundant arg
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-12-16 00:25:22 +00:00
Patrice Vignola
fa01ee5eba
Add REST implementation for Validator's ProposeBeaconBlock
( #11731 )
...
* WIP
* WIP
* WIP
* Add tests
* WIP
* Add more tests
* Address DeepSource errors
* Remove unused param
* Add more tests
* Address PR comments
* Address PR comments
* Fix formatting
* Remove unused parameter
* Fix TestLittleEndianBytesToBigInt
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
2022-12-12 10:39:51 +00:00
Potuz
babfc66c5b
Check BLS changes when requesting from pool ( #11718 )
...
* Check BLS changes when requesting from pool
* Terence's suggestions
* Radek's suggestion
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2022-12-09 14:41:45 +00:00
terencechain
cb9b5e8f6e
Use payload attribute type for engine-API ( #11719 )
...
* Add payload attribute type
* Gazelle
* Fix test
* Use new payload attribute type
* Fix test
* Fix test
* Update beacon-chain/execution/engine_client.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Feedbacks
* Fix suggestion
* Update argument, fix test
* Return emptyAttri instead of nil
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
2022-12-08 21:39:45 +00:00
terencechain
8cb07e0c2b
Spec test: capella and update to v1.3.0-alpha.1
( #11683 )
2022-11-30 12:08:04 -08:00
Preston Van Loon
aa2bf0c9c4
Spectests: ensure test directories are not empty ( #11709 )
...
* Add an assertion that test folders are not empty
* more assertions
* only run sync tests on bellatrix or later
2022-11-30 17:32:10 +00:00
Radosław Kapka
b7a878d011
Resolve remaining native state tasks ( #11561 )
...
* remove ToProto and ToProtoUnsafe wrappers
* TestAppendBeyondIndicesLimit
* change type of genesisValidatorsRoot
* fuzz tests
* check type assertion
2022-10-19 10:37:45 -04:00
kasey
805473cb38
Give forkchoice to stategen ( #11439 )
...
* add forkchoice to stategen.New, update everywhere
* conflict_1
* Fix proposer_bellatrix test
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
2022-09-28 20:10:27 +00:00
Potuz
77fc45304b
Remove protoarray forkchoice ( #11455 )
...
* Remove protoarray forkchoice
* exported errors
* fix spectests
* fix tests
* conflict 1
* Preston's review
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-09-26 14:45:21 +00:00
Potuz
97ef8dde4d
Fix sync tests and update to 1.2.0 ( #11498 )
...
* Fix sync tests and update to 1.2.0
* fix repo sha
2022-09-25 23:48:14 +00:00
Potuz
588674f2fd
Dont return if proposer boost roots are missing ( #11459 )
...
* Dont return if proposer boost roots are missing
* move spectests to doublylinked tree
* unit test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-09-17 12:46:11 +00:00
Radosław Kapka
0f0ab1327e
Deprecate native state flag ( #11268 )
2022-09-15 20:47:51 +02:00
Potuz
a27feb4cb2
Implement optimistic sync spectests ( #11391 )
...
* builder changes
* New valid status
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-09-15 05:42:20 +00:00
Potuz
436fcb8682
flip defensive pull flag ( #11419 )
2022-09-08 13:42:29 +00:00
Potuz
1775cf89c6
Call on_tick on every skipped slot for spectests ( #11262 )
...
New spectests ensure that we call on_tick for every slot between the
last tick and the current one. This PR fixes that
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-08-19 14:25:35 +00:00
Justin Traglia
9b3a834437
Parse slot as uint64 in spectest ( #11252 )
...
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
2022-08-17 19:34:43 +00:00
terencechain
dfa400d4a1
Add mainnet merge epoch and ttd ( #11207 )
...
* Add tentative mainnet merge epoch and ttd
* Update minimal
* Update commit
* Update WORKSPACE
* Update spec tests
* Add eip4844 place holders
* Skip lightclient types
* Skip lightclient types
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-08-17 15:18:43 +00:00
Potuz
5c84192606
Revert --enable-forkchoice-doubly-linked-tree ( #11212 )
...
* Revert --enable-forkchoice-doubly-linked-tree
* fix tests
* fix parallell test
* fix noviablehead tests
* Terence's suggestion
2022-08-16 10:39:57 -03: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
Potuz
cef95dd5b2
Revert --experimental-disable-boundary-checks ( #11160 )
...
* Revert --experimental-disable-boundary-checks
* add deprecation
* gaz
* spectests
* spectests fix
* fix previous justified checkpoint
* copy previous jcp
* Revert "copy previous jcp"
This reverts commit 6e2b865c23e356e24b1f801ad3670acb0714ade7.
* update previous jcp on on_tick
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-08-04 13:26:41 +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
758d28678c
Don't create payload with same timestamp as terminal block ( #11129 )
2022-07-31 17:17:55 +00:00
Raul Jordan
10fffa6e7c
[Feature] - Store Only Blinded Beacon Blocks Post-Merge ( #11010 )
...
* add in flags
* add sync and db items
* bring over all other changes
* enable on
* use feature flag
* powchain
* builds
* fix up tests
* pass iface
* gaz
* enable bellatrix blind in unmarshal only behind flag
* poolside
* pass rpc tests
* rebuilds
* naming
* cleaner func
* check needs resync
* idiomatic
* gaz
* rem
* build
* nicer
* build
* cleaner
* surface error
* wrapping
* unmarshal logs
* fix up
* cleaner
* log
* builds
* Update beacon-chain/blockchain/execution_engine.go
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* terence feedback
* test added for resync
* nil check
* fmt
Co-authored-by: terencechain <terence@prysmaticlabs.com>
2022-07-13 17:18:30 +00:00
Raul Jordan
e01a898264
Execution Payload / Header Interface Wrappers ( #11025 )
...
* exec payload iface
* begin using iface
* use iface more
* build beacon
* builds
* txs field
* fix
* merge test
* pass
* test
* refactor
* fix up builder case
* gaz
* comments
* el test
* build
* no mask
* patch up
* exec wrap
* Terence feedback
* builds
* potuz suggestion
* exec data error
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-07-13 01:49:38 +00:00
Raul Jordan
b67c885995
Major Simplification of JSON Handling for Execution Blocks ( #10993 )
...
* no more execution block custom type
* simpler json rpc data unmarshaling
* simplicify
* included hash and txs fix
* all tests
* pass
* build
* mock fix
* attempt build
* builds
* build
* builds
* pass
* pass
* build
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-07-06 22:06:00 +00:00
Potuz
5d29ca4984
Experimental disable boundary checks ( #10936 )
...
* init
* bellatrix + altair tests passing
* Add Phase0 support
* add feature flag
* phase0 test
* restore testvectors
* mod tidy
* state tests
* gaz
* do not call precompute
* fix test
* Fix context
* move to own's method
* remove spectests pulltips
* time import
* remove phase0
* mod tidy
* fix getters
* Update beacon-chain/forkchoice/doubly-linked-tree/types.go
* reviews
* fix workspace
* Recursive rlocks
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
2022-06-29 23:37:21 +00:00
Radosław Kapka
b82e2e7d40
Use prysmaticlabs/fastssz
as a direct dependency ( #10941 )
...
* Update dependency
* Regenerate SSZ files
* fix BUILD files
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-06-28 13:03:24 +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
Radosław Kapka
4b009ed813
Rename upgrade_to_altair.go
to upgrade_to_bellatrix.go
( #10926 )
...
(cherry picked from commit c664e59a2e66a2e52814bdb59840ec3a205273e7)
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-06-24 12:46:07 +00:00
Potuz
20b4c60bcb
Apply Proposer Boost from forkchoice ( #10893 )
...
* Apply proposer boost at block insertion
* gaz
* fix tests
* revert time change
* conflict
* change genesis time in forkchoice on spectests
* Terence Review
Co-authored-by: terencechain <terence@prysmaticlabs.com>
2022-06-22 13:56:07 +00:00
terencechain
0b50ab7832
Consolidate ExecutionPayloadHeader
Protobuf definitions ( #10917 )
2022-06-22 13:08:06 +02:00
Potuz
55b4af9f92
track the wall clock on forkchoice spectests ( #10916 )
2022-06-21 18:12:08 +00:00
terencechain
546bb5ed53
Clean up misc warnings ( #10900 )
...
* Clean up misc warnings
* Gazelle
* Rm state assignments
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-06-21 15:26:56 +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