* first
* add receive details
* ensure most builds
* add slasherkv changes
* db iface additions
* build
* gaz
* proper todo comment
* terence comments
* sig check
* bad sig checks
* proper lock issue
* fix test
* fix up tests
* add process slashings
* verify sig
* add method
* add test
* add in process slashings functionality
* target state for aggregate
* comment
* Radek comments
* Move domain function and all signing root functions from beacon-chain/core/helpers to beacon-chain/core
* @terencechain suggestion to put these methods under core/signing
* bring over helpers
* slasher helpers pass tests
* fix dead link
* rem eth2
* gaz
* params
* gaz
* builds
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Small changes in API Middleware's custom hooks
* reorder fields in `Endpoint`
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix `SubmitPoolSyncCommitteeSignatures` API endpoint
* fix test
* fix another test
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* fix block structure
* correct status code when block is not found
* make `/internal` work with events and SSZ
* test fix
* better block serialize tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* internal prefix in proto services
* half-baked inmplementation
* rename v1 to eth
* use router and remove old flag
* uncomment cors
* update v2 methods in proto services
* move adding path prefix after param processing
* remove unneeded code
* remove flag
* fix e2e
* uncomment sync committee e2e
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Follow up to #9633, nostamp for code coverage
* nostamp for fuzzer uploads too
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add block and attestation to container pkg
* Move aggregation into attestation
* Update attestation_test.go
* Move them to proto
* Gazelle
* fix cycle
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* remove shared network and ip util
* forkutil
* gaz
* build
* gaz
* nogo
* genrule
* gaz
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* ensure build
* moved third party to toplevel:
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
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>
* Align `ProduceBlockV2` to HTTP API spec
* snake case protos
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Reuse process slashing
* Go fmt
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* add changes
* add changes here in
* rem duplicate import
* fix topic not being set in test
* terence's review
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* implementation
* tests
* do not reuse pool
* godoc
* Revert "Auxiliary commit to revert individual files from 7f95a794ef9b2e1feac4683e181fc7d0fc289a0a"
This reverts commit 917ed4cc7a457847139d11bfb7c8d163584b48be.
* handle error in test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* version enum
* get block
* get state
* rename shared to version
* goimports
* Go fmt
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Bring in rest of the validator chagnes
* Go fmt
* Deepsource
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* p2p: Split MsgID into its own file as a public method
* gofmt
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Implement `SubmitPoolSyncCommitteeSignatures` in the beacon API (#9464)
* Update server
* remove duplicated field
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update to beta3 spec tests
* `ProcessEpochParticipation` processes only active indices
* Go fmt
* Update epoch_precompute_test.go
* Update WORKSPACE
* Fix current and previous epoch switch up
* Use active balance cache
* Feature flag and test
* Gazelle
* Fix fuzz
* Fix test
* Mix in validator count
* Update test to reflect validator count
* Add eth1 data block hash
* Fix assign
* Use eth1 data root
* Update active_balance_test.go
* Remove eth1 data root
* Remove eth1 data usage in tests
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* add sync committee head state cache
* handle err in init
* include file in build file
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Can re-save orphaned attestation
* Go fmt
* Fix tests
* Go fmt
* Bug fix flag
* Bug fix flag
* Go fmt
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* initial implementation
* get committee for epoch
* test
* fix failing test
# Conflicts:
# beacon-chain/rpc/prysm/v1alpha1/validator/assignments_test.go
* combine function arguments
* review feedback
* use sync committee setter
* fix failing test
* fix build
* remove bad test
* refactor for single responsibilities
* radek suggestions
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Generate SSZ code for `BeaconBlockContainerV2`
* new line at end of file
* remove unneeded V2 suffix
* more fun stuff
# Conflicts:
# proto/eth/v1/generated.ssz.go
* rename Altair to V2
* Move proto services to a different package
# Conflicts:
# beacon-chain/rpc/service.go
* fix tests
* goimports
* fix java class name
* without aggregation_bits
* aggregation_bits
* v2 endpoints
* generate new code and define function stubs
* build files
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Clean up v1 protos
# Conflicts:
# proto/eth/v1/generated.ssz.go
* A little more cleanup
# Conflicts:
# proto/eth/v1/generated.ssz.go
* fix java class names
* Trim SSE event names.
When sending SSE events the event name contains trailing whitespace.
This patch removes the whitespace before processing the event, ensuring
it is easily parsed by clients.
* Separate test.
* Test receiveEvents, not writeEvent.
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* add tracing request sink
* fix struct order
* add in base64 encode and gzip
* add encoding and gzip
* tracing sink and replay tool
* post
* replay
* include latest sink and replay tool
* capture the gzout file instead
* rem time sleep
* handle err
* better handling
* add documentation
* changes
* working sync
* working
* added more logging
* don't mutate mainnet config
* add missing minimal config params
* Ensure all yaml fields were set and are correct
* gofmt
* Add sanity check that some empty yaml wasn't given
* Gazelle and deepsource feedback
* Remove test only process block attestation code
* Rm fuzz process block
* Revert "Rm fuzz process block"
This reverts commit 5d1b0f0741.
* Still can test fuzz
* Fix return
* More unused funcs
* Make `SubmitAttestations` v1 implementation similar to v1alpha1
* fix test
* fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* validator migration
* status helpers
* implementation
* fix existing tests
* build file
* tests
* run endpoint through API Middleware
* reduce helper package visibility
* empty caches before each test
* assign all validators to subnets
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* Add epoch precompute methods
* Split into part 1 for better review
* Update epoch_precompute_test.go
* Preston's feedback
* Skip if the valiator is not eligible
* Add regression test for non eligible
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* replacing [] with "" for ifs
using !! vs %% for var with delayed expansion
Check first for 404 then download.
* remove the goto after if are fixed
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* Show error in logs if passing invalid flags in yaml
The YAML configs pass if an invalid flag is set, this causes frustration
because the flag could have been mispelled causing a huge mystery.
This will strictly check if the flags are deserialized, if a flag
doesn't exist, it will error out as a Fatal error with appropriate
reasoning which flag is wrong.
* Fix review comments to make some of them non-fatal
* Make yaml.TypeError a pointer
* Remove UnmarshalStrict from spectests since they use a different YAML package
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Refactor blocks.ProcessDeposit to return whether or not the deposit resulted in a new validator entry.
* Only mark validator as new after successfully appending it to the state
* fix merge conflict
* fix merge conflict
* gofmt
* fix merge conflict
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* remove proof gen
* fix pre-genesis case
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
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>
* v1alpha1 validators: catch possible reqState nil case
* Minor format of error log
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Do not require a handler function in the gateway
* test fix
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Move interfaces from github.com/prysmaticlabs/prysm/beacon-chain/state/interface to github.com/prysmaticlabs/prysm/beacon-chain/state
* remove/rename state2
* Introduce changes from Altair hf1 branch
* go pkg viz changes
* Fix test
* goimports for some reason
* Use a more safe method of wrapping validators with regards to nil validators. Add basic tests for this wrapped validator
* Use a more safe method of wrapping validators with regards to nil validators. Add basic tests for this wrapped validator
* Panic fixes
* Fix tests
* remove nil validator test as it is no longer possible
* goimports for some reason
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* start tests for wrapped methods
* Add a few tests and skeletons for interface impl methods
* Add latest interfaces update from hf1 and stub the appropriate tests
* Add a few more tests
* More progress
* Migitate nil pointer issues in construct. Complete tests
* Copy changes from hf1 to v1alpha1 wrapper
* Use testutils from #9201
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* remove irrelevant comment
* fix proto documentation
* first implementation
* register validator server
* first working version
* add sync checker and test file
* first test
* gzl
* final version + tests
* gzl
* run duties through API Middleware
* extract dependent root getter
* dependentRoot docs
* wrap indices in array
* fix static analysis issues
* modify err nil check
* create local variables in slot processing test
* Update proto/eth/v1/validator_service.proto
* review
* simplify index loops
* better calculation of committees at slot
* comment about impossible comndition
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Checkout shared/queue changes from hf1 branch
* Remove logic that removes and reinserts an item into the queue at the back
* Add test to ensure the correct thing was returned
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Remove database field from v1alpha1 validator server
* remove field
* gzl
* remove not needed variable
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* first .sh attempt, checked curl
* removed echo
* more meaningful msg
* prysm.bat changes
* do not save 404, using -f and grep
* removed extra line
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* add state bucket content display test case
* save work
* state db disection methods
* fix go.mod
* gazel fix
* pass the testcase if the db is not present. for CI
* get db path from env. optimize code
* update deps.bzl
* go mod tidy
* revery deps.bzl
* moved bucket content inspection to exploredb tool
* satisfy deepsource and tidy go.mod
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* checkpoint changes
* Update beacon-chain/rpc/validator/status.go
Co-authored-by: Potuz <potuz@potuz.net>
* Update beacon-chain/rpc/validator/status.go
Co-authored-by: Potuz <potuz@potuz.net>
* add in client side tests
* add ordering
* add all new test cases
* gate feature
* handle edge case
* add one more test case
* fatal error
* zahoor's review
* Update validator/client/validator.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/client/validator.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* doppelganger not doppleganger
* preston's review
* add in comment
* change comment
* Fix e2e to only run new flags on the current version
* Fix bug where zero byte public keys were always sent in the request when attestation history existed. Still some tests to fix due to another bug in attester protection AttestationHistoryForPubKey.
* go mod tidy, gazelle
* Increase test size
* fix timeout, change size back to small
Co-authored-by: Potuz <potuz@potuz.net>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Reorder registration of dependencies so that Prysm go deps are registered first and everything else is registered after.
* Build fixes for gazelle
* Another nofuzz fix
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* exploredb tool
* bucket stats tool
* bucket stats tool
* satisfy deepsource
* format error
* add flag to get the db file
* revert go get og humanize
* gazel fix
* fix merge errors
* remove bucket-stats
* satisfy deepsource
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* return empty array when no peers found
* add missing query params to endpoint factory
* fix validator endpoints in endpoint factory
* peers test
* Move API param handling to separate file
* Handle comma-separated query parameters
* extract creating DefaultErrorJson objects
* do not use default http client for proxying
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Move common gateway registration code to new package
* no shared inside of beaconchain
* beacon gateway
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Remove verbatim strings with flag names on startup
* gzl
* fix visibility
* gaz
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* regression test added
* better comment
* export edge case
* add case for edge test
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Adding ability to override directory permissions for db backup
* adding new flag to usage.go
* Backup now has its own directory handling method to reduce footprint of prospective change
* removing unneeded test
* fixing build error
* switching to url param for override
* stripping flag
* adding in unit tests
* fixing a test
* minor changes for testing
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* queue future blocks
* process early attestations
* fix formatting
* fix testcases
* fix signature testcase and move verify slot time to original place
* Add testcases to test early blocks and slot processing
* added test case to cover failure case while inserting in block pending queue
* satisfy deepsource
* fix review comments
* remove invalid testcase
* do not queue blocks which are within MAXIMUM_GOSSIP_CLOCK_DISPARITY
* format fix
* added a helper to check of the block slot is within MAXIMUM_GOSSIP_CLOCK_DISPARITY
* add helper to check clock disparity and test case for the same
* deepsource fix
* satisfy deepsoruce
* sysc/service.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* HTTP proxy server for Eth2 APIs (#8904)
* Implement API HTTP proxy server
* cleanup + more comments
* gateway will no longer be dependent on beaconv1
* handle error during ErrorJson type assertion
* simplify handling of endpoint data
* fix mux v1 route
* use URL encoding for all requests
* comment fieldProcessor
* fix failing test
* change proxy port to not interfere with e2e
* gzl
* simplify conditional expression
* Move appending custom error header to grpcutils package
* add api-middleware-port flag
* fix documentation for processField
* modify e2e port
* change field processing error message
* better error message for field processing
* simplify base64ToHexProcessor
* fix json structs
* Run several new endpoints through API middleware (#8922)
* Implement API HTTP proxy server
* cleanup + more comments
* gateway will no longer be dependent on beaconv1
* handle error during ErrorJson type assertion
* simplify handling of endpoint data
* fix mux v1 route
* use URL encoding for all requests
* comment fieldProcessor
* fix failing test
* change proxy port to not interfere with e2e
* gzl
* simplify conditional expression
* Move appending custom error header to grpcutils package
* add api-middleware-port flag
* fix documentation for processField
* modify e2e port
* change field processing error message
* better error message for field processing
* simplify base64ToHexProcessor
* fix json structs
* /eth/v1/beacon/states/{state_id}/validators
* /eth/v1/beacon/states/{state_id}/validators/{validator_id}
* /eth/v1/beacon/states/{state_id}/validator_balances
* /eth/v1/beacon/states/{state_id}/committees
* allow skipping base64-encoding for query params
* /eth/v1/beacon/pool/attestations
* replace break with continue
* Remove unused functions (#8924)
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Process SSZ-serialized beacon state through API middleware (#8925)
* update field names
* Process SSZ-serialized beacon state through API middleware
* revert changes to go.mod and go.sum
* Revert "Merge branch '__develop' into feature/api-middleware"
This reverts commit 7c739a8fd7, reversing
changes made to 2d0f8e012e.
* update ethereumapis
* update validator field name
* update deps.bzl
* update json tags (#8942)
* Run `/node/syncing` through API Middleware (#8944)
* add IsSyncing field to grpc response
* run /node/syncing through the middleware
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Return HTTP status codes other than 200 and 500 from node and debug endpoints (#8937)
* error codes for node endpoints
* error codes for debug endpoints
* better comment about headers
* gzl
* review comments
* comment on return value
* update fakeChecker used for fuzz tests
* fix failing tests
* Allow to pass URL params literally, without encoding to base64 (#8938)
* Allow to pass URL params literally, without encoding to base64
* fix compile error
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Process SSZ-serialized beacon state through API middleware (#8925)
* update field names
* Process SSZ-serialized beacon state through API middleware
* revert changes to go.mod and go.sum
* Revert "Merge branch '__develop' into feature/api-middleware"
This reverts commit 7c739a8fd7, reversing
changes made to 2d0f8e012e.
* update ethereumapis
* update validator field name
* update deps.bzl
* update json tags (#8942)
* Run `/node/syncing` through API Middleware (#8944)
* add IsSyncing field to grpc response
* run /node/syncing through the middleware
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Return HTTP status codes other than 200 and 500 from node and debug endpoints (#8937)
* error codes for node endpoints
* error codes for debug endpoints
* better comment about headers
* gzl
* review comments
* comment on return value
* update fakeChecker used for fuzz tests
* fix failing tests
* Allow to pass URL params literally, without encoding to base64 (#8938)
* Allow to pass URL params literally, without encoding to base64
* fix compile error
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* unused import
* Return correct status codes from beacon endpoints (#8960)
* Various API Middleware fixes (#8963)
* Return correct status codes from `/states` endpoints
* better error messages in debug and node
* better error messages in state
* returning correct error codes from validator endpoints
* correct error codes for getting a block header
* gzl
* fix err variable name
* fix nil block comparison
* test fixes
* make status enum test better
* fix ineffectual assignment
* make PR unstuck
* return proper status codes
* return uppercase keys from /config/spec
* return lowercase validator status
* convert requested enum values to uppercase
* validator fixes
* Implement `/beacon/headers` endpoint (#8966)
* Refactor API Middleware into more manageable code (#8984)
* move endpoint registration out of shared package
* divide main function into smaller components
* return early on error
* implement hooks
* implement custom handlers and add documentation
* fix test compile error
* restrict package visibility
* remove redundant error checking
* rename file
* API Middleware unit tests (#8998)
* move endpoint registration out of shared package
* divide main function into smaller components
* return early on error
* implement hooks
* implement custom handlers and add documentation
* fix test compile error
* restrict package visibility
* remove redundant error checking
* rename file
* api_middleware_processing
* endpoints
* gzl
* remove gazelle:ignore
* merge
* Implement SSZ version of `/blocks/{block_id}` (#8970)
* Implement SSZ version of `/blocks/{block_id}`
* add dependencies back
* fix indentation in deps.bzl
* parameterize ssz functions
* get block ssz
* update ethereumapis dependency
* gzl
* Do not reuse `Endpoint` structs between API calls (#9007)
* code refactor
* implement endpoint factory
* fix test
* fmt
* include pbs
* gaz
* test naming fixes
* remove unused code
* radek comments
* revert endpoint test
* bring back bytes test case
* move `signedBeaconBlock` to `migration` package
* change `fmt.Errorf` to `errors.Wrap`
* capitalize SSZ
* capitalize URL
* more review feedback
* rename `handleGetBlockSSZ` to `handleGetBeaconBlockSSZ`
* rename `IndexOutOfRangeError` to `ValidatorIndexOutOfRangeError`
* simplify parameter names
* test header
* more corrections
* properly allocate array capacity
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
- fix missing scrape logic for these metrics:
- sync_eth1_connected
- sync_eth1_fallback_configured
- sync_eth1_fallback_connected
- update readme to add more detailed source info
and indicate unsupported metrics.
- fix documentation bug in prometheus help text
for powchain_sync_eth1_connected
Co-authored-by: kasey <kasey@users.noreply.github.com>
* begin event source support
* add in events server and proto definitions
* fmt
* add in stream support and proper building
* add in the protos
* tidy
* add structure and comments
* fmt
* revert proto changes
* only return events we explicitly request
* capture missing events needed for eth2 apis
* handle underflow
* no hash tree roots
* gazelle
* static
* race tests passing
* simplify
* handle all required events
* begin on stream tests
* correctness and abstracting method for forwarding to state feed
* genesis root
* include missing pieces
* logging
* rem and and handle return
* added mock
* add in mock
* add tests for block events
* added comprehensive tests
* radek comments
* add missing unit tests
* updatemockgen file
* viz
* done
* Update beacon-chain/rpc/eventsv1/events.go
* Update beacon-chain/rpc/eventsv1/events.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Replace github.com/dgrijalva/jwt-go with github.com/form3tech-oss/jwt-go, including security fix
* Fix to include go cast in deps.bzl and go mod
* Add gocast stub for go.mod / deps.bzl trick
* revert some changes
* Remove ignore tag
* gaz
* go mod tidy
* add build exclusion
* Go mod?
* go mod tidy
* more or less feature complete, needs unit tests
* Test support and concomitant refactors
* Resolving requested changes on PR
* minor fix before trying to figure out bazel
* bazel change
* minor changes requested in pr
* fixing build errors
* fixing build errors
* fixing PR feedback
* fixing PR feedback
* resolving nitpicks
* resolving nitpicks
* build failures REEEEE
* tests fail if its not this way, so this way it is
* getting the tests to pass
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Basic build targets for debian packages
* Add comments to config files
* Harden beacon-chain systemd service
* Add install scripts to set users and folders up
* Rename bazel target, fix service files
* Extra service hardening, cleanup install scripts
* Fix linting issues
* //shared:version_file run local only
* gazelle
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* regenerate ssz types w/ variable-len bounds checks
using the code in this PR:
https://github.com/ferranbt/fastssz/pull/45
* updating with improved bounds checking
* updating pinned fastssz dependency to newest
* removing redundant higher bounds checks
* regenerate again w/ new fastssz
* de-normalize attestationDataRootsBucket to improve performace in CheckAttesterDoubleVotes
* parallize processing of every attestation
* fix double vote test case to take care of jumbled double votes due to parallel processing
* remove attestationRecordsBucket totally and take care of pruning
* missed out build file
* fix review comments
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Implement validator endpoints
* Import
* Fix errors
* Add comments and fix naming :wq
* Fix functions to access state once
* Optimization for slots
* Test more
* Fix
* test listing committees for specific epoch
* Fix error retrurn
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: rkapka <rkapka@wp.pl>
* Refactor ExecuteStateTransition to use ExecuteStateTransitionNoVerifyAnySig and then verify the signatures. This reduces duplicated code paths.
* Use refactored method from PR #8864
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* 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 7298bb2054.
* Revert "gaz"
This reverts commit ca95256570.
* 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 59bc053dcd.
* 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>
* moved validator/rpc/gateway under shared, validator/rpc/web is not visiable to the new shared gateway
* decided to have one lib with two methods if needed, status and stop are the same, however New and Start are not
* moved beacon's gateway to shared and moved the main func to its own /server folder
* goftm
* gofmt
* removed the extra loggin
* reduce visibility
* tighter visibilty of the shared lib for beacon and validator only for now
* fix patterns , ctx needs to be first param
* fix comments
* gofmt
* added enum for the caller id
* added unit test for gateway
* deprecated .WithDialer to .WithContextDialer
* changed the string callerId to uint8, and rearranged the Gateway struct based on the compiler
* fix 1 based on comment
* iota type
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* new prometheus metrics for client-stats metrics
* adds client-stats types beacause they are
used by some of the prometheus collection code.
* new prometheus collector for db disk size
* new prometheus collector for web3 client
connection status
* adds client-stats api push cli in cmd/client-stats
* adds api metadata to client-stats collector posts
* appease deepsource
* mop up copypasta
* use prysm assert package for testing
* Added public/private flags for IP address white/blacklisting
* Provided reference docs for private IP address ranges
* Formatting changes and inline comments for private ip address specification
* @nisdas feedback, commentary fixes
* Added in inverse case where we allow for private address
* changed helper function to take in multiaddr Action as argument, syntax changes for control logic
* minor refactoring to control flow of configFilter and private addr filter helper function
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* jwt access token impl
* use secret or jwt
* rename
* separate method for splitting auth
* usage update
* Update beacon-chain/flags/base.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/node/node.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* make things work
* removed unused code
* better, more flexible authorization
* move types and function to proper packages
* fix checking if endpoint is not set
* fix existing tests
* rename Endpoint field to Url
* Tests for HttpEndpoint
* better bearer auth
* tests for endpoint utils
* fix endpoint registration
* fix test build
* move endpoint parsing to powchain
* Revert "fix existing tests"
This reverts commit ceab192e6a.
* fix field name in tests
* gzl
* add httputils dependency
* remove httputils dependency
* fix compilation issue in blockchain service test
* correct endpoint fallback function and tests
* gzl
* remove pointer from currHttpEndpoint
* allow whitespace in auth string
* endpoint equality
* correct one auth data Equals test case
* remove pointer receiver
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* fix up indices
* add comment
* fix up again
* add test
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* enable gossip scoring
* fix some tests
* fix up
* handle too small numbers
* add caching to validator count
* fix up
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Split transition no verify functions in its own file
* Remove redeclared functions
* Go fmt
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* added the removed RPC delete account to accounts.go and the rpc in proto
* reverted the 3 unit tests namely the failed derived delete, no pub keys provided and the successful imported account with provided public keys; also brought back the createImportedWalletWithAccounts back in wallet_test.go
* strong password defined elsewhere- removed
* Update validator/rpc/accounts_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* added PublicKeys Nil test case
* changed ss to s. ss was a bad name inthe first place
* goimports -w root
* fixed the goimports before running the proto scripts, also changed the deleterequest variable to PublicKeysToDelete
* removed unneeded comment
* added test case for derived, changed delete account to be for both imported and derived
* gofmt
* unrelated files
* unrelated files
* unrelatedfiles restored
* revert unrelated files
* changed the last ss
* adding slashign endpoints
* adding the rpc export and import funcs, still need more testing and add unit tests
* added import slashing unit test
* clean up
* remove less
* Update proto/validator/accounts/v2/web_api.proto
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update proto/validator/accounts/v2/web_api.proto
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update proto/validator/accounts/v2/web_api.proto
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update proto/validator/accounts/v2/web_api.proto
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* camelCase Proto
* update slashing_protection_json
* update proto
* register in validator/rpc/gateway
* removed the server db creation, the validator cannot begin with a null db
* round trip test
* gofmt
* Update validator/rpc/slashing.go
* Update validator/rpc/slashing.go
* Update validator/rpc/slashing.go
* Update validator/rpc/slashing.go
* Update validator/rpc/slashing.go
* Update validator/rpc/slashing.go
* Update validator/rpc/slashing.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* recover wallet rpc support - first attempt
* removed redundant check
* separate createwallet into imported and derived. Recover is derived
* added unit test for recover. Recover is the createWallet for derived
* so proto does CamelCase!
* fixed issues related to unit testing
* expose ValidateMnemonic from accounts to be used by the rpc module
* added Mnemonic25Support and test to ensure it is not et is not empty
* added skipMnemonic25thword support and unit test
* Update proto/validator/accounts/v2/web_api.proto
Proper naming convention
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* ran goimports,changed variable to SkipMnemonic_25ThWord
* Update validator/rpc/wallet.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update validator/rpc/wallet.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update validator/rpc/wallet.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update validator/rpc/wallet.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update validator/rpc/wallet.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update validator/rpc/wallet.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update validator/rpc/wallet.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* fixed variable and text msgs naming convention as per the review
* added unit test for strong password on recover
* Update proto/validator/accounts/v2/web_api.proto
Co-authored-by: Nishant Das <nish1993@hotmail.com>
* Update validator/rpc/wallet.go
Co-authored-by: Nishant Das <nish1993@hotmail.com>
* goimports -w on root proto
* added comments after exposing ValidateMnemonic to by used by rpc.RecoverWallet
* language should be case insensitive
* need to goimports before update protobuf scripts
* Update validator/rpc/wallet.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/rpc/wallet.go
comments need to be consistant
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/rpc/wallet_test.go
consistent comments
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* fix comments
* remove the skipMnemonic from rpc, just check if passphrase is empyt
* defer call to set the writePassword flag on web boarding
* gofmt
* fixed the password write test after recovering a wallet. Needed to have two defers. One to set to true then one back to false
* restore powchain.pb.go and finalized_block_root_container.pb.go
* revert beacon messages.pb.go
* revert unrelated files
* revert unrelated files
* revert unrelated files
* unlreated files
* restored the imports
* Update validator/rpc/wallet_test.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Nishant Das <nish1993@hotmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* add in more accurate aggregate parameters
* add more param changes
* more cleanup
* fix order of operations
* comments
* remove redundant declaration
* clean up better
* fix up
* victor's review
* disable mesh scoring
* disable mesh scoring
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* added the removed RPC delete account to accounts.go and the rpc in proto
* reverted the 3 unit tests namely the failed derived delete, no pub keys provided and the successful imported account with provided public keys; also brought back the createImportedWalletWithAccounts back in wallet_test.go
* strong password defined elsewhere- removed
* Update validator/rpc/accounts_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* added PublicKeys Nil test case
* changed ss to s. ss was a bad name inthe first place
* goimports -w root
* fixed the goimports before running the proto scripts, also changed the deleterequest variable to PublicKeysToDelete
* removed unneeded comment
* added test case for derived, changed delete account to be for both imported and derived
* gofmt
* unrelated files
* unrelated files
* unrelatedfiles restored
* revert unrelated files
* changed the last ss
* restore imports
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Add a tool to split a series of mnemonic keys into distinct wallets
* split func
* keysplit tool
* gaz/viz
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Return status.Errorf instead of plain errors from gRPC functions
* return plain errors from helper functions
* change errors to lowercase in node
* correct test expectations
* extracted StateFetcher
* StateFetcher tests
* extract beacon state creation option and fix state tests
* add comment to StateFetcher
* register the server
* implement grpc function
* test ToProto
* gRPC function test with mock state fetcher
* reduce visibility of packages
* add missing error assertion
* removed unused code
* overwrite config name
* gzl
* Fix service fields
* rename StateFetcher to Provider
* Update beacon-chain/state/stateV0/state_trie.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* adjust code to new v0 interfaces
* interface/struct naming changes
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Add ChainHeads
* Add only has bestChild case
* Update beacon-chain/forkchoice/protoarray/store.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Use a bolt cursor instead of bucket.ForEach, exit early when applicable
* Refactor to reuse the same code
* gofmt
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.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>
* Update rules_go and fix proto conflicts
* gaz
* Update generated code
* more emptypb fixes
* gaz
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* begin a simpler pruning process
* shorter pruning
* pass all pruning tests
* passing tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add metrics per keys for next scheduled attestation and proposal
* Found a better place where to update the counters
* Wrap with emitAccountMetrics flag
* update ethereumapis deps
* V1AttToV1Alpha1 migration
* Implementation plus happy path test
* fix root variable names
* Invalid attestation test
* gzl
* mod tidy
* use a single append to concatenate two slices
* remove outdated comment from attestation processing
* invoke ProcessAttestationNoVerifySignature when validating attestations
* implement missing PoolMock members
* use new VerifyAttestationNoVerifySignature function
* refactor / move waiting for activation updates
* Commentary
* Update test to follow the full code path
* gofmt and goimports
* manual imports fixes
* Apply suggestions from code review
typo fixes
* Remove redundant handleAccountsChanged and chan. Thanks @nisdas
* var sub = to sub :=
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Define Readonly and writeonly
* Comment
* First take at clean up
* Completed interfaces
* Fix build and test
* Reordering interfaces
* Add build.bazel
* Add build.bazel
* Fix visibility
* validator cmd
* imports
* more imports
* e2e viz
* alias
* use native alias
* add actual
* fix macro
* work on fix e2e
* add viz
* gaz
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Make 1 occurence of 'foo', 'bar' and 'fizz!'
* Make 1 occurence of 'merkleizing list that is too large, over limit' string
* Limit password occurrences
* Make only 1 occurence of 'strongPass'
* Limit testMnemonic occurrences
* Limit expected epoch error messages
* Rename errors and use constant
* Update bazel dependencies
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update to go 1.16
* Also update go.mod
* rm go.sum then run go mod tidy
* go mod tidy with go 1.16
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Implement SubmitAttesterSlashing in the beacon API
* gzl
* remove migration test rule
* fix BUILD file formatting
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Added ordered option to graffiti file
* Updated validator to use Ordered graffiti
* Track graffiti ordered index in db
* Update `ordered` to only emit each graffiti once
Co-authored-by: pinglamb <pinglambs@gmail.com>
* initial implementation
* remove listening for changes from wallet creation
* goimports
* test fix
* more goimports
* listen for changes when initializing wallet through gRPC
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Use DeepSSZEqual to satisfy go tests
* New line
* New line
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* pool interface and mock
* implementation
* gofmt
* gzl
* Use migration package for slashing mapping
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Use ValidtorIndex across Prysm. Build ok
* First take at fixing tests
* Clean up e2e, fuzz... etc
* Fix new lines
* Update beacon-chain/cache/proposer_indices_test.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update beacon-chain/core/helpers/rewards_penalties.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update beacon-chain/core/helpers/shuffle.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/graffiti/parse_graffiti_test.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Raul's feedback
* Fix downcast int -> uint64
* Victor's feedback
* Replace validator id with validator index
* Replace validator id with validator index
* Typo
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Use ValidtorIndex across Prysm. Build ok
* First take at fixing tests
* Clean up e2e, fuzz... etc
* Fix new lines
* Update beacon-chain/cache/proposer_indices_test.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update beacon-chain/core/helpers/rewards_penalties.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update beacon-chain/core/helpers/shuffle.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/graffiti/parse_graffiti_test.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Raul's feedback
* Fix downcast int -> uint64
* Victor's feedback
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Use types.CommitteeIndex
* Go fmt
* Update validator pkg
* Fix e2e
* Happy fuzz tests
* Sync with upstream ethereumapi
* Go mod tidy
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* include migration and logic for stopping early in slashing protection checks
* remove commented code
* extract methods
* migration logic tested up
* migration up and down tests
* Update validator/db/kv/attester_protection.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* added in pruning and batched migrations
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* clean up
* name
* comment
* change back
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* update ethereumapis dependency
* span
* initial implementation
* introduce stategen Service interface and MockService
* Include AddStateForSlot function in the mock service
* return states from mock
* add GenesisState to POWChain mock
* populate roots in helper state
* initialize Slot when creating helper state
* tests
* code refactor - extract helper functions
* gzl
* use SetSlot in tests
* handle SetSlot error
* use new testutil's NewBeaconState
* gzl
* go mod tidy
* rename Service to StateManager
* move regex check to helper
* implement StateByStateRoot
* initial implementation
* tests
* refactor code into smaller functions
* gzl
* simplify StateByStateRoot and tests
* Nishant's feedback
* gzl
* handle error in test
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* Added MaskCredentialsLogging to logutil, which masks the user info, path and query. It leaves the hostname and port untouched . Making it more secure during logging
* Added MaskCredentialsLogging to logutil, which masks the user info,path and query. It leaves the hostname and port untouched . Making it more secure during logging
* Added newline based on the PR checks
* Update shared/logutil/logutil.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Gazelle
* Update shared/logutil/logutil.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* added unit tests
* updated one test case
* added logutil_test.go unit test cases
* Refactor validator subnet subscriptions to be non-blocking (#8319)
* Use response.NextEpochDuties for aggregator subnet subscriptions (credit: @KaanKC PR #8204). Make committee subnet subscriptions method non-blocking call
* Fix test
* Fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Add Ability to Specify All Public Keys When Exiting Validators (#8399)
* add programmatic voluntary exit
* add exit all flag
* test
* lint
* add multiple exits test
* fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Increase Validation Queue (#8431)
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Validator: add a DEBUG log to show batch attestation save duration (#8432)
* Add a debug log to show duration
* Autofix issues in 1 file
Resolved issues in validator/db/kv/attester_protection.go via DeepSource Autofix
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
* Add Mutex and Block Profiling (#8435)
* Implement GetStateRoot in the beacon API (#8402)
* update ethereumapis dependency
* span
* initial implementation
* introduce stategen Service interface and MockService
* Include AddStateForSlot function in the mock service
* return states from mock
* add GenesisState to POWChain mock
* populate roots in helper state
* initialize Slot when creating helper state
* tests
* code refactor - extract helper functions
* gzl
* use SetSlot in tests
* handle SetSlot error
* use new testutil's NewBeaconState
* gzl
* go mod tidy
* rename Service to StateManager
* move regex check to helper
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* On Block Cleanup (#8438)
* Beacon API: update GetStateRoot (#8437)
* Address various feedbacks
* Gaz
* More nil check
* Update beacon-chain/rpc/beaconv1/state_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/rpc/beaconv1/state_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/rpc/beaconv1/state_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/rpc/beaconv1/state_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/rpc/beaconv1/state_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* qualifying my unix user ahaddad - no real changes to the files
* Update shared/logutil/logutil.go
* Update shared/logutil/logutil.go
* Update shared/logutil/logutil.go
* Update shared/logutil/logutil.go
* Update shared/logutil/logutil.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Log Block Processing Time instead of time in slot
* Restore timeSinceSlotStart
* Renamed fields
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Add a debug log to show duration
* merge from dev
* use safe pending attestation records struct
* fix build, use atomic bool
* Add deadline checks to CheckSlashableAttestation
* Go fmt
* Add test for in-progress log
* GoDocs
* Rename pending attestation records to queued attestation records
* rename and add commentary on log
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Revert "Rename `NewService` to `New` (#8337)"
This reverts commit d121b19145.
# Conflicts:
# beacon-chain/sync/initial-sync/round_robin_test.go
* fix name in test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* update ethereumapis dependency
* span
* initial implementation
* introduce stategen Service interface and MockService
* Include AddStateForSlot function in the mock service
* return states from mock
* add GenesisState to POWChain mock
* populate roots in helper state
* initialize Slot when creating helper state
* tests
* code refactor - extract helper functions
* gzl
* use SetSlot in tests
* handle SetSlot error
* use new testutil's NewBeaconState
* gzl
* go mod tidy
* rename Service to StateManager
* move regex check to helper
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add a debug log to show duration
* Autofix issues in 1 file
Resolved issues in validator/db/kv/attester_protection.go via DeepSource Autofix
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
* add programmatic voluntary exit
* add exit all flag
* test
* lint
* add multiple exits test
* fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix deep equal
* Fixes
* gaz
* Fix test
* Add UnexportedOnly function
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Revert to use input epoch
* Revert back to process epoch
* Use processed state
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Provide TLS certificate to gRPC gateway
* Provide TLS certificate to gRPC gateway
* Provide TLS certificate to gRPC gateway
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Feature flag: update head timely
* Move finalized imply justified up
* Fix resolve error
* Use invert feature flag
* Make diff easier to review
* Line
* Typo
* Fix condition
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Configurable testutil's BeaconState
* fix shared and fuzz tests
* return state copy
* use mainnet config values for default state
* handle error in block fuzz
* goimports
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Revert "Change sszutil DeepEqual to ignore unexported (#8336)"
This reverts commit 8d986bd414.
* Add back tests, make tests have equal and non equal check
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* add in batch method
* add in new proposal history methods for efficiency and progress bars
* tests fixed to use the new methods
* add back get slot proposing history method
* add gaz
* Add and use trailing slot state cache
* Remove comment
* Update comments
* Update comments
* Move it to background
* Warn is more appropiate
* Raul's comment
* Same strategy for proposer
* Own helper
* Minor touchups
* Tests
* Feature flag
* Gaz
* Implement GetSpec in the config API
* extract map creation
* fix deepsource compliant
* Revert "fix deepsource compliant"
This reverts commit 0c99310cc9.
* use struct tags for api map keys
* remove log
* use spec tag
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Hide beacon operation field if it's 0
* Use map as seen slashing cache
* Revert "Hide beacon operation field if it's 0"
This reverts commit 896fa11a0b.
* Rm unused code
* Gaz
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Add funnction to retrieve deposit contract's address from powchain
* change bytes.Equal to assert.DeepEqual
* add DepositContractAddress to mocks
* Extract powchain info to a separate struct
* span
* Revert "Extract powchain info to a separate struct"
This reverts commit e01dd5222b.
* implementation + test
* use the correct hexutil library
* read contract address from configuration
* return ETH1 chain ID instead of fork version
* gzl (I hate you)
* remove unused ChainInfoFetcher
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Change LowestSignedProposal to Also Return a Boolean for Slashing Protection (#8020)
* amend to use bools
* ineff assign
* comment
* Update `LowestSignedTargetEpoch` to include exists (#8004)
* Replace highest with lowerest
* Update validator/db/kv/attestation_history_v2.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/db/kv/attestation_history_v2.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Invert equality for saveLowestSourceTargetToDB
* Add eip checks to ensure epochs cant be lower than db ones
* Should be less than equal to
* Check if epoch exists in DB getters
* Revert run time checks
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Export Attesting History for Slashing Interchange Standard (#8027)
* added in att history checks
* logic for export
* export return nil
* test for export atts
* round trip passes first try!
* rem println
* fix up tests
* pass test
* Validate Proposers Are Not Slashable With Regard to Data Within Slasher Interchange JSON (#8031)
* filter slashable blocks and atts in same json stub
* add filter blocks func
* add test for filtering out the bad public keys
* Export Slashing Protection History Via CLI (#8040)
* include cli entrypoint for history exports
* builds properly
* test to confirm we export the data as expected
* abstract helpers properly
* full test suite
* gaz
* better errors
* marshal ident
* Add the additional eip-3076 attestation checks (#7966)
* Replace highest with lowerest
* Update validator/db/kv/attestation_history_v2.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/db/kv/attestation_history_v2.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Invert equality for saveLowestSourceTargetToDB
* Add eip checks to ensure epochs cant be lower than db ones
* Should be less than equal to
* Check if epoch exists in DB getters
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Add EIP-3076 Invariants for Proposer Slashing Protection (#8067)
* add invariant for proposer protection
* write different test cases
* pass tests
* Add EIP-3076 Interchange JSON CLI command to validator (#7880)
* Import JSON CLI
* CLI impotr
* f
* Begin adding new commands in slashing protection
* Move testing helpers to separate packae
* Add command for importing slashing protection JSONs
* fix import cycle
* fix test
* Undo cleaning changes
* Improvements
* Add better prompts
* Fix prompt
* Fix
* Fix
* Fix
* Fix conflict
* Fix
* Fixes
* Fixes
* Fix exported func
* test func
* Fixes
* fix test
* simplify import and standardize with export
* add round trip test
* true integration test works
* fix up comments
* logrus
* better error
* fix build
* build fix
* Update validator/slashing-protection/cli_export.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/slashing-protection/cli_import.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* fmt
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Filter Slashable Attester Public Keys in Slashing Interchange Import (#8051)
* filter slashable attesters from the same JSON
* builds
* fix up initially broken test
* circular dep
* import fix
* giz
* added in attesting history package
* add test for filter slashable attester keys
* pass tests
* Save Slashable Keys to Disk in the Validator Client (#8082)
* begin db funcs
* add in test and bucket
* gaz
* rem changes to import
* ineff assign
* add godoc
* Properly Handle Duplicate Public Key Entries in Slashing Interchange Imports (#8089)
* Prevent Blacklisted Public Keys from Slashing Protection Imports from Having Duties at Runtime (#8084)
* tests on update duties
* ensure the slashable public keys are filtered out from update duties via test
* begin test
* attempt test
* rename for better context
* pass tests
* deep source
* ensure tests pass
* Check for Signing Root Mismatch When Submitting Proposals and Importing Proposals in Slashing Interchange (#8085)
* flexible signing root
* add test
* add tests
* fix test
* Preston's comments
* res tests
* ensure we consider the case for minimum proposals
* pass test
* tests passing
* rem unused code
* Set Empty Epochs in Between Attestations as FAR_FUTURE_EPOCH in Attesting History (#8113)
* set target data
* all tests passing
* ineff assign
* signing root
* Add Slashing Interchange, EIP-3076, Spec Tests to Prysm (#7858)
* Add interchange test framework
* add checks for attestations
* Import genesis root if necessary
* flexible signing root
* add test
* Sync
* fix up test build
* only 3 failing tests now
* two failing
* attempting to debug problems in conformity tests
* include latest changes
* protect test in validator/client passing
* pass tests
* imports
* spec tests passing with bazel
* gh archive link to spectests using tar.gz suffix
* rev
* rev more comment changes
* fix sha
* godoc
* add back save
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Implement Migration for Unattested Epochs in Attesting History Database (#8121)
* migrate attesting history backbone done
* begin migration logic
* implement migration logic
* migration test
* add test
* migration logic
* bazel
* migration to its own file
* Handle empty blocks and attestations in interchange json and sort interchange json by public key (#8132)
* Handle empty blocks and attestations in interchange json
* add test
* sort json
* easier empty arrays
* pass test
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* builds
* more tests finally build
* Align Slashing Interchange With Optimized Slashing Protection (#8268)
* attestation history should account for multiple targets per source
* attempt at some fixes
* attempt some test fixes
* experimenting with sorting
* only one more failing test
* tests now pass
* slash protect tests passing
* only few tests now failing
* only spec tests failing now
* spec tests passing
* all tests passing
* helper function for verifying double votes
* use helper
* gaz
* deep source
* tests fixed
* expect specific number of times for domain data calls
* final comments
* Batch Save Imported EIP-3076 Attestations (#8304)
* optimize save
* test added
* add test for sad path
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* revert bad find replace
* add comment to db func
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Shay Zluf <thezluf@gmail.com>
* Rm fork choice attestation sig verification
* Unit test
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* add span
* update ethereumapis
* align server with ethereumapis
* benchmark
* naive implementation
* rename two status functions
* new Inbound and Outbound status functions
* tests
* 'enr:' prefix
* refactoring
* gzl
* case when one filter is empty
* empty filter condition fix
* deepsource
* rename getPeer to peerInfo
* bring back correct version of ethereumapis
* go mod tidy
* Return error on committee len check
* AttestingIndices unit test
* Add equality check
* Fixing more tests
* Fix rest of the tests
* Fix invalid bit length test
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add verify slot target epoch function and apply all
* Fix TestProcessAttestationsNoVerify_IncorrectSlotTargetEpoch
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Can generate at epoch boundary
* Remove extra space
* Add on block finality test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Disallow request epoch to be out of bound
* Input Slot and epoch checks
* Tests
* Review feedbacks
* Unavailable error code
* Rename genesis time fetcher to time fetcher
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Added blockBySlot and blockRootBySlot
* Changed to BlocksBySlot and BlockRootsBySlot
* Updated to use BlocksBySlot and BlockRootsBySlot
* Added missing passthrough to karfa exporter
* Return hasBlocks/hasBlockRoots in the new getters
* Fixed CI lint
* Replace call to bytes.Compare with bytes.Equal
* Reordered the returns of the new getters
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Implement GetSyncStatus in the node API
* gazelle
* add HeadSlot function to fuzz tests' fakeChecker
* use HeadFetcher to get head slot
* remove useless code
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Revert "Revert New Attester Protection DB Logic (#8237)"
This reverts commit 6738fa3493.
* Batch Attestation Records and Flush All at Once in Validator DB (#8243)
* begin flushing logic
* finalize logic before starting tests
* make code DRY
* better log fields
* gaz
* tweak parameter
* rename
* clarifying comment on error handling in event feed
* comprehensive tests
* more comments
* explain parameters in comments
* renamed consts
* Apply suggestions from code review
* gaz
* simplify
* typo
* comments
* Revert "Optimize Migration for new Attester Protection DB (#8231)"
This reverts commit c4ab67832f.
* Revert "Integrate New Slashing Protection DB Methods at Runtime (#8219)"
This reverts commit 3858068201.
* Revert "DB Migration for Optimal Local Slashing Protection (#8212)"
This reverts commit dd3ac6c2ed.
* integrate at runtime and revamp tests
* historical att
* Update validator/db/iface/interface.go
* deepsource
* import
* log the slashing kind
* gaz
* create a slashutils
* integrate new slashutil
* imports
* pruning and begin test
* comprehensive pruning tests
* add pruning on startup
* also prune source epochs bucket
* more testing
* greatly simplify pruning function
* pruning logic and comprehensive tests in
* att protection test
* gaz
* fix sneaky change
* rev
* documented and tested helper func
* multiple discovery addresses
* ipv6 fix
* make len test more robust
* create enr node for testing
* use local node for test
* use mockListener
* remove unused type alias
* Show attesting and proposing counts in "Next duty" log output
* Use map to store all the counts instead of magic reset
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* Added tooMuchDataRequestedError func
* Added multiplicative decrease and additive increase
* Code review changes
* Renaming the new constants
* Return a different error in graceful retry
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* begin migration logic
* wrote migration logic
* begin test file
* test for migration working
* gaz
* progressutil
* migration works even if partial data was written
* optimize candidate validation on att aggregation
* restore test
* fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* add mutex to params/config
* split config files into test/prod
* add tags checker
* add regression test
* remove debug info
* update bazel config
* go fmt
* make sure that conditional file is kept by gazelle
* update build tag: test -> develop
* gazelle
* remove redundant import
* fix data race in TestService_ReceiveBlock
* configurable keystores debounce interval
* use a time duration flag instead
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Fix for the issue where if either the beacon, validator, or slasher are already up to date, then the message:
"'Validator/Beacon/Slasher' is not recognized as an internal or external command, operable program or batch file."
The issue was that the message "Validator/Beacon/Slasher is up to date." is not echoed to the console but it is trying to be run as a command.
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Does bitwise compare for MKDIR
* Implemented a more global solution to windows permission issues
* Remove unneeded line I added earlier.
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* update shadowed var name
* update var names
* remove unnecessary delta
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add new GetVersion API to Health Service
This is to support showing version information in the web ui.
Since health.go is built through validator bazel, we can use
`shared.GetVersion` directly.
Backend for: prysmaticlabs/prysm-web-ui#107
* Run goimports and update-go-pbs
* go mod tidy
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* ensures unknown validators do not mess up rest of api response
* rem old test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* implement validator logs stream
* fix test
* tidy
* proto regen
* add logs stream to the beacon node
* beacon logs working
* impl
* pass test
* gaz
* rem lock
* fix space
* Don't use fraction, use different fields
* Update validator/client/validator.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Go fmt
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* small fixes in logs and errors
* fix error message in test
* found a period hiding in an error message
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Epoch boundary updates at the last slot of the epoch
* Report metric on first slot
* Remove comment
* Add locks to param config
* Remove lock for copy
* Revert "Add locks to param config"
This reverts commit 79d5130b58.
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* patch beacon node
* make sure that check is executed before anything else
* fix format
* make sure that check is reusable by other executables
* debug infor
* fix typo
* more debug info
* use copydir
* cleanup
* better explanation
* gazelle
* go fmt
* debug tos permissions
* upadte copydir
* gazelle
* better check of tos acceptance
* expand path
* update validator
* move fixing func
* move fixing method
* make sure that updater works both on main and subcommands
* remove from startnode
* add copydir test
* add DirFiles method and tests
* fix test
* add and test HashDir
* update tests
* fix test
* add datadir removal
* update messages
* further update messages
* Update go-libp2p to 0.12.0
go-libp2p 0.12.0 made some significant changes to the stream interfaces around
stream closing:
* Close now closes in both directions and frees the stream. However, unlike
FullClose did, it doesn't _wait_ for the remote peer to respond with an EOF.
* To close for writing, call CloseWrite (like one would on a TCP connection, etc.).
This patch:
* Replaces calls to FullClose with Close where appropriate.
* Replaces calls to Close with CloseWrite where appropriate.
* Removes redundant Close calls.
* Calls Reset to where appropriate to indicate that the request/response was
aborted. Unlike Close, this will not flush and will not cause the remote peer
to read an EOF. Instead, the remote peer will read an ErrReset error.
* Ensures we always either close or reset streams. Send wasn't closing the
stream on some error paths.
* Now that stream closing is async, we explicitly wait for a response when
"hanging up" on a peer (so we don't hang up before they receive our
response/goodbye message).
* update bazel
* Gazelle
* revert unintentional bazel workspace change
* appease an overzealous linter
* update to latest
* Refactor encoder
* gazelle
* Gazelle
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* att sign validations
* eliminate old cached methods and use a simple approach in the db
* redefined db methods
* db package builds
* add multilock to attest and propose
* gaz
* removed concurrency tests that are no longer relevant
* add cache to db functions for attesting history checks
* passing
* add in feature flag --disable-attesting-history-db-cache
* remove lock
* Revert "remove lock"
This reverts commit b1a65020e4.
* comment
* gaz
The reason of why a validator input was failing was very generic,
this allows the actual implementation to state why it failed by
passing the exception forward.
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update waiting validator methods to be context aware
* Enable debug logging for validator in e2e
* invert logic in deferred function, remove for loop
* return early if wait is 0 or less
* overwrite ctx
* t.Stop() chan closure is hanging. Doesnt make sense, so ignoring that cleanup task. It shouldnt happen at runtime anyway
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* restore beacon node db
* revert image name
* move restore out of the kv folder
* remove files from kv folder
* go mod tidy
* Remove usage of prometheus testutil
* add yes/no to prompt text
* restore slasher db
* organize imports
* go mod tidy
* restore validator db
* close slasher db
* defer close backup db in tests
* simplify function literal
* Resolve panic on shutdown with offline eth1 node
* Move fix tne right place nishant feedback
* fix log message
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* fix(grpcHeaders): accept values with equal signs
# What
Before this commit, it was not possible to pass in base64-encoded
content as a header value if it contained an equals sign. This commit
changes the behavior slightly. Rather than ignore key/value pairs where
the value happens to have an equals sign, we assume the first equals
sign delimits the key from the value and pass in the rest of the value
as-is.
Also, instead of printing the header name along with its value, we
print the name, so there is less risk of leaking information into logs
that shouldn't be there.
# Testing
This has not been tested in the context of the full validator client.
Instead, a small example was made to demonstrate the feasibility. The
example is shown here:
```go
package main
import (
"log"
"os"
"strings"
"github.com/davecgh/go-spew/spew"
"github.com/urfave/cli/v2"
)
type Config struct {
GrpcHeadersFlag string
}
func main() {
app := &cli.App{
Action: func(c *cli.Context) error {
for _, hdr := range strings.Split(c.String("grpc-headers"), ",") {
if hdr != "" {
ss := strings.Split(hdr, "=")
spew.Dump(ss[0])
spew.Dump(strings.Join(ss[1:], "="))
}
}
return nil
},
Flags: []cli.Flag{
&cli.StringFlag{
Name: "grpc-headers",
Usage: "A comma-separated list of key value pairs to pass as gRPC headers for all gRPC " +
"calls. Example: --grpc-headers=key=value",
},
},
}
err := app.Run(os.Args)
if err != nil {
log.Fatal(err)
}
}
```
Example invocation:
```command
❯ go run main.go --grpc-headers=key=value,Authorization="Basic $(echo -n hello:world | base64)"
(string) (len=3) "key"
(string) (len=5) "value"
(string) (len=13) "Authorization"
(string) (len=22) "Basic aGVsbG86d29ybGQ="
```
* Adds tests to new gRPC header parsing code
* bazel run //:gazelle
* Log attesting total
* Use the right library
* Go fmt
* Use fmt
* No space is better
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Update blst to v0.3.1 and incorporate subgroup changes
* go mod tidy
* gofmt
* Update bzl blst dependency
* Remove unnecessary check for nil
* Run bazel run //:gazelle -- fix
* Update blst to v0.3.2
* fix sha
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* disable-remote-signer-tls flag
* use flag in edit-config
* send requests without TLS
* change warning message
* fix account list output test
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
When validating account list, there was a missing space. This fixes that nitpick.
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* Update a few logs
* Go fmt
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* new web release
* site data update, add /logs to logs endpoints
* tests fixed
* test
* gaz
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Replace highest with lowerest
* Update validator/db/kv/attestation_history_v2.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/db/kv/attestation_history_v2.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Invert equality for saveLowestSourceTargetToDB
* Save lowest epcohs at post signature update
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Add getters and setters for source and target epochs
* Use the correct ImportStandardProtectionJSON
* Add tests
* Fix buckets
* Fix source to target
* Update validator/slashing-protection/local/standard-protection-format/import.go
* Fix bytesutil.BytesToUint64BigEndian will return 0 if input is less than 8 bytes
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* add in highest and lowest signed proposal
* begin adding tests
* add in db tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix zero genesis check, make processAttestation routine wait for genesis time to be set
* Update beacon-chain/blockchain/receive_attestation.go
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* minimal change to handle nil attesterHistoryByPubKey
* Revert "Always Update Attesting History If Not Slashable (#7935)"
This reverts commit 3cc2ebc5d5.
* remove unused functions
* move save before propose
* wait before go func
* move wait into the go routine
* handling map mutation
* remove map handling in this case
* log in case it is still not found
* fix log
* fix locks
* Update validator/client/attest_protect.go
* remove code duplication
* remove method extraction
* move metrics to their appropriate place
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* persist wallet password to wallet dir if onboarded via web
* add flag
* gaz
* add test
* fmt
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* even more cors
* auth fixes for web v1
* ensure web works
* include web ui v1 release
* new site data
* fmt
* test
* tests pass
* gaz
* build fix
* no ssz
* unused type
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* RPC: healthz should return an error when the node is syncing
* fix test
* fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* faster eth1 search
* simplify it much more
* Update beacon-chain/powchain/block_reader.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Reduce no attestation in pool to warn
* Use NotFound
* Update validator/client/aggregate.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/client/aggregate.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Remove incorrect x64 error message when showing usage description
* Add missing escape characters in usage description
The actual environment variable value would be printed without these
escape characters.
* Add missing quotation marks in usage description
* Also test existence of sha and signature files
For multiple reason the executable could be downloaded, but not the
signature files. Later on the script will error out because these files
are lacking.
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Use new attestation protection
* tests fixes
* fix tests
* fix comment
* fix TestSetTargetData
* fix tests
* empty history handling
* fix another test
* mock domain request
* fix empty handling
* use far future epoch
* use far future epoch
* migrate data
* copy byte array to resolve sigbus error
* init validator protection on pre validation
* Import interchange json
* Import interchange json
* reduce visibility
* use return value
* raul feedback
* rename fixes
* import test
* checkout att v2 changes
* define import method for interchange format in its own package
* rename and made operations atomic
* eip comment
* begin amending test file
* finish happy path for import tests
* attempt the interchange import tests
* fixed tests
* happy and sad paths tested
* good error messages
* fix up comment with proper eip link
* tests for helpers
* helpers
* all tests pass
* proper test comment
* terence feedback
* validate metadata func
* versioning check
* begin handling duplicatesz
* handle duplicate public keys with potentially different data, first pass
* better handling of duplicate data
* ensure duplicates are taken care of
* comprehensive tests for deduplication of signed blocks
* tests for deduplication
* Update validator/slashing-protection/local/standard-protection-format/helpers_test.go
Co-authored-by: Shay Zluf <thezluf@gmail.com>
* Update validator/slashing-protection/local/standard-protection-format/helpers_test.go
Co-authored-by: Shay Zluf <thezluf@gmail.com>
* tests for maxuint64 and package level comment
* tests passing
* edge cases pass
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* add indicator for disabled accounts in `account list`
* add also the account name in red for disable accounts
* bold disable as well
* Update validator/accounts/accounts_list.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* refactor scoring service
* fix anti-pattern issue
* add block providers bad peers detection tests
* check status when peer scoring is disabled
* more tests
* begin hd wallet refactor
* further simplify the new derived keymanager
* make it almost a full wrapper around an imported keymanager
* fix up the EIP test
* deprecated derived
* fixing keymanager tests
* fix up derived tests
* refactor initialize keymanager
* simplify hd
* pass some tests
* pass accounts list test
* gaz
* regenerate protos without create account privilege
* enforce account recovery on wallet create
* allow accounts delete to work
* remove mentions of accounts create
* resolve comments and go mod
* fix up tests
* build fixes
* remove insecure warning
* revert
* fix proto file
* remove create account message
* gaz
* remove account create
* update web api protos
* fix up imports
* change func sig
* tidy
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Observed this segfault running all tests on mater, occurring
in around 2-3 out of 10 test runs.
```
FAIL: //beacon-chain/sync:go_default_test (shard 3 of 4, run 1 of 10) (see /home/j/.cache/bazel/_bazel_j/1ba834ca9d49f27aeb8f0bbb6f28fdf3/execroot/prysm/bazel-out/k8-fastbuild/testlogs/beacon-chain/sync/go_default_test/shard_3_of_4_run_1_of_10/test.log)
INFO: From Testing //beacon-chain/sync:go_default_test (shard 3 of 4, run 1 of 10):
==================== Test output for //beacon-chain/sync:go_default_test (shard 3 of 4, run 1 of 10):
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x138eea6]
goroutine 1660 [running]:
github.com/prysmaticlabs/prysm/shared/abool.(*AtomicBool).IsSet(...)
shared/abool/abool.go:39
github.com/prysmaticlabs/prysm/beacon-chain/sync.(*Service).subscribeStaticWithSubnets.func1(0xc002dd4400, 0xc002990940, 0x17bca26, 0x1e)
beacon-chain/sync/subscriber.go:207 +0xe6
created by github.com/prysmaticlabs/prysm/beacon-chain/sync.(*Service).subscribeStaticWithSubnets
beacon-chain/sync/subscriber.go:200 +0x172
================================================================================
```
TestStaticSubnets was testing a Service with an uninitialized
chainStarted value. This commit initializes chainStarted explicitly
in all tests that construct a Service. This reduces the observed flake
rate to 0/10 runs. This was verified with:
```
./bazel.sh test //beacon-chain/sync:go_default_test --runs_per_test 10
```
* Return error on invalid range and fix tests
* Uncomment some test codes
* Update comment
* Sync with master, fixed more tests
* Rm error condition, update comments, tests
* add --enable --disable flags for validator accounts
* refactor DeleteAccountConfig into AccountConfig to be used for enable and disable feature
* add `disable` flag for validator accounts
* [wip] add method to disable account
* refactor account delete
* add disable & enable with proper filters
* fix keymanager unit tests
* update DisabledPublicKeys to be a string instead of [][]byte
* fix FetchValidatingPrivateKeys to only fetch active keys with new string format
* fix FetchValidationPrivateKeys with new DisabledPublicKeys format (as a string)
* rename file + update AccountsConfig to include Disable, Enable and Delete distinct attributes
* rename accounts_activation -> accounts_enable_disable
* revert changes from using string to [][]byte for DisabledPublicKeys
* add FetchAllValidatingPublicKeys to preserve the functionality for accounts list, backup and delete
* fix unit tests
* convert publickeys from [][]byte to str before passing it to pb message
* add unit tests for disable keys
* add unit tests for EnableAccounts
* revert WORKSPACE LLM for now
* ran gazelle
* move function to convert KeymanagerOpts to Config inside rpc and run gazelle
* add unit tests for FetchAllValidatingPublicKeys
* fix keymanageropts for InteropKey
* Fix mistake for enable accounts
* add docstring to DisableAccountsCli and EnableAccountsCli
* remove previous testnet and add toledo & pyrmont
* Update eth1data params to double
* Update spec tests tags and state field for fssz gen
* Update more spec test sha tags
* Update slashing params
* Update slashing precompute to use config instead of hardcoded 3
* Update slashing test values due to config changes
* Update configs for slashedless test
* Go mod tidy
* Add toledo config (#7743)
* Update genesis delay to one week (#7782)
* Add Pyrmont config (#7797)
* Add Pyrmont config
* Fix config
* Update genesis time to the correct value
* Remove TestExecuteStateTransition_FullBlock
* Add back missing comments
* Update spectests to v1.0.0
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Immediate save of validator protection data
* fix error log
* separate delete from save
* remove logs
* rename delete into reset
* comment fix
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Warn user for missing protection db
* better warning message
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* enable head sync only during long period of non-finality
* Terence's suggestion
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Ensure request epoch is used
* Update test
* Comment
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix up exits logic
* comments
* tests for malformed exits
* comment fix
* add yet another unit test, check pending list with binary search
* simplify
* add test for favoring earlier exit epoch
* gaz
* removal of superficial map check
* call LogValidatorGainsAndLosses at end of epoch
* Reviewer fixes
* Reviewer fixes
* Reviewer fixes
* Export Inclusion Distance to Prometheus
* changed default value to 1
* removed default value
* Added other performance metrics
* add slot
* get rid of inclusion_slot
* Fix fmt test
* Reviewer changes
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* fix
* var
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Update rules_go
* go 1.15
* try with v0.24.2
* Update Mac OS X SDK
* gaz
* update SDK in toolchain config
* -I flag
* another -I flag
* Update rules_go, gazelle, bazel version
* regen, update rules_docker
* Revert "another -I flag"
This reverts commit 9255133d99.
* Revert "-I flag"
This reverts commit 2954a41d76.
* giving up
* Use OS X 10.12
* Use OS X 10.12
* Revert "Use OS X 10.12"
This reverts commit 4f60d5cb80.
* Revert "Use OS X 10.12"
This reverts commit a79177fab7.
* osx toolchain tweaks necessary to work with 10.15 mac sdk
* Update docker image, regen
* gaz
* test using custom image
* Revert "test using custom image"
This reverts commit 95b8666810.
* explicit go version
* Clean up docker image rules with new definitions. gazelle
* please the linter
* Update protobuf compiler to 3.13.0, run gazelle
* Update gazelle to fix empty build files. https://github.com/bazelbuild/bazel-gazelle/pull/926
* update skylib
* fix herumi fuzz build
* remove comment from tools/cross-toolchain/regenerate.sh
Co-authored-by: rkapka <rkapka@wp.pl>
Co-authored-by: SuburbanDad <gts.mobile@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* write file and mkdirall analyzers
* include analyzer in build bazel
* comments to the single entrypoint and fix validator references
* enforce 600 for files, 700 for dirs
* pass validator tests
* add to nogo
* remove references
* beaconfuzz
* docker img
* fix up kv issue
* mkdir if not exists
* radek comments
* final comments
* Try to fix file problem
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Clean up dirty states in DB
* Add Passthrough
* Fix finalized check
* Add tests
* Remove unused test vars
* Update beacon-chain/db/kv/state.go
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* Use non-strict inequality
* Prevent overflow and test
* Use slotsPerArchivedPoint/3 to loosen criteria
* Update test
* Background
* Handle ctx cancellation
* Update beacon-chain/state/stategen/service.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/db/kv/state.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Handle error
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* check if validators are exited in every loop iteration
* regression test
* fix mock validator
* handle context.WithValue key in a more idiomatic way
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update genesis time and deposit contract
* Remove medalla as default config
* Update default case to use mainnet
* Update contract deployment block
* Update contract deployment block in flag
* Update shared/featureconfig/config.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* use atomic bool in tests as well
* gaz
* wrapped up tests
* fix test
* shadowing fix
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* fix build from source
* clean up
* update again
* change everything
* workaround for now
* fix versioning
* all passing now
* fix build issues
* clean up
* revert use of MulVerify
* gaz
* stub
* Apply suggestions from code review
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* fix all
* fix test
* todo
* fix stub
* revert back
* make deep source happy
* Update shared/bls/herumi/public_key.go
* Update shared/bls/blst/signature.go
* Update shared/bls/blst/signature_test.go
* imports
* move iface to common, export errors
* rm iface build
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Fill in blocks to fork choice store during init
* Use format option
* Use format option
* Use correct head block. Thanks Nishant
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Check attestation target checkpoint is within current or previous epoch
* reject bad att where slot does not match target
* Add test, reduce redundant check
* fix empty db prompt
* wording
* fix merge
* prompt only on datadir use
* remove move datadir function
* remove flag
* remove prompt text
* remove added prompt function
* gaz
* advanced functionality, enable 25th word mnemonic passphrase
* 25th word passphrase
* add test
* added test to ensure differences when using the mnemonic 25th word
* better message
* passing tests
* fix up logic
* remove unused cache states map
* correct typo
* Remove unused array
* Add lock around deposits cache chainstart pubkeys
* Copy attestation before grabbing lock. This may reduce lock contention time as other callers wanting the lock do not need to wait as long for the lock to become available.
* Copy attestation before grabbing lock. This may reduce lock contention time as other callers wanting the lock do not need to wait as long for the lock to become available.
* Set capacity to 1 since it is known that the slice will be 1 after insertion
* require validatorSlashingPreconditionCheck caller to hold lock
* Add lock for voluntary exits pool HasBeenIncluded
* Require rate limiter retrieveCollector to hold lock
* Add lock requirement assertions in sync
* Remove unused struct
* remove ClearCachedStates API
* field initSyncState is unused
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* move flags
* backup db output dir flag
* fix build
* fix up broken backup test
* Radek's feedback
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Release and remove feature flag --enable-att-broadcast-discovery-attempts
* fix test
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Move IsCanonical implementation to forkchoice pkg
* Remove debug print log
* Add tests
* Fixed current tests
* Fixed a test
* Fixed a test
* Add tests for cov
* Starting saving state during hot
* Add a log
* Add helpers to turn on/off mode
* Add locks
* Add missing return
* Clean up
* Add logic to migration to handle db roots
* Add tests for on and off
* Add more tests
* Add test for migrate
* @prestonvanloon's feedback
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix initWithReset to use previously set configuration
* further cleanup
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* fix change password endpoint
* attempt same port as gateway
* update site to latest release
* final fixes
* rem gorilla mux
* gaz fix
* gaz fix
* fmt
* fix build
* fix flags
* Add a logic to exit early if there's no slashing
* Apply the same idea to final update
* Add conditions to satisfy fuzz
* Revert final updates changes
* Add comments
* Add a new test
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Add spans for AncestorRoot
* Add span for ancestor by DB
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* logout by invalidating in backend
* gaz
* regen pb.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* add majority vote to e2e
* extract policies to a separate package
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Update pubsub and fix topicIDs
* WIP filter
* Add suggested code from @bidlocode
* add tests and fix bugs
* more tests
* Wait until state initialized to accept pubsub filtering
* rename for clarity and clarify comment
* fix test builds
* Autofix issues in 2 files
Resolved issues in the following files via DeepSource Autofix:
1. beacon-chain/p2p/pubsub_filter.go
2. beacon-chain/p2p/pubsub_filter_test.go
* @nisdas pr feedback
* pr feedback and fuzz fix
* Update beacon-chain/p2p/pubsub_filter.go
* Must have protocol suffix
* Must have protocol suffix
* gofmt
* rm test, fix panic
* Fix tests
* Add isInitialized check
* Add a few more tests for better coverage
* cache fork digest, make pubsub filter part of the p2p service
* rename service
* gofmt
* Add comment
* fix
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Start Beacon API outline
* Rename to v1
* Add impl
* Change to outline
* Add comments
* Remove unneeded items
* Fix linting
* tidy
* Fix visibility
* go.sum
* Fix deps
* Tidy
* Implement blocks API endpoints
* Add check for interface type and fix pointers
* Fix pointer name
* gaz
* Fix comments
* Fix imports
* Fix analysis
* Add more coverage
* Add coverage and fix errors
* Fix head test
* Fix test remove println
* Fix error text and cleanup
* Change tests to TDD
* Add tests for finalized
* Fix att test
* Fix analysis
* Fix go mo d
* Fix proto
* fix go mod
* Extend testing
* Fix tests
* Move migration to package and test block atts
* Fix migration
* Gaz
* Check for block canonical before returning
* Fix text
* Gaz
* Fix tests
* Fix tests
* Fix canonical
* Fix test again
* Fix tests
* Remove unneeded comment
* Plug in RPC service
* Fix err msg
* Add show-private-keys flag to accoutns-v2 list
* fix fmt
* added tests and fixed return to 32 bytes
* deferred a lock and removed unused method
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* add accept tos
* fix typos
* add fixes
* check tos after config file loaded
* extend test
* add TERMS_OF_SERVICE.md
* fix
* fix typos
* add accept tos flag to e2e
* add flag to help
* add VerifyTosAcceptedOrPrompt to slasher
* fix gofmt
* fix import
* fix bazel
* Delete disable state lock and init sync verbose flags
* Delete disable slashing broadcast
* Remove disable wait for sync, noise, eth1 cache, static subnet
* Remove enable broadcast recovery attemp and make it as default
* Remove disable head update on per attestation
* Revert disable att braodcast discovery attempt
* gazelle
* Fixed an anti pattern
* Add enableAttBroadcastDiscoveryAttempts back
* Add back WaitForSync
* Remove extra lines
* Use DisableDynamicCommitteeSubnets path per @prestonvanloon feedback
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Allow slashing pools to retrieve all items
* Add functionality to exits too to retrieve all exits
* Rename to noLimit
* ndo err
* Fix tests
* Fix test
* Fix test again
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* remove deposit proof and pending deposits
* wip
* wip
* wip
* clean up logs/comments
* function for pruning deposits and feature flag
* remove log
* add flag to beacon flags
* addressed PR feedback from terence
* add test assertions for errors
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* import attestation to new data structure
* add tests
* add failure massages
* added signing root to data
* added signing root to data
* public keys 48 length
* remove redundant loop
* fix proposals
* fix manage dir name
* Omit redundant nil check on slices
* nishant feedback
* add test
* remove unused code
* remove defer use in loop
* Remove unused methods and constants
* gofmt and gaz
* nilness check
* remove unused args
* Add TODO for refactoring subscribeWithBase to remove unused arg. It seems too involved to include in this sweeping PR. https://github.com/prysmaticlabs/prysm/issues/7437
* replace empty slice declaration
* Remove unnecessary type conversions
* remove redundant type declaration
* rename receivers to be consistent
* Remove bootnode query tool. It is now obsolete by discv5
* Remove relay node. It is no longer used or supported
* Revert "Remove relay node. It is no longer used or supported"
This reverts commit 4bd7717334.
* Delete unused test directory
* Delete unsupported gcp startup script
* Delete old k8s script
* build fixes
* fix build
* go mod tidy
* revert slasher/db/kv/block_header.go
* fix build
* remove redundant nil check
* combine func args
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* more descriptive password validation error
* include change wallet password fixes
* balance and jwt improvements
* allow for different wallet dirs specified on startup
* ensure wallet password is always validated
* fix up prysm tests
* gaz
* test pass
* pass balances tests
* wrap up fixes
* radek feedback
* fix up tests
* cors fix
* add tests for validator status
* pass tests
* fix n
* skip content type test
* package level cache and send over feed
* package level cache for derived
* all tests passing
* gofmt
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix#7393
* fix go fmt
* Add a test
* Convert to map of strings
* @terencechain fixes
* Update validator/keymanager/v2/direct/import.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* Add ancestor root fall back to DB check
* Add a warning message
* Refactor ancestor lookups into seperate functions
* Update error string
* Fix has parent check and add a regression test
* Add a conext error test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* open web
* Update shared/browser/browser_test.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/browser/browser.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* add to depz.bazel
* run gazelle
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* fix framing
* fix up conditions
* fix
* clean up
* change back
* simpler
* no need to cast
* Use math.MaxInt64
* gaz, gofmt
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Prysm web UI basic idea
* Refactor to use shared.Service interface, add sanity test
* register web server
* Determine mimetype
* Use 4242 as port for web
* Allow localhost or 127.0.0.1 for CORS. More tests, commentary
* Add flags, add site_data.go
* ignore site data
* Add sha
* gofmt
* gofmt
* fix script
* Lints
* fix vis
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* fix with text
* fix also for validator and add test
* handle error
* fix another test
* handle error
* gazelle
* fix bug in slasher as well
* gazelle
* fix blst build tag
* fix fuzz build
* remove buildkite specific bazelrc line
* remove conflicting kafka gotag in CI
* fix again
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* listen to all ifaces for discovery
* fix test
* fix tests
* fix all tests
* Revert "fix all tests"
This reverts commit a5d6fffd45.
* Revert "fix tests"
This reverts commit b7a0cf5609.
* Revert "fix test"
This reverts commit 57e6218c68.
* fix and use loopback
* do properly
* fix
* listen to all ifaces
* fix bootnode
* make it trace
* make it loopback
* swap out
* change back
* fix e2e
* fix
* Update beacon-chain/p2p/discovery.go
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Import proposals protection db
* Import old proposal protection data structure to new one
* test empty slots
* Update validator/db/kv/new_proposal_history.go
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* Update validator/db/kv/new_proposal_history_test.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* cache deposits until finalized block
* take deposit index from state instead of block
* use stateByRoot
* use eth1data deposit count
* use depositCount-1
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* remove unused code
* Incomplete condition fix
* club append to single call
* anti-pattern fix 'should use for range instead of for { select {} }'
* use strings.ReplaceAll
* replace `len(parts[0]) == 0` with `parts[0] == ""`
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add close to the body for e2e test
* Add error handling to defer
* Remove extra line
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Revert PR #7429 to fix building on windows
* Revert PR #7429 to fix building on windows
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add and test proposer indices cache
* Remove proposer indices usages from committee cache
* Adopt the new proposer indices cache
* Add comments on why genesis epoch is skipped
* Fix the failing tests
* Update beacon-chain/blockchain/process_block.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/core/helpers/committee.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/core/helpers/slot_epoch.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/core/helpers/slot_epoch.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/core/helpers/slot_epoch_test.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/core/helpers/validators.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Address additional feedbacks from @prestonvanloon
* Add comments on why genesis epoch is skipped
* Refactor EndSlot to use StartSlot within
* Add proposer indices disabled
* Add libfuzz tags
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* updates comment
* manager -> service
* rename receiver
* refacgtor bad_responses
* refactor store
* update status service
* extends data service
* status service test
* refactor block provider scorer
* misc updates
* fix tests
* data -> peerdata
* gazelle
* peerdata/store test
* limit the visibility scope
* Nishant's suggestion
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* return deposit data for hd wallet create
* test added for deposit data json
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Refactor head info for better usages for lock
* Fix headroot test to use [32]byte{}
* go fmt: issue introduced in #7429
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* Add a journald log format option.
Add an accepted value "journald" for the --log-format flag so that
logs are directed to journald with the correct error level.
* fix docker images
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Pagination tests to list accounts
* fetch all
* gaz
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* add ssz rules
* regenerate protos to include deposit message
* built to match the deposit cli
* derived test
* fix up nil item
* fix up more nil items
* preston suggestion
* comment
* add missing tests to build file
* fix busted tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* test defined
* first working impl
* register analyzer
* cleanup
* removes unused code
* secure rand in slasher/detection/testing
* Updates test
* fixes ineffassign type checks
* one more
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Add prereqs package
* Incorporate prereq check into the clients
* gazelle
* gazelle fix
* linter
* Add tests
* minor change in test
* finish up tests
* gazelle
* error during platform detection does not cause client to fail fast
Co-authored-by: dv8silencer <15720668+dv8silencer@users.noreply.github.com>
* begin with delete accounts impl
* delete tests passing
* started backup, delete tests all passing
* implement backup using zip
* backup implementation done with unzip tests
* full tests done
* used proper error codes
* remove comment
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* add DisableMonitoringFlag(--disable-monitoring) to validator
* add EnableRPCFlag(--rpc) to validator (now rpc and grpc-gateway disabled by default)
* add DisableMonitoringFlag(--disable-monitoring) to slasher
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into optional-services-flags
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into optional-services-flags
* Merge branch 'master' into optional-services-flags
* implement the import function
* begin tests for import keystores and add preconditions
* import implementation done
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Cover genesis zero hashes case
* Merge branch 'master' into genesis-zero-hashes
* Cover an edge case pre genesis with fresh db
* Move state by root outside of the if
* Merge refs/heads/master into genesis-zero-hashes
* Clarify comments on why zero hashes used
* Merge branch 'genesis-zero-hashes' of github.com:prysmaticlabs/prysm into genesis-zero-hashes
* Merge refs/heads/master into genesis-zero-hashes
* Merge refs/heads/master into genesis-zero-hashes
* Merge refs/heads/master into genesis-zero-hashes
* Add check for preexisting wallet
* Reminder
* Create another check. Adjust tests
* Wording in comment
* Remove unnecessary logic. Add another regression test.
* Spacing
* Prepare to merge master
* Refactor wallet checks
* Fixed test
* Revert back to original location of check
* Fix test
* Fix test
* Address linter feedback
* Align CreateWallet() with recent changes
* Align RecoverWallet with recent changes
* Correct test error message
* Refactor test to minimize duplication
* rename to isValid and adjust function code
* refactor
* Improve IsValid()
* Fix tests
* Remove comment
* Fix documentation of IsValid()
* Align behavior of OpenWalletOrElseCli
* Fix tests
* Realigning error msg with prior behavior
* Fix another test
* Correct logic
* small change in logic
* Fix err messages
* Create consts for repeated strings
* Add comments to new constants
* gofmt
* Adjust WalletConfig behavior so it is closer to prior-to-PR. Adjust test accordingly
* adjust error messages
Co-authored-by: dv8silencer <15720668+dv8silencer@users.noreply.github.com>
* accommodate systems that use sha256sum
* cleaner use of checkSum
* Merge branch 'master' into shell_script_support4_sha256sum
* Merge branch 'master' into shell_script_support4_sha256sum
* Ensure block root is non zeros for setting head
* Merge branch 'master' into can-set-head-genesis
* Merge refs/heads/master into can-set-head-genesis
* Add, use and test `VerifyWeakSubjectivityRoot`
* Comments
* Make bazel test happy
* Merge branch 'master' into verify-ws
* Add flag to help
* Merge branch 'verify-ws' of github.com:prysmaticlabs/prysm into verify-ws
* Merge refs/heads/master into verify-ws
* Merge refs/heads/master into verify-ws
* Merge refs/heads/master into verify-ws
* Merge branch 'master' of github.com:prysmaticlabs/prysm into verify-ws
* Update beacon-chain/blockchain/service.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update beacon-chain/blockchain/weak_subjectivity_checks.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Merge branch 'verify-ws' of github.com:prysmaticlabs/prysm into verify-ws
* s/&&/|| for VerifyWeakSubjectivityRoot circuit breaker
* Merge refs/heads/master into verify-ws
* Merge refs/heads/master into verify-ws
* Skip duplicated aggregated atts
* Test
* Fixed a regression test
* Merge branch 'master' of github.com:prysmaticlabs/prysm into skip-dup-aggregator
* Go fmt
* Merge refs/heads/master into skip-dup-aggregator
* Return an error when any of the eth1 clients are nil
* return error if eth1DataFetcher is nil
* Annotate span
* gaz
* fix build and add tests
* dear linter, please accept this commit as tribute and let my PR pass
* Merge refs/heads/master into fix-7322
* Ensure start state is the parent of the first block
* Regression test
* Merge branch 'master' into state-by-slot-state-state
* Add back the line
* Merge branch 'state-by-slot-state-state' of github.com:prysmaticlabs/prysm into state-by-slot-state-state
* Add a test for lower slot block condition
* removes redundant code
* removes redundant code
* removes redundant db
* removes redundant p2p
* servive - test future genesis
* more tests for service.Start()
* service - already synced test
* Merge branch 'master' into init-sync-more-service-tests
* Merge branch 'master' into init-sync-more-service-tests
* NewInitialSync to New (avoid stutter)
* TestService_markSynced
* more assertions
* TestService_Resync
* renames test
* Merge branch 'master' into init-sync-more-service-tests
* Merge refs/heads/master into init-sync-more-service-tests
* Merge branch 'master' into init-sync-more-service-tests
* Merge refs/heads/master into init-sync-more-service-tests
* Merge branch 'master' into init-sync-more-service-tests
* fixes e2e test
* Merge branch 'init-sync-more-service-tests' of github.com:prysmaticlabs/prysm into init-sync-more-service-tests
* Merge refs/heads/master into init-sync-more-service-tests
* Merge refs/heads/master into init-sync-more-service-tests
* Merge refs/heads/master into init-sync-more-service-tests
* Merge refs/heads/master into init-sync-more-service-tests
* New -> NewInitialSync
* Update spadina network name
* Merge refs/heads/master into update-config
* Merge refs/heads/master into update-config
* Merge refs/heads/master into update-config
* Merge refs/heads/master into update-config
* Remove long deprecated db state gen
* Remove long deprecated db state gen
* gazelle
* Delete pass through
* Merge refs/heads/master into rm-deprecated-regen
* Merge refs/heads/master into rm-deprecated-regen
* Merge refs/heads/master into rm-deprecated-regen
* store wallet pass on creation
* store wallet hash
* save hash to wallet dir
* initialize wallet hash
* gaz
* imports spacing
* remove mentions of hashed pass from db schema
* simplify the wallet hash code
* comment removal
* Merge branch 'master' into fix-password-override
* pass tests
* test fix
* Merge branch 'fix-password-override' of github.com:prysmaticlabs/prysm into fix-password-override
* remove extraneous printfs
* tests passing
* require auth for create wallet
* gaz
* fix signup logic
* Merge refs/heads/master into fix-password-override
* Merge refs/heads/master into fix-password-override
* Merge refs/heads/master into fix-password-override
* Merge refs/heads/master into fix-password-override
* Merge branch 'master' into fix-password-override
* Fix prompt default handling
* Merge branch 'master' of github.com:prysmaticlabs/prysm into default_handling
* added test
* Merge branch 'master' of github.com:prysmaticlabs/prysm into default_handling
* Merge branch 'master' of github.com:prysmaticlabs/prysm into default_handling
* Add grpc logs
* gaz
* Merge refs/heads/master into add-connection-error-handling
* try to restart connection on status unavailable
* Merge branch 'add-connection-error-handling' of github.com:prysmaticlabs/prysm into add-connection-error-handling
* add retry on dial
* goimports
* Merge refs/heads/master into add-connection-error-handling
* gaz
* Merge branch 'add-connection-error-handling' of github.com:prysmaticlabs/prysm into add-connection-error-handling
* Merge branch 'master' of github.com:prysmaticlabs/prysm into add-connection-error-handling
* refactor state initialization into waitForStateInitialization
* more tests
* redundant blank line
* Merge branch 'master' into init-sync-refactor-state-init
* moves comment up
* Nishant's suggestions + bit more refactoring
* Explicitly process error (Nishant's suggestion)
* Add two more gossip validations for unaggregated attestations
* Removed a typo log
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add config
* Merge refs/heads/master into prop-slashing-mul
* Fixed a typo reported by Radek
* Merge branch 'prop-slashing-mul' of github.com:prysmaticlabs/prysm into prop-slashing-mul
* refactors test
* Merge branch 'master' into optimize-proposals
* more filtering and sorting proposer atts
* Merge branch 'master' into optimize-att-proposer
* Merge branch 'master' into optimize-att-proposer
* revert
* Terence's suggestion on naming
* Check that the headers are equal while ignoring the signature for proposer slashings. Resolves https://github.com/sigp/beacon-fuzz/issues/74
* fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Implement and test GetWeakSubjectivityCheckpoint
* Go mod tidy
* Add mock
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* analyzer, tests and fixes
* error check
* gazelle
* add more asserts
* Merge branch 'master' into nop-analyzer
* Merge refs/heads/master into nop-analyzer
* fix no-op in blst package
* Merge refs/heads/master into nop-analyzer
* add assert after mutation
* mark test as TODO
* add issue number to TODO
* Save cached blocks before Stop()
* Merge refs/heads/master into save-cached-blocks
* Merge refs/heads/master into save-cached-blocks
* Merge refs/heads/master into save-cached-blocks
* Merge refs/heads/master into save-cached-blocks
* Merge refs/heads/master into save-cached-blocks
* Regression test
* Merge branch 'save-cached-blocks' of github.com:prysmaticlabs/prysm into save-cached-blocks
* Add blst third party dep
* initial build
* add init
* blst passing tests
* add feature flag
* blst and herumi for spec tests
* maybe this works for mac
* Actually set feature flag
* Add stub for VerifyMultipleSignatures for blst
* verifyCompressed
* use correct cores sizes
* aggregate public keys
* add multi-sig verification
* encode not hash
* revert back
* go mod tidy
* update blst to latest commit
* add batch decompress
* fix
* add test
* gofmt
* update blst
* go mod tidy
* remove kubesec, fix
* mod tidy
* disable some remote cache
* disable some remote cache
* disable some remote cache
* disable some remote cache
* Switch to -D__ADX__
* update
* tidy
* fix build
* Make blst for only linux,amd64
* gofmt
* lint
* lint
* gazelle
* fix build tag
* more stub methods
* shift adx instructions to x86
* fix arm64
* Revert "fix arm64"
This reverts commit 4d34ac21b7.
* add one more in
* Revert "Revert "fix arm64""
This reverts commit 1c8ae24ad1.
* try darwin now
* Revert "try darwin now"
This reverts commit 6f884714b8.
* Add sha256
* remove TODO
* checkpoint
* finally builds
* fix up
* add tag
* try again
* explicit disabling
* remove
* select properly
* fix
* better
* make CI happy too
* Update .bazelrc
* Update .bazelrc
* fix tests
* revert back
* Update shared/bls/blst/public_key.go
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* Update shared/bls/blst/public_key.go
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* clean up tests
* more clean up
* clean up
* add
* Update shared/bls/blst/signature.go
* Update shared/bls/blst/signature.go
* Update .buildkite-bazelrc
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* try again
* remove go tag
* revert change
* gaz
* gazelle ignore
Co-authored-by: nisdas <nishdas93@gmail.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Return errs instead of nils
* Update a few more tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* checkpoint changes
* new changes
* comment
* clean up
* set
* fix
* fix more
* more stuff
* clean up
* clean up
* remove
* clean up
* clean up
* comment
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Maintain working password instead of overwriting it.
* Check for error first
* fix test
* Address linter
* TEMP, INCOMPLETE; Working on regression test
* WORK IN PROGRESS - changed promptutil to create a mock password reader
* Test working now
* Address testing bugs
* Spacing
* Comments. Fixed counter bug.
* gazelle fix
Co-authored-by: dv8silencer <15720668+dv8silencer@users.noreply.github.com>
* Add AFL third_party libraries
* add beacon state fuzzing, add afl fuzz bundle
* rm fuzzing engine
* fix and lint
* Check for array out of bounds when calculating proposer delta
* failing test
* fix
* Checkpoint progress
* Add requirement that inclusion distance is not zero, add regression test
* No need for HTR since that is covered in process slots
* Removing some fuzzit logic, old fuzz tests
* Add ssz encoder test and fix
* Fuzzing checkpoint, adding fuzzing to the p2p layer
* ignore some libfuzzer files
* Full testing of p2p processing of blocks, with some mocked stuff
* use tmpdir and always process blocks
* use checkptr
* Update ethereumapis
* go mod tidy
* benchmarks for ferran's fast ssz hash tree root
* Update fastssz
* fmt
* gaz
* goimports
* Fix
* fix ethereumapis
* fix again
* kafka
* fix gen file
* fix compute signing root
* gofmt
* checkpoint progress
* progress
* checkpoint
* updates
* updates
* merge fix
* WIP
* merge
* fix build
* fix merge related issues
* cleanup
* revert unrelated
* lint
* lint
* lint
* manual tags for fuzz
* Commentary on upload script
* some import fixes, but not all
* fix //fuzz:fuzz_tests
* rm unused test
* update generated ssz
* Set // +build libfuzzer
* remove debug code
* A bit of refactoring ot explain why there is a committee_disabled file
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* wip
* working for some ast nodes
* works for all but assignment
* works for all but mixed assignments
* change test name
* plug in the analyzer
* remove `copy` from predeclared list
* rename few shadowing names
* rename `len` to `length`
* add one more test case
* rename `panic` to `panicResult`
* replace `panic` with `panicResult` in error message
* remove test case not covered by the tool
* add `byte` to predeclared list
* additional test cases
* rename `copy` to `copyHandler`
* exclude functions with receivers
* revert to good names
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* removes att pool changing in getter
* test
* add prunning
* Merge refs/heads/master into no-pruning-in-unagg-att-getter
* Merge refs/heads/master into no-pruning-in-unagg-att-getter
* Merge refs/heads/master into no-pruning-in-unagg-att-getter
* Merge refs/heads/master into no-pruning-in-unagg-att-getter
* Implement and test WeakSubjectivityCheckptEpoch
* Merge refs/heads/master into get-wss
* Merge refs/heads/master into get-wss
* Merge refs/heads/master into get-wss
* Merge refs/heads/master into get-wss
* Update beacon-chain/core/helpers/slot_epoch.go
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* Adds AggregateUnaggregatedAttestationsBySlotIndex method
* tests
* filter attestations by slot/index for aggregator to process
* Merge branch 'master' into att-aggregator-filter-by-slot-and-index
* Merge refs/heads/master into att-aggregator-filter-by-slot-and-index
* Merge refs/heads/master into att-aggregator-filter-by-slot-and-index
* rewrite of ProposeExit
# Conflicts:
# validator/accounts/v2/accounts_exit.go
* translate todos to English
* use node client to calculate current epoch
* resolve dependency cycle
* add missing dependencies
* changed required epochs error message
* fix ProposeExit tests
* remove unused metrics
* simplify public-keys flag name
* organize CLI function
* fix incorrect list of exited keys
* fix formatting of non-exited keys
* add exit root to span attributes
* use errors instead of logs
* log info when all exits failed
* do not log stack trace for non-critical errors
* modify test asserts
* use standard way of displaying errors
* remove todo
* add missing function to wallet mock
* gazelle
* gazelle after stash
* move creating clients to separate function
* gazelle
* fix health reporting
* import
* Merge refs/heads/master into fix-health
* account test
* Merge branch 'fix-health' of github.com:prysmaticlabs/prysm into fix-health
* Merge refs/heads/master into fix-health
* Merge refs/heads/master into fix-health
* Merge refs/heads/master into fix-health
* Merge refs/heads/master into fix-health
* Merge branch 'fix-health' of github.com:prysmaticlabs/prysm into fix-health
* Merge refs/heads/master into fix-health
* Merge branch 'fix-health' of github.com:prysmaticlabs/prysm into fix-health
* Merge refs/heads/master into fix-health
* fmt
* Merge refs/heads/master into fix-health
* Safer validator protection db dir
* handle old account structure
* Merge refs/heads/master into move_validator_protection_db
* Merge refs/heads/master into move_validator_protection_db
* Merge refs/heads/master into move_validator_protection_db
* Merge refs/heads/master into move_validator_protection_db
* fix e2e issue
* separate function
* Merge branch 'move_validator_protection_db' of github.com:prysmaticlabs/prysm into move_validator_protection_db
* Merge branch 'master' of github.com:prysmaticlabs/prysm into move_validator_protection_db
* Merge refs/heads/master into move_validator_protection_db
* Merge refs/heads/master into move_validator_protection_db
* Merge refs/heads/master into move_validator_protection_db
* Update shared/fileutil/fileutil.go
* Merge refs/heads/master into move_validator_protection_db
* add in cors for web ui in val client and gateway flag
* Merge branch 'master' into add-default-beacon-gateway
* gateway cors value
* Merge branch 'add-default-beacon-gateway' of github.com:prysmaticlabs/prysm into add-default-beacon-gateway
* fix tests
* Merge refs/heads/master into add-default-beacon-gateway
* prepare validator for web usage
* wallet exists func in rpc server
* only initialize wallet if feed exists and wallet also exists
* enabling web via a feed
* wallet creation works but needs to be able to recover from mnemonic via api
* ensure logic works
* Merge branch 'master' into validator-web
* fix up tests
* test file
* wallet rpc tests
* add all tests to create wallet
* Merge branch 'master' into validator-web
* imports
* Merge branch 'validator-web' of github.com:prysmaticlabs/prysm into validator-web
* Merge refs/heads/master into validator-web
* Merge refs/heads/master into validator-web
* Deprecate beacon chain slasher flags
* Merge branch 'master' into deprecate_beacon_slasher_flags
* remove comments
* Merge branch 'deprecate_beacon_slasher_flags' of github.com:prysmaticlabs/prysm into deprecate_beacon_slasher_flags
* hidden
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* remove start slasher client
* de-depracate an in use flag in validator
* Merge branch 'master' of github.com:prysmaticlabs/prysm into deprecate_beacon_slasher_flags
# Conflicts:
# shared/featureconfig/flags.go
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Merge refs/heads/master into deprecate_beacon_slasher_flags
* Set head to finalized
* Merge branch 'master' into set-head-to-finalized
* Fixed testtttts
* Merge branch 'set-head-to-finalized' of github.com:prysmaticlabs/prysm into set-head-to-finalized
* Merge refs/heads/master into set-head-to-finalized
* Add overflow checks
* More fixes
* Typos
* Merge branch 'master' into fix-overflow
* One more regression test
* Merge branch 'fix-overflow' of github.com:prysmaticlabs/prysm into fix-overflow
* Gazelle
* Merge branch 'master' into fix-overflow
* Nishant's feedback
* Merge refs/heads/master into fix-overflow
* web api changes
* Merge branch 'master' into wallet-creation-protos
* protos checked in
* Merge branch 'wallet-creation-protos' of github.com:prysmaticlabs/prysm into wallet-creation-protos
* handle zero root requests
* clean up
* Merge refs/heads/master into handleZeroRoots
* Merge refs/heads/master into handleZeroRoots
* Merge branch 'master' into handleZeroRoots
* begin on dynamic key rescan
* Merge branch 'master' into dynamic-rescan
* begin dynamic rescan
* fsnotify to listen for rescan dir changes
* recheck for slashing protection
* lint
* Merge branch 'master' into dynamic-rescan
* less aggressive recheck interval
* imports
* Merge branch 'dynamic-rescan' of github.com:prysmaticlabs/prysm into dynamic-rescan
* resolve confs
* listen for file changes for accounts file
* reload accounts from keystore
* begin fixing rescan test
* add event feed
* fix confs
* fix conf
* fix broken tests
* Merge branch 'master' into dynamic-rescan
* simplify lines
* do nothing if no subscribers
* Merge branch 'dynamic-rescan' of github.com:prysmaticlabs/prysm into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* fix tests
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* gaz
* Merge branch 'dynamic-rescan' of github.com:prysmaticlabs/prysm into dynamic-rescan
* ident
* Update WORKSPACE
* gaz
* Merge branch 'dynamic-rescan' of github.com:prysmaticlabs/prysm into dynamic-rescan
* add keys on service start
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* ensure debounce util works
* Merge branch 'dynamic-rescan' of github.com:prysmaticlabs/prysm into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* complete refresh, debounce test, and ensure works at runtime
* Merge branch 'dynamic-rescan' of github.com:prysmaticlabs/prysm into dynamic-rescan
* imports and remove log
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* Merge refs/heads/master into dynamic-rescan
* resolve confs
* fix up e2e tests
* Merge branch 'dynamic-rescan' of github.com:prysmaticlabs/prysm into dynamic-rescan
* fix up e2e
* Merge refs/heads/master into dynamic-rescan
* Create mocks for updated ethereumapis
* Revert "Create mocks for updated ethereumapis"
This reverts commit 0da06d5158.
* update ethereumapis
* new metrics
* ProposeExit implementation and tests
* fix comments for metrics
* assert errors
* added one more error assert
* remove redundant comments
* make metric names compliant with best practices
* change root calculation
* fix test assertion
* fix test assertion
* check if domain is not nil
* extract error messages
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* keymanagers no longer use cli ctx
* rename important values to keymanageropts
* further refactor accounts methods to reduce cli dependency
* separating cli vs non cli methods for various accounts functions
* recover wallet cli vs non-cli mode
* ensure half of tests build
* accounts v2 package now builds
* full revamp wallet creation or opening wallets
* everything builds
* tests pass finally
* Merge branch 'master' into no-cli-keymanagers
* ensure commands work as expected
* Merge branch 'no-cli-keymanagers' of github.com:prysmaticlabs/prysm into no-cli-keymanagers
* further fix build
* account creation comments
* fix imports and comments
* fix up failing test
* fix build
* Update derived.go
* Update direct.go
* Update remote.go
* Fixed variable
* fix up red tests
* use Cli instead of CLI, fix tests, and address Radek's feedback
* Merge refs/heads/master into no-cli-keymanagers
* Merge refs/heads/master into no-cli-keymanagers
* Merge refs/heads/master into no-cli-keymanagers
* Merge refs/heads/master into no-cli-keymanagers
* Merge refs/heads/master into no-cli-keymanagers
* Merge refs/heads/master into no-cli-keymanagers
* Merge refs/heads/master into no-cli-keymanagers
* Merge refs/heads/master into no-cli-keymanagers
* handle interop states
* lint
* Merge refs/heads/master into handleInteropCase
* fix test
* Merge branch 'handleInteropCase' of https://github.com/prysmaticlabs/geth-sharding into handleInteropCase
* deprecate flag
* gaz
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* Merge refs/heads/master into deprecateFlag
* add check back
* Verify deposits made and show network deposit is for
* Merge branch 'master' of github.com:prysmaticlabs/prysm into verify-deposit-netowrk
* Fix formatting
* gofmt
* Merge branch 'master' of github.com:prysmaticlabs/prysm into verify-deposit-netowrk
* Improve deposit sig failure error
* Merge branch 'master' of github.com:prysmaticlabs/prysm into verify-deposit-netowrk
* Fix fmt
* Add "verified for" text
* Update shared/params/config.go
* Merge branch 'master' into verify-deposit-netowrk
* Merge branch 'master' into verify-deposit-netowrk
* Sync with ethapi
* Implementation and test
* Handle mock
* Fix ProposeExit for e2e
* Merge refs/heads/master into participation
* Preston's feedback
* Merge branch 'participation' of github.com:prysmaticlabs/prysm into participation
* Clean up stategen
* Sync with master
* Fix tests
* Merge refs/heads/master into cleanup-newstate
* Merge refs/heads/master into cleanup-newstate
* Rename file
* Merge branch 'cleanup-newstate' of github.com:prysmaticlabs/prysm into cleanup-newstate
* gaz
* Forgot to add metrics page back
* Update ethereumapis
* Add PARTIALLY_DEPOSITED status
* go mod tidy
* Fix bug
* Fixup
* Fixup
* Fix tests
* Revert fast ssz bump
* Pending status if deposit amount is 0
* go mod tidy
* More tests
* Trigger Buildkite
* Fix TestMultipleValidatorStatus_Indices
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Revert "Revert "Update fastssz" (#7100)"
This reverts commit b954db9704.
* Preston's patch
* Merge branch 'master' of github.com:prysmaticlabs/prysm into revert-7100-revert-6760-update-fssz
* Update fssz, add regression test case
* more HTR with fssz
* fix some tests
* only one test left
* Make it so that HTR will work
* gofmt, imports
* gofmt, imports
* fix
* Merge branch 'master' of github.com:prysmaticlabs/prysm into revert-7100-revert-6760-update-fssz
* fix
* Merge branch 'master' into revert-7100-revert-6760-update-fssz
* Merge refs/heads/master into revert-7100-revert-6760-update-fssz
* gaz
* Merge branch 'revert-7100-revert-6760-update-fssz' of github.com:prysmaticlabs/prysm into revert-7100-revert-6760-update-fssz
* Merge refs/heads/master into revert-7100-revert-6760-update-fssz
* fix test
* Merge branch 'revert-7100-revert-6760-update-fssz' of github.com:prysmaticlabs/prysm into revert-7100-revert-6760-update-fssz
* Merge refs/heads/master into revert-7100-revert-6760-update-fssz
* Return an error if no eth1 endpoint defined and we do not have genesis state
* Merge refs/heads/master into fail-without-genesis-state-and-no-eth1-node
* request headers instead of blocks
* Merge branch 'master' into changeToHeader
* Apply suggestions from code review
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* change references
* one more change
* last one
* Merge refs/heads/master into changeToHeader
* Cound attestations from orphaned blocks
* Use next epoch's end slot
* Fixed a test
* Fixed a test
* Nishant's feedback
* Typo
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* update VerifyMerkleBranch to match ETH2.0 spec
* Merge branch 'master' into 6705-refactor-verify-merkle-branch
* Make depth a parameter of VerifyMerkleBranch
* Merge branch '6705-refactor-verify-merkle-branch' of github.com-fabdarice:fabdarice/prysm into 6705-refactor-verify-merkle-branch
* Merge branch 'master' into 6705-refactor-verify-merkle-branch
* loop instead of appending
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into 6705-refactor-verify-merkle-branch
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into 6705-refactor-verify-merkle-branch
* fix int conversion
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into 6705-refactor-verify-merkle-branch
* Merge branch '6705-refactor-verify-merkle-branch' of github.com-fabdarice:fabdarice/prysm into 6705-refactor-verify-merkle-branch
* Merge branch 'master' into 6705-refactor-verify-merkle-branch
* fix keymanagerv2 tests
* revert print
* merge conflict
* fix bug during merge
* Merge branch 'master' into 6705-refactor-verify-merkle-branch
* Merge branch 'master' into 6705-refactor-verify-merkle-branch
* add new options
* Merge refs/heads/master into removePubsubFields
* Merge refs/heads/master into removePubsubFields
* Merge refs/heads/master into removePubsubFields
* Merge refs/heads/master into removePubsubFields
* Merge refs/heads/master into removePubsubFields
* Merge refs/heads/master into removePubsubFields
* Merge refs/heads/master into removePubsubFields
* Merge refs/heads/master into removePubsubFields
* Merge refs/heads/master into removePubsubFields
* Merge refs/heads/master into removePubsubFields
* Merge refs/heads/master into removePubsubFields
* Merge refs/heads/master into removePubsubFields
* add in deposit logic
* create the deposit functionality
* import formatting and create deposit config
* proceed with retrieving user input for calling the deposit func
* actually send our the deposits
* better handling and comments
* programmatically send all
* lint
* gaz
* add progress bar
* deposit test
* better error handling
* Update validator/accounts/v2/accounts_deposit.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Merge refs/heads/master into send-deposit
* Merge refs/heads/master into send-deposit
* Merge refs/heads/master into send-deposit
* Merge refs/heads/master into send-deposit
* Merge refs/heads/master into send-deposit
* Merge refs/heads/master into send-deposit
* Merge refs/heads/master into send-deposit
* Merge refs/heads/master into send-deposit
* more conservative selection of non-finalized peers
* Merge refs/heads/master into init-sync-non-finalized-loop
* Nishant's suggestion on possible overflow
* Merge branch 'init-sync-non-finalized-loop' of github.com:prysmaticlabs/prysm into init-sync-non-finalized-loop
* Merge refs/heads/master into init-sync-non-finalized-loop
* Merge refs/heads/master into init-sync-non-finalized-loop
* backup for derived complete
* Merge refs/heads/master into derived-backup
* Merge refs/heads/master into derived-backup
* Merge refs/heads/master into derived-backup
* Merge refs/heads/master into derived-backup
* Merge refs/heads/master into derived-backup
* Merge refs/heads/master into derived-backup
* Merge refs/heads/master into derived-backup
* Merge refs/heads/master into derived-backup
* Merge refs/heads/master into derived-backup
* healthz in sync when chain not started
* Merge refs/heads/master into fix-healthz-when-process-deposits
* Merge refs/heads/master into fix-healthz-when-process-deposits
* Merge refs/heads/master into fix-healthz-when-process-deposits
* Optimize marshal and unmarshal
* Merge branch 'master' into slasher-optimize-span
* Merge branch 'master' into slasher-optimize-span
* Add tests and comments
* Merge branch 'slasher-optimize-span' of github.com:prysmaticlabs/prysm into slasher-optimize-span
* Merge branch 'master' of github.com:prysmaticlabs/prysm into slasher-optimize-span
* Merge refs/heads/master into slasher-optimize-span
* Merge refs/heads/master into slasher-optimize-span
* Merge refs/heads/master into slasher-optimize-span
* Add prysm.sh1 for native Windows support via PowerShell
* Remove unused variable
* Merge branch 'master' into master
* Merge branch 'master' into master
* Merge branch 'master' into master
* Merge branch 'master' into master
* DB: add block roots test
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Pool: add seen atts map
* Pool: use seen atts map
* Pool: clear seen map
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Core: clean up unused noverify and tidy up namings
* Gaz
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Core: Add no verify back. Better namings
* Merge branch 'rm-no-verify' of github.com:prysmaticlabs/prysm into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Core: fixed a test
* Merge branch 'rm-no-verify' of github.com:prysmaticlabs/prysm into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* Merge refs/heads/master into rm-no-verify
* checkpoint
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into batchRootReq
* test
* gaz
* fix test
* comment
* Merge refs/heads/master into multipleBranchProcessing
* Merge refs/heads/master into multipleBranchProcessing
* Merge refs/heads/master into multipleBranchProcessing
* Merge refs/heads/master into multipleBranchProcessing
* Merge refs/heads/master into multipleBranchProcessing
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into batchRootReq
* terence's review
* Merge branch 'multipleBranchProcessing' of https://github.com/prysmaticlabs/geth-sharding into batchRootReq
* Save finalized checkpoint before migrate to cold
* Save finalized checkpoint before migrate to cold
* Merge branch 'master' into save-checkpoint-first
* Change ListDirs() to Exists()
* Merge branch 'master' into fix-derived-pass
* Make function more accurate
* Merge branch 'fix-derived-pass' of github.com:prysmaticlabs/prysm into fix-derived-pass
* Merge refs/heads/master into fix-derived-pass
* Merge refs/heads/master into fix-derived-pass
* Merge refs/heads/master into fix-derived-pass
* Merge refs/heads/master into fix-derived-pass
* Merge refs/heads/master into fix-derived-pass
* Merge refs/heads/master into fix-derived-pass
* Merge refs/heads/master into fix-derived-pass
* Merge refs/heads/master into fix-derived-pass
* Merge refs/heads/master into fix-derived-pass
* Merge refs/heads/master into fix-derived-pass
* Only cache epoch boundary state in the event of skipped epoch boundary slot
* checkpoint
* remove lods
* checkppoint again
* Cache: fill if empty
* Don't include the sync fixes
* Update sync utils
* Avoid extra process slots
Co-authored-by: nisdas <nishdas93@gmail.com>
* Revert "Sync: Dont ban block roots for context.DeadlineExceeded (#7016)"
This reverts commit a4bbd82a45.
* Merge refs/heads/master into revert-7016-dont-ban-ctx-deadline
* checkpoint
* dont cancel
* remove
* sync mode
* fixes build
* cap max retries when no finalized peers are found
* use max peers
* change it
* fixes TestService_roundRobinSync/Multiple_peers_with_different_finalized_epoch
* fixes blocks fetcher tests
* fixes blocks queue tests
* fixes TestService_blockProviderScoring test
* gofmt
* Merge branch 'master' into useStage1
* Update round_robin.go
preston's review
* Preston's suggestions
* Merge branch 'useStage1' of github.com:prysmaticlabs/prysm into useStage1
* fixes test
* added flag to enable roughtime syncing, with it disabled by defaults
* gofmt
* switched to feature flag
* enable-roughtime works correctly
* enable-roughtime works correctly
* Gaz
* Remove conflict
* fix roughtime enable
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
Co-authored-by: rauljordan <raul@prysmaticlabs.com>
* define auth endpoints
* add intercepter with tests
* auth functions
* fix up the auth functions
* add functions for storing and saving the hashed password from the validator db
* validate strong password input and simplify jwt claims
* tests for db funcs
* comments for db funcs
* wrap up the authentication tests
* register auth srv
* use proper db iface package and check if existing password
* fix broken tests and add new test to check if password already exists
* use roughtime
* rlock to check the auth paths
* Merge refs/heads/master into auth-rpc
* Merge refs/heads/master into auth-rpc
* Merge refs/heads/master into auth-rpc
* leave out the stream interceptor
* resolve confs
* Merge branch 'master' into auth-rpc
* confs
* Merge branch 'auth-rpc' of github.com:prysmaticlabs/prysm into auth-rpc
* Merge refs/heads/master into auth-rpc
* Merge refs/heads/master into auth-rpc
* Merge refs/heads/master into auth-rpc
* Merge refs/heads/master into auth-rpc
* first working implementation
* assertions tests
* adds to requires
* merges assert and require tests into a single suite
* gazelle
* Merge branch 'merge-assert-require-tests' into assert-logs-contains-move-to-assertions
* gazelle
* updates references
* fixes build issue
* Merge branch 'master' into assert-logs-contains-move-to-assertions
* Merge refs/heads/master into assert-logs-contains-move-to-assertions
* Merge branch 'master' into assert-logs-contains-move-to-assertions
* fixes build issue
* Merge branch 'assert-logs-contains-move-to-assertions' of github.com:prysmaticlabs/prysm into assert-logs-contains-move-to-assertions
* Merge refs/heads/master into assert-logs-contains-move-to-assertions
* Merge refs/heads/master into assert-logs-contains-move-to-assertions
* progress on export feature
* Merge branch 'master' into impl-export
* rename func
* imports
* confs
* export single works
* impl export
* Merge branch 'master' into impl-export
* cleanup exports code
* rename to backup
* rename to backup
* Merge branch 'master' into impl-export
* full test for backup
* Merge branch 'impl-export' of github.com:prysmaticlabs/prysm into impl-export
* gazelle fix
* terence feedback
* merge confs
* Merge branch 'master' into impl-export
* refactor into single select accounts function
* gaz
* Merge refs/heads/master into impl-export
* victor's feedback
* validate yes or no
* confs
* close the zip file in defer
* Merge refs/heads/master into impl-export
* Merge refs/heads/master into impl-export
* Proto: first attempt of account related web api protos
* Proto: health related web api protos
* Merge branch 'master' of github.com:prysmaticlabs/prysm into validator-protos-1
* Merge branch 'master' of github.com:prysmaticlabs/prysm into validator-protos-1
* Sync with master
* @rauljordan's feedback
* inverts attestation-aggregation-strategy flag
* Merge refs/heads/master into att-aggregation-opt-out-flag
* marks deprected flag as hidden
* Merge branch 'att-aggregation-opt-out-flag' of github.com:prysmaticlabs/prysm into att-aggregation-opt-out-flag
* Merge refs/heads/master into att-aggregation-opt-out-flag
* Merge variable declaration and assignment
* Use result of type assertion to simplify cases
* Replace call to bytes.Compare with bytes.Equal
* Drop unnecessary use of the blank identifier
* Replace x.Sub(time.Now()) with time.Until(x)
* Function literal can be simplified
* Use a single append to concatenate two slices
* Replace time.Now().Sub(x) with time.Since(x)
* Omit comparison with boolean constant
* Omit redundant nil check on slices
* Nested if can be replaced with else-if
* Function call can be replaced with helper function
* Omit redundant control flow
* Use plain channel send or receive
* Simplify returning boolean expression
* Merge branch 'origin-master' into fix-antipatterns
* Merge branch 'master' into fix-antipatterns
* Merge branch 'origin-master' into revert-single-channel-antipattern
* Revert "Use plain channel send or receive"
This reverts commit b3108fdc3a.
* wallet should no longer deal with account passwords
* ensure tests are fixed
* Merge branch 'master' into corrupted-pass
* move mnemonic logic into right place
* rem fmts
* add fileutil
* gazelle
* imports
* move seed logic to derived
* fix tests
* imports
* gaz
* Merge refs/heads/master into corrupted-pass
* merge confs
* Merge refs/heads/master into corrupted-pass
* ivan's feedback
* Merge branch 'corrupted-pass' of github.com:prysmaticlabs/prysm into corrupted-pass
* gaz
* fix shared test
* Merge refs/heads/master into corrupted-pass
* resolve conflicts
* fix test build
* Merge variable declaration and assignment
* Use result of type assertion to simplify cases
* Replace call to bytes.Compare with bytes.Equal
* Drop unnecessary use of the blank identifier
* Replace x.Sub(time.Now()) with time.Until(x)
* Function literal can be simplified
* Use a single append to concatenate two slices
* Replace time.Now().Sub(x) with time.Since(x)
* Omit comparison with boolean constant
* Omit redundant nil check on slices
* Nested if can be replaced with else-if
* Function call can be replaced with helper function
* Omit redundant control flow
* Use plain channel send or receive
* Simplify returning boolean expression
* Merge branch 'origin-master' into fix-antipatterns
* Merge branch 'master' into fix-antipatterns
* Initial pass
* Add metric to measure success
* Use a subnet RWLock to prevent duplicate requests, give up after 3 attempts
* push latest commented code
* try with non-blocking broadcast
* Add feature flag, ignore parent deadline if any
* Add slot as metadata
* add tests
* gaz
Co-authored-by: nisdas <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* cherry pick
* fixes test
* go tidy
* Merge refs/heads/master into peer-scorer-weighted-sorter
* Merge refs/heads/master into peer-scorer-weighted-sorter
* Merge refs/heads/master into peer-scorer-weighted-sorter
* Merge refs/heads/master into peer-scorer-weighted-sorter
* Merge refs/heads/master into peer-scorer-weighted-sorter
* Merge refs/heads/master into peer-scorer-weighted-sorter
* Merge refs/heads/master into peer-scorer-weighted-sorter
* Merge refs/heads/master into peer-scorer-weighted-sorter
* Merge refs/heads/master into peer-scorer-weighted-sorter
* shift to debug logs
* Merge branch 'master' into makeFailuresDebug
* go sum
* Merge branch 'master' into makeFailuresDebug
* Merge branch 'master' into makeFailuresDebug
* Merge refs/heads/master into makeFailuresDebug
* Subscriber: use target epoch for hasSeen cache
* Merge refs/heads/master into use-target
* Merge refs/heads/master into use-target
* Merge refs/heads/master into use-target
* Merge refs/heads/master into use-target
* Merge refs/heads/master into use-target
* Merge refs/heads/master into use-target
* Merge refs/heads/master into use-target
* Merge refs/heads/master into use-target
* Merge refs/heads/master into use-target
* Merge refs/heads/master into use-target
* Merge refs/heads/master into use-target
* Merge refs/heads/master into use-target
* Remove passwords dir
* Deprecate flag
* Merge branch 'master' of github.com:prysmaticlabs/prysm into remove-passwords-dir
* Properly deprecate flag
* Merge branch 'master' into remove-passwords-dir
* Merge refs/heads/master into remove-passwords-dir
* Merge refs/heads/master into remove-passwords-dir
* add sort by derivation in file name
* Update validator/accounts/v2/accounts_import_test.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* imports
* fixed var
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* utilize pubkey from privkey if missing pubkey field in keystore
* change tool as well
* Merge refs/heads/master into strange-keystore
* Merge refs/heads/master into strange-keystore
* Pool: check before save atts
* Pool: test
* Pool: update metrics
* Merge branch 'master' into check-before-save
* Merge refs/heads/master into check-before-save
* added network-id and chain-id flags
* updated usage.go to include new flags
* Merge pull request #1 from prysmaticlabs/master
rebase with master
* gofmt
* Merge branch 'ChainID-and-NetorkID-flags' of github.com:ncitron/prysm into ChainID-and-NetorkID-flags
* Restart streams on internal error
* debug instead of fatal on retry
* Merge branch 'master' of github.com:prysmaticlabs/prysm into slasher_redial
* goimports
* conn status fix
* Merge branch 'master' into slasher_redial
* recheck roughtime more frequently if we think our clock is far off
* Merge refs/heads/master into faster-roughtime-corrections
* gaz
* Merge refs/heads/master into faster-roughtime-corrections
* Merge refs/heads/master into faster-roughtime-corrections
* Merge refs/heads/master into faster-roughtime-corrections
* fix panic in has dir
* Merge refs/heads/master into has-dir-panic
* Merge refs/heads/master into has-dir-panic
* Merge refs/heads/master into has-dir-panic
* Merge refs/heads/master into has-dir-panic
* Merge refs/heads/master into has-dir-panic
* switch over to debug logs
* change back
* Change e2e to debug logging
* Merge refs/heads/master into changeToDebug-2
* Merge refs/heads/master into changeToDebug-2
* Slasher lock on update
* gaz
* Merge branch 'master' of github.com:prysmaticlabs/prysm into slasher_lock_on_update
* goimports
* line space
* ivan feedback
* Merge refs/heads/master into slasher_lock_on_update
* no need for pass in new account create
* disallow duplicates
* deduplicate and test
* gaz
* fix up broken tests
* unit test for no duplicates
* Merge branch 'master' into fix-account-create
* fix import
* Merge refs/heads/master into fix-account-create
* Merge branch 'fix-account-create' of github.com:prysmaticlabs/prysm into fix-account-create
* Setter: return early with zero hashes
* Test: zero hashes don't panic
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge refs/heads/master into zero-hashes
* Merge refs/heads/master into zero-hashes
* Merge refs/heads/master into zero-hashes
* use less intensive search
* Add mock method to implement Listener
* Merge refs/heads/master into lessIntensiveSearch
* Merge refs/heads/master into lessIntensiveSearch
* amend accounts list when coming from launchpad
* Merge refs/heads/master into fix-accounts-list
* Merge refs/heads/master into fix-accounts-list
* Merge refs/heads/master into fix-accounts-list
* Merge refs/heads/master into fix-accounts-list
* Merge refs/heads/master into fix-accounts-list
* Accounts V2: Log a warning when a user specifies --password-dir when it has already been set.
* Override wallet config, as user intended
* gofmt
* Merge refs/heads/master into av2-flag-improvement
* Fix public key formatting
* Accounts V2: Allow for user to specify single file rather than directory
* Merge branch 'master' into fix-pubkey-formatting
* Merge refs/heads/master into fix-pubkey-formatting
* Add a script to tag docker images as stable or by their git tag version
* Apply suggestions from code review
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* Always use HEAD
* Config/flags: add onyx back
* Sync with master
* Merge refs/heads/master into onyx
* Merge refs/heads/master into onyx
* onyx flag
* Merge refs/heads/master into onyx
* Merge refs/heads/master into onyx
* tests pass
* Merge branch 'master' into derive-no-store
* Merge refs/heads/master into derive-no-store
* gaz
* Merge branch 'derive-no-store' of github.com:prysmaticlabs/prysm into derive-no-store
* Merge refs/heads/master into derive-no-store
* Update badge to v0.12.2
* Merge refs/heads/master into terencechain-patch-1
* Merge refs/heads/master into terencechain-patch-1
* Merge refs/heads/master into terencechain-patch-1
* Merge refs/heads/master into terencechain-patch-1
* Merge refs/heads/master into terencechain-patch-1
* Merge refs/heads/master into terencechain-patch-1
* fix local ip
* Merge refs/heads/master into fixLocalIP
* Merge refs/heads/master into fixLocalIP
* Merge refs/heads/master into fixLocalIP
* Merge refs/heads/master into fixLocalIP
* Merge refs/heads/master into fixLocalIP
* Merge refs/heads/master into fixLocalIP
* Merge refs/heads/master into fixLocalIP
* Unskip TestSetupInitialDeposits_1024Entries
* Merge refs/heads/master into unskip-init-deposits
* Merge refs/heads/master into unskip-init-deposits
* Merge branch 'master' of github.com:prysmaticlabs/prysm into unskip-init-deposits
* Sync with master
* Merge branch 'unskip-init-deposits' of github.com:prysmaticlabs/prysm into unskip-init-deposits
* Merge refs/heads/master into unskip-init-deposits
* Merge refs/heads/master into unskip-init-deposits
* Merge refs/heads/master into unskip-init-deposits
* Merge refs/heads/master into unskip-init-deposits
* Cleanup prompts
* Merge branch 'master' of github.com:prysmaticlabs/prysm into cleanup-accounts-v2
* Fix
* add todo
* Merge branch 'master' of github.com:prysmaticlabs/prysm into cleanup-accounts-v2
* Clean
* Merge refs/heads/master into cleanup-accounts-v2
* Merge refs/heads/master into cleanup-accounts-v2
* Change with error
* Merge branch 'cleanup-accounts-v2' of github.com:prysmaticlabs/prysm into cleanup-accounts-v2
* Merge refs/heads/master into cleanup-accounts-v2
* cleanup and remove deposit tx file
* display deposit data
* config: use medalla as default
* Tests: align with medalla spec
* Config/flag: deprecate medalla feature flag
* Update shared/featureconfig/flags.go
* Spectest: set genesis forkversion to 0,0,0,0
* Config: set medalla as defat in Configure
* Extra space
* Shard: use copy
* Revert a p2p fork test
* Update default medalla for tools
* Use medalla config for e2e
* Fix E2E
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Move time checks to the start
* Merge branch 'master' of github.com:prysmaticlabs/prysm into check-time-first
* Merge refs/heads/master into check-time-first
* Merge refs/heads/master into check-time-first
* Merge refs/heads/master into check-time-first
* Merge refs/heads/master into check-time-first
* Merge refs/heads/master into check-time-first
* Add promptutil to shared/promptutil
* fixes
* comment
* Implement promptutil into accounts-v2
* gaz
* Merge branch 'master' of github.com:prysmaticlabs/prysm into implement-promptutil
* Apply suggestions from code review
* gofmt and fix all scanned input
* Merge refs/heads/master into implement-promptutil
* return INVALID status if BLS signature is invalid
* add unit tests for VerifyDepositSignature function
* fix lint
* lint fix
* gazelle run run
* update ethereumapis dependencies in go module
* tidy go mod
* update VerifyDepositSignature function to use the proper way of generating sig
* update tests
* update gazelle
* add ValidatorStatus test
* update to Warn
* reorder impot
* merge verifyDepositDataSigningRoot with VerifyDepositSignature
* refactor one last time
* align with specs for computing Domain
* add warn error logs
* change default wallet dir path to not be hidden
* gaz + pass wallet dir
* gaz + move const to flags
* move to flags
* move to flags
* use filepath join in order to create a valid dir name
* add wallet dir
* return err no wallet found issues
* fix up edit remote
* all tests passing
* fix test
* create or open wallet
* ivan feedback
* enter password for account with pubkey
* Update validator/accounts/v2/accounts_create.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* works
* preston feedback
* nothing to export
* fmt
* test for create or open
* gaz
Co-authored-by: shayzluf <thezluf@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Return 503 on healthz with error
* fix other test
* Update shared/prometheus/service_test.go
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* forkchoice: add `HasParent` and `AncestorRoot` getters
* Tests
* Interfaces
* process block: use getters in `ancestor`
* Update tests
* Merge branch 'master' of github.com:prysmaticlabs/prysm into faster-ancestor-block
* feedback from @rauljordan
* eth1DataMajorityVote draft
* Merge branch 'origin-master' into eth1-majority-voting
* small test change
* move minimal config's HeadOfVotingPeriodLength closer to sqroot(32)
* remove todo
* remove head period and simplify equality check
* extract private functions from eth1DataMajorityVote
* feature flag
* Merge branch 'origin-master' into eth1-majority-voting
* add bytes import to tests
* Merge branch 'master' into eth1-majority-voting
* re-run build
* Merge branch 'master' into eth1-majority-voting
* Merge branch 'master' into eth1-majority-voting
* Merge branch 'master' into eth1-majority-voting
* Fix accounts v2 runtime
* Accounts V2: Fix issues found by rkapka
* Add to help
* Merge refs/heads/master into fix-v2-runtime
* Merge refs/heads/master into fix-v2-runtime
* Merge refs/heads/master into fix-v2-runtime
* Merge refs/heads/master into fix-v2-runtime
* Fixes
* add back error
* Make new wallet error cleaner
* Fix text
* Fix log
* Add case for normal error
* Update validator/flags/flags.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Merge branch 'master' of github.com:prysmaticlabs/prysm into fix-v2-runtime
* Merge refs/heads/master into fix-v2-runtime
* Fix comment
* Merge refs/heads/master into fix-v2-runtime
* fix comment
* Fix test
* Merge branch 'master' into fix-v2-runtime
* Merge refs/heads/master into fix-v2-runtime
* Merge refs/heads/master into fix-v2-runtime
* Merge refs/heads/master into fix-v2-runtime
* Merge refs/heads/master into fix-v2-runtime
* Save finalized checkpoint on save
* gofmt and goimport
* remove head.root arg
* test
* fixes
* remove comment
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add ComputeDomainVerifySigningRoot
* Update validate aggregate proof signatures to use it
* Update verify proposer slashing to use it
* Update test to use it
* Merge branch 'master' into domain-and-signingroot
* Quick fix on test
* Merge branch 'domain-and-signingroot' of github.com:prysmaticlabs/prysm into domain-and-signingroot
* Merge branch 'master' of github.com:prysmaticlabs/prysm into domain-and-signingroot
* Merge refs/heads/master into domain-and-signingroot
* Merge refs/heads/master into domain-and-signingroot
* Change keystore filename to include timestamp
* Fix test
* Merge branch 'master' into change-keystore-filename
* Fix comment
* Merge branch 'change-keystore-filename' of github.com:prysmaticlabs/prysm into change-keystore-filename
* Request comments
* Comment
* Add comment
* Fix test
* Fix test
* Add test for AccountTimestamp
* Update on att comments
* Update on block comments
* Merge refs/heads/master into forkchoice-comments
* Merge refs/heads/master into forkchoice-comments
* Revert "Optimize `AppendValidator` for beacon state (#6659)"
This reverts commit c41e382255.
* Test. H/t to @prestonvanloon
* Merge branch 'master' of github.com:prysmaticlabs/prysm into revert-6659-deposit
* Merge branch 'master' into revert-6659-deposit
* v2 fix bugs
* better doc
* include wallet build fix
* fixed broken list test
* add round trip recover seed unit test
* imports
* implement list with tests
* add altona flags
* tests for unicode
* added is valid unicode tests
* fixed up tests to ensure wallet is persisted after everything works
* resolve confs and integrate medalla testnet
* fix build
* add medalla
* fixed import spacing
* Stategen: always invalidate hot cache state in StateByRootInitialSync
* Sanity test. @nisdas feedback
* Merge refs/heads/master into defer-invalidate
* Enable local slashing protection by default
* Merge refs/heads/master into enable-local-protection-by-default
* Merge refs/heads/master into enable-local-protection-by-default
* Merge refs/heads/master into enable-local-protection-by-default
* Merge refs/heads/master into enable-local-protection-by-default
* Merge refs/heads/master into enable-local-protection-by-default
* Merge refs/heads/master into enable-local-protection-by-default
* Remove traces from errors for accounts command
* Merge refs/heads/master into remove-stack
* Merge refs/heads/master into remove-stack
* Merge refs/heads/master into remove-stack
* Merge refs/heads/master into remove-stack
* Merge refs/heads/master into remove-stack
* Remove CanUnlockAccounts from Wallet
* Merge refs/heads/master into remve-canunlockaccounts
* Merge refs/heads/master into remve-canunlockaccounts
* Merge refs/heads/master into remve-canunlockaccounts
* Add Github Superlinter
This PR adds the Github superlinter to our codebase as a Github action. Resolves#6308.
* Apply suggestions from code review
* Merge refs/heads/master into rauljordan-patch-1
* fix action
* Merge refs/heads/master into rauljordan-patch-1
* Merge refs/heads/master into rauljordan-patch-1
* Merge refs/heads/master into rauljordan-patch-1
* Merge refs/heads/master into rauljordan-patch-1
* Merge refs/heads/master into rauljordan-patch-1
* Handles case when no peers with finalized blocks are found
* more tests
* Merge branch 'master' into handle-zero-block-init-sync
* Merge branch 'master' into handle-zero-block-init-sync
* refactoring create account
* dep
* much easier, create a derived account by simply unlocking wallet
* revert changes to new
* make open wallet smarter and utilize cli ctx
* remove the wallet config
* successfully build
* simplify ctx creation for tests
* tests should pass individually
* tests pass
* fixed up to allow for wallet password file input
* fix broken tests
* formatting
* fmt
* simplify recover
* fixed up tests
* implicit use of default wallet path working
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Change logging out errors to returns
* Merge branch 'master' of github.com:prysmaticlabs/prysm into change-logs-to-return
* Lint
* Merge branch 'master' into change-logs-to-return
* Remove attestation usages in DB
* Merge refs/heads/master into rm-unused
* Merge refs/heads/master into rm-unused
* Fixed export wrapper
* Merge branch 'rm-unused' of github.com:prysmaticlabs/prysm into rm-unused
* begin on list derived accounts
* begin on list derived accounts
* continued work on listing derived accounts
* deterministic pet name
* petnames
* finished list
* display deposit data
* lint
* use direct km
* tidy
* begin on revising tests for accounts list
* fix direct list test
* gaz
* tests all passing for derived list
* gaz
* Adds type info into equality assertions
* tests
* reorder got/want
* more tests
* Merge refs/heads/master into assertions-better-error-reporting
* Merge refs/heads/master into assertions-better-error-reporting
* Merge refs/heads/master into assertions-better-error-reporting
* Add test for exporting and importing
* Add test for non-interactive
* Test import cli
* Merge branch 'master' of github.com:prysmaticlabs/prysm into test-export
* Merge branch 'master' into test-export
* Cleanup tests a bit
* Change to assert
* Fix tests
* Merge branch 'master' of github.com:prysmaticlabs/prysm into test-export
* Fix comment, change constants
* Fixes
* Change to require
* Fix broken test
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Merge refs/heads/master into test-export
* Add historical-slasher-node flag
* Fix build
* Remove useless flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Fix flag
* Merge branch 'add-flasher-flag' of github.com:prysmaticlabs/prysm into add-flasher-flag
* Add flags to beacon chain
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Merge refs/heads/master into add-flasher-flag
* Add requirement that inclusion distance is not zero, add regression test
* fix test input data
* Merge refs/heads/master into fix-panic
* Merge refs/heads/master into fix-panic
* Revert "Fixes issue with vals order in assert.Equal (#6631)"
This reverts commit d535cb95d8.
* Merge branch 'master' into revert-6631-assertions-less-assuming-error-msg
* introduces peer data store to p2p/peers
* Merge refs/heads/master into p2p-extract-data-store
* Merge refs/heads/master into p2p-extract-data-store
* refactores status service
* Merge branch 'p2p-extract-data-store' of github.com:prysmaticlabs/prysm into p2p-extract-data-store
* updates tests
* gofmt
* rever decay test
* Add database migrations, still need to update the API usage...
* gofmt goimports
* progress
* Merge branch 'master' of github.com:prysmaticlabs/prysm into index-migration
* use slot instead of index
* rename LastArchivedIndex to LastArchivedSlot
* rename LastArchivedIndexRoot to LastArchivedRoot
* remove unused HighestSlotStates method
* deprecate old key, include in migration
* deprecate old key, include in migration
* remove blocks index in migration
* rename bucket variable
* fix code to pass tests
* Merge branch 'master' of github.com:prysmaticlabs/prysm into index-migration
* gofmt, goimports
* fix
* Add state slot index
* progress
* lint
* fix build
* Merge branch 'master' of github.com:prysmaticlabs/prysm into index-migration
* kafka
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* remove SaveArchivedPointRoot, a few other big changes
* Merge branch 'index-migration' of github.com:prysmaticlabs/prysm into index-migration
* fix tests and lint
* lint again
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* block migration, some renaming
* gaz, gofmt
* add tests
* change index to uint bytes
* Merge branch 'index-migration' of github.com:prysmaticlabs/prysm into index-migration
* rm method notes
* stop if the bucket doesn't exist
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* @rauljordan pr feedback
* Simplify
* Merge refs/heads/master into index-migration
* Remove unused method, add roundtrip test
* gofmt
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge refs/heads/master into index-migration
* Merge branch 'master' of github.com:prysmaticlabs/prysm into index-migration
* edit remote config
* gets messed up when writing to file again
* proper editing
* noninteractive mode
* test for edit wallet
* Merge branch 'master' into edit-wallet
* wallet edit test done
* imports
* Merge refs/heads/master into edit-wallet
* Merge refs/heads/master into edit-wallet
* Change import and export to be non-interactive
* Fix
* fix lint
* Merge branch 'master' into make-export-import-nonint
* Comments
* Merge branch 'make-export-import-nonint' of github.com:prysmaticlabs/prysm into make-export-import-nonint
* Merge refs/heads/master into make-export-import-nonint
* begin on the proto definitions
* define remote signer service protos
* basic implementation
* remote keymanager docs
* finalize remote client doc
* amend response
* fix proto defs
* test new and begin test sign
* test sign done
* remote oneof
* rename
* fix build
* viz
* Update validator/keymanager/v2/remote/remote_test.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update validator/accounts/v2/wallet.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* fmt
* move the input check to accounts new
* begin on requesting cli input for remote keymanager config
* move the input check to accounts new
* begin on requesting cli input for remote keymanager config
* define wallet v2
* create wallet most logic done
* init remote wallet
* create wallet moving nicely
* ensure wallet create works
* reenable import export list
* further refactor
* improve handling of input wallet dir
* add all validation to cert path checks
* lint
* list test
* new wallet lint
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Allow accounts to be made non-interactively
* Merge branch 'master' of github.com:prysmaticlabs/prysm into make-accounts-noninteractive
* Update validator/node/node.go
* Update validator/accounts/v2/list.go
* Change long-running e2e to run minimally
* Merge branch 'master' into e2e-config-change
* Remove deposits flag
* Merge branch 'e2e-config-change' of github.com:prysmaticlabs/prysm into e2e-config-change
* Merge branch 'master' of github.com:prysmaticlabs/prysm into e2e-config-change
* Reduce secondsperslot
* Add todo
* Merge branch 'master' of github.com:prysmaticlabs/prysm into e2e-config-change
* Merge refs/heads/master into e2e-config-change
* Merge refs/heads/master into e2e-config-change
* Merge refs/heads/master into e2e-config-change
* Merge refs/heads/master into e2e-config-change
* Merge refs/heads/master into e2e-config-change
* Merge refs/heads/master into e2e-config-change
* Update justified points
* Add the same check to on block init sync
* Add comments
* Add test
* Gaz
* Merge branch 'master' into fix-batch-sync
* Merge refs/heads/master into fix-batch-sync
* Check if block exists in cache
* Consider init sync blocks
* Fixed test
* Merge refs/heads/master into get-block
* Merge refs/heads/master into get-block
* Merge refs/heads/master into get-block
* Merge refs/heads/master into get-block
* Merge refs/heads/master into get-block
* Merge refs/heads/master into get-block
* Merge refs/heads/master into get-block
* Merge refs/heads/master into get-block
* Merge refs/heads/master into get-block
* Merge refs/heads/master into get-block
* Fast list validators
* fix tests
* Merge branch 'master' of github.com:prysmaticlabs/prysm into fast_list_validators
* add small test
* Merge branch 'master' into fast_list_validators
* remove unneeded fatcher
* Merge branch 'fast_list_validators' of github.com:prysmaticlabs/prysm into fast_list_validators
* nishant feedback
* package name
* SubmitAggregateAndProof now prefers its own validator attestations
* only do aggregate bits count comparsion when best also contains the validator index
* gofmt
* better test
* Merge refs/heads/master into prefer-own-attestation
* Merge refs/heads/master into prefer-own-attestation
* Merge refs/heads/master into prefer-own-attestation
* Merge refs/heads/master into prefer-own-attestation
* Merge refs/heads/master into prefer-own-attestation
* Merge refs/heads/master into prefer-own-attestation
* Merge refs/heads/master into prefer-own-attestation
* @terencechain feedback
* Merge refs/heads/master into prefer-own-attestation
* update comment
* Merge branch 'prefer-own-attestation' of github.com:prysmaticlabs/prysm into prefer-own-attestation
* Merge refs/heads/master into prefer-own-attestation
* Merge refs/heads/master into prefer-own-attestation
* Merge refs/heads/master into prefer-own-attestation
* Merge refs/heads/master into prefer-own-attestation
* Merge refs/heads/master into prefer-own-attestation
* Merge refs/heads/master into prefer-own-attestation
* add in configs
* ask for enable accounts v2
* begin integration of v2 keymanager
* refactor wallet opening
* include significant refactoring of how opening a wallet works, making it easy to include at runtime
* ensure build with keymanager v2
* further improving runtime integration
* default pass paths
* finally running v2 at runtime
* import spacing
* Merge branch 'master' into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Get started on export and import commands
* Work more on import
* Complete functionality
* Merge branch 'master' of github.com:prysmaticlabs/prysm into accounts-import
* Undo
* Merge branch 'master' of github.com:prysmaticlabs/prysm into accounts-import
* cleanup
* Extract code to functions
* Merge branch 'master' of github.com:prysmaticlabs/prysm into accounts-import
* Add comments
* Fix ocmments
* Improvements
* fix
* Merge branch 'master' of github.com:prysmaticlabs/prysm into accounts-import
* Remove GetSigningKeyForAccount
* Progress
* Fix build
* Fix name
* Merge branch 'master' into accounts-import
* Add logging
* Merge branch 'accounts-import' of github.com:prysmaticlabs/prysm into accounts-import
* Merge refs/heads/master into accounts-import
* Merge refs/heads/master into accounts-import
* Merge refs/heads/master into accounts-import
* Merge refs/heads/master into accounts-import
* Merge refs/heads/master into accounts-import
* Merge refs/heads/master into accounts-import
* Merge refs/heads/master into accounts-import
* Merge refs/heads/master into accounts-import
* Merge refs/heads/master into accounts-import
* Merge refs/heads/master into accounts-import
* Merge refs/heads/master into accounts-import
* Merge refs/heads/master into accounts-import
* Merge refs/heads/master into accounts-import
* Refactor verifyBlkDescendant to be public and omit the slot argument, which was only used for error messages
* impl in mock
* gofmt
* Merge refs/heads/master into refactor-verifyBlkDescendant-signature
* Better errors
* Tests. Yay!
* Comments
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Fixed receive blck test
* Merge branch 'test-blk-des' of github.com:prysmaticlabs/prysm into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Ensure finalized root not zeros
* Merge branch 'test-blk-des' of github.com:prysmaticlabs/prysm into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Ensure non zero hashes when compare
* Merge branch 'test-blk-des' of github.com:prysmaticlabs/prysm into test-blk-des
* Merge refs/heads/master into test-blk-des
* Merge refs/heads/master into test-blk-des
* Remove redundant check in exit.go
The check `exit.Exit.ValidatorIndex >= uint64(beaconState.NumValidators())` is done in `beaconState.ValidatorAtIndexReadOnly(exit.Exit.ValidatorIndex)`.
* Merge branch 'master' into patch-1
* Merge branch 'master' into patch-1
* Merge branch 'master' into patch-1
* Merge branch 'master' into patch-1
* Merge branch 'master' into patch-1
* clean up
* fix panic
* add test mapping
* add schema version change
* fix test
* fix another test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Make bolt timeout a config value
* Merge refs/heads/master into best-practices0timeout
* Merge refs/heads/master into best-practices0timeout
* Merge refs/heads/master into best-practices0timeout
* Reject a block which its parent is not part of the finalized chain
* Refactor verifyBlkDescendant to be public and omit the slot argument, which was only used for error messages
* Merge branch 'refactor-verifyBlkDescendant-signature' into reject-bad-block
* fix
* impl in mock
* impl in mock
* gofmt
* Merge refs/heads/master into refactor-verifyBlkDescendant-signature
* Merge branch 'refactor-verifyBlkDescendant-signature' into reject-bad-block
* fix test
* add test
* Merge branch 'refactor-verifyBlkDescendant-signature' into reject-bad-block
* gofmt
* Merge branch 'master' of github.com:prysmaticlabs/prysm into reject-bad-block
* move up in the validation pipeline, @terencechain offline feedback
* Merge refs/heads/master into reject-bad-block
* Refactor verifyBlkDescendant to be public and omit the slot argument, which was only used for error messages
* impl in mock
* gofmt
* Merge refs/heads/master into refactor-verifyBlkDescendant-signature
* fix test
* begin on the proto definitions
* define remote signer service protos
* basic implementation
* remote keymanager docs
* finalize remote client doc
* amend response
* fix proto defs
* test new and begin test sign
* test sign done
* Merge branch 'master' into remote-keymanager-v2
* remote oneof
* rename
* Merge branch 'remote-keymanager-v2' of github.com:prysmaticlabs/prysm into remote-keymanager-v2
* fix build
* Merge refs/heads/master into remote-keymanager-v2
* viz
* Merge branch 'remote-keymanager-v2' of github.com:prysmaticlabs/prysm into remote-keymanager-v2
* Merge refs/heads/master into remote-keymanager-v2
* Merge refs/heads/master into remote-keymanager-v2
* Update validator/keymanager/v2/remote/remote_test.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update validator/accounts/v2/wallet.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* fmt
* attestationutil.AttestingIndices: Minor improvement on indices array allocation
* progress
* more progress on makes
* progress
* more progress
* Merge branch 'master' of github.com:prysmaticlabs/prysm into memory1
* gaz
* fmt and imports
* Merge branch 'master' into memory2
* Min()
* remove spaces
* Merge branch 'master' of github.com:prysmaticlabs/prysm into memory2
* revert beacon-chain/operations/attestations/kv/block.go
* partially revert beacon-chain/operations/attestations/kv/aggregated.go
* Merge branch 'master' into memory2
* Merge branch 'master' into memory2
* State: use a constant for field count
* one more field count for alloc
* one more field count for alloc
* Merge branch 'master' into field-const-21
* Merge branch 'master' into field-const-21
* Merge branch 'master' into field-const-21
* Merge branch 'master' into field-const-21
* begin list accounts impl
* colorize
* show deposit data
* separate responsibility
* comprehensive test for list complete
* gaz viz
* print account creation timestamp
* handle errs
* ask for wallet and pass dir
* Merge refs/heads/master into implement-v2-list
* attestationutil.AttestingIndices: Minor improvement on indices array allocation
* Merge branch 'master' of github.com:prysmaticlabs/prysm into HEAD
* Merge refs/heads/master into memory1
* Merge refs/heads/master into memory1
* Merge refs/heads/master into memory1
* Merge refs/heads/master into memory1
* Merge refs/heads/master into memory1
* Merge refs/heads/master into memory1
* Merge refs/heads/master into memory1
* Merge refs/heads/master into memory1
* Merge refs/heads/master into memory1
* Merge refs/heads/master into memory1
* Change from int64 to int for monitoring port so that the monitoring port is correctly ready from config file.
* Merge branch 'master' into fix-monitoring-port
* Merge branch 'master' into fix-monitoring-port
* Merge branch 'master' into fix-monitoring-port
* replace all other usages of int64 flag. @nisdas feedback
* Merge branch 'master' of github.com:prysmaticlabs/prysm into fix-monitoring-port
* Merge branch 'master' into fix-monitoring-port
* Merge branch 'master' into fix-monitoring-port
* Merge branch 'master' of github.com:prysmaticlabs/prysm into fix-monitoring-port
* revert tools/sendDepositTx
* fix build
* Merge branch 'master' into fix-monitoring-port
* Merge branch 'master' into fix-monitoring-port
* Merge branch 'master' into fix-monitoring-port
* Allocate the appropriate memory for retrieveIndicesFromBitfield
* Merge refs/heads/master into memory0
* Merge refs/heads/master into memory0
* Merge refs/heads/master into memory0
* Merge refs/heads/master into memory0
* Merge refs/heads/master into memory0
* Merge refs/heads/master into memory0
* Merge refs/heads/master into memory0
* add in configs
* ask for enable accounts v2
* begin integration of v2 keymanager
* refactor wallet opening
* include significant refactoring of how opening a wallet works, making it easy to include at runtime
* ensure build with keymanager v2
* further improving runtime integration
* default pass paths
* finally running v2 at runtime
* import spacing
* Merge branch 'master' into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* confs
* rem e2e val flag
* Merge branch 'master' into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Merge refs/heads/master into v2-accounts-feature
* Add flag
* Use flag
* Merge refs/heads/master into init-sync-verbose
* Merge refs/heads/master into init-sync-verbose
* Merge refs/heads/master into init-sync-verbose
* Merge refs/heads/master into init-sync-verbose
* Merge refs/heads/master into init-sync-verbose
* blockroot
* gaz
* Merge refs/heads/master into useCustomMethod
* Merge refs/heads/master into useCustomMethod
* Merge refs/heads/master into useCustomMethod
* Merge refs/heads/master into useCustomMethod
* Merge refs/heads/master into useCustomMethod
* Merge refs/heads/master into useCustomMethod
* Merge refs/heads/master into useCustomMethod
* Merge refs/heads/master into useCustomMethod
* Verify should not return the state
* Update tests
* Merge branch 'master' of github.com:prysmaticlabs/prysm into refactor
* Sync with master
* Merge refs/heads/master into refactor
* Fixed error msgs. Thanks @rauljordan
* Merge branch 'master' of github.com:prysmaticlabs/prysm into refactor
* Merge branch 'refactor' of github.com:prysmaticlabs/prysm into refactor
* Merge refs/heads/master into refactor
* Merge refs/heads/master into refactor
* Merge refs/heads/master into refactor
* Add aggregate stats struct to validator struct. Log aggregate voting summary
from beginning of node startup.
* Refactoring out to function UpdateLogAggregateStats which updates and logs aggregate statistics
* Changes to spelling. More refactoring so that the rest of aggregate stats are moved to UpdateLogAggregateStats
* Bugfix - moved startBalance initialization out of if.
* Remove a print debug. Spelling adjustment.
* Minor refactoring/grammar changes
* Renaming variables for consistency.
* Address linter feedback: omit 2nd value from range over map as values were not being used.
* Address feedback from PR re comments.
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Addressing feedback from terencechain in PR. (name changes)
* Addressing feedback from terencechain in PR.
* Create test for UpdateLogAggregateStats()
* Changed comment regarding "numberOfEpochs" log
* go fmt metrics_test.go
* bazel run //:gazelle -- fix
* fix typos
* Improved the code to detect the last iteration of the range responses loop
* Merge branch 'master' into tempIssue4987
* For both previous Epoch and total runtime statistics, do not count non-included attestations for "correctly" statistics.
* Update wording in since-launch logging
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Store first logged epoch in startEpoch and appropriately adjust calculations. Initialize startEpoch to ^uint64(0).
* Merge branch 'master' into tempIssue4987
* Update validator/client/metrics.go
* Update validator/client/metrics.go
* Update validator/client/validator.go
* Update validator/client/metrics_test.go
* Merge branch 'master' into tempIssue4987
* Merge branch 'master' into tempIssue4987
* Merge branch 'master' into tempIssue4987
* Merge branch 'master' into tempIssue4987
* Merge branch 'master' into tempIssue4987
* Merge branch 'master' into tempIssue4987
* Merge branch 'master' into tempIssue4987
* Merge branch 'master' into tempIssue4987
* Merge branch 'master' into tempIssue4987
* Merge branch 'master' into tempIssue4987
* Make verifying all signatures the default operation
* Merge branch 'master' into flip-verify-all
* Merge branch 'master' into flip-verify-all
* Merge branch 'master' into flip-verify-all
* Merge branch 'master' into flip-verify-all
* Add a placeholder constant for ignoring cancelled subscription errors
from libp2p pubsub.
This change temporarily resolves
https://github.com/prysmaticlabs/prysm/issues/6449.
This change should be revisited after
https://github.com/libp2p/go-libp2p-pubsub/pull/356 merges and the prysm
libp2p pubsub dependency is updated.
* Merge branch 'master' into issue-6449
* Merge branch 'master' into issue-6449
* Merge branch 'master' into issue-6449
* Rationalise state locking
* Rationalise state locking
* Merge branch 'state-locks' of github.com:mcdee/prysm into state-locks
* Merge branch 'master' into state-locks
* Add feature flag
* Merge
* Merge branch 'master' into state-locks
* Merge branch 'master' into state-locks
* Update locks
* Merge branch 'master' into state-locks
* Gazelle
* Tidy-ups
* Merge branch 'master' into state-locks
* Remove commentary to a docs.go file for better presentation on godocs
* Add newBeaconStateLocks as a --dev flag
* gofmt
* Merge branch 'master' into state-locks
* Add cache to service struct
* Update hot getters/setters to use cache
* Update migration
* Update other services to adapt
* Fix initial sync get state
* Update getter related tests
* Update hot related tests
* Update migrate related tests
* New awesome tests for migration
* Clean up rest of the tests
* Merge refs/heads/master into hot-state-no-db
* Fix block chain head tests
* Fix block chain processor tests
* Fixed RPC tests
* Update cold getter and test
* Merge branch 'hot-state-no-db' of github.com:prysmaticlabs/prysm into hot-state-no-db
* Fix sync tests
* Short cut if state is already in DB
* Remove uneeded saves
* Update beacon-chain/state/stategen/hot_test.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/state/stategen/getter_test.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/state/stategen/getter_test.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/state/stategen/service.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/state/stategen/setter_test.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Preston's feedback
* Merge branch 'hot-state-no-db' of github.com:prysmaticlabs/prysm into hot-state-no-db
* Return a copy of cache states
* Remove hot state caches check in StateByRoot
* Merge branch 'hot-state-no-db' of github.com:prysmaticlabs/prysm into hot-state-no-db
* Merge refs/heads/master into hot-state-no-db
* Raul's feedback
* Merge branch 'hot-state-no-db' of github.com:prysmaticlabs/prysm into hot-state-no-db
* begin on fetch direct
* fetch validating public keys impl
* test for fetch validating keys
* fetch validating public keys done
* helper function and benchmark
* rename package
* viz
* Update validator/accounts/v2/testing/BUILD.bazel
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* gaz
* add lock
* comment
* Merge refs/heads/master into fetch-direct-keys
* Get started on cleaning up slashing protection
* Merge branch 'master' of github.com:prysmaticlabs/prysm into cleanup-protection
* Move protection functions to own files
* Lint
* Merge branch 'master' of github.com:prysmaticlabs/prysm into cleanup-protection
* Begin adding test for proposal protection
* Merge branch 'master' of github.com:prysmaticlabs/prysm into cleanup-protection
* Fix build
* Fix tests
* Fix tst
* Fix tests
* Fix proposal tests
* Merge branch 'master' into cleanup-protection
* Merge branch 'master' into cleanup-protection
* Merge branch 'master' into cleanup-protection
* Merge branch 'master' of github.com:prysmaticlabs/prysm into cleanup-protection
* Reorder protections
* Change lock
* Fix test
* Merge branch 'master' into cleanup-protection
* Merge branch 'master' into cleanup-protection
* Merge branch 'master' into cleanup-protection
* Change log
* Merge branch 'cleanup-protection' of github.com:prysmaticlabs/prysm into cleanup-protection
* Merge branch 'master' into cleanup-protection
* implementation using petname and keystore
* writing new account to disk along with password
* more logic for properly writing accounts
* print out mnemonic
* save deposit data rlp
* write deposit tx and ssz deposit data to account path
* wrap up account creation
* fix prompt
* generate deposit tx
* direct account creation test
* fix up formatting
* lint
* match formatting
* more sustainable approach towards unmarshaling config file
* resolve feedback
* fix broken import
* comprehensive tests for create account
* tests pass
* Merge branch 'master' into direct-keys
* tidy
* Merge branch 'direct-keys' of github.com:prysmaticlabs/prysm into direct-keys
* Merge refs/heads/master into direct-keys
* gaz
* Merge branch 'direct-keys' of github.com:prysmaticlabs/prysm into direct-keys
* nondeterministic names
* comment
* gaz
* better error wrap
* Merge refs/heads/master into direct-keys
* docker deps
* Merge branch 'direct-keys' of github.com:prysmaticlabs/prysm into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* Merge refs/heads/master into direct-keys
* ivan feedback
* Merge refs/heads/master into direct-keys
* Update validator/accounts/v2/wallet.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* fixed tests and comments
* Merge refs/heads/master into direct-keys
* Add epoch boundary state cache
* Clean up epoch boundary state cache
* Starting tests
* More tests
* Merge branch 'master' of github.com:prysmaticlabs/prysm into epoch-boundary-cache
* Merge refs/heads/master into epoch-boundary-cache
* Move hard-coded constants to global consts
* Fixes
* Merge branch 'master' into remove-hard-constants
* Merge refs/heads/master into remove-hard-constants
* Merge refs/heads/master into remove-hard-constants
* Merge refs/heads/master into remove-hard-constants
* Merge refs/heads/master into remove-hard-constants
* Comments
* Merge refs/heads/master into remove-hard-constants
* Merge refs/heads/master into remove-hard-constants
* Merge refs/heads/master into remove-hard-constants
* Merge refs/heads/master into remove-hard-constants
* Merge refs/heads/master into remove-hard-constants
* Merge branch 'master' of github.com:prysmaticlabs/prysm into remove-hard-constants
* close all incoming streams
* use proper helper
* shift to debug
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* add more tests
* gaz
* Merge refs/heads/master into addBLSMethods
* Merge refs/heads/master into addBLSMethods
* Merge refs/heads/master into addBLSMethods
* Merge refs/heads/master into addBLSMethods
* Remove unused fields and function
* Rename splitInfo to finalizedInfo
* Merge branch 'master' into stategen-cleanup
* Fmt
* Merge branch 'stategen-cleanup' of github.com:prysmaticlabs/prysm into stategen-cleanup
* Merge refs/heads/master into stategen-cleanup
* Add a few test cases to ReceiveBlockNoPubsub with race detection, fix data race in state
* Expose voluntary exits included API. More race condition fixes in state. More tests
* add tests to norace as well for coverage
* Merge branch 'master' of github.com:prysmaticlabs/prysm into add-test-coverage-on-receive-block
* PR feedback
* Fixed can't save head in DB by:
1.) Remove new state mgmt condition in SaveHeadBlockRoot
2.) Reuse state summary cache between db and service
* Merge branch 'master' of github.com:prysmaticlabs/prysm into add-test-coverage-on-receive-block
* passing tests
* gofmt and goimports
* Merge branch 'master' of github.com:prysmaticlabs/prysm into add-test-coverage-on-receive-block
* lint
* move import and goimport again
* move import and goimport again
* Merge refs/heads/master into add-test-coverage-on-receive-block
* Merge refs/heads/master into add-test-coverage-on-receive-block
* Add bool to selectively record events
* Merge refs/heads/master into add-test-coverage-on-receive-block
* Merge refs/heads/master into add-test-coverage-on-receive-block
* Merge refs/heads/master into add-test-coverage-on-receive-block
* Merge refs/heads/master into add-test-coverage-on-receive-block
* enforce only snappy
* fix up tests
* replace with ssz snappy in tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* begin accounts-v2 new
* password validation
* validator accounts new with eip-2335 keystore
* select different wallet type based on enum
* clean up code significantly
* more robust code structure
* check if wallet exists
* define read and create wallet methods
* fmt
* go mod and comment
* comment
* redundant name
* satify gofmt
* add instructions with keymanager opts
* wrap up create and read wallet functionality
* prep for readiness
* doc improvements
* tests for create and read wallet
* update deps
* tidy
* visibility
* gaz
* fix up
* refactor for proper usage, with wallet and keymanager ifaces
* Update validator/flags/flags.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* import
* improve structure
* wrap up all comments
* simplify
* lint
* Update validator/accounts/v2/cmd.go
* viz check
* add interface methods as needed
* fix build
* lint
* nishant feedback
* simplify structure
* add tests for strong password check
* all feedback done
* ivan feedback
* ivan feedback
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Starting to delete archived rpc usages
* Fixed rest of the tests
* Gaz
* Merge branch 'master' into deprecate-archival-rpc
* Merge branch 'master' into deprecate-archival-rpc
* Merge refs/heads/master into deprecate-archival-rpc
* Merge refs/heads/master into deprecate-archival-rpc
* Merge refs/heads/master into deprecate-archival-rpc
* Add a check for cold state storage
* amend comment
* gaz
* Merge branch 'master' into coldstate-e2e
* Merge refs/heads/master into coldstate-e2e
* Merge refs/heads/master into coldstate-e2e
* PR feedback
* Merge branch 'coldstate-e2e' of github.com:prysmaticlabs/prysm into coldstate-e2e
* Update endtoend/evaluators/data.go
* Merge refs/heads/master into coldstate-e2e
* Merge refs/heads/master into coldstate-e2e
* Merge refs/heads/master into coldstate-e2e
* Change the aggregatedSlotCommitteeIDCacheLock to release the lock immediately after r/w
* Merge branch 'master' into better-validator-lock
* Merge branch 'master' into better-validator-lock
* split mainnet/onyx/altona/e2e configs into different files
* set onyx as the default network
* lint and fix comment
* more commentary
* gofmt
* Merge branch 'master' of github.com:prysmaticlabs/prysm into onyx-config
* gofmt
* Add a span for HeadState access
* more spans
* Merge refs/heads/master into add-span
* Merge refs/heads/master into add-span
* Merge refs/heads/master into add-span
* Merge refs/heads/master into add-span
* Merge refs/heads/master into add-span
* Merge refs/heads/master into add-span
* Merge refs/heads/master into add-span
* Merge refs/heads/master into add-span
* Add span for updateRecentCanonicalBlocks
* Cleanup validateAggregateAttTime with a better error message, more tests, and more clear inline comments
* Merge branch 'master' into cleanup-validateAggregateAttTime
* revert beacon-chain/blockchain/head.go
* Merge branch 'cleanup-validateAggregateAttTime' of github.com:prysmaticlabs/prysm into cleanup-validateAggregateAttTime
* Merge refs/heads/master into cleanup-validateAggregateAttTime
* Merge refs/heads/master into cleanup-validateAggregateAttTime
* Retrieve the correct state for new state
* Test
* Gaz
* Merge branch 'master' into fix-list-validators
* Merge refs/heads/master into fix-list-validators
* Merge refs/heads/master into fix-list-validators
* Merge refs/heads/master into fix-list-validators
* Merge refs/heads/master into fix-list-validators
* no cast to int
* fix up significant casting issues
* more casting
* even more casting fixes
* more casts
* fix subnets
* back to ints
* final touches
* broken test fix
* add in blocks test fix
* unskip
* revert bytes fixes
* casting fixes
* Update beacon-chain/db/kv/state.go
* Update beacon-chain/db/kv/blocks.go
* fmt
* slash:
* fix val tests
* fix up conf
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* parent c837dfb2f2
author dv8silencer <dv8silencer+github@gmail.com> 1592805180 -0500
committer dv8silencer <dv8silencer+github@gmail.com> 1592855989 -0500
Create a bootstrap-node-file flag which reads nodes from a YAML file and make the flag mutually exclusive to the bootstrap-node flag
* Merge branch 'master' into dv8s-iss6316
* Refactor so that boot node reading is in its own function. Added test
* Added period
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Merge branch 'master' into dv8s-iss6316
* Edit Bazel to include go-yaml dep
* Help Bazel build successfully
* Merge branch 'master' into dv8s-iss6316
* bazel run //:gazella -- fix
* Handle error from YAML parser to address build checks
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Updated flags.go to refine the Usage for the BootStrapNodeFile flag
Co-authored-by: Nishant Das <nish1993@hotmail.com>
* Merge branch 'master' into dv8s-iss6316
* Utilize stdlib TempFile to avoid polluting
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* merge master into this branch
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Merge branch 'master' into dv8s-iss6316
* Changed bootstrap-node to StringSlice flag to allow multiple nodes to be passed. Each value can be .enr file which will be YAML parsed to extract nodes
* Refactored to create separate readbootNodes function and added a test for it.
* More cleaning up
* Changed wording in the cli help for --bootstrap-node
* Merge branch 'master' into dv8s-iss6316
* Since we are taking YAML files, got rid of .enr check and instead we check for the string prefix of a enr record or not to determine if file.
* Merge with dv8silencer/tempissue6316
* Correct spacing
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Changed how we check for YAML file vs CLI-direct ENR
* Minor: Changed to 1 string from concatenating 2
* Merge branch 'master' into dv8s-iss6316
* refactor BLS to expose an interface rather than a single implementation
* Split up tests, gofmt, goimports, docs
* godoc for signature.Copy()
* more godocs
* revert gomod / deps changes
* rm newline
* revert proto changes
* rename bls12 to herumi for clarity
* log error for metric
* reuse epoch e
* Better node comments
* Remove not needed breaks
* Use j over i
* Merge branch 'master' of github.com:prysmaticlabs/prysm into best-practice-pt1
* Descendent/Descendant
* Merge refs/heads/master into best-practice-pt1
* Update beacon-chain/forkchoice/protoarray/nodes.go
* Merge refs/heads/master into best-practice-pt1
* Merge refs/heads/master into best-practice-pt1
* QPS-20 implement removeDisconnectedPeerStatus
* Merge refs/heads/master into remove_disconnected_peer_status
* Merge refs/heads/master into remove_disconnected_peer_status
* Merge refs/heads/master into remove_disconnected_peer_status
* Merge refs/heads/master into remove_disconnected_peer_status
* Merge refs/heads/master into remove_disconnected_peer_status
* Merge refs/heads/master into remove_disconnected_peer_status
* Merge refs/heads/master into remove_disconnected_peer_status
* Merge refs/heads/master into remove_disconnected_peer_status
* Merge refs/heads/master into remove_disconnected_peer_status
* Merge refs/heads/master into remove_disconnected_peer_status
* Merge refs/heads/master into remove_disconnected_peer_status
* Merge refs/heads/master into remove_disconnected_peer_status
* remove function
* Merge branch 'remove_disconnected_peer_status' of github.com:prysmaticlabs/prysm into remove_disconnected_peer_status
* Merge refs/heads/master into remove_disconnected_peer_status
* Merge branch 'remove_disconnected_peer_status' of github.com:prysmaticlabs/prysm into remove_disconnected_peer_status
* Change math/rand to crypto/rand
* Change length
* Merge branch 'master' of github.com:prysmaticlabs/prysm into change-to-crypto-rand
* Change assignments to true random
* Merge branch 'master' into change-to-crypto-rand
* Change randomness
* Merge branch 'change-to-crypto-rand' of github.com:prysmaticlabs/prysm into change-to-crypto-rand
* Remove comments
* Test
* Fix test
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* Merge refs/heads/master into change-to-crypto-rand
* release flag
* add comment
* improve
* Merge refs/heads/master into releaseStateRef
* Merge refs/heads/master into releaseStateRef
* Merge branch 'master' into releaseStateRef
* Merge refs/heads/master into releaseStateRef
* Merge refs/heads/master into releaseStateRef
* Merge refs/heads/master into releaseStateRef
* Merge refs/heads/master into releaseStateRef
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into releaseStateRef
* remove old flags
* gaz
* Merge refs/heads/master into releaseStateRef
* Merge refs/heads/master into releaseStateRef
* Merge refs/heads/master into releaseStateRef
* Merge refs/heads/master into releaseStateRef
* Merge refs/heads/master into releaseStateRef
* Merge refs/heads/master into releaseStateRef
* Merge refs/heads/master into releaseStateRef
* Proper locking based on audit feedbacks
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Preston's feedback
* Merge branch 'qsp10-11' of github.com:prysmaticlabs/prysm into qsp10-11
* Unlock in invalid index branch
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge branch 'master' into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* Merge refs/heads/master into qsp10-11
* mutex to hot state cache
* Merge branch 'master' into add-hotstate-lock
* Merge refs/heads/master into add-hotstate-lock
* Merge refs/heads/master into add-hotstate-lock
* docs improvements so far
* all misc docs items
* finalized
* Merge branch 'master' into qsp-docs
* fix broken test
* Merge branch 'master' into qsp-docs
* Fix off by 1
* Regression tests
* Merge branch 'master' of github.com:prysmaticlabs/prysm into fix-offset
* Go fmt
* Merge refs/heads/master into fix-offset
* Merge refs/heads/master into fix-offset
* Move permanent flags to shared/cmd and make them accessible
* Merge branch 'master' of github.com:prysmaticlabs/prysm into move-flags-to-cmd
* Add test
* Add comment
* Fix gaz
* Replace with new config
* Gaz
* replace
* gaz
* Merge branch 'master' into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* Prestons comments
* Nishant comments
* Merge branch 'move-flags-to-cmd' of github.com:prysmaticlabs/prysm into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* Merge branch 'master' into move-flags-to-cmd
* Merge refs/heads/master into move-flags-to-cmd
* fmt
* SubscribeCommitteeSubnets fields length check
A case where `len(req.Slots) != len(req.CommitteeIds)` but `len(req.CommitteeIds) == len(req.IsAggregator)`
should also throw an error. Without this fix only 2 length inequalities will throw the error.
Greetings from PwC Switzerland
* Added diff length SubscribeCommitteeSubnets test
* Merge branch 'master' into patch-1
* fully remove kad
* Merge branch 'master' into rem-kad
* Update beacon-chain/p2p/service.go
* no workspace kad
* Merge branch 'rem-kad' of github.com:prysmaticlabs/prysm into rem-kad
* mod tidy
* Merge refs/heads/master into rem-kad
* Merge refs/heads/master into rem-kad
* Merge refs/heads/master into rem-kad
* add back bootnode query tool
* Merge branch 'rem-kad' of github.com:prysmaticlabs/prysm into rem-kad
* fix up multiaddr tests
* fix build
* fix up go build
* fix go build
* update dep
* Merge refs/heads/master into rem-kad
* Merge refs/heads/master into rem-kad
* Merge refs/heads/master into rem-kad
* Merge refs/heads/master into rem-kad
* Remove old block processing paths
* Go fmt
* Go fmt again
* Fix tests
* Using the wright receiver
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Add failing test for pagination
* Fix failing test for pagination
* Fix other tests for pagination
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* checkpoint progress
* some more stuff
* fix tests
* fix tests
* lint
* fix test and initialization
* gaz
* Merge branch 'master' into updateP2PRPC
* Merge refs/heads/master into updateP2PRPC
* Merge refs/heads/master into updateP2PRPC
* Merge refs/heads/master into updateP2PRPC
* Merge refs/heads/master into updateP2PRPC
* Merge refs/heads/master into updateP2PRPC
* Merge refs/heads/master into updateP2PRPC
* Merge refs/heads/master into updateP2PRPC
* Merge refs/heads/master into updateP2PRPC
* Merge refs/heads/master into updateP2PRPC
* Functions that are to be moved to //shared/htrutils captured in separate file.
* Move files into new //shared/htutils package
hash_function.go renamed to hashers.go
* Refactor to reference moved methods in new package
- Added import for htrutils to state and stateutil packages
- Update references to imported funcs (append "htrutils.")
- Updated funcs in htrutils to be exported where necessary
* Add tests
* Add helper to prevent zero hashes
* Test
* Don't use cache if it's genesis
* Regression test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add helper to prevent zero hashes
* Test
* Fix precompute validators to have before/after balances
* Update tests to use correct values
* Even better test setups
* Gaz
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* verify sig in stream
* state cache used
* fix import
* fix import
* fix tests
* add log for proposer slashing
* fix e2e
* use chain head to verify sig
* revert fix
* remove extra line
* add line
* revert extra log
* fix tests
* terence feedback
* fix
* fix test
* remove extra setup
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* clarify insecure conn
* fix up broken test
* Merge refs/heads/master into amend-grpc-instructions
* Merge refs/heads/master into amend-grpc-instructions
* Merge refs/heads/master into amend-grpc-instructions
* Merge refs/heads/master into amend-grpc-instructions
* Merge refs/heads/master into amend-grpc-instructions
* Merge refs/heads/master into amend-grpc-instructions
* Merge refs/heads/master into amend-grpc-instructions
* Make DB errors more verbose, fix windows path error
* Merge branch 'master' into windows-err
* Merge refs/heads/master into windows-err
* Merge refs/heads/master into windows-err
* Add helper to prevent zero hashes
* Test
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Update validator summary
* Update existing tests to work with new indices
* Remove extra log
* Gazelle
* Merge branch 'master' into fix-validatory-summary
* Merge refs/heads/master into fix-validatory-summary
* Merge refs/heads/master into fix-validatory-summary
* updates go.sum
* go mod tidy checker
* reverts go.sum
* updates apk command
* fixes path
* show git status
* more debug info
* more debug info
* minor test
* get rid of git
* multiple checks
* test reset
* change order of checkers
* mod verify
* broken sum
* Merge refs/heads/master into go-mod-tidy
* better info
* Merge branch 'go-mod-tidy' of github.com:prysmaticlabs/prysm into go-mod-tidy
* better info
* reset
* run go mod tidy to fix
* Add helper to prevent zero hashes
* Test
* Add ActiveIndicesCount getter for committee cache
* ActiveIndicesCount test
* ActiveValidatorCount to use cache
* Update cache on miss
* Update tests
* added in logic
* latest countdown
* fixed up formatting and add tests
* ready for review
* Merge branch 'master' into countdown-genesis
* no log if after genesis
* Merge branch 'countdown-genesis' of github.com:prysmaticlabs/prysm into countdown-genesis
* countdown
* smarter logging
* added buffer period for countdown
* Merge refs/heads/master into countdown-genesis
* Skip proposer assignment for slot 0
* Test
* Clear cache before test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* sort out new blocks
* add unit test
* Merge refs/heads/master into sortDuplicates
* victor's review
* Merge branch 'sortDuplicates' of https://github.com/prysmaticlabs/geth-sharding into sortDuplicates
* Merge refs/heads/master into sortDuplicates
* Delete unused client property
* Only update the logs every 5 minutes
* Merge branch 'master' into reduce-json-rpc-calls
* Merge refs/heads/master into reduce-json-rpc-calls
* Merge refs/heads/master into reduce-json-rpc-calls
* PR feedback from @nisdas
* gofmt
* Merge branch 'reduce-json-rpc-calls' of github.com:prysmaticlabs/prysm into reduce-json-rpc-calls
* Provide some feedback to user when creating an account
on my 1y old server the first step took 2 minutes, the second took 4
minutes. Provide at lease _some_ feedback we are doing something
intensive
* Merge branch 'master' into master
* Merge branch 'master' into master
* Merge branch 'master' into master
* Merge branch 'master' into master
* detect slashable attestations and blocks without db update
* lint fixes
* fix mock
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* preston feedback
* Merge branch 'no_sig_slasher_rpc' of github.com:prysmaticlabs/prysm into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* nishant and ivan feedback
* Merge branch 'no_sig_slasher_rpc' of github.com:prysmaticlabs/prysm into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Merge refs/heads/master into no_sig_slasher_rpc
* Apply suggestions from code review
* Flat spanner improvements
* Fix tests, add more to ES type
* Move types to detection/types
* Fix
* Fix comments
* Fixes
* Use SlotTickerWithOffset for StreamIndexedAttestations (#5999)
* Change streamindexed to slot ticker with offset
* Make 2/3rds
* Add test
* Merge branch 'master' of github.com:prysmaticlabs/prysm into ticker-offset
* Add check for offset
* Merge branch 'master' of github.com:prysmaticlabs/prysm into ticker-offset
* Fix test
* Merge refs/heads/master into ticker-offset
* Fix long running E2E after v0.12 changes (#6008)
* Fix deposits in long run e2e
* Fix participation
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Small fixes for slasher (#6021)
* Small fixes for slasher
* Remove useless log
* Fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add voluntary exit processing to E2E (#6016)
* Add voluntary exit to E2E
* Fix long urnning e2e
* Fix for comments
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Change slashing pool to use spec code (#6030)
* Change slashing pool to use more spec code
* Fix test
* Undo unneeded changes
* Make sure to catch regression
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix long-running E2E (#6047)
* Fixes for long running E2E
* Merge branch 'master' of github.com:prysmaticlabs/prysm into fix-e2e
* Move metrics check up
* Merge refs/heads/master into fix-e2e
* E2E Improvements (#6091)
* Some fixes
* Merge branch 'master' into e2e-fixes
* Add another small delay
* Merge branch 'e2e-fixes' of github.com:prysmaticlabs/prysm into e2e-fixes
* Remove genesis test, make normal e2e run longer
* Gaz
* more fixes
* Merge branch 'master' into e2e-fixes
* Merge refs/heads/master into e2e-fixes
* Fix comment
* Merge refs/heads/master into e2e-fixes
* Begin changing tests
* Start work on tests
* Redo tests for EpochStore
* Add test for highest index
* Fixes
* Gaz
* Fix
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add the latest git tag as part of the version string.
Example:
version=Prysm/v1.0.0-alpha.10/28e61fa40c7d16774b3b1c18d8382c64537bfa84. Built at: 2020-06-11 04:29:18+00:00
* add user agent
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Only build with cgosymbolizer when explicitly desired. This fixes go builds for mac and others
* Try to dial external IP set and display a warning message is not reachable
* fix dialTimeout adding the port
* add connectivity check for UDP as well
* add connectivy verification for both UDP and TCP and move function in p2p/utils.go
* return if Resolving UDP fails
* move constant in utils
* add missing time dependencies
* leverage dial for both TCP/UDP (even thoguh UDP is not supported & add a unit tests for `verifyConnectivity`
* handle err from conn.Close()
* add utils_test go p2p gazelle
* Update beacon-chain/p2p/utils.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/p2p/utils.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/p2p/utils.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* do not defer closing the connection
* leverage util helper testutil.AssertLogsContain and testutil.AssertLogsDoNotContain
* remove old code
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Use ssz htr as baseline to compare
* Merge branch 'master' into fix-test
* One more. Fix for TestBlockBodyRoot_NilIsSameAsEmpty
* Merge branch 'fix-test' of github.com:prysmaticlabs/prysm into fix-test
* send blocks that fails validation to block feed for slasher. in order to enable slashing proposers
* add sig validation
* fix imports
* Update shared/featureconfig/config.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update shared/featureconfig/config.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update shared/featureconfig/flags.go
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* remove extra validation path for slasher
* ivan feedback
* notify all blocks that pass minimal validation to block stream
* notify all blocks that pass minimal validation to block stream
* add to e2e flags
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into removeHardLimit
# Conflicts:
add flags for all hosts
* lint
* Merge refs/heads/master into addFlagsForHosts
* Merge refs/heads/master into addFlagsForHosts
* Merge refs/heads/master into addFlagsForHosts
* use single flag
* Update RBE toolchain and image to have libgmp-dev with bazel 3.2.0
* Merge branch 'master' into update-cross-compile
* some fixes for herumi cross compile
* gaz
* removes duplicate code
* Merge branch 'master' into init-sync-queue-dedup-blocks
* Merge refs/heads/master into init-sync-queue-dedup-blocks
* Merge refs/heads/master into init-sync-queue-dedup-blocks
* Merge refs/heads/master into init-sync-queue-dedup-blocks
* Merge refs/heads/master into init-sync-queue-dedup-blocks
* Merge refs/heads/master into init-sync-queue-dedup-blocks
* Merge refs/heads/master into init-sync-queue-dedup-blocks
* Merge refs/heads/master into init-sync-queue-dedup-blocks
* Merge refs/heads/master into init-sync-queue-dedup-blocks
* Merge branch 'master' into init-sync-queue-dedup-blocks
* removes notification
* Merge branch 'init-sync-queue-dedup-blocks' of github.com:prysmaticlabs/prysm into init-sync-queue-dedup-blocks
* adds test
* updates service
* get rid of deepequal for err check
* Merge refs/heads/master into init-sync-queue-dedup-blocks
* Use state util to get block root
* Move prestate to below
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add version log to slasher
* Add slasher version log on startup
* Remove duplicate log
* Merge refs/heads/master into slasher-commit
* Fix tet
* Merge branch 'slasher-commit' of github.com:prysmaticlabs/prysm into slasher-commit
* Undo
* Fix log in rpc
* Merge refs/heads/master into slasher-commit
* Merge refs/heads/master into slasher-commit
* Merge refs/heads/master into slasher-commit
* Merge refs/heads/master into slasher-commit
* Change usages of ssz.HashTreeRoot(att.Data) to stateutil
* Gaz
* Tests
* Imports
* Merge branch 'master' into use-stateutil-attdata
* Fix tests
* Merge branch 'use-stateutil-attdata' of github.com:prysmaticlabs/prysm into use-stateutil-attdata
* Merge refs/heads/master into use-stateutil-attdata
* Merge refs/heads/master into use-stateutil-attdata
* Use state util to get block root
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Add UnaggregatedAttestationsBySlotIndex
* Tests
* New TestSubmitAggregateAndProof_UnaggregateOk test
* Merge branch 'master' of github.com:prysmaticlabs/prysm into fix-aggregator-broadcast
* Add public keys to response for GetValidatorPerformance
* Merge branch 'master' into add-pubkey-resp
* Merge branch 'master' into add-pubkey-resp
* Fixed all the broken tests (#6117)
* Merge branch 'add-pubkey-resp' of github.com:prysmaticlabs/prysm into add-pubkey-resp
* Fix skip
* Merge branch 'master' into add-pubkey-resp
* Fix ethapis
* Merge branch 'master' into add-pubkey-resp
* mark websockets flag as deprecated, begin removing uses
* powchain package now builds
* Merge branch 'master' into no-websocket
* use seconds per eth1 block
* fix tests
* Merge branch 'master' into no-websocket
* rem websocket req
* Merge branch 'no-websocket' of github.com:prysmaticlabs/prysm into no-websocket
* Merge refs/heads/master into no-websocket
* Merge refs/heads/master into no-websocket
* fix broken test
* Merge refs/heads/master into no-websocket
* Merge refs/heads/master into no-websocket
* Merge refs/heads/master into no-websocket
* Merge refs/heads/master into no-websocket
* Merge refs/heads/master into no-websocket
* Merge refs/heads/master into no-websocket
* Use state util to get block root
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Also save unaggregated att
* Merge refs/heads/master into fix-save-agg
* Handle error
* Merge branch 'fix-save-agg' of github.com:prysmaticlabs/prysm into fix-save-agg
* Test
* Merge refs/heads/master into fix-save-agg
* Disable some static analysis checks for coverage builds
* Merge branch 'master' into fix-coverage-builds
* disable lostcancel for third_party code
* Merge branch 'fix-coverage-builds' of github.com:prysmaticlabs/prysm into fix-coverage-builds
* Merge refs/heads/master into fix-coverage-builds
* A few lostcancel fixes
* Merge branch 'fix-coverage-builds' of github.com:prysmaticlabs/prysm into fix-coverage-builds
* Merge refs/heads/master into fix-coverage-builds
* Some fixes
* Merge branch 'master' into e2e-fixes
* Add another small delay
* Merge branch 'e2e-fixes' of github.com:prysmaticlabs/prysm into e2e-fixes
* Remove genesis test, make normal e2e run longer
* Gaz
* more fixes
* Merge branch 'master' into e2e-fixes
* Merge refs/heads/master into e2e-fixes
* Fix comment
* Merge refs/heads/master into e2e-fixes
* go get github.com/libp2p/go-libp2p-kad-dht@v0.2.1 github.com/libp2p/go-libp2p-kbucket@v0.2.3
* revert API changes
* one more API fix
* Merge refs/heads/master into rollback-kad-dht
* Merge refs/heads/master into rollback-kad-dht
* new spanner db structure
* lint fixes
* go mod fix
* fix iface
* remove unused
* remove extra line
* change from db
* exported field
* exported field
* revert to original
* fix
* ivan feedback
* ivan feedback
* ivan feedback
* revert mod changes
* fix db impl
* gaz
* import fix
* Try to fix tests
* ivan feedback
* new epoch store
* added comment
* fix error
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* update workspace
* new updates
* new commit
* fixes
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into updateGeth
* test fixes
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into fixCreateconfig
# Conflicts:
fix test
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into updateGeth
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into fixCreateconfig
# Conflicts:
update commit
* use geth's dep
* Merge branch 'master' into updateGeth
* update workspace
* fix again
* Merge branch 'updateGeth' of https://github.com/prysmaticlabs/geth-sharding into updateGeth
* Merge branch 'master' into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* fix osx builds
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* add execption and disable nilness
* remove redundant deps
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into updateGeth
* clean up
* go mod
* tidy
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Add patch to resolve panic until https://github.com/bazelbuild/rules_go/pull/2450 can be addressed
* Merge branch 'updateGeth' of github.com:prysmaticlabs/prysm into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* Merge refs/heads/master into updateGeth
* add test
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* pass comm tests
* Merge branch 'comm-tests' of github.com:prysmaticlabs/prysm into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* Merge refs/heads/master into comm-tests
* run process slots on list vals call
* fix behavior
* Merge branch 'master' into bad-list-vals
* Merge refs/heads/master into bad-list-vals
* Merge refs/heads/master into bad-list-vals
* Merge refs/heads/master into bad-list-vals
* Merge refs/heads/master into bad-list-vals
* Merge refs/heads/master into bad-list-vals
* Merge refs/heads/master into bad-list-vals
* Skip update head if justiifed root is zero hashes
* Start with genesis root instead
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix a few deps to work with go.mod, check in generated files
* Update Gossipsub to 1.1 (#5998)
* update libs
* add new validators
* add new deps
* new set of deps
* tls
* further fix gossip update
* get everything to build
* clean up
* gaz
* fix build
* fix all tests
* add deps to images
* imports
Co-authored-by: rauljordan <raul@prysmaticlabs.com>
* Beacon chain builds with go build
* fix bazel
* fix dep
* lint
* Add github action for testing go
* on PR for any branch
* fix libp2p test failure
* Fix TestProcessBlock_PassesProcessingConditions by updating the proposer index in test
* Revert "Fix TestProcessBlock_PassesProcessingConditions by updating the proposer index in test"
This reverts commit 43676894ab.
* Compute and set proposer index instead of hard code
* Add back go mod/sum, fix deps
* go build ./...
* Temporarily skip two tests
* Fix kafka confluent patch
* Fix kafka confluent patch
* fix kafka build
* fix kafka
* Add info in DEPENDENCIES. Added a stub link for Why Bazel? until https://github.com/prysmaticlabs/documentation/issues/138
* Update fuzz ssz files as well
* Update fuzz ssz files as well
* getting closer
* rollback rules_go and gazelle
* fix gogo protobuf
* install librdkafka-dev as part of github actions
* Update kafka to a recent version where librkafkfa is not required for go modules
* clarify comment
* fix kafka build
* disable go tests
* comment
* Fix geth dependencies for end to end
* rename word
* lint
* fix docker
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: rauljordan <raul@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Cleanup val status
* More cleanup
* Fix tests
* Fix tests again
* Change to nonExistentIndice
* Fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fixes for long running E2E
* Merge branch 'master' of github.com:prysmaticlabs/prysm into fix-e2e
* Move metrics check up
* Merge refs/heads/master into fix-e2e
* Change slashing pool to use more spec code
* Fix test
* Undo unneeded changes
* Make sure to catch regression
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Small fixes for slasher
* Remove useless log
* Fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add proto array fork choice object to RPC
* Add pb
* Add pb
* Expose proto array store object
* Test
* Merge branch 'forkchoice-endpoint' of github.com:prysmaticlabs/prysm into forkchoice-endpoint
* s/Nodes/nodes
* Remove proto from gitignore
* More implementations of GetProtoArrayForkChoice
* Comments
* Use hex
* Gazelle
* GetForkChoice Test
* Remove pb.go
* Merge branch 'master' into forkchoice-endpoint
* Typo, thanks Raul!
* Merge branch 'forkchoice-endpoint' of github.com:prysmaticlabs/prysm into forkchoice-endpoint
* Change streamindexed to slot ticker with offset
* Make 2/3rds
* Add test
* Merge branch 'master' of github.com:prysmaticlabs/prysm into ticker-offset
* Add check for offset
* Merge branch 'master' of github.com:prysmaticlabs/prysm into ticker-offset
* Fix test
* Merge refs/heads/master into ticker-offset
* Make function input consistent
* Change back
* Typo
* Fixed test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Reverse historical detection flag
* Merge branch 'master' of github.com:prysmaticlabs/prysm into reverse-historical-flag
* Merge branch 'master' of github.com:prysmaticlabs/prysm into reverse-historical-flag
* Fix build
* Merge refs/heads/master into reverse-historical-flag
* Fix test
* Merge branch 'reverse-historical-flag' of github.com:prysmaticlabs/prysm into reverse-historical-flag
* Merge refs/heads/master into reverse-historical-flag
* Reverse broadcast-slashings to disable-broadcast-slashings
* Fix tests
* Merge branch 'master' of github.com:prysmaticlabs/prysm into toggle-broadcast-flag
* Merge refs/heads/master into toggle-broadcast-flag
* Fix for comments
* Merge branch 'toggle-broadcast-flag' of github.com:prysmaticlabs/prysm into toggle-broadcast-flag
* Merge refs/heads/master into toggle-broadcast-flag
* Improve logging for slasher
* Add case for sig verify
* Log out indices for failed slashings
* gaz
* Fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Improve slashing pool handling to not reject valid slashings
* Undo testing stuff
* Merge refs/heads/master into fix-slasher-pool
* Add regression test for pool changes
* Merge branch 'fix-slasher-pool' of github.com:prysmaticlabs/prysm into fix-slasher-pool
* Merge refs/heads/master into fix-slasher-pool
* Merge refs/heads/master into fix-slasher-pool
* Merge refs/heads/master into fix-slasher-pool
* Merge refs/heads/master into fix-slasher-pool
* Merge refs/heads/master into fix-slasher-pool
* Add method to fetch account statuses
* Add status command
* gofmt
* Add comment about sorting
* Close conneciton when finished
* Fix error
* Refactor FetchAccountStatuses
* Add status_test.go
* Move sorting out of FetchAccountStatuses
* Remove unnecessary casting
* Expect ValidatorStatus to be called
* Wrap long comment
* Comment out sorting
* Add all necessary dial options
* Close connection before evaluating error from fetch
* Small changes
* Fix lint issues
* Merge branch 'master' into validator-client-account-statuses
* Update dependencies for docker images
* Rename multipleValidatorStatus to activationStatus
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into validator-client-account-statuses
* Update commit hash for ethereumapis
* Implement MultipleValidatorStatus
* Tests for MultipleValidatorStatus
* Fix bugs
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into validator-client-account-statuses
* Add export comment for MultipleValidatorStatus
* Run `go fmt` in prysm (#5815)
* go fmt
* Add fix for nil state in InitializeFromProto (#5817)
* Add nil check and tests
* Add unsafe test
* Update tools/genesis-state-gen/main.go
* Undo genesis state gen changes
* Merge branch 'proto-fuzz-fix' of github.com:prysmaticlabs/prysm into proto-fuzz-fix
* gaz
* Fix
* Add export comment for MultipleValidatorStatus
* Clean up comments
* Update mock files for beacon_node_validator_service
* Merge branch 'validator-client-account-statuses' of https://github.com/michaelhly/prysm into validator-client-account-statuses
* Run gazelle
* Fix mock issues
* Fetch statuses in batches
* Simplify public key generation for status_test
* Sort validator statuses by status type
* Format validator statuses and print to console
* Fix lint issues
* Delimit with commas
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into validator-client-account-statuses
* Rename otheropts to extraopts
* Merge branch 'master' into validator-client-account-statuses
* Merge branch 'validator-client-account-statuses' of https://github.com/michaelhly/prysm into validator-client-account-statuses
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into validator-client-account-statuses
* Clean up MultipleValidatorStatus tests
* Add sync checker to MultipleValidatorStatus
* Update formatting
* Prepend 0x to validator keys
* Check number of status blocks recieved in status_test
* Move sorting to goroutine
* Capitalize constants
* Fix typo
* Use mock reponses in sort test
* Remove byteutils
* Fix ugly format
* Add comment on MultipleValidatorStatus test
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into validator-client-account-statuses
* Create entrypoint to run status command, and make unexported functions internal
* Move merge step into FetchAccountStatuses
* Revert service.go
* Remove responseToSortedMetadata
* Simplify mergeTwo
* Replace fmt output with logrus
* Fix typo
* Merge branch 'master' into validator-client-account-statuses
* Update comment
* Merge branch 'validator-client-account-statuses' of https://github.com/michaelhly/prysm into validator-client-account-statuses
* Return error on bad credentials
* Merge branch 'master' into validator-client-account-statuses
* Merge branch 'master' into validator-client-account-statuses
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into validator-client-account-statuses
* Skip merge step on error
* Fix conflicts
* Fix mock paths
* Add comments
* Convert some sprintfs to wrapfs
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into validator-client-account-statuses
* Rename ExtractPublicKeys to ExtractPublicKeysFromKeyStore and move to account.go
* Add support for keymanager
* Add supported flags to flags list
* Log warning on intermediary errors
* Update output
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into validator-client-account-statuses
* Merge branch 'master' into validator-client-account-statuses
* Fix conflicts
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into validator-client-account-statuses
* Merge branch 'validator-client-account-statuses' of https://github.com/michaelhly/prysm into validator-client-account-statuses
* Set context timeout for FetchAccountStatuses
* Remove deprecated grpc.WithTimeout
* gofmt
* Remove getters
* Remove parallel stuff
* Move grpc dialing out of status.go
* Update logging based on feedback
* Update validator/accounts/status.go
* Move data saving to listener service
* Map result data to attestations to prevent duplicate DB reads
* Gaz
* Fix tests
* Revert "Fix tests"
This reverts commit 499b205a88.
* Revert "Move data saving to listener service"
This reverts commit fd52938dba.
* Gaz
* Undo changes
* Imports
* Reorder parameters
* Fix error log
* Add test for mapReusltsToAtts
* Fix errorf
* Change to safer crypto
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Allow wallet passphrases to be environment variables
* Merge branch 'master' into wallet-env-passphrases
* Namespace environment variables and clear them at the end of the test.
* Merge branch 'master' into wallet-env-passphrases
* Merge branch 'master' into wallet-env-passphrases
* Merge branch 'master' into wallet-env-passphrases
* Merge branch 'master' into wallet-env-passphrases
* Merge branch 'master' into wallet-env-passphrases
* Merge branch 'master' into wallet-env-passphrases
* Merge branch 'master' into wallet-env-passphrases
* Merge branch 'master' into wallet-env-passphrases
* Merge branch 'master' into wallet-env-passphrases
* Block must have a higher slot than parent state
* New tests and existing test
* Typo
* Fixed more existing test....
* Merge branch 'master' into sec0
* Merge branch 'master' into sec0
* Merge branch 'master' of github.com:prysmaticlabs/prysm into sec0
* Update spec tests to v0.11.3
* Merge branch 'sec0' of github.com:prysmaticlabs/prysm into sec0
* Update badge to v0.11.3
* Update badge to v0.11.3
* Merge refs/heads/master into sec0
* Make `archivedRoot` handle missing root case
* Regression tests
* Fixed existing tests
* Removed debug log
* Merge refs/heads/master into handle-missing-archived-index
* Merge refs/heads/master into handle-missing-archived-index
* More comments on the look back
* Merge branch 'handle-missing-archived-index' of github.com:prysmaticlabs/prysm into handle-missing-archived-index
* Merge refs/heads/master into handle-missing-archived-index
* implements weighted round robin in init-sync
* protection against evil peer
* reshuffle
* shorten flag
* deterministic order of wrr
* Merge branch 'master' into init-sync-wrr
* Merge refs/heads/master into init-sync-wrr
* Merge refs/heads/master into init-sync-wrr
* allow peers with the same capacity to pe selected at random
* Merge branch 'init-sync-wrr' of github.com:prysmaticlabs/prysm into init-sync-wrr
* adds wrr to e2e tests
* Merge refs/heads/master into init-sync-wrr
* Merge refs/heads/master into init-sync-wrr
* Merge refs/heads/master into init-sync-wrr
* Add check for internet in prysm.sh
* Make script fail
* End script early
* Merge branch 'master' into add-internet-check
* Fix order of ops
* Merge branch 'add-internet-check' of github.com:prysmaticlabs/prysm into add-internet-check
* Merge refs/heads/master into add-internet-check
* Merge refs/heads/master into add-internet-check
* Merge refs/heads/master into add-internet-check
* Merge refs/heads/master into add-internet-check
* Merge refs/heads/master into add-internet-check
* Merge refs/heads/master into add-internet-check
* Merge refs/heads/master into add-internet-check
* Add check for internet to bat script
* Merge branch 'add-internet-check' of github.com:prysmaticlabs/prysm into add-internet-check
* Merge refs/heads/master into add-internet-check
* Removes DB check for receiving p2p slashings
* Fix bad logic
* Merge refs/heads/master into p2p-remove-db-check
* Whoops
* Merge branch 'p2p-remove-db-check' of github.com:prysmaticlabs/prysm into p2p-remove-db-check
* add in rpc debug server
* sets the valid debug level
* builds
* make post
* Merge branch 'master' into debuglog
* Merge refs/heads/master into debuglog
* caps
* Merge branch 'debuglog' of github.com:prysmaticlabs/prysm into debuglog
* comment
* Add validator mocks to script
* Add more mocks
* Generate all the mocks for Ivan
* Change script to use relative paths and gofmt
* bazel
* Remove duplicates
* Remove duplicated interfaces
* change to shared/mock
* Fix script and build
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* add test for stream duties
* rem gomock
* Merge branch 'master' into stream-duties
* context cancelation test
* use interface for epoch ticker in duties
* fix build
* compute duties on first call
* pass tests for streams
* gaz
* ss stream duties
* Merge branch 'master' into stream-duties
* ensure only stream across epoch-wide reorgs
* regen mock for validator
* Update beacon-chain/blockchain/head.go
* Update RPC method GetValidatorPerformance to use validator indices
* Merge refs/heads/master into stream-duties
* Merge refs/heads/master into stream-duties
* Update beacon-chain/rpc/validator/server.go
* Merge branch 'master' into stream-duties
* Update commit hash for com_github_prysmaticlabs_ethereumapis
* Aggregate validator indices before appending performance summaries
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into validator-performance-by-indices
* Merge stream-duties
* Make function more test friendly
* Add indices tests
* fixup
* Fix conflicts
* Update gateway max resv size to 16MB (#5756)
* Update max resv size to 16MB
* Merge refs/heads/master into 5752
* Use GrpcMaxCallRecvMsgSizeFlag for beacon node
* Merge branch '5752' of github.com:prysmaticlabs/prysm into 5752
* Typo
* Fix server
* Merge refs/heads/master into 5752
* Merge refs/heads/master into 5752
* Merge refs/heads/master into 5752
* Merge refs/heads/master into 5752
* Update beacon-chain/gateway/server/main.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Merge refs/heads/master into 5752
* Rebase to origin/master
* Rebase to origin/master
* Merge remote-tracking branch 'origin/master' into validator-performance-by-indices
* Apply suggestions from code review
* Merge branch 'master' into validator-performance-by-indices
* Fix conflict
* fixup
* Fix tests
* Revert workspace file
* gofmt
* Revert executable permissions on beacon-chain/rpc/beacon/validators.go
* Merge branch 'master' into validator-performance-by-indices
* Merge branch 'master' into validator-performance-by-indices
* Merge branch 'master' into validator-performance-by-indices
* Merge branch 'master' into validator-performance-by-indices
* Add SyncChecker to tests
* Merge branch 'master' into validator-performance-by-indices
* Merge branch 'master' into validator-performance-by-indices
* Merge branch 'master' into validator-performance-by-indices
* Merge branch 'master' into validator-performance-by-indices
* Update beacon-chain/rpc/beacon/validators_test.go
* Update beacon-chain/rpc/beacon/validators_test.go
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into validator-performance-by-indices
* Add comment
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into validator-performance-by-indices
* Merge branch 'master' into validator-performance-by-indices
* Merge branch 'master' into validator-performance-by-indices
* Merge branch 'master' into validator-performance-by-indices
* Remove useless `currentSplitSlot == 0`
* Increase slots per archived point to 2048
* Don't delete last archived state
* Revert back to 256
* Merge branch 'master' of github.com:prysmaticlabs/prysm into fix-migration-delete-latest-state
* Don't delete last archived state
* Regression test
* Revert
* Validate slashings upon pool exit
* Change in implementation
* Fix test
* Merge branch 'master' into validate-slashing
* Merge refs/heads/master into validate-slashing
* Merge refs/heads/master into validate-slashing
* Merge refs/heads/master into validate-slashing
* Undo e2e changes
* Merge branch 'validate-slashing' of github.com:prysmaticlabs/prysm into validate-slashing
* Merge refs/heads/master into validate-slashing
* check for missing blocks
* error log
* add test
* fix lint
* fix test
* terence's review
* do not mess with on block
* Merge refs/heads/master into addCheck
* Add nil check and tests
* Add unsafe test
* Update tools/genesis-state-gen/main.go
* Undo genesis state gen changes
* Merge branch 'proto-fuzz-fix' of github.com:prysmaticlabs/prysm into proto-fuzz-fix
* gaz
* Fix
* `GetValidatorPerformance` return `Unavailable` when syncing
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Reduce state copies for SubmitAggregateAndProof
* Merge branch 'master' into reduce-state-copies
* add test for stream duties
* rem gomock
* Merge branch 'master' into stream-duties
* context cancelation test
* use interface for epoch ticker in duties
* fix build
* compute duties on first call
* pass tests for streams
* gaz
* ss stream duties
* Merge branch 'master' into stream-duties
* ensure only stream across epoch-wide reorgs
* regen mock for validator
* Update beacon-chain/blockchain/head.go
* Merge refs/heads/master into stream-duties
* Merge refs/heads/master into stream-duties
* Update beacon-chain/rpc/validator/server.go
* Merge branch 'master' into stream-duties
* add docker
* gaz
* update workspac
* Merge branch 'stream-duties' into state-gen-docker
* pure off
* Merge branch 'state-gen-docker' of github.com:prysmaticlabs/prysm into state-gen-docker
* gen
* base img
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* fix confs
* fix up confs
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Merge refs/heads/master into state-gen-docker
* Increase time for test to start
* Try anothre fix
* Set minimum participation back to 100%
* Change bnode count to 2
* Give extra wiggle room for metrics
* Remove comment
* refactor ReceiveBlockNoPubsub to receive block root
* Refactor ReceiveBlock to receive block root
* A few other minor refactoring to reduce block HTR
* use arg, remove HTR
* more slight refactoring, comments
* fix test build
* Merge refs/heads/master into receive-with-root
* Merge refs/heads/master into receive-with-root
* Release deprecatedEnableCustomBlockHTR to all
* Release deprecatedEnableCustomBlockHTR to all
* Fix builds
* Treat nil body as empty
* Use custom HTR in signing root
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add `GetWithoutCopy`
* Add `StateByRootInitialSync`
* Use `StateByRootInitialSync` for initial syncing using new-state-mgmt
* Merge branch 'master' into new-state-init-sync-mem
* Skip if split slot is 0
* Merge branch 'new-state-init-sync-mem' of github.com:prysmaticlabs/prysm into new-state-init-sync-mem
* Make sure we invalidate cache
* Add test part 1
* Add tests part 2
* Update beacon-chain/cache/hot_state_cache.go
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* Comment
* Merge branch 'new-state-init-sync-mem' of github.com:prysmaticlabs/prysm into new-state-init-sync-mem
* Merge branch 'master' of github.com:prysmaticlabs/prysm into new-state-init-sync-mem
* Dont need to run fork choice and save head during intial sync
* Invalidate cache at onBlockInitialSyncStateTransition
* Merge branch 'new-state-init-sync-mem' of github.com:prysmaticlabs/prysm into new-state-init-sync-mem
* Revert saveHeadNoDB changes
* Add back DeleteHotStateInCache
* Removed extra deletion
* Merge branch 'master' of github.com:prysmaticlabs/prysm into new-state-init-sync-mem
* Proper set splitslot for tests
* Merge branch 'master' into new-state-init-sync-mem
* Merge branch 'master' of github.com:prysmaticlabs/prysm into new-state-init-sync-mem
* Merge branch 'new-state-init-sync-mem' of github.com:prysmaticlabs/prysm into new-state-init-sync-mem
* Validator status optimization and bug fix
* Remove uneeded state check
* Change val function to read only
* Change to read only
* Undo error change
* Undo deposit change
* Change instances of ValidatorAtIndex to ReadOnly where possible
* Use ReadOnly for VerifyExit and Slashings
* Move length check to before lock
* Improve readonly tests
* undo process attester changes
* Fix test
* refactors block fetching function to fetcher
* more comments fixed
* Merge branch 'master' into init-sync-optimizations
* moves helper code into separate file
* move test setup code to testmain
* removes bench
* Add--disable-historical-detection flag
* Merge branch 'master' into slasher-add-hist-flag
* Fix for comments
* Add flag to usage help
* Merge branch 'master' into slasher-add-hist-flag
* Update slasher/usage.go
* Fix imports
* Merge branch 'master' into slasher-add-hist-flag
* Merge branch 'master' into slasher-add-hist-flag
* Merge branch 'master' into slasher-add-hist-flag
* refactors block fetching function to fetcher
* more comments fixed
* Merge refs/heads/master into init-sync-upd
* Merge refs/heads/master into init-sync-upd
* Merge refs/heads/master into init-sync-upd
* Update max resv size to 16MB
* Merge refs/heads/master into 5752
* Use GrpcMaxCallRecvMsgSizeFlag for beacon node
* Merge branch '5752' of github.com:prysmaticlabs/prysm into 5752
* Typo
* Fix server
* Merge refs/heads/master into 5752
* Merge refs/heads/master into 5752
* Merge refs/heads/master into 5752
* Merge refs/heads/master into 5752
* Update beacon-chain/gateway/server/main.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Merge refs/heads/master into 5752
* add test for stream duties
* rem gomock
* context cancelation test
* use interface for epoch ticker in duties
* fix build
* compute duties on first call
* pass tests for streams
* gaz
* ss stream duties
* ensure only stream across epoch-wide reorgs
* regen mock for validator
* Update beacon-chain/blockchain/head.go
* Update beacon-chain/rpc/validator/server.go
* update workspac
* pregenesis check
* tests pass
* build fix
* Revert "tests pass"
This reverts commit 9029d63ef3.
* ethereumapis
* gaz
* Update beacon-chain/rpc/validator/assignments.go
* test for reorg
* fix up required tests
* fmt
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Remove flag requirements for keystore-path and password
* Add test for HandleEmptyFlags
* Add comment
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* load chain config from file
* revert flag name change
* add dependencies to image
* Update shared/cmd/flags.go
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* Update beacon-chain/main.go
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
* added test to load config file
* Merge branch 'yaml_chain_config' of github.com:prysmaticlabs/prysm into yaml_chain_config
# Conflicts:
# beacon-chain/main.go
* replace hex with yaml format of fixed byte array
* fix test and check if comment
* move to node package
* gaz
* added contract address case
* fix key name issue
* add tests
* gaz
* add 1 byte handling
* change to fatal
* add config printout
* revert main changes
* revert line removal
* fix one byte handling
* fix test and one byte handling
* remove log
* Apply suggestions from code review
* change to debug
* Update beacon-chain/node/node.go
* move helper methods
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* use opt for fuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* use ubuntu as the default build image
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* Move fuzz tests
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* making progress on p2p fuzz
* Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* use a single stream repeatedly
* use a single stream repeatedly
* use many streams
* fixes
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* Add basic test for ssz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Use a custom go_library to add libfuzzer
* delete old corpus, fix rpc_status_fuzz
* move fuzz.bzl
* minor fixes
* Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* add c-shared library (doesnt work)
* Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* fix build
* fixes
* Merge refs/heads/master into go-1.14-libfuzz
* lint
* more lint
* Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* more lint
* allow environment variable
* Merge refs/heads/master into go-1.14-libfuzz
* Add a fuzzit image with the beacon_states
* Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* lint
* readme
* lint
* fix lint again i think
* gaz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* breakup deps
* Merge branch 'go-1.14-libfuzz' of github.com:prysmaticlabs/prysm into go-1.14-libfuzz
* don't panic on failure
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* panic if no beacon states to read
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* update rules_foreign_cc
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* remove c_shared target, manually tag tests
* Add readme to fuzz package
* delete a few comments
* delete a few comments
* lint
* gaz
* gaz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Merge refs/heads/master into go-1.14-libfuzz
* Sweeping replace of ssz.HashTreeRoot(block) to stateutil.BlockRoot, minor tweaks to critical path of proposeBlock
* imports
* Merge branch 'master' into better-block-htr
* Add --enable-custom-block-htr to e2e flags
* Merge branch 'better-block-htr' of github.com:prysmaticlabs/prysm into better-block-htr
* Log public key with deposit data
* Merge refs/heads/master into log-pub-deposit
* Merge refs/heads/master into log-pub-deposit
* Merge refs/heads/master into log-pub-deposit
* Merge refs/heads/master into log-pub-deposit
* Merge refs/heads/master into log-pub-deposit
* Update validator/accounts/account.go
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* unskip on a single shard
* Merge branch 'master' into unskip-block-list-test
* fixes incorrect test state modification
* Merge branch 'master' into unskip-block-list-test
* minor formatting
* Merge branch 'unskip-block-list-test' of github.com:prysmaticlabs/prysm into unskip-block-list-test
* set sharding back to 4
* Merge refs/heads/master into unskip-block-list-test
* Merge refs/heads/master into unskip-block-list-test
* Merge refs/heads/master into unskip-block-list-test
* Add metrics to track block propogation delay
* Grammar
* Grammar
* Metrics for block sent
* Refactor into own function
* Removed sent
* Lint
* Use histogram. Thanks Preston for the suggestion!
* s/total/histogram
* Update name to `block_arrival_latency_milliseconds`
* Use milliseconds
* Use unix nano
* Use SlotToTime
* Preston's feedback
* Handle err
* enforces keystore dir
* Merge refs/heads/master into recheck-before-raw-tx-data
* do not ignore error
* Merge branch 'recheck-before-raw-tx-data' of github.com:prysmaticlabs/prysm into recheck-before-raw-tx-data
* revert all changes
* revert test
* unreachable code
* Merge refs/heads/master into revertValidatorRefCopy
* Merge refs/heads/master into revertValidatorRefCopy
* hasSeenAggregatorIndexSlot -> hasSeenAggregatorIndexEpoch
* Fix test
* Update subscriber
* setSeenCommitteeIndicesSlot -> setSeenCommitteeIndicesEpoch
* Fix test
* Revert "setSeenCommitteeIndicesSlot -> setSeenCommitteeIndicesEpoch"
This reverts commit bd638ae556.
* Fixed unaggregated att seen cache to use per slot
* fixes inconsistent naming
* removes unused methods
* proper temp keystore cleanup in tests
* more naming fixes
* one more fix of keystore teardown in tests
* more robust teardown
* traverse symlinks
* Merge branch 'master' into account-keys-symlinks
* unit test
* Merge branch 'account-keys-symlinks' of github.com:prysmaticlabs/prysm into account-keys-symlinks
* Merge refs/heads/master into account-keys-symlinks
* removes unncecessary line
* Merge branch 'account-keys-symlinks' of github.com:prysmaticlabs/prysm into account-keys-symlinks
* fixes tests
* better teardown of resources
* Progress on metrics tests
* Progress on metrics test
* Get metrics E2E working
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into e2e-metrics
* Complete most of metrics tests
* Change E2E polling to the middle of a slot, instead of at the start of the middle
* Add metrics to all E2E
* Remove extra types
* Update endtoend/evaluators/metrics.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Merge branch 'master' into e2e-metrics
* Add more comments, address feedback
* Merge branch 'e2e-metrics' of https://github.com/prysmaticlabs/prysm into e2e-metrics
* Fix build
* Remove unneeded comment
* Set E2E_EPOCHS back
* Improve sync testing reliability
* Remove metrics check from slashing
* Improve time allotted to sync
* Remove possibly flaky sync test change
* Add a tool to update genesis time
* Minor touchups
* Merge branch 'master' into update-genesis-time
* Added a readme
* Merge refs/heads/master into update-genesis-time
* Merge branch 'update-genesis-time' of github.com:prysmaticlabs/prysm into update-genesis-time
* Merge refs/heads/master into update-genesis-time
* Merge refs/heads/master into update-genesis-time
* adding in proto debug service
* builds
* debug proto
* gaz ignore
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Refactor attestation packing slightly to reduce the skip slot / HTR of process slots
* Merge branch 'master' into refactor-attestation-packing
* gofmt
* Merge branch 'refactor-attestation-packing' of github.com:prysmaticlabs/prysm into refactor-attestation-packing
* Merge branch 'master' of github.com:prysmaticlabs/prysm into refactor-attestation-packing
* Add static analysis to enforce usage of InitWithReset
* Add comment / lint
* fix a few usages
* more fixes for featureconfig.Init
* Fix analyzer
* Merge branch 'sa-fc-init' of github.com:prysmaticlabs/prysm into sa-fc-init
* Merge refs/heads/master into sa-fc-init
* Merge refs/heads/master into sa-fc-init
* fixes segfault
* Merge branch 'master' into fix-nil-segfaults
* upd state
* Merge branch 'master' into fix-nil-segfaults
* updates shard=1
* Merge refs/heads/master into fix-nil-segfaults
* Merge refs/heads/master into fix-nil-segfaults
* Merge refs/heads/master into fix-nil-segfaults
* fixes tests
* Merge branch 'fix-nil-segfaults' of github.com:prysmaticlabs/prysm into fix-nil-segfaults
* reset config to nil
* add flag assertion to other beacon-chain/rpc files
* Merge refs/heads/master into fix-nil-segfaults
* fix the rest featureconfig.init calls
* Merge branch 'fix-nil-segfaults' of github.com:prysmaticlabs/prysm into fix-nil-segfaults
* remove config setting from init
* gazelle
* reset shard back to 4
* Add test for GetValidatorPerformance
* Fix unneeded changes
* Gaz
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* WIP add deposits
* Modify validator component
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into e2e-add-depsoits
* Fix e2e
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into e2e-add-depsoits
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into e2e-add-depsoits
* Start running with extra deposits
* Begin adding evluator for e2e deposit
* Get deposit E2E working
* Add more rigorous testing for deposits
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into e2e-add-depsoits
* Improve policy for deposits
* Fix build
* Remove sync testing for long running e2e
* Undo shard change
* Undo unneeded changes
* Adjust for comments
* Merge branch 'master' into e2e-add-depsoits
* Fix bug where long running E2E would always run
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into e2e-add-depsoits
* Merge branch 'e2e-add-depsoits' of https://github.com/0xKiwi/Prysm into e2e-add-depsoits
* Merge branch 'master' into e2e-add-depsoits
* Add GenesisValidatorsRoot to GetGenesis
* Add genesis state
* Add to test
* Change to get val root from genesis fetcher
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Refactor attestation packing slightly to reduce the skip slot / HTR of process slots
* Merge branch 'master' into refactor-attestation-packing
* gofmt
* Merge branch 'refactor-attestation-packing' of github.com:prysmaticlabs/prysm into refactor-attestation-packing
* Use right signature
* Minor refactor and a regression test
* Use proper DomainRequest for mock
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Use domain selection proof
* Merge refs/heads/master into selection-domain
* Merge branch 'master' of github.com:prysmaticlabs/prysm into selection-domain
* Fixed all the tests
* Merge branch 'selection-domain' of github.com:prysmaticlabs/prysm into selection-domain
* fix logging issues
* change again
* fix errors
* Merge refs/heads/master into lessNoisy
* gaz
* Merge branch 'lessNoisy' of https://github.com/prysmaticlabs/geth-sharding into lessNoisy
* Add a 2 second timeout to fetching eth1data
* goimports
* fix
* use package const
* Merge refs/heads/master into graceful-failure-eth1data
* fix test
* Merge refs/heads/master into graceful-failure-eth1data
* Merge refs/heads/master into graceful-failure-eth1data
* Merge refs/heads/master into graceful-failure-eth1data
* Merge refs/heads/master into graceful-failure-eth1data
* Provide getters
* Using it in DomainData
* Fixed test
* Tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix wrong activation epoch
* Fix bug with activationEpoch
* Add back default of FarFutureEpoch
* Fix tests
* Fix test
* Fix test again
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* no more patch
* Merge refs/heads/master into no-more-patch
* fix build
* Merge refs/heads/master into no-more-patch
* Merge refs/heads/master into no-more-patch
* shift to trace
* Merge branch 'master' into shiftTrace
* Merge refs/heads/master into shiftTrace
* Merge refs/heads/master into shiftTrace
* Merge refs/heads/master into shiftTrace
* Merge refs/heads/master into shiftTrace
* Merge refs/heads/master into shiftTrace
* Merge refs/heads/master into shiftTrace
* fix test
* Merge branch 'shiftTrace' of https://github.com/prysmaticlabs/geth-sharding into shiftTrace
* Invert the flag
* Merge branch 'master' into invert-disable-new-state-mgmt
* Merge refs/heads/master into invert-disable-new-state-mgmt
* Add new-state-mgmt to e2e flag
* Merge branch 'invert-disable-new-state-mgmt' of github.com:prysmaticlabs/prysm into invert-disable-new-state-mgmt
* Merge refs/heads/master into invert-disable-new-state-mgmt
* Continue if archival state is not availble to generate
* Fixed test
* Merge branch 'master' into save-blocks-splitslot
* Merge refs/heads/master into save-blocks-splitslot
* assert new state is not disabled
* Merge refs/heads/master into fix-list-indexed-atts-test
* add helper method
* Merge branch 'fix-list-indexed-atts-test' of github.com:prysmaticlabs/prysm into fix-list-indexed-atts-test
* xx
* xx
* Merge refs/heads/master into fix-list-indexed-atts-test
* batch db read
* fix test
* debug
* write function and test
* test rename
* add to interface
* change order
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* WaitForActrivation improvements
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into waitforactivation
* Changes to handle new statuses
* Merge branch 'master' into waitforactivation
* Fix tests
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into waitforactivation
* Merge branch 'waitforactivation' of https://github.com/0xKiwi/Prysm into waitforactivation
* Remove unkown status being set
* Fix test
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into waitforactivation
* Merge branch 'master' into waitforactivation
* Modify logging slightly
* Merge branch 'waitforactivation' of https://github.com/0xKiwi/Prysm into waitforactivation
* Improve deposit ux
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into waitforactivation
* Add test for logs
* Rename
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into waitforactivation
* Merge branch 'master' into waitforactivation
* Merge branch 'master' into waitforactivation
* Merge branch 'master' into waitforactivation
* Merge branch 'master' into waitforactivation
* Merge branch 'master' into waitforactivation
* Merge branch 'master' into waitforactivation
* Merge branch 'master' into waitforactivation
* update to 1.14.1
* Merge branch 'master' into updatego1.14.1
* Merge refs/heads/master into updatego1.14.1
* Merge refs/heads/master into updatego1.14.1
* Merge refs/heads/master into updatego1.14.1
* Merge refs/heads/master into updatego1.14.1
* Better error
* Use copy
* Conflict
* Fixed a bug on using pre state. Added a LRU cache for saving pre state.
* Removed interaction menu. Ran Gazelle
* Fixed delete state to continue than exit
* Gazelle
* Merge branch 'master' of github.com:prysmaticlabs/prysm into regen-default
* Merge refs/heads/master into regen-default
* Added a warning message
* Merge branch 'regen-default' of github.com:prysmaticlabs/prysm into regen-default
* Merge refs/heads/master into regen-default
* Add fallback
* Add back the old tests
* Merge refs/heads/master into list-beacon-committee-fallback
* Merge refs/heads/master into list-beacon-committee-fallback
* Merge refs/heads/master into list-beacon-committee-fallback
* Merge refs/heads/master into list-beacon-committee-fallback
* Merge refs/heads/master into list-beacon-committee-fallback
* Merge refs/heads/master into list-beacon-committee-fallback
* make less aggressive
* Merge branch 'master' into lessAggressive
* Merge branch 'master' into lessAggressive
* Merge refs/heads/master into lessAggressive
* Merge refs/heads/master into lessAggressive
* Merge refs/heads/master into lessAggressive
* use state gen to retrieve state fo computing committees
* gaz + goimports
* remove duplicate
* main net config
* committee instead of committee
* remove
* handle feature config
* Update beacon-chain/rpc/beacon/attestations.go
Co-Authored-By: Victor Farazdagi <simple.square@gmail.com>
* remove duplication
* group attestations by block root
* fix errors
* fix test
* ivan feedback
* add test
* return error if new state management is turned off
* fix featureconfig handling
* gaz
* Update beacon-chain/rpc/beacon/attestations.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* add state changes
* add new changes
* add flag
* lint
* add flag
* change to correct bool
* fixing and consolidating trie
* lint
* Apply suggestions from code review
* Merge refs/heads/master into addBetterCopying
* Merge branch 'master' into addBetterCopying
* refCopy -> stateRefCopy
* Merge refs/heads/master into addBetterCopying
* tests whether unexpected mutation of validators within state is avoided
* Merge branch 'addBetterCopying' of github.com:prysmaticlabs/prysm into addBetterCopying
* remove unnecessary fields
* gazelle
* updates test
* avoid unexpected mutation in block roots on refcopy
* avoid unexpected mutation in state roots on refcopy
* Merge refs/heads/master into addBetterCopying
* Merge branch 'master' into addBetterCopying
* fix test
* randao tests
* simplify tests
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* test cur/prev attestations mutation
* Merge branch 'addBetterCopying' of github.com:prysmaticlabs/prysm into addBetterCopying
* gazelle
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* fixes tests
* minor naming update
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Merge refs/heads/master into addBetterCopying
* Change prometheus flag from default 8080 and sort flags
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into change-prometheus-port
* Fix build
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into change-prometheus-port
* Merge branch 'master' into change-prometheus-port
* Return error when genesis time or genesis root is not set
* Merge refs/heads/master into fail-on-unset-fork-digest
* move to own helpers
* make it non public
* Merge branch 'fail-on-unset-fork-digest' of https://github.com/prysmaticlabs/geth-sharding into fail-on-unset-fork-digest
* lint
* fix
* return error
* fix tests and error
* Merge refs/heads/master into fail-on-unset-fork-digest
* first round of test fixes
* second round of fixes
* Merge branch 'fail-on-unset-fork-digest' of https://github.com/prysmaticlabs/geth-sharding into fail-on-unset-fork-digest
* lint
* Merge refs/heads/master into fail-on-unset-fork-digest
* gaz
* Merge branch 'fail-on-unset-fork-digest' of https://github.com/prysmaticlabs/geth-sharding into fail-on-unset-fork-digest
* A p2p flag for configuring pubsub router
* Add randomsub
* lint
* Merge refs/heads/master into configurable-pubsub-router
* Default to gossip
* Merge branch 'configurable-pubsub-router' of github.com:prysmaticlabs/prysm into configurable-pubsub-router
* Merge refs/heads/master into configurable-pubsub-router
* Add flag to usage
* Merge branch 'configurable-pubsub-router' of github.com:prysmaticlabs/prysm into configurable-pubsub-router
* Fix build
* Merge refs/heads/master into configurable-pubsub-router
* Revert "Add WaitForSynced to beacon node for validator startup (#5366)"
This reverts commit 1224e75ba1.
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Revert "Add Separate Network Config (#5454)"
This reverts commit 28733f2c9e.
* Save blocks to db before generating state
* Revert "Revert "Add Separate Network Config (#5454)""
This reverts commit d43c2b7dbd.
* Revert "Revert "Add WaitForSynced to beacon node for validator startup (#5366)""
This reverts commit 927d8d9e06.
* Revert "Add WaitForSynced to beacon node for validator startup (#5366)"
This reverts commit 1224e75ba1.
* Disable various checks in block validator sync without new state mgmt
* Revert "Revert "Add WaitForSynced to beacon node for validator startup (#5366)""
This reverts commit 927d8d9e06.
* Invert
* bootnodeFix
* fix again
* remove iputils
* revert changes
* only add fallback
* fix test
* take it outside of func
* fix docker
* Merge branch 'master' into fixBootnodeAgain
* Merge refs/heads/master into fixBootnodeAgain
* Revert "Fix `ListValidatorBalances` for v0.11 (#5458)"
This reverts commit 3763a8ce5d.
* Revert "Deprecate archival service (#5445)"
This reverts commit 4fbcedf541.
* Revert "Delete archival DB methods (#5459)"
This reverts commit 8a3ea1e936.
* Revert "Modify `ListBeaconCommittees ` to use new state service (#5411)"
This reverts commit 497fa6ed50.
* Revert "Modify `GetValidatorParticipation` to use new state service (#5409)"
This reverts commit 046a00aa87.
* Revert "Modify `GetValidatorActiveSetChanges` to use new state service (#5408)"
This reverts commit 5eb6485e14.
* Revert "Modify `ListValidatorAssignments` to use new state service (#5365)"
This reverts commit 5a1a768135.
* Fix ListValidatorBalances
* Fixed all the tests
* Merge refs/heads/master into fix-list-balances
* Use requestedEpoch as default
* Merge branch 'fix-list-balances' of github.com:prysmaticlabs/prysm into fix-list-balances
* Fixed a test
* add new block encoding for snappy
* Merge branch 'master' into fixEncoder
* flip flag
* Merge branch 'fixEncoder' of https://github.com/prysmaticlabs/geth-sharding into fixEncoder
* not an underscore
* Update load cold states by root and slot
* Update cold tests
* Add a way to recover state summary
* Short circuit slot 0 to return genesis state
* Short circuit if there's no block in DB
* Fixed test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Enforce error handling and checking type assertions
* Reference issue #5404 in the TODO message
* doc description
* Merge branch 'master' into errcheck
* fix tests and address @nisdas feedbacK
* gaz
* fix docker image
* ADd cache to other function and add comment
* Add cache for eth1data
* Fix test
* Reset cache before test
* Move cache to beacon node end
* Add metrics
* Disable blocktimebyheight cache
* Fix time
* Look into what makes the validator client slow
* Comment
* Refactor status function to be cleaner
* Use timings from params
* Improve coverage
* Remove unneeded lock in chainstart
* Reorganize validator logging
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into optimize-validator
* cleanup
* Fix bug
* Undo depositbypukey changes
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into optimize-validator
* Fix deposit cache
* Fix multiple status test
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into optimize-validator
* Remove logs
* Remove unused import
* Add comment
* comment
* Remove comments
* Merge branch 'master' into optimize-validator
* Undo time change for activation
* Merge branch 'optimize-validator' of https://github.com/0xKiwi/Prysm into optimize-validator
* Fix check for sync
* Change value back to half slot
* comment
* Rephrase logs
* Merge branch 'master' into optimize-validator
* fix broken links in readme
Activating a validator is referencing a broken link. This commit points to the new location of the documentation.
* Merge branch 'master' into master
* Reduce number of info-level messages on start of validator
* Test service, not log entry
* Gazelle
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Add disable-init-sync-batch-save-blocks
* Fix test
* Remove flag
* Merge branch 'master' into disable-init-sync-batch-save
* Quick fix
* Quick fix
* Merge branch 'master' of github.com:prysmaticlabs/prysm into disable-init-sync-batch-save
* Merge branch 'disable-init-sync-batch-save' of github.com:prysmaticlabs/prysm into disable-init-sync-batch-save
* Clear init sync blocks at the right place
* cache and retrieval of validator public keys
* fix comments
* fix comment
* fix variables
* gaz
* ivan feedback fixes
* goimports
* fix test
* comments on in line slice update
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Fixed most of the tests
* All tests passing
* All tests passing
* Fix merge conflict
* Fixed error test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* unmarshal block instead of state
* add fallback
* Merge refs/heads/master into dontUnmarshal
* Merge refs/heads/master into dontUnmarshal
* Merge refs/heads/master into dontUnmarshal
* Merge refs/heads/master into dontUnmarshal
* Merge refs/heads/master into dontUnmarshal
* Merge refs/heads/master into dontUnmarshal
* Merge refs/heads/master into dontUnmarshal
* Merge refs/heads/master into dontUnmarshal
* Skip anti-flake
* Log out the shard index to see it per shard
* Attempt fixes
* Remove unneeded log
* Change eth1 ports
* Remove skips
* Remove log
* Attempt local build
* Fix formatting
* Formatting
* Skip anti flake tests
* Starting a quick PoC
* Rate limit to one epoch worth of blocks in memory
* Proof of concept working
* Quick comment out
* Save previous finalized checkpoint
* Test
* Minor fixes
* More run time fixes
* Remove panic
* Feature flag
* Removed unused methods
* Fixed tests
* E2e test
* comment
* Compatible with current initial sync
* Starting
* New cache
* Cache getters and setters
* It should be part of state gen
* Need to use cache for DB
* Don't have to use finalized state
* Rm unused file
* some changes to memory mgmt when using mempool
* More run time fixes
* Can sync to head
* Feedback
* Revert "some changes to memory mgmt when using mempool"
This reverts commit f5b3e7ff47.
* Fixed sync tests
* Fixed existing tests
* Test for state summary getter
* Gaz
* Fix kafka passthrough
* Fixed inputs
* Gaz
* Fixed build
* Fixed visibility
* Trying without the ignore
* Didn't work..
* Fix kafka
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Starting a quick PoC
* Rate limit to one epoch worth of blocks in memory
* Proof of concept working
* Quick comment out
* Save previous finalized checkpoint
* Merge branch 'master' of github.com:prysmaticlabs/prysm into batch-save
* Test
* Merge branch 'prev-finalized-getter' into batch-save
* Minor fixes
* Use a map
* More run time fixes
* Remove panic
* Feature flag
* Removed unused methods
* Fixed tests
* E2e test
* Merge branch 'master' into batch-save
* comment
* Merge branch 'master' into batch-save
* Compatible with current initial sync
* Merge branch 'batch-save' of github.com:prysmaticlabs/prysm into batch-save
* Merge refs/heads/master into batch-save
* Merge refs/heads/master into batch-save
* Merge refs/heads/master into batch-save
* Merge branch 'master' of github.com:prysmaticlabs/prysm into batch-save
* Feedback
* Merge branch 'batch-save' of github.com:prysmaticlabs/prysm into batch-save
* Merge refs/heads/master into batch-save
* Use fastssz when available
* fix tests
* fix most tests
* Merge branch 'master' into faster-hash-proto
* Merge refs/heads/master into faster-hash-proto
* Merge refs/heads/master into faster-hash-proto
* Merge refs/heads/master into faster-hash-proto
* fix last test
* Merge branch 'faster-hash-proto' of github.com:prysmaticlabs/prysm into faster-hash-proto-2
* lint
* fix last test
* fix again
* Update beacon-chain/cache/checkpoint_state_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Merge refs/heads/master into faster-hash-proto
* Fixed last play methods
* Fixed a regression. Genesis case for state gen
* Comment
* Starting
* Update proto
* Remove boundary root usages
* Update migrate
* Clean up
* Remove unused db methods
* Kafta
* Kafta
* Update tests
* Comments
* Fix state summary tests
* Missed one pass through for kafta
* Prune garbage state is not for new state mgmt
* Merge branch 'master' into state-mgmt-pruning
* Merge branch 'master' into state-mgmt-pruning
* Merge branch 'master' into state-mgmt-pruning
* use faster hash proto
* Merge branch 'master' into faster-att-pool
* gaz
* Merge branch 'faster-att-pool' of github.com:prysmaticlabs/prysm into faster-att-pool
* nil checks and failing tests
* Merge refs/heads/master into faster-att-pool
* Merge refs/heads/master into faster-att-pool
* Merge refs/heads/master into faster-att-pool
* Merge refs/heads/master into faster-att-pool
* Merge refs/heads/master into faster-att-pool
* Fix
* Merge branch 'faster-att-pool' of github.com:prysmaticlabs/prysm into faster-att-pool
* Fix tests
* Fixed a regression. Genesis case for state gen
* Comment
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add alpine based images for validator and beacon chain
* Use an alpine image with glibc
* manual tags on transitional targets
* poke buildkite
* poke buildkite
* Add functionality to support attestation requests that are older than the head state
* lint
* gaz
* Handle nil state case
* handle underflow of first epoch
* Remove redundant and possibly wrong genesisTime struct field
* fix remaining tests
* gofmt
* remove debug comment
* use stategen.StateByRoot interchangably with beaconDB.State
* gofmt
* goimports
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Start fixing api to get from blocks
* Fix listatts tests
* Fix slasher
* Improve blocks
* Change att grouping
* Use faster att concat
* Try to fix e2e
* Change back time
* tiny e2e fix
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Do not override jobs, dont print colors
* Merge branch 'master' of github.com:prysmaticlabs/prysm into buildkite-changes
* use composite flag for minimal downloads
* Add repository cache
* use hardlinks
* repository cache common
* query and build repo cache
* bump bitfield dep
* add new methods
* get it working
* add nil check
* add check
* one more check
* add flag
* everything works local run
* add debug log
* more changes
* ensuring p2p interface works enough for tests to pass
* all tests pass
* include proper naming and comments to fix lint
* Apply suggestions from code review
* discover by peers
* cannot figure out why 0 peers
* remove keys
* fix test
* fix it
* fix again
* remove log
* change back
* gaz
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* some improvements
* gofmt
* Merge refs/heads/master into bls-improvements
* Merge refs/heads/master into bls-improvements
* Merge refs/heads/master into bls-improvements
* New byteutils for state gen
* Added empty slice and nil checks
* Merge branch 'master' into bit-utils
* SetBit to extend bit
* Merge branch 'bit-utils' of github.com:prysmaticlabs/prysm into bit-utils
* Comment
* Add HighestBitIndexBelow
* Test for HighestBitIndexBelow
* another test and better test fail output
* Feedback
* Merge branch 'bit-utils' of github.com:prysmaticlabs/prysm into bit-utils
* Feedback
* Preston's feedback, thanks!
* Use var
* Use var
* Merge refs/heads/master into bit-utils
* Refactor AttestingIndices to not return any error. Add tests. Add shortcut for fully attested attestation
* attestationutil.ConvertToIndexed never returned error either
* Working with benchmark:
* fix test
* Merge branch 'attestationutil-improvements-0' into attestationutil-improvements-1
* out of bounds check
* Update after merge of https://github.com/prysmaticlabs/go-bitfield/pull/26
* remove shortcut
* Merge refs/heads/attestationutil-improvements-0 into attestationutil-improvements-1
* Merge branch 'attestationutil-improvements-0' into attestationutil-improvements-1
* Merge branch 'attestationutil-improvements-1' of github.com:prysmaticlabs/prysm into attestationutil-improvements-1
* revert test...
* Merge refs/heads/attestationutil-improvements-0 into attestationutil-improvements-1
* Merge branch 'master' of github.com:prysmaticlabs/prysm into attestationutil-improvements-1
* Merge branch 'attestationutil-improvements-1' of github.com:prysmaticlabs/prysm into attestationutil-improvements-1
* Update go-bitfield after https://github.com/prysmaticlabs/go-bitfield/pull/27
* Refactor AttestingIndices to not return any error. Add tests. Add shortcut for fully attested attestation
* attestationutil.ConvertToIndexed never returned error either
* fix test
* remove shortcut
* revert test...
* update ethereumapis with patch
* Add indices and pubkeys to ListValidators request
* Add sorting
* Merge branch 'master' into validators-by-keys-indices
* Rename to index
* Merge branch 'validators-by-keys-indices' of https://github.com/prysmaticlabs/prysm into validators-by-keys-indices
* Add comment
* Add ssz marshal and unmarshal for most data structures
* Merge refs/heads/master into ssz-stuff
* Merge refs/heads/master into ssz-stuff
* Merge refs/heads/master into ssz-stuff
* Merge refs/heads/master into ssz-stuff
* Merge refs/heads/master into ssz-stuff
* Merge refs/heads/master into ssz-stuff
* Update ferran SSZ
* Update ferran's SSZ
* Merge refs/heads/master into ssz-stuff
* fix tests
* Merge branch 'ssz-stuff' of github.com:prysmaticlabs/prysm into ssz-stuff
* gaz
* initiate cache
* imports fix
* add in feature config flag
* utilize a dynamic set of subnets
* Merge branch 'master' into att-subnets
* add in feature config flag
* Merge branch 'att-subnets' of github.com:prysmaticlabs/prysm into att-subnets
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into att-subnets
* shift
* more changes
* gaz
* Update beacon-chain/rpc/validator/assignments.go
* Update beacon-chain/rpc/validator/assignments.go
* add flag
* Merge branch 'att-subnets' of https://github.com/prysmaticlabs/geth-sharding into att-subnets
* Merge branch 'master' into att-subnets
* Merge refs/heads/master into att-subnets
* no double flag
* Merge branch 'att-subnets' of github.com:prysmaticlabs/prysm into att-subnets
* amend committee ids to better name
* gaz
* add new helpers
* make zerohash public
* remove unused method
* add more tests
* cleanup
* add in new tests
* fix all tests
* Apply suggestions from code review
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Start adding "inject slashing into pool"
* Attempt at slashing
* Remove unneded
* Fix
* Begin adding slasher client to e2e
* Start slasher in e2e
* Get slashing detection working
* Get slashing evaluators working
* Progress on e2e
* Cleanup e2e
* Fix slasher e2e!
* lint
* Comment
* Fixes
* Improve accuracy of balance check
* REmove extra
* Remove extra
* Make more accurate
* Update to go 1.14
* Update with fix from https://github.com/bazelbuild/rules_go/pull/2388
* Merge branch 'master' into go-1.14
* Merge refs/heads/master into go-1.14
* Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14
* Update gRPC
* Merge branch 'go-1.14' of github.com:prysmaticlabs/prysm into go-1.14
* Update golang.org/x/crypto
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Merge refs/heads/master into go-1.14
* Committing gc_goopts for issue repro
* Fix race and msan builds
* Merge branch 'master' of github.com:prysmaticlabs/prysm into go-1.14
* Merge refs/heads/master into go-1.14
* switch to LRU
* Merge branch 'go-1.14' of github.com:prysmaticlabs/prysm into go-1.14
* Fixed, but dont feel good about this
* Switch append ordering
* handle slashing from p2p
* gaz
* remove unneeded check
* add tests
* gaz goimports
* text update
* Apply suggestions from code review
* add proto.equal
* fix test
* add context to call
* fix state bug found by terence
* fix tests add error type handling
* nil checks
* nil head state check
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* rem slasher proto
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* verify slashing
* added in test for pending att slashing
* tests starting to apss
* sig failed verify regression test
* tests passing for ops pool
* Update beacon-chain/operations/slashings/service.go
* Merge refs/heads/master into verify-slash-sig
* verify on insert
* tests starting to pass
* all code paths fixed
* imports
* fix build
* fix rpc errors
* Merge refs/heads/master into verify-slash-sig
* added in slasher metrics
* Merge branch 'master' into slasher-metrics
* add in prom bolt metrics for slasher
* Merge branch 'slasher-metrics' of github.com:prysmaticlabs/prysm into slasher-metrics
* imports
* include all metrics
* no dup bolt collector
* Update slasher/detection/attestations/spanner.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* naming best practices for prom, thx Terence
* Merge branch 'slasher-metrics' of github.com:prysmaticlabs/prysm into slasher-metrics
* Build herumi from source. Working so far on linux_amd64 for compile, but tests fail to initialize the curve appropriately
* Add copts to go_default_library
* llvm toolchain, still WIP
* Fixes, make llvm a config flag
* fix gazelle resolution
* comment
* comment
* update herumi to the v0.9.4 version
* Apply @nisdas patch from https://github.com/herumi/bls-eth-go-binary/pull/5
* rem slasher proto
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* some nil checks in slasher
* Batch saving of attestations from stream for slasher
* Progress on test
* Fixes
* Fix test
* Rename
* Modify logs and timing
* Change
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* rem slasher proto
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* add a bit more better logging
* Empty db fix
* Improve logs
* Fix small issues in spanner, improvements
* Change costs back to 1 for now
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into cleanup-slasher
* Change the cache back to 0
* Cleanup
* Merge branch 'master' into cleanup-slasher
* lint
* added in better spans
* log
* rem spanner in super intensive operation
* Merge branch 'master' into cleanup-slasher
* add todo
* Merge branch 'cleanup-slasher' of github.com:prysmaticlabs/prysm into cleanup-slasher
* Merge branch 'master' into cleanup-slasher
* Apply suggestions from code review
* no logrus
* Merge branch 'master' into cleanup-slasher
* Merge branch 'cleanup-slasher' of https://github.com/prysmaticlabs/Prysm into cleanup-slasher
* Remove spammy logs
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into cleanup-slasher
* gaz
* Rename func
* Add back needed code
* Add todo
* Add span to cache func
* Warn on failure to decrypt a keystore validator
* Update test
* Update tools
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* fix flag
* Merge refs/heads/master into fixFlag
* Merge refs/heads/master into fixFlag
* Merge refs/heads/master into fixFlag
* Merge refs/heads/master into fixFlag
* Merge refs/heads/master into fixFlag
* fix config
* Merge branch 'fixFlag' of https://github.com/prysmaticlabs/geth-sharding into fixFlag
* Flag
* Service
* Tests
* Tests and comments
* Lint
* Add to usages
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add google auth creds as environment variable for CI. Add a comment why this script is helpful
* Add google auth creds as environment variable for CI. Add a comment why this script is helpful
* fix up status reporting
* Merge refs/heads/master into properly-report-status
* Merge refs/heads/master into properly-report-status
* Merge refs/heads/master into properly-report-status
* Buildifier, add release config
* Merge branch 'master' into bazel-stuff
* Merge refs/heads/master into bazel-stuff
* Merge refs/heads/master into bazel-stuff
* revert gnostic
* Set kafka for CI tests only
* add bazel.sh script
* set home
* rem slasher proto
* with cache
* delete old code
* moving to bytes.go fix traces
* moving to bytes.go fix traces
* raul feedback
* raul feedback
* begin
* add eviction test
* ivan feedback
* ivan feedback
* test is running
* some comment improvements
* test included for bytes and bool
* import
* cleanup
* tests pass
* fill in all fields in test
* gaz
* fix integration
* gaz + goimports
* fix service.go
* remove sleep
* cleanup
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* PRYSM-2849 first cut at multi-arch cross compiling toolchain. currently supports arm64 and amd64 via docker cross compiler image
* picky linter
* some readme cleanup
* remove arm 8.2 revision for arm64 builds (cortex a72 is ARMv8.0-A)
remove arm32 toolchain from multiarch dockerfile
* remove extranous WORKSPACE entries
* add docker remote execution configs for amd64 and arm64
* add osx bazelrc configs
* working osx toolchain
* update readme
* cleanup for amd, arm and osx cross before beginning windows
* initial stab at mingw windows cross
* add docker target for windows_amd64 and update readme for cross-compiling
* little more cleanup for readability
* Check in generated RBE. Still tweaking config but linux amd64 -> linux amd64 on RBE works OK. Cross compile does not work properly in RBE yet.
* fix
* update image
* Making some progress
* delete artifacts
* Working build
* Add remote config
* remove some things I added to README
* Tidy
* Update readme
* remove 2 commented lines
* buildifer
* Merge pull request #1 from prysmaticlabs/cross-compile-with-suburbandad
Cross compile with suburbandad
* Merge branch 'master' into clang-cross-compile
* buildifier on generated stuff
* Merge branch 'master' into clang-cross-compile
* Merge branch 'master' into clang-cross-compile
* Merge branch 'master' into clang-cross-compile
* Added last saved block and state
* Genesis tests
* Gaz
* Added state tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* rem slasher proto
* with cache
* delete old code
* moving to bytes.go fix traces
* moving to bytes.go fix traces
* raul feedback
* raul feedback
* add eviction test
* ivan feedback
* ivan feedback
* some comment improvements
* test included for bytes and bool
* import
* cleanup
* tests pass
* fill in all fields in test
* gaz
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Add hot state cache
* Gaz
* Test
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into state-gen-lru-cache
* Merge refs/heads/master into state-gen-lru-cache
* rem slasher proto
* Remove unneeded protos
* Rework api proto
* Add back proto
* regen slashing proto
* Merge branch 'rem-rpc' of github.com:prysmaticlabs/prysm into rem-rpc
* Fix comments
* Merge branch 'rem-rpc' of https://github.com/prysmaticlabs/Prysm into rem-rpc
* Add double vote detection to spanner
* Add documentation
* Update slasher/detection/attestations/spanner.go
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into slasher-spanner-double
* Merge branch 'slasher-spanner-double' of https://github.com/0xKiwi/Prysm into slasher-spanner-double
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into slasher-spanner-double
* Gazelle
* Add double vote detection func
* Implement double voting detection
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into slasher-implement-double
* Merge branch 'master' into slasher-implement-double
* Merge branch 'slasher-implement-double' of https://github.com/0xKiwi/Prysm into slasher-implement-double
* Fix typo
* Remove filter, replace with slot + committee index
* Change bloom filter to 2 sig bytes
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into slasher-change-filter
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into slasher-implement-double
* Merge branch 'slasher-change-filter' of https://github.com/0xKiwi/Prysm into slasher-implement-double
* Change detection to use prefix
* Fix runtime
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into slasher-implement-double
* Fix bug and comments
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into slasher-implement-double
* Fix flaky test
* Merge branch 'master' into slasher-implement-double
* Improve logs
* Merge branch 'slasher-implement-double' of https://github.com/0xKiwi/Prysm into slasher-implement-double
* Add ok check
* Fix test
* Merge branch 'master' into slasher-implement-double
* add dep
* add feature config
* Merge branch 'master' into addNoiseSupport
* gaz and victor's review
* Merge branch 'addNoiseSupport' of https://github.com/prysmaticlabs/geth-sharding into addNoiseSupport
* Define proto
* Regen
* Delete slasher.pb.go
* Gaz
* Merge branch 'state-summary-proto' of https://github.com/prysmaticlabs/prysm into state-summary-proto
* Revert "Delete slasher.pb.go"
This reverts commit 19bfa21cd3.
* Add state_summary.go
* Test
* Gaz
* Interaces
* pass through
* Merge refs/heads/master into state-summary-db
* Merge refs/heads/master into state-summary-db
* Remove unused services, mark everything as deprecated, regen pb.go
* remove some code from cluster pk manager, gazelle
* goimports
* remove mocks
* Update WORKSPACE, deprecate old method, stub new method
* Move implementation to ethereumapis definition
* gofmt
* Add TODO for #4952
* Merge branch 'master' into migrate-submitaggregateandproof
* Update validator client to use new submit aggregate and proof method
* Merge branch 'migrate-submitaggregateandproof' of github.com:prysmaticlabs/prysm into migrate-submitaggregateandproof
* gaz
* rename
* rename
* Merge refs/heads/master into migrate-submitaggregateandproof
* Merge refs/heads/master into migrate-submitaggregateandproof
* Merge refs/heads/master into migrate-submitaggregateandproof
* Merge refs/heads/master into migrate-submitaggregateandproof
* Merge refs/heads/master into migrate-submitaggregateandproof
* fix tests
* Merge branch 'migrate-submitaggregateandproof' of github.com:prysmaticlabs/prysm into migrate-submitaggregateandproof
* Add simple bloom filter implementation for detecting similarity of 1 key
* Change hash to keccak
* Fix receiver name
* Fix bug
* Fix comments and organize test
* Add comment detailing hash functions
* Add bloom to test names
* stream indexed attestations impl
* mock regen
* test for stream indexed
* atts test
* no bls
* gaz
* Merge refs/heads/master into implement-stream-indexed
* use feed for atts instead
* remove unused imports
* Merge refs/heads/master into implement-stream-indexed
* fix tests in beacon
* properly use pointers
* imports
* import
* Rename vars for clarity
* Change spanner to take target epoch as key
* Fix tests, add multiple val test
* Fixes
* Change the spanner to take in att on detect
* Add back proto diagram tests
* Remove unneeded comments
* Use a domain data cache to reduce the number of calls per epoch
* fix fakevalidator
* Refactor to use a feature flag, use proto.clone, move interceptor to its own file
* gofmt
* fix comment
* tune cache slightly
* log if error on domain data
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add a configurable flag for gRPC retries
* Merge refs/heads/master into configurable-retry
* Merge refs/heads/master into configurable-retry
* Merge refs/heads/master into configurable-retry
* Merge refs/heads/master into configurable-retry
* Merge refs/heads/master into configurable-retry
* add in flag to usage
* Add metrics
* Use it
* Use it
* Fixed exp time and tests
* Update on save too
* Expose getters
* One epoch purge time
* Fixed a timing issue
* Clean up
* Gazelle
* Interface
* Prune every epoch
* Aggregate twice per slot
* Revert attsToBeAggregated
* Delete expired atts
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* more spanner additions
* implement iface
* begin implement
* wrapped up spanner functions
* rem interface
* added in necessary comments
* comments on enums
* begin adding tests
* test for detection
* add all detection tests
* moar tests
* tests for deleting pass
* dd test for update spans
* tests for updating
* include tracing utils
* gaz
* add mutexes
* ivan feedback
* include fixes
* rev
* logrus
* tests for query sync status and chain head
* begin tests for indexed atts
* test passing for requesting historical atts
* Update slasher/beaconclient/chain_data_test.go
* Update slasher/beaconclient/historical_data_retrieval.go
* lint
* fixed up wanted vs receied
* fix mock
* gazelle
* fix broken build
* tests pass
* dep
* gaz
* add dep
* tests pass
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add validators stream
* Ignore unknown keys rather than error on them
* Reduce accesses to common structures
* Ensure correct information returned for deposited validators
* Short-term cache for remote deposit data
* Name epoch duration for clarity
* Break out duplicated logic in to a single function
* Add capacities for slices and maps where appropriate
* Break out functions; add tests
* Allow stream errors not related to context
Co-authored-by: Nishant Das <nish1993@hotmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* update patch and workspace
* stub methods
* implementation of indexed attestations list
* include latest ethereumapis
* update request type
* compute committee pure function
* use compute committee helper
* add test into list indexed attestations
* regenerate mock
* imports and out of range check
* test passing for archived epoch
* add comment
* comment
* better comment on func
* throw in continue instead
* Check attestation bitlist length in aggregation to prevent panic
* Add case for overlap too
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Done
* Fixed lock
* Fixed all the tests
* Comments
* Fixed more tests
* Merge branch 'master' into better-head-obj
* Fixed more tests
* Merge branch 'better-head-obj' of git+ssh://github.com/prysmaticlabs/prysm into better-head-obj
* Prestons feedback & fixed test
* Nishant's feedback
* Participation edge case
* Gaz
* Merge branch 'master' into better-head-obj
* Merge branch 'master' of git+ssh://github.com/prysmaticlabs/prysm into better-head-obj
* Raul's feedback
* Merge branch 'better-head-obj' of git+ssh://github.com/prysmaticlabs/prysm into better-head-obj
* visibility added
* register in node
* fixed up imports
* include detection listeners for feed
* subscribe to blocks and todos
* tests passing
* todos
* pkg comment
* dont initialize map with empty registry
* check zeroed pointer
* check zeroed pointer
* imports
* gaz
* better check
* gaz
* fix it finally
* finally fix it
* gaz
* include slasher node
* slasher node runtime added
* added in register for beacon client
* streaming blocks fixed up
* all subs working
* gazelle
* handle errors
* Merge branch 'master' into slasher-node
* Update slasher/node/BUILD.bazel
* x up slasher test
* Merge refs/heads/master into slasher-node
* Merge refs/heads/master into slasher-node
* add in force clear into usage
* Merge refs/heads/master into slasher-node
* usage
* Merge refs/heads/master into slasher-node
* Fix streamblocks test
* Merge refs/heads/master into slasher-node
* Fix docker image compile
* Merge branch 'slasher-node' of https://github.com/prysmaticlabs/Prysm into slasher-node
* change to custom hashing
* Merge branch 'master' into minorOpt
* goimports
* Merge branch 'minorOpt' of https://github.com/prysmaticlabs/geth-sharding into minorOpt
* gaz
* pad to 32 bytes
* add to workspace
* impl
* include tests for func
* fix broken build
* test passing, found 2 bugs
* add errors package
* added in mockgen
* we check for insertion into the pool based on attester slashings
* test passing
* proper test
* Update beacon-chain/rpc/beacon/slashings.go
* Update beacon-chain/rpc/beacon/slashings_test.go
* prysm-4757 remove proto.Clone() in favor of existing getters.Copy* methods
* prysm-4757 added a bunch of copy methods, and broke some tests
* squash commits
fix tests and getter implementations
remove usage of CopySignedBeaconBlock from ReceiveBlockNoVerify
* correctly copy Deposit proof and remove proto.clone() again
* Merge branch 'master' into prysm-4757-no-proto-clone
* Merge branch 'master' into prysm-4757-no-proto-clone
* Fix for comments, inline possible function calls
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into prysm-4757-no-proto-clone
* Merge branch 'master' into prysm-4757-no-proto-clone
* updated with feedback from review
* Merge branch 'master' into prysm-4757-no-proto-clone
* Merge branch 'master' into prysm-4757-no-proto-clone
* Merge branch 'master' into prysm-4757-no-proto-clone
* More consistent nil return for state
* Merge refs/heads/master into nil-state
* Add a check for encode(nil)
* Merge branch 'nil-state' of github.com:prysmaticlabs/prysm into nil-state
* fix test, thanks @rauljordan
* fix tests
* gofmt
* change logging
* change positioning of log
* fix status test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fill blocks with unaggregated atts when possible, don't delete from pool until the block is submitted
* Add back invalid atts removal
* Don't delete attestations unless they can be aggregated
* comment and test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* begin beacon client
* adding in the proper receivers
* include all parts of the beacon client
* all comments included
* visibility and package comment
* Release flag to aggregate attestations in fork choice.
* Merge refs/heads/master into aggregate-atts-in-fc
* fix test
* Merge branch 'aggregate-atts-in-fc' of github.com:prysmaticlabs/prysm into aggregate-atts-in-fc
* Merge refs/heads/master into aggregate-atts-in-fc
* Clear initial sync state caches after round robin sync
* fix test mock
* lint
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Update attester submit strategy
* Tests
* Gaz
* Fixed rest of the tests
* Updated design to use feed
* Use roughtime for Now
* gaz
* Gaz
* Send block processed after fork choice
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Rename elements for clarity
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into slasher-renames
* Fix test
* Rename more functions
* Cleanup
* Fix logs
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into slasher-renames
* Reorganize and clean up logs
* Address comments
* Add comments
* Don't save nil head state
* Update head
* Don't update head on new att
* Handle initial sync state in DB can be nil
* Don't update head if it's nil
* Merge branch 'master' of git+ssh://github.com/prysmaticlabs/prysm into handle-init-sync-cache-state
* Merge refs/heads/master into handle-init-sync-cache-state
* Update beacon-chain/blockchain/head.go
* Verify attestations before putting them into the pool
* use existing method
* Validate aggregated ones too
* Revert "Validate aggregated ones too"
This reverts commit a55646d131.
* Merge branch 'master' of github.com:prysmaticlabs/prysm into verify-all-atts
* Add feature flag
* The remaining shared reference fields with conditional copy on write
* Merge branch 'master' into better-copy-2
* Merge branch 'better-copy-2' of github.com:prysmaticlabs/prysm into verify-all-atts
* gaz
* fix build, put into validate
* lint
* Merge branch 'master' of github.com:prysmaticlabs/prysm into verify-all-atts
* why does goland do this to me
* revert unrelated change
* fix tests
* Update shared/featureconfig/config.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Merge refs/heads/master into verify-all-atts
* Update beacon-chain/blockchain/testing/mock.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* gofmt
* first iteration
* with initial tests
* comment fix
* fix lint
* Start fixing other tests
* Cleanup
* Finish att slashing tests
* Finish up tests for proposer
* Fix docs
* Fix tests
* Fix pending att slashings to not include duplicates
* Fix max list
* Add test to make sure no duplicate slashings
* Address comments, improve insertion
* Fix error
* Update beacon-chain/operations/slashings/service.go
* Update beacon-chain/operations/slashings/service.go
* Update beacon-chain/operations/slashings/service.go
* Update beacon-chain/operations/slashings/service.go
* include a helper function for deduplication, fix some comments
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* begin state service
* begin on the state trie idea
* created beacon state structure
* add in the full clone getter
* return by value instead
* add all setters
* new state setters are being completed
* arrays roots exposed
* close to finishing all these headerssss
* functionality complete
* added in proto benchmark test
* test for compatibility
* add test for compat
* comments fixed
* Merge branch 'master' into state-service
* add clone
* add clone
* remove underlying copies
* make it immutable
* integrate it into chainservice
* revert
* wrap up comments for package
* address all comments and godocs
* address all comments
* Merge branch 'master' into state-service
* clone the pending attestation properly
* Merge branch 'state-service' of github.com:prysmaticlabs/prysm into state-service
* properly clone remaining items
* tests pass fixed bug
* begin using it instead of head state
* prevent nil pointer exceptions
* Merge branch 'state-service' into use-state-in-runtime
* begin using new struct in db
* integrated new type into db package
* add proper nil checks
* using new state in archiver
* refactored much of core
* editing all the precompute functions
* done with most core refactor
* fixed up some bugs in the clone comparisons
* Merge branch 'state-service' into use-state-in-runtime
* append current epoch atts
* merged master
* add missing setters
* add new setters
* fix other core methods
* fix up transition
* main service and forkchoice
* fix rpc
* integrated to powchain
* some more changes
* fix build
* improve processing of deposits
* fix error
* prevent panic
* comment
* fix process att
* gaz
* fix up att process
* resolve existing review comments
* Merge branch 'master' into use-state-in-runtime
* resolve another batch of gh comments
* resolve broken cpt state
* revise testutil to use the new state
* begin updating the state transition func to pass in more compartmentalized args
* finish editing transition function to return errors
* block operations pretty much done with refactor
* state transition fully refactored
* got epoch processing completed
* fix build in fork choice
* fixing more of the build
* fix up broken sync package
* it builds nowww it buildssss
* revert registry changes
* Recompute on Read (#4627)
* compute on read
* fix up eth1 data votes
* looking into slashings bug introduced in core/
* able to advance more slots
* add logging
* can now sync with testnet yay
* remove the leaves algorithm and other merkle imports
* expose initialize unsafe funcs
* Update beacon-chain/db/kv/state.go
* lint
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* include master
* More Optimizations for New State (#4641)
* map optimization
* more optimizations
* use a custom hasher
* comment
* block operations optimizations
* Update beacon-chain/state/types.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* fixed up various operations to use the validator index map access
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* archiver tests pass
* fixing cache tests
* cache tests passing
* edited validator tests
* powchain tests passing
* halfway thru sync tests
* more sync test fixes
* add in tests for state/
* working through rpc tests
* assignments tests passed
* almost done with rpc/beacon tests
* resolved painful validator test
* fixed up even more tests
* resolve tests
* fix build
* reduce a randao mixes copy
* fixes under //beacon-chain/blockchain/...
* build //beacon-chain/core/...
* fixes
* Runtime Optimizations (#4648)
* parallelize shuffling
* clean up
* lint
* fix build
* use callback to read from registry
* fix array roots and size map
* new improvements
* reduce hash allocs
* improved shuffling
* terence's review
* use different method
* raul's comment
* new array roots
* remove clone in pre-compute
* Update beacon-chain/state/types.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* raul's review
* lint
* fix build issues
* fix visibility
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Merge branch 'use-state-in-runtime' of https://github.com/prysmaticlabs/geth-sharding into resolve-tests
* fix visibility
* build works for all
* fix blockchain test
* fix a few tests
* fix more tests
* resolve conf
* sync
* update validator in slashing
* Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into resolve-tests
* archiver passing
* Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into resolve-tests
* fixed rpc/validator
* progress on core tests
* Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into resolve-tests
* resolve broken rpc tests
* Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into resolve-tests
* blockchain tests passed
* fix up some tests in core
* Merge branch 'master' of github.com:prysmaticlabs/prysm into resolve-tests
* fix message diff
* remove unnecessary save
* Merge branch 'master' of github.com:prysmaticlabs/prysm into resolve-tests
* Save validator after slashing
* Update validators one by one
* another update
* fix everything
* Merge branch 'resolve-tests' of https://github.com/prysmaticlabs/geth-sharding into resolve-tests
* fix more precompute tests
* fix blocks tests
* Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into resolve-tests
* more elegant fix
* more helper fixes
* Merge branch 'resolve-tests' of https://github.com/prysmaticlabs/geth-sharding into resolve-tests
* change back ?
* fix test
* fix skip slot
* fix test
* reset caches
* fix testutil
* raceoff fixed
* passing
* Retrieve cached state in the beginning
* lint
* Merge branch 'master' of github.com:prysmaticlabs/prysm into resolve-tests
* Fixed tests part 1
* Fixed rest of the tests
* Merge branch 'master' into optimize-process-att
* Minor changes to avoid copying, small refactor to reduce deplicated code
* Merge branch 'master' into resolve-tests
* Handle att req for slot 0
* New beacon state: Only populate merkle layers as needed, copy merkle layers on copy/clone. (#4689)
* Only populate merkle layers as needed, copy merkle layers on copy/clone.
* use custom copy
* Make maps of correct size
* slightly fast, doesn't wait for lock
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into resolve-tests
* Merge branch 'master' into resolve-tests
* Target root can't be 0x00
* Merge refs/heads/master into resolve-tests
* Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into resolve-tests
* Don't use cache for current slot (may not be the right fix)
* Merge branch 'resolve-tests' of git+ssh://github.com/prysmaticlabs/prysm into resolve-tests
* Merge branch 'resolve-tests' of github.com:prysmaticlabs/prysm into resolve-tests
* fixed up tests
* Remove some copy for init sync. Not sure if it is safe enough for runtime though... testing...
* Align with prev logic for process slots cachedState.Slot() < slot
* Fix Initial Sync Flag (#4692)
* fixes
* fix up some test failures due to lack of nil checks
* fix up some test failures due to lack of nil checks
* fix up imports
* revert some changes
* imports
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Conflict
* Conflict
* resolve confs
* resolving further conflicts
* Better skip slot cache (#4694)
* Return copy of skip slot cache state, disable skip slot cache on sync
* fix
* Fix pruning
* Merge refs/heads/master into resolve-tests
* Merge refs/heads/master into resolve-tests
* copy on write method
* gaz
* fix confs
* Merge refs/heads/resolve-tests into copy-on-write
* fix tests
* Merge branch 'copy-on-write' of github.com:prysmaticlabs/prysm into copy-on-write
* fix up issues with broken tests
* Merge refs/heads/resolve-tests into copy-on-write
* Merge branch 'master' of github.com:prysmaticlabs/prysm into copy-on-write
* remove extra update
* remove debugging lines
* gofmt
* Merge refs/heads/master into copy-on-write
* Merge refs/heads/master into copy-on-write
* Merge refs/heads/master into copy-on-write
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* Passing 1 to SetEndSlot
* Better way to get genesis block
* Merge branch 'master' of github.com:prysmaticlabs/prysm into bug/ApiGenesisBlock
* Checking for nil genBlk
* Testing conditional order
* Reverting conditions, and no idea why build fails
* Merge branch 'master' into bug/ApiGenesisBlock
* Saving to genesis block root in tests
* Merge branch 'bug/ApiGenesisBlock' of github.com:AgentJ-WR/prysm into bug/ApiGenesisBlock
* Saving root
* Merge branch 'master' of github.com:prysmaticlabs/prysm into bug/ApiGenesisBlock
* Adding regression test
* Updating regression test
* Merge branch 'master' into bug/ApiGenesisBlock
* Merge branch 'master' into bug/ApiGenesisBlock
* Merge branch 'master' into bug/ApiGenesisBlock
* Merge branch 'master' into bug/ApiGenesisBlock
* Use balancesLength and randaoMixesLength to save copy on read
* use a cheaper copy for BLS publickey.Copy()
* Merge branch 'master' into bls-better-copy
* Merge refs/heads/master into bls-better-copy
* Merge refs/heads/master into bls-better-copy
* Merge refs/heads/master into bls-better-copy
* Merge refs/heads/master into bls-better-copy
* Merge branch 'master' of github.com:prysmaticlabs/prysm into bls-better-copy
* quick test
* Merge refs/heads/master into bls-better-copy
* Use balancesLength and randaoMixesLength to save copy on read
* Update beacon-chain/state/getters.go
Co-Authored-By: shayzluf <thezluf@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: shayzluf <thezluf@gmail.com>
* add fixes for sig verify
* minor fix
* Merge branch 'master' into fixSigVerify
* fmt
* Merge branch 'fixSigVerify' of https://github.com/prysmaticlabs/geth-sharding into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* use custom att copy
* Merge refs/heads/master into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* Merge refs/heads/master into fixSigVerify
* finnaly fixed all this
* Merge branch 'fixSigVerify' of https://github.com/prysmaticlabs/geth-sharding into fixSigVerify
* track field references
* gofmt, RLock
* Merge refs/heads/master into randao-ref-tracking
* Merge refs/heads/master into randao-ref-tracking
* Merge refs/heads/master into randao-ref-tracking
* Merge refs/heads/master into randao-ref-tracking
* Merge refs/heads/master into randao-ref-tracking
* Merge refs/heads/master into randao-ref-tracking
* Merge refs/heads/master into randao-ref-tracking
* cleanup comments
* Merge branch 'randao-ref-tracking' of github.com:prysmaticlabs/prysm into randao-ref-tracking
* Add a test for finalizer
* Merge refs/heads/master into randao-ref-tracking
* Merge refs/heads/master into randao-ref-tracking
* maybe fix data race
* maybe fix data race
* temp comment out test file to find which one fails race test
* its definitely something with the checkpoint state cache
* its definitely something with the checkpoint state cache
* its definitely something with the checkpoint state cache
* Merge refs/heads/master into randao-ref-tracking
* This should fix it
* Merge branch 'randao-ref-tracking' of github.com:prysmaticlabs/prysm into randao-ref-tracking
* gaz
* Merge refs/heads/master into randao-ref-tracking
* Merge refs/heads/master into randao-ref-tracking
* turn off race detection, i dont understand why is broken
* Merge branch 'randao-ref-tracking' of github.com:prysmaticlabs/prysm into randao-ref-tracking
* feedback
* @nisdas feedback
* Revert "@nisdas feedback"
This reverts commit 6129cf84e6.
* Merge refs/heads/master into randao-ref-tracking
* Add a test for GetBlock
* Fix formatting
* Fix grafitti
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into test-getblock
* Merge branch 'master' into test-getblock
* include latest ethereumapis and implement streams
* add comments and error unimpl
* Merge branch 'master' into blocks-stream
* add strm
* Merge refs/heads/master into blocks-stream
* Merge refs/heads/master into blocks-stream
* Merge refs/heads/master into blocks-stream
* add in mocks
* Merge branch 'blocks-stream' of github.com:prysmaticlabs/prysm into blocks-stream
* use right mock
* gaz
* ptypes
* gaz
* gomock dep
* Merge refs/heads/master into blocks-stream
* add prometheus metrics for validator accounts:
* gauge for balances
* counters for attestations and failures
* counters for aggregations and failures
* counters for proposals and failures
put validator account metrics behind flag
* run gazelle to reorganize deps
* fix typo
Co-authored-by: garyschulteog <30323939+garyschulteog@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update head slot after compute head
* Merge branch 'master' into properly-update-head-metric
* Merge refs/heads/master into properly-update-head-metric
* Upon start up, don't insert head to proto array node DAG as index 0
* Merge branch 'master' of git+ssh://github.com/prysmaticlabs/prysm into fix-save-head-root
* Add HasNode
* Add fillInForkChoiceMissingBlocks
* Comments
* Test
* Fixed test
* Merge branch 'master' into proto-array-process-missing-block
* Merge branch 'master' into proto-array-process-missing-block
* Merge branch 'master' into proto-array-process-missing-block
* all libp2p deps added
* Merge branch 'master' into update-libp2p
* add in dep
* kad
* fix p2p test
* p2p
* Merge refs/heads/master into update-libp2p
* Merge refs/heads/master into update-libp2p
* Merge refs/heads/master into update-libp2p
* Merge refs/heads/master into update-libp2p
* First wave of changes
* More changes
* More renames, changes
* Fix errors
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into cleanup-slasher
* Fix errors, more cleaning
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into cleanup-slasher
* Merge branch 'master' into cleanup-slasher
* fix err
* Merge branch 'cleanup-slasher' of https://github.com/0xKiwi/Prysm into cleanup-slasher
* Fix strings
* More cleanup
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into cleanup-slasher
* Fix interface
* Fix
* Merge branch 'master' into cleanup-slasher
* Merge branch 'master' into cleanup-slasher
* Merge branch 'master' into cleanup-slasher
* Address comments
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into cleanup-slasher
* Merge branch 'cleanup-slasher' of https://github.com/0xKiwi/Prysm into cleanup-slasher
* Let's try this
* Merge branch 'master' of git+ssh://github.com/prysmaticlabs/prysm
* Better place to insert block to fork choice store
* Fmt
* Revert a few changes
* Revert a few changes
* Comments
* Merge branch 'master' of git+ssh://github.com/prysmaticlabs/prysm into insert-blk-forkchoice
* Merge refs/heads/master into insert-blk-forkchoice
* update go pbs
* protos
* merge
* pbs
* implement first version
* add slashing status endpoints and test
* Merge branch 'master' of github.com:prysmaticlabs/prysm into get_slashings
* add tests
* gaz and goimports
* gaz
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Merge refs/heads/master into get_slashings
* Update proto/slashing/slashing.proto
* Update proto/slashing/slashing.proto
* Update proto/slashing/slashing.proto
* Merge refs/heads/master into get_slashings
* Add wallet keymanager
* Read keymanageropts from file if not JSON
Co-authored-by: Nishant Das <nish1993@hotmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* copy state in cache, ensure pre state exists before attepting to process attestation in fork choice
* copy state in cache, ensure pre state exists before attepting to process attestation in fork choice
* fix test
* Copy head state to ensure it is never mutated
* Merge refs/heads/master into copy-head-state
* fix tests
* Merge branch 'copy-head-state' of github.com:prysmaticlabs/prysm into copy-head-state
* Use sync.pool for keccak
* Add sha256 too
* custom hasher use pool too
* reset custom hasher
* fix?
* Add comment that customHasher should only be used in cases of more than 5 usages
* begin state service
* begin on the state trie idea
* created beacon state structure
* add in the full clone getter
* return by value instead
* add all setters
* new state setters are being completed
* arrays roots exposed
* close to finishing all these headerssss
* functionality complete
* added in proto benchmark test
* test for compatibility
* add test for compat
* comments fixed
* add clone
* add clone
* remove underlying copies
* make it immutable
* integrate it into chainservice
* revert
* wrap up comments for package
* address all comments and godocs
* address all comments
* clone the pending attestation properly
* properly clone remaining items
* tests pass fixed bug
* begin using it instead of head state
* prevent nil pointer exceptions
* begin using new struct in db
* integrated new type into db package
* add proper nil checks
* using new state in archiver
* refactored much of core
* editing all the precompute functions
* done with most core refactor
* fixed up some bugs in the clone comparisons
* append current epoch atts
* add missing setters
* add new setters
* fix other core methods
* fix up transition
* main service and forkchoice
* fix rpc
* integrated to powchain
* some more changes
* fix build
* improve processing of deposits
* fix error
* prevent panic
* comment
* fix process att
* gaz
* fix up att process
* resolve existing review comments
* resolve another batch of gh comments
* resolve broken cpt state
* revise testutil to use the new state
* begin updating the state transition func to pass in more compartmentalized args
* finish editing transition function to return errors
* block operations pretty much done with refactor
* state transition fully refactored
* got epoch processing completed
* fix build in fork choice
* fixing more of the build
* fix up broken sync package
* it builds nowww it buildssss
* revert registry changes
* Recompute on Read (#4627)
* compute on read
* fix up eth1 data votes
* looking into slashings bug introduced in core/
* able to advance more slots
* add logging
* can now sync with testnet yay
* remove the leaves algorithm and other merkle imports
* expose initialize unsafe funcs
* Update beacon-chain/db/kv/state.go
* lint
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* More Optimizations for New State (#4641)
* map optimization
* more optimizations
* use a custom hasher
* comment
* block operations optimizations
* Update beacon-chain/state/types.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* fixed up various operations to use the validator index map access
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* archiver tests pass
* fixing cache tests
* cache tests passing
* edited validator tests
* powchain tests passing
* halfway thru sync tests
* more sync test fixes
* add in tests for state/
* working through rpc tests
* assignments tests passed
* almost done with rpc/beacon tests
* resolved painful validator test
* fixed up even more tests
* resolve tests
* fix build
* reduce a randao mixes copy
* fixes under //beacon-chain/blockchain/...
* build //beacon-chain/core/...
* fixes
* Runtime Optimizations (#4648)
* parallelize shuffling
* clean up
* lint
* fix build
* use callback to read from registry
* fix array roots and size map
* new improvements
* reduce hash allocs
* improved shuffling
* terence's review
* use different method
* raul's comment
* new array roots
* remove clone in pre-compute
* Update beacon-chain/state/types.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* raul's review
* lint
* fix build issues
* fix visibility
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* fix visibility
* build works for all
* fix blockchain test
* fix a few tests
* fix more tests
* update validator in slashing
* archiver passing
* fixed rpc/validator
* progress on core tests
* resolve broken rpc tests
* blockchain tests passed
* fix up some tests in core
* fix message diff
* remove unnecessary save
* Save validator after slashing
* Update validators one by one
* another update
* fix everything
* fix more precompute tests
* fix blocks tests
* more elegant fix
* more helper fixes
* change back ?
* fix test
* fix skip slot
* fix test
* reset caches
* fix testutil
* raceoff fixed
* passing
* Retrieve cached state in the beginning
* lint
* Fixed tests part 1
* Fixed rest of the tests
* Minor changes to avoid copying, small refactor to reduce deplicated code
* Handle att req for slot 0
* New beacon state: Only populate merkle layers as needed, copy merkle layers on copy/clone. (#4689)
* Only populate merkle layers as needed, copy merkle layers on copy/clone.
* use custom copy
* Make maps of correct size
* slightly fast, doesn't wait for lock
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Target root can't be 0x00
* Don't use cache for current slot (may not be the right fix)
* fixed up tests
* Remove some copy for init sync. Not sure if it is safe enough for runtime though... testing...
* Align with prev logic for process slots cachedState.Slot() < slot
* Fix Initial Sync Flag (#4692)
* fixes
* fix up some test failures due to lack of nil checks
* fix up some test failures due to lack of nil checks
* fix up imports
* revert some changes
* imports
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* resolving further conflicts
* Better skip slot cache (#4694)
* Return copy of skip slot cache state, disable skip slot cache on sync
* fix
* Fix pruning
* copy on write method
* gaz
* fix tests
* fix up issues with broken tests
* remove extra update
* remove debugging lines
* gofmt
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Nishant Das <nish1993@hotmail.com>
Co-authored-by: shayzluf <thezluf@gmail.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add pruneGarbageState and test
* Comments
* Update beacon-chain/blockchain/service.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/blockchain/service.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/blockchain/service.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Fixed test
* Merge refs/heads/master into prune-start-up
* Fixed test
* begin state service
* begin on the state trie idea
* created beacon state structure
* add in the full clone getter
* return by value instead
* add all setters
* new state setters are being completed
* arrays roots exposed
* close to finishing all these headerssss
* functionality complete
* added in proto benchmark test
* test for compatibility
* add test for compat
* comments fixed
* add clone
* add clone
* remove underlying copies
* make it immutable
* integrate it into chainservice
* revert
* wrap up comments for package
* address all comments and godocs
* address all comments
* clone the pending attestation properly
* properly clone remaining items
* tests pass fixed bug
* begin using it instead of head state
* prevent nil pointer exceptions
* begin using new struct in db
* integrated new type into db package
* add proper nil checks
* using new state in archiver
* refactored much of core
* editing all the precompute functions
* done with most core refactor
* fixed up some bugs in the clone comparisons
* append current epoch atts
* add missing setters
* add new setters
* fix other core methods
* fix up transition
* main service and forkchoice
* fix rpc
* integrated to powchain
* some more changes
* fix build
* improve processing of deposits
* fix error
* prevent panic
* comment
* fix process att
* gaz
* fix up att process
* resolve existing review comments
* resolve another batch of gh comments
* resolve broken cpt state
* revise testutil to use the new state
* begin updating the state transition func to pass in more compartmentalized args
* finish editing transition function to return errors
* block operations pretty much done with refactor
* state transition fully refactored
* got epoch processing completed
* fix build in fork choice
* fixing more of the build
* fix up broken sync package
* it builds nowww it buildssss
* revert registry changes
* Recompute on Read (#4627)
* compute on read
* fix up eth1 data votes
* looking into slashings bug introduced in core/
* able to advance more slots
* add logging
* can now sync with testnet yay
* remove the leaves algorithm and other merkle imports
* expose initialize unsafe funcs
* Update beacon-chain/db/kv/state.go
* lint
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* More Optimizations for New State (#4641)
* map optimization
* more optimizations
* use a custom hasher
* comment
* block operations optimizations
* Update beacon-chain/state/types.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* fixed up various operations to use the validator index map access
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* archiver tests pass
* fixing cache tests
* cache tests passing
* edited validator tests
* powchain tests passing
* halfway thru sync tests
* more sync test fixes
* add in tests for state/
* working through rpc tests
* assignments tests passed
* almost done with rpc/beacon tests
* resolved painful validator test
* fixed up even more tests
* resolve tests
* fix build
* reduce a randao mixes copy
* fixes under //beacon-chain/blockchain/...
* build //beacon-chain/core/...
* fixes
* Runtime Optimizations (#4648)
* parallelize shuffling
* clean up
* lint
* fix build
* use callback to read from registry
* fix array roots and size map
* new improvements
* reduce hash allocs
* improved shuffling
* terence's review
* use different method
* raul's comment
* new array roots
* remove clone in pre-compute
* Update beacon-chain/state/types.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* raul's review
* lint
* fix build issues
* fix visibility
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* fix visibility
* build works for all
* fix blockchain test
* fix a few tests
* fix more tests
* update validator in slashing
* archiver passing
* fixed rpc/validator
* progress on core tests
* resolve broken rpc tests
* blockchain tests passed
* fix up some tests in core
* fix message diff
* remove unnecessary save
* Save validator after slashing
* Update validators one by one
* another update
* fix everything
* fix more precompute tests
* fix blocks tests
* more elegant fix
* more helper fixes
* change back ?
* fix test
* fix skip slot
* fix test
* reset caches
* fix testutil
* raceoff fixed
* passing
* Retrieve cached state in the beginning
* lint
* Fixed tests part 1
* Fixed rest of the tests
* Minor changes to avoid copying, small refactor to reduce deplicated code
* Handle att req for slot 0
* New beacon state: Only populate merkle layers as needed, copy merkle layers on copy/clone. (#4689)
* Only populate merkle layers as needed, copy merkle layers on copy/clone.
* use custom copy
* Make maps of correct size
* slightly fast, doesn't wait for lock
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Target root can't be 0x00
* Don't use cache for current slot (may not be the right fix)
* fixed up tests
* Remove some copy for init sync. Not sure if it is safe enough for runtime though... testing...
* Align with prev logic for process slots cachedState.Slot() < slot
* Fix Initial Sync Flag (#4692)
* fixes
* fix up some test failures due to lack of nil checks
* fix up some test failures due to lack of nil checks
* fix up imports
* revert some changes
* imports
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* resolving further conflicts
* Better skip slot cache (#4694)
* Return copy of skip slot cache state, disable skip slot cache on sync
* fix
* Fix pruning
* fix up issues with broken tests
Co-authored-by: Nishant Das <nish1993@hotmail.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: shayzluf <thezluf@gmail.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* added regression test
* fixed the regression test units
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Use `contain` instead of `overlap`
* Tests
* Update seen
* Merge branch 'master' into use-contain
* Use OR to track all of the bits we have seen so far
* Added one more test case
* gofmt
* Conflict
* Picked up Preston's changes
* Merge branch 'use-contain' of git+ssh://github.com/prysmaticlabs/prysm into use-contain
* Update ValidatorStatus to match Ethereum APIs
* Tidy up status calculation
* Merge branch 'master' into validator-status-updates
* Merge branch 'master' into validator-status-updates
* Update beacon-chain/rpc/beacon/config.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update test names
* Fix validator acting upon first slot
* Change log to debug
* Fix roles at slot 0
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into fix-val
* Add regression test
* Formatting
* Add slot ticker regression test
* Change NoGenesisDelay to CustomGenesisDelay
* Implement flag
* gazelle
* Fix docs
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into custom-genesis-delay
* Fix
* Gazelle
* Add case to fix bad math
* Merge branch 'master' into custom-genesis-delay
* Complete evaluator for chain consensus
* Add sync e2e test
* Cleanup
* Rename
* Add tad more offset for correct head
* Change offset to middle of slot
* Change head block root to head epoch
* comment
* Fix eth1
* Address comments
* Gazelle
* Change to use file
* Change to use reader
* Use fil
* Run time
* Fixed pruning
* Fixed test
* Fixed test
* Process attestations during init sync
* Raul's feedback
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add committees helper, benchmark, results show 62ms for 8k validators which was previously 4 minutes
* Add regression test with same data
* fix epoch conversion
* lint
* undo and lint
* Begin work on adding mainnet config benchmark
* Try more to get mainnet e2e
* Try to fix delay
* Get past chainstart on e2e
* Try to fix flaky
* Get demo config working
* Remove unneeded changes
* Change how flags are enabled
* Lower shard count
* Temp skip
* Fix e2e
* Fix testing to run until last epoch
* Fix
* Add ending time log and remove att cache flag
* Fix ordering
* Reenable flag
* Change ports from default
* Add no log for if there are no err logs
* Add block evaluator
* Try to improve evaluators
* Progress on attestation evaluator
* Remove attestation evaluator
* Fix e2e
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Move to keymanager/keymanageropts command line parameters
* Add help for individual keymanagers
* gazelle
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Docs
* Interface definitions
* Fmt and gazelle
* Rename interface to interfaces
* Define all the type for protoarray
* Gaz
* Add error types
* Add compute delta helper
* Compute delta tests
* Gaz
* Add checking if nodes viable
* Test for viable head
* Test for non leaf node can lead to viable head
* Conflict
* Extra space
* Remove fmt print
* Add updateBestChildAndDescendant
* Tests
* Merge branch 'master' into proto-array-forkchoice-6
* Conflict
* Merge branch 'proto-array-forkchoice-6' of git+ssh://github.com/prysmaticlabs/prysm into proto-array-forkchoice-6
* Add applyScoreChanges
* More test
* Rename score to weight
* Conflict
* Add insert function
* Test
* Merge refs/heads/master into proto-array-forkchoice-8
* Merge refs/heads/master into proto-array-forkchoice-8
* Merge branch 'master' of git+ssh://github.com/prysmaticlabs/prysm into proto-array-forkchoice-8
* Merge branch 'proto-array-forkchoice-8' of git+ssh://github.com/prysmaticlabs/prysm into proto-array-forkchoice-8
* Add prune method
* Tests
* Fixed long line
* Remove map from validator
* remove failure check test
* fix
* Merge refs/heads/master into validator-fix
* Merge refs/heads/master into validator-fix
* Merge refs/heads/master into validator-fix
* Add error log if validator not found in committee
* Merge refs/heads/master into validator-fix
* Use a client side rate limit to reduce chance of getting banned
* fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Docs
* Interface definitions
* Fmt and gazelle
* Rename interface to interfaces
* Define all the type for protoarray
* Gaz
* Add error types
* Add compute delta helper
* Compute delta tests
* Gaz
* Add checking if nodes viable
* Test for viable head
* Test for non leaf node can lead to viable head
* Extra space
* Remove fmt print
* Update beacon-chain/forkchoice/protoarray/nodes.go
Co-Authored-By: Nishant Das <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Nishant Das <nish1993@hotmail.com>
* fix issues
* fix go pbs
* added services
* added services
* remove unused files
* bring back used files
* bring back db proto files
* gaz
* gaz and bring back faucet
* gaz and bring back rpc
* gaz and bring back rpc
* gaz and bring back rpc
* go imports
* remove unused
* Add flag for attester protection
* Remove flags
* Add attestation history DB functions to validator client
* Fix comments
* Update interface to new funcs
* Fix test
* Add flags
* Implement most of attester protection
* Fix tests
* Add test for pruning
* Add more test cases for prunes
* Remove todo comment
* Fix comments
* Rename functions
* Fix logs
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Hookup voluntary exits pool
* Merge refs/heads/master into wire-voluntary-exits
* Merge refs/heads/master into wire-voluntary-exits
* Merge refs/heads/master into wire-voluntary-exits
* Merge refs/heads/master into wire-voluntary-exits
* Merge refs/heads/master into wire-voluntary-exits
* Merge refs/heads/master into wire-voluntary-exits
* fix tests
* Merge branch 'wire-voluntary-exits' of github.com:prysmaticlabs/prysm into wire-voluntary-exits
* Merge refs/heads/master into wire-voluntary-exits
* gofmt
* Merge branch 'wire-voluntary-exits' of github.com:prysmaticlabs/prysm into wire-voluntary-exits
* gofmt
* gaz
* Merge refs/heads/master into wire-voluntary-exits
* Refactor block operations for validating exits slightly so that we don't have to advance state in a pubsub validator
* current slot
* remove duplicated validation for exits
* nil request check
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Docs
* Interface definitions
* Fmt and gazelle
* Rename interface to interfaces
* Define all the type for protoarray
* Gaz
* Add error types
* Add compute delta helper
* Compute delta tests
* Gaz
* Fix formatting and comments
* Apply suggestions from code review
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* begin state service
* begin on the state trie idea
* created beacon state structure
* add in the full clone getter
* return by value instead
* add all setters
* new state setters are being completed
* arrays roots exposed
* close to finishing all these headerssss
* functionality complete
* added in proto benchmark test
* test for compatibility
* add test for compat
* comments fixed
* add clone
* add clone
* remove underlying copies
* make it immutable
* integrate it into chainservice
* revert
* wrap up comments for package
* address all comments and godocs
* address all comments
* clone the pending attestation properly
* properly clone remaining items
* tests pass fixed bug
* prevent nil pointer exceptions
* fixed up some bugs in the clone comparisons
Co-authored-by: Nishant Das <nish1993@hotmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Use a better skip slots cache with a lock around it for common requests
* Merge refs/heads/master into better-skip-slots-cache
* add test
* Merge branch 'better-skip-slots-cache' of github.com:prysmaticlabs/prysm into better-skip-slots-cache
* Merge refs/heads/master into better-skip-slots-cache
* exit process slots if the context expired
* Revert "exit process slots if the context expired"
This reverts commit 1430d8ab19.
* ensure validation has a pubsub timeout
* Merge refs/heads/master into better-skip-slots-cache
* PR feedback
* Merge branch 'better-skip-slots-cache' of github.com:prysmaticlabs/prysm into better-skip-slots-cache
Port 13000 also needs to be exposed if to improve connectivity and
receive more peers, refs #4323.
Also updates the "Docker on Windows" instructions for consistency.
* Add flag for attester protection
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into protecc-attester-db
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into protecc-attester-db
* Remove flags
* Add attestation history DB functions to validator client
* Fix comments
* Update interface to new funcs
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into protecc-attester-db
* Fix test
* Merge branch 'master' into protecc-attester-db
* Use a good peer instead of a random one, if we know about it
* Exit init sync if there is an issue
* Merge refs/heads/master into better-parent-block-processing
* Merge refs/heads/master into better-parent-block-processing
* Merge refs/heads/master into better-parent-block-processing
* Merge refs/heads/master into better-parent-block-processing
* Update pending_blocks_queue.go
* Enabled proposer sig and randao verifications in init sync
* Comments
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Begin to refactor benchmark files to testutil
* Complete most of refactoring
* Fix file path
* gofmt
* Fix path
* Move generatego to tools/
* Move gen util to tools/benchmark-files-gen
* Add comments to pregen funcs
* Make function names consistent
* Update README
* Redo benchmarks with 16384 validators
* include new patch
* add patch and validator indices to duties resp
* test passing
* move call to validator index
* Merge branch 'master' into include-val-idx
* do not use wait groups anymore
* Merge branch 'include-val-idx' of github.com:prysmaticlabs/prysm into include-val-idx
* Update beacon-chain/rpc/validator/assignments_test.go
* e2e ssz cache busting
* use ssz cache for e2e
* caching ensure
* fix up the cache even more
* gazelle
* formatting
* formatting
* add back cache for val registry
* sync
* fix up commented item
* add attestations
* Merge branch 'master' into e2e-ssz-cache
* Merge branch 'master' into e2e-ssz-cache
* Merge branch 'e2e-ssz-cache' of github.com:prysmaticlabs/prysm into e2e-ssz-cache
* formatting
* gaz
* Merge branch 'master' into e2e-ssz-cache
* resolve comments
* Merge branch 'master' into e2e-ssz-cache
* naming of test
* Merge refs/heads/master into e2e-ssz-cache
* Merge refs/heads/master into e2e-ssz-cache
* add new flag
* enforce max page size via flag
* ensure exists in flag group
* Merge refs/heads/master into custom-max-page
* Merge refs/heads/master into custom-max-page
* Merge refs/heads/master into custom-max-page
* Merge refs/heads/master into custom-max-page
* Merge refs/heads/master into custom-max-page
* Merge refs/heads/master into custom-max-page
* Merge refs/heads/master into custom-max-page
* Merge refs/heads/master into custom-max-page
* Merge refs/heads/master into custom-max-page
* Merge refs/heads/master into custom-max-page
* Merge refs/heads/master into custom-max-page
* conflict with master
* resolved broken tests
* Update beacon-chain/flags/config.go
* Merge refs/heads/master into custom-max-page
* before genesis state commit
* Merge branch 'master' into deposit-block-slot
* Merge branch 'master' into deposit-block-slot
* depositBlockSlot test added
* Merge branch 'deposit-block-slot' of https://github.com/princesinha19/prysm into deposit-block-slot
* Merge branch 'master' into deposit-block-slot
* Merge branch 'master' into deposit-block-slot
* resolve conflict
* status test commit
* Merge branch 'master' into deposit-block-slot
* Merge branch 'master' into deposit-block-slot
* Revert "Revert #4392 (#4449)"
This reverts commit 67c380b197.
* bound start req
* Merge refs/heads/master into revert-4449-revert-4392
* fix test
* Merge branch 'revert-4449-revert-4392' of https://github.com/prysmaticlabs/geth-sharding into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* add flag for deployment block
* Merge branch 'revert-4449-revert-4392' of https://github.com/prysmaticlabs/geth-sharding into revert-4449-revert-4392
* use constant and comments
* lint
* skip test for now
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Update shared/params/config.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update beacon-chain/powchain/testing/mock.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* preston's review
* Merge branch 'revert-4449-revert-4392' of https://github.com/prysmaticlabs/geth-sharding into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* add flag
* Merge branch 'revert-4449-revert-4392' of https://github.com/prysmaticlabs/geth-sharding into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* use stateutils
* Merge branch 'revert-4449-revert-4392' of https://github.com/prysmaticlabs/geth-sharding into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Merge refs/heads/master into revert-4449-revert-4392
* Add double proposal protection to client
* Add mock test cases for past proposals, and after pruning
* Fix error
* Add force clear db to val in e2e
* Fix val tests
* Move saving proposal history to after broadcasting block
* Add featureflag
* Goimports
* Unexport flag
* Add flag to tests
* gazelle
* Move conditionals
* add balances api bench
* rename
* fix flakey test with sharding
* Merge branch 'master' into optimize-api
* optimizing the reqs for pagination
* Merge branch 'optimize-api' of github.com:prysmaticlabs/prysm into optimize-api
* Merge branch 'master' into optimize-api
* wrap up tests
* Merge branch 'optimize-api' of github.com:prysmaticlabs/prysm into optimize-api
* nishant comment
* Update beacon-chain/rpc/beacon/validators.go
* change operator
* Merge branch 'master' into fixQueue
* Merge refs/heads/master into fixQueue
* Merge refs/heads/master into fixQueue
* Merge refs/heads/master into fixQueue
* add test and fix issue
* Merge branch 'fixQueue' of https://github.com/prysmaticlabs/geth-sharding into fixQueue
* Precompute and plug it into run time
* Run time fix
* Testing
* More logging to debug
* More logging to debug
* This should fix it
* Clean up debug logs
* Removed last bit of debug log
* Comments
* Tests
* Merge branch 'master' into cache-proposer-index
* Gaz
* Merge branch 'cache-proposer-index' of git+ssh://github.com/prysmaticlabs/prysm into cache-proposer-index
* Merge refs/heads/master into cache-proposer-index
* Merge refs/heads/master into cache-proposer-index
* Merge refs/heads/master into cache-proposer-index
* Merge branch 'master' of github.com:prysmaticlabs/prysm into update_validators
# Conflicts:
# slasher/flags/flags.go
# slasher/main.go
# slasher/service/data_update.go
# slasher/service/service.go
# slasher/service/service_test.go
* proposal and attester store
* day to status
* comment change
* one bucket
* Merge branch 'master' of github.com:prysmaticlabs/prysm into attester_proposer_slashing_store
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
added comments
* comment
* typo fix
* raul review fix
* raul review fix full
* nishant feedback
* test fix
* fix tests and remove update gofmt goimports
* remove blank line in imports
* nishant fixes
* comment and fir delete proposer slashings
* avoid marshal twice
* remove space
* Update slasher/db/attester_slashings.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* terence feedback
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Tidy up BestFinalized
* Ensure no more than maxPeers returned
* Merge branch 'master' into bestfinalized
* Merge branch 'master' into bestfinalized
* Merge branch 'master' into bestfinalized
* Merge branch 'master' into bestfinalized
* Remove swap file
* Provide potential PIDs array with capacity
* Add test for trimming and ordering in BestFinalized
* Merge branch 'master' into bestfinalized
* Samething, testing run time
* Check if the latest processed block root is the same
* Merge branch 'master' into improve-receive-block-reattempt
* Merge refs/heads/master into improve-receive-block-reattempt
* Merge refs/heads/master into improve-receive-block-reattempt
* Starting to deprecate new cache flag
* All tests passing
* Fixed minimal test
* Merge branch 'master' of git+ssh://github.com/prysmaticlabs/prysm into deprecate-flag
* Fixed mainnet spec test
* Fixed a typo
* Merge refs/heads/master into deprecate-flag
* Merge refs/heads/master into deprecate-flag
* Merge refs/heads/master into deprecate-flag
* Only retrieve head block from DB if necessary
* remove redundant comment
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Update aggregated methods
* Update aggregated methods
* Use improved HasAttestation to check caches
* Add back some validations
* There's no need to save unaggregated att
* Fixed all the tests
* remove TODO for now
* Raul feedback
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add a step filter for beacon DB to retrieve blocks
* Add a step filter for beacon DB to retrieve blocks
* gofmt
* Merge branch 'master' into db-step-filter
* Merge refs/heads/master into db-step-filter
* Merge refs/heads/master into db-step-filter
* Merge refs/heads/master into db-step-filter
* Merge refs/heads/master into db-step-filter
* fix tests
* Merge branch 'db-step-filter' of github.com:prysmaticlabs/prysm into db-step-filter
* Merge refs/heads/master into db-step-filter
* add bolt alloc fix
* Merge branch 'master' of github.com:prysmaticlabs/prysm
* const
* add a batch save for indices to speed up sync
* Merge branch 'batch-save-indices' into bolt-alloc-fix
* fix up
* fix broken build
* Merge branch 'batch-save-indices' into bolt-alloc-fix
* Merge branch 'master' into batch-save-indices
* ensure it saves each
* Merge branch 'batch-save-indices' of github.com:prysmaticlabs/prysm into batch-save-indices
* Merge branch 'master' into batch-save-indices
* revert ssz cache
* Merge branch 'batch-save-indices' of github.com:prysmaticlabs/prysm into batch-save-indices
* Do not panic if initial sync fails
* Only consider peers with non-0 finalized epoch
* Additional fixes
* Fix tests
* Merge branch 'master' into mvlog
* Merge branch 'master' into mvlog
* optimize
* Merge refs/heads/master into listValidatorAssingments
* Merge refs/heads/master into listValidatorAssingments
* Merge refs/heads/master into listValidatorAssingments
* Merge refs/heads/master into listValidatorAssingments
* Merge refs/heads/master into listValidatorAssingments
* Merge refs/heads/master into listValidatorAssingments
* Merge refs/heads/master into listValidatorAssingments
* Merge refs/heads/master into listValidatorAssingments
* Merge refs/heads/master into listValidatorAssingments
* terence's and preston's review
* Merge branch 'listValidatorAssingments' of https://github.com/prysmaticlabs/geth-sharding into listValidatorAssingments
* Log fork version mismatches at debug
* Merge branch 'master' into synclogerrors
* Merge branch 'master' into synclogerrors
* Merge branch 'master' into synclogerrors
* Begin adding DB to validator client
Begin adding ValidatorProposalHistory
Implement most of proposal history
Finish tests
Fix marking a proposal for the first time
Change proposalhistory to not using bit shifting
Add pb.go
Change after proto/slashing added
Finally fix protos
Fix most tests
Fix all tests for double proposal protection
Start initialiing DB in validator client
Add db to validator struct
Add DB to ProposeBlock
Fix test errors and begin mocking
Fix test formatting and pass test for validator protection!
Fix merge issues
Fix renames
Fix tests
* Fix tests
* Fix first startup on DB
* Fix nil check tests
* Fix E2E
* Fix e2e flag
* Fix comments
* Fix for comments
* Move proposal hepers to validator/client to keep DB clean
* Add clear-db flag to validator client
* Fix formatting
* Clear out unintended changes
* Fix build issues
* Fix build issues
* Gazelle
* Fix mock test
* Remove proposal history
* Add terminal confirmation to DB clearing
* Add interface for validatorDB, add context to DB functions
* Add force-clear-db flag
* Cleanup
* Update validator/node/node.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* Change db to clear file, not whole folder
* Fix db test
* Fix teardown test
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Remove custody (#3986)
* Update proto fields
* Updated block operations
* Fixed all block operation tests
* Fixed tests part 1
* Fixed tests part 1
* All tests pass
* Clean up
* Skip spec test
* Fixed ssz test
* Skip ssz test
* Skip mainnet tests
* Update beacon-chain/operations/attestation.go
* Update beacon-chain/operations/attestation.go
* Decoy flip flop check (#3987)
* Bounce attack check (#3989)
* New store values
* Update process block
* Update process attestation
* Update tests
* Helper
* Fixed blockchain package tests
* Update beacon-chain/blockchain/forkchoice/process_block.go
* Conflict
* Unskip mainnet spec tests (#3998)
* Starting
* Fixed attestation mainnet test
* Unskip ssz static and block processing tests
* Fixed workspace
* fixed workspace
* fixed workspace
* Update beacon-chain/core/blocks/block_operations.go
* Unskip minimal spec tests (#3999)
* Starting
* Fixed attestation mainnet test
* Unskip ssz static and block processing tests
* Fixed workspace
* fixed workspace
* fixed workspace
* Update workspace
* Unskip all minimal spec tests
* Update workspace for general test
* Unskip test (#4001)
* Update minimal seconds per slot to 6 (#3978)
* Bounce attack tests (#3993)
* New store values
* Update process block
* Update process attestation
* Update tests
* Helper
* Fixed blockchain package tests
* Slots since epoch starts tests
* Update justified checkpt tests
* Conflict
* Fixed logic
* Update process_block.go
* Use helper
* Conflict
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.1
* Conflict
* Fixed failed tests
* Lower MinGenesisActiveValidatorCount to 16384 (#4100)
* Fork choice beacon block checks (#4107)
* Prevent future blocks check and test
* Removed old code
* Update aggregation proto (#4121)
* Update def
* Update spec test
* Conflict
* Update workspace
* patch
* Resolve conflict
* Patch
* Change workspace
* Update ethereumapis to a forked branch at commit 6eb1193e47
* Fixed all the tests
* Merge branch 'v0.9.2' of https://github.com/prysmaticlabs/prysm into conflict
* fix patch
* Need to regenerate test data
* Merge branch 'master' into v0.9.2
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Enable snappy compression for all (#4157)
* enable snappy compression for all
* enable snappy compression for all
* enable snappy compression for all
* enable snappy compression for all
* Validate aggregate and proof subscriber (#4159)
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Conflict
* Update workspace
* Conflict
* Conflict
* Conflict
* Merge branch 'master' into v0.9.2
* Merge branch 'master' into v0.9.2
* Conflict
* Merge branch 'v0.9.2' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Remove migrate to snappy (#4205)
* Feature flag: Deprecate --prune-states, release to all (#4204)
* Deprecated prune-states, release to all
* imports
* remote unused import
* remove unused import
* Rm prune state test
* gaz
* Refactoring for dynamic pubsub subscriptions for non-aggregated attestations (#4189)
* checkpoint progress
* chkpt
* checkpoint progress
* put pipeline in its own file
* remove unused imports
* add test, it's failing though
* fix test
* remove head state issue
* add clear db flag to e2e
* add some more error handling, debug logging
* skip processing if chain has not started
* fix test
* wrap in go routine to see if anything breaks
* remove duplicated topic
* Add a regression test. Thanks @nisdas for finding the original problem. May it never happen again *fingers crossed*
* Comments
* gofmt
* comment out with TODO
* Sync with master
* Sync with master
* RPC servers use attestation pool (#4223)
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Refactor RPC to Fully Utilize Ethereum APIs (#4243)
* include attester as a file in the validator server
* remove old proposer server impl
* include new patch and properly sync changes
* align with public pbs
* ensure matches rpc def
* fix up status tests
* resolve all broken test files in the validator rpc package
* gazelle include
* fix up the duties implementation
* fixed up all get duties functions
* all tests pass
* utilize new ethereum apis
* amend validator client to use the new beacon node validator rpc client
* fix up most of validator items
* added in mock
* fix up test
* readd test
* add chain serv mock
* fix a few more validator methods
* all validator tests passingggg
* fix broken test
* resolve even more broken tests
* all tests passsssss
* fix lint
* try PR
* fix up test
* resolve broken other tests
* Sync with master
* Merge branch 'v0.9.2' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Aggregate and proof subscriber (#4240)
* Added subscribers
* Fixed conflict
* Tests
* fix up patch
* Use upstream pb
* include latest patch
* Fmt
* Save state before head block
* skip tests (#4275)
* Delete block attestations from the pool (#4241)
* Added subscribers
* Clean up
* Fixed conflict
* Delete atts in pool in validate pipeline
* Moved it to subscriber
* Merge branch 'v0.9.2' of https://github.com/prysmaticlabs/prysm into use-att-pool-3
* Test
* Fixed test
* Initial work on voluntary exit (#4207)
* Initial implementation of voluntary exit: RPC call
* Update for recent merges
* Break out validation logic for voluntary exits to core module
* RequestExit -> ProposeExit
* Decrease exit package visibility
* Move to operation feed
* Wrap errors
* Fix critical proposer selection bug #4259 (#4265)
* fix critical proposer selection bug #4259
* gofmt
* add 1 more validator to make it 5
* more tests
* Fixed archivedProposerIndex
* Fixed TestFilterAttestation_OK
* Refactor ComputeProposerIndex, add regression test for potential out of range panic
* handle case of nil validator
* Update validators_test.go
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Leftover merge files, oops
* gaz
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into v0.9.2
* Fixes Duplicate Validator Bug (#4322)
* Update dict
* Test helper
* Regression test
* Comment
* Reset test cache
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* fixes after PR #4328
* Complete attestation pool for run time (#4286)
* Added subscribers
* Fixed conflict
* Delete atts in pool in validate pipeline
* Moved it to subscriber
* Test
* Fixed test
* New curl for forkchoice attestations
* Starting att pool service for fork choice
* Update pool interface
* Update pool interface
* Update sync and node
* Lint
* Gazelle
* Updated servers, filled in missing functionalities
* RPC working with 1 beacon node 64 validators
* Started writing tests. Yay
* Test to aggregate and save multiple fork choice atts
* Tests for BatchAttestations for fork choice
* Fixed exisiting tests
* Minor fixes
* Fmt
* Added batch saves
* Lint
* Mo tests yay
* Delete test
* Fmt
* Update interval
* Fixed aggregation broadcast
* Clean up based on design review comment
* Fixed setupBeaconChain
* Raul's feedback. s/error/err
* resolve conflicts
* Merge branch 'v0.9.2' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge refs/heads/master into v0.9.2
* Removed old protos and fixed tests (#4336)
* Merge refs/heads/master into v0.9.2
* Disallow duplicated indices and test (#4339)
* Explicit use of GENESIS_SLOT in fork choice (#4343)
* Update from 2 to 3 (#4345)
* Remove verify unaggregated attestation when aggregating (#4347)
* use slot ticker instead of run every (#4348)
* Add context check for unbounded loop work (#4346)
* Revert "Explicit use of GENESIS_SLOT in fork choice (#4343)" (#4349)
This reverts commit d3f6753c77.
* Refactor Powchain Service (#4306)
* add data structures
* generate proto
* add in new fields
* add comments
* add new mock state
* add new mock state
* add new methods
* some more changes
* check genesis time properly
* lint
* fix refs
* fix tests
* lint
* lint
* lint
* gaz
* fix lint
* raul's comments
* use one method
* fix test
* raul's comment
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Ensure best better-justification is stored for fork choice (#4342)
* Ensure best better-justification is stored. Minor refactor
* Tests
* Merge refs/heads/v0.9.2 into better-best-justified
* Merge refs/heads/v0.9.2 into better-best-justified
* Ensure that epoch of attestation slot matches the target epoch (#4341)
* Disallow duplicated indices and test
* Add slot to target epoch check to on_attestation
* Add slot to target epoch check to process_attestation
* Merge branch 'v0.9.2' of git+ssh://github.com/prysmaticlabs/prysm into no-dup-att-indices
* Fixed TestProcessAttestations_PrevEpochFFGDataMismatches
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Update beacon-chain/blockchain/forkchoice/process_attestation_test.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Filter viable branches in fork choice (#4355)
* Only activate upon finality (#4359)
* Updated functions
* Tests
* Merge branch 'v0.9.2' of git+ssh://github.com/prysmaticlabs/prysm into queue-fix-on-finality
* Comment
* Merge refs/heads/v0.9.2 into queue-fix-on-finality
* Fixed failing test from 4359 (#4360)
* Fixed
* Skip registry spec tests
* Wait for state to be initialized at least once before running slot ticker based on genesis time (#4364)
* Sync with master
* Fix checkpoint root to use genesis block root (#4368)
* Return an error on nil head state in fork choice (#4369)
* Return error if nil head state
* Fixed tests. Saved childen blocks state
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update metrics every epoch (#4367)
* return empty slice if state is nil (#4365)
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge refs/heads/master into v0.9.2
* Pubsub: Broadcast attestations to committee based subnets (#4316)
* Working on un-aggregated pubsub topics
* update subscriber to call pool
* checkpointing
* fix
* untested message validation
* minor fixes
* rename slotsSinceGenesis to slotsSince
* some progress on a unit test, subscribe is not being called still...
* dont change topic
* need to set the data on the message
* restore topic
* fixes
* some helpful parameter changes for mainnet operations
* lint
* Terence feedback
* unskip e2e
* Unit test for validate committee index beacon attestation
* PR feedbacK
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into resolveConflicts
* remove condition
* Remove unused operation pool (#4361)
* Merge refs/heads/master into v0.9.2
* Aggregate attestations periodically (#4376)
* Persist ETH1 Data to Disk (#4329)
* add data structures
* generate proto
* add in new fields
* add comments
* add new mock state
* add new mock state
* add new methods
* some more changes
* check genesis time properly
* lint
* fix refs
* fix tests
* lint
* lint
* lint
* gaz
* adding in new proto message
* remove outdated vars
* add new changes
* remove latest eth1data
* continue refactoring
* finally works
* lint
* fix test
* fix all tests
* fix all tests again
* fix build
* change back
* add full eth1 test
* fix logs and test
* add constant
* changes
* fix bug
* lint
* fix another bug
* change back
* Apply suggestions from code review
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Fixed VerifyIndexedAttestation (#4382)
* rm signing root (#4381)
* rm signing root
* Fixed VerifyIndexedAttestation
* Check proposer slashed status inside ProcessBlockHeaderNoVerify
* Fixed TestUpdateJustified_CouldUpdateBest
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Remove Redundant Trie Generation (#4383)
* remove trie generation
* remove deposit hashes
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into v0.9.2
* fix build
* Conflict
* Implement StreamAttestations RPC Endpoint (#4390)
* started attestation stream
* stream attestations test
* on slot tick test passing
* imports
* gaz
* Update beacon-chain/rpc/beacon/attestations_test.go
Co-Authored-By: shayzluf <thezluf@gmail.com>
Co-authored-by: shayzluf <thezluf@gmail.com>
* Fixed goimport (#4394)
* Use custom stateutil ssz for ssz HTR spec tests (#4396)
* Use custom stateutil ssz for ssz HTR spec tests
* gofmt
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge refs/heads/master into v0.9.2
* set mainnet to be the default for build and run (#4398)
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* gracefully handle deduplicated registration of topic validators (#4399)
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* SSZ: temporarily disable roots cache until cache issues can be resolved (#4407)
* temporarily disable roots cache until cache issues can be resolved
* Also use custom ssz for spectests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Remove process block attestations as separate routine (#4408)
* Removed old save/process block atts
* Fixed tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Save Deposit Cache to Disk (#4384)
* change to protos
* fix build
* glue everything together
* fix test
* raul's review
* preston's comments
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix activation queue sorting (#4409)
* Removed old save/process block atts
* Fixed tests
* Proper sorting by eligibility epoch then by indices
* Deleted old colde
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge branch 'master' into v0.9.2
* Merge refs/heads/master into v0.9.2
* stop recursive lookup if context is cancelled (#4420)
* Fix proposal bug (#4419)
* Add Pending Deposits Safely (#4422)
* safely prune cache
* use proper method
* preston's,terence's reviews and comments
* revert change to build files
* use as feature config instead
* Release custom state ssz (#4421)
* Release custom state ssz, change all HTR of beacon state to use custom method
* typo
* use mainnet config
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Define framework
* Use participation fetcher
* Build
* Fixed all tests
* Lint
* Update initial sync save justified to align with v0.9.3 (#4432)
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* fix build
* don't blacklist on pubsub (#4435)
* Fix Flakey Slot Ticker Test (#4434)
* use interface instead for the slot ticker
* fixed up flakey tests
* add gen time
* get duties comment
* fix lifecycle test
* more fixes
* Fixed rest of the test
* Pass in correct chain service
* Pass in another chain service
* Run time
* Configurable min genesis delay (#4437)
* Configurable min genesis delay based on https://github.com/ethereum/eth2.0-specs/pull/1557
* remove feature flag for genesis delay
* fix
* demo config feedback
* Current -> Prev
* Tests
* patch readme
* save keys unencrypted for validators (#4439)
* Add new demo configuration targeting mainnet scale (#4397)
* Add new demo configuration targeting mainnet, with 1/10th of the deposit value
* reduce quotant by 1/10th. Use 1/10th mainnet values
* only change the inactivity quotant
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Save justified checkpoint state (#4433)
* Save justified checkpoint state
* Lint
* Feedback
* Fixed test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Update shared/testutil/deposits.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update proto/testing/ssz_regression_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/core/epoch/epoch_processing.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/kv/forkchoice.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/pool.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/pool.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/powchain/log_processing_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/service.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/sync/subscriber_beacon_blocks_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/sync/subscriber_beacon_blocks_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/sync/subscriber.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/sync/subscriber.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/proposer.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/prepare_forkchoice.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/powchain/log_processing_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/pool.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/powchain/log_processing_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/aggregator/server.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/cache/depositcache/pending_deposits.go
* Update beacon-chain/cache/depositcache/pending_deposits_test.go
* Update beacon-chain/rpc/validator/proposer.go
* Merge refs/heads/master into v0.9.2
* Update test
* Conflict
* Update beacon-chain/blockchain/chain_info.go
* Conflict
* Merge branch 'efficient-participation' of git+ssh://github.com/prysmaticlabs/prysm into efficient-participation
* Merge refs/heads/master into efficient-participation
* Remove custody (#3986)
* Update proto fields
* Updated block operations
* Fixed all block operation tests
* Fixed tests part 1
* Fixed tests part 1
* All tests pass
* Clean up
* Skip spec test
* Fixed ssz test
* Skip ssz test
* Skip mainnet tests
* Update beacon-chain/operations/attestation.go
* Update beacon-chain/operations/attestation.go
* Decoy flip flop check (#3987)
* Bounce attack check (#3989)
* New store values
* Update process block
* Update process attestation
* Update tests
* Helper
* Fixed blockchain package tests
* Update beacon-chain/blockchain/forkchoice/process_block.go
* Conflict
* Unskip mainnet spec tests (#3998)
* Starting
* Fixed attestation mainnet test
* Unskip ssz static and block processing tests
* Fixed workspace
* fixed workspace
* fixed workspace
* Update beacon-chain/core/blocks/block_operations.go
* Unskip minimal spec tests (#3999)
* Starting
* Fixed attestation mainnet test
* Unskip ssz static and block processing tests
* Fixed workspace
* fixed workspace
* fixed workspace
* Update workspace
* Unskip all minimal spec tests
* Update workspace for general test
* Unskip test (#4001)
* Update minimal seconds per slot to 6 (#3978)
* Bounce attack tests (#3993)
* New store values
* Update process block
* Update process attestation
* Update tests
* Helper
* Fixed blockchain package tests
* Slots since epoch starts tests
* Update justified checkpt tests
* Conflict
* Fixed logic
* Update process_block.go
* Use helper
* Conflict
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.1
* Conflict
* Fixed failed tests
* Lower MinGenesisActiveValidatorCount to 16384 (#4100)
* Fork choice beacon block checks (#4107)
* Prevent future blocks check and test
* Removed old code
* Update aggregation proto (#4121)
* Update def
* Update spec test
* Conflict
* Update workspace
* patch
* Resolve conflict
* Patch
* Change workspace
* Update ethereumapis to a forked branch at commit 6eb1193e47
* Fixed all the tests
* Merge branch 'v0.9.2' of https://github.com/prysmaticlabs/prysm into conflict
* fix patch
* Need to regenerate test data
* Merge branch 'master' into v0.9.2
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Enable snappy compression for all (#4157)
* enable snappy compression for all
* enable snappy compression for all
* enable snappy compression for all
* enable snappy compression for all
* Validate aggregate and proof subscriber (#4159)
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Conflict
* Update workspace
* Conflict
* Conflict
* Conflict
* Merge branch 'master' into v0.9.2
* Merge branch 'master' into v0.9.2
* Conflict
* Merge branch 'v0.9.2' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Remove migrate to snappy (#4205)
* Feature flag: Deprecate --prune-states, release to all (#4204)
* Deprecated prune-states, release to all
* imports
* remote unused import
* remove unused import
* Rm prune state test
* gaz
* Refactoring for dynamic pubsub subscriptions for non-aggregated attestations (#4189)
* checkpoint progress
* chkpt
* checkpoint progress
* put pipeline in its own file
* remove unused imports
* add test, it's failing though
* fix test
* remove head state issue
* add clear db flag to e2e
* add some more error handling, debug logging
* skip processing if chain has not started
* fix test
* wrap in go routine to see if anything breaks
* remove duplicated topic
* Add a regression test. Thanks @nisdas for finding the original problem. May it never happen again *fingers crossed*
* Comments
* gofmt
* comment out with TODO
* Sync with master
* Sync with master
* RPC servers use attestation pool (#4223)
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Refactor RPC to Fully Utilize Ethereum APIs (#4243)
* include attester as a file in the validator server
* remove old proposer server impl
* include new patch and properly sync changes
* align with public pbs
* ensure matches rpc def
* fix up status tests
* resolve all broken test files in the validator rpc package
* gazelle include
* fix up the duties implementation
* fixed up all get duties functions
* all tests pass
* utilize new ethereum apis
* amend validator client to use the new beacon node validator rpc client
* fix up most of validator items
* added in mock
* fix up test
* readd test
* add chain serv mock
* fix a few more validator methods
* all validator tests passingggg
* fix broken test
* resolve even more broken tests
* all tests passsssss
* fix lint
* try PR
* fix up test
* resolve broken other tests
* Sync with master
* Merge branch 'v0.9.2' of https://github.com/prysmaticlabs/prysm into v0.9.2
* Aggregate and proof subscriber (#4240)
* Added subscribers
* Fixed conflict
* Tests
* fix up patch
* Use upstream pb
* include latest patch
* Fmt
* Save state before head block
* skip tests (#4275)
* Delete block attestations from the pool (#4241)
* Added subscribers
* Clean up
* Fixed conflict
* Delete atts in pool in validate pipeline
* Moved it to subscriber
* Merge branch 'v0.9.2' of https://github.com/prysmaticlabs/prysm into use-att-pool-3
* Test
* Fixed test
* Initial work on voluntary exit (#4207)
* Initial implementation of voluntary exit: RPC call
* Update for recent merges
* Break out validation logic for voluntary exits to core module
* RequestExit -> ProposeExit
* Decrease exit package visibility
* Move to operation feed
* Wrap errors
* Fix critical proposer selection bug #4259 (#4265)
* fix critical proposer selection bug #4259
* gofmt
* add 1 more validator to make it 5
* more tests
* Fixed archivedProposerIndex
* Fixed TestFilterAttestation_OK
* Refactor ComputeProposerIndex, add regression test for potential out of range panic
* handle case of nil validator
* Update validators_test.go
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Leftover merge files, oops
* gaz
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into v0.9.2
* Fixes Duplicate Validator Bug (#4322)
* Update dict
* Test helper
* Regression test
* Comment
* Reset test cache
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* fixes after PR #4328
* Complete attestation pool for run time (#4286)
* Added subscribers
* Fixed conflict
* Delete atts in pool in validate pipeline
* Moved it to subscriber
* Test
* Fixed test
* New curl for forkchoice attestations
* Starting att pool service for fork choice
* Update pool interface
* Update pool interface
* Update sync and node
* Lint
* Gazelle
* Updated servers, filled in missing functionalities
* RPC working with 1 beacon node 64 validators
* Started writing tests. Yay
* Test to aggregate and save multiple fork choice atts
* Tests for BatchAttestations for fork choice
* Fixed exisiting tests
* Minor fixes
* Fmt
* Added batch saves
* Lint
* Mo tests yay
* Delete test
* Fmt
* Update interval
* Fixed aggregation broadcast
* Clean up based on design review comment
* Fixed setupBeaconChain
* Raul's feedback. s/error/err
* resolve conflicts
* Merge branch 'v0.9.2' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge refs/heads/master into v0.9.2
* Removed old protos and fixed tests (#4336)
* Merge refs/heads/master into v0.9.2
* Disallow duplicated indices and test (#4339)
* Explicit use of GENESIS_SLOT in fork choice (#4343)
* Update from 2 to 3 (#4345)
* Remove verify unaggregated attestation when aggregating (#4347)
* use slot ticker instead of run every (#4348)
* Add context check for unbounded loop work (#4346)
* Revert "Explicit use of GENESIS_SLOT in fork choice (#4343)" (#4349)
This reverts commit d3f6753c77.
* Refactor Powchain Service (#4306)
* add data structures
* generate proto
* add in new fields
* add comments
* add new mock state
* add new mock state
* add new methods
* some more changes
* check genesis time properly
* lint
* fix refs
* fix tests
* lint
* lint
* lint
* gaz
* fix lint
* raul's comments
* use one method
* fix test
* raul's comment
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Ensure best better-justification is stored for fork choice (#4342)
* Ensure best better-justification is stored. Minor refactor
* Tests
* Merge refs/heads/v0.9.2 into better-best-justified
* Merge refs/heads/v0.9.2 into better-best-justified
* Ensure that epoch of attestation slot matches the target epoch (#4341)
* Disallow duplicated indices and test
* Add slot to target epoch check to on_attestation
* Add slot to target epoch check to process_attestation
* Merge branch 'v0.9.2' of git+ssh://github.com/prysmaticlabs/prysm into no-dup-att-indices
* Fixed TestProcessAttestations_PrevEpochFFGDataMismatches
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Update beacon-chain/blockchain/forkchoice/process_attestation_test.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* Merge refs/heads/v0.9.2 into no-dup-att-indices
* Filter viable branches in fork choice (#4355)
* Only activate upon finality (#4359)
* Updated functions
* Tests
* Merge branch 'v0.9.2' of git+ssh://github.com/prysmaticlabs/prysm into queue-fix-on-finality
* Comment
* Merge refs/heads/v0.9.2 into queue-fix-on-finality
* Fixed failing test from 4359 (#4360)
* Fixed
* Skip registry spec tests
* Wait for state to be initialized at least once before running slot ticker based on genesis time (#4364)
* Sync with master
* Fix checkpoint root to use genesis block root (#4368)
* Return an error on nil head state in fork choice (#4369)
* Return error if nil head state
* Fixed tests. Saved childen blocks state
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Update metrics every epoch (#4367)
* return empty slice if state is nil (#4365)
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge refs/heads/master into v0.9.2
* Pubsub: Broadcast attestations to committee based subnets (#4316)
* Working on un-aggregated pubsub topics
* update subscriber to call pool
* checkpointing
* fix
* untested message validation
* minor fixes
* rename slotsSinceGenesis to slotsSince
* some progress on a unit test, subscribe is not being called still...
* dont change topic
* need to set the data on the message
* restore topic
* fixes
* some helpful parameter changes for mainnet operations
* lint
* Terence feedback
* unskip e2e
* Unit test for validate committee index beacon attestation
* PR feedbacK
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into resolveConflicts
* remove condition
* Remove unused operation pool (#4361)
* Merge refs/heads/master into v0.9.2
* Aggregate attestations periodically (#4376)
* Persist ETH1 Data to Disk (#4329)
* add data structures
* generate proto
* add in new fields
* add comments
* add new mock state
* add new mock state
* add new methods
* some more changes
* check genesis time properly
* lint
* fix refs
* fix tests
* lint
* lint
* lint
* gaz
* adding in new proto message
* remove outdated vars
* add new changes
* remove latest eth1data
* continue refactoring
* finally works
* lint
* fix test
* fix all tests
* fix all tests again
* fix build
* change back
* add full eth1 test
* fix logs and test
* add constant
* changes
* fix bug
* lint
* fix another bug
* change back
* Apply suggestions from code review
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Fixed VerifyIndexedAttestation (#4382)
* rm signing root (#4381)
* rm signing root
* Fixed VerifyIndexedAttestation
* Check proposer slashed status inside ProcessBlockHeaderNoVerify
* Fixed TestUpdateJustified_CouldUpdateBest
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Remove Redundant Trie Generation (#4383)
* remove trie generation
* remove deposit hashes
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into v0.9.2
* fix build
* Conflict
* Implement StreamAttestations RPC Endpoint (#4390)
* started attestation stream
* stream attestations test
* on slot tick test passing
* imports
* gaz
* Update beacon-chain/rpc/beacon/attestations_test.go
Co-Authored-By: shayzluf <thezluf@gmail.com>
Co-authored-by: shayzluf <thezluf@gmail.com>
* Fixed goimport (#4394)
* Use custom stateutil ssz for ssz HTR spec tests (#4396)
* Use custom stateutil ssz for ssz HTR spec tests
* gofmt
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge refs/heads/master into v0.9.2
* set mainnet to be the default for build and run (#4398)
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* gracefully handle deduplicated registration of topic validators (#4399)
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* SSZ: temporarily disable roots cache until cache issues can be resolved (#4407)
* temporarily disable roots cache until cache issues can be resolved
* Also use custom ssz for spectests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Remove process block attestations as separate routine (#4408)
* Removed old save/process block atts
* Fixed tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Save Deposit Cache to Disk (#4384)
* change to protos
* fix build
* glue everything together
* fix test
* raul's review
* preston's comments
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix activation queue sorting (#4409)
* Removed old save/process block atts
* Fixed tests
* Proper sorting by eligibility epoch then by indices
* Deleted old colde
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Merge branch 'master' into v0.9.2
* Merge refs/heads/master into v0.9.2
* stop recursive lookup if context is cancelled (#4420)
* Fix proposal bug (#4419)
* Add Pending Deposits Safely (#4422)
* safely prune cache
* use proper method
* preston's,terence's reviews and comments
* revert change to build files
* use as feature config instead
* Release custom state ssz (#4421)
* Release custom state ssz, change all HTR of beacon state to use custom method
* typo
* use mainnet config
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Merge branch 'master' of github.com:prysmaticlabs/prysm into v0.9.2
* Update initial sync save justified to align with v0.9.3 (#4432)
* Merge refs/heads/master into v0.9.2
* Merge refs/heads/master into v0.9.2
* fix build
* don't blacklist on pubsub (#4435)
* Fix Flakey Slot Ticker Test (#4434)
* use interface instead for the slot ticker
* fixed up flakey tests
* add gen time
* get duties comment
* fix lifecycle test
* more fixes
* Configurable min genesis delay (#4437)
* Configurable min genesis delay based on https://github.com/ethereum/eth2.0-specs/pull/1557
* remove feature flag for genesis delay
* fix
* demo config feedback
* patch readme
* save keys unencrypted for validators (#4439)
* Add new demo configuration targeting mainnet scale (#4397)
* Add new demo configuration targeting mainnet, with 1/10th of the deposit value
* reduce quotant by 1/10th. Use 1/10th mainnet values
* only change the inactivity quotant
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Save justified checkpoint state (#4433)
* Save justified checkpoint state
* Lint
* Feedback
* Fixed test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Update shared/testutil/deposits.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update proto/testing/ssz_regression_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/core/epoch/epoch_processing.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/kv/forkchoice.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/pool.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/pool.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/powchain/log_processing_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/service.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/sync/subscriber_beacon_blocks_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/sync/subscriber_beacon_blocks_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/sync/subscriber.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/sync/subscriber.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/proposer.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/prepare_forkchoice.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/powchain/log_processing_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/operations/attestations/pool.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/powchain/log_processing_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/aggregator/server.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/rpc/validator/exit_test.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Update beacon-chain/cache/depositcache/pending_deposits.go
* Update beacon-chain/cache/depositcache/pending_deposits_test.go
* Update beacon-chain/rpc/validator/proposer.go
* Merge refs/heads/master into v0.9.2
* Fix e2e genesis delay issues (#4442)
* fix e2e genesis delay issues
* register flag
* typo
* Update shared/featureconfig/config.go
Co-Authored-By: Nishant Das <nishdas93@gmail.com>
* Apply suggestions from code review
Co-Authored-By: Nishant Das <nishdas93@gmail.com>
* skip demo e2e
* fix validator
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Nishant Das <nish1993@hotmail.com>
Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
* Batch Eth1 RPC Calls (#4392)
* add new methods
* get it working
* optimize past deposit logs processing
* revert change
* fix all tests
* use mock
* lint
* lint
* check for nil
* stop panics
* Apply suggestions from code review
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Terence's Review
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Filter block roots by finalization and head
* Tests
* Comments
* Merge branch 'master' into safe-delete-states
* Fixed exisiting tests
* Merge branch 'safe-delete-states' of git+ssh://github.com/prysmaticlabs/prysm into safe-delete-states
* Merge refs/heads/master into safe-delete-states
* Merge refs/heads/master into safe-delete-states
* Merge refs/heads/master into safe-delete-states
* Merge refs/heads/master into safe-delete-states
* panic on zero genesis time given
* fix test
* fix test
* fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Syncing gitbook information with README
Updated to match https://prysmaticlabs.gitbook.io/prysm/
* Merge branch 'master' into master
* Merge branch 'master' into master
* Merge branch 'master' into master
* Curl readded
* Merge branch 'master' into master
* Merge branch 'master' into master
* Merge branch 'master' into master
* Merge branch 'master' into master
* Add validator_log.go
* Use new logging scheme
* Go fmt
* Better name
* Tests
* Tests
* Add wg.done, moved logging before span end
* Add aggregator indices to submit attestation log
* Rename
* Fixed test
* Add proposer index
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add validator_log.go
* Use new logging scheme
* Go fmt
* Better name
* Tests
* Tests
* Merge refs/heads/master into better-logging
* Merge branch 'master' of git+ssh://github.com/prysmaticlabs/prysm into better-logging
* Add wg.done, moved logging before span end
* Merge branch 'better-logging' of git+ssh://github.com/prysmaticlabs/prysm into better-logging
* Revert "only add chain start deposits up to min genesis active validator count (#4373)"
This reverts commit 35380dd9bf.
* Revert "Return an error if the wrong number of deposits are provided for genesis state (#4372)"
This reverts commit 9674575892.
* Add justified checkpoint getters
* Use it for chainhead
* Mock
* Fixed tests
* Fixed TestServer_StreamChainHead_OnHeadUpdated
* Caught a run time bug. Fixed
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Clean proto and move slasher proto to own folder
* Change package name to match files
* Fix typo
* Fix tests
* Undo out of scope changes
* Run gazlle
* Fix build.bazel
* goimports
* add reject all pubsub validator to stop automatic propagation of messages
* gaz
* Merge branch 'master' of github.com:prysmaticlabs/prysm into pubsub-validator
* refactor p2p validator pipeline
* add sanity check
* Merge branch 'pubsub-validator' of github.com:prysmaticlabs/prysm into pubsub-validator
* fixed up test
* rem
* gaz
* Merge refs/heads/master into pubsub-validator
* fix from self test
* ensure validator data is set
* resolve todo
* Merge refs/heads/master into pubsub-validator
* gaz
* Merge refs/heads/master into pubsub-validator
* Merge branch 'pubsub-validator' of github.com:prysmaticlabs/prysm into pubsub-validator
* Merge refs/heads/master into pubsub-validator
* remove all of the 'from self' logic. filed https://github.com/libp2p/go-libp2p-pubsub/issues/250
* Merge branch 'pubsub-validator' of github.com:prysmaticlabs/prysm into pubsub-validator
* gaz
* update comment
* Merge refs/heads/master into pubsub-validator
* rename "VaidatorData"
* Merge branch 'pubsub-validator' of github.com:prysmaticlabs/prysm into pubsub-validator
* refactor
* one more bit of refactoring
* Update beacon-chain/sync/validate_beacon_attestation.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* skip validation on self messages, add @nisdas feedback to increment failure counter
* Merge branch 'pubsub-validator' of github.com:prysmaticlabs/prysm into pubsub-validator
* remove flakey
* allow for epoch based filtering
* modify repo to include filter by epoch
* resolve items
* revamped to use epoch filter
* Merge branch 'master' into roots-by-epoch
* Merge refs/heads/master into roots-by-epoch
* Merge refs/heads/master into roots-by-epoch
* Merge refs/heads/master into roots-by-epoch
* gazelle rem unused
* Merge refs/heads/master into roots-by-epoch
* Merge refs/heads/master into roots-by-epoch
* Merge refs/heads/master into roots-by-epoch
* Merge refs/heads/master into roots-by-epoch
* Merge refs/heads/master into roots-by-epoch
* Merge refs/heads/master into roots-by-epoch
* Merge refs/heads/master into roots-by-epoch
* Merge refs/heads/master into roots-by-epoch
* Update beacon-chain/db/kv/blocks_test.go
Co-Authored-By: shayzluf <thezluf@gmail.com>
* Update beacon-chain/db/kv/blocks_test.go
Co-Authored-By: shayzluf <thezluf@gmail.com>
* fmt
* lint res
* add data structures
* generate proto
* add in new fields
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into saveETH1Data
* add comments
* Merge branch 'master' into saveETH1Data
* remove file
* Merge branch 'saveETH1Data' of https://github.com/prysmaticlabs/geth-sharding into saveETH1Data
* Merge branch 'master' into saveETH1Data
* Merge branch 'master' into saveETH1Data
* Merge refs/heads/master into saveETH1Data
* Merge refs/heads/master into saveETH1Data
* Add committees helper, benchmark, results show 62ms for 8k validators which was previously 4 minutes
* Add regression test with same data
* fix epoch conversion
* lint
* undo and lint
* Merge branch 'master' of github.com:prysmaticlabs/prysm into zoom-zoom-assignments
* remove validaotr index span
* fix comment, add test to test against spec definition method for consistency.
* Deprecate CommitteeAssignment, delete unused reference to CommitteeAssignment
* Merge branch 'master' of github.com:prysmaticlabs/prysm into zoom-zoom-assignments
* remove new line
* make test be more complicated with validators activated in an epoch transition
* add feature flag for fast-assignments
* Merge branch 'master' of github.com:prysmaticlabs/prysm into zoom-zoom-assignments
* gaz, gofmt, add deprecated code back
* Update beacon-chain/core/helpers/committee.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Merge refs/heads/master into zoom-zoom-assignments
* Merge refs/heads/master into zoom-zoom-assignments
* Merge refs/heads/master into zoom-zoom-assignments
* current changes
* change algorithm for tree insert
* almost done with getting this to pass
* unit test passes
* tests now pass
* fix in repo
* Merge branch 'master' into optimizeDepositLogs
* fix build
* Merge branch 'optimizeDepositLogs' of github.com:prysmaticlabs/prysm into optimizeDepositLogs
* remove tautology
* fix tautology
* fix up sparsity
* Merge branch 'master' into optimizeDepositLogs
* further fixes
* Merge branch 'optimizeDepositLogs' of github.com:prysmaticlabs/prysm into optimizeDepositLogs
* Update shared/trieutil/sparse_merkle.go
* comments
* Merge branch 'optimizeDepositLogs' of github.com:prysmaticlabs/prysm into optimizeDepositLogs
* add bench for optimized
* gaz
* Merge refs/heads/master into optimizeDepositLogs
* make beacon committee be an argument
* remove state from ConvertToIndexed
* Merge branch 'master' into refactor-AttestingIndices-committee
* Merge branch 'master' into refactor-AttestingIndices-committee
* Merge branch 'master' into refactor-AttestingIndices-committee
* Merge refs/heads/master into refactor-AttestingIndices-committee
* Add a random fuzz test to ssz to capture panics and compare the effectiveness of the cache. This comment shows a difference in state root calculation 52% of the time and what is even more concering is that spec tests pass with the flag on.
* added case for one
* bring down failure rate
* prevent caching operations if no cache enabled
* unit test and pretty printer
* identify further sources of problems
* no more panics
* not panicking anymore
* fix lint
* Merge branch 'master' into fuzz-ssz
* Merge branch 'master' into fuzz-ssz
* passing up to 68
* Merge branch 'fuzz-ssz' of github.com:prysmaticlabs/prysm into fuzz-ssz
* need to find the culprit for 100
* 100 passes, now only 16 out of 1000
* state roots being mutated
* one out of 10k
* fuzzing stuff
* fix up lint
* Merge branch 'master' into fuzz-ssz
* cleanup
* fixing more comments
* Merge branch 'master' into fuzz-ssz
* add flag
* jim and preston's review
* check max peers
* gaz
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into minStatusCount
* remove space
* add references
* add warning log
* change log
* gaz
* bring back the epochs!
* fix up
* Merge refs/heads/master into bring-back-epoch-filter
* add in patch
* Merge branch 'bring-back-epoch-filter' of github.com:prysmaticlabs/prysm into bring-back-epoch-filter
* import spacing
* lint
* build
* gaz
* Merge refs/heads/master into bring-back-epoch-filter
* gaz
* Merge branch 'bring-back-epoch-filter' of github.com:prysmaticlabs/prysm into bring-back-epoch-filter
* move back perf
* update ethapis
* fix build
* Merge refs/heads/master into bring-back-epoch-filter
* Add more detail to readme and add benchmark for HashTreeRootState
* Add hashtreerootstate benchmark results to readme
* Merge branch 'master' into benchmarks-readme
* Enforce stronger head state operations
* fix genesis state generation
* one test left to fix
* all tests passing now
* gofmt
* Update beacon-chain/db/kv/state_test.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* Update beacon-chain/db/kv/state.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* fix tests
* A few improvements to handshake and exit round robin
* revert beacon-chain/sync/initial-sync/round_robin.go
* Merge refs/heads/master into p2p-fixes
* make handshake non-blocking
* Merge branch 'p2p-fixes' of github.com:prysmaticlabs/prysm into p2p-fixes
* Merge refs/heads/master into p2p-fixes
* Merge refs/heads/master into p2p-fixes
* Merge refs/heads/master into p2p-fixes
* Update handshake.go
* Implementation of graffiti flag without tests.
* Updated to pass graffiti as string instead of []byte all the way to the ProposeBlock RPC call. This ensures that the ToBytes32() call is handled in ProposeBlock as opposed to relying on the caller to ensure that the value passed is only 32 bytes. This adds work by doing that conversion on each proposed block for a static value of graffiti, but it also helps protect against an RPC call to ProposeBlock that has more than 32 bytes for graffiti.
* Added test case for validator.
* Added GraffitiFlag to validate usage test.
* Updated data structures and logic to convert graffiti flag from string to byte array earlier in the process. Now converting when setting up ValidatorService.
* Updated test case to correctly set up validator using byte array.
* Merge branch 'master' into graffitiFlag
* Remove formatting error for sig
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Merge branch 'master' into sig-error-log
* abstract db interface, kafka build, work in progress
* checkpoint
* Merge branch 'master' of github.com:prysmaticlabs/prysm into es-exporter
* feature flag
* move passthrough
* flag change
* gofmt
* Merge branch 'master' of github.com:prysmaticlabs/prysm into es-exporter
* missing db methods
* Merge branch 'master' of github.com:prysmaticlabs/prysm into es-exporter
* fix interface
* Merge branch 'master' of github.com:prysmaticlabs/prysm into es-exporter
* Merge branch 'master' of github.com:prysmaticlabs/prysm into es-exporter
* Merge branch 'master' of github.com:prysmaticlabs/prysm into es-exporter
* try using cmake built from source
* lint godocs
* lint godocs
* lint godocs
* Update BUILD.bazel
* Merge branch 'master' into es-exporter
* Merge branch 'master' into es-exporter
* Merge branch 'master' into es-exporter
* Merge branch 'master' of github.com:prysmaticlabs/prysm into es-exporter
* gaz
* Initial sync state cache
* Gaz
* Gaz
* Don't save head root
* Fix config validator
* Uncomment save head
* Merge branch 'master' into initial-sync-no-verify
* Minor refactor
* Merge branch 'initial-sync-no-verify' of https://github.com/prysmaticlabs/prysm into initial-sync-no-verify
* Merge branch 'master' into initial-sync-no-verify
* Tests
* Merge branch 'initial-sync-no-verify' of https://github.com/prysmaticlabs/prysm into initial-sync-no-verify
* Merge branch 'master' into initial-sync-no-verify
* Add lock
* Merge branch 'initial-sync-no-verify' of https://github.com/prysmaticlabs/prysm into initial-sync-no-verify
* Tests
* Removed save head
* One more test
* Merge branch 'master' into initial-sync-no-verify
* Raul's feedback
* Merge branch 'initial-sync-no-verify' of https://github.com/prysmaticlabs/prysm into initial-sync-no-verify
* Comment
* Gazelle
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into initial-sync-no-verify
* revert
* Update beacon-chain/blockchain/service.go
Co-Authored-By: Ivan Martinez <ivanthegreatdev@gmail.com>
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into initial-sync-no-verify
* Merge branch 'initial-sync-no-verify' of https://github.com/prysmaticlabs/prysm into initial-sync-no-verify
* Fixed test
* Fixed feature flag
* Merge branch 'master' into initial-sync-no-verify
* Fixed cache gensis state test
* Merge branch 'initial-sync-no-verify' of https://github.com/prysmaticlabs/prysm into initial-sync-no-verify
* better abstraction
* using ristretto
* begin on custom, cached array roots merkleization
* do cache initialization
* passing with new cache
* works
* fix up test
* fixed up cache
* include proper comments
* remove old hash tree root
* rem validator bottleneck
* gaz
* Merge branch 'master' into caching-ssz
* optimized!!!!
* Merge branch 'caching-ssz' of github.com:prysmaticlabs/prysm into caching-ssz
* add mutex
* Merge branch 'master' into caching-ssz
* add read lock
* fmt
* add mathutil
* Merge branch 'master' into caching-ssz
* Merge refs/heads/master into caching-ssz
* Merge refs/heads/master into caching-ssz
* Merge refs/heads/master into caching-ssz
* Clean testutil, change tool names to Deterministic
* Cleanup errors
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into clean-testutil
* Fix bug with generating deposits
* Fix a few tests
* Fix most tests
* Clean up some tests
* Remove err pt. 1
* Remove err pt. 2
* Change tests to use genesis state util
* Remove err from deposits
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Remove circular dependency
* Remove uncompressed signature test
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Merge branch 'master' into clean-testutil
* Goimports
* gazelle
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Add back error handling
* New attestation pool (#4185)
* New pool
* Better namings
* Fmt
* Gazelle
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into define-pool
* Raul's feedback
* Raul's feedback
* Log peer conected log for incoming connections (#4173)
* Log peer conected log for incoming connections
* Merge branch 'master' into peerconnected
* Merge branch 'master' into peerconnected
* Update handshake.go
* Update handshake.go
* Merge branch 'master' into peerconnected
* Merge branch 'master' into peerconnected
* Attestation pool to use go-cache (#4187)
* Update EthereumAPIs (#4186)
* include new patch targeting latest ethapis master
* ensure project builds
* Merge branch 'master' into update-all-api
* fix up committees
* Merge branch 'update-all-api' of github.com:prysmaticlabs/prysm into update-all-api
* include latest eth apis
* Merge branch 'master' into update-all-api
* update block tests
* Merge branch 'update-all-api' of github.com:prysmaticlabs/prysm into update-all-api
* Merge branch 'master' into update-all-api
* add todos
* Implement GetValidator RPC Endpoint (#4188)
* include new patch targeting latest ethapis master
* ensure project builds
* Merge branch 'master' into update-all-api
* fix up committees
* Merge branch 'update-all-api' of github.com:prysmaticlabs/prysm into update-all-api
* include latest eth apis
* Merge branch 'master' into update-all-api
* update block tests
* Merge branch 'update-all-api' of github.com:prysmaticlabs/prysm into update-all-api
* Merge branch 'master' into update-all-api
* add todos
* implement get validator rpc
* add test for get validator
* table driven test
* fix up test
* fix confs
* tests for more cases
* fix up tests and add out of range
* Slasher optimization (#4172)
* size
* batching and concurrency improvements
* gaz
* merge fixes
* fix comment
* fix test
* fix test
* fix build
* ethpb
* ethpb
* fix test
* fix comment
* add benchmark
* fix benchmark
* Handle error for all testutil uses
* Fix errors
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Revert error handling
Revert "Fix errors"
This reverts commit db081f5486.
Revert "Handle error for all testutil uses"
This reverts commit bdabef2306.
Revert "Add back error handling"
This reverts commit da7e3d2020.
* Change genesis state func to use testing.T
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Fix conflict
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Merge branch 'master' into clean-testutil
* Merge branch 'master' into clean-testutil
* Captialize other logs
* Merge branch 'clean-testutil' of https://github.com/0xKiwi/Prysm into clean-testutil
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into clean-testutil
* Merge branch 'master' into clean-testutil
* Make logs more helpful for E2E
* gofmt
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into helpful-logs
* Add extra info
* Merge branch 'master' of https://github.com/prysmaticlabs/Prysm into helpful-logs
* gofmt and fix error output
* Use errors
* Gazelle
* Revert "gofmt and fix error output"
This reverts commit 9fc85f2dd2.
* Formatting and fix
* add f
* Add more details to logs
* Merge branch 'master' into helpful-logs
* Change text a bit
* Merge branch 'helpful-logs' of https://github.com/0xKiwi/Prysm into helpful-logs
* Merge branch 'master' into helpful-logs
* new ssz hash tree root
* Merge branch 'master' into new-ssz-state
* better comments on func
* add errors instead of panic in state
* utilize errors wrap everywhere
* include bench
* added bench info
* equality test
* dup
* gaz
* use new hash tree root in state transition
* fix build
* separate test package
* three targets failign
* single target fails
* please test targets...pass for me
* revert
* Merge branch 'master' into new-ssz-state
* rev
* Merge branch 'new-ssz-state' of github.com:prysmaticlabs/prysm into new-ssz-state
* broken build
* Merge branch 'master' into new-ssz-state
* gaz
* Merge branch 'new-ssz-state' of github.com:prysmaticlabs/prysm into new-ssz-state
* ssz workspace
* master ssz
* Merge branch 'master' into new-ssz-state
* resolve conf
* resolve some conflicts and fix up broken file
* fix up build file issues and sync
* eth1 data votes included
* further abstractions, simplifications
* Merge branch 'master' into new-ssz-state
* gaz
* Merge branch 'new-ssz-state' of github.com:prysmaticlabs/prysm into new-ssz-state
* feature flag gating
* add field count test
* Merge branch 'master' into new-ssz-state
* resolving ivan feedback
* Merge branch 'new-ssz-state' of github.com:prysmaticlabs/prysm into new-ssz-state
* gaz
* Merge branch 'master' into new-ssz-state
* addressed
* Merge branch 'new-ssz-state' of github.com:prysmaticlabs/prysm into new-ssz-state
* New pool
* Better namings
* Fmt
* Gazelle
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into define-pool
* Raul's feedback
* Raul's feedback
* Update to use go-cache
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into define-pool-1
* Update workspace
* Update workspace
* Update pool to use interface
* Move kv init methods
* Curd for aggregated
* Curd for unaggregated
* Gaz
* Tests for aggregated
* Fixed test
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into curd
* Minor fixes
* Typoe
* pool test
* Added deletions as well
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into curd
* Update beacon-chain/operations/attestations/kv/aggregated.go
* Update beacon-chain/operations/attestations/kv/aggregated.go
* Update beacon-chain/operations/attestations/kv/unaggregated_test.go
* Update beacon-chain/operations/attestations/kv/kv.go
* include new patch targeting latest ethapis master
* ensure project builds
* Merge branch 'master' into update-all-api
* fix up committees
* Merge branch 'update-all-api' of github.com:prysmaticlabs/prysm into update-all-api
* include latest eth apis
* Merge branch 'master' into update-all-api
* update block tests
* Merge branch 'update-all-api' of github.com:prysmaticlabs/prysm into update-all-api
* Merge branch 'master' into update-all-api
* add todos
* implement get validator rpc
* add test for get validator
* table driven test
* fix up test
* fix confs
* tests for more cases
* fix up tests and add out of range
* include new patch targeting latest ethapis master
* ensure project builds
* Merge branch 'master' into update-all-api
* fix up committees
* Merge branch 'update-all-api' of github.com:prysmaticlabs/prysm into update-all-api
* include latest eth apis
* Merge branch 'master' into update-all-api
* update block tests
* Merge branch 'update-all-api' of github.com:prysmaticlabs/prysm into update-all-api
* Merge branch 'master' into update-all-api
* add todos
* fix issues with exited validator indices
* tests pass for validator active set changes and exited keys
* Merge branch 'master' into cached-active-changes
* resolve archive test
* Merge branch 'cached-active-changes' of github.com:prysmaticlabs/prysm into cached-active-changes
* Merge branch 'master' into cached-active-changes
* Merge branch 'master' into cached-active-changes
* change to herumi's bls
* change alias
* change to better
* add benchmark
* build
* change to bazel fork
* fix prefix
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* make it work with library
* update to latest
* change again
* add import
* update to latest
* add sha commit
* new static lib with groups swapped
* using herumis new lib
* fix dep paths in c headers
* update again
* new changes
* fix commit
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* fix serialization
* comment
* fix test
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* fix to herumis latest version
* fix test
* fix benchmarks
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* add new workspace
* change commit and remove init
* get test to pass
* remove parameter
* remove reverse byte order
* make gazelle happy
* set pure to off
* fix failing tests
* Merge branch 'master' into herumiBLS
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* Merge branch 'herumiBLS' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* remove old ref
* use HashWithDomain functions
* update to latest version
* clean up
* gaz
* add back removed code
* switch off pure
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* use local repo
* resolve docker issues
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into herumiBLS
* fix build and tests
* gaz
* Merge branch 'master' into herumiBLS
* Merge refs/heads/master into herumiBLS
* Merge refs/heads/master into herumiBLS
* include stream chain head mock
* uncomment test
* stream chain head implemented
* remove imports
* chain head stream test
* include stream test with mockgen
* test now passes
* checkin items
* stream tests all passing
* rem learn
* fix up fork checker
* add stream ctx
* gaz, fix test
* fix broken test
* Merge branch 'master' into chain-head-stream
* include context in chain head stream happy path test
* Merge branch 'master' into chain-head-stream
* Merge branch 'master' into chain-head-stream
* Merge refs/heads/master into chain-head-stream
* Merge refs/heads/master into chain-head-stream
* Spans and check type
* Typos
* Remove type checks
* Fixed a test bug
* Merge branch 'master' into subs-fixes
* Merge branch 'master' into subs-fixes
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into subs-fixes
* Revert back type assertions
* Merge branch 'master' into subs-fixes
* Merge branch 'subs-fixes' of https://github.com/prysmaticlabs/prysm into subs-fixes
* Merge branch 'master' into subs-fixes
* deprecated --init-sync-no-verify, make it the default
* Merge branch 'master' into deprecate-init-sync-verify-flag
* add more flag info
* Merge branch 'deprecate-init-sync-verify-flag' of github.com:prysmaticlabs/prysm into deprecate-init-sync-verify-flag
* gofmt
* Merge refs/heads/master into deprecate-init-sync-verify-flag
* Merge refs/heads/master into deprecate-init-sync-verify-flag
* add forked connMgr
* gaz
* add license header
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into connMgr
* add conn manager test
* gaz
* fix connManager
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into connMgr
* gaz
* remove todo
* add new dep
* lint
* lint
* lint
* space
* visibility
* Merge branch 'master' into connMgr
* Merge branch 'master' into connMgr
* Merge refs/heads/master into connMgr
* Update API to return empty next page token on last page response
* Update tests
* Merge branch 'master' into api-return-empty-page-token-on-last-page
* debugging...
* debugging... feedback required
* moved sendDeposits_test to powchain package
* need some guidance to proceed further
* further guidance needed
* match depositData to depositEvent
* debugging validating merkle root
* fixed compile error
* test passed for a single deposit
* Unable verify deposit merkle branch
* fix test
* Merge branch 'master' of https://github.com/prysmaticlabs/geth-sharding into AndreisPR
* ready for review
* Merge branch 'master' into deposit-testing
* Merge branch 'master' into deposit-testing
* applied requested changes
* Merge branch 'master' into deposit-testing
* Delete epoch boundary slot of last finalized epoch
* Case to cover start slot is skipped
* Test
* Feature flag
* feature gate the new functionality only
* Update DB for migration
* Test
* Fmt
* Fixed test
* Gazelle
* begin readme
* add common bugs
* include more details for third party readme
* patch diff
* add readme
* complete readme
* Merge branch 'master' into third-party-readme
* rev
* Merge branch 'third-party-readme' of github.com:prysmaticlabs/prysm into third-party-readme
* revert
* Update third_party/README.md
* Update third_party/README.md
* do not use batch for SaveAttestations
* use snappy compression
* Encode / decode everything with snappy
* Add snappy migration path
* batch is probably fine...
* fix test
* gofmt
* Merge branch 'master' of github.com:prysmaticlabs/prysm into remove-batch-attestations
* add sanity check
* remove that thing
* gaz
* Merge branch 'master' of github.com:prysmaticlabs/prysm into remove-batch-attestations
* Added block tree tool
* Gaz
* Updated workspace
* Playing around
* Adding votes
* Votes work
* Comments
* Gaz
* Add tools to subpackage
* Merge branch 'master' into block-tree-tool-1
* Enhance logging with sig
* Fixed
* Merge branch 'master' into add-sig
* Merge branch 'master' into add-sig
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into add-sig
* signature via debug
* Merge branch 'add-sig' of https://github.com/prysmaticlabs/prysm into add-sig
* Merge branch 'master' into add-sig
* Merge branch 'master' into add-sig
* Merge branch 'master' into add-sig
* Begin benchmarks file for block processing
* Complete block processing benchmarks
* Begin epoch benchmarks
* Write most of epoch benchmarks
* Start config
* Make cases for max conditions
* Begin work on benchmarking doc
* Update benchmark numbers
* Complete epoch benchmarks
* Minor changes
* Make createFullBlock function
* Clean up block benchmarks
* Begin fixing merge issues
* Start adding 4M benchmarks
* Almost finish epoch benchmarks
* Test blocks under real life conditions
* More progress on benchmarks
* Fixes
* Fix benchmark errors
* Begin fixing benchmarks
* More progress on tests
* Complete epoch benchmarks
* More progress on block benches
* Finish epoch benchmarks, get progress on block benchmarks
* Undo unneeded changes
* Fix
* Fix block benchmarks
* Complete block benchmarks
* Finish block benchmarks
* Complete benchmarks
* Increase block benchmarks to 65536
* Fix everything
* Reset configs after benchmarks
* Fix logging and suggestions
* Fix comments
* Fix benchmarks after merge
* Fix merge issues
* Add sanity tests for benchmark
* Make sanity check simpler
* Begin fixing after merge
* Add log
* Remove extra line
* Remove unneeded change
* Finally get block benchmarks to pass
* Begin fixing epoch test
* Finetuning constants
* Revert "Finetuning constants"
This reverts commit a872790d67.
* Finetuning
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Add benches for helper functions
* Abstract block generation to testutil
* Create block generation util in testutil
* Gazelle
* Fix deps
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into block-util
* Fix imports
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into block-util
* Merge branch 'master' into block-util
* Change tests to use config and fix integer division
* Merge branch 'block-util' of https://github.com/0xKiwi/prysm into block-util
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into block-util
* Remove logs
* Fix build
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Merge branch 'master' into block-util
* Add test to ensure finalization occurs
* Add check for finalization
* Merge branch 'block-util' of https://github.com/0xKiwi/prysm into block-util
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into block-util
* Add comment for incrementing the state
* Fix test
* Fix test
* Merge branch 'master' into block-util
* Fix testutil use
* Fix tests
* Change var name
* Merge branch 'master' into block-util
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Merge branch 'block-util' of https://github.com/0xKiwi/prysm into new-benchmarks
* Begin cleaning benchmarks
* Get some numbers going
* Use state saved to disk
* Remove cruft
* Cleanup
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Fix merge arrows
* Set up block util and benchmarks for 128 attestations
* Use intended config for benchmark
* Add more benchmark functions
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Add benchmark epoch and modify block gen config to exclude signing
* Cleanup
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Begin unstaleling
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Update block gen util to v0.9 changes
* Prepare benchmarks to use marshalled files
* Cleanup block gen tool some more
* split up into file generation and benchmarking
* Remove logrus
* Merge branch 'master' into new-benchmarks
* Get benchmarks work, start work on process epoch benchmark
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Merge branch 'new-benchmarks' of https://github.com/0xKiwi/prysm into new-benchmarks
* All benchmarks working
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Fix after merge
* Cleanup
* Add bazel target
* Added TestBenchmarkExecuteStateTransition_WithCache
* Change tests to use SSZ and begin making binary
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Merge branch 'new-benchmarks' of https://github.com/0xKiwi/prysm into new-benchmarks
* bazel binary
* Fully change to binary
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Create go_binary to handle benchmark files
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Gofmt
* Remove genesis state from generated files
* Fix tests
* Gazelle
* Fix tests
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Fix block util
* Allow attestations to be in future for block util
* Fix inclusion delay issue
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Finally fix test
* Add README detailing usage and results
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Change test to run with bazel test
* Fix imports
* Merge branch 'master' into new-benchmarks
* Accidentally removed config change
* Merge branch 'new-benchmarks' of https://github.com/0xKiwi/prysm into new-benchmarks
* Merge branch 'master' of https://github.com/prysmaticlabs/prysm into new-benchmarks
* Move to core/state/
* Update readme
* Gazelle
* Remove test for cached block
* cannot request current epoch
* test for prev epoch instead
* Merge branch 'master' into no-curr-epoch-participation
* Merge branch 'master' into no-curr-epoch-participation
* Migrate ChainStarted and StateInitialized to state notifier
* Provide state notifier to powchain service
* Merge remote-tracking branch 'upstream/master'
* Merge remote-tracking branch 'upstream/master'
* Remove commented line
* Merge branch 'master' into master
* Merge branch 'master' into master
* Merge remote-tracking branch 'upstream/master'
* Merge branch 'master' of github.com:mcdee/prysm
* Accept err from HeadState() as non-fatal
* Merge branch 'master' into master
* Merge branch 'master' into master
* Merge branch 'master' into master
* Merge remote-tracking branch 'upstream/master'
* Merge branch 'master' of github.com:mcdee/prysm
* Explicit unsubscribes from state channels where required
* Migrate ChainStarted and StateInitialized to state notifier
* Provide state notifier to powchain service
* Merge remote-tracking branch 'upstream/master'
* Merge remote-tracking branch 'upstream/master'
* Remove commented line
* Merge branch 'master' into master
* Merge branch 'master' into master
* Merge remote-tracking branch 'upstream/master'
* Merge branch 'master' of github.com:mcdee/prysm
* Accept err from HeadState() as non-fatal
* Merge branch 'master' into master
* Merge branch 'master' into master
* Merge branch 'master' into master
* Release --prune-finalized-states to all
* Merge branch 'master' into deprecate-ff-prune-finalized-states
* Merge branch 'master' of github.com:prysmaticlabs/prysm into deprecate-ff-prune-finalized-states
* Merge refs/heads/master into deprecate-ff-prune-finalized-states
* Merge refs/heads/master into deprecate-ff-prune-finalized-states
* Merge refs/heads/master into deprecate-ff-prune-finalized-states
* Merge refs/heads/master into deprecate-ff-prune-finalized-states
* Merge branch 'master' of github.com:prysmaticlabs/prysm into deprecate-ff-prune-finalized-states
* Release optimize-proces-epoch to all
* Merge branch 'master' into deprecate-ff-optimize-process-epoch
* Merge branch 'master' of github.com:prysmaticlabs/prysm into deprecate-ff-optimize-process-epoch
* Merge refs/heads/master into deprecate-ff-optimize-process-epoch
* Merge refs/heads/master into deprecate-ff-optimize-process-epoch
* Merge refs/heads/master into deprecate-ff-optimize-process-epoch
* Merge refs/heads/master into deprecate-ff-optimize-process-epoch
* adding default response
* regression test for archival
* include full regression test
* Merge branch 'master' into resolve-panic-rpc
* Merge branch 'master' into resolve-panic-rpc
* Merge branch 'master' into resolve-panic-rpc
* Merge branch 'master' into resolve-panic-rpc
* listbal
* Merge branch 'master' into resolve-panic-rpc
* Merge branch 'master' into resolve-panic-rpc
* Merge branch 'master' into resolve-panic-rpc
* Merge refs/heads/master into resolve-panic-rpc
* update workspace
* include active filter
* fix up latest changes to match naming
* better comments, fix evaluators
* latest master
* filter items
* filter only active validators
* first version of the watchtower api
* service files
* Begin work on grpc server
* More changes to server
* REnames and mock setup
* working test
* merge
* double propose detection test
* nishant review
* todo change
* gaz
* fix service
* gaz
* remove unused import
* gaz
* resolve circular dependency
* resolve circular dependency 2nd try
* remove package
* fix package
* fix test
* added tests
* gaz
* remove status check
* gaz
* remove context
* remove context
* change var name
* moved to rpc dir
* gaz
* remove server code
* gaz
* slasher server
* visibility change
* pb
* service update
* gaz
* slasher grpc server
* making it work
* setup db and start
* gaz
* service flags fixes
* grpc service running
* go imports
* remove new initializer
* gaz
* remove feature flags
* change back SetupSlasherDB
* fix SetupSlasherDB calls
* define err
* fix bad merge
* fix test
* fix imports
* fix imports
* fix imports
* add cancel
* comment stop
* fix cancel issue
* remove unneeded code
* bring back bad merge that removed TODO
* remove use of epoch as am input
* fixed slasher to be runable again
* wait for channel close
* gaz
* small test
* flags fix
* fix flag order
* double vote detection
* remove source epoch from indexed attestation indices
* change server method to receive indexed attestation
* start implementation
* double vote detection
* proto
* pb
* fir comment
* add surround detection and retrieval to endpoint
* nishant review
* import fix
* fix miss order
* fix detection 0 case
added tests
* terence review
* first version of the watchtower api
* service files
* Begin work on grpc server
* More changes to server
* REnames and mock setup
* working test
* merge
* double propose detection test
* nishant review
* todo change
* gaz
* fix service
* gaz
* remove unused import
* gaz
* resolve circular dependency
* resolve circular dependency 2nd try
* remove package
* fix package
* fix test
* added tests
* gaz
* remove status check
* gaz
* remove context
* remove context
* change var name
* moved to rpc dir
* gaz
* remove server code
* gaz
* slasher server
* visibility change
* pb
* service update
* gaz
* slasher grpc server
* making it work
* setup db and start
* gaz
* service flags fixes
* grpc service running
* go imports
* remove new initializer
* gaz
* remove feature flags
* change back SetupSlasherDB
* fix SetupSlasherDB calls
* define err
* fix bad merge
* fix test
* fix imports
* fix imports
* fix imports
* add cancel
* comment stop
* fix cancel issue
* remove unneeded code
* bring back bad merge that removed TODO
* remove use of epoch as am input
* fixed slasher to be runable again
* wait for channel close
* gaz
* small test
* flags fix
* fix flag order
* double vote detection
* remove source epoch from indexed attestation indices
* change server method to receive indexed attestation
* start implementation
* double vote detection
* proto
* pb
* fir comment
* nishant review
* import fix
* Update slasher/db/indexed_attestations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* terence feedback
* return empty if no attestations
* list balances proper response
* standardize epoch error
* future epoch error test
* no results test
* no results in list attestations
* test for list blocks no results
* cannot request future epoch for balances rpc
* test for no results in balances
* adding tests for get validator
* cannot request future in participation
* useless conditional
* resolve old epoch test
* completed failing tests
* fix request bug
* Begin working on end to end tests using geth dev chain
* Start on beacon node set up
* More progress on bnode setup
* Complete flow until chainstart, begin work on evaluators
* More progress on evaluators
* Start changing bazel run to direct binary
* Move endtoend to inside beacon-chain
* use bazel provided geth, use bazel test
* tempdir
* use fork rules_go
* Change to use UUID dir and bazel binaries
* Truncate UUID a bit
* Get full run from chainstart to evaluating
* Rewrite to react to logs rather than arbitrarily wait
* Fix export
* Move evaluators to evaluators.go
* Add peer check test
* Add more comments
* Remove unneeded exports
* Check all nodes have the correct amount of peers
* Change name to onGenesisEpoch
* Remove extra wait times where not needed
* Cleanup
* Add log for beacon start
* Fix deposit amount
* Make room for eth1follow distnce
* Cleanup and fix minimal test
* Goimports
* Fix imports
* gazelle and minimal
* manual
* Fix for comments
* Make timing rely on reading logs, and cleanup
* Fix for comments
* Fix workspace
* Cleanup
* Fix visibility
* Cleanup and some comments
* Address comments
* Fix for v0.9
* Modify for v0.9
* Move to own package outside of beacon-chain
* Gazelle
* Polishing, logging
* Fix filenames
* Add more logs
* Add flag logging
* Cover for page not having libp2p info
* Improve multiAddr detection
* Add more logs
* Add missing flags
* Add log printing to defer
* Get multiAddr from logs
* Fix logging and detection
* Change evaluators to rely on EpochTimer
* Add evaluator for ValidatorParticipation
* Fix validator participation evaluator
* Cleanup, comments and fix participation calculation
* Cleanup
* Let the file searcher search for longer
* Change participation to check for full
* Log out file contents if text isnt found
* Split into different files
* Disable IPC and use RPC instead, change tmp dir to bazel dir
* Change visibility
* Gazelle
* Add e2e tag
* new line
* Revert "Revert "Change BLS Library to Herumi (#3752)" (#4006)"
This reverts commit 904898e405.
* turn it on
* make all docker images with cgo deps static
* change back
* fix build
* switch back
* address gateway
* fix library again
* change to herumi's bls
* change alias
* change to better
* add benchmark
* build
* change to bazel fork
* fix prefix
* make it work with library
* update to latest
* change again
* add import
* update to latest
* add sha commit
* new static lib with groups swapped
* using herumis new lib
* fix dep paths in c headers
* update again
* new changes
* fix commit
* fix serialization
* comment
* fix test
* fix to herumis latest version
* fix test
* fix benchmarks
* add new workspace
* change commit and remove init
* get test to pass
* remove parameter
* remove reverse byte order
* make gazelle happy
* set pure to off
* fix failing tests
* remove old ref
* use HashWithDomain functions
* update to latest version
* clean up
* gaz
* add back removed code
* switch off pure
* Interop instructions added
Interop instructions have been merged to the main README in addition to a number of formatting adjustments
* Interop instruction adjustments
* Formatting adjustments
Changes to resolve PR comments
* carefully return grpc status codes in attester server
* import spacing
* work on status codes
* codes in validator
* most changes done
* gaz and imports
* done
* fix broken tests
* tests fixed
* Update seed domains (#3872)
* Remove Transfers (#3870)
* Remove active index roots and compact committee roots (#3869)
* Update inclusion reward (#3886)
* Alter proposer selection logic (#3884)
* Fix early committee bias (#3888)
* Remove shards and committees (#3896)
* Epoch spec tests v0.9 (#3907)
* Block spec test v0.9 (#3905)
* rm'ed in protobuf
* build proto
* build proto
* build proto
* fix core package
* Gazelle
* Fixed all the tests
* Fixed static test
* Comment out spec test for now
* One more skip
* fix-roundRobinSync (#3862)
* Starting but need new seed function
* Revert initial sync
* Updated Proposer Slashing
* Fixed all tests
* Lint
* Update inclusion reward
* Fill randao mixes with eth1 data hash
* Test
* Fixing test part1
* All tests passing
* One last test
* Updated config
* Build proto
* Proper skip message
* Conflict and fmt
* Removed crosslinks and shards. Built
* Format and gazelle
* Fixed all the block package tests
* Fixed all the helper tests
* All epoch package tests pass
* All core package tests pass
* Fixed operation tests
* Started fixing rpc test
* RPC tests passed!
* Fixed all init sync tests
* All tests pass
* Fixed blockchain tests
* Lint
* Lint
* Preston's feedback
* Starting
* Remove container
* Fixed block spec tests
* All passing except for block_processing test
* Failing block processing test
* Starting
* Add AggregateAndProof
* All mainnet test passes
* Update deposit contract (#3906)
* Proto spec tests v0.9 (#3908)
* Starting
* Add AggregateAndProof
* Unskip block util tests (#3910)
* rm'ed in protobuf
* build proto
* build proto
* build proto
* fix core package
* Gazelle
* Fixed all the tests
* Fixed static test
* Comment out spec test for now
* One more skip
* fix-roundRobinSync (#3862)
* Starting but need new seed function
* Revert initial sync
* Updated Proposer Slashing
* Fixed all tests
* Lint
* Update inclusion reward
* Fill randao mixes with eth1 data hash
* Test
* Fixing test part1
* All tests passing
* One last test
* Updated config
* Build proto
* Proper skip message
* Conflict and fmt
* Removed crosslinks and shards. Built
* Format and gazelle
* Fixed all the block package tests
* Fixed all the helper tests
* All epoch package tests pass
* All core package tests pass
* Fixed operation tests
* Started fixing rpc test
* RPC tests passed!
* Fixed all init sync tests
* All tests pass
* Fixed blockchain tests
* Lint
* Lint
* Preston's feedback
* Starting
* Remove container
* Fixed block spec tests
* All passing except for block_processing test
* Failing block processing test
* Starting
* Add AggregateAndProof
* All mainnet test passes
* Unskip block util tests
* Slot processing spec test V0.9 (#3912)
* Starting
* Add AggregateAndProof
* Unskip slot processing mainnet test
* Unskip minimal spec test for finalization (#3920)
* Remove outdated interop tests (#3922)
* Rm outdated interop tests
* Rm test runner
* Gazelle
* Update validator to use proposer slot (#3919)
* Fix committee assignment (#3931)
* Replace shard with committee index (#3930)
* Conflict
* Clean up (#3933)
* Remove shard filter in db (#3936)
* Remove lightouse compatibility test (#3939)
* Update Committee Cache for v0.9 (#3948)
* Updated committee cache
* Removed shuffled indices cache
* Started testing run time
* Lint
* Fixed test
* Safeguard against nil head state
* address edge case
* add test
* Fixed TestRoundRobinSync by doubling the epochs
* Unskip TestProtoCompatability (#3958)
* Unskip TestProtoCompatability
* Update WORKSPACE
* Fix minimal config (#3959)
* fix minimal configs
* fix hardcoded value in test
* Simplify verify att time (#3961)
* update readme for deposit contract, regen bindings for vyper 0.1.0b12 (#3963)
* update readme for deposit contract, regen bindings
* medium
* Check nil base state (#3964)
* Copy Block When Receiving it From Sync (#3966)
* copy block
* clone for other service methods too
* Change logging of Bitfield (#3956)
* change logging of bits
* preston's review
* Unskip Beacon Server Test (#3962)
* run test till the end
* fix up proto message types
* fmt
* resolve broken tests
* better error handling
* fixing new logic to use archived proposer info
* fix up logic
* clip using the max effective balance
* broken build fix with num arg mismatch
* amend archive
* archival logic changed
* rename test
* archive both proposer and attester seeds
* page size 100
* further experiments
* further experimentation, archivedProposerIndex seems wrong
* test passes
* rem log
* fix broken test
* fix test
* gaz
* fix imports
* ethapis
* setup request/response types for the committees
* list beacon committees impl
* beacon committees fetch from archive
* full list beacon committees implementation
* list beacon committees added more useful fields
* actually paginate
* attester server split into subpackage
* attester impl split up successfully
* validator cleaned up
* all packages isolated
* include proposer
* proper naming
* test fix
* proper viz
* naming
* resolved timeout due to config values
* init use minimal
* added all subfiles
* subfile split and gazelle
* shards
* validator folder
* cleanup val
* shay feedback
* initial pagination tests passing
* paginated tests pass
* fix bug regarding total count
* pagination tests pass
* adding final test, archive
* archive test works
* regen protos for archival
* resolve broken test
* test pass
* broken archive test
* rem helpers
* gaz
* fix kv test
* useful gRPC error code standards
* format
* resolved bad test
* test resolution
* ux improvements and bug fixes
* complete
* comments
* Update beacon-chain/archiver/service.go
* Update beacon-chain/rpc/beacon/committees.go
* elim bad test
* preston feedback
* Update seed domains (#3872)
* Remove Transfers (#3870)
* Remove active index roots and compact committee roots (#3869)
* Update inclusion reward (#3886)
* Alter proposer selection logic (#3884)
* Fix early committee bias (#3888)
* Remove shards and committees (#3896)
* Epoch spec tests v0.9 (#3907)
* Block spec test v0.9 (#3905)
* rm'ed in protobuf
* build proto
* build proto
* build proto
* fix core package
* Gazelle
* Fixed all the tests
* Fixed static test
* Comment out spec test for now
* One more skip
* fix-roundRobinSync (#3862)
* Starting but need new seed function
* Revert initial sync
* Updated Proposer Slashing
* Fixed all tests
* Lint
* Update inclusion reward
* Fill randao mixes with eth1 data hash
* Test
* Fixing test part1
* All tests passing
* One last test
* Updated config
* Build proto
* Proper skip message
* Conflict and fmt
* Removed crosslinks and shards. Built
* Format and gazelle
* Fixed all the block package tests
* Fixed all the helper tests
* All epoch package tests pass
* All core package tests pass
* Fixed operation tests
* Started fixing rpc test
* RPC tests passed!
* Fixed all init sync tests
* All tests pass
* Fixed blockchain tests
* Lint
* Lint
* Preston's feedback
* Starting
* Remove container
* Fixed block spec tests
* All passing except for block_processing test
* Failing block processing test
* Starting
* Add AggregateAndProof
* All mainnet test passes
* Update deposit contract (#3906)
* Proto spec tests v0.9 (#3908)
* Starting
* Add AggregateAndProof
* Unskip block util tests (#3910)
* rm'ed in protobuf
* build proto
* build proto
* build proto
* fix core package
* Gazelle
* Fixed all the tests
* Fixed static test
* Comment out spec test for now
* One more skip
* fix-roundRobinSync (#3862)
* Starting but need new seed function
* Revert initial sync
* Updated Proposer Slashing
* Fixed all tests
* Lint
* Update inclusion reward
* Fill randao mixes with eth1 data hash
* Test
* Fixing test part1
* All tests passing
* One last test
* Updated config
* Build proto
* Proper skip message
* Conflict and fmt
* Removed crosslinks and shards. Built
* Format and gazelle
* Fixed all the block package tests
* Fixed all the helper tests
* All epoch package tests pass
* All core package tests pass
* Fixed operation tests
* Started fixing rpc test
* RPC tests passed!
* Fixed all init sync tests
* All tests pass
* Fixed blockchain tests
* Lint
* Lint
* Preston's feedback
* Starting
* Remove container
* Fixed block spec tests
* All passing except for block_processing test
* Failing block processing test
* Starting
* Add AggregateAndProof
* All mainnet test passes
* Unskip block util tests
* Slot processing spec test V0.9 (#3912)
* Starting
* Add AggregateAndProof
* Unskip slot processing mainnet test
* Unskip minimal spec test for finalization (#3920)
* Remove outdated interop tests (#3922)
* Rm outdated interop tests
* Rm test runner
* Gazelle
* Update validator to use proposer slot (#3919)
* Fix committee assignment (#3931)
* Replace shard with committee index (#3930)
* Conflict
* Clean up (#3933)
* Remove shard filter in db (#3936)
* Remove lightouse compatibility test (#3939)
* Update Committee Cache for v0.9 (#3948)
* Updated committee cache
* Removed shuffled indices cache
* Started testing run time
* Lint
* Fixed test
* Safeguard against nil head state
* address edge case
* add test
* Fixed TestRoundRobinSync by doubling the epochs
* Unskip TestProtoCompatability (#3958)
* Unskip TestProtoCompatability
* Update WORKSPACE
* Fix minimal config (#3959)
* fix minimal configs
* fix hardcoded value in test
* Simplify verify att time (#3961)
* update readme for deposit contract, regen bindings for vyper 0.1.0b12 (#3963)
* update readme for deposit contract, regen bindings
* medium
* Check nil base state (#3964)
* Copy Block When Receiving it From Sync (#3966)
* copy block
* clone for other service methods too
* Change logging of Bitfield (#3956)
* change logging of bits
* preston's review
* Unskip Beacon Server Test (#3962)
* run test till the end
* fix up proto message types
* fmt
* resolve broken tests
* better error handling
* fixing new logic to use archived proposer info
* fix up logic
* clip using the max effective balance
* broken build fix with num arg mismatch
* amend archive
* archival logic changed
* rename test
* archive both proposer and attester seeds
* page size 100
* further experiments
* further experimentation, archivedProposerIndex seems wrong
* test passes
* rem log
* fix broken test
* fix test
* gaz
* fix imports
* ethapis
* attester server split into subpackage
* attester impl split up successfully
* validator cleaned up
* all packages isolated
* include proposer
* proper naming
* test fix
* proper viz
* naming
* resolved timeout due to config values
* init use minimal
* added all subfiles
* subfile split and gazelle
* shards
* validator folder
* cleanup val
* shay feedback
* Update seed domains (#3872)
* Remove Transfers (#3870)
* Remove active index roots and compact committee roots (#3869)
* Update inclusion reward (#3886)
* Alter proposer selection logic (#3884)
* Fix early committee bias (#3888)
* Remove shards and committees (#3896)
* Epoch spec tests v0.9 (#3907)
* Block spec test v0.9 (#3905)
* rm'ed in protobuf
* build proto
* build proto
* build proto
* fix core package
* Gazelle
* Fixed all the tests
* Fixed static test
* Comment out spec test for now
* One more skip
* fix-roundRobinSync (#3862)
* Starting but need new seed function
* Revert initial sync
* Updated Proposer Slashing
* Fixed all tests
* Lint
* Update inclusion reward
* Fill randao mixes with eth1 data hash
* Test
* Fixing test part1
* All tests passing
* One last test
* Updated config
* Build proto
* Proper skip message
* Conflict and fmt
* Removed crosslinks and shards. Built
* Format and gazelle
* Fixed all the block package tests
* Fixed all the helper tests
* All epoch package tests pass
* All core package tests pass
* Fixed operation tests
* Started fixing rpc test
* RPC tests passed!
* Fixed all init sync tests
* All tests pass
* Fixed blockchain tests
* Lint
* Lint
* Preston's feedback
* Starting
* Remove container
* Fixed block spec tests
* All passing except for block_processing test
* Failing block processing test
* Starting
* Add AggregateAndProof
* All mainnet test passes
* Update deposit contract (#3906)
* Proto spec tests v0.9 (#3908)
* Starting
* Add AggregateAndProof
* Unskip block util tests (#3910)
* rm'ed in protobuf
* build proto
* build proto
* build proto
* fix core package
* Gazelle
* Fixed all the tests
* Fixed static test
* Comment out spec test for now
* One more skip
* fix-roundRobinSync (#3862)
* Starting but need new seed function
* Revert initial sync
* Updated Proposer Slashing
* Fixed all tests
* Lint
* Update inclusion reward
* Fill randao mixes with eth1 data hash
* Test
* Fixing test part1
* All tests passing
* One last test
* Updated config
* Build proto
* Proper skip message
* Conflict and fmt
* Removed crosslinks and shards. Built
* Format and gazelle
* Fixed all the block package tests
* Fixed all the helper tests
* All epoch package tests pass
* All core package tests pass
* Fixed operation tests
* Started fixing rpc test
* RPC tests passed!
* Fixed all init sync tests
* All tests pass
* Fixed blockchain tests
* Lint
* Lint
* Preston's feedback
* Starting
* Remove container
* Fixed block spec tests
* All passing except for block_processing test
* Failing block processing test
* Starting
* Add AggregateAndProof
* All mainnet test passes
* Unskip block util tests
* Slot processing spec test V0.9 (#3912)
* Starting
* Add AggregateAndProof
* Unskip slot processing mainnet test
* Unskip minimal spec test for finalization (#3920)
* Remove outdated interop tests (#3922)
* Rm outdated interop tests
* Rm test runner
* Gazelle
* Update validator to use proposer slot (#3919)
* Fix committee assignment (#3931)
* Replace shard with committee index (#3930)
* Conflict
* Clean up (#3933)
* Remove shard filter in db (#3936)
* Remove lightouse compatibility test (#3939)
* Update Committee Cache for v0.9 (#3948)
* Updated committee cache
* Removed shuffled indices cache
* Started testing run time
* Lint
* Fixed test
* Safeguard against nil head state
* address edge case
* add test
* Fixed TestRoundRobinSync by doubling the epochs
* Unskip TestProtoCompatability (#3958)
* Unskip TestProtoCompatability
* Update WORKSPACE
* Fix minimal config (#3959)
* fix minimal configs
* fix hardcoded value in test
* Simplify verify att time (#3961)
* update readme for deposit contract, regen bindings for vyper 0.1.0b12 (#3963)
* update readme for deposit contract, regen bindings
* medium
* Check nil base state (#3964)
* Copy Block When Receiving it From Sync (#3966)
* copy block
* clone for other service methods too
* Change logging of Bitfield (#3956)
* change logging of bits
* preston's review
* Unskip Beacon Server Test (#3962)
* run test till the end
* fix up proto message types
* fmt
* resolve broken tests
* better error handling
* fixing new logic to use archived proposer info
* fix up logic
* clip using the max effective balance
* broken build fix with num arg mismatch
* amend archive
* archival logic changed
* rename test
* archive both proposer and attester seeds
* page size 100
* further experiments
* further experimentation, archivedProposerIndex seems wrong
* test passes
* rem log
* fix broken test
* fix test
* gaz
* fix imports
* ethapis
* progress on fixing #3947
* upsert after, but only if not already exists
* return an error in some case
* format
* handle case where there has not been any finality yet
* it works
* remove todo
* use variable with comments
* regression test
* revert off by one issue, fix tests
* rename receiver
* @nisdas pr feedback
* Added the panic capture so that information about it gets into the log file
* Printf -> Errorf
* Update validator/main.go "run time" -> "Runtime"
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* Update beacon-chain/main.go "run time" -> "Runtime"
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* add fixes
* more changes
* simplify the solution
* add shuffle
* remove prom metric
* add to mock
* go doc
* use non default source
* add test
* terence's review
* all tests passing
* begin by adding pagination
* utilize pagination properly for balances
* db addition
* latest balances test
* completed tests
* fix pagination tests
* all tests passing
* ethapis compatibility
* proper handling if no filters specified
* Deprecated do not use
* remove finalized block indexing feature flag
* remove flag some more
* dont rollback a managed tx
* require blocks to be in a chain in tests
* use LRU cache on skip slots
* add a metric
* gaz
* more metrics
* temporary log
* added more logging
* fix
* only update, if its higher than the cache
* only update, if its higher than the cache
* increase the cache size, just in case
* split cache related stuff into its own file
* add feature flag
* clean up
* add new test
* make test proper
* godoc
* preston's review
* allow passing no,prompt,force options to clear-db
* ensure the node test runs ok
* remove clear-db option and add force-clear-db; remove no longer needed file
* add clear-db option back; force-clear-db overrides
* add clear-db option back to usage
* revert to only using --clear-db
* first version of the watchtower api
* service files
* Begin work on grpc server
* More changes to server
* REnames and mock setup
* working test
* merge
* double propose detection test
* nishant review
* todo change
* gaz
* fix service
* gaz
* remove unused import
* gaz
* resolve circular dependency
* resolve circular dependency 2nd try
* remove package
* fix package
* fix test
* added tests
* gaz
* remove status check
* gaz
* remove context
* remove context
* change var name
* moved to rpc dir
* gaz
* remove server code
* gaz
* slasher server
* visibility change
* pb
* service update
* gaz
* slasher grpc server
* making it work
* setup db and start
* gaz
* service flags fixes
* grpc service running
* go imports
* remove new initializer
* gaz
* remove feature flags
* change back SetupSlasherDB
* fix SetupSlasherDB calls
* define err
* fix bad merge
* fix test
* fix imports
* fix imports
* fix imports
* add cancel
* comment stop
* fix cancel issue
* remove unneeded code
* bring back bad merge that removed TODO
* remove use of epoch as am input
* fixed slasher to be runable again
* wait for channel close
* gaz
* small test
* flags fix
* fix flag order
* first version of the watchtower api
* service files
* Begin work on grpc server
* More changes to server
* REnames and mock setup
* working test
* merge
* double propose detection test
* nishant review
* todo change
* gaz
* fix service
* gaz
* remove unused import
* gaz
* resolve circular dependency
* resolve circular dependency 2nd try
* remove package
* fix package
* fix test
* added tests
* gaz
* remove status check
* gaz
* remove context
* remove context
* change var name
* moved to rpc dir
* gaz
* remove server code
* gaz
* slasher server
* visibility change
* pb
* service update
* gaz
* slasher grpc server
* making it work
* setup db and start
* gaz
* service flags fixes
* grpc service running
* go imports
* remove new initializer
* gaz
* remove feature flags
* change back SetupSlasherDB
* fix SetupSlasherDB calls
* define err
* fix bad merge
* fix test
* fix imports
* fix imports
* fix imports
* add cancel
* comment stop
* fix cancel issue
* remove unneeded code
* bring back bad merge that removed TODO
* fixed slasher to be runable again
* wait for channel close
* gaz
* small test
* flags fix
* fix flag order
* remove flag
* checkpoint progress
* feature flag and test
* return true if feature flag is not on
* add lint msg
* rollback tx if failure
* Revert validator/BUILD.bazel
* Revision of recently implemented changes
Formatting and presentation updates to the 'Running via Docker', 'Running via Bazel' and 'Staking ETH' sections
* Tweaks to start / rebuild commands
Movement of the --name parameter to the first line.
* add new changes
* add changes to set
* Revert "add changes to set"
This reverts commit 07fd48c15f.
* Revert "Revert "add changes to set""
This reverts commit 6b84a6017e.
* new changes
* add blacklist
* gaz
* add test
* fix visibility
* Update beacon-chain/sync/rpc_status_test.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* preston's review
* Implemented ProcessSlashingsPrecompute
* Tests for ProcessSlashingsPrecompute
* Gaz
* Lint
* Feature flags
* Hook in ProcessEpochPrecompute
* Hook it to spec test
* Seperate test into it's own package to avoid circular dependency
* Lint
* Gazelle
* Preston's feedback
* Nishant's feedback
* WIP of aggregated signatures in DB
* new lines at end
* taking a nap on the plane now
* fix tests
* remove duplication of attestations. so much for that airplane nap lol
* benchmark before flight lands
* gaz
* manual gaz
* fully contained checks
* quick improvement before landing
* new bitlist with fixes
* doesn't need real signatures
* it works, mostly
* print shard too
* some refactoring
* Revert "some refactoring"
This reverts commit 377ce7fbfb.
* Revert "Revert "some refactoring""
This reverts commit b46a458898.
These changes are ok, just need to update the expected values
* fix tests
* lint
* lint
* upstream changes
* fix tests
* what
* resolve TODOs
* gofmt
* revert unrelated pb
* remove debug statement
* first version of the watchtower api
* service files
* Begin work on grpc server
* More changes to server
* REnames and mock setup
* working test
* merge
* double propose detection test
* nishant review
* todo change
* gaz
* fix service
* gaz
* remove unused import
* gaz
* resolve circular dependency
* resolve circular dependency 2nd try
* remove package
* fix package
* fix test
* added tests
* gaz
* remove status check
* gaz
* remove context
* remove context
* change var name
* moved to rpc dir
* gaz
* remove server code
* gaz
* slasher server
* visibility change
* pb
* service update
* gaz
* Test case for overlapping aggregation bits
* Add ctx and tracing for attestation pool and beyond
* No nil
* Use real ctx
* Use real ctx
* Fix test
* Fix test
* Fix test
* Fix test
* Fixed imports
* Create block generation util in testutil
* Gazelle
* Fix deps
* Fix imports
* Change tests to use config and fix integer division
* Remove logs
* Fix build
* Add test to ensure finalization occurs
* Add check for finalization
* Add comment for incrementing the state
* Fix test
* Fix tes
* Fix testutil us
* Fix tests
* Change var name
* Add regression test for bug with large validator count
* Fix bazel test
* Starting
* Update logging for service
* Update logging for assignment
* Update logging for attest
* Update logging for propose
* Update logging for balance update
* Final touchup
* Fixed test
* Fixed test
* Feedback
* Fix
* Fix all the tests
* change bls pairing engine
* fix linter warnings
* curve order
* add back spec test
* use only one dep
* fix test
* remove toBytes
* gaz
* add it back
* fix tests
* imports
* imports
* gaz
* remove hash function
* change naming
* preston's comments
* gaz
* fix test failure
* change back
* revert test changes
* gaz
* info logs beacon node improvements
* prom test fixes
* info logging changes
* wrapped up node info logging
* changed to debug level
* warn logs taken care of
* Terence suggestion
* warn spacing
* better logging in initial sync
* debug level standardized
* complete debug standardization
* participation at epoch end
* fix archive tests
* even more test fixes
* prom test
* ops test
* powtest
* rpc sync test
* rem part
* log formatting
* skip bls verification with a feature flag at runtime
* gazelle
* more bls mocks
* block roots efficiency
* db block roots now does not show up on the flame graphs
* save validator latest votes batch
* batch save att
* misc improvements to pprof
* import
* include validator index cache
* error if no filter criteria
* resolved comments
* build fix
* lint
* remove delay global
* attestation and block test fixes
* preston suggestions
* fix db tests
* fix missing broken tests
* tests pass
* batch deletions for blocks and attestations
* test for atts delete
* test for blocks delete
* better naming of args in iface methods
* modify a bit
* convert to batch
* blocks batch delete
* batch fixes
* suspecting deadlock
* blocks batch delete tests pass
* more complex test
* Allow overwriting of default bootstrap node
* Update shared/cmd/flags.go
Co-Authored-By: Nishant Das <nish1993@hotmail.com>
* Provide warning at more suitable time
* Tidy up logging in the validator
* Log full public key when validator first initialised
* Use 'validator' rather than 'pubKey' for traces; use full public key
* changes
* active set change
* helpers for active set changes
* include the helpers in archive service
* table driven tests for helpers
* use from archive
* remove item
* properly use the keys in the response
* test for active set changes
* test passing
* test passing no archive
* archive tests completed
* add ethapis latest commit
* begin implementation get validator queue
* include queue
* finish the queue implementation
* consolidated churn limit
* pending active testing
* pending active t est
* tests below churn in response
* pubkey
* below churn test
* only fetches below the churn limit
* exit queue churn clip as needed
* full test for pending active below churn limits
* pending exit test
* pending exit logic
* pending exit below churn test
* all tests done for queue impl
* revert some bad changes
* bug
* make demo default
* make minimal config a flag
* lint
* initialize config at the start
* gaz
* make main method cleaner
* remove interop.go
* fix test
* lint
* gaz
* Update validator/accounts/interop.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* fix docker build
* fix docker build
* changes
* active set change
* helpers for active set changes
* include the helpers in archive service
* table driven tests for helpers
* use from archive
* remove item
* properly use the keys in the response
* test for active set changes
* test passing
* test passing no archive
* archive tests completed
* add ethapis latest commit
* fix test
* first pass, step 1 works
* naive from finalized to head
* delete commented code
* checkpoint progress on tests
* passing test
* abstract code slightly
* failure cases
* chkpt
* mostly working, missing a single block and having timeout
* passing tests
* comments
* comments
* gaz
* clarify comments
* progress on a few new cases
* add back bootnode query tool
* bootstrap from DHT
* chunked responses in round robin
* fix tests and deadlines
* add basic counter, time estimation
* hello -> handshakes
* show peers in use during sync
* just one last test failure
* only request blocks starting in the finalized epoch for step 1
* revert that
* comment out test and add better commentary
* move requestBlocks out to pointer receiver
* mathutil
* Update beacon-chain/sync/initial-sync/round_robin.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* PR feedback
* PR feedback
* Implemented Power of 2 helpers
* Test for power of 2 helpers
* Gazelle
* Fmt
* Implemented MerkleTree
* Test for MerkleTree
* Fixed tests
* Implemented ConcatGeneralizedIndices and GeneralizedIndexLength
* Tests for the above
* Benchmarked copy, it's faster
* Implemented rest of the indices helpers
* Tests for indices helpers
* Delete
* archive participation begin implementation
* validator participation compute
* comments
* compute participation common func
* full test for archiving data
* gazelle
* complete tests
* gaz
* properly retrieve the validators
* revert weird change
* historical validator fetching
* resolves issues with current tests
* adding test for old epoch validators
* tests in
* archive participation begin implementation
* validator participation compute
* comments
* compute participation common func
* full test for archiving data
* gazelle
* complete tests
* gaz
* define archived validator assignment method
* archived assign logic
* need to use compute committee next
* compute archival assignments helper func
* properly compute committee using current shard
* modify the assignments request to take in a query filter item
* more intuitive implementation of list assignments
* utilize the query filter
* complete implementation
* revamp tests
* fixing current tests before adding archive tests
* test now passes using len filtered indices for total size
* include prop index in test
* revert bad change
* use ethapis
* add necessary tests
* comments
* HeadFetcher data race fix
* bazel run //:gazelle -- fix
* add the db teardown to test
* add TestChainService_SaveHead_DataRace test
* split race and norace tests
* change testset name
* test CI with 'spectest' tag instead of 'raceon'
* one more test CI with 'spectest' tag instead of 'raceon'
* bazel run //:gazelle -- fix
* set test tag to 'race_on'
* not clone the state
* Run time bug
* Still failing
* Run time working
* Run time working
* Gazelle
* Fixed all the tests
* Revert config
* Revert back test configs
* Revert config
* Tested run time again, everything is good
* Implemented AttestationPoolNoVerify
* serve nodes
* remove testing flag
* add back bootnode
* add dht
* add back dht
* gaz
* fix build
* bootnode works in runtime
* fix all references
* all tests pass
* remove feature flag
* separate out ports
* lint
* fix docker build
* use one error package
* Run time bug
* Still failing
* Run time working
* Run time working
* Gazelle
* Fixed all the tests
* Revert config
* Revert back test configs
* Revert config
* Tested run time again, everything is good
* archive participation begin implementation
* validator participation compute
* comments
* compute participation common func
* full test for archiving data
* gazelle
* complete tests
* gaz
* remove double negative grammar in comment
* use archive in rpc
* uses the archive!
* error if nothing found in archive
* comment
* use head fetcher and root
* tests pass
* archive active set changes appropriately
* archive committees
* archive info
* done with committee info archiving
* archived set changes stored
* fix build
* test for archive balances and active indices
* further abstractions
* only archive epoch end
* tests all pass
* tests pass now
* archive done
* test for activated validators
* tests for exited
* amend message
* use different proto
* finalization fetcher
* gaz
* use root
* use ctx
* use new ethapis
* use proper hash
* match apis compatibility
* match apis
* properly use participation
* fix tests
* use right commit
* first version of the watchtower api
* first version
* delete watchtower
* move to message loop
* roughtime
* one time
* fix test
* Fixed
* Fixed
* Revert unused lock
* first version of the watchtower api
* Initial prototype of sync parent fetching/processing
* Another map to track seen block root
* Fixed fmt
* Ready to live test
* Ready to live test
* Seperate pending block queue into its own
* first version
* delete watchtower
* move to message loop
* roughtime
* one time
* fix test
* Started testing but peer list empty
* Comment
* Loggins
* Stuck at decoding non proto type
* Revert
* First take, need feedback
* Run time panics at hello
* Revert
* use reflect properly
* Fixed subscriber
* instantiate helper
* More reverts
* Revert back tests
* Cont when EOF
* Working
* Clean hello tracker on peer disconnection
* Clean hello tracker on peer disconnection
* Move to validation
* Propoer locking
* Propoer locking
* Fmt
* Nishant's feedbacke
* More feedback
* All tests passing
* fix build
* remove log
* gaz
* Added the todo
* archive participation begin implementation
* validator participation compute
* comments
* compute participation common func
* full test for archiving data
* gazelle
* complete tests
* gaz
* remove double negative grammar in comment
* use head fetcher and root
* tests pass
* archive active set changes appropriately
* archive committees
* archive info
* done with committee info archiving
* archived set changes stored
* fix build
* test for archive balances and active indices
* further abstractions
* only archive epoch end
* tests all pass
* tests pass now
* archive done
* test for activated validators
* tests for exited
* use ctx
* first version of the watchtower api
* first version
* delete watchtower
* move to message loop
* roughtime
* one time
* fix test
* Update block attestation votes
* Clean up
* Found a bug
* Confirmed to be working in run time
* Confirmed to be working run time
* Raul's feedback
* Tests
* archive participation begin implementation
* validator participation compute
* comments
* compute participation common func
* full test for archiving data
* gazelle
* complete tests
* gaz
* remove double negative grammar in comment
* use head fetcher and root
* tests pass
* retrieve attestations by block root as well
* add beacon block root filter
* rem err unimpl
* add changes to list atts filter proto
* utilize the new filter attributes
* add filter types
* utilize filters in the api server impl
* tests for filter
* tests pass
* filter test done
* fix test by using head fetcher instead
* gaz
* no panic
* use new ethapis commit
* elim panic
* res panic
* ensure proto compatibility
* fixed broken test
* generate archive proto
* archived committee info
* archive methods added to iface definition
* impl
* update iface
* proto comments
* implement first method
* committee info
* save committee info
* participation checked in
* fully implemented
* tests
* test defs
* db impls done
* archive flags
* gaz
* create archiver
* register archiver in node
* registering the head updater feed
* add more gazelle
* cancel func
* test for service
* properly utilize the mocks
* lint
* remove extraneous log
* add back write to disk
* gaz
* first version of the watchtower api
* first version
* delete watchtower
* move to message loop
* roughtime
* one time
* fix test
* Fixed test
* Fixed proposer server
* Gaz
* gaz
* Stuck
* Tests passing
* Fixed all the tests
* first version of the watchtower api
* first version
* delete watchtower
* move to message loop
* roughtime
* one time
* fix test
* add test to chain start
* fix test
* move logic to mock
* remove unused method
* remove imports
* gaz
* goimports
* goimport
* update workspace
* change to new version
* gaz
* set keys
* try more things
* finally fixed all tests
* fix bootnode
* Update beacon-chain/p2p/discovery.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* preston's and raul's review
* add http server
* add tool
* add image
* change comment
* add multiaddr comment
* lint
* cosmetic changes
* fix docker
* remove dep
* preston's requested changes
* new flags
* add support for separate tcp port
* fix refs
* change tcp port
* deposit cache refactor begin
* use interface for has chain started
* use deposit fetcher interface instead
* use moar interfaces
* comment
* gaz
* fix breaking build
* lint
* implement chainstart fetcher
* allow start to work
* fix broken tests
* Add failing test
* remove glob
* remove extra deps
* Use min config for test
* Set for unslashedAttestingIndices
* add comment
* add minimal and manual tag
* coldstart flags for validator
* WIP beacon node flags
* wip beacon chain, flag fix in validator, arg fix in validator
* checkpoint
* Added interop service
* working on mock chainstart
* save the state lol
* fix tests
* Save genesis validators
* gaz
* fix validator help flags
* WaitForChainStart actually waits for genesis time
* cold start fixes
* cache
* change back
* allow for genesis state too
* remove logs
* increase mmap size
* dont process if head doesn't exist
* add 10ms tolerance
* enable libp2p debug at debug, fix pubsub
* works with checkpt
* initialize justified and finalized in db
* Removed preloadStatePath from blockchain service
* Clean up
* Write to disk for now post state
* revert b466dd536f
* Builds
* Only RPC test fails now
* use minimal config, no demo config
* clean up branch
* Lint
* resolve lint
* more lint fixes
* lint
* fix viz
* Fixing RPC test
* skip before epoch 2
* RPC time out
* Fixed ordering
* rename
* remove some dbg statements
* ensure index is correct
* fix some panics
* getting closer
* fix tests
* Fix private key
* Fixed RPC test
* Fixed beacon chain build for docker
* Add interop.go to validator go_image
* Fixed docker build
* handle errors
* skip test, skip disconnecting peers
* Fixed docker build
* tolerance for attestation processing
* revert copy
* clearer err message parse
* fix launching from dep contract
* add tool and script for interop testing
* identity
* lint
* merge upstream, fix conflict, update script, add comment
* add comma separated support for --peer=
* remove NUM_VALIDATORS, comma fix
* WIP docker image
* use CI builder
* pr feedback
* whatever antoine says
* ignore git in docker
* jobs=auto
* disable remote cache
* try to cache the golang part
* try to cache the golang part
* nvm
* From Antoine with love
* fix
* add main.go
* interop readme
* proper visibility
* standardize and abstract into simpler funcs
* formatting
* no os pkg
* add test
* no panics anywhere, properly and nicely handle errors
* proper comments
* fix broken test
* readme
* comment
* recommend ssz
* install
* tool now works
* README
* build
* readme
* 64 validators
* rem print
* register the no powchain flag
* work on mock eth1 start
* common interface
* getting closer with the interface defs
* only two uses of powchain
* remove powchain dependency
* remove powchain dependency
* common powchain interface
* proper comment in case of flag
* proper args into rpc services
* rename fields
* pass in mock flag into RPC
* conforms to iface
* use client instead of block fetcher iface
* broken tests
* block fetcher
* finalized
* resolved broken build
* fix build
* comment
* fix tests
* tests pass
* resolved confs
* took them out
* rename into smaller interfaces
* resolve some confs
* ensure tests pass
* properly utilize mock instead of localized mock
* res lint
* lint
* finish test for mock eth1data
* run gazelle
* include flag again
* fix broken build
* disable powchain
* dont dial eth1 nodes
* reenable pow
* use smaller interfaces, standardize naming
* abstract mock into its own package
* faulty mock lint
* fix stutter in lint
* rpc tests all passing
* use mocks for operations
* no more mocks in the entire rpc package
* no mock
* viz
* testonly
* Ignore latest messages in fork choice prior to latest justified
* Make sure Compact Committee Roots isn't changed by process_final_updates
* WIP add attestation bitfields length to match committee length
* Begin work on updating spec tests to 0.8.2
* WIP set up for new spec test structure
* Fix slashings
* Get mainnet tests mostly passing for attestations and attester slashings
* Fix process attestation test
* Undo change
* Complete spec tests for all operations
Still need sanity block tests
* Fix BLS sigs
* Reduce amount of reused code in core/blocks/spectests/
* Fix tests
* Update block sanity tests to 0.8.2
* Update epoch spec tests to 0.8.2
* Clean up all tests and fix shuffling/epoch tests
* WIP update bls tests to 0.8.2
* WIP update bls tests to 0.8.3
* Finish BLS spectest update to 0.8.3
* Fix shuffling spec tests
* Fix more tests
* Update proto ssz spec tests to 0.8.3
* Attempt to fix PrevEpochFFGDataMismatches test
* Goimports
* Fix documentation
* fix test
* Use custom general spec tests
* Reduce code footprint
* Remove unneeded minimal skip
* Fix for comments
* Fix for comments
* Fix test
* Small fixes
* Cleanup block spec tests a bit
* Undo change
* fix validator
* Fix validator tests
* Run gazelle
* Fix error output for epoch spec tests
* Save new validators in DB
* Use info
* Add total validator count
* Fixed tests
* Add new test
* Revert light client config
* Add state metrics back
* Gaz
* Mark old ones as deprecated
* Deprecate not --next services
* Fixed all operation tests
* Fixed node test
* All tests passing locally
* Add deprecated-p2p back, blocked by boostrap-query
* Revert message proto
* delete deprecated DB items
* delete all other instances of old db
* gaz
* cycle rem
* clear db
* proofs with proper size
* getting to the root of the problem, no pun intended
* add regression test and fix proofs
* debugging the receipt root
* debug
* fixed spec tests
* fixed up proofs!
* tests all pass
* test for verifying large amount of agg sigs
* agg sgi could not verify
* 128 fails
* confirmed works for 512
* comprehensive test for handle att
* commented test
* fix up test
* include the proper wait group
* concurrency managed to reproduce verification bug
* concurrent test passes
* revert config changes
* use new db in operations tests
* debugging for the special attestations
* resolve tests
* fmt
* first version of the watchtower api
* first commit
* remove watchtower
* working version
* fix < 0
* gaz
* Update slasher/db/db.go
* remove clear history
* moved constant to config
* gaz
* feedback changes
* compare uint64
* add constant config
* PruneSlasherStoragePeriod change
* lint
* add requests
* add all new stuff
* comment
* preston's review
* initial commit
* reorder sync so it isn't required to wait until start
* checkpoint
* fix
* improved handler API
* Set up prechain start values
* improved handler API
* ooops
* successful peer handshakes
* successful peer handshakes
* successful peer handshakes
* checkpoint
* chpkt
* handle init after chain start
* emit state initialized feed if existing db state
* merge error
* Done
* Test
* Fixed test
* emit state initialized
* force fork choice update
* wait for genesis time
* sync to current slot
* Use saved head in DB
* gaz
* fix tests
* lint
* lint
* lint
* lint
* Revert "Use saved head in DB"
This reverts commit c5f3404fdf.
* remove db
* lint
* remove unused interfaces from composite
* resolve comments
* new chain service usage via interface
* put in the new chain service in propose blk
* deprecate with new service for canonical block roots
* remove old chain serv absolutely in validator server
* full legacy code compatible in beacon server
* fully compliant
* full deprecation at service level
* no more mock chain serv
* fix beacon server tests
* add changes to prop server
* broken build
* --next compatible
* conditional register of chain service
* proper conversion
* nil deref
* deprecate db
* fix build
* begin integrating new db
* gaz
* use more of the new db
* newest implementation uses head state
* remove more deprecated items
* setup validators in state helper
* fix up some tests with the new db
* resolve broken build
* gaz
* begin ensuring tests pass
* optional idx
* list validator balances passing
* default page size passing
* only two failing
* fixed most tests, found edge case
* allow nil return and add proper tests
* pass tests
* fix head block root problem
* working with the new db
* every ethereumapis method now compliant with both dbs
* pass in db into server
* proposer server all compliant
* validator service fully compliant
* fix broken build, tests pass
* spacing
* compute state root and propose block tests passing with new db
* complete proposer server tests revamp
* validator tests halfway through passing with new db
* more validator server tests
* more than halfway there
* so so close
* all validators tests done
* attester server tests fixing
* use new api
* attester server complete
* complete
* Implemented new fork choice service and helpers
* Added rest of the tests
* Lint
* Add back helpers test
* Reformatted to doc, helpers and metrics.go
* include new getter for block
* create block filters from indices
* give every block index a unique bucket
* construct block indices by bucket mmap
* almost done save for the block filters
* include block filters, need a few more small touches for fetching the proper indices by bucket
* full functionality to filter by parent root
* tests pass when using the same logic as attestations
* todo
* proper todo formatting
* first minimum slot range filter
* slot range filters pass
* more filter criteria passing
* tests passing
* add todos
* all block tests pass and work
* rem fmt
* range retrieval test
* fixed test conditions
* instantiate the other buckets
* simplify bucket lookups
* deprecate non map code
* revamp to remove old index prefixes
* create indices from data
* create indices from data
* fetch block roots by slot range
* better abstractions
* simpler abstractions
* roots rename
* comment
* preston feedback
* Fixed existing tests
* allow blocks without parent root
* Cleaned up a few things
* Removed todo
* Lint
* Cleaned up a few things
* A few functions don't need to be exported
* Gaz
* Fixed visibility
* Review feedback
* Review feedback part1
* Raul's feedback, refactored OnBlock and OnAttestation to its own file
* Fixed grammar
* Lint
* Implemented ReceiveAttestation
* Use time.Time
* Implemented ReceiveAttestation
* All tests pass
* Lint
* Oooops
* Typo
* deprecate db
* fix build
* begin integrating new db
* gaz
* use more of the new db
* newest implementation uses head state
* remove more deprecated items
* setup validators in state helper
* fix up some tests with the new db
* resolve broken build
* gaz
* begin ensuring tests pass
* optional idx
* list validator balances passing
* default page size passing
* only two failing
* fixed most tests, found edge case
* allow nil return and add proper tests
* pass tests
* fix head block root problem
* working with the new db
* every ethereumapis method now compliant with both dbs
* pass in db into server
* add validation
* add block db check in validation
* merge
* in memory caching of seen blocks
* basic block processing
* Update BUILD.bazel
* use new receiveBlockNoPubsub
* fix build
* add TODO issue numbers
* add TODO issue numbers
* lint
* new interface methods
* support proposer slashings
* add in the new buckets
* all crud for propoer slashings
* attester slashings complete
* all slashings crud done
* right comment
* deposit contract tests pass
* delete out of scope methods
* conform old beacon DB
* comment
* include interface implementations
* deprecations
* pass lint
* new interface methods
* support proposer slashings
* add in the new buckets
* all crud for propoer slashings
* attester slashings complete
* all slashings crud done
* right comment
* deposit contract tests pass
* delete out of scope methods
* conform old beacon DB
* comment
* deprecations
* pass lint
* Update deposit_contract.go
* new interface methods
* support proposer slashings
* add in the new buckets
* all crud for propoer slashings
* attester slashings complete
* all slashings crud done
* right comment
* delete out of scope methods
* conform old beacon DB
* Implemented new fork choice service and helpers
* Added rest of the tests
* Lint
* Add back helpers test
* Add benchmark tests
* Add yaml driven framework tests
* Reformatted to doc, helpers and metrics.go
* include new getter for block
* create block filters from indices
* give every block index a unique bucket
* construct block indices by bucket mmap
* almost done save for the block filters
* include block filters, need a few more small touches for fetching the proper indices by bucket
* full functionality to filter by parent root
* tests pass when using the same logic as attestations
* todo
* proper todo formatting
* first minimum slot range filter
* slot range filters pass
* more filter criteria passing
* tests passing
* add todos
* all block tests pass and work
* rem fmt
* range retrieval test
* fixed test conditions
* Implemented new receive block methods
* Comments
* Remove mark evil block
* instantiate the other buckets
* simplify bucket lookups
* deprecate non map code
* revamp to remove old index prefixes
* create indices from data
* create indices from data
* fetch block roots by slot range
* better abstractions
* simpler abstractions
* roots rename
* comment
* preston feedback
* Fixed existing tests
* allow blocks without parent root
* Cleaned up a few things
* Removed todo
* Lint
* Cleaned up a few things
* A few functions don't need to be exported
* Gaz
* Fixed visibility
* Review feedback
* Review feedback part1
* Raul's feedback, refactored OnBlock and OnAttestation to its own file
* Fixed grammar
* Lint
* Renamed to receive_block.go
* Use time.Time
* Preston's feedback, removed OnTick and Store.time
* Dont have to cast it to kv
* add block caching layer
* runlock
* lockinggg
* Fixed
* Avoid 2 fetches of the same data
* latest votes map
* Gaz
* Test passes
* Lint
* Fixed db set up
* Fixed all the tests
* Gazelle
* Added tests
* Remove todo
* remove kv
* Last clean up
* Last clean up
Last clean up
* Lint
* Preston's feedback
* Starting
* Gazelle
* Implemented new fork choice service and helpers
* Added rest of the tests
* Lint
* Add back helpers test
* Add benchmark tests
* Add yaml driven framework tests
* Reformatted to doc, helpers and metrics.go
* include new getter for block
* create block filters from indices
* give every block index a unique bucket
* construct block indices by bucket mmap
* almost done save for the block filters
* include block filters, need a few more small touches for fetching the proper indices by bucket
* full functionality to filter by parent root
* tests pass when using the same logic as attestations
* todo
* proper todo formatting
* first minimum slot range filter
* slot range filters pass
* more filter criteria passing
* tests passing
* add todos
* all block tests pass and work
* rem fmt
* range retrieval test
* fixed test conditions
* Implemented new receive block methods
* Comments
* Remove mark evil block
* instantiate the other buckets
* simplify bucket lookups
* deprecate non map code
* revamp to remove old index prefixes
* create indices from data
* create indices from data
* fetch block roots by slot range
* better abstractions
* simpler abstractions
* roots rename
* comment
* preston feedback
* Fixed existing tests
* allow blocks without parent root
* Cleaned up a few things
* Removed todo
* Lint
* Cleaned up a few things
* A few functions don't need to be exported
* Gaz
* Fixed visibility
* Review feedback
* Review feedback part1
* Raul's feedback, refactored OnBlock and OnAttestation to its own file
* Fixed grammar
* Lint
* Renamed to receive_block.go
* Use time.Time
* Preston's feedback, removed OnTick and Store.time
* Dont have to cast it to kv
* add block caching layer
* runlock
* lockinggg
* Fixed
* Avoid 2 fetches of the same data
* latest votes map
* Gaz
* Test passes
* Lint
* Fixed db set up
* Fixed all the tests
* Gazelle
* Added tests
* Remove todo
* remove kv
* Last clean up
* Last clean up
Last clean up
* Lint
* Preston's feedback
* add discovery
* gaz
* add build options
* add udpPort
* add more changes
* refactor private key
* added discovery loop
* add ttl
* add ttl
* use ip type instead of string
* tests pass
* gaz and new test file
* add test
* add more tests
* add one more test
* adding multiAddr tests
* adding new protocol , listener
* fix keys
* more fixes
* more changes dialing peers works now
* gaz
* add more changes
* add more changes
* gaz
* add new test helpers
* new test
* fixed all tests
* gaz
* reduce sleep
* lint
* new changes
* change formats
* fix all this stuff
* remove discv5 protocol
* remove protocol
* remove port condition,too restrictive
* preston's feedback
* preston's feedback
* close all peers
* gaz
* remove unused func
* Update beacon-chain/p2p/service.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* remove build options
* refactor tests
* checkpoint
* checkpoint
* varint prefix for ssz
* move the encoding API around a little bit to support reader writer
* add a simple test for the happy path subscribe
* move wait timeout to testutil
* Add inverted topic mapping
* Add varint prefixing to ssz network encoder
* fix spacing
* fix comments
* fix comments
* make anon methods more clear
* clean up log fields
* move topic mapping, reformat TODOs, get ready for brutal team review
* lint
* lint
* lint
* Update beacon-chain/p2p/gossip_topic_mappings.go
Co-Authored-By: Nishant Das <nishdas93@gmail.com>
* PR feedback
* PR feedback
* PR feedback
* PR feedback
* PR feedback
* basic test with a hardcoded fork choice
* updated beacon config to use genesis fork version
* checkpoint on hello handler
* create a testing db method that can be used with the new database interface
* lint
* lint
* PR feedback
* checkpoint
* passing tests
* comments, errors
* comments, errors
* remove swarm
* Add basic sanity test, naive implementation
* add test with real data
* include new getter for block
* create block filters from indices
* give every block index a unique bucket
* construct block indices by bucket mmap
* almost done save for the block filters
* include block filters, need a few more small touches for fetching the proper indices by bucket
* full functionality to filter by parent root
* tests pass when using the same logic as attestations
* todo
* proper todo formatting
* first minimum slot range filter
* slot range filters pass
* more filter criteria passing
* tests passing
* add todos
* all block tests pass and work
* rem fmt
* range retrieval test
* fixed test conditions
* instantiate the other buckets
* simplify bucket lookups
* deprecate non map code
* revamp to remove old index prefixes
* create indices from data
* create indices from data
* fetch block roots by slot range
* better abstractions
* simpler abstractions
* roots rename
* comment
* preston feedback
* allow blocks without parent root
* Mark these soon to be deprecated functions as "deprecated"
* Deprecate all
* Marked fork choice reorg test as deprecated
* Marked fork choice reorg test as deprecated
* Gaz
* add new test
* specify ecdsa keygen
* skip test
* fix ref
* comment again
* fix test and clean up
* gaz
* change to another format
* Apply suggestions from code review
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* fix docker build
* add close
* add broadcaster impl
* change API so broadcast returns an error
* change API so broadcast returns an error
* add test for message not mapped
* lint msg
* lint msg
* checkpoint
* checkpoint
* varint prefix for ssz
* move the encoding API around a little bit to support reader writer
* add a simple test for the happy path subscribe
* move wait timeout to testutil
* Add inverted topic mapping
* Add varint prefixing to ssz network encoder
* fix spacing
* fix comments
* fix comments
* make anon methods more clear
* clean up log fields
* move topic mapping, reformat TODOs, get ready for brutal team review
* lint
* lint
* lint
* Update beacon-chain/p2p/gossip_topic_mappings.go
Co-Authored-By: Nishant Das <nishdas93@gmail.com>
* PR feedback
* PR feedback
* PR feedback
* PR feedback
* PR feedback
* basic test with a hardcoded fork choice
* updated beacon config to use genesis fork version
* checkpoint on hello handler
* create a testing db method that can be used with the new database interface
* lint
* lint
* PR feedback
* checkpoint
* passing tests
* comments, errors
* comments, errors
* remove swarm
* Update WORKSPACE
* Update WORKSPACE
* merge
* lint
* lint
* touch
* touch
* imports
* begin indices approach
* use shard bucket
* continue the indices approach
* eliminate the filter checkers in favor of the single loop of root lookups
* elim extraneous println statement
* continue the indices approach
* intersection for multiple filter types works, but is complex, verbose, and nearly unreadable
* remove unused code
* table drive tests for byte slice intersections
* include all table driven tests
* gazelle imports
* better abstractions
* better comments
* variadic approach working
* transform to variadic
* comments
* comments
* separate bucket for indices for faster range scans
* attestation key as hash tree root of data and different indices buckets
* test pass
* default behavior without filter
* appropriate filter criterion errors if criterion does not apply to type
* better abstractions and prune keys on deletion
* better naming
* fix build
* fix build
* rem extraneous code
* move to deprecated-p2p
* fix lint
* Add boilerplate p2p
* lint?
* fix imports
* fix lint
* lint
* lint
* lint
* lint
* comment
* skeleton
* checkpoint
* add a new message that should work with ssz
* add ssz fix and test snappy encoder
* clarify todo
* fix viz
* move, no need to be in subpackage
* testing pb
* end nl
* use merged ssz
* lint
* clean up deposits in db
* fix all references
* fixed tests
* lint
* bring it into a separate package
* fix lint
* move test
* fix ref
* fix test
* fix test
* fix test
* Added state implementation
* Gaze
* Fixed test
* Fixed build file
* Fixed all tests
* Merged with master
* Added comments to save and get from roots
* Make it explicit signing root
* s/./,
* s/marshalled/marshaled
* filter deposits by index and block number
* fix test and inverted logic
* nishant feedback
* -1
* Update beacon-chain/db/deposits_test.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* raul feedback: explicit variables
* revert everything :(
* a better fix
* fix +1
* fix test
* Implement Attestation Aggregation before inserting into the DB
* Nearly complete test for aggregating signatures
* Finish tests for aggregating signatures
* gazelle
* Rename tests
* add lock and advance state
* only advance if necessary
* Fix most tests
* Fix more of DB keys and changing keys to data hashes
* Fix a lot of tests and inconsistencies
* fix lock
* gaz
* undo local changes
* fix ref
* fix ref
* Fix some tests
* clear cache
* fix sync for attestations
* finally working across multiple nodes
* gen proto
* lint
* properly wrap error
* add few changes
* add process attestation no verify
* gaz
* add reg test
* revert config
* add new method
* fix test
* preston's review
* preston's review
* space
* Reject Att older than current finalized epoch
* Fixed receive att test
* Don't use slot for old fork choice target map, use epoch
* Fixed one last conflict
* change to hashTreeRoot
* remove function and run gaz
* fix panic
* remove cache and add fix
* Revert "remove cache and add fix"
This reverts commit 735986a2db.
* add back fix
* comment out
* refactor and reg test
* some more fixes
* fix tests
* todo
* Revert config changes
* fix test
* Apply suggestions from code review
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update beacon-chain/rpc/attester_server.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* preston's review
* change to hashTreeRoot
* remove function and run gaz
* fix panic
* remove cache and add fix
* Revert "remove cache and add fix"
This reverts commit 735986a2db.
* add back fix
* comment out
* refactor and reg test
* Update beacon-chain/rpc/proposer_server_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Terence PR feedback
* Need to sync latest ethereum API, will do it in master
* Added pagination wrapper
* Implemented ListValidatorAssignments
* Finished tests
* Fixed tests
* Raul's feedback
* Fmt
* Pagination test
* Removed extra loggings
* Remove verifySignatures from ProposerSlashings
* Remove flag from process transfers
* resolve all conflicts
* fix more references to old pbs
* Fix merge conflicts
* Remove verifySignature flag from ProcessBlockHeader
* fx spectest
* Fix test errors
* Fix tests
* Fix tests
* Goimports
* Fix test finally
* Move test helpers to testutil
* Goimports
* Fix imports
* Add tests for new helpers
* Run gazelle
* Fix tests
* WIP on build time configuration changes
* add ssz_minimal tests
* split up spec tests into mainnet and minimal, skip any minimal test that are failing without --define ssz=minimal
* lint
* add commentary to ssz_proto_library
* errors in signatures of deposits lead to ignoring the deposit instead of error (by spec)
* add appropriate error log for invalid signature in process deposit
* Small comment improvement
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* improved log
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* adds three unit tests for skipping deposits with invalid and uncompressed signatures and one for successfully performing a process deposit with a valid signature (inclusive signature checking)
* fix panics, still test failures
* adapts tests to use testutil
* add forgotten dependencies
* reordering imports according to goimports
* calc tree from leaves simpler
* fast generate proof
* align api to be the same
* ensure tests pass
* err condition
* travis
* fix build
* zero hashes work
* add node server
* stub implementations
* node server impl
* gaz
* only missing genesis info now
* fmt imports
* all tests pass
* fmt
* revert change
* punctuation
* use internal err code
* view permission
* using real reflection
* spacing
* lint
* update some k8s deps
* merge
* fix build sizes
* Add test for compatability for upstream protos
* Add test for compatability for upstream protos
* Add test for compatability for upstream protos
* add field name check
* passing test
* Optimize Shuffled Indices Cache (#2728)
* Refactor Deposit Contract Test Setup (#2731)
* add new package
* fix all tests
* lint
* change hash function (#2732)
* Remove Deprecated Validator Protobuf (#2727)
* Remove deprecated validator protos
* Fix to comments
* Fix most of skipped tests (#2735)
* Cache Active Validator Indices, Count, and Balances (#2737)
* Optimize Base Reward Calculation (#2753)
* benchmark process epoch
* revert prof.out
* Add some optimizations
* beware where we use ActiveValidatorIndices...
* revert extra file
* gaz
* quick commit to get feedback
* revert extra file
* started fixing tests
* fixed broken TestProcessCrosslink_NoUpdate
* gaz
* cache randao seed
* fixed all the tests
* fmt and lint
* spacing
* Added todo
* lint
* revert binary file
* started regression test
* basic tests done
* using a fifo for active indices cache
* using a fifo for active count cache
* using a fifo for total balance cache
* using a fifo for active balance cache
* using a fifo for start shard cache
* using a fifo for seed cache
* gaz
* clean up
* fixing tests
* fixed all the core tests
* fixed all the tests!!!
* lint
* comment
* rm'ed commented code
* cache size to 1000 should be good enough
* optimized base reward
* revert binary file
* Added comments to calculate adjusted quotient outside
* removed deprecated configs (#2755)
* Optimize Process Eth1 Data Vote (#2754)
* Cleanup and Docs update (#2756)
* Add graffiti and update generate seed (#2759)
* Benchmark Process Block with Attestations (#2758)
* Tidying up Godoc for Core Package (#2762)
* Clean up Old RPC Endpoints (#2763)
* Update RPC end point for Proposer (#2767)
* add RequestBlock
* run mockgen
* implemented RequestBlock
* updated proto definitions
* updated tests
* updated validator attest tests
* done
* comment
* todo issue
* removed unused proto
* Update attesting indices v0.6 (#2449)
* sort participants slice
* add bitfield functions and tests
* added BitfieldBit test
* add AttestationParticipantsNew
* revert AttestationParticipants to its previous change
* add tests
* remove verifybitfieldnew
* fix tests and remove multiple tests
* remove duplicate test
* change magic number into ceildiv8
* Implement Justification and finalization Processing (#2448)
* Add convert to indexed (#2519)
* sort participants slice
* add bitfield functions and tests
* added BitfieldBit test
* add AttestationParticipantsNew
* revert AttestationParticipants to its previous change
* add tests
* remove verifybitfieldnew
* fix tests and remove multiple tests
* remove duplicate test
* start work
* convert attestation to indexed attestations
* fix test for convert index
* remove calling getter
* add more tests
* remove underscore
* changes name to signature (#2535)
* update registry updates func (#2521)
* update registry updates func
* added tests and moved to epoch processing
* fixed naming issues
* Update Committee Helpers to v0.6.0 (#2398)
* Update Committee Helper Part 2 (#2592)
* Implement Process Slashings for 0.6 (#2523)
* Update Proposer/Attester Slashings and Slashing Helpers (#2603)
* Implement Final Updates 0.6 (#2562)
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* implemented process_final_updates
* move to the top of the file
* add comment back
* gaz
* Test for process final updates
* fixed tests
* fixed all the tests
* Update Reward Helper v0.6 (#2470)
* added BaseReward
* added rewards helper
* added test for BaseReward
* extra space
* move exported function above
* update to new spec (#2614)
* Update Block Processing Voluntary Exits (#2609)
* Update processEth1Data for v0.6 (#2516)
* Clean up Helper Functions Part 1 (#2612)
* Finalize helper functions for 0.6 (#2632)
* Process Beacon Chain Transfers v0.6 (#2642)
* add transfers
* beacon transfer operations complete
* full cov
* transfer testing
* finished tests
* Update beacon-chain/core/blocks/block_operations_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Implement Process Crosslink From 0.6 (#2460)
* Process Block Eth1 Data v0.6 (#2645)
* Get attestation data slot v0.6 (#2593)
* attestation.go is ready, tests not
* ready for review
* fixing linter issues
* modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields
* gazelle
* fixed tests
* fixed error
* error msg
* Process Block Deposits v0.6 (#2647)
* imports fixes
* deposits tests pass
* wrapped up gazelle
* spacing
* Implement Crosslink Delta Rewards for 0.6 (#2517)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* merged master
* all tests passing
* start testing
* done
* add ProcessBlockHeader v0.6 (#2534)
* add ProcessBlockHeader
* function has all its dependancies in place
* arange the basic ok test
* gazzele and skip test update
* skip wrong sig test
* fmt imports and change requests
* goimports fmt
* map for struct fields to be location independent
* reorder protobuf fields
* added tests
* gazzle fix
* few change requests fixes
* revert changes in types.proto
* revert changes in types
* fix tests
* fix lint
* fmt imports
* fix gazelle
* fix var naming
* pb update
* var naming
* tarance change request fixes
* fix test
* Add Process Registry for Epoch Processing (#2668)
* update update-process-registry
* added back the old tests
* fmt
* gaz
* Follow up on process block header v0.6 (#2666)
* Putting Crosslink Delta Back (#2654)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* merged master
* all tests passing
* start testing
* done
* fixed tests
* addressed shay's feedback
* Implement Attestation Delta for v0.6 (#2646)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* implemented process_attestation_delta
* comments
* comments
* merged master
* all tests passing
* start testing
* done
* merged master
* fixed tests
* tests, more to come
* tests done
* lint
* spaces over tabs
* addressed shay's feedback
* merged master
* Implement process_rewards_and_penalties for 0.6 (#2665)
* update process crosslink and update existing tests
* added a test case to cover no crosslink changes
* more test
* preston's feedback
* spellings
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* Starting, I need get_epoch_start_shard
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* need to use changes from latest crosslinks
* added BaseReward and totalActiveBalance
* added test for base reward
* implemented process_attestation_delta
* comments
* comments
* merged master
* all tests passing
* start testing
* done
* merged master
* fixed tests
* tests, more to come
* tests done
* lint
* spaces over tabs
* addressed shay's feedback
* starting but need to merge a few things...
* tests
* fmt
* Update Slot Processing and State Transition v0.6 (#2664)
* edit state transition to add slot processing logic, reorder logic
* fix build
* lint
* tests passing
* spacing
* tests pass
* imports
* passing tests
* Implement Process Epoch for 0.6 (#2675)
* can't find process j f functons
* implemented process_epoch
* tests done
* lint
* nishant's feedback
* stupid goland replace
* goimports
* Update CommitteeAssignment (#2693)
* cleaned up skipped tests for core processing (#2697)
* Process Block Attestations v0.6 (#2650)
* attestation.go is ready, tests not
* ready for review
* fixing linter issues
* modified Crosslink and AttestationData proto fields to spec 2.0,marked deprecated fields
* gazelle
* fixed tests
* fixed error
* add att processing:
* process atts
* error msg
* finish process attestations logic
* spacing
* ssz move
* inclusion delay failure passing
* more attestation tests
* more att tests passing
* more tests
* ffg data mismatching test
* ffg tests complete
* gofmt
* fix testing to match attestation updates
* ssz
* lint
* Fixed Skipped Tests for RPC Server (#2712)
* Remove Obsolete Deposit Proto Objects (#2673)
* remove deposit data
* remove deposit input
* fix references
* remove deposit helpers
* fix all refs
* gaz
* rgene proto
* fix all tests
* remove deposit data deprecated field
* fix remaining references
* fix all tests
* fix lint
* regen proto
* fix test
* Remove Deprecated Protobuf State Fields (#2713)
* Remove Deprecated Protobuf Crosslink/Slashing/Block Fields (#2714)
* Remove Deprecated Beacon Block Proto Fields (#2717)
* Remove Deprecated Attestation Proto Fields (#2723)
* Cache Shuffled Validator Indices (#2682)
* YAML shuffle tests for v0.6 (#2667)
* new shuffle tests
* added comment for exported function
* fix format and print
* added config files handling
* gazelle fix
* shuffle test debugging
* added shuffle list and benchmark
* hash function addition from nishant code
* gazelle fix
* remove unused function
* few minor changes
* add test to test protos optimization
* test a bigger list
* remove commented code
* small changes
* fix spec test and test indices to pass
* remove empty line
* abstraction of repeated code and comment arrangement
* terence change requests
* fix new test
* add small comment for better readability
* change from unshuflle to shuffle
* comment
* better comment
* fix all tests
* Remove Latest Block (#2721)
* lint
* remove latest block
* lint
* add proto
* fix build
* Fix Deposit Trie (#2686)
* remove deposit data
* remove deposit input
* fix references
* remove deposit helpers
* fix all refs
* gaz
* rgene proto
* fix all tests
* remove deposit data deprecated field
* fix remaining references
* fix all tests
* fix lint
* new tests with contract
* gaz
* more tests
* fixed bugs
* new test
* finally fixed it
* gaz
* fix test
* Remove Committee Cache (#2729)
* Benchmark Compute Committee (#2698)
* Fixed Skipped Attestation Tests (#2730)
* Optimize Shuffled Indices Cache (#2728)
* Refactor Deposit Contract Test Setup (#2731)
* add new package
* fix all tests
* lint
* change hash function (#2732)
* Remove Deprecated Validator Protobuf (#2727)
* Remove deprecated validator protos
* Fix to comments
* Fix most of skipped tests (#2735)
* Optimize Base Reward Calculation (#2753)
* benchmark process epoch
* revert prof.out
* Add some optimizations
* beware where we use ActiveValidatorIndices...
* revert extra file
* gaz
* quick commit to get feedback
* revert extra file
* started fixing tests
* fixed broken TestProcessCrosslink_NoUpdate
* gaz
* cache randao seed
* fixed all the tests
* fmt and lint
* spacing
* Added todo
* lint
* revert binary file
* started regression test
* basic tests done
* using a fifo for active indices cache
* using a fifo for active count cache
* using a fifo for total balance cache
* using a fifo for active balance cache
* using a fifo for start shard cache
* using a fifo for seed cache
* gaz
* clean up
* fixing tests
* fixed all the core tests
* fixed all the tests!!!
* lint
* comment
* rm'ed commented code
* cache size to 1000 should be good enough
* optimized base reward
* revert binary file
* Added comments to calculate adjusted quotient outside
* removed deprecated configs (#2755)
* Optimize Process Eth1 Data Vote (#2754)
* Cleanup and Docs update (#2756)
* Add graffiti and update generate seed (#2759)
* Benchmark Process Block with Attestations (#2758)
* Tidying up Godoc for Core Package (#2762)
* Clean up Old RPC Endpoints (#2763)
* Update RPC end point for Proposer (#2767)
* add RequestBlock
* run mockgen
* implemented RequestBlock
* updated proto definitions
* updated tests
* updated validator attest tests
* done
* comment
* todo issue
* removed unused proto
* Cache Active Validator Indices, Count, and Balances (#2737)
* Update Deposit Contract (#2648)
* lint
* add new contract
* change version
* remove log
* generating abi and binary files
* fix tests
* update to current version
* new changes
* add new hash function
* save hashed nodes
* add more things
* new method
* add update to trie
* new stuff
* gaz
* more stuff
* finally fixed build
* remove deposit data
* Revert "remove deposit data"
This reverts commit 9085409e91.
* more changes
* lint and gaz
* lint
* Update Shard Helpers for 0.6 (#2497)
* ValidatorStatus Estimating Activation RPC Server (#2469)
* fix spacing
* working on position in queue
* fmt
* spacing
* feedback
* tests
* rename
* Only Perform Initial Sync With a Single Peer (#2471)
* fix spacing
* use send instead of broadcast in initial sync
* Fix Estimation of Deposit Inclusion Slot in ValidatorActivationStatus (#2472)
* fix spacing
* fix time estimates
* correct slot estimation
* naming
* Update beacon-chain/rpc/validator_server.go
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* SSZ web api for decoding input data (#2473)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* standardize slot numbers (#2475)
* Add CORS for ssz api (#2476)
* first pass ssz server for decoding deposit input data
* fix decoding
* revert viz change on helper
* add image target
* use /api prefix, add deployment for cluster
* fix lint
* needed CORS
* Allow Client to Retrieve Multiple Validator Statuses (#2474)
* multiple validator statuses
* gazelle
* context
* fixing bugs
* remove old way of checking
* fix logging
* make activation queue more accurate
* fix rpc test
* add test
* fix remaining tests
* lint
* comment
* review comments
* Update Prysm README (#2477)
* README updated
* readme updates
* no err throw (#2479)
* Fix Status Nil Pointer Error (#2480)
* no err throw
* nil errors
* 3.175 (#2482)
* Better Error Message if Failing to Exit Initial Sync (#2483)
* no err throw
* nil errors
* better error on init sync
* Only Log Active Balances (#2485)
* only log active balance
* dont need ()
* change logging (#2487)
* fix chainstart waiting on rpc server (#2488)
* shift ticker to after activation (#2489)
* Add drain script (#2418)
* Add drain script
* Fix script to drain contracts from newest to oldest
* Add README
* remove comments
* Only after block 400k, look up by deposit event
* issue warn log on disconnecting peer instead of error (#2491)
* Display Only Active Validator Data (#2490)
* Fix Validator Status Field in RPC Server (#2492)
* fix status of key
* status test fix
* fmt
* Estimate the Time Till Follow Distance Is Completed (#2486)
* use estimation instead
* fix test
* fixing another test
* fix tests and preston's comments
* remove unused var
* fix condition
* Revert "fix condition"
This reverts commit dee0e3112c.
* dont return error
* add production config for testnet release (#2493)
* Lookup Validator Index in State in Status Check (#2494)
* state lookup
* refactor duplicate code
* refactor with mapping
* fix broken tests
* finish refactor
* merged master
* updated EpochCommitteeCount and fixed tests
* implemented ShardDelta
* test for ShardDelta
* implemented EpochStartShard
* added epoch out of bound test
* test for accurate start shard
* lint
* Update Genesis State Function to v0.6 (#2465)
* add pseudocode
* make changes
* fix all tests
* fix tests
* lint
* regen protos and mocks
* regenerated protos
* started fixing core
* all core tests passing!
* removed shared/forkutils
* started fixing blockchain package
* lint
* updating rpc package
* add back deleted stuff
* add back deleted stuff that was deleted accidentally
* add back protos and mocks
* fix errors
* fix genesis issue
* fix genesis issue for slot ticker
* fix all genesis errors
* fix build files
* temp change for go-ssz
* fix test
* Revert "temp change for go-ssz"
This reverts commit 3411cb9d6d.
* update to latest go-ssz
* unstaged changes
* Update Attester Server RPC Calls (#2773)
* Update config and function parameters to v0.7 (#2791)
* Minor Updates to 0.7 (#2795)
* Refactor Deposit Flow and Cleanup Tests (#2788)
* More WIP on cleaning deposit flow
* Fix tests
* Cleanup and imports
* run gazelle
* Move deposit to block_operations
* gazelle
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Fix docs
* Remove unneeded calculations
* Fix tests
* Fix tests finally (?)
* Optimize Committee Assignment RPC (#2787)
* Update BlockRoot to BlockHash (#2816)
* Fix Final Missing Items in Block Processing v0.6 (#2710)
* override config successfully
* passes processing
* add signing root helper
* blockchain tests pass
* tests blocked by signing root
* lint
* fix references
* fix protos
* proper use of signing root
* only few failing tests now
* fix final test
* tests passing
* lint and imports
* rem unused
* Update beacon-chain/core/blocks/block_operations.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* lint
* Update beacon-chain/attestation/service_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update beacon-chain/db/block_test.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* rename to hash tree root
* rename decode to unmarshal
* fix
* use latest ssz
* all tests passing
* lint
* fmt
* Add Config YAML for Spec Tests (#2818)
* Align Protobuf Type Names (#2825)
* gofmt
* Revert "Align Protobuf Type Names (#2825)" (#2827)
This reverts commit 882d067144.
* Update Domain Related Functions (#2832)
* Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)
* add tests
* gaz
* lint
* Revert "Add Functions for Compressed and Uncompressed HashG2 With Domain (#2833)" (#2835)
This reverts commit 7fb2ebf3f1.
* Add ConvertToPb to package testutil (#2838)
* Block Processing Bug Fixes (#2836)
* Update types PB with Size Tags (#2840)
* Epoch processing spec tests (#2814)
* Remove Deposit Index (#2851)
* Shuffle tests revisited (#2829)
* first commit
* remove old files, add log
* remove duplicate yaml testing code
* reduce visability
* nishant feedback changes
* skip TestFromYaml_Pass
* added tags to bazel build
* gazelle fix
* remove unused vars
* adda back config
* remove config handling
* remove unused var
* gazelle fix
* SSZ compatibility test for protobufs (#2839)
* update workspace spec sha
* remove yamls from branch
* BLS spec tests (#2826) (#2856)
* bls spec tests
* add more bls tests
* use ioutil instead of bazel runfiles
* dont read bytes
* skip tests that overflow uint64
* manually fix input data
* add tests
* lint and gaz
* add all new changes
* some refactoring, cleanup, remove new API methods that only exist for tests
* gaz
* Remove yamls, skip test
* Slot processing spec test (#2813)
* eth1data rpc endpoint (#2733)
* eth1data rpc endpoint
* first version
* comment added
* gazelle fix
* new function to go once over the deposit array
* fix tests
* export DepositContainer
* terence feedback
* move structure decleration
* binary search
* fix block into Block
* preston feedback
* keep slice sorted to remove overhead in retrival
* merge changes
* feedback
* update to the latest go-ssz
* revert change
* chnages to fit new ssz
* revert merge reversion
* go fmt goimprts duplicate string
* exception for lint unused doesParentExist
* feedback changes
* latesteth1data to eth1data
* goimports and stop exposing Eth1Data
* revert unneeded change
* remove exposure of DepositContainer
* feedback and fixes
* fix workspace duplicate dependancy
* greatest number of deposits at current height
* add count votes function
* change method name
* revert back to latesteth1data
* latesteth1data
* preston feedback
* seperate function add tests fix bug
* stop exposing voteCountMap
* eth1data comment fix
* preston feedback
* fix tests
* new proto files
* workspace to default version of ssz
* new ssz
* chnage test size
* marshalled marshaled
* Attesting Indices Fix (#2862)
* add change
* fix one test
* fix all tests
* add test
* clear cache
* removed old chaintest, simulated backend and state generator (#2863)
* Block Processing Sanity Spec Tests (#2817)
* update PrevEpoch
* add new changes
* shift to blocks package
* add more changes
* new changes
* updated pb with size tags
* add new changes
* fix errors
* uncomment code
* more changes
* add new changes
* rename and lint
* gaz
* more changes
* proccess slot SigningRoot instead of HashTreeRoot
* ensure yaml generated structs work
* block sanity all passing
* minimal and mainnet all pass
* remove commented code
* fix one test
* fix all tests
* fix again
* no state comparison
* matching spec
* change target viz
* comments gazelle
* clear caches before test cases
* latest attempts
* clean up test format
* remove debugging log, remove yaml
* unskip attestation
* remove skip, check post state, diff state diffs
* handle err
* add bug fixes
* fixed one more bug
* fixed churn limit bug
* change hashProto to HashTreeRoot
* all tests pass :)
* fix all tests
* gaz
* add regression tests
* fix test bug
* Mutation testing fixes for beacon-chain/core/helpers/attestation.go (#2868)
* mutation testing for attestation.go
* new line
* lint
* revert fmt.Errorf deletion
* gofmt
* Add some fixes for mutation testing on blocks.go (#2869)
* Fix sizes
* gaz
* Spec freeze release candidate spectests
* Align Protobuf Type Names (#2872)
* Removes some deprecated fields from protobuf (#2877)
* search and replace checkpoints
* fix tests, except spec tests
* Update Configs for Freeze (#2876)
* update configs
* updated minimal configs
* almost there
* all tests passing except for spec tests
* better comment for MinGenesisTime
* done, ready for review
* rm seconds per day
* feedback
* Mutation testing fixes for beacon-chain/core/helpers/committee.go (#2870)
* Add some fixes for mutation testing on blocks.go
* working on mutation testing fo committee.go
* gofmt
* goimports
* update readme target
* update latest sha for spec tests
* fix build
* Update State Transition Function (#2867)
* Change Base Reward Factor (#2888)
* Update Freeze Spec Simplification Section - part 1 (#2893)
* finished changes to attesting_indices
* removed index_count <= 2**40 requirement
* lint
* reverted index_count <= 2**40 check
* added short cut len(a) > len(b)
* Update justification bits (#2894)
* updated all the helper pseudocodes (#2895)
* Make Constants Explicit and Minor Cleanups (#2898)
* Rename outdated configs, make constants explicitly delcared
* Remove activate_validator, not needed
* Remove GenesisSlot and GenesisEpoch
* Remove unused import
* Move Block Operation Length Checks to ProcessOperations (#2900)
* Move block operation length checks to ProcessOperations
* Write tests for each length check in ProcessOperations
* Remove unneeded test
* Move checks to a new function
* Move duplicate check back into ProcessOperations
* reorder proto fields (#2902)
* Slashing Penalty Calculation Change (#2889)
* lint
* change config val
* add max helper
* changes to slashing and process slashing, add a min function for integers
* gaz
* fix failing tests
* fix test
* fixed all tests
* Change Yaml tag
* lint
* remove gc hack
* fix test
* gaz
* preston's comments
* change failing field
* fix and regen proto
* lint
* Implement Compact Committee Root (#2897)
* add tags
* add function
* add new code
* add function
* add all new changes
* lint
* add tests
* fix tests
* fix more tests
* fix all outstanding tests
* gaz
* Update beacon-chain/core/helpers/committee.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* comment
* Remove deprecated fields from attestation data (#2892)
* fix broken tests
* remove comment
* fixes
* Update Deposit Contract (#2903)
* update to new contract
* fix references
* fix tests
* fix some more tests
* fix local deposit trie
* gaz
* shays review
* more changes
* update WORKSPACE to use 0.8 spec tests
* Perform Mutesting in Helpers Package (#2912)
* Perform mutesting on validator
* Mutesting in helpers package
* Mutested eth1data
* s/volundary/voluntary (#2914)
* Update BLS Domain (#2916)
* change from integer to byte slice
* add test
* fix func for bytes4
* Fix Spec tests (#2907)
* fix panics
* handle failed transitions
* remove log
* fix to protos
* new changes
* remove i
* change ssz commit
* new changes
* update epoch tests
* fix epoch testing
* fix shuffle tests
* fix test
* Perform Mutesting in Epoch and State Packages (#2913)
* done with updates (#2890)
* Add Max Size Tag for Protobuf Fields (#2908)
* No more space between ssz-size numbers
* Regen pb.go
* Fixed a few incorrect proto fields (#2926)
* Update Validator Workflow (#2906)
* Justification spec tests (#2896)
* update go-ssz
* Fix SSZ Compatibility Test (#2924)
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* use proper override for gogo-protobuf
* fix a few tags
* forgot to include custody bits and Slashable not used
* Update yaml struct to use pb
* Update workspace to use latest ssz
* All tests fail
* Use the latest go-ssz commit
* All pass except for state (too long to taste)
* Update test.proto
* Added rest of the tests
* use 1 justification bits
* fix tag test, apply @rauljordan's suggestion
* add IsEmpty and use ssz struct
* delete unused file
* Update zero hash to sha256().digest() (#2932)
* update zero hash
* change zero hash to conform with spec
* goimports
* add test for zero hash
* Revert "Update zero hash to sha256().digest() (#2932)" (#2933)
This reverts commit b926ae0667.
* Fix compress validator (#2936)
* fix compress validator
* update go-ssz
* build without the bytes test
* try minimal
* Block operations spec tests (#2828)
* update PrevEpoch
* debugging proposer slashing tests
* fmt
* add deposit tests
* Added skeleton for attestation minimal test
* remove bazel runfiles thing
* add deposits
* proposer slashing test is done
* comment
* complete test, some failing cases
* sig verify on
* refactor slightly to support mainnet and minimal
* included mainnet stuff
* Add block header tests
* volunary exit done
* transfer done
* new changes
* fix all tests
* update domain functions
* fmt
* fixed lint
* fixed all the tests
* fixed a transfer bug
* finished attester slashing tests and fixed a few bugs
* started fixing...
* cleaned up exit and proposr slashing tests
* attester slashing passing
* refactored deposit tests
* remove yamls, update ssz
* Added todo for invalid sig
* gazelle
* deposits test done!
* transfer tests done and pass!
* fix attesting indices bug
* temporarily disabled signature verification
* cleaned up most of the block ops, except for att
* update committee AttestingIndices
* oops, i dont know how or why i changed this file
* fixed all the rpc tests
* 6 more failing packages
* test max transfer in state package
* replace hashproto with treehash in package blockchain
* gazelle
* fix test
* fix test again
* fixed transition test, 2 more left
* expect an error in attestation tests
* Handle panic when no votes in aggregate attestation
* clear cache
* Add differ, add logging, tests pass yay
* remove todo, add tag
* fixed TestReceiveBlock_RemovesPendingDeposits
* TestAttestationMinimal/success_since_max_epochs_per_crosslink fails now...
* handle panics
* Transfer tests were disabled in https://github.com/ethereum/eth2.0-specs/pull/1238
* more fixes after merge, updating block_operations.yaml.go to match yaml
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* fix references and test panic
* change to proto objects from custom types
* fix panics in tests
* use proper override for gogo-protobuf
* fix a few tags
* fix tests
* forgot to include custody bits and Slashable not used
* fix tests
* sort again
* Update yaml struct to use pb
* Update workspace to use latest ssz
* All tests fail
* Use the latest go-ssz commit
* All pass except for state (too long to taste)
* Update test.proto
* Added rest of the tests
* use 1 justification bits
* minor fixes
* wrong proto.Equal
* fix tag test, apply @rauljordan's suggestion
* add IsEmpty and use ssz struct
* inverted logic
* update zero hash
* change zero hash to conform with spec
* goimports
* add test for zero hash
* Revert "Update zero hash to sha256().digest() (#2932)"
This reverts commit b926ae0667.
* update ssz, fix import, shard big test
* checkpoint
* fix compress validator
* update go-ssz
* missing import
* missing import
* tests now pass
* been a good day
* update test size
* fix lint
* imports and remove unused const
* update bazel jobs flag
* update bazel jobs flag
* satisfy deprecation warning
* Add ssz regression tests for investigation of test failures in PR #2828 (#2935)
* Adding regression tests for investigation
* add another example
* goimports
* add quick comment about test case 0
* Epoch Process Slashings Spec Tests (#2930)
* updated justification bits, tests passing OK
* regen pb.go, clarify bit operations
* justification and finalization tests; failing
* Add wrapper, so we call the correct method
* checkpoint
* Update tar ref
* TestSlashingsMinimal/small_penalty still failing
* Use bigint instead of () and float
* Revert a bad merge from workspace
* Fmt
* add note about https://github.com/ethereum/eth2.0-specs/issues/1284
* improve tests
* gaz
* Perform Mutesting In core/state Package (#2923)
* Perform mutesting on validator
* Mutesting in helpers package
* Mutested eth1data
* Perform mutesting in epoch and state packages
* Fix voluntary exits test
* Fix typo
* Fix comments
* Fix formatting
* Fix error message
* Handle missing errors
* Handle all errors
* Perform Mutesting In State Package
* Fix block roots size
* Remove comment
* Fix error
* add backend service
* Add ssz compatibility tests for signing root (#2931)
* Added tests for signing root
* imports
* fix lint on travis
* fix bes flag
* Final updates spec tests (#2901)
* set up tests
* need to reorder pbs
* figuring out how to seqeeze in multiple fields in a tag for pb
* Added max tags and regenerated pb.go
* updated to new standard
* New bitfield types in proto (#2915)
* Cast bytes to correct bitfield, failing tests now though
* Add forked gogo/protobuf until https://github.com/gogo/protobuf/pull/582
* remove newline
* use proper override for gogo-protobuf
* fix a few tags
* forgot to include custody bits and Slashable not used
* playing with tags idea, can revert this commit later
* fixes after merge
* reset caches before test
* all epoch tests pass
* gazelle
* Genesis trigger (#2905)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* shift spec method to state package, improve test setup
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use better tag names, not latest
* Remove Block Signing Root (#2945)
* replace with hash tree root
* Revert "replace with hash tree root"
This reverts commit 77d8f16a16.
* replace with signing root instead
* remove one more ref
* Create Test Runner for Genesis State Spec Tests (#2940)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* Start genesis spec tests
* shift spec method to state package, improve test setup
* Add Genesis validity spec test
* Bazel
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use json tags
* fix up latest changes
* Fix most of test errors
* Attempts to see whats wrong with genesis validity
* Fix merge
* skip minimal
* fix state test
* new commit
* fix nishant comment
* gaz
* Static check on branch spec-v0.6 (#2946)
* Ran staticcheck and fixed the important complains
* commit
* commit
* Create Test Runner for Genesis State Spec Tests (#2940)
* genesis change
* integrate changes
* bodyroot
* remove unused code
* HasChainStarted
* added isValidGenesisState to ProcessLog
* state fix
* fix gazelle
* uint64 timestamp
* SetupInitialDeposits adds proof
* remove unneeded parts of test
* deposithash
* merkleproof from spec utils
* Revert "merkleproof from spec utils"
This reverts commit 1b0a124352.
* fix test failures
* chain started and hashtree root in tests
* simple eth2genesistime
* eth2 genesis time
* fix zero time
* add comment
* remove eth1data and feedback
* fix build issues
* main changes: add fields and methods to track active validator
count
* gaz
* fix test
* fix more tests
* improve test utils
* Start genesis spec tests
* shift spec method to state package, improve test setup
* Add Genesis validity spec test
* Bazel
* fixed log processing tests
* remove log
* gaz
* fix invalid metric
* use json tags
* fix up latest changes
* Fix most of test errors
* Attempts to see whats wrong with genesis validity
* Fix merge
* skip minimal
* fix state test
* new commit
* fix nishant comment
* gaz
* Add Back Eth1Data After Bad Merge (#2953)
* eth1data rpc endpoint
* first version
* comment added
* gazelle fix
* new function to go once over the deposit array
* fix tests
* export DepositContainer
* terence feedback
* move structure decleration
* binary search
* fix block into Block
* preston feedback
* keep slice sorted to remove overhead in retrival
* merge changes
* feedback
* update to the latest go-ssz
* revert change
* chnages to fit new ssz
* revert merge reversion
* go fmt goimprts duplicate string
* exception for lint unused doesParentExist
* feedback changes
* latesteth1data to eth1data
* goimports and stop exposing Eth1Data
* revert unneeded change
* remove exposure of DepositContainer
* feedback and fixes
* fix workspace duplicate dependancy
* greatest number of deposits at current height
* add count votes function
* change method name
* revert back to latesteth1data
* latesteth1data
* preston feedback
* seperate function add tests fix bug
* stop exposing voteCountMap
* eth1data comment fix
* preston feedback
* fix tests
* new proto files
* workspace to default version of ssz
* new ssz
* chnage test size
* marshalled marshaled
* everything passing again
* add skip reason
* cleanup deposit contract slightly
* remove unused chainstart param (#2957)
* fix breakages from #2957 (#2958)
* fix breakages from #2957
* oops
* Fix deposit input data (#2956)
* fix deposit input data
* fix deposit input data
* gaz and build fix
* Add Tests for Genesis Deposits Caching (#2952)
* remove old method and replace with an improved one
* add new files
* gaz
* add test
* added all these tests
* gaz
* Apply suggestions from code review
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* fix merkle proof error
* fix config
* Minor fixes for runtime (#2960)
* Minor fixes for runtime
* use comments
* goimports
* revert beacon-chain/core/state/state.go and fix comment for lint
* fix test too
* Minor runtime fixes (#2961)
* Add support for bundling binaries and fix ARM64 builds (#2970)
* Add support for bundling binaries and fix ARM64 builds
* Fix exports
* ignore manual targets wrt vis check
* fix graknlabs
* update spec tests (#2979)
* hotfix until https://github.com/graknlabs/bazel-distribution/pull/169
* Overflow slashing calculation fix (#2977)
* Runtime Fixes (#2736)
* first batch of fixes
* add log
* more fixes
* another bug fixed
* update deposit contract and other fixes
* remove logs
* new changes
* fixes
* fix build
* remove config
* more fixes
* add more changes
* add back todo
* make compute state root work
* remove commented out and fix condition
* fix commented code
* fix config
* gaz
* remove flag
* remove init
* new fixes
* fix test
* one more fix
* fix all tests
* change back config
* fix one more bug
* remove logging bool
* Only build test targets when running bazel test //...
* Align prysm to spec v0.8.1 (#2978)
* Bazel problem
* Update zero hash representation to be clear (cosmetic)
* Update minor cosmetic fixes
* Fixed lookahead off by 1
* Update randao.go
* update ssz
* test failures fixed
* test fixes
* fix up workspace
* lint
* fixed errs
* Updated pubkey loggings (#2983)
* Fix proposer assignment (#2984)
* add jvm limits
* add jvm limits
* Removed logging from state transition functions (#2980)
* Match spec on proposer index division (#2985)
* Match spec on proposer index division
* gaz
* fixes
* Fix Default Eth1Data (#2982)
* fix bug
* Update beacon-chain/core/state/transition.go
Co-Authored-By: Raul Jordan <raul@prysmaticlabs.com>
* more fixes
* reg test
* Set ejection balance to 1.6 (#2987)
* improve block processing log (#2990)
* Fix HistoricalRootsLimit (#2989)
* fix historical lenght
* fix genesis state initialization and test
* fix genesis state initialization and test
* fix genesis state initialization and test
* fix genesis state initialization and test
* hack config until https://github.com/prysmaticlabs/prysm/issues/2993
* More Runtime Fixes (#2986)
* local changes
* add val sig
* attester fix
* one more fix
* fixed all tests
* rem validator issue
* fix finality issue (#2994)
* Fix validator prev balance calculation (#2992)
* attester fix
* one more fix
* fixed all tests
* Fix validator prev balances calculation
* go fmt
* 48 bytes
* Fix Querier to handle Deposit Logs Race (#2999)
* fix sync issue
* fix build
* add regression test
* add var for magic number
* Fix eth1data and deposits (#2996)
* Work in progress, eth1data works, deposits are included at the appropriate time, and activation happens at the correct time
* revert blockInfo being public
* git tests to build, not yet pass though
* add tests
* some commentary
* fix comment
* goimports
* fmt and remove unused method
* Update rules go (#2975)
* update rules_go
* Fix some cross compile builds stuff
* add missing deps
* update to 0.19.1
* Update Protobufs to Match Ethereum APIs (#2998)
* add beacon block and attestation files
* add all types
* include all new proto type definitions
* add add all proto definitions
* fix all comments to say 48 bytes
* include latest changes
* readd common
* no swag
* add build file
* deps issue
* right package names
* address feedback, maintain parity between upstream ethereumapis
* delete pb
* bad gens
* Update "Testing Prysm" readme section (#3000)
Resolves invalid url link to golangci-lint.
* Update badge to version 0.8.1
* elaborate on test skip
* revert shared/p2p/options.go
* make travis happy with goimports
* Update beacon-chain/core/blocks/block.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Added the 'enable-upnp' flag to the list of supported command line arguments.
If the user specifies this feature flag (adds --enable-upnp as an argument) - the Beacon-chain and Validator services, when started, will initialize libp2p with the UPNP options.
* Added the new arg to usage.go due to test failure
* Update shared/p2p/service.go
Changed the logging according to Preston's recommendation.
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Code review changes:
1. File formatting.
2. Command line arg more detailed description.
* bls spec tests
* add more bls tests
* use ioutil instead of bazel runfiles
* dont read bytes
* skip tests that overflow uint64
* manually fix input data
* add tests
* lint and gaz
* add all new changes
* some refactoring, cleanup, remove new API methods that only exist for tests
* gaz
* Remove yamls, skip test
* added file log feature
* moved the logic to one central location (shared/logutil/logutil.go), removed new line chars from file logs
* removed a resdundant temp file refrences that went into beachon-chain/BUILD.bazel by mistake
* Update shared/cmd/flags.go
Co-Authored-By: shayzluf <thezluf@gmail.com>
* Update shared/cmd/flags.go
Co-Authored-By: shayzluf <thezluf@gmail.com>
* manually added loguitl dep to the go image target
* Manaully added the logutil dep to the go image target
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
* syntax and styling changes required by code reviewers
* Update beacon-chain/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* changed the return type of 'ConfigurePersistentLogging' from bool, error to error based on recommendation from code review
* ran goimports in beacon-chain/main.go after tests have failed
* Update beacon-chain/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update beacon-chain/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update shared/logutil/logutil.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/main.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* Changes requested by code reviewer
* Added a mandatory comment (linter required) to the 'Fire' event
* Changed the beacon-chain and validator to support only same format stdout and file logging due to complications in the outputs when using different formats.
* Had to run gazelle --fix due to check failure
* Add eth1 balance monitoring
* lint
* lint
* priority
* lint
* use value in alerts
* fix beacon-chain service
* working on stability
* more yaml
* add more alerts to the finality alerts
* add nother header to ignore
* extend requirement time for low balance
* remove old flag
* remove extra flag
* feedback to use consistent flag
* PR feedback
* fix image build
* Add eth1 balance monitoring
* lint
* lint
* priority
* lint
* use value in alerts
* fix beacon-chain service
* working on stability
* more yaml
* add more alerts to the finality alerts
* add nother header to ignore
* extend requirement time for low balance
* remove old flag
* remove extra flag
* feedback to use consistent flag
* Revert "fix nil block (#2638)"
This reverts commit d43ea74244.
* Revert "add to topic mapping (#2637)"
This reverts commit 85ef099360.
* Revert "Reorg to an Announced Finalized Block if On a Different Chain (#2630)"
This reverts commit 08288f0958.
Updated instructutions for running Beacon Node in Docker on Windows. The process requires a few additional steps to make a local volume available to mount the data dir. If this doesn't happen, the /tmp/prysm-data dir won't be created at run, and the chaindata will not be stored locally, nor will the account creation process store the key files appropriately for reference when running the validator.
* Allow discovery to be removed, and add peers explicitly to peer store
* Changes after code review
* Update shared/cmd/flags.go
Co-Authored-By: Preston Van Loon <preston@prysmaticlabs.com>
* exclusive of finalized block
* add filter to only include canonical attestation
* comments
* grammer
* gaz
* typo
* fixed existing tests
* added test for IsAttCanonical
* add nil blocks test
* checkpoint on super sync with reputation
* ensure handling only expected peers msg
* exclusive of finalized block
* skip block saved already
* clean up struct
* remove 2 more fields
* _
* everything builds, but doesnt test yet
* lint
* fix p2p tests
* space
* space
* space
* fmt
* fmt
* test block tree req
* tree improvement
* use the right data
* block tree blocked by children func
* rem file
* imports
* add ctx
* imports
* mock
* check expired context
* added block root
* gazelle
* sace
* first attempt at canonical blk list
* lint
* condition 1
* ctx w/ time out
* added canonical block list tests
* revert
* add to BeaconChainFlags
* dont use map, use proto
* attempt to use proto, take 1
* add run
* like canonical better than head
* removed unused
* Update proto/beacon/p2p/v1/messages.proto
Co-Authored-By: rauljordan <raul@prysmaticlabs.com>
* protos
To help us tend to your issue faster, please search our currently open issues before submitting a new one.
Existing issues often contain information about workarounds, resolution, or progress updates.
💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎💎-->
# 🐞 Bug Report
### Description
<!-- ✍️--> A clear and concise description of the problem...
### Has this worked before in a previous version?
<!-- Did this behavior use to work in the previous version? -->
<!-- ✍️--> Yes, the previous version in which this bug was not present was: ....
## 🔬 Minimal Reproduction
<!--
Please let us know how we can reproduce this issue. Include the exact method you used to run Prysm along with any flags used in your beacon chain and/or validator. Make sure you don't upload any confidential files or private keys.
-->
## 🔥 Error
<pre><code>
<!-- If the issue is accompanied by an error, please share the error logs with us below. If you have a lot of logs, place make a paste bin with your logs and share the link with us here: -->
<!-- ✍️-->
</code></pre>
## 🌍 Your Environment
**Operating System:**
<pre>
<code>
</code>
</pre>
**What version of Prysm are you running? (Which release)**
<pre>
<code>
</code>
</pre>
**Anything else relevant (validator index / public key)?**
1. If this is your first PR, check out our contribution guide here https://docs.prylabs.network/docs/contribute/contribution-guidelines
You will then need to sign our Contributor License Agreement (CLA), which will show up as a comment from a bot in this pull request after you open it. We cannot review code without a signed CLA.
2. Please file an associated tracking issue if this pull request is non-trivial and requires context for our team to understand. All features and most bug fixes should have
an associated issue with a design discussed and decided upon. Small bug
fixes and documentation improvements don't need issues.
3. New features and bug fixes must have tests. Documentation may need to
be updated. If you're unsure what to update, send the PR, and we'll discuss
in review.
4. Note that PRs updating dependencies and new Go versions are not accepted.
Excited by our work and want to get involved in building out our sharding releases? Or maybe you haven't learned as much about the Ethereum protocol but are a savvy developer? Our [READINGS.md](https://github.com/prysmaticlabs/prysm/blob/master/docs/READINGS.md) doc includes comprehensive information on Ethereum and sharding for both part-time and core contributors to the project.
Note: The latest and most up to date documenation can be found on our [docs portal](https://docs.prylabs.network/docs/contribute/contribution-guidelines).
You can explore our [Open Issues](https://github.com/prysmaticlabs/prysm/issues) in-the works for our different releases. Feel free to fork our repo and start creating PR’s after assigning yourself to an issue of interest. We are always chatting on [Discord](https://discord.gg/che9auJ) or [Gitter](https://gitter.im/prysmaticlabs/geth-sharding) drop us a line there if you want to get more involved or have any questions on our implementation!
Excited by our work and want to get involved in building out our sharding releases? Or maybe you haven't learned as much about the Ethereum protocol but are a savvy developer?
You can explore our [Open Issues](https://github.com/prysmaticlabs/prysm/issues) in-the works for our different releases. Feel free to fork our repo and start creating PR’s after assigning yourself to an issue of interest. We are always chatting on [Discord](https://discord.gg/CTYGPUJ) drop us a line there if you want to get more involved or have any questions on our implementation!
## Contribution Steps
@@ -60,12 +62,6 @@ Changes that only affect a single file can be tested with
$ go test <file_you_are_working_on>
```
Changes that affect multiple files can be tested with ...
```
$ gometalinter && bazel test
```
**10. Stage the file or files that you want to commit.**
```
@@ -88,10 +84,10 @@ You can use the –amend flag to include previous commits that have not yet been
$ git fetch prysm
```
**13. Rebase your branch atop of the latest version of Prysm.**
**13. Pull latest version of Prysm.**
```
$ git rebase prysm/master
$ git pull origin master
```
If there are conflicts between your edits and those made by others since you started work Git will ask you to resolve them. To find out which files have conflicts run ...
@@ -115,10 +111,10 @@ The code from the Prysm repo is inserted between <<< and === while the change yo
**14. Push your changes to your fork of the Prysm repo.**
Rebasing a pull request changes the history on your branch, so Git will reject a normal git push after a rebase. Use a force push to move your changes to your fork of the repo.
Use git push to move your changes to your fork of the repo.
```
$ git push myrepo feature-in-progress-branch -f
$ git push myrepo feature-in-progress-branch
```
**15. Check to be sure your fork of the Prysm repo contains your feature branch with the latest edits.**
@@ -179,7 +175,7 @@ We consider two types of contributions to our repo and categorize them as follow
### Part-Time Contributors
Anyone can become a part-time contributor and help out on implementing sharding. The responsibilities of a part-time contributor include:
Anyone can become a part-time contributor and help out on implementing Ethereum consensus. The responsibilities of a part-time contributor include:
- Engaging in Gitter conversations, asking the questions on how to begin contributing to the project
- Opening up github issues to express interest in code to implement
@@ -190,8 +186,6 @@ Anyone can become a part-time contributor and help out on implementing sharding.
- Follow up on open PRs
- Have an estimated timeframe to completion and let the core contributors know if a PR will take longer than expected
We do not expect all part-time contributors to be experts on all the latest sharding documentation, but all contributors should at least be familiarized with our sharding [README.md](https://github.com/prysmaticlabs/prysm/blob/master/validator/README.md) and have gone through the required Ethereum readings as posted on our [READINGS.md](https://github.com/prysmaticlabs/prysm/blob/master/docs/READINGS.md) document.
### Core Contributors
Core contributors are remote contractors of Prysmatic Labs, LLC. and are considered critical team members of our organization. Core devs have all of the responsibilities of part-time contributors plus the majority of the following:
2.`git clone https://github.com/prysmaticlabs/prysm && cd prysm`
3.`bazel build //...`
## Starting from Genesis
Prysm supports a few ways to quickly launch a beacon node from basic configurations:
-`NumValidators + GenesisTime`: Launches a beacon node by deterministically generating a state from a num-validators flag along with a genesis time **(Recommended)**
-`SSZ Genesis`: Launches a beacon node from a .ssz file containing a SSZ-encoded, genesis beacon state
## Generating a Genesis State
To setup the necessary files for these quick starts, Prysm provides a tool to generate a `genesis.ssz` from
a deterministically generated set of validator private keys following the official interop YAML format
This is the main repository for the Go implementation of the Ethereum 2.0 Serenity [Prysmatic Labs](https://prysmaticlabs.com).
This is the core repository for Prysm, a [Golang](https://golang.org/) implementation of the [Ethereum Consensus](https://ethereum.org/en/eth2/) specification, developed by [Prysmatic Labs](https://prysmaticlabs.com). See the [Changelog](https://github.com/prysmaticlabs/prysm/releases) for details of the latest releases and upcoming breaking changes.
Before you begin, check out our [official documentation portal](https://prysmaticlabs.gitbook.io/prysm/) and join our active chat room on Discord or Gitter below:
A detailed set of installation and usage instructions as well as breakdowns of each individual component are available in the [official documentation portal](https://docs.prylabs.network). If you still have questions, feel free to stop by our [Discord](https://discord.gg/CTYGPUJ).
Also, read our [Roadmap Reference Implementation Doc](https://github.com/prysmaticlabs/prysm/blob/master/docs/ROADMAP.md). This doc provides a background on the milestones we aim for the project to achieve.
### Staking on Mainnet
To participate in staking, you can join the [official eth2 launchpad](https://launchpad.ethereum.org). The launchpad is the only recommended way to become a validator on mainnet. You can explore validator rewards/penalties via Bitfly's block explorer: [beaconcha.in](https://beaconcha.in), and follow the latest blocks added to the chain on [beaconscan](https://beaconscan.com).
# Table of Contents
## Contributing
### Branches
Prysm maintains two permanent branches:
- [Join Our Testnet](#join-our-testnet)
- [Installation](#installation)
- [Run Via Docker](#run-via-docker-recommended)
- [Run Via Bazel](#run-via-bazel)
- [Prysm Main Components](#prysm-main-components)
- [Running an Ethereum 2.0 Beacon Node](#running-an-ethereum-20-beacon-node)
- [Staking ETH: Running a Validator Client](#staking-eth-running-a-validator-client)
- [Testing](#testing)
- [Contributing](#contributing)
- [License](#license)
* [master](https://github.com/prysmaticlabs/prysm/tree/master): This points to the latest stable release. It is ideal for most users.
* [develop](https://github.com/prysmaticlabs/prysm/tree/develop): This is used for development, it contains the latest PRs. Developers should base their PRs on this branch.
# Join Our Testnet
### Guide
Want to get involved? Check out our [Contribution Guide](https://docs.prylabs.network/docs/contribute/contribution-guidelines/) to learn more!
You can now participate in our public testnet release for Ethereum 2.0 phase 0. Visit [prylabs.net](https://prylabs.net) 💎 to participate!
Download the Bazel build tool by Google here and ensure it works by typing:
```
bazel version
```
Bazel manages all of the dependencies for you (including go and necessary compilers) so you are all set to build prysm. Then, build both parts of our system: a beacon chain node implementation, and a validator client:
```
bazel build //beacon-chain:beacon-chain
bazel build //validator:validator
```
# Prysm Main Components
Prysm ships with two important components: a beacon node and a validator client. The beacon node is the server that performs the heavy lifting of Ethereum 2.0., A validator client is another piece of software that securely connects to the beacon node and allows you to stake 3.2 Goerli ETH in order to secure the network. You'll be mostly interacting with the validator client to manage your stake.
Another critical component of Ethereum 2.0 is the Validator Deposit Contract, which is a smart contract deployed on the Ethereum 1.0 chain which can be used for current holders of ETH to do a one-way transfer into Ethereum 2.0.
### Running an Ethereum 2.0 Beacon Node
With docker:
```
docker run -v /tmp/prysm-data:/data -p 4000:4000 \
gcr.io/prysmaticlabs/prysm/beacon-chain:latest \
--datadir=/data
--clear-db
```
To start your beacon node with bazel:
```
bazel run //beacon-chain -- --clear-db --datadir=/tmp/prysm-data
```
This will sync you up with the latest head block in the network, and then you'll have a ready beacon node.
The chain will then be waiting for you to deposit 3.2 Goerli ETH into the Validator Deposit Contract before your validator can become active! Now, you'll need to create a validator client to connect to this node and stake 3.2 Goerli ETH to participate as a validator in Ethereum 2.0's Proof of Stake system.
### Staking ETH: Running a Validator Client
Once your beacon node is up, you'll need to attach a validator client as a separate process. Each validator represents 3.2 Goerli ETH being staked in the system, so you can spin up as many as you want to have more at stake in the network
**Activating Your Validator: Depositing 3.2 Goerli ETH**
Using your validator deposit data from the previous step, use the instructions in https://alpha.prylabs.net/participate to deposit.
It'll take a while for the nodes in the network to process your deposit, but once you're active, your validator will begin doing its responsibility! In your validator client, you'll be able to frequently see your validator balance as it goes up. If you ever go offline for a while, you'll start gradually losing your deposit until you get kicked out of the system. Congratulations, you are now running Ethereum 2.0 Phase 0 :).
# Testing
To run the unit tests of our system do:
```
bazel test //...
```
To run our linter, make sure you have [golangci-lint](https://https://github.com/golangci/golangci-lint) installed and then run:
```
golangci-lint run
```
# Contributing
We have put all of our contribution guidelines into [CONTRIBUTING.md](https://github.com/prysmaticlabs/prysm/blob/master/CONTRIBUTING.md)! Check it out to get started.
[Releases](https://github.com/prysmaticlabs/prysm/releases/) contains all available releases. We recommend using the [most recently released version](https://github.com/prysmaticlabs/prysm/releases/latest).
## Reporting a Vulnerability
Please see our signed [security.txt](https://github.com/prysmaticlabs/prysm/blob/develop/.well-known/security.txt) for preferred encryption and reporting destination.
**Please do not file a public ticket** mentioning the vulnerability, as doing so could increase the likelihood of the vulnerability being used before a fix has been created, released and installed on the network.
By downloading, accessing or using the Prysm implementation (“Prysm”), you (referenced herein as “you” or the “user”) certify that you have read and agreed to the terms and conditions below (the “Terms”) which form a binding contract between you and Prysmatic Labs (referenced herein as “we” or “us”). If you do not agree to the Terms, do not download or use Prysm.
### About Prysm
Prysm is a client implementation for Ethereum consensus protocol for a proof-of-stake blockchain. To participate in the network, a user must send ETH from the Eth1.0 chain into a validator deposit contract, which will queue in the user as a validator in the system. Validators participate in proposing and voting on blocks in the protocol, and the network applies rewards/penalties based on their behavior. A detailed set of installation and usage instructions as well as breakdowns of each individual component are available in the official documentation portal, however, we do not warrant the accuracy, completeness or usefulness of this documentation. Any reliance you place on such information is strictly at your own risk.
### Licensing Terms
Prysm is a fully open-source software program licensed pursuant to the GNU General Public License v3.0.
The Prysmatic Labs name, the term “Prysm” and all related names, logos, product and service names, designs and slogans are trademarks of Prysmatic Labs or its affiliates and/or licensors. You must not use such marks without our prior written permission.
### Risks of Operating Prysm
The use of Prysm and acting as a validator on the Ethereum network can lead to loss of money. Ethereum is still an experimental system and ETH remains a risky investment. You alone are responsible for your actions on Prysm including the security of your ETH and meeting any applicable minimum system requirements.
Use of Prysm and the ability to receive rewards or penalties may be affected at any time by mistakes made by the user or other users, software problems such as bugs, errors, incorrectly constructed transactions, unsafe cryptographic libraries or malware affecting the network, technical failures in the hardware of a user, security problems experienced by a user and/or actions or inactions of third parties and/or events experienced by third parties, among other risks. We cannot and do not guarantee that any user of Prysm will make money, that the Prysm network will operate in accordance with the documentation or that transactions will be effective or secure.
We make no claims that Prysm is appropriate or permitted for use in any specific jurisdiction. Access to Prysm may not be legal by certain persons or in certain jurisdictions or countries. If you access Prysm, you do so on your own initiative and are responsible for compliance with local laws.
Some Internet plans will charge an additional amount for any excess upload bandwidth used that isn’t included in the plan and may terminate your connection without warning because of overuse. We advise that you check whether your Internet connection is subjected to such limitations and monitor your bandwidth use so that you can stop Prysm before you reach your upload limit.
### Warranty Disclaimer
PRYSM IS PROVIDED ON AN “AS-IS” BASIS AND MAY INCLUDE ERRORS, OMISSIONS, OR OTHER INACCURACIES. PRYSMATIC LABS AND ITS CONTRIBUTORS MAKE NO REPRESENTATIONS OR WARRANTIES ABOUT PRYSM FOR ANY PURPOSE, AND HEREBY EXPRESSLY DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT OR ANY OTHER IMPLIED WARRANTY UNDER THE UNIFORM COMPUTER INFORMATION TRANSACTIONS ACT AS ENACTED BY ANY STATE. WE ALSO MAKE NO REPRESENTATIONS OR WARRANTIES THAT PRYSM WILL OPERATE ERROR-FREE, UNINTERRUPTED, OR IN A MANNER THAT WILL MEET YOUR REQUIREMENTS AND/OR NEEDS. THEREFORE, YOU ASSUME THE ENTIRE RISK REGARDING THE QUALITY AND/OR PERFORMANCE OF PRYSM AND ANY TRANSACTIONS ENTERED INTO THEREON.
### Limitation of Liability
In no event will Prysmatic Labs or any of its contributors be liable, whether in contract, warranty, tort (including negligence, whether active, passive or imputed), product liability, strict liability or other theory, breach of statutory duty or otherwise arising out of, or in connection with, your use of Prysm, for any direct, indirect, incidental, special or consequential damages (including any loss of profits or data, business interruption or other pecuniary loss, or damage, loss or other compromise of data, in each case whether direct, indirect, incidental, special or consequential) arising out of use Prysm, even if we or other users have been advised of the possibility of such damages. The foregoing limitations and disclaimers shall apply to the maximum extent permitted by applicable law, even if any remedy fails of its essential purpose. You acknowledge and agree that the limitations of liability afforded us hereunder constitute a material and actual inducement and condition to entering into these Terms, and are reasonable, fair and equitable in scope to protect our legitimate interests in light of the fact that we are not receiving consideration from you for providing Prysm.
### Indemnification
To the maximum extent permitted by law, you will defend, indemnify and hold Prysmatic Labs and its contributors harmless from and against any and all claims, actions, suits, investigations, or proceedings by any third party (including any party or purported party to or beneficiary or purported beneficiary of any transaction on Prysm), as well as any and all losses, liabilities,
damages, costs, and expenses (including reasonable attorneys’ fees) arising out of, accruing from, or in any way related to (i) your breach of the terms of this Agreement, (ii) any transaction, or the failure to occur of any transaction on Prysm, and (iii) your negligence, fraud, or willful misconduct.
### Compliance with Laws and Tax Obligations
Your use of Prysm is subject to all applicable laws of any governmental authority, including, without limitation, federal, state and foreign securities laws, tax laws, tariff and trade laws, ordinances, judgments, decrees, injunctions, writs and orders or like actions of any governmental authority and rules, regulations, orders, interpretations, licenses, and permits of any federal,
regional, state, county, municipal or other governmental authority and you agree to comply with all such laws in your use of Prysm. The users of Prysm are solely responsible to determinate what, if any, taxes apply to their ETH transactions. The owners of, or contributors to, Prysm are not responsible for determining the taxes that apply to ETH transactions.
### Miscellaneous
These Terms will be construed and enforced in accordance with the laws of the state of Illinois as applied to agreements entered into and completely performed in Illinois. You agree to the personal jurisdiction by and venue in Illinois and waive any objection to such jurisdiction or venue.
We reserve the right to revise these Terms, and your rights and obligations are at all times subject to the then-current Terms provided on Prysm. Your continued use of Prysm constitutes acceptance of such revised Terms.
These Terms constitute the entire agreement between you and Prysmatic Labs regarding use of Prysm and will supersede all prior agreements whether, written or oral. No usage of trade or other regular practice or method of dealing between the parties will be used to modify, interpret, supplement, or alter the terms of these Terms.
If any portion of these Terms is held invalid or unenforceable, such invalidity or enforceability will not affect the other provisions of these Terms, which will remain in full force and effect, and the invalid or unenforceable portion will be given effect to the greatest extent possible. The failure of a party to require performance of any provision will not affect that party’s right to require performance at any time thereafter, nor will a waiver of any breach or default of these Terms or any provision of these Terms constitute a waiver of any subsequent breach or default or a waiver of the provision itself.
This is the main project folder for the beacon chain implementation of Ethereum Serenity in Golang by [Prysmatic Labs](https://prysmaticlabs.com). Before you begin, check out our [Contribution Guidelines](https://github.com/prysmaticlabs/prysm/blob/master/CONTRIBUTING.md) and join our active chat room on Discord or Gitter below:
This is the main project folder for the beacon chain implementation of Ethereum written in Go by [Prysmatic Labs](https://prysmaticlabs.com).
You can also read our main [README](https://github.com/prysmaticlabs/prysm/blob/master/README.md) and join our active chat room on Discord.
Also, read the latest beacon chain [design spec](https://github.com/ethereum/eth2.0-specs/blob/dev/specs/core/0_beacon-chain.md), this design spec serves as a source of truth for the beacon chain implementation we follow at prysmatic labs.
Check out the [FAQs](https://notes.ethereum.org/9MMuzWeFTTSg-3Tz_YeiBA?view). Refer this page on [why](http://email.mg2.substack.com/c/eJwlj9GOhCAMRb9G3jRQQPGBh5mM8xsbhKrsDGIAM9m_X9xN2qZtbpt7rCm4xvSjj5gLOTOmL-809CMbKXFaOKakIl4DZYr2AGyQIGjHOnWH22OiYnoIxmDijaBhhS6fcy7GvjobA9m0mSXOcnZq5GBqLkilXBZhBsus5ZK89VbKkRt-a-BZI6DzZ7iur1lQ953KJ9bemnxgahuQU9XJu6pFPdu8meT8vragzEjpMCwMGLlgLo6h5z1JumQTu4IJd4v15xqMf_8ZLP_Y1bSLdbnrD-LL71i2Kj7DLxaWWF4)
Also, read the official beacon chain [specification](https://github.com/ethereum/consensus-specs/blob/master/specs/phase0/beacon-chain.md), this design spec serves as a source of truth for the beacon chain implementation we follow at Prysmatic Labs.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.