* Add warning with a small genesis state
* 1<<10 is 1Kb
* Add genesis state loading with hash information
---------
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* 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
* reject blocks with more commitments than spec
* add details of excess commitments to error
* good catch, linter
---------
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
* fix(sync/rpc): use blobs by root when requesting block
Fix: use blobs by root for pending block queue (option B)
* fix: skip htr if block is older than deneb
* binary search is the wrong tool for the job, derp
* restore protection from array index panics
---------
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
* Minor typos and spelling fixes (comments, logs, & docs only, no code changes)
* Fix seplling in log message
* Additional spelling tweaks based on review from @prestonvanloon
* block all the sync startup code on init signal
* don't need chainStarted if everything blocks
* set empty clock by default to work around panics
* remove unused clock, zero-value for init-sync
---------
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* refactor initialization to blocking startup method
* require genesisSetter in blockchain, fix tests
* work-around gazelle weirdness
* fix dep gazelle ignores
* only call SetGenesis once
* fix typo
* validator test setup and fix to return right error
* move waitForChainStart to Start
* wire up sync Service.genesisWaiter
* fix p2p genesisWaiter plumbing
* remove extra clock type, integrate into genesis
and rename
* use time.Now when no Nower is specified
* remove unused ClockSetter
* simplify rpc context checking
* fix typo
* use clock everywhere in sync; [32]byte val root
* don't use DeepEqual to compare [32]byte and []byte
* don't use clock in init sync, not wired up yet
* use clock waiter in blockchain as well
* use cancelable contexts in tests with goroutines
* missed a reference to WithClockSetter
* Update beacon-chain/startup/genesis.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/blockchain/service_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* more clear docs
* doc for NewClock
* move clock typedef to more logical file name
* adding documentation
* gaz
* fixes for capella
* reducing test raciness
* fix races in committee cache tests
* lint
* add tests on Duration slot math helper
* startup package test coverage
* fix bad merge
* set non-zero genesis time in tests that call Start
* happy deepsource, happy me-epsource
* replace Synced event with channel
* remove unused error
* remove accidental wip commit
* gaz!
* remove unused event constants
* remove sync statefeed subscription to fix deadlock
* remove state notifier
* fix build
---------
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
* Enable nilerr linter & fix findings
* Deal with other findings
* Fix another finding that I missed somehow
* Fix another another issue
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update tests to expect error
---------
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* fix slashing checks
* fix to make it more performant
* gaz
* fix up
* potuz's comment
* potuz's comment
* fix cache
* change index in test for better case
* gaz
---------
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
* 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>