* v0
* getters/setters
* init and copy
* hasher
* all the nice stuff
* make bazel happy
* remove tests for smaller PR
* remove old states
* move files
* import fixes
* custom MarshalSSZ
* fixed deadlock
* copy version when copying state
* correct issues in state_trie
* fix Copy()
* better e2e comment
* add code to minimal state
* spectest test
* Revert "Auxiliary commit to revert individual files from 84154423464e8372f7e0a03367403656ac5cd78e"
This reverts commit 9602599d183081291dfa0ba4f1036430f63a7822.
* native state assert
* always error
* always log
* more native state usage
* cleanup
* remove empty line
* Revert "spectests"
This reverts commit 1c49bed5d1cf6224afaf21e18562bf72fae5d2b6.
# Conflicts:
# beacon-chain/powchain/service.go
# beacon-chain/state/v1/state_trie.go
# beacon-chain/state/v2/state_trie.go
# beacon-chain/state/v3/state_trie.go
# testing/spectest/shared/phase0/finality/BUILD.bazel
# testing/spectest/shared/phase0/finality/runner.go
* dedup field trie
* fix test issues
* cleanup
* use correct field num in FinalizedRootProof
* use existing version constant
* halfway there
* "working" version
* some fixes
* fix field nums in tests
* rename v0types to nativetypes
* Revert "Auxiliary commit to revert individual files from dc549b1cf8e724bd08cee1ecc760ff3771d5592d"
This reverts commit 7254d3070d8693b283fc686a2e01a822ecbac1b3.
* uncomment code
* remove map size
* Revert "Revert "spectests""
This reverts commit 39c271ae6b57d6a3737e2c202cd8407857475e56.
* use reverse map
* Revert "Revert "Revert "spectests"""
This reverts commit 19ba8cf95cdca689357c8234a262e08cccbafef4.
* finally found the bug
(cherry picked from commit a5414c4be1bdb61a50b391ea5301895e772cc5e9)
* simplify populateFieldIndexes
* fix copy
(cherry picked from commit 7da4fb8cf51557ef931bb781872ea52fc6731af5)
* remove native state from e2e
* remove index map
* unsupported functions
* Use ProtobufBeaconState() from native state
* tests
* typo
* reduce complexity of `SaveStatesEfficient`
* remove unused receiver name
* update doc.go
* fix test assertion
* fix test assertion 2
* Phase0 justification bits
* bring back state tests
* rename fieldIndexRev
* versioning of ToProto
* remove version check from unexported function
* hasher tests
* don't return error from JustificationBits
* extract fieldConvertersNative
* helper error function
* use fieldConvertersNative
* Introduce RealPosition method on FieldIndex
* use RealPosition in hasher
* remove unused fields
* remove TestAppendBeyondIndicesLimit
(cherry picked from commit 3017e700282969c30006b64c95c21ffe6b166f8b)
* simplify RealPosition
* rename field interface
* use helper in proofs.go
* Update beacon-chain/core/altair/upgrade.go
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* 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>
* new stategen.StateReplayer/ReplayerBuilder to give more fine-grained
control of replaying state+block history
* all rpc/api methods updated to use the new interface, return post-state
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Deduplicate sync committee indices from state
* Deduplicate code in listblocks RPC endpoints, which only differ in response object
* Deduplicate test code in config/fieldparams
* Delete stale benchmark target. This is already included in go_default_test
* deduplicate test cases in TestIsSlashableValidator_OK and fix blst
BUILD file
* Deduplicate TestStore_IsFinalizedChildBlock
* Revert crypto/bls/blst/BUILD.bazel
* Deduplicate TestStore_SaveBlock_NoDuplicates
* Use a generic wrapper for beacon blocks to streamline test
* Deduplicate TestStore_BlocksCRUD
* Deduplicate TestStore_BlocksHandleZeroCase
* Deduplicate TestStore_BlocksBatchDelete
* deduplicate TestStore_BlocksHandleInvalidEndSlot
* Deduplicate TestStore_BlocksCRUD_NoCache
* Deduplicate common block test setup. Make TestStore_Blocks_FiltersCorrectly support multiple forks in test
* Deduplicate the rest of these tests
* lint
* Deprecation warning
* Add test for WrappedSignedBeaconBlock
* Test error path
* allow checkpoint or genesis origin; refactoring
some quick readability improvements and simplifying the logic enforcing
the startup ordering of the attestation processing routine
* address PR feedback
* gofmt
* Update beacon-chain/blockchain/receive_attestation.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Apply suggestions from code review
use log.WithError for aggregation friendliness
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: kasey <kasey@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* make db merge compatible
* util merge.go per @rauljordan
* Go fmt
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* add maxprocs
* add prereqs
* add tos and version pkg
* add in all runtime packages
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* added migration in to new schema
* gazel fix
* goimports fix
* construct state with validator entries from a seperate bucket
* save state with validator entry indirection
* fixed save and retreieve issues
* fixed more test cases related to DeepEqual
* added save benchmark
* gazel fix
* organize benchmarks
* add cache and improve state construction performance
* gazel fix
* check type
* remove cache checking from Has
* fix decoding when cache is off
* fix slice bugs
* add migration testcases
* linter fix
* fix few review comments
* fix review feedback
* gazel fix
* satisfy deepsource
* added the feature flag
* lint fix
* fix usage of featureconfig Inti in testcases
* call resetConfig method
* add feature flag in migration testcases
* fix formatting
* change bucket name from blockRootValidatorKeysIndexBucket to blockRootValidatorHashesBucket
* remove from cache when state deleted
* fixed few more comments
* added to devModeFlags
* added cache delete under the feature flag
* fix lint
* change cache sizes and improve documentation
* fiexed few more review coments
* not using hash anymore and using a new SaveStates function
* satisfu deepsource
* run gazel
* fix feature flag related stuff
* fixing merge conflict fix
* few goodies
* improve UX and dont swallow error
* merge fix
* import format fix
* fix migrationion when flag not given issue
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* Move interfaces from github.com/prysmaticlabs/prysm/beacon-chain/state/interface to github.com/prysmaticlabs/prysm/beacon-chain/state
* remove/rename state2
* Remove gogoproto compiler
* Remove more gogoproto
* Improvements
* Fix gengo
* More scripts
* Gazelle, fix deps
* Fix version and errors
* Fix gocast for arrays
* Fix ethapis
* Fixes
* Fix compile errors
* fix go.mod
* //proto/... builds
* Update for protov2
* temp fix compilation to move on
* Change everything to emptypb.empty
* Add grpc to proto/slashings
* Fix almost all build failures
* Oher build problems
* FIX THIS FUCKING THING
* gaz literally every .bazel
* Final touches
* Final final touches
* Fix proto
* Begin moving proto.Marshal to native
* Fix site_data
* Fixes
* Fix duplicate gateway
* Fix gateway target
* Fix ethapis
* Fixes from review
* Update
* Fix
* Fix status test
* Fix fuzz
* Add isprotoslice to fun
* Change DeepEqual to DeepSSZEqual for proto arrays
* Fix build
* Fix gaz
* Update go
* Fixes
* Fixes
* Add case for nil validators after copy
* Fix cast
* Fix test
* Fix imports
* Go mod
* Only use extension where needed
* Fixes
* Split gateway from gengo
* gaz
* go mod
* Add back hydrated state
* fix hydrate
* Fix proto.clone
* Fies
* Revert "Split gateway from gengo"
This reverts commit 7298bb2054d446e427d9af97e13b8fabe8695085.
* Revert "gaz"
This reverts commit ca952565701a88727e22302d6c8d60ac48d97255.
* Merge all gateway into one target
* go mod
* Gaz
* Add generate v1_gateway files
* run pb again
* goimports
* gaz
* Fix comments
* Fix protos
* Fix PR
* Fix protos
* Update grpc-gateway and ethapis
* Update ethapis and gen-go-cast
* Go tidy
* Reorder
* Fix ethapis
* fix spec tests
* Fix script
* Remove unused import
* Fix fuzz
* Fix gomod
* Update version
* Error if the cloned result is nil
* Handle optional slots
* ADd more empty checks to clone
* Undo fuzz changes
* Fix build.bazel
* Gaz
* Redo fuzz changes
* Undo some eth1data changes
* Update go.mod
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Undo clone beacon state
* Remove gogo proto more and unused v1_gateway
* Add manual fix for nil vals
* Fix gaz
* tidy
* Tidy again
* Add detailed error
* Revert "Add detailed error"
This reverts commit 59bc053dcd59569a54c95b07739d5a379665ec5d.
* Undo varint changes
* Fix nil validators in deposit test
* Commit
* Undo
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update rules_go and fix proto conflicts
* gaz
* Update generated code
* First pass inclusion of using baked states
* more emptypb fixes
* remove testnet genesis files, only embed mainnet
* Refactoring for SaveGenesisData, fix tests that use mainnet config but do not support mainnet genesis values
* a bit more refactoring, load genesis from a file. Needs tests still
* Add method to ensure an embedded genesis file also has the appropriate genesis block
* gofmt
* more clear error
* Check genesis fork version to ensure testnet config matches genesis file
* viz
* test for SaveGenesisData
* More genesis db method tests
* Merge
* Minor tweaks, lint, fmt, etc
* Add more test to genesis db methods
* Revert beacon-chain/state/stateV0/BUILD.bazel
* Update beacon-chain/db/iface/errors.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* PR feedback
* Update beacon-chain/db/kv/genesis.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* fmt.Errorf works better for nil errors
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>