Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( TaskName = "generate_consolidations" TaskDescriptor = &types.TaskDescriptor{ Name: TaskName, Description: "Generates consolidations and sends them to the network", Category: "validator", Config: DefaultConfig(), Outputs: []types.TaskOutputDefinition{ { Name: "transactionHashes", Type: "array", Description: "Array of consolidation transaction hashes.", }, { Name: "transactionReceipts", Type: "array", Description: "Array of consolidation 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" desc:"Maximum number of consolidation requests to generate per slot."`
LimitTotal int `yaml:"limitTotal" json:"limitTotal" require:"A.1" desc:"Total limit on the number of consolidation requests to generate."`
LimitPending int `yaml:"limitPending" json:"limitPending" desc:"Maximum number of pending consolidation requests to allow before waiting."`
SourceMnemonic string `yaml:"sourceMnemonic" json:"sourceMnemonic" require:"B.1" desc:"Mnemonic phrase to derive source validator keys."`
SourceStartIndex int `` /* 136-byte string literal not displayed */
SourceStartValidatorIndex *uint64 `` /* 134-byte string literal not displayed */
SourceIndexCount int `yaml:"sourceIndexCount" json:"sourceIndexCount" require:"A.2" desc:"Number of source validators to consolidate."`
TargetPublicKey string `yaml:"targetPublicKey" json:"targetPublicKey" require:"C.1" desc:"Public key of the target validator to consolidate into."`
TargetValidatorIndex *uint64 `` /* 137-byte string literal not displayed */
ConsolidationEpoch *uint64 `yaml:"consolidationEpoch" json:"consolidationEpoch" desc:"Epoch at which consolidation should occur."`
WalletPrivkey string `yaml:"walletPrivkey" json:"walletPrivkey" desc:"Private key of the wallet used to send consolidation request transactions."`
ConsolidationContract string `yaml:"consolidationContract" json:"consolidationContract" desc:"Address of the consolidation request contract."`
TxAmount *big.Int `yaml:"txAmount" json:"txAmount" desc:"Amount of ETH to send with the consolidation request transaction."`
TxFeeCap *big.Int `yaml:"txFeeCap" json:"txFeeCap" desc:"Maximum fee cap (in wei) for consolidation request transactions."`
TxTipCap *big.Int `yaml:"txTipCap" json:"txTipCap" desc:"Maximum priority tip (in wei) for consolidation request transactions."`
TxGasLimit uint64 `yaml:"txGasLimit" json:"txGasLimit" desc:"Gas limit for consolidation 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.