mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-05 09:14:28 +00:00
db687bf56d
* 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>
36 lines
1.7 KiB
Go
36 lines
1.7 KiB
Go
package validator_service_config
|
|
|
|
import (
|
|
"github.com/ethereum/go-ethereum/common"
|
|
field_params "github.com/prysmaticlabs/prysm/config/fieldparams"
|
|
)
|
|
|
|
// ProposerSettingsPayload is the struct representation of the JSON or YAML payload set in the validator through the CLI.
|
|
// ProposeConfig is the map of validator address to fee recipient options all in hex format.
|
|
// DefaultConfig is the default fee recipient address for all validators unless otherwise specified in the propose config.required.
|
|
type ProposerSettingsPayload struct {
|
|
ProposeConfig map[string]*ProposerOptionPayload `json:"proposer_config" yaml:"proposer_config"`
|
|
DefaultConfig *ProposerOptionPayload `json:"default_config" yaml:"default_config"`
|
|
}
|
|
|
|
// ProposerOptionPayload is the struct representation of the JSON config file set in the validator through the CLI.
|
|
// FeeRecipient is set to an eth address in hex string format with 0x prefix.
|
|
// GasLimit is a number set to help the network decide on the maximum gas in each block.
|
|
type ProposerOptionPayload struct {
|
|
FeeRecipient string `json:"fee_recipient" yaml:"fee_recipient"`
|
|
GasLimit uint64 `json:"gas_limit,omitempty" yaml:"gas_limit,omitempty"`
|
|
}
|
|
|
|
// ProposerSettings is a Prysm internal representation of the fee recipient config on the validator client.
|
|
// ProposerSettingsPayload maps to ProposerSettings on import through the CLI.
|
|
type ProposerSettings struct {
|
|
ProposeConfig map[[field_params.BLSPubkeyLength]byte]*ProposerOption
|
|
DefaultConfig *ProposerOption
|
|
}
|
|
|
|
// ProposerOption is a Prysm internal representation of the ProposerOptionPayload on the validator client in bytes format instead of hex.
|
|
type ProposerOption struct {
|
|
FeeRecipient common.Address
|
|
GasLimit uint64
|
|
}
|