Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( TaskName = "generate_batch_deposits" TaskDescriptor = &types.TaskDescriptor{ Name: TaskName, Description: "Generates valid unique deposits and forwards them through a BatchDeposit contract in batchSize-sized transactions. Optionally deploys the contract first.", Category: "validator", Config: DefaultConfig(), Outputs: []types.TaskOutputDefinition{ { Name: "batchContract", Type: outputTypeString, Description: "Address of the BatchDeposit forwarder contract used (deployed by this task if batchContract was empty).", }, { Name: "validatorPubkeys", Type: outputTypeArray, Description: "Array of validator public keys for all generated deposits.", }, { Name: "batchTransactions", Type: outputTypeArray, Description: "Array of batch transaction hashes (one per submitted batch).", }, { Name: "batchReceipts", Type: outputTypeArray, Description: "Array of batch transaction receipts (when awaitReceipt is enabled).", }, { Name: "includedDeposits", Type: outputTypeNumber, 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 `` /* 143-byte string literal not displayed */
LimitTotal int `yaml:"limitTotal" json:"limitTotal" require:"A.2" desc:"Total limit on the number of deposits to generate."`
LimitPendingBatches int `` /* 130-byte string literal not displayed */
Mnemonic string `yaml:"mnemonic" json:"mnemonic" require:"B" 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."`
WalletPrivkey string `` /* 163-byte string literal not displayed */
DepositContract string `` /* 133-byte string literal not displayed */
BatchContract string `` /* 166-byte string literal not displayed */
BatchSize int `yaml:"batchSize" json:"batchSize" desc:"Number of deposits to bundle into a single transaction. Default 100."`
BatchTxGasLimit uint64 `yaml:"batchTxGasLimit" json:"batchTxGasLimit" desc:"Gas limit for each batched deposit transaction. Default 12,000,000."`
DepositAmount uint64 `yaml:"depositAmount" json:"depositAmount" desc:"Amount of ETH to deposit per validator. Default 32 ETH."`
DepositTxFeeCap int64 `yaml:"depositTxFeeCap" json:"depositTxFeeCap" desc:"Maximum fee cap (in wei) for batch transactions."`
DepositTxTipCap int64 `yaml:"depositTxTipCap" json:"depositTxTipCap" desc:"Maximum priority tip (in wei) for batch transactions."`
WithdrawalCredentials string `` /* 221-byte string literal not displayed */
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 batch transaction receipts on the execution layer before completing."`
FailOnReject bool `yaml:"failOnReject" json:"failOnReject" desc:"Fail the task if any batch transaction is rejected."`
AwaitInclusion bool `` /* 133-byte string literal not displayed */
InvalidSigPercent int `` /* 133-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.