synchronizer

package
v0.0.3-hotfix1 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: AGPL-3.0, AGPL-3.0-or-later Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitStartBlock added in v0.0.3

func InitStartBlock(db *db.DB, l1 config.L1Config) error

InitStartBlock initializes the L1 sync task by finding the inception block for the CDKValidium contract

func UnpackTxData added in v0.0.3

func UnpackTxData(txData []byte) ([]common.Hash, error)

UnpackTxData unpacks the keys in a SequenceBatches event

Types

type BatchSynchronizer

type BatchSynchronizer struct {
	// contains filtered or unexported fields
}

BatchSynchronizer watches for number events, checks if they are "locally" stored, then retrieves and stores missing data

func NewBatchSynchronizer

func NewBatchSynchronizer(
	cfg config.L1Config,
	self common.Address,
	db *db.DB,
	reorgs <-chan BlockReorg,
	ethClient *etherman.Etherman,
	sequencer *sequencer.SequencerTracker,
) (*BatchSynchronizer, error)

NewBatchSynchronizer creates the BatchSynchronizer

func (*BatchSynchronizer) Start

func (bs *BatchSynchronizer) Start()

Start starts the synchronizer

func (*BatchSynchronizer) Stop

func (bs *BatchSynchronizer) Stop()

Stop stops the synchronizer

type BlockReorg

type BlockReorg struct {
	Number uint64
	Hash   ethgo.Hash
}

BlockReorg is emitted to subscribers when a reorg is detected. Number is the block to which the chain rewound.

type ReorgDetector

type ReorgDetector struct {
	// contains filtered or unexported fields
}

ReorgDetector watches for block reorganizations on chain, and sends messages to subscribing components when a reorg is detected.

func NewReorgDetector

func NewReorgDetector(rpcUrl string, pollingPeriod time.Duration) (*ReorgDetector, error)

NewReorgDetector creates a new ReorgDetector

func (*ReorgDetector) Start

func (rd *ReorgDetector) Start() error

Start starts the ReorgDetector tracking for reorg events

func (*ReorgDetector) Stop

func (rd *ReorgDetector) Stop()

Stop stops the chain reorganization detector loop

func (*ReorgDetector) Subscribe

func (rd *ReorgDetector) Subscribe() <-chan BlockReorg

Subscribe returns a channel on which the caller can receive reorg messages

Jump to

Keyboard shortcuts

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