legacyevm

package
v2.9.1-beta3 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2024 License: MIT Imports: 31 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppConfig

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

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

type ChainOpts

type ChainOpts struct {
	AppConfig AppConfig

	MailMon      *mailbox.Monitor
	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

func (o ChainOpts) Validate() error

type ChainRelayExtenderConfig

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

func (ChainRelayExtenderConfig) Validate

func (c ChainRelayExtenderConfig) Validate() error

type LegacyChainContainer

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

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

LegacyChains implements LegacyChainContainer

func NewLegacyChains

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

func (*LegacyChains) ChainNodeConfigs

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

func (*LegacyChains) Get

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

Jump to

Keyboard shortcuts

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