Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( TaskName = "generate_deposits" TaskDescriptor = &types.TaskDescriptor{ Name: TaskName, Description: "Generates deposits and sends them to the network", Category: "validator", Config: DefaultConfig(), Outputs: []types.TaskOutputDefinition{ { Name: "validatorPubkeys", Type: "array", Description: "Array of validator public keys for the deposits.", }, { Name: "depositTransactions", Type: "array", Description: "Array of deposit transaction hashes.", }, { Name: "depositReceipts", Type: "array", Description: "Array of deposit transaction receipts.", }, { Name: "includedDeposits", Type: "number", Description: "Number of deposits included on beacon chain (when awaitInclusion is enabled).", }, }, NewTask: NewTask, } )
Functions ¶
func NewTask ¶
func NewTask(ctx *types.TaskContext, options *types.TaskOptions) (types.Task, error)
Types ¶
type Config ¶
type Config struct {
LimitPerSlot int `yaml:"limitPerSlot" json:"limitPerSlot" require:"A.1" desc:"Maximum number of deposit operations to generate per slot."`
LimitTotal int `yaml:"limitTotal" json:"limitTotal" require:"A.2" desc:"Total limit on the number of deposit operations to generate."`
LimitPending int `yaml:"limitPending" json:"limitPending" desc:"Maximum number of pending deposits to allow before waiting."`
Mnemonic string `yaml:"mnemonic" json:"mnemonic" require:"B.1" desc:"Mnemonic phrase used to generate validator keys."`
StartIndex int `yaml:"startIndex" json:"startIndex" desc:"Index within the mnemonic from which to start generating validator keys."`
IndexCount int `yaml:"indexCount" json:"indexCount" require:"A.3" desc:"Number of validator keys to generate from the mnemonic."`
PublicKey string `` /* 135-byte string literal not displayed */
WalletPrivkey string `yaml:"walletPrivkey" json:"walletPrivkey" require:"C" desc:"Private key of the wallet used to fund deposit transactions."`
DepositContract string `yaml:"depositContract" json:"depositContract" require:"D" desc:"Address of the deposit contract on the execution layer."`
DepositAmount uint64 `yaml:"depositAmount" json:"depositAmount" desc:"Amount of ETH to deposit per validator."`
DepositTxFeeCap int64 `yaml:"depositTxFeeCap" json:"depositTxFeeCap" desc:"Maximum fee cap (in wei) for deposit transactions."`
DepositTxTipCap int64 `yaml:"depositTxTipCap" json:"depositTxTipCap" desc:"Maximum priority tip (in wei) for deposit transactions."`
WithdrawalCredentials string `yaml:"withdrawalCredentials" json:"withdrawalCredentials" desc:"Custom withdrawal credentials to use for deposits."`
TopUpDeposit bool `yaml:"topUpDeposit" json:"topUpDeposit" desc:"If true, add to existing validator balance instead of creating new validators."`
ClientPattern string `` /* 127-byte string literal not displayed */
ExcludeClientPattern string `yaml:"excludeClientPattern" json:"excludeClientPattern" desc:"Regex pattern to exclude certain client endpoints."`
AwaitReceipt bool `yaml:"awaitReceipt" json:"awaitReceipt" desc:"Wait for transaction receipts on the execution layer before completing."`
FailOnReject bool `yaml:"failOnReject" json:"failOnReject" desc:"Fail the task if any deposit transaction is rejected."`
AwaitInclusion bool `yaml:"awaitInclusion" json:"awaitInclusion" desc:"Wait for deposits to be included in beacon blocks before completing."`
DepositTransactionsResultVar string `` /* 134-byte string literal not displayed */
DepositReceiptsResultVar string `` /* 126-byte string literal not displayed */
ValidatorPubkeysResultVar string `` /* 128-byte string literal not displayed */
}
func DefaultConfig ¶
func DefaultConfig() Config
type Task ¶
type Task struct {
// contains filtered or unexported fields
}
func (*Task) LoadConfig ¶
Click to show internal directories.
Click to hide internal directories.