Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( TaskName = "generate_withdrawal_requests" TaskDescriptor = &types.TaskDescriptor{ Name: TaskName, Description: "Generates el triggered withdrawal or exit requests and sends them to the network", Category: "validator", Config: DefaultConfig(), Outputs: []types.TaskOutputDefinition{ { Name: "transactionHashes", Type: "array", Description: "Array of el triggered withdrawal or exit transaction hashes.", }, { Name: "transactionReceipts", Type: "array", Description: "Array of el triggered withdrawal or exit transaction receipts.", }, }, 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 withdrawal requests to generate per slot."`
LimitTotal int `yaml:"limitTotal" json:"limitTotal" require:"A.2" desc:"Total limit on the number of withdrawal requests to generate."`
LimitPending int `yaml:"limitPending" json:"limitPending" desc:"Maximum number of pending withdrawal requests to allow before waiting."`
SourcePubkey string `yaml:"sourcePubkey" json:"sourcePubkey" require:"B.1" desc:"Public key of the validator to withdraw from."`
SourceMnemonic string `yaml:"sourceMnemonic" json:"sourceMnemonic" require:"B.2" desc:"Mnemonic phrase to derive validator keys for withdrawal."`
SourceStartIndex int `` /* 129-byte string literal not displayed */
SourceStartValidatorIndex *uint64 `` /* 136-byte string literal not displayed */
SourceIndexCount int `yaml:"sourceIndexCount" json:"sourceIndexCount" desc:"Number of validators to generate withdrawal requests for."`
WithdrawAmount uint64 `` /* 163-byte string literal not displayed */
WalletPrivkey string `` /* 132-byte string literal not displayed */
WithdrawalContract string `yaml:"withdrawalContract" json:"withdrawalContract" desc:"Address of the withdrawal request contract."`
TxAmount *big.Int `yaml:"txAmount" json:"txAmount" desc:"Amount of ETH to send with the withdrawal request transaction."`
TxFeeCap *big.Int `yaml:"txFeeCap" json:"txFeeCap" desc:"Maximum fee cap (in wei) for withdrawal request transactions."`
TxTipCap *big.Int `yaml:"txTipCap" json:"txTipCap" desc:"Maximum priority tip (in wei) for withdrawal request transactions."`
TxGasLimit uint64 `yaml:"txGasLimit" json:"txGasLimit" desc:"Gas limit for withdrawal request transactions."`
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 before completing."`
FailOnReject bool `yaml:"failOnReject" json:"failOnReject" desc:"Fail the task if any transaction is rejected."`
}
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.