Documentation
¶
Index ¶
Constants ¶
const (
AutomaticBlockInterval = time.Second * 0
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AggSender ¶
type AggSender struct {
// contains filtered or unexported fields
}
AggSender is a component that will send certificates to the aggLayer
func New ¶
func New( ctx context.Context, logger *log.Logger, cfg config.Config, aggLayerClient agglayer.AgglayerClientInterface, l1InfoTreeSyncer *l1infotreesync.L1InfoTreeSync, l2Syncer types.L2BridgeSyncer, epochNotifier types.EpochNotifier, l1Client types.EthClient, l2Client types.EthClient) (*AggSender, error)
New returns a new AggSender instance
func (*AggSender) GetRPCServices ¶
GetRPCServices returns the list of services that the RPC provider exposes
func (*AggSender) Info ¶
func (a *AggSender) Info() types.AggsenderInfo
type BlockNotifierPolling ¶
type BlockNotifierPolling struct { types.GenericSubscriber[types.EventNewBlock] // contains filtered or unexported fields }
func NewBlockNotifierPolling ¶
func NewBlockNotifierPolling(ethClient types.EthClient, config ConfigBlockNotifierPolling, logger aggkitcommon.Logger, subscriber types.GenericSubscriber[types.EventNewBlock]) (*BlockNotifierPolling, error)
NewBlockNotifierPolling creates a new BlockNotifierPolling. if param `subscriber` is nil a new GenericSubscriberImpl[types.EventNewBlock] will be created. To use this class you need to subscribe and each time that a new block appear the subscriber will be notified through the channel. (check unit tests TestExploratoryBlockNotifierPolling for more information)
func (*BlockNotifierPolling) GetCurrentBlockNumber ¶ added in v0.0.2
func (b *BlockNotifierPolling) GetCurrentBlockNumber() uint64
func (*BlockNotifierPolling) Start ¶
func (b *BlockNotifierPolling) Start(ctx context.Context)
Start starts the BlockNotifierPolling blocking the current goroutine
func (*BlockNotifierPolling) String ¶
func (b *BlockNotifierPolling) String() string
type ConfigBlockNotifierPolling ¶
type ConfigBlockNotifierPolling struct { // BlockFinalityType is the finality of the block to be notified BlockFinalityType etherman.BlockNumberFinality // CheckNewBlockInterval is the interval at which the AggSender will check for new blocks // if is 0 it will be calculated automatically CheckNewBlockInterval time.Duration }
type ConfigEpochNotifierPerBlock ¶
type ConfigEpochNotifierPerBlock struct { StartingEpochBlock uint64 NumBlockPerEpoch uint // EpochNotificationPercentage // 0 -> begin new Epoch // 50 -> middle of epoch // 100 -> end of epoch (same as 0) EpochNotificationPercentage uint }
func NewConfigEpochNotifierPerBlock ¶
func NewConfigEpochNotifierPerBlock(ctx context.Context, aggLayer agglayer.AggLayerClientGetEpochConfiguration, epochNotificationPercentage uint) (*ConfigEpochNotifierPerBlock, error)
func (*ConfigEpochNotifierPerBlock) String ¶
func (c *ConfigEpochNotifierPerBlock) String() string
func (*ConfigEpochNotifierPerBlock) Validate ¶
func (c *ConfigEpochNotifierPerBlock) Validate() error
type EpochNotifierPerBlock ¶
type EpochNotifierPerBlock struct { Config ConfigEpochNotifierPerBlock types.GenericSubscriber[types.EpochEvent] // contains filtered or unexported fields }
func NewEpochNotifierPerBlock ¶
func NewEpochNotifierPerBlock(blockNotifier types.BlockNotifier, logger aggkitcommon.Logger, config ConfigEpochNotifierPerBlock, subscriber types.GenericSubscriber[types.EpochEvent]) (*EpochNotifierPerBlock, error)
func (*EpochNotifierPerBlock) GetEpochStatus ¶ added in v0.0.2
func (e *EpochNotifierPerBlock) GetEpochStatus() types.EpochStatus
GetCurrentStatus returns the current status of the epoch
func (*EpochNotifierPerBlock) Start ¶
func (e *EpochNotifierPerBlock) Start(ctx context.Context)
Start starts the notifier synchronously
func (*EpochNotifierPerBlock) StartAsync ¶
func (e *EpochNotifierPerBlock) StartAsync(ctx context.Context)
StartAsync starts the notifier in a goroutine
func (*EpochNotifierPerBlock) String ¶
func (e *EpochNotifierPerBlock) String() string
type ExtraInfoEventEpoch ¶
type ExtraInfoEventEpoch struct {
PendingBlocks int
}
func (*ExtraInfoEventEpoch) String ¶
func (e *ExtraInfoEventEpoch) String() string
type GenericSubscriberImpl ¶
type GenericSubscriberImpl[T any] struct { // contains filtered or unexported fields }
func NewGenericSubscriberImpl ¶
func NewGenericSubscriberImpl[T any]() *GenericSubscriberImpl[T]
func (*GenericSubscriberImpl[T]) Publish ¶
func (g *GenericSubscriberImpl[T]) Publish(data T)
func (*GenericSubscriberImpl[T]) Subscribe ¶
func (g *GenericSubscriberImpl[T]) Subscribe(subscriberName string) <-chan T