pkg

package
v0.10.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2024 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const BLS_AGG_SERVICE_TIMEOUT = 100 * time.Second
View Source
const MaxSentTxRetries = 5
View Source
const QUORUM_NUMBER = byte(0)

FIXME(marian): Read this from Aligned contract directly

View Source
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) Start

func (agg *Aggregator) Start(ctx context.Context) error

func (*Aggregator) SubscribeToNewTasks

func (agg *Aggregator) SubscribeToNewTasks() error

type BatchData added in v0.5.0

type BatchData struct {
	BatchMerkleRoot [32]byte
	SenderAddress   [20]byte
}

BatchData stores the data of a batch, for use in map BatchIdentifierHash -> BatchData

type OperatorResponseMessage added in v0.9.0

type OperatorResponseMessage struct {
	MerkleRoot string `json:"merkle_root"`
	OperatorId string `json:"operator_id"`
}

type QuorumReachedMessage added in v0.9.0

type QuorumReachedMessage struct {
	MerkleRoot string `json:"merkle_root"`
}

type TaskErrorMessage added in v0.9.0

type TaskErrorMessage struct {
	MerkleRoot string `json:"merkle_root"`
	TaskError  string `json:"error"`
}

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 NewTelemetry(serverAddress string, logger logging.Logger) *Telemetry

func (*Telemetry) FinishTrace added in v0.9.0

func (t *Telemetry) FinishTrace(batchMerkleRoot [32]byte)

func (*Telemetry) InitNewTrace added in v0.9.0

func (t *Telemetry) InitNewTrace(batchMerkleRoot [32]byte)

func (*Telemetry) LogOperatorResponse added in v0.9.0

func (t *Telemetry) LogOperatorResponse(batchMerkleRoot [32]byte, operatorId [32]byte)

func (*Telemetry) LogQuorumReached added in v0.9.0

func (t *Telemetry) LogQuorumReached(batchMerkleRoot [32]byte)

func (*Telemetry) LogTaskError added in v0.9.0

func (t *Telemetry) LogTaskError(batchMerkleRoot [32]byte, taskError error)

type TraceMessage added in v0.9.0

type TraceMessage struct {
	MerkleRoot string `json:"merkle_root"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL