* adding compare beacon block test
* fixing bazel
* fixing evaluator import
* fixing imports
* changing package name
* fixing bazel
* adding logic to check for checking epoch
* fixing linting
* adding check for attester duties
* handle both blockv1 and blockv2
* making middleware objects public instead
* adding test for block attestations
* fixing typo
* adding blockroot test
* adding test for attestations
* fixing type value
* fixing test
* adding in node endpoints
* fixing bazel
* updating web3signer
* printing beacon blocks on request
* fixing struct
* temp log
* forgot string cast
* adding comparison function
* fixing bazel and evaulators, WIP
* fixing bazel
* changing how to minify json
* trying multiclient
* fixing port problem
* reverting evaluator and making test only for mainnet scenario testing
* removing test data
* fixing linting unused functions
git push
* changed to reflect
* adding in ssz comparison
* fixing tests
* fixing conflict
* fixing tests
* making v2 the standard
* adding better error logging
* fixing type
* adding lighthouse settings and fixing some deepsource items
* testing adding delay to evaluator
* testing without peers check
* changing target peers to try to fix lighthouse peer connections
* temp removing other tests
* fix lint issue
* adding peers connect back in
* adding in state version
* fixing bazel
* fixing path error
* testing changes to state
* fix unmarshal
* simplifying beacon api e2e execution
* fixing missed assertian checks
* improve logging and debugging issue
* trying to fix unmarshal
* still breaking more test edits
* removing fork to test unmarshal
* fixing pathing
* resolving error
* fixing beacon_api
* merging in debug api to beacon_api test
* fixing lint and temp commenting out endpoint
* adding in custom comparison function
* fixing custom evaluator
* adding test for block header data
* fixing header evaluation
* add node apis
* fixing linting,adding tests
* fixing bazel and temp removing unused functions
* fixing deepsource and linting issues
* Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* addressing review
* resolving more review comments
* fixing linting
* removing ssz return value as it's large and possibly not needed
* Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* fixing more review comments
* Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* fixing linting and review iteems
* fixing cognit complexity issue
* fixing linting
* fix log printout
* test build kite only with crossclient
* switching out evaluator to depositedvalidatorsareactive
* removed wrong evaluator switching correct one
* removing skip based on review comments
* fixing pathing issue
* test without participation at epoch
* testing without special lighthouse logic in evaluator
* reducing expected participation when multiclient
* fixing imports
* reducing epochs to see if less flaky
* testing with other tests added back in
* reducing epochs ran further
* testing only cross client again
* testing multi run again
* test reverted scenario for tests
* testing with cross client
* removing commented out function
* testing without peers connect
* adding optimization based on suggestions
* removed the wrong peers connect
* accidently commited something I shouldn't have
* fixing lighthouse flag
* Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update testing/endtoend/evaluators/beaconapi_evaluators/beacon_api.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* fix it
* fix dialer for now
* fix build
* fix test
* fix to v0.24.0
* fix gaz
* fix build
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
due to flaky test re-run behavior, logs from a failed test run are
overwritten by subsequent retries. This makes it difficult to retrieve
logs after the first failed run. It also takes some squinting through
output to find the location of the log file in the first place. This
flag enables logs to be placed in an arbitrary path. Note that bazel
sandboxing generally will force this path to be in the /tmp tree.
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
* support generating non-phase0 genesis.ssz
* make default (Value) work for EnumValue + lint
* remove messy punctuation
* Ran gazelle for @kasey
* Fix deps viz
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: prestonvanloon <preston@prysmaticlabs.com>
* rewrite/refactor deposit testing code
keep track of sent deposits so that they can be compared in detail with
the validator set retreived from the API.
* fix bugs in evaluator and retry
* lint + deepsource appeasement
* typo s/Sprintf/Printf/
* gosec, more like nosec
* fix gosec number - 204->304
* type switch to get signed block from container
* improve comments
* centralizing constants and adding comments
* lock around Depositor to avoid future races
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
* Update go to 1.19.3
* Update other items to 1.19
* Update golangci-lint to latest release
* Run gofmt -s with go1.19
* Huge gofmt changes
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Implement get_expected_withdrawals
* Fix config test and export method
* Radek's review
* start from a different index in a test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* in progress
* done, no tests yet
* fix ToBlinded()
* Revert "Auxiliary commit to revert individual files from 2e356b6f5b15d409ac15e825c744528591c13739"
This reverts commit 081ab74e88fb7d0e3f6a81e00fe5e89483b41f90.
* tests
* fix tests
* one more fix
* and one more
* review
* fix proto_test
* another fix
* do not return error when nil object is wrapped
* allow nil payload in body.Proto()
* correctly assert error
* nil checks in body.Execution()
* simplify PR
* Revert "Auxiliary commit to revert individual files from 5736c1f22f2d2f309b9303c13d0fb6b1679c6ecb"
This reverts commit 1ff3a4c864923f5c180aa015aa087a2814498b42.
* fix slice sizes in cloner tests
* better payload tests
* review
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* tool to query db by a key prefix
* cleanup
* lint and fmt
* db/kv public visibility
We've discussed before that Bazel visibility constraints don't
accomplish much in go, so I'm phasing them out in places where they get
in the way.
* derp
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add error if chain-config-file used with network
If the chain-config-file flag is used concurrently with the network
flag then error and exit.
Related to #10822.
* Add config file name to error message with `fmt`
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Add unit test for hasNetworkFlag
* Add list of network flags to features
* Fix imports
* Run gazelle
* retrigger checks
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Beacon api: get duties prune payload id cache
* Fix complains and bad test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* proto + stub
* Add execution_optimistic to SSZ response
* implementation
* proto fix
* api middleware
* tests
* more tests
* switch from Errorf to Error
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* moving voluntary exit command to prysmctl
* fixing linting
* fixing imports
* removing unused import:
* refactoring and adding a new unit test
* rolling back some changes
* fixing parameters
* fixing tests
* adding to main prysm ctl
* refactoring how wallet function works and ux to validator exit
* adding interop support
* fixing bazel build
* fixing if statement
* fixing beaconcha.in printout
* fixing web3signer bug, missing signing slot info
* fixing deep source issues
* fixing bazel package visibility for prysmctl
* gaz
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update libp2p to support go 1.19
* gaz
* go mod tidy
* Only update the minimum deps
* go mod tidy
* revert .bazelrc
* Update go-libp2p to v0.22.0 and update import paths (#11440)
* Fix import paths
* Fix go-libp2p-peerstore import
* Bazel updates
* fix
* revert some comments changes
* revert some comment stuff
* fix dependency issues
* vendor problematic library
* use your brain
* remove
* tests
Co-authored-by: Marco Munizaga <marco@marcopolo.io>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* add option to log rejected gossip message
* fix rejectGossipMessage return
* revert test + fix import
* revert all beaconchain/sync/validate_* files
* log object and message if flag is set
* fix failing build
* remove object field
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* update head should go even without attestations
* add unit tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* init
* unit test
* DeepSource complains
* gaz
* shutting deepsource down
* change var name and use handler type
* Kasey's name suggestion
* fix stategen
* interface signature
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* Log error for mev boost / relayer status, not return error
* Add ticker to poll relayer status
* Add ticker to poll relayer status
* Update beacon-chain/builder/service.go
* Rm test
* Check nil before calling status
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Dont return if proposer boost roots are missing
* move spectests to doublylinked tree
* unit test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Remove native state flag and use native state in spectests
* remove feature from tests
* use e2e config in slasher simulator
* use params.BeaconConfig in testutil
* use correct function
* use minimal config in go_test
* fix TestListValidators
* parameterize sync committee bits and aggregation bits
* Fix TestServer_ListIndexedAttestations_GenesisEpoch
(cherry picked from commit 254ab623dde08ae8886b152facdbbd8889ed79db)
* fix more tests
* fix even more
* moreeee
* aaaand more
* one more fix
* one more
* simplify TestGetAltairDuties_UnknownPubkey
* comment out problematic test
* one more fix
* one more
* aaaand one more
* another
* use fieldparams in HydrateBlindedBeaconBlockBodyBellatrix
* create new package for mainnet tests
* TestServer_GetBellatrixBeaconBlock
* change slashed validator index
* clear cache in reward_test.go
* deprecate flag
* create bazel mainnet target
* move attester mainnet test to mainnet target
* "fix" proposer tests
* use minimal config in TestServer_circuitBreakBuilder
* fix TestProposer_ProposeBlock_OK
* more fixes in validator package
* more fixes
* more fixes
* test code
* move TestProposer_GetBeaconBlock_BellatrixEpoch to minimal
* finally
* remove proposer_bellatrix_mainnet_test.go
* fix TestServer_GetBellatrixBeaconBlock_HappyCase
* fix TestServer_GetBellatrixBeaconBlock_BuilderCase
* Preston needs to fix this!
* Revert "Preston needs to fix this!"
This reverts commit b03d97a16e.
* remove proto state tests
* fix migration tests
* static analysis fix
* review
* remove proto state
* swap state in tests
* fix BUILD file in /proto/testing
* remove metrics test with nil state
* Remove optimistic sync candidate check
Since we know we have merged and the chain has advanced 128 slots,
there's no possible forkchoice Poissoning attack anymore, removing the
check and allowing any block to be imported optimistically.
* fix test
* fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Report voted fractions for a given root
* unused parameters
* comment update
* change test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fall back to uncached getPaylod if first time outs
* Skip only deadline error. Unit test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Tests for builder service
* fix glob
* minor changes to mock
* add comments to mock
* Revert "Auxiliary commit to revert individual files from bc62a140347e3cbd8bd82e99cf5e9deb98b74df0"
This reverts commit c4c1016cb597b9340d1c81ab3816e037a6b97f9e.
* correct comment
* Do not init builder for empty endpoint
* revert merging issues
* better nil checks
* test fix
Co-authored-by: terencechain <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>
* Log ready for merge every min
* Update beacon-chain/execution/check_transition_config.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Better log fee recipient mismatch
Logs if the returned payload from the engine does not have the fee
recipient set in the validator.
Also warn the user if he's proposing a block with the burner fee
recipient address.
* fix tests
* Fix fillInMissingBlocks
Only check that the chain's parent is in forkchoice, rather than it
being the finalized checkpoint. Forkchoice anyway guarantees that the
chain will be a descendant of the finalized checkpoint.
* ensure root is not zero
* fix tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* atts performance and blocks
* idiomatic observe
* all attestation related errors
* block metrics
* db metrics
* metrics func
* rem old metrics
* naming
* rem metric
* rem unneeded
* fix
* fix up
* rev
* fix
* rem
* giving commands more clear names per issue #11287
* mark the top-level help text for cpt deprecated
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
* adding in nil check for head
* adding changes based on feedback
* Update beacon-chain/rpc/prysm/v1alpha1/validator/server_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* remove the check
* remove function and tests
* dead code
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Only update finalized checkpoint in DB if it's newer
Do not save to DB a finalized checkpoint that it's older than the
current one.
* Add a test
* Add more strict condition check
* Revert params.SetupTestConfigCleanupWithLock(t)
* Remove new line
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* fixing json unmarshalling
* adding unit test for no conent
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* db: Wrap errors in db.fetchAncestor to better identify unmarshalling issues. See #11327
* Wrap genesis state fetch, just in case
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Restore forkchoice dump endpoint.
Only working on doubly-linked-tree.
* unit test
* revert proto changes
* protoarray
* Deepsource
* shut up!
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Implement delete gaslimit.
* Minor comment change.
* Reset gaslimit to DefaultConfig's gaslimt instead of 0.
* After gaslimit deletion, use global gaslimit default value instead of values provided in ProposalConfig.
* After deletion, use config default, if that is not available, use global default gaslimit value.
* Use grpc's codes.NotFound instead of http code "404".
* Updated bazel deps (new imports "google.golang.org/grpc/codes" was added for tests).
* Fix "TestServer_RecoverWallet_Derived" test failure.
Previously "params.BeaconConfig()" (thus the default global value
"BLSSecretKeyLength") was overriden by standard_api_test:TestServer_DeleteGasLimit.
Fixed the problem by retoring the origin global default after the test is done.
* Do not change BeaconConfig object, instead change BeaconConfig.DefaultBuilderGasLimit.
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
* Add feature flag to treat all blocks as optimistic at startup
* Terence's review
* remove changed empty lines
* Apply suggestions from code review
* Go fmt sorry
* bad comments
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* Insert attestations from blocks to forkchoice
* do not insert twice
* use OnAttestation instead
* Revert "use OnAttestation instead"
This reverts commit 577c37bbeb.
* unit test
* fix test
* Update beacon-chain/blockchain/receive_block_test.go
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: terencechain <terence@prysmaticlabs.com>
New spectests ensure that we call on_tick for every slot between the
last tick and the current one. This PR fixes that
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Do not use return value in error handling
* Revert changes to EpochFromString & SlotFromString
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>
* This PR is for issue #11155 "Keymanager APIs: gas limit api"'s task "set gas limit".
* This PR is for issue #11155 "Keymanager APIs: gas limit api"'s task "set gas limit".
* Fixed comment string.
* Regenerated key_management proto files.
* Addressed code review comment - explitly set BuildConfig.Enabled to false.
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
* remove it
* gaz
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* proto gen fix
* regen protos and ssz bindings
* regen
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Starting
* Done
* Fix more tests
* Fix test
* Fix test
* fix up
* building
* requirement
* gaz
* builds
* rem deadcode
* fix
* fix up
* removed checked method
* Update service_test.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* first node test
* adding in configuration flags for code coverage
* adding line to remove file on unit test
* adding new test for compressed field trie but is currently broken
* changing limit on trie
* adding new trie length coverage
* adding in test for empty copy of trie
* adding more trie tests
* adding new field trie
* adding more field trie tests
* adding clarity to chunking equation
* fixing linting
* clarifying function for limit
* updating native state settings to improve ease of future unit tests
* improving unit test
* fixing unit tests
* adding more tests and fixing linting
* adding more coverage and removing unused file
* increasing node coverage
* adding new test for checking config for booleans
* fixing db test
* fixing linting
* adding signing root test
* fixing linting
* removing accidently created beacondata
* switching not non native state
* reverting back to proto use for spec test
* reverting back to proto for some tests
* turning off native state on some tests
* switching more to proto state
* rolling back disablenativestate
* switching to native state in the state-native package for tests
* fixing linting
* fixing deepsource complaint
* fixing some tests to native state and removing some unused flag checks
* convert to native state
* fixing linting
* issues are being triggered by deleting the db this way so reverting change in hopes of changing this
* rolling back testing util
* rolling back some tests from native state
* rolling back db deletion
* test switching native state off after test runs
* fixing hasher test
* fixing altair and bellatrix hashers for native state
* Update beacon-chain/node/node_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update validator/rpc/auth_token_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* fixing imports
* adding altair proof test
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* updating proto name
* updating generated files
* updating names on block v2 and v3 signing types
* fixing import format
* fixing unit tests
* fixing unit test
* fixing more conflicts
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* batch reconstruction
* add test
* clean up
* terence's comment
* terence's other comment
* try out in e2e
* fix
* fix some more
* fix blinded blocks
* fix it
* remove dev flag
Co-authored-by: terencechain <terence@prysmaticlabs.com>
There is a double lock race condition when NewSlot acquires the
checkpoints lock first and the nodes lock later, while calls to Head()
acquire the nodeslock first and the checkpoints lock later.
This PR releases the checkpoints lock in NewSlot, to reaquire it later
in updateUnrealizedCheckpoints after getting the nodes lock
* Upgrade Grail Bazel toolchain to latest release v0.7.2
This should allow Prysm to compile on Ubuntu 21.10 and 22.04
* Changes necessary in .bazelrc for new version of com_grail_bazel_toolchain
* Add cross compilation for OSX ARM64 (Apple Silicon)
* Update cross-toolchain README to include osx_arm64
* Add double quotes to shell code
* Rename install_clang_cross10.sh -> install_clang_cross.sh
* Update with prysmatic labs uploaded assets
* Touch README to trigger CI
* Revert "Touch README to trigger CI"
This reverts commit 826ac8a6d8.
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prestonvanloon <preston@prysmaticlabs.com>
* adding in unit tests and updated error messaging
* returning errors correctly
* Update api/client/builder/client.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* updating based on comments
* fixing unit tests
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Logging: strip new lines and other control characters
* Use strings.Map and only sanitize the field value
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* This PR is for issue #11155 "Keymanager APIs: get_limit api".
This PR implements the first task "get gas limit for the validator key".
* Removed useless import alias.
* Added regenerated key_management.pb.go/pb.gw.go files as well as endpoint_factory.go changes.
* Address James's comments:
1. api path component should be "gas_limit" instead of "gaslimit".
2. ran curl test like:
- go build -o tmp/validator
- ./tmp/validator --web --validators-external-signer-url=http://localhost:9000/
- curl -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.C-BuVfWhKpr9elB05GTJdEEx_8AzkImxzXL03IqcHR8" 127.0.0.1:7500/eth/v1/validator/0xb4844195ce8ca78d9d4f7ffdf4001cfdb079e059542bcc4f45ddfff2bcec7defb1482db4f9426f92f59972da395dd2b5/gas_limit
- {"data":{"pubkey":"0xb4844195ce8ca78d9d4f7ffdf4001cfdb079e059542bcc4f45ddfff2bcec7defb1482db4f9426f92f59972da395dd2b5","gas_limit":"30000000"}}
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
* fixing stringslice issue and adding one more filter
* fixing linting and improving function based on feedback
* rolling back generic function to check ci
* adding function back in
* testing printing error
* reverting change
* Added gofmt detail flag
* temporary change
* Another flag added
* Revert changes
* Modifed entrypoint
* Another change
* Revert
* Change go image
* Added -e flag
* Switched to alpine image
* Switched go to strech
* Fix typo
* Yet another image added
* Added go alpine
* rolling back generic
* reverting version
* Update go.sum
reverting
* Update go.mod
reverting
* Update Dockerfile
rolling back
* Update entrypoint.sh
rolling back
* Update go.yml
reverting changes
* fixing flag for config
* reverting changes and moving change to another PR
* Update validator/node/node.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* updating based on review
* Update container/slice/slice.go
Co-authored-by: Taranpreet26311 <taran@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Forkchoice: expose if no tip is viable
This PR changes the behavior on when the node is considered optimistic.
A call to `blockchain.IsOptimistic()` relies solely on forkchoice, if
all tips are invalid, then it's optimistic. If the current headroot is
not in forkchoice then it's optimistic.
A call to `blockchain.IsOptimisticForRoot()` will return true if the
requested root is headroot and it's not found in forkchoice
* update comment
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* panic in SizeSSZ
* moving slowly
* adapt old code to new interfaces
* return interfaces from factory functions
* replace the rest of WrappedSignedBeaconBlock
* WrappedBeaconBlock
* WrappedBeaconBlockBody
* miscellaneous
* Test_BeaconBlockIsNil
* replace usages of BeaconBlockIsNil
* replace usages of mutator
* fix all build errors
* fix some more issues
* mutator changes
* relax assertions when initializing
* revert changes in object_mapping.go
* allow calling Proto on nil
* Revert "allow calling Proto on nil"
This reverts commit ecc84e4553.
* modify Copy and Proto methods
* remove unused var
* fix block batch tests
* correct BUILD file
* Error when initializing nil objects
* one more error fix
* add missing comma
* rename alias to blocktest
* add logging
* error when SignedBeaconBlock is nil
* fix last test
* import fix
* broken
* working
* test fixes
* reduce complexity of processPendingBlocks
* simplified
* Add analysis template with failing test
* Works for the most common use case
* Progress on tool and more test cases
* Improvements
* handle nil
* works for the most part
* Fix some TODOs in the tool
* Fix some TODOs in the tool
* Deal with nil LVH
After https://github.com/ethereum/execution-apis/pull/254 the EL may
return `nil` for LVH. Our current implementation would treat this as a
zero hash and thus mark all blocks since the merge block as INVALID
* Apply suggestions from Terence
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add a copy of github.com/x-cray/logrus-prefixed-formatter with fixes for our static analysis
* gazelle and add failing test
* fix it
* fix link
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* make it the default
* deprecate this
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Initialise slasher service using New in slasher test to avoid panics
* Handle unhanlded error
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
When requesting with IsOptimistic for a root which is non-canonical and
historic, we should check if it is canonical before returning false.
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Add prater bellatrix fork epoch and ttd
* Update workspace with tar and fix tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Fix IsExecutionEnabled for blinded blocks
The TransactionsRoot of a blinded block may be non-zero, anyway we do
not insert the header in the state until IsExecutionEnabled is true.
This last check was failing on blinded blocks because it was actively
checking that the root should be zero, when it needn't be.
Superseeds #11068
* fix test
* test case
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* fixing ux on propertynaming, introducing placeholder property
* reverting some refactors
* Update debug.go
* Update debug.go
* rolling back change on file
* adding new unit tests and renaming flags
* renaming variable
* initial commit
* adjusting logic to match web3signer specifications
* making Epoch mandatory
* fixing unit test
* rolling back some changes on slots
* fixing unit tests
* testing enable validator registration
* adding validator registration to configs
* fixing prefix
* fixing shasum
* rolling back e2e validator registration until fully supported
* updating web3signer version
* changing types based on feedback
* Improve error verbosity with payload ID is nil
* Conflict
* Fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* exec payload iface
* begin using iface
* use iface more
* build beacon
* builds
* txs field
* fix
* merge test
* pass
* test
* refactor
* fix up builder case
* gaz
* comments
* el test
* build
* no mask
* patch up
* exec wrap
* Terence feedback
* builds
* potuz suggestion
* exec data error
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* initial commit
* fixing variable rename
* fixing unit test
* adding based on review comments
* renaming cache
* simplifying logic on signed validator registrationRequest
* adding unit tests
* fixing linting
* using wrong dependency
* changing gaslimit to validator registration
* adding new flag to enable validator registration for suggested fee recipient
* making sure default gaslimit is set
* Update cmd/validator/flags/flags.go
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Do not error if the LVH is bogus
* add tests and mark the regression PR
* dead code
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Handle invalid_block_hash error from ee
* Update beacon-chain/blockchain/error.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Remove invalid block and state
* Revert "Remove invalid block and state"
This reverts commit 9ca011b8ce.
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Annotate build client requests
* Use named return arguments to annotate errors
* Unhandled error was bad
* Error level is better than warning for this
* Clarifying commentary while i'm here
* delete the pasta
* add heuristics for pulltips
* gazelle
* add unit test
* fix unit test
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* testing out fee-recipient evaluator
* fixing bazel linter
* adjusting comparison
* typo on file rolling back
* adding fee recipient is present to minimal e2e
* fixing gofmt
* fixing gofmt
* fixing flag usage name
* adding in log to help debug
* fixing log build
* trying to figure out why suggested fee recipient isn't working in e2e, adding more logging temporarily
* rolling back logs
* making e2e test more dynamic
* fixing deepsource issue
* fixing bazel
* adding in condition for latest release
* duplicate condtion check.
* fixing gofmt
* rolling back changes
* adding fee recipient evaluator in new file
* fixing validator component logic
* testing rpc client addition
* testing fee recipient evaluator
* fixing bazel:
* testing casting
* test casting
* reverting
* testing casting
* testing casting
* testing log
* adding bazel fix
* switching mixed case and adding temp logging
* fixing gofmt
* rolling back changes
* removing fee recipient evaluator when web3signer is used
* test only minimal config
* reverting changes
* adding fee recipient evaluator to mainnet
* current version uses wrong flag name
* optimizing key usage
* making mining address a variable
* moving from global to local variable
* removing unneeded log
* removing redundant check
* make proposer settings mroe deterministic and also have the evaluator compare the wanting values
* fixing err return
* fixing bazel
* checking file too much moving it out
* fixing gosec
* trying to fix gosec error
* trying to fix address
* fixing linting
* trying to gerenate key and random address
* fixing linting
* fixing check for proposer config
* trying with multi config files
* fixing is dir check
* testing for older previous balance
* adding logging to help debug
* changing how i get the block numbers
* fixing missed error check
* adding gasused check
* adding log for current gas used
* taking suggestion to make fee recipient more deterministic
* fixing linting
* fixing check
* fixing the address check
* fixing format error
* logic to differentiate recipients
* fixing linting
Added additional logging information to Bellatrix blocks.
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Relinquish peerLock when blockFetcher context is done
* Unlock before sending range requests
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* Refactor waitForActivation
* Finish refactor of runner.go
* Refactor validator/client/metrics.go
* Refactored beacon-chain/sync/pending_attestations_queue.go
* Refactored beacon-chain/powchain/log_processing.go
* Resolve conflicts with develop branch
* Fix Deepsource: Context should be the first param
* Address review comments
* Put headersMap as pass-in function parameter
* Change function signature of processBlockInBatch
* Address nisdas's comment
* Do not downcast time in currentslot
* no magic constants
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add logging of block payload data
Added a new func logBlockPayloadData that includes logging of the
block number and the gas utilized.
Related to #10795.
* Replace Info with Debug + renamed func
Renamed the function to be clearer and replaced Info logging with Debug.
Related to #10795.
* Compute correct value for gas utilized
Related to #10795.
* Round result of gas utilized to 2 decimal places
* Add new error message
* Check if block is an Execution block
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* Fix missing imports
* Undo changes
* Update beacon-chain/blockchain/receive_block.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Added error logging to log statements
Changed the error handling from log statements. Instead of returning the
error we log the error.
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Enable gocognit linter
Currently the gocognit complexity threshold is set to 95 to make
sure no existing files will fail the linter. In future we will
reduce this threshold to a much lower one.
The recommended threshold is usually 30. Our code base has maximum
of 97 right now...But it's better late than never to pay attention
to our code compexity.
* Test to see github complains
* Resume to 97
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Fix default mainnet log when using chain config
Add a log to specify the use of a chain-config-file rather than
defaulting to that of mainnet.
Related to #10821.
* Add more specific log message
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* enable dev on Ropsten
* include only vectorized HTR and doublylinkedtree
* error handling
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* adding splitRoots, refactor to use it
* use splitRoots & work in roots only
the most common use case for this method is to get a list of
candidate roots and check if they are canonical. there isn't a great
reason to look up all the non-canonical blocks, because forkchoice
checks based on the root only, so just return roots and defer the
responsibility of resolving those to full blocks.
* update comment
* clean up shadowing
* more clear non-error return
* add test case for single root in index slot
* fmt
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* s
* s
* typo
* typo
* s
* s
* fixes based on PR feedback
* PR feedback
* reverting log changes
* adding flag per feedback
* conventions
* main fixes
* Update cmd/beacon-chain/jwt/jwt.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update cmd/beacon-chain/jwt/jwt.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update cmd/flags.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* s
* tests
* test attempt
* test
* Update cmd/beacon-chain/jwt/jwt.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* err fix
* s
* further simplify
* cleanup
* namefix
* tests pass
* gaz
* rem deadcode
* Gaz
* shorthand
* naming
* test pass
* dedup
* success
* Ignore jwt.hex file
* logrus
* feedback
* junk
* Also check that no file was written
* local run config
* small fix
* jwt
* testfix
* s
* disabling test
* reverting main changes
* main revert
* removing temp folder
* comment
* gaz
* clarity
* rem
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
* add it in
* support jwt secret
* fix it
* fix
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Integrate builder client into builder service
* Do nothing if pubkey is not found
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Startinb builder service and interface
* Get header from builder
* Add get builder block
* Single validator registration
* Add mev-builder http cli flag
* Add method to verify registration signature
* Add builder registration
* Add submit validator registration
* suporting yaml
* fix yaml unmarshaling
* rolling back some changes from unmarshal from file
* adding yaml support
* adding register validator support
* added new validator requests into client/validator
* fixing gofmt
* updating flags and including gas limit, unit tests are still broken
* fixing bazel
* more name changes and fixing unit tests
* fixing unit tests and renaming functions
* fixing unit tests and renaming to match changes
* adding new test for yaml
* fixing bazel linter
* reverting change on validator service proto
* adding clarifying logs
* renaming function name to be more descriptive
* renaming variable
* rolling back some files that will be added from the builder-1 branch
* reverting more
* more reverting
* need placeholder
* need placeholder
* fixing unit test
* fixing unit test
* fixing unit test
* fixing unit test
* fixing more unit tests
* fixing more unit tests
* rolling back mockgen
* fixing bazel
* rolling back changes
* removing duplicate function
* fixing client mock
* removing unused type
* fixing missing brace
* fixing bad field name
* fixing bazel
* updating naming
* fixing bazel
* fixing unit test
* fixing bazel linting
* unhandled err
* fixing gofmt
* simplifying name based on feedback
* using corrected function
* moving default fee recipient and gaslimit to beaconconfig
* missing a few constant changes
* fixing bazel
* fixing more missed default renames
* fixing more constants in tests
* fixing bazel
* adding update proposer setting per epoch
* refactoring to reduce complexity
* adding unit test for proposer settings
* Update validator/client/validator.go
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* trying out renaming based on feedback
* adjusting based on review comments
* making tests more appropriate
* fixing bazel
* updating flag description based on review feedback
* addressing review feedback
* switching to pushing at start of epoch for more time
* adding new unit test and properly throwing error
* switching keys in error to count
* fixing log variable
* resolving conflict
* resolving more conflicts
* adjusting error message
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
* Only prune in newer finalization
* add regression test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Enforce that every node descends from finalized node
* fix test
* fix conflict
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Change forkchoice API
doubly-linked-tree changes
* protoarray changes
* blockchain tests
* rebase and fix conflicts
* More blockchain fixes
* blockchain test fixes
* doubly linked tree changes again
* protoarray changes v2
* blockchain packages v2
* Radek's review
* Fix on batch processing
* Terence's review
* fill in at start
* Revert "fill in at start"
This reverts commit 8c11db063a.
* wrap error message
* fill in before mutating the state
* wrap nil node errors
* handle unknown optimistic status on init sync
* rename insert function
* prune on batches only after forkchoice insertion
Co-authored-by: terencechain <terence@prysmaticlabs.com>
The beacon API specification states that the `validator_index` field of
the `fee_recipient` structure is a quoted string rather than a bare
integer. This fixes up the encoding to match the spec.
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
* HighestSlotBlocksBelow to return a single value
* HighestSlotBlocksBelow->HighestBlockBelowSlot
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Mark e2e test targets as flaky for now
* Mark e2e test targets as flaky for now
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add back finalized info in new block log
* Better refactor
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Move chain inclusions to forkchoice handling
* gaz
* return early if no blocks are pending
* Terence's review
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* checkpoint sync use finalized state+block
instead of finding the block at the beginning of the weak subjectivity
epoch.
* happy path test for sync-from-finalized
* gofmt
* functional opts for the minimal e2e
* add TestCheckpointSync option
* wip: pushing for CI
* include conn index in log for debugging
* lint
* block until regular sync test finishes
* restore TestSync->testDoppelGangerProtection link
* update bazel deps for all the test targets
* updating to match current checksum from github
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
* Ignore subset aggregates
* Add test
* Update BUILD.bazel
* Update validate_sync_contribution_proof_test.go
* Update validate_sync_contribution_proof_test.go
* Don't utilize pooled objects. Use direct caches
* Handle mainnet/minimal better
* Revert att changes
* Check overlaps before set
* Feedbacks
* Fixed a copy bug
* Fixed the same copy bug in committee indices cache
* Use SafeCopyBytes
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Add new DomainType for application usage
* Add DomainApplicationMask to config_test
* Add func to convert uint32 to 4 byte array
We add a convenience function Uint32ToBytes4 that takes a uint32,
converts it to big endian order and return a 4 byte array.
* Add unit test for Uint32ToBytes4
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* builder api client
* unexport error
* thanks, DeepSource!
* replace hexSlice w/ hexutil.Bytes
* use uint256 for BaseFeePerGas
* more confidence in correct endianness
* comment fix per Terence
* fix proto conversion for uint256
* couple more value checks in the http client tests
* TestMarshalBlindedBeaconBlockBodyBellatrix
* appease deepsource
* middleware to log requests
* big int round trip test
* very superficial test to make deepsource happy
* round trip test between proto payloads
* round trip starting from marshaled struct
* deepsource... for you, the moon
* remove unused receiver
* gofmt
* remove test destroying line added while debugging
* handle nil body in logging middleware
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* add new changes
* fix it all
* add nicer scenario
* some more cleanup
* restructure tests
* godoc
* skip one scenario
* space
* fix test
* clean up
* fix conflicts
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* test coverage and updates to config twiddlers
* LoadChainConfigFile error if SetActive conflicts
* lint
* wip working around test issues
* more fixes, mass test updates
* lint
* linting
* thanks deepsource!
* fix undeclared vars
* fixing more undefined
* fix a bug, make a bug, repeat
* gaz
* use stock mainnet in case fork schedule matters
* remove unused KnownConfigs
* post-merge cleanup
* eliminating OverrideBeaconConfig outside tests
* more cleanup of OverrideBeaconConfig outside tests
* config for interop w/ genesis gen support
* improve var name
* API on package instead of exported value
* cleanup remainders of "registry" naming
* Nishant feedback
* add ropstein to configset
* lint
* lint #2
* ✂️
* revert accidental commented line
* check if active is nil (replace called on empty)
* Nishant feedback
* replace OverrideBeaconConfig call
* update interop instructions w/ new flag
* don't let interop replace config set via cli flags
Co-authored-by: kasey <kasey@users.noreply.github.com>
* run for the original number of epochs
* to avoid race, wait 1/2 epoch after 1st ready node
* Update testing/endtoend/minimal_e2e_test.go
* Update testing/endtoend/minimal_e2e_test.go
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* test: better InvalidSignature validation
Added digest to topic so that the test would not fail at decodePubsubMessage.
Generated a valid signature from an invalid key so that it would be considered invalid.
Added a check for the correct error: ErrSigFailedToVerify.
Related to #9791.
* test: better BlockAlreadyPresentInDB validation
Added digest to topic so that the test would not fail at decodePubsubMessage.
Added a check that the block is ignored.
Related to #9791.
* test: better Syncing validation
Replaced error silencing with NoError assertion.
Added check for the expected validation decision: ValidationIgnore.
Related to #9791.
* test: better IgnoreAndQueueBlocksFromNearFuture validation
Rename test to best describe it's function.
Replace error silencing with a check for the expected error.
Related to #9791.
* test: better RejectBlocksFromFuture validation
Added digest to topic so that the test would not fail at decodePubsubMessage.
Replaced error silencing with NoError assertion.
Added check for the expected validation decision: ValidationIgnore.
Related to #9791.
* test: better RejectBlocksFromThePast validation
Added digest to topic so that the test would not fail at decodePubsubMessage.
Replaced error silencing with a check for the expected error.
Added check for the expected validation decision: ValidationIgnore.
Related to #9791.
* test: better SeenProposerSlot validation
Added digest to topic so that the test would not fail at decodePubsubMessage.
Replaced error silencing with NoError assertion.
Added check for the expected validation decision: ValidationIgnore.
Related to #9791.
* test: fix topic and silenced errors
* set chain service slot
* test: better RejectBlocksFromBadParent validation
Set bad parent block.
Fixed expected errors and validation decision.
* revert: correct log msg for unknown parent block
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* initial commit
* fixing bazel
* removing extra space
* adding blindedbeaconblock
* adding unit tests
* fixing bazel build
* switching to switch statement
* fixing function parameters
* fixing ineffectual err error
* deleting unused files
* updating web3signer version to support bellatrix
* adding metrics
* testing longer run
* changing log level to help find errors
* changing logging back to all to better understand the issue
* testing better way to get public keys for web3signer on validator
* fixing bazel
* rolling back changes
* missed rolling back 1 thing
* adding flag back in
* adding comments back in
* testing lower participation
* adding logs to see web3signer keys for comparison
* fix bazel
* adding more logs temporariliy
* switching hex utility function
* web3signer doesn't support deposits, so changing this
* rolling back unintended unit test
* rolling back some changes for debugging
* Update validator/keymanager/remote-web3signer/v1/web3signer_types.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update testing/endtoend/components/web3remotesigner.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update testing/endtoend/endtoend_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update testing/endtoend/endtoend_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* fixing merge conflict
* Update validator/keymanager/remote-web3signer/v1/requests.go
* Update testing/endtoend/endtoend_test.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/keymanager/remote-web3signer/v1/requests.go
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* prysm doesn't currently support deposits for web3signer
* reverting back to old implementation
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* Simplify SSZ handling
* fix tests
* add version to SSZ proto and to GetBeaconStateSSZV2
* TestProduceBlockV2SSZ
* rest of tests
* middleware
* use constants
* some middleware changes
* test fix
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Improve beacon node doesn't have a parent in db logs
* Update round_robin.go
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Simplify SSZ handling
* fix tests
* add version to SSZ proto and to GetBeaconStateSSZV2
* remove unwanted methods
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* fuzz: Fix off by one error in sparse merkle trie item insertion
* remove new line
* Move validation to the proto constructor
* fix build
* Add a unit test because @nisdas is going to ask for it
* fix up
* gaz
* Update container/trie/sparse_merkle.go
* Update container/trie/sparse_merkle_test.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
* Extract `OptimisticSyncFetcher` interface
* extract IsOptimistic
* fix tests
* more test fixes
* even more test fixes
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* adding checksum check at validator client and beacon node
* adding validation and logs on validator client startup
* moving the log and validation
* fixing unit tests
* adding test for back checksum on validator client
* fixing bazel
* addressing comments
* fixing log display
* Update beacon-chain/node/config.go
* Apply suggestions from code review
* breaking up lines
* fixing unit test
* ugh another fix to 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 it in
* build tags
* gaz
* remove dependency on fast-ssz for now
* copy and comment
* add in native state
* fix build
* no assert on invalid input, just return
* Add failing case
* fix it up
Co-authored-by: prestonvanloon <preston@prysmaticlabs.com>
* Cache and use justified and finalized payload block hash
* Fix tests
* Use real byte
* Fix conflicts
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Process atts and updeate head
* Fix ctx
* New test and old tests
* Update validator_test.go
* Update validator_test.go
* Update service.go
* Rename to UpdateHead
* Update receive_attestation.go
* Update receive_attestation.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* v0
* getters/setters
* init and copy
* hasher
* all the nice stuff
* make bazel happy
* remove tests for smaller PR
* remove old states
* move files
* import fixes
* custom MarshalSSZ
* fixed deadlock
* copy version when copying state
* correct issues in state_trie
* fix Copy()
* better e2e comment
* add code to minimal state
* spectest test
* Revert "Auxiliary commit to revert individual files from 84154423464e8372f7e0a03367403656ac5cd78e"
This reverts commit 9602599d183081291dfa0ba4f1036430f63a7822.
* native state assert
* always error
* always log
* more native state usage
* cleanup
* remove empty line
* Revert "spectests"
This reverts commit 1c49bed5d1cf6224afaf21e18562bf72fae5d2b6.
# Conflicts:
# beacon-chain/powchain/service.go
# beacon-chain/state/v1/state_trie.go
# beacon-chain/state/v2/state_trie.go
# beacon-chain/state/v3/state_trie.go
# testing/spectest/shared/phase0/finality/BUILD.bazel
# testing/spectest/shared/phase0/finality/runner.go
* dedup field trie
* fix test issues
* cleanup
* use correct field num in FinalizedRootProof
* use existing version constant
* halfway there
* "working" version
* some fixes
* fix field nums in tests
* rename v0types to nativetypes
* Revert "Auxiliary commit to revert individual files from dc549b1cf8e724bd08cee1ecc760ff3771d5592d"
This reverts commit 7254d3070d8693b283fc686a2e01a822ecbac1b3.
* uncomment code
* remove map size
* Revert "Revert "spectests""
This reverts commit 39c271ae6b.
* use reverse map
* Revert "Revert "Revert "spectests"""
This reverts commit 19ba8cf95c.
* finally found the bug
(cherry picked from commit a5414c4be1bdb61a50b391ea5301895e772cc5e9)
* simplify populateFieldIndexes
* fix copy
(cherry picked from commit 7da4fb8cf51557ef931bb781872ea52fc6731af5)
* remove native state from e2e
* remove index map
* unsupported functions
* Use ProtobufBeaconState() from native state
* tests
* typo
* reduce complexity of `SaveStatesEfficient`
* remove unused receiver name
* update doc.go
* fix test assertion
* fix test assertion 2
* Phase0 justification bits
* bring back state tests
* rename fieldIndexRev
* versioning of ToProto
* remove version check from unexported function
* hasher tests
* don't return error from JustificationBits
* extract fieldConvertersNative
* helper error function
* use fieldConvertersNative
* Introduce RealPosition method on FieldIndex
* use RealPosition in hasher
* remove unused fields
* remove TestAppendBeyondIndicesLimit
(cherry picked from commit 3017e700282969c30006b64c95c21ffe6b166f8b)
* simplify RealPosition
* rename field interface
* use helper in proofs.go
* Update beacon-chain/core/altair/upgrade.go
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* demonstrate issue with committee caching in e2e
* lint
* run process_slots before caching committee data
* pass transitioned state to UpdateCommitteeCache
* don't run extra epochs w/ web3signer
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
* fixes for checkpoint sync
* improve node version regex; real client test cases
* add test case for checkpoint sync finalization fix
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
* some fixes to fuzz building
* use len
* remove comments
* fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* more helpful auth message when auth to engine does not work
* better language
* clarity
* check for 401
* fix panic
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* notifyForkchoiceUpdate can prune invalid blocks
* define and use ErrInvalidPayload
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* replace eth2 types
* replace protos
* regen proto
* replace
* gaz
* deps
* amend
* regen proto
* mod
* gaz
* gaz
* ensure build
* ssz
* add dep
* no more eth2 types
* no more eth2
* remg
* all builds
* buidl
* tidy
* clean
* fmt
* val serv
* gaz
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Save cached initial sync blocks before getting head block
* Add better abstraction to get block
* Move unlock read to a better location
* Feedbacks
* Add head changed logging
* Harder hasBlock requirement
* Update beacon-chain/blockchain/service.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update receive_attestation.go
* Don't process head if the block is unknown
* Use a helper method
* Fix test
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* max epoch helper from eth2 types
* gaz
* godoc
* Update consensus-types/primitives/epoch_test.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* move eth2 types into Prysm
* bazel
* lint
* use existing math helpers
* rem eth2-types dep
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* initial commit
* unit test
* Update validator/client/validator.go
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* updating check based on review comments
* adjusting how logs are used
* adding in git add .
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* execution client package renaming
* define interceptors and options
* further clean
* further dedup
* further simplify
* rev
* rem
* more modifications
* further clean
* defines tests
* pass first test
* proper tests
* all tests in
* gaz
* lint
* wait start
* assign on ports
* gaz
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* switching to run time generated yaml
* fixing bazel
* fixing unit test
* fixing linter problems
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Encode empty `extra_data` as "0x" and `base_fee_per_gas` as Uint256 in the Beacon API
* Fixed parsing of Uint256 in the API
* Add missing tests for empty hex & Uint256 fields in `apimiddleware`
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* initial commit
* adding unit tests
* Update validator/client/validator.go
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* fixing unit tests based on suggestions
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* move waitForStateInitialization to Start
* remove channel
* handle error in test
* fix service tests
* use fatal log
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* e2e: Provide e2e config yaml to web3signer
* fix build for //testing/endtoend:go_default_test
* Update with web3signer with teku fixes
* buildifier
* Add slasher case for web3signer
* Update testing/endtoend/minimal_e2e_test.go
* Update web3signer to 21.10.6
* Revert "Update web3signer to 21.10.6"
This reverts commit bdf3c408f2.
* Remove slasher part of web3signer e2e tests
* Revert "Remove slasher part of web3signer e2e tests"
This reverts commit 24249802ae.
* fix slasher web3signer test
* fixing build
* updating yaml to match testnet_e2e_config.go
* trying a different order to the e2e test and adding a log
* trying different way to kill process
* handling unhandled error
* testing changes to config WIP
* fixing bazel WIP
* fixing build
* ignoring test for now to test
* fixing bazel
* Test only web3signer e2e
* rolling back some commits to test
* fixing bazel
* trying an updated web3signer version
* changing flag to match version
* trying current version of develop for web3signer
* testing not using the --network property
* addressing build error
* testing config change
* reverting to go bakc to using the network file
* testing adding epochs per sync committee period
* rolling back configs
* removing check to test
* adding log to get sync committee duties and changing bellatrix fork epoch to something large and altair to epoch 1
* fixing bazel
* updating epoch in config file
* fixing more descrepencies between the configurations
* removing un used yaml
* removing goland added duplicates
* reverting using network minimal
* fixing bug
* rolling back some changes
* rolling back some changes
* rolling back changes
* making sure web3signer test doesn't make it to bellatrix fork yet
* reverting changes I did not touch
* undo comment
* Update testing/endtoend/deps.bzl
* Apply suggestions from code review
* rm nl
* fix //testing/endtoend:go_mainnet_test
* Remove unnecessary dep
* fix //testing/endtoend:go_mainnet_test
* addressing review comments
* fixing build and internal conflict
* removing web3signer slasher test as it's unneeded due to the interface nature of key signing, the regular slashing test is enough
* fix: The validator we fetch from the binary can only run before altair, if you add that and the web3signer then these things can never run together as the web3signer sets it to before bellatrix
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
Co-authored-by: James He <james@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* process the optimistic blocks whose parent are optimistic too
* adding unit test
* fix test
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
* gazelle
* tests passing
* use the same engine client
* pass
* initialize in right place
* erge
* build
* imports
* ensure engine checks work
* pass powchain tests
* powchain tests pass
* deepsource
* fix up node issues
* gaz
* endpoint use
* baz
* b
* conf
* lint
* gaz
* move to start function
* test pass
* github workflows: pin go version to 1.17
* Update go.yml
* Revert "Update go.yml"
This reverts commit 4a2d36d05d.
* pin golangci-lint
* try go 1.17
* Revert "Revert "Update go.yml""
This reverts commit 8a89663874.
* move and increase version of checkout
* attempt to ignore export path
* try with entrypoint only
* try some rearranging of stuff
* Split up jobs
* Use hack mentioned in https://github.com/securego/gosec/issues/469\#issuecomment-643823092
* Delete dappnode release trigger
* rm id
* try pin golangci-lint version
* try pin golangci-lint version
* Do not provide a specific go version and lets see what happens
* comment checkout, wtf is wrong with github actions
* it works locally...
* trying with some cache key for lint...
* Revert "trying with some cache key for lint..."
This reverts commit c4f5ae4495.
* try tellign it to skip go installation
* revert commented line, do something to satisify deepsource
* do something to satisify deepsource
* Set boost with deterministic timing
* confs
* gaz
* Update runner.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* no longer check transition config after the merge
* nil check
* better payload check
* stop checking post merge based on received blocks
* add proper test
* gaz
* fix test
* lint
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* less fragile check for execution payload
* gaz
* gaz
* include field
* clean up helpers for checking merge status
* Update beacon-chain/core/blocks/payload.go
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
* Update payload.go
* Rename
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
* add changes
* fix CI
* wait here
* Fix gazelle with the correct directive for libp2p
Co-authored-by: prestonvanloon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* set optimistic status on notify payload
* pre-execution blocks are never optimistic
* add unit test
* add test for lengths
* Update optimistic_sync_test.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Migrating Keymanager account list functionality into each keymanager type
* Addressing review comments
* Adding newline at end of BUILD.bazel
* bazel run //:gazelle -- fix
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
* send proposer data to config
* wip implementation with file and url based config import
* improving logic on get validator index
* fix function
* optimizing function for map and address bug
* fixing log
* update cache if it doesn't exist
* updating flags
* initial unit test scaffold
* fixing validator to call rpc call, removed temporary dependency
* adding the API calls for the runner
* fixing broken build
* fixing deepsource
* fixing interface
* fixing fatal
* fixing more deepsource issues
* adding test placeholders
* updating proposer config to add validation
* changing how if statement throws error
* removing unneeded validation, validating in a different way
* wip improving tests
* more unit test work
* fixing unit test
* fixing unit tests and edge cases
* adding unit tests and adjusting how the config is created
* fixing bazel builds
* fixing proto generation
* fixing imports
* fixing unit tests
* Update cmd/validator/flags/flags.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* updating flags based on comments, fixing unit tests
* fixing bazel
* removing unneeded function
* fixing unit tests
* refactors and unit test fixes based on comments
* fixing bazel build
* refactor the cache out fo the fee recipient function
* adding usecase for multiple fee recipient
* refactor burn name
* Update validator/client/validator.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/client/validator.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/client/validator.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* fixing bug with validator index based on code review
* edited flag descriptions to better communicate usage
* fixing manual reference to flag name
* fixing code review comments
* fixing linting
* Update validator/client/validator.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* addressing comments and renaming functions
* fixing linting
* Update cmd/validator/flags/flags.go
* Update cmd/validator/flags/flags.go
* Update cmd/validator/flags/flags.go
* improving comments
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Fix base fee endianess and add more test entropys
* Update json_marshal_unmarshal_test.go
* Update setters_test.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* add in success log
* add in info log
* uint64 for schema
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Refactor to unify state getters block tests
* Add reference tests to Altair and Bellatrix versions ofthe state
* Fix function naming convetion
* Add state-native/v2/references_test.go and state-native/v3/references_test.go
* Gazelle run
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* spectest
* uncomment shas
* Fc spec test service shouldn't not spawn attestation routine
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* ran gofmt @ v1.17, these are the resulting changes
* fix some flaky tests that are tripping up this PR
* gofmt
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
* increase bazel java max mem to 4gb
* DEBUG: set nocache and modify nogo to force any disk cache misses. Revert this commit after testing in CI
* Revert "DEBUG: set nocache and modify nogo to force any disk cache misses. Revert this commit after testing in CI"
This reverts commit dc41cce43d.
* Update to bazel 5
* Add new bazel 5 experimental flags to improve remote caching
* regen cross compile for bazel 5
* gazelle
* remove some old flags
* use heremtic builds sandbox
* minimal downloads for better disk usage
* Restore manual tags for darwin builds
* Fix AltairCompatible to account for future state version
* Tests
* gaz
* More tests
* Update comments
* Rename to HigherThanAltairVersionAndEpoch
* HigherEqualThanAltairVersionAndEpoch
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* Add static analysis for unsafe uint casting
* Fix violations of uintcast
* go mod tidy
* Add exclusion to nogo for darwin build
* Add test for math.Int
* Move some things to const so they are assured not to exceed int64
* Self review
* lint
* fix tests
* fix test
* Add init check for non 64 bit OS
* Move new deps from WORKSPACE to deps.bzl
* fix bazel build for go analysis runs
* Update BUILD.bazel
Remove TODO
* add math.AddInt method
* Add new test casts
* Add case where builtin functions and declared functions are covered
* Fix new findings
* cleanup
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
@@ -26,15 +26,18 @@ You can use `bazel run //tools/genesis-state-gen` to create a deterministic gene
### Usage
- **--genesis-time** uint: Unix timestamp used as the genesis time in the generated genesis state (defaults to now)
- **--mainnet-config** bool: Select whether genesis state should be generated with mainnet or minimal (default) params
- **--num-validators** int: Number of validators to deterministically include in the generated genesis state
- **--output-ssz** string: Output filename of the SSZ marshaling of the generated genesis state
- **--config-name=interop** string: name of the beacon chain config to use when generating the state. ex mainnet|minimal|interop
**deprecated flag: use --config-name instead**
- **--mainnet-config** bool: Select whether genesis state should be generated with mainnet or minimal (default) params
The example below creates 64 validator keys, instantiates a genesis state with those 64 validators and with genesis unix timestamp 1567542540,
and finally writes a ssz encoded output to ~/Desktop/genesis.ssz. This file can be used to kickstart the beacon chain in the next section.
and finally writes a ssz encoded output to ~/Desktop/genesis.ssz. This file can be used to kickstart the beacon chain in the next section. When using the `--interop-*` flags, the beacon node will assume the `interop` config should be used, unless a different config is specified on the command line.
```
bazel run //tools/genesis-state-gen -- --output-ssz ~/Desktop/genesis.ssz --num-validators 64 --genesis-time 1567542540
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.
// 1. Re-organizes the execution payload chain and corresponding state to make head_block_hash the head.
// 2. Applies finality to the execution state: it irreversibly persists the chain of all execution payloads and corresponding state, up to and including finalized_block_hash.
// 1. Re-organizes the execution payload chain and corresponding state to make head_block_hash the head.
// 2. Applies finality to the execution state: it irreversibly persists the chain of all execution payloads and corresponding state, up to and including finalized_block_hash.
// If the block does not exist in db, check again if block exists in initial sync block cache.
// This could happen as the node first syncs to head.
if(b==nil||b.IsNil())&&s.hasInitSyncBlock(r){
b=s.getInitSyncBlock(r)
}
iferr:=helpers.BeaconBlockIsNil(b);err!=nil{
iferr:=blocks.BeaconBlockIsNil(b);err!=nil{
returnerr
}
ifb.Block().Slot()>data.Slot{
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.