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
78d49fda13
Minor cleanup to forkchoice pkg ( #12078 )
...
* Minor cleanup to forkchoice pkg
* Rm implementation
---------
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2023-03-06 17:01:36 +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
166f7119ec
Implement should_override_forkchoice_update ( #11981 )
...
* Implement should_override_forchoice_update
* add tests
* remove unused exported function
* go mod tidy
* fix go mod
* Fix go mod tidy
* Fix context import
* mod tidy
* fix test
* Terence's review
* fix test
---------
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2023-02-18 07:37:03 -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
Potuz
0d6e8718fd
Aditya's PR 18 ( #11945 )
...
* Aditya's PR 18
This PR implements PR18. There is still a missing piece which is
consistency of head with finalized checkpoint. I will think on ways to
enforce this.
* prune finalized incompatible
* don't check finalization on viable for head
* unit tests fixes
* gazelle
* remove finalized epoch from viableForHead
* remove finalized epoch from leadsToViableHead
* use non-slashed indices
* function rename
* lint fixes
* lint fixes
* lint fixes
2023-02-05 09:40:07 -03:00
int88
bd83018e76
delete from s.nodeByPayload as well when pruneFinalizedNodeByRootMap ( #11813 )
...
* delete from s.nodeByPayload as well when pruneFinalizedNodeByRootMap
* regresstion test
* add different payload node
---------
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
2023-01-31 10:53:29 +00:00
Radosław Kapka
77d3ccb9ad
Clean up state types ( #11916 )
...
* Clean up state types
* rename package
2023-01-26 14:40:12 +00:00
terencechain
26087d7b2d
Add unknown roots in error msgs ( #11585 )
...
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2022-10-27 10:38:07 -04: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
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
terencechain
9fefb33cdf
Forkchoice: track highest received root ( #11434 )
2022-09-12 16:29:01 +02:00
Potuz
fc509cc220
Prune during on_tick ( #11387 )
...
* Prune during on_tick
* add unit test
* fix tests
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-09-08 14:41:10 +00:00
Potuz
135c30e912
remove children slice when pruning ( #11402 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-09-05 16:44:03 +00:00
Potuz
d2b39e9697
Defensive pull tips, doubly-linked-tree ( #11175 )
...
* Defensive pull tips, doubly-linked-tree
* feature flag
* gaz
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-08-30 00:48:25 +00:00
Potuz
9ce922304f
Track timestamp in forkchoice ( #11333 )
2022-08-29 14:49:02 +00:00
Potuz
8fecfaee48
DoublyLinkedTree double locks ( #11269 )
...
* DoublyLinkedTree double locks
* fix updateCheckpoints
* add comment
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-08-19 14:06:57 +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
terencechain
1117118435
Add highest slot and blocks received last epoch tracking ( #11146 )
...
* Add highest slot and blocks received last epoch tracking
* Comments
* Potuz feedback
* Fix tesT
* Potuz feedback, use clock time
* Raul's feedback
* Raul's feedback
* Use field params
* Fix minimal value
* Fix constant
* Fix constant
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-08-10 15:58:52 +00:00
terencechain
9b4d22c48c
Remove unused ctxs ( #11192 )
...
* Remove unused ctxs
* Check ctx errors
2022-08-09 16:43:29 +00:00
David Theodore
1323912625
Node by root mutex fix ( #11172 )
2022-08-04 19:40:25 -07:00
terencechain
d4ab08050f
Clean up: fix typos ( #11165 )
...
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-08-03 18:47:30 +00:00
Potuz
19e4cd30cf
Forkchoice: expose if no tip is viable ( #11153 )
...
* Forkchoice: expose if no tip is viable
This PR changes the behavior on when the node is considered optimistic.
A call to `blockchain.IsOptimistic()` relies solely on forkchoice, if
all tips are invalid, then it's optimistic. If the current headroot is
not in forkchoice then it's optimistic.
A call to `blockchain.IsOptimisticForRoot()` will return true if the
requested root is headroot and it's not found in forkchoice
* update comment
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-08-03 13:59:03 +00:00
terencechain
97dc9ebbc8
Reset proposer root if the root is getting removed in store ( #11053 )
...
* Reset proposer root if the root is getting removed in store
* Potuz feedback
* Fix root
* unit test
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
2022-07-18 15:09:01 +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
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
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
Potuz
2d0fdf8b4a
prune within forkchoice ( #10896 )
2022-06-17 12:53:17 -03: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
52acaceb3f
Enforce that every node descends from finalized node ( #10784 )
...
* Enforce that every node descends from finalized node
* fix test
* fix conflict
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-06-06 14:28:49 +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
Potuz
e7991b9d7b
Track unrealized justification/finalization in forkchoice ( #10658 )
...
* Track unrealized justification/finalization in forkchoice
* add missing files
* mod tidy
Co-authored-by: terencechain <terence@prysmaticlabs.com>
2022-05-21 10:27:07 -03: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
Potuz
83a83279d4
Remove synced tips and use last valid hash ( #10439 )
...
* Remove synced tips
use last valid hash in removing invalid nodes.
* add test
* Remove unused code
* More unused parameters
* Fix proposer boost
* terence's review #1
* Fix conflicts
* terence's review 2
* rename argument
* terence's review #3
* rename optimistic -> status
* Minor clean up
* revert loop variable change
* do not mark lvh as valid
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2022-04-06 14:18:30 +00:00
terence tsao
c7d64c03ac
Insert payload hash to forkchoice store nodes ( #10400 )
...
* Insert payload hash to forkchoice store nodes
* Fix tests
* Update new_slot_test.go
* Update beacon-chain/blockchain/process_block.go
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
2022-03-22 01:20:42 +00:00
Potuz
3f1e3cf82f
remove optimistic control flag ( #10340 )
...
* remove optimistic control flag
* Rename
* More
* More
* redundant return
* fix conflict
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2022-03-12 17:32:04 +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