Help us shape the future of Go! Take the 2026 Go Developer Survey

types

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: May 6, 2025 License: Apache-2.0, MIT Imports: 13 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 AggsenderInfo

type AggsenderInfo struct {
	AggsenderStatus          AggsenderStatus `json:"aggsender_status"`
	Version                  zkevm.FullVersion
	EpochNotifierDescription string `json:"epoch_notifier_description"`
	NetworkID                uint32 `json:"network_id"`
}

type AggsenderStatus

type AggsenderStatus struct {
	Running   bool                `json:"running"`
	StartTime time.Time           `json:"start_time"`
	Status    AggsenderStatusType `json:"status"`
	LastError string              `json:"last_error"`
}

func (*AggsenderStatus) SetLastError

func (a *AggsenderStatus) SetLastError(err error)

func (*AggsenderStatus) Start

func (a *AggsenderStatus) Start(startTime time.Time)

type AggsenderStatusType

type AggsenderStatusType string
const (
	StatusNone                 AggsenderStatusType = "none"
	StatusCheckingInitialStage AggsenderStatusType = "checking_initial_stage"
	StatusCertificateStage     AggsenderStatusType = "certificate_stage"
)

type BlockNotifier

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

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

type CertificateBuildParams

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

func (c *CertificateBuildParams) EstimatedSize() uint

EstimatedSize returns the estimated size of the certificate

func (*CertificateBuildParams) IsEmpty

func (c *CertificateBuildParams) IsEmpty() bool

IsEmpty returns true if the certificate is empty

func (*CertificateBuildParams) MaxDepositCount

func (c *CertificateBuildParams) MaxDepositCount() uint32

MaxDepoitCount returns the maximum deposit count in the certificate

func (*CertificateBuildParams) NumberOfBlocks

func (c *CertificateBuildParams) NumberOfBlocks() int

NumberOfBlocks returns the number of blocks in the certificate

func (*CertificateBuildParams) NumberOfBridges

func (c *CertificateBuildParams) NumberOfBridges() int

NumberOfBridges returns the number of bridges in the certificate

func (*CertificateBuildParams) NumberOfClaims

func (c *CertificateBuildParams) NumberOfClaims() int

NumberOfClaims returns the number of claims in the certificate

func (*CertificateBuildParams) Range

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

Range create a new CertificateBuildParams with the given range

func (*CertificateBuildParams) String

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

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

ElapsedTimeSinceCreation returns the time elapsed since the certificate was created

func (*CertificateInfo) ID

func (c *CertificateInfo) ID() string

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

func (*CertificateInfo) IsClosed

func (c *CertificateInfo) IsClosed() bool

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

func (*CertificateInfo) StatusString added in v0.0.2

func (c *CertificateInfo) StatusString() string

StatusString returns the string representation of the status

func (*CertificateInfo) String

func (c *CertificateInfo) String() string

type CertificateMetadata

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

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

NewCertificateMetadataFromHash returns a new CertificateMetadata from the given hash

func NewCertificateMetadataFromHash

func NewCertificateMetadataFromHash(hash common.Hash) *CertificateMetadata

NewCertificateMetadataFromHash returns a new CertificateMetadata from the given hash

func (*CertificateMetadata) ToHash

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)
	// GetEpochStatus returns the current status of the epoch
	GetEpochStatus() EpochStatus
	String() string
}

type EpochStatus added in v0.0.2

type EpochStatus struct {
	Epoch        uint64
	PercentEpoch float64
}

type EthClient

type EthClient interface {
	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

Jump to

Keyboard shortcuts

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