Documentation ¶
Index ¶
- Constants
- type Aggregator
- func (agg *Aggregator) AddNewTask(batchMerkleRoot [32]byte, senderAddress [20]byte, taskCreatedBlock uint32)
- func (agg *Aggregator) ClearTasksFromMaps()
- 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 TaskResponses
- type Telemetry
- 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)
- type TraceMessage
Constants ¶
const BLS_AGG_SERVICE_TIMEOUT = 100 * time.Second
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 ¶ added in v0.10.0
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) ProcessOperatorSignedTaskResponseV2 ¶ added in v0.5.0
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 ¶ added in v0.5.0
BatchData stores the data of a batch, for use in map BatchIdentifierHash -> BatchData
type OperatorResponseMessage ¶ added in v0.9.0
type QuorumReachedMessage ¶ added in v0.9.0
type QuorumReachedMessage struct {
MerkleRoot string `json:"merkle_root"`
}
type TaskErrorMessage ¶ added in v0.9.0
type TaskResponses ¶ added in v0.1.3
type TaskResponses = []types.SignedTaskResponse
Aggregator stores TaskResponse for a task here
type Telemetry ¶ added in v0.9.0
type Telemetry struct {
// contains filtered or unexported fields
}
func NewTelemetry ¶ added in v0.9.0
func (*Telemetry) FinishTrace ¶ added in v0.9.0
func (*Telemetry) InitNewTrace ¶ added in v0.9.0
func (*Telemetry) LogOperatorResponse ¶ added in v0.9.0
func (*Telemetry) LogQuorumReached ¶ added in v0.9.0
func (*Telemetry) LogTaskError ¶ added in v0.9.0
type TraceMessage ¶ added in v0.9.0
type TraceMessage struct {
MerkleRoot string `json:"merkle_root"`
}