Documentation
¶
Index ¶
- Constants
- type Aggregator
- func (agg *Aggregator) AddNewTask(batchMerkleRoot [32]byte, senderAddress [20]byte, taskCreatedBlock uint32)
- func (agg *Aggregator) ClearTasksFromMaps()
- func (agg *Aggregator) GetTaskIndex(batchIdentifierHash [32]byte) (uint32, error)
- func (agg *Aggregator) InitializeNewTaskRetryable(batchIndex uint32, taskCreatedBlock uint32, quorumNums eigentypes.QuorumNums, ...) error
- func (agg *Aggregator) ProcessOperatorSignedTaskResponseV2(signedTaskResponse *types.SignedTaskResponse, reply *uint8) error
- func (agg *Aggregator) ServeOperators() error
- func (agg *Aggregator) ServerRunning(_ *struct{}, reply *int64) error
- func (agg *Aggregator) Start(ctx context.Context) error
- func (agg *Aggregator) SubscribeToNewTasks() error
- type BatchData
- type OperatorResponseMessage
- type QuorumReachedMessage
- type TaskErrorMessage
- type TaskGasPriceBumpMessage
- type TaskResponses
- type TaskSentToEthereumMessage
- type Telemetry
- func (t *Telemetry) BumpedTaskGasPrice(batchMerkleRoot [32]byte, bumpedGasPrice string)
- func (t *Telemetry) FinishTrace(batchMerkleRoot [32]byte)
- func (t *Telemetry) InitNewTrace(batchMerkleRoot [32]byte)
- func (t *Telemetry) LogOperatorResponse(batchMerkleRoot [32]byte, operatorId [32]byte)
- func (t *Telemetry) LogQuorumReached(batchMerkleRoot [32]byte)
- func (t *Telemetry) LogTaskError(batchMerkleRoot [32]byte, taskError error)
- func (t *Telemetry) TaskSentToEthereum(batchMerkleRoot [32]byte, txHash string)
- type TraceMessage
Constants ¶
const MaxSentTxRetries = 5
const QUORUM_NUMBER = byte(0)
FIXME(marian): Read this from Aligned contract directly
const QUORUM_THRESHOLD = byte(67)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Aggregator ¶
type Aggregator struct { AggregatorConfig *config.AggregatorConfig NewBatchChan chan *servicemanager.ContractAlignedLayerServiceManagerNewBatchV3 // contains filtered or unexported fields }
func NewAggregator ¶
func NewAggregator(aggregatorConfig config.AggregatorConfig) (*Aggregator, error)
func (*Aggregator) AddNewTask ¶
func (agg *Aggregator) AddNewTask(batchMerkleRoot [32]byte, senderAddress [20]byte, taskCreatedBlock uint32)
func (*Aggregator) ClearTasksFromMaps ¶
func (agg *Aggregator) ClearTasksFromMaps()
Long-lived goroutine that periodically checks and removes old Tasks from stored Maps It runs every GarbageCollectorPeriod and removes all tasks older than GarbageCollectorTasksAge This was added because each task occupies memory in the maps, and we need to free it to avoid a memory leak
func (*Aggregator) GetTaskIndex ¶
func (agg *Aggregator) GetTaskIndex(batchIdentifierHash [32]byte) (uint32, error)
func (*Aggregator) InitializeNewTaskRetryable ¶
func (agg *Aggregator) InitializeNewTaskRetryable(batchIndex uint32, taskCreatedBlock uint32, quorumNums eigentypes.QuorumNums, quorumThresholdPercentages eigentypes.QuorumThresholdPercentages, timeToExpiry time.Duration) error
InitializeNewTaskRetryable Initialize a new task in the BLS Aggregation service
- Errors: Permanent:
- TaskAlreadyInitializedError (Permanent): Task is already intialized in the BLS Aggregation service (https://github.com/Layr-Labs/eigensdk-go/blob/dev/services/bls_aggregation/blsagg.go#L27). Transient:
- All others.
- Retry times (3 retries): 1 sec, 2 sec, 4 sec
func (*Aggregator) ProcessOperatorSignedTaskResponseV2 ¶
func (agg *Aggregator) ProcessOperatorSignedTaskResponseV2(signedTaskResponse *types.SignedTaskResponse, reply *uint8) error
Aggregator Methods This is the list of methods that the Aggregator exposes to the Operator The Operator can call these methods to interact with the Aggregator This methods are automatically registered by the RPC server This takes a response an adds it to the internal. If reaching the quorum, it sends the aggregated signatures to ethereum Returns:
- 0: Success
- 1: Error
func (*Aggregator) ServeOperators ¶
func (agg *Aggregator) ServeOperators() error
func (*Aggregator) ServerRunning ¶
func (agg *Aggregator) ServerRunning(_ *struct{}, reply *int64) error
Dummy method to check if the server is running TODO: Remove this method in prod
func (*Aggregator) SubscribeToNewTasks ¶
func (agg *Aggregator) SubscribeToNewTasks() error
type BatchData ¶
BatchData stores the data of a batch, for use in map BatchIdentifierHash -> BatchData
type OperatorResponseMessage ¶
type QuorumReachedMessage ¶
type QuorumReachedMessage struct {
MerkleRoot string `json:"merkle_root"`
}
type TaskErrorMessage ¶
type TaskGasPriceBumpMessage ¶
type TaskResponses ¶
type TaskResponses = []types.SignedTaskResponse
Aggregator stores TaskResponse for a task here
type Telemetry ¶
type Telemetry struct {
// contains filtered or unexported fields
}
func (*Telemetry) BumpedTaskGasPrice ¶
func (*Telemetry) FinishTrace ¶
func (*Telemetry) InitNewTrace ¶
func (*Telemetry) LogOperatorResponse ¶
func (*Telemetry) LogQuorumReached ¶
func (*Telemetry) LogTaskError ¶
func (*Telemetry) TaskSentToEthereum ¶
type TraceMessage ¶
type TraceMessage struct {
MerkleRoot string `json:"merkle_root"`
}