 Documentation
      ¶
      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 aggkittypes.BaseEthereumClienter, l2Client aggkittypes.BaseEthereumClienter) (*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 aggkittypes.BaseEthereumClienter, 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