evm

package
v2.6.1-mercury-20231117 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2023 License: MIT Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppConfig added in v2.5.0

type AppConfig interface {
	config.AppConfig
	toml.HasEVMConfigs
}

TODO BCF-2509 what is this and does it need the entire app config?

type Chain

type Chain interface {
	types.ChainService

	ID() *big.Int
	Client() evmclient.Client
	Config() evmconfig.ChainScopedConfig
	LogBroadcaster() log.Broadcaster
	HeadBroadcaster() httypes.HeadBroadcaster
	TxManager() txmgr.TxManager
	HeadTracker() httypes.HeadTracker
	Logger() logger.Logger
	BalanceMonitor() monitor.BalanceMonitor
	LogPoller() logpoller.LogPoller
	GasEstimator() gas.EvmFeeEstimator
}

func NewTOMLChain added in v2.5.0

func NewTOMLChain(ctx context.Context, chain *toml.EVMConfig, opts ChainRelayExtenderConfig) (Chain, error)

type ChainOpts added in v2.6.0

type ChainOpts struct {
	AppConfig AppConfig

	EventBroadcaster pg.EventBroadcaster
	MailMon          *utils.MailboxMonitor
	GasEstimator     gas.EvmFeeEstimator

	*sqlx.DB

	// TODO BCF-2513 remove test code from the API
	// 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.TxManager
	GenGasEstimator   func(*big.Int) gas.EvmFeeEstimator
}

func (ChainOpts) Validate added in v2.6.0

func (o ChainOpts) Validate() error

type ChainRelayExtenderConfig added in v2.5.0

type ChainRelayExtenderConfig struct {
	Logger   logger.Logger
	KeyStore keystore.Eth
	ChainOpts
}

func (ChainRelayExtenderConfig) Validate added in v2.6.0

func (c ChainRelayExtenderConfig) Validate() error

type LegacyChainContainer added in v2.5.0

type LegacyChainContainer interface {
	Get(id string) (Chain, error)
	Len() int
	List(ids ...string) ([]Chain, error)
	Slice() []Chain

	// BCF-2516: this is only used for EVMORM. When we delete that
	// we can promote/move the needed funcs from it to LegacyChainContainer
	// so instead of EVMORM().XYZ() we'd have something like legacyChains.XYZ()
	ChainNodeConfigs() evmtypes.Configs
}

LegacyChainContainer is container for EVM chains.

type LegacyChains added in v2.5.0

type LegacyChains struct {
	*chains.ChainsKV[Chain]
	// contains filtered or unexported fields
}

LegacyChains implements LegacyChainContainer

func NewLegacyChains added in v2.5.0

func NewLegacyChains(m map[string]Chain, evmCfgs toml.EVMConfigs) *LegacyChains

func (*LegacyChains) ChainNodeConfigs added in v2.5.0

func (c *LegacyChains) ChainNodeConfigs() evmtypes.Configs

func (*LegacyChains) Get added in v2.5.0

func (c *LegacyChains) Get(id string) (Chain, error)

backward compatibility. eth keys are represented as multiple types in the code base; *big.Int, string, and int64.

TODO BCF-2507 unify the type system

Directories

Path Synopsis
The simulated backend cannot access old blocks and will return an error if anything other than `latest`, `nil`, or the latest block are passed to `CallContract`.
The simulated backend cannot access old blocks and will return an error if anything other than `latest`, `nil`, or the latest block are passed to `CallContract`.
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