evm

package
v2.2.0-mercury-20230614 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2023 License: MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoChains = errors.New("no EVM chains loaded")

ErrNoChains indicates that no EVM chains have been started

Functions

func EnsureChains added in v2.1.0

func EnsureChains(db *sqlx.DB, lggr logger.Logger, cfg pg.QConfig, ids []utils.Big) error

Types

type Chain

type Chain interface {
	services.ServiceCtx
	ID() *big.Int
	Client() evmclient.Client
	Config() evmconfig.ChainScopedConfig
	LogBroadcaster() log.Broadcaster
	HeadBroadcaster() httypes.HeadBroadcaster
	TxManager() txmgr.EvmTxManager
	HeadTracker() httypes.HeadTracker
	Logger() logger.Logger
	BalanceMonitor() monitor.BalanceMonitor
	LogPoller() logpoller.LogPoller
	GasEstimator() gas.EvmFeeEstimator

	SendTx(ctx context.Context, from, to string, amount *big.Int, balanceCheck bool) error
}

type ChainSet

type ChainSet interface {
	services.ServiceCtx
	chains.Chains
	chains.Nodes

	Get(id *big.Int) (Chain, error)

	Default() (Chain, error)
	Chains() []Chain
	ChainCount() int

	Configs() types.Configs

	SendTx(ctx context.Context, chainID, from, to string, amount *big.Int, balanceCheck bool) error
}

func NewTOMLChainSet

func NewTOMLChainSet(ctx context.Context, opts ChainSetOpts) (ChainSet, error)

NewTOMLChainSet returns a new ChainSet from TOML configuration.

type ChainSetOpts

type ChainSetOpts struct {
	Config           GeneralConfig
	Logger           logger.Logger
	DB               *sqlx.DB
	KeyStore         keystore.Eth
	EventBroadcaster pg.EventBroadcaster
	Configs          types.Configs
	MailMon          *utils.MailboxMonitor
	GasEstimator     gas.EvmFeeEstimator

	// Gen-functions are useful for dependency injection by tests
	GenEthClient      func(*big.Int) client.Client
	GenLogBroadcaster func(*big.Int) log.Broadcaster
	GenLogPoller      func(*big.Int) logpoller.LogPoller
	GenHeadTracker    func(*big.Int, httypes.HeadBroadcaster) httypes.HeadTracker
	GenTxManager      func(*big.Int) txmgr.EvmTxManager
	GenGasEstimator   func(*big.Int) gas.EvmFeeEstimator
}

type GeneralConfig

type GeneralConfig interface {
	config.AppConfig
	v2.HasEVMConfigs
}

Directories

Path Synopsis
v2
gas
cmd/arbgas
arbgas takes a single URL argument and prints the result of three GetLegacyGas calls to the Arbitrum gas estimator.
arbgas takes a single URL argument and prints the result of three GetLegacyGas calls to the Arbitrum gas estimator.
log
Package logpoller is a service for querying EVM log data.
Package logpoller is a service for querying EVM log data.

Jump to

Keyboard shortcuts

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