Documentation
¶
Index ¶
- Constants
- type AggsenderInfo
- type AggsenderStatus
- type AggsenderStatusType
- type BlockNotifier
- type CertificateBuildParams
- func (c *CertificateBuildParams) EstimatedSize() uint
- func (c *CertificateBuildParams) IsEmpty() bool
- func (c *CertificateBuildParams) MaxDepositCount() uint32
- func (c *CertificateBuildParams) NumberOfBlocks() int
- func (c *CertificateBuildParams) NumberOfBridges() int
- func (c *CertificateBuildParams) NumberOfClaims() int
- func (c *CertificateBuildParams) Range(fromBlock, toBlock uint64) (*CertificateBuildParams, error)
- func (c *CertificateBuildParams) String() string
- type CertificateInfo
- type CertificateMetadata
- type EpochEvent
- type EpochNotifier
- type EthClient
- type EventNewBlock
- type GenericSubscriber
- type L1InfoTreeSyncer
- type L2BridgeSyncer
- type Logger
Constants ¶
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
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) 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)
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 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