types

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2024 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EstimatedSizeBridgeExit = 230
	EstimatedSizeClaim      = 8000
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BlockNotifier

type BlockNotifier interface {
	// NotifyEpochStarted notifies the epoch has started.
	Subscribe(id string) <-chan EventNewBlock
	String() string
}

BlockNotifier is the interface that wraps the basic methods to notify a new block.

type CertificateBuildParams added in v0.5.0

type CertificateBuildParams struct {
	FromBlock uint64
	ToBlock   uint64
	Bridges   []bridgesync.Bridge
	Claims    []bridgesync.Claim
	CreatedAt uint32
}

CertificateBuildParams is a struct that holds the parameters to build a certificate

func (*CertificateBuildParams) EstimatedSize added in v0.5.0

func (c *CertificateBuildParams) EstimatedSize() uint

EstimatedSize returns the estimated size of the certificate

func (*CertificateBuildParams) IsEmpty added in v0.5.0

func (c *CertificateBuildParams) IsEmpty() bool

IsEmpty returns true if the certificate is empty

func (*CertificateBuildParams) MaxDepositCount added in v0.5.0

func (c *CertificateBuildParams) MaxDepositCount() uint32

MaxDepoitCount returns the maximum deposit count in the certificate

func (*CertificateBuildParams) NumberOfBlocks added in v0.5.0

func (c *CertificateBuildParams) NumberOfBlocks() int

NumberOfBlocks returns the number of blocks in the certificate

func (*CertificateBuildParams) NumberOfBridges added in v0.5.0

func (c *CertificateBuildParams) NumberOfBridges() int

NumberOfBridges returns the number of bridges in the certificate

func (*CertificateBuildParams) NumberOfClaims added in v0.5.0

func (c *CertificateBuildParams) NumberOfClaims() int

NumberOfClaims returns the number of claims in the certificate

func (*CertificateBuildParams) Range added in v0.5.0

func (c *CertificateBuildParams) Range(fromBlock, toBlock uint64) (*CertificateBuildParams, error)

Range create a new CertificateBuildParams with the given range

func (*CertificateBuildParams) String added in v0.5.0

func (c *CertificateBuildParams) String() string

type CertificateInfo

type CertificateInfo struct {
	Height        uint64      `meddler:"height"`
	RetryCount    int         `meddler:"retry_count"`
	CertificateID common.Hash `meddler:"certificate_id,hash"`
	// PreviousLocalExitRoot if it's nil means no reported
	PreviousLocalExitRoot *common.Hash               `meddler:"previous_local_exit_root,hash"`
	NewLocalExitRoot      common.Hash                `meddler:"new_local_exit_root,hash"`
	FromBlock             uint64                     `meddler:"from_block"`
	ToBlock               uint64                     `meddler:"to_block"`
	Status                agglayer.CertificateStatus `meddler:"status"`
	CreatedAt             uint32                     `meddler:"created_at"`
	UpdatedAt             uint32                     `meddler:"updated_at"`
	SignedCertificate     string                     `meddler:"signed_certificate"`
}

func (*CertificateInfo) ElapsedTimeSinceCreation added in v0.5.0

func (c *CertificateInfo) ElapsedTimeSinceCreation() time.Duration

ElapsedTimeSinceCreation returns the time elapsed since the certificate was created

func (*CertificateInfo) ID added in v0.5.0

func (c *CertificateInfo) ID() string

ID returns a string with the unique identifier of the cerificate (height+certificateID)

func (*CertificateInfo) IsClosed added in v0.5.0

func (c *CertificateInfo) IsClosed() bool

IsClosed returns true if the certificate is closed (settled or inError)

func (*CertificateInfo) String

func (c *CertificateInfo) String() string

type CertificateMetadata added in v0.5.0

type CertificateMetadata struct {
	// ToBlock contains the pre v1 value stored in the metadata certificate field
	// is not stored in the hash post v1
	ToBlock uint64

	// FromBlock is the block number from which the certificate contains data
	FromBlock uint64

	// Offset is the number of blocks from the FromBlock that the certificate contains
	Offset uint32

	// CreatedAt is the timestamp when the certificate was created
	CreatedAt uint32

	// Version is the version of the metadata
	Version uint8
}

func NewCertificateMetadata added in v0.5.0

func NewCertificateMetadata(fromBlock uint64, offset uint32, createdAt uint32) *CertificateMetadata

NewCertificateMetadataFromHash returns a new CertificateMetadata from the given hash

func NewCertificateMetadataFromHash added in v0.5.0

func NewCertificateMetadataFromHash(hash common.Hash) *CertificateMetadata

NewCertificateMetadataFromHash returns a new CertificateMetadata from the given hash

func (*CertificateMetadata) ToHash added in v0.5.0

func (c *CertificateMetadata) ToHash() common.Hash

ToHash returns the hash of the metadata

type EpochEvent

type EpochEvent struct {
	Epoch uint64
	// ExtraInfo if a detailed information about the epoch that depends on implementation
	ExtraInfo fmt.Stringer
}

EpochEvent is the event that notifies the neear end epoch

func (EpochEvent) String

func (e EpochEvent) String() string

type EpochNotifier

type EpochNotifier interface {
	// NotifyEpochStarted notifies the epoch is close to end.
	Subscribe(id string) <-chan EpochEvent
	// Start starts the notifier synchronously
	Start(ctx context.Context)
	String() string
}

type EthClient

type EthClient interface {
	BlockNumber(ctx context.Context) (uint64, error)
	HeaderByNumber(ctx context.Context, number *big.Int) (*types.Header, error)
}

EthClient is an interface defining functions that an EthClient should implement

type EventNewBlock

type EventNewBlock struct {
	BlockNumber       uint64
	BlockFinalityType etherman.BlockNumberFinality
	BlockRate         time.Duration
}

type GenericSubscriber

type GenericSubscriber[T any] interface {
	Subscribe(subscriberName string) <-chan T
	Publish(data T)
}

type L1InfoTreeSyncer

type L1InfoTreeSyncer interface {
	GetInfoByGlobalExitRoot(globalExitRoot common.Hash) (*l1infotreesync.L1InfoTreeLeaf, error)
	GetL1InfoTreeMerkleProofFromIndexToRoot(
		ctx context.Context, index uint32, root common.Hash,
	) (treeTypes.Proof, error)
	GetL1InfoTreeRootByIndex(ctx context.Context, index uint32) (treeTypes.Root, error)
}

L1InfoTreeSyncer is an interface defining functions that an L1InfoTreeSyncer should implement

type L2BridgeSyncer

type L2BridgeSyncer interface {
	GetBlockByLER(ctx context.Context, ler common.Hash) (uint64, error)
	GetExitRootByIndex(ctx context.Context, index uint32) (treeTypes.Root, error)
	GetBridgesPublished(ctx context.Context, fromBlock, toBlock uint64) ([]bridgesync.Bridge, error)
	GetClaims(ctx context.Context, fromBlock, toBlock uint64) ([]bridgesync.Claim, error)
	OriginNetwork() uint32
	BlockFinality() etherman.BlockNumberFinality
	GetLastProcessedBlock(ctx context.Context) (uint64, error)
}

L2BridgeSyncer is an interface defining functions that an L2BridgeSyncer should implement

type Logger

type Logger interface {
	Fatalf(format string, args ...interface{})
	Info(args ...interface{})
	Infof(format string, args ...interface{})
	Error(args ...interface{})
	Errorf(format string, args ...interface{})
	Warn(args ...interface{})
	Warnf(format string, args ...interface{})
	Debug(args ...interface{})
	Debugf(format string, args ...interface{})
}

Logger is an interface that defines the methods to log messages

Jump to

Keyboard shortcuts

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