* delete from s.nodeByPayload as well when pruneFinalizedNodeByRootMap
* regresstion test
* add different payload node
---------
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Use copied head state
* Move metrics to the end
---------
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Cycle the BLS changes pool when falling below a threshold
* move cycle logic within pool
* set threshold at 2000
* fix conflict
* more fixes
---------
Co-authored-by: kasey <489222+kasey@users.noreply.github.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Use correct attribute if there's a payload ID cache miss
* Test
* Default case unknown state version
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* adjusting submit bls to not early exit function in partial success
* Update cmd/prysmctl/validator/withdraw.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Return error when using unsupported mnemonic language
* Fix failing tests
* More test fixes
* Add MnemonicLanguage to CreateWalletRequest
* Add MnemonicLanguage to remaining tests
* Add language to error
* Add missing (.)
* Set default language + fix renumbered fields
* Replace hardcoded language with default var
* default set
* gaz
* fix proto field setting
* fix up
* Remove WithMnemonicLanguage from tests
* Remove WithMnemonicLanguage from tests
* Fix conflicting information failure
* Gazelle + remove hardcoded english values
* fix
* Fix tests
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* fixing bug and adding unit test
* reverting small change
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Do not check headstate being Capella for BLS changes on gossip
* fix test
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Do not log an overflow computing Capella's slot start
* nishant's review
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* Sign BLS_TO_EXECUTION_CHANGES with GENESIS_FORK_VERSION
* update spectests
* extra blank line
* fix consensus_specs_sha
* get rid of LightClients tests
* fix unit tests
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* remove ShardingForkVersion/Epoch from config
* update magic value counting config params
* skip the sharding params, which we disavow
we wanted to remove these upstream and may well do some day but right
now it's too big of a mess to untangle.
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* capella state version detection bug fix
* add capella to yaml "template"
* changes for capella state detection
* lint
* don't set capella fork version == altair!!!
* less brittle test for fork schedule rpc
* fix assertions that use wrong field name
* don't test capella/sharding fv against upstream
* hat tip Terence for sanity check
* Update config/params/loader_test.go
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* Refactor bytes.go and bytes_test.go to smaller files, introduce go1.17 and go1.20 style of array copy
* rename bytes_go17.go to reflect that it works on any version 1.19 and below
* fix PadTo when len is exactly the size
* Add go1.20 style conversions
* Forgot another int method
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Better version checks for future proof
* Revert changes for blob
* Use if else
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* attempt to fix WaitForTextInFile log corruption
* restore Seek, just in case!
* lint
* handle file close error in all cases with a log
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
In the event we receive a BLS_TO_EXECUTION_CHANGE and our head state is
before Capella, verify it's signature with the Capella fork version.
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* e2e using dynamic configs; runtime bellatrix setup
* starts from phase0 but fee recipient eval fails
* lower TTD to cross before bellatrix epoch in e2e
* fix debug printf
* fix it
* dynamic ttd and more robust fee_recipient eval
* let multiplication set ttd=0 if bellatrix epoch=0
* refactoring fee recipient test after cognit errors
* lint
* appease deepsource
* deep sourcin
* gazelle
* missed a usage of this when refactoring
* refactoring premine genesis to work for all forks
previous set of functions was a copypasta mess
* gaz post-merge
* gaz
* resolve merge artifact and pr feedback
* back out some unneeded changes
* appease deepsource
* move premine-state next to similar utils
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
* e2e using dynamic configs; runtime bellatrix setup
* starts from phase0 but fee recipient eval fails
* lower TTD to cross before bellatrix epoch in e2e
* fix debug printf
* fix it
* dynamic ttd and more robust fee_recipient eval
* let multiplication set ttd=0 if bellatrix epoch=0
* refactoring fee recipient test after cognit errors
* lint
* appease deepsource
* deep sourcin
* gazelle
* missed a usage of this when refactoring
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
* Identify invalid signature within batch verification (#11582)
* Fix issues found by linter
* Make deepsource happy
* Add signature description enums
* Make descriptions a mandatory field
* More readable error message of invalid signatures
* Add 'enable-verbose-sig-verification' option
* Fix format
* Move descriptions to package signing
* Add more validation and test cases
* Fix build failure
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* Improve tests for `ProduceBlockV2`
* Revert "Auxiliary commit to revert individual files from 31c606198bdc91bac798b7a446d04d5cce86dad7"
This reverts commit d8b264457168f8f5e03d0473288a56606e38ab39.
The comments of the template were not inside the braces and appeared when creating a new Issue.
Thanks
Co-authored-by: terencechain <terence@prysmaticlabs.com>
* Add additional span information when saving attestation records
* Remove keymanager.sign span. It's very noisy and not a helpful data point.
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* WIP trying to start from bellatrix state
* env var to control log path with unique paths
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.
* WIP - grabbing changes from rm-pre-genesis branch
* combine bellatrix state w/ rm-pre-genesis branch
* WIP
* use encoding/detect for genesis state bytes
* WIP more fixes towards start from bellatrix
* remove debug wrapping
* WIP
* multiple bugfixes
* fix fork ordering bug and bellatrix genesis blocks
* send deposits, spam tx to advance, fix miner alloc
* WIP
* WIP mess
* WIP
* Print process ID information for purposes of attaching a debugger
* bugs: genesis body_root and deposit index mismatch
* fix voting period start, skip altair check
* add changes
* make it better
* rm startup FCU, rm logs
* cleanup import grouping&ordering
* restore FCU log, get rid of tmp var
* rm newline
* restore newline
* restore wrapped error
* rm newline
* removing boot node version override
this doesn't seem to matter?
* add issue number to todo comment
* rm commented code
* rm vmdebug geth flag
* unexport values only used with genesis test pkg
and add comments where missing from exported values.
* adding comments to special cases for testnets
* migrate comments from PR to actual code :)
* rm unused test param
* mark e2e spawns exempt from gosec warning
* Fix DeepSource errors in `proposer_bellatrix.go` (#11739)
* Fix DeepSource errors in
* Omit receiver name
* Address PR comments
* Remove unused variable
* Fix more DeepSource errors
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Remove `Test_IsExecutionEnabledCapella` (#11752)
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Add REST implementation for Validator's `ProposeBeaconBlock` (#11731)
* WIP
* WIP
* WIP
* Add tests
* WIP
* Add more tests
* Address DeepSource errors
* Remove unused param
* Add more tests
* Address PR comments
* Address PR comments
* Fix formatting
* Remove unused parameter
* Fix TestLittleEndianBytesToBigInt
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* fix validator client (#11755)
* fix validator client
(cherry picked from commit deb138959a)
* Use signed changes in middleware block
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
* API `finalized` metadata field - update protos (#11749)
* API `finalized` metadata field - update protos
* change nums
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* log breaks unit tests that don't do full arg setup
easiest to just remove it for now
* restore prior behavior of phase0 block for altair
* update unit tests to account for special case
* loosen condition for fork version to match config
we don't know which fork version genesis will start from, so we
shouldn't force it to be a phase0 genesis.
* skip until we can mod configs at runtime
* NewGenesisBlockForState computes state root itself
* rm noisy log
* this log would be noisy in mainnet
* fix format specifier, []byte -> string
* core.Genesis UnmarshalJson has a value receiver :)
* no longer needs to be exported
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: prestonvanloon <preston@prysmaticlabs.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
Co-authored-by: Patrice Vignola <vignola.patrice@gmail.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Implement REST `WaitForActivation`
* Activation: Factorize tests
* Fix PR comments
* `missingPubKeys`: Replace map by slice (no need to have a map here)
* Fix typo
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* 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>
* initial commit
* adding first testcase wip
* fixing test
* adding more unit tests
* adding bazel file
* adding more unit tests and file checks
* addressing comments
* refactoring based on comments
* added bazel
* fixing build
* First take
* Update proposer_execution_payload.go
* Update optimistic_sync_test.go
* Add tests
* Update proposer_execution_payload.go
* Fix tests
* Add deprecation
* Fix bad merge
* New test
* Update beacon-chain/core/blocks/payload.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Proposer test can get and compare payload
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* new stategen.StateReplayer/ReplayerBuilder to give more fine-grained
control of replaying state+block history
* all rpc/api methods updated to use the new interface, return post-state
Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* fix TestLockUnlock_CleansUnused
* fix TestSyncHandlers_WaitTillSynced
The test is failing silently (while go test showing 'PASS') due to panic caused by feed type mismatch. As a result, intended testing logic is not exercised at all. There are a couuple fixes here:
1. fix the feed event type to be pointer
2. add seendCache to avoid nil pointer panic
3. fill block in beaconDB so validateBeaconBlockPubSub gets short cut
4. replace time.Sleep() with deterministic channel waiting
* handle cancel func
* better log here too
* remove period
* Update beacon-chain/p2p/pubsub.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: Preston Van Loon <preston@prysmaticlabs.com>
* Add optimistic status check
* Simplify a bit more
* Update status_test.go
* Add non opt tests
* Update aggregator_test.go
* More tests
* Preston's feedback
* transition proto
* gen pb
* builds
* impl transition config
* begin tests
* transition config messed up
* amend proto
* use str
* passing
* gaz
* config
* client test
* pb
* set to 0
* rem log
* gaz
* check transition config
* check config differences
* check transition config in background
* gaz
* pass
* redundant
* fix up error handling and healthz
* simplify status
* gazelle
* build
* err config check
* test
* gaz
* Fix run time
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* adding in fixes for url
* fixing gazelle
* fixing wrong keymanager kind
* adding required scheme to urls
* fixing another unit test
* removing unused file
* adding new commit to retrigger deepsource ci
* Fix logarithm of 2
* add regression test
* Update encoding/ssz/merkleize.go
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* update web UI version
* fixing format
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: James He <james@prysmaticlabs.com>
* Use string for difficulty
* fix go
* fix test
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: Potuz <potuz@prysmaticlabs.com>
* Experimental prototype of Apple M1 processor support
* Enable Apple M1 compilation of herumi MCL by adding a precompiled library
* Renable nogo
* Fix by gazelle
* Update go.mod to reflect go 1.17.6 changes in WORKSPACE
* go mod tidy
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prestonvanloon <preston@prysmaticlabs.com>
* transition proto
* gen pb
* builds
* impl transition config
* begin tests
* transition config messed up
* amend proto
* use str
* passing
* gaz
* config
* client test
* pb
* set to 0
* rem log
* gaz
* Use pointers
* Use pointers
* Use pointers
* Update json_marshal_unmarshal.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* add flag
* working version
* rename flag
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Refactor for DRY state getters_validator_test and getters_test
* Add BUILD.bazel to beacon-chain/state/testing
* Handle type assertion error in beacon-chain/state tests
* Fix with gazelle
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* Is optimisyic for root
* add the function in mock chainservice also
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* keymanager-api
* import updates to standards
* adding in more unit tests and code fixes to improve api experience
* deleting accidently generated files
* deleting accidently generated files
* adding in more test coverage
* fixing linter issue
* removing incorrect unit tests
* improving logic for accounts import
* linter fix
* addressing review comments
* fixing based on comments
* fixing nonzero root
* fixing protos
* regen protos
* adjusting protos again
* updating api specs
* fixing code and unit tests after specs changed
* fixing imports
* adding in required changes for api middleware also adding unit tests to catch changes for protos
* fixing deepsource issues
* fixing linting
* seeing if using pointers helps
* addressing comments
* updating bazel build
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* return interface from testing/util
* remove usages of v1
* return interface from InitializeFromProto
* return interface from InitializeFromProto
* fix test
* fix interface visibility
* more fixes
* use InitializeFromProtoUnsafe in testing/util
* return early error from mock
* v2
* fix tests
* remove unnecessary assertion
* use struct in nil state test
* Revert "Auxiliary commit to revert individual files from 6bb528c2c5df2446ad18450009f63f44318d41a9"
This reverts commit 7d70238a301209f6dbfc8ff1d81b16e33b0bd67d.
* use struct in sync committee test
* v3
* use InitializeFromProtoUnsafe in mock
* use version information
* Revert "Auxiliary commit to revert individual files from 6bb528c2c5df2446ad18450009f63f44318d41a9"
This reverts commit 5d5e6f2884d21caec7530c16ad2a0d0d27c44aa1.
* revert changes to ClearPreGenesisData
* fix build error
* remove error from PreGenesisState
* bzl
* Save sync tips to DB
* Fix build
* Update process_block_test.go
* Copy map
* Revert back to nil
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* save work
* current progress
* fix it more
* save progress
* fixes so far
* add signature test
* fix up changes so far
* change to latest
* update lighthouse version
* fix build
* fix again
* do one
* clean up
* fix build
* fix it
* fix test
* change tag
* remove e2e
* Update config/params/testnet_e2e_config.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* update
* Update sha
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prestonvanloon <preston@prysmaticlabs.com>
* state related cleanup
* remove unused imports
* radek's review
* fix for native state
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* deprecate all of it
* handle empty slice
* fix bad bug
* fix it
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* imported -> local
* reverting to the state of the PR at eb1e3c3d1
* use changes from develop
* del
* rem patch
* patch
* rename to local
* gazelle
* add back build
* imported rename
* gaz
* local
* merge fix + remove proto changes
* comment revert
* build
* gofmt and one new reference
* gofmt pt2
* Update validator/accounts/wallet_edit.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update validator/rpc/accounts.go
* rename
* gaz
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
* starting
* Reimplement store
* begin on proposer boost
* implement fork choice proposer boost algorithm
* boosting
* gaz
* add mutexes and previous root
* comment on compute proposer boost
* safe
* rem todo
* reset and add tests
* unit test for proposer boost score
* boost works
* Can process block
* Basic test case passing
* ex ante
* test
* propoer test
* More progresses
* More fixes
* rm unused pieces
* Refactor, add phase 0
* locks
* vanilla ex-ante attack
* test similar to spec test
* works works works
* boost test working for num votes > proposer boost weight
* commentary fixes
* rem unused
* comments
* Proposer boost use store time
* Reset proposer root
* debugging
* passing
* Rm unused visibility imports
* Move update head to better place
* Fix deepsrc complains
* Fix more complains
* Raul's feedback
* Use correct byte lengths
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* initial commit for cli integration of web3signer
* resolving conflicts and execution
* remove aggregation slot from proto
* rem aggregation slot
* define a sync message block root struct
* fix sync message name
* sync message block root struct
* amend where sync committee block root is used
* altered switch statement to return correct json request by type
* fixing fork data import, types, and unit tests
* reverting unwanted changes
* reverting more unwanted changes
* fixing deepsource issues
* fixing formatting
* more fixes for deepsource and code clean up
* only want to fetch once for fetch validating public keys
* adding more comments
* new unit tests for requests and fixing a mapper issue
* Update validator/client/validator.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/accounts/wallet/wallet.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* adjusting comment
* adjusting comment
* fixing import organization
* including more unit tests
* adding new cli edit
* adding in checks for wallet initialize
* adding web3signer flags to main.go
* some how resolved files did not save correctly
* adding in check to make sure web flag only works with types imported and derived
* Update validator/client/sync_committee.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/client/aggregate.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/accounts/wallet/wallet.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update cmd/validator/wallet/wallet.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update cmd/validator/wallet/wallet.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update cmd/validator/main.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update cmd/validator/flags/flags.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update cmd/validator/flags/flags.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update cmd/validator/wallet/wallet.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update cmd/validator/wallet/wallet.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* reverting changes that accidently got checked in
* reverting
* reverting
* continuing to revert unintenteded changes
* reverting
* removing more unneeded changes
* addressing review comment
* initial refactor
* adding in more clarifying comments
* fixing mock
* resolving desource issues
* addressing gosec scan for helper go file
* addressing gosec
* trying to fix bazel build
* removal of interface to fix build
* fixing maligned struct
* addressing deepsource
* fixing deepsource
* addressing efficiency of type checking
* fixing bazel test failure
* fixing go linter errors
* gaz
* web changes
* add w3signer
* new kind
* proper use
* align
* adding prysm validator flags to help flags list
* addressing root comment
* ci lint
* fixing standardapi tests
* fixing accounts_test after removal of keymanager from rpc server
* fixing more unit tests
* Update cmd/validator/flags/flags.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update cmd/validator/flags/flags.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/client/service.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/client/service.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* addressing missed err checks
* fixing mock tests
* fixing gofmt
* unskipping minimal e2e test and removing related TODOs
* Update testing/endtoend/components/validator.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* Update testing/endtoend/components/validator.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* adding some error wrapers to clarify failure point
* fixing bazel build with new error checks
* taking preston's advice to make test fail faster to understand what's going on with the test
* checking if genesis validators root is not zero hash
* adding check for genesis validators root giving zero hash
* fixing missing dependency
* adding check for wallet
* log all
* fixing errors for http responses
* switching marshal to pretty print
* adding pretty sign request test
* fixing base url setting
* adding in check for web3signer and temporary wallet instead of having to open the wallet
* refactoring web3signer to not require wallet
* bazel build fix
* fixing gazelle build
* adding content type of request
* fixing more bazel
* removing unused code
* removing unused comments
* adding skip test back in
* addressing a validation and error message
* fix parse
* body
* fixing logic for datadir
* improving error handling
* show resp
* fix
* sign resp as str
* point of pointer remove
* sign resp
* unmarshal sig resp
* read body as str
* adding more verbose logging
* removing unused result
* fixing unit test
* reconfiguring files to properly nest code and mocks
* fix build issue
* using context when using client function calls
* fixing based on suggestion
* addressing comments
* gaz
* removing defined max timeout
* reverting json print pretty
* Update validator/accounts/wallet_edit.go
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* removing unneeded code restrictions
* should not introduce new code that may impact existing key manager types
* adjusting comments
* adding in json validation
* running go mod tidy
* some logging
* more logs
* fixing typo
* remove logs
* testing without byte trim
* fixing order or properties
* gaz
* tidy
* reverting some logs
* removing the confusing comments
* Update validator/client/aggregate.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/client/aggregate.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* addressing pr comments
* editing bytes test
* Run gazelle update-repos
* run gazelle
* improving unit test coverage
* fixing text
* fixing a potential escaped error
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
* begin on proposer boost
* implement fork choice proposer boost algorithm
* boosting
* gaz
* add mutexes and previous root
* comment on compute proposer boost
* safe
* rem todo
* reset and add tests
* unit test for proposer boost score
* boost works
* ex ante
* test
* propoer test
* vanilla ex-ante attack
* test similar to spec test
* works works works
* boost test working for num votes > proposer boost weight
* commentary fixes
* rem unused
* comments
* boost necessary to sandwich unit test
* sad path
* gaz
* Update beacon-chain/forkchoice/protoarray/proposer_boost.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/forkchoice/protoarray/proposer_boost.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/forkchoice/protoarray/proposer_boost_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/forkchoice/protoarray/proposer_boost_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/forkchoice/protoarray/proposer_boost_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/forkchoice/protoarray/proposer_boost_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/forkchoice/protoarray/proposer_boost_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* Update beacon-chain/forkchoice/protoarray/proposer_boost_test.go
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
* gaz
* radek comments
* reset boosted root in on new slot
* pass
* broken tests
* cfg test
* modify e2e config
* Revert e2e changes
* Test
* Test again
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
* Add basic fuzz test
* Add a few tests for HTR utils
* gofmt
* Add requirement for fuzz gotag
* Run gaz and fix tags
* Update pubsub_fuzz_test.go
I'll fix this later
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Delete deploy contract tool. Move mock to its own package as testonly with some helper functions
* gofmt contracts/deposit/mock/mock.go
* move stategen mock.go to its on testonly pkg
* move password_reader_mock.go to mock testonly package
* move mock keymanager to its own testonly package
* move attestations mock
* move voluntaryexits mock
* Move slashings mock to mock pkg
* move the slasher mock
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Rename BeaconBlockBodyMerge to BeaconBlockBodyBellatrix
* Rename SignedBeaconBlockMerge to SignedBeaconBlockBellatrix
* Rename CopyBeaconBlockMerge to CopyBeaconBlockMerge
* Rename NewBeaconBlockMerge to NewBeaconBlockBellatrix
* Rename BeaconBlockMerge to BeaconBlockBellatrix
* Rename some comments and strings in pkg proto: Merge -> Bellatrix
* Rename PbMergeBlock to PbBellatrixBlock
* Many renames of merge -> bellatrix in proto package
* Rename some Merge -> Bellatrix in beacon chain package
* More names
* Fix formating in config/params/config.go
* Rename Merge -> Bellatrix in proto/prysm/storage
* Several renames and corrections Merge -> Bellatrix
Co-authored-by: Potuz <potuz@potuz.net>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Potuz <potuz@potuz.net>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* Add store with tests
* Rm genesis time
* Previous finalized
* Go fmt
* Update beacon-chain/blockchain/store/type.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* adding proto wrapper for BeaconState
* remove BUILD.bazel file spelling mistake
* address terence review comments
* remove capitalization
Co-authored-by: Nishant Das <nishdas93@gmail.com>
* renamed as storage, use v1alpha1 ojects
* fix lint in the generated file
* store state as ssz bytes
* added a seperate version for managing storage
* goimports generated files to satisfy lint
* changed proto to oneof
Co-authored-by: Nishant Das <nishdas93@gmail.com>
To increase DRY and enable DRY in tests and other users of the Beacon Chain state package,
an error that was duplicated unnecessarily in each version of the state is moved to the root
Beacon Chain state package.
* Deduplicate sync committee indices from state
* Deduplicate code in listblocks RPC endpoints, which only differ in response object
* Deduplicate test code in config/fieldparams
* Delete stale benchmark target. This is already included in go_default_test
* deduplicate test cases in TestIsSlashableValidator_OK and fix blst
BUILD file
* Deduplicate TestStore_IsFinalizedChildBlock
* Revert crypto/bls/blst/BUILD.bazel
* Deduplicate TestStore_SaveBlock_NoDuplicates
* Use a generic wrapper for beacon blocks to streamline test
* Deduplicate TestStore_BlocksCRUD
* Deduplicate TestStore_BlocksHandleZeroCase
* Deduplicate TestStore_BlocksBatchDelete
* deduplicate TestStore_BlocksHandleInvalidEndSlot
* Deduplicate TestStore_BlocksCRUD_NoCache
* Deduplicate common block test setup. Make TestStore_Blocks_FiltersCorrectly support multiple forks in test
* Deduplicate the rest of these tests
* lint
* Deprecation warning
* Add test for WrappedSignedBeaconBlock
* Test error path
* initial commit
* fixing some types and renaming file
* initial map function commit and moving to a v1 folder
* adding in remaining mapper functions and comments for types and initial commit on unit tests
* adding readme
* fixing unit tests and errors caught
* fixed a few missed properties and names
* updating error handling to be more descriptive
* Update validator/keymanager/remote-web3signer/client_test.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/keymanager/remote-web3signer/keymanager.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/keymanager/remote-web3signer/v1/custom_mappers.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/keymanager/remote-web3signer/v1/custom_mappers.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* fixing comments
* fixing comments
* adding more error checks
* Update validator/keymanager/remote-web3signer/client.go
* fmt and bazel build
* fixing unit tests
* lint needed
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Add merge spectests
* fix build
* gazelle
* operation
* all tests should pass
* go fmt
* fix test
* fix dependency
* rm unused constants
* rename to bellatrix
* Gaz
* Rm unused files
* Use Bellatrix for test names
* Add more spec tests
* Gaz and fix test
* sync with dev
* Preston's feedback
* Go fmt
* sync with dev
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
* Rename BeaconStateMerge to BeaconStateBellatrix
* Rename version.Merge to version.Bellatrix
* Rename ComputeFieldRootsWithHasherMerge to ComputeFieldRootsWithHasherBellatrix
* Rename test names to Bellatrix
* Rename comments and strings to Bellatrix
* Fix formatting in a few files
* Revert wrong renaming in test name
* Revert renaming to Bellatrix in mainnet_config.go
* Revert renaming of db key without migration
* Regenerate from proto changes
* Rename new use of already renamed symbols
* gofmt and goimports after regenerating protofiles
* revert weird imports
Co-authored-by: prestonvanloon <preston@prysmaticlabs.com>
* Extract gossip topic without a full copy via strings.Split
* Add basic benchmark
* gofmt
* Add empty topic test case
* Remove nl
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* initial commit for work on web3signer-keymanager
* WIP key manager client
* adding in more valid unit tests
* refactoring some of my code to work better with current implementations
* adding comments, some error situations and fixing unit tests
* updating go.mod
* gaz
* addressing sandbox errors on test
* fixing more sand box debug items
* missed yet another error case on my test
* reverting go.mod
* addressing comments
* missed removal of unit test
* removing some deepsource issues
* adjusting based on review comments
* addressing comments
* adding the missed types
* changing public keys to only pull once
* fixing commented code format
* gaz
* Update validator/keymanager/remote-web3signer/keymanager.go
updating comments
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/keymanager/remote-web3signer/keymanager.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/keymanager/remote-web3signer/keymanager.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/keymanager/remote-web3signer/keymanager.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/keymanager/remote-web3signer/keymanager.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/keymanager/remote-web3signer/keymanager.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Update validator/keymanager/remote-web3signer/client.go
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* fixing conflicts
* addressing comments
* fixing deepsource issues
* more deep source issue fix
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
* Minor cleanups on monitor service
* Update tests
* Update process_block_test.go
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
@@ -190,7 +190,7 @@ Anyone can become a part-time contributor and help out on implementing Ethereum
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:
- Stay up to date on the latest beacon chain sepcification
- Stay up to date on the latest beacon chain specification
- Monitor github issues and PR’s to make sure owner, labels, descriptions are correct
- Formulate independent ideas, suggest new work to do, point out improvements to existing approaches
- Participate in code review, ensure code quality is excellent, and have ensure high code coverage
@@ -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.
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.