wait

package
v1.4.2 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AndGet

func AndGet[T interface{}](ctx context.Context, pollRate time.Duration, get func() (T, error), predicate func(T) bool) (T, error)

func For

func For(ctx context.Context, rate time.Duration, cb func() (bool, error)) error

func ForBalanceChange added in v1.4.0

func ForBalanceChange(ctx context.Context, client *ethclient.Client, address common.Address, initial *big.Int) (*big.Int, error)

func ForBlock

func ForBlock(ctx context.Context, client BlockCaller, n uint64) error

func ForBlockWithTimestamp

func ForBlockWithTimestamp(ctx context.Context, client BlockCaller, target uint64) error

func ForFinalizationPeriod

func ForFinalizationPeriod(ctx context.Context, client *ethclient.Client, l1ProvingBlockNum *big.Int, l2OutputOracleAddr common.Address) error

ForFinalizationPeriod waits until the L1 chain has progressed far enough that l1ProvingBlockNum has completed the finalization period. This functions polls and can block for a very long time if used on mainnet.

func ForNextBlock

func ForNextBlock(ctx context.Context, client BlockCaller) error

func ForNextSafeBlock added in v1.4.0

func ForNextSafeBlock(ctx context.Context, client BlockCaller) (*types.Block, error)

func ForOutputRootPublished

func ForOutputRootPublished(ctx context.Context, client *ethclient.Client, l2OutputOracleAddr common.Address, l2BlockNumber *big.Int) (uint64, error)

ForOutputRootPublished waits until there is an output published for an L2 block number larger than the supplied l2BlockNumber This function polls and can block for a very long time if used on mainnet. This returns the block number to use for proof generation.

func ForProcessingFullBatch added in v1.3.0

func ForProcessingFullBatch(ctx context.Context, rollupCl *sources.RollupClient) error

func ForReceipt

func ForReceipt(ctx context.Context, client *ethclient.Client, hash common.Hash, status uint64) (*types.Receipt, error)

func ForReceiptFail

func ForReceiptFail(ctx context.Context, client *ethclient.Client, hash common.Hash) (*types.Receipt, error)

func ForReceiptOK

func ForReceiptOK(ctx context.Context, client *ethclient.Client, hash common.Hash) (*types.Receipt, error)

func ForSafeBlock added in v1.4.0

func ForSafeBlock(ctx context.Context, rollupClient *sources.RollupClient, n uint64) error

func ForUnsafeBlock added in v1.4.0

func ForUnsafeBlock(ctx context.Context, rollupCl *sources.RollupClient, n uint64) error

Types

type BlockCaller

type BlockCaller interface {
	BlockByNumber(ctx context.Context, number *big.Int) (*types.Block, error)
	BlockNumber(ctx context.Context) (uint64, error)
}

BlockCaller is a subset of the ethclient.Client interface encompassing methods that query for block information.

Jump to

Keyboard shortcuts

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