config

package
v0.0.0-...-bd3dd7f Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadConfig

func LoadConfig(path string, app AppType) error

Types

type AppType

type AppType string
const (
	AppTypeIndexer AppType = "indexer"
	AppTypeRelayer AppType = "relayer"
)

func (AppType) String

func (a AppType) String() string

type ClickHouseConfig

type ClickHouseConfig struct {
	Enable         bool   `mapstructure:"enable" json:"enable" yaml:"enable"`
	Host           string `mapstructure:"host" json:"host" yaml:"host"`
	Port           string `mapstructure:"port" json:"port" yaml:"port"`
	User           string `mapstructure:"user" json:"user" yaml:"user"`
	Password       string `mapstructure:"password" json:"password" yaml:"password"`
	DataBase       string `mapstructure:"database" json:"database" yaml:"database"`
	BatchWriteSize uint64 `mapstructure:"batch_write_size" json:"batch_write_size" yaml:"batch_write_size"`
}

type IndexerConfig

type IndexerConfig struct {
	IndexerName                string `mapstructure:"name" json:"name" yaml:"name"`
	StartCursor                uint64 `mapstructure:"start_cursor" json:"start_cursor" yaml:"start_cursor"`
	EndCursor                  uint64 `mapstructure:"end_cursor" json:"end_cursor" yaml:"end_cursor"`
	CatchUpSleepIntervalSecond uint64 `mapstructure:"catch_up_sleep_interval_second" json:"catch_up_sleep_interval_second" yaml:"catch_up_sleep_interval_second"`

	RPCConfig     RPCConfig     `mapstructure:"rpc" json:"rpc" yaml:"rpc"`
	MetricsConfig MetricsConfig `mapstructure:"metrics" json:"metrics" yaml:"metrics"`

	ClickHouseConfig ClickHouseConfig `mapstructure:"clickhouse" json:"clickhouse" yaml:"clickhouse"`
	MySQLConfig      MySQLConfig      `mapstructure:"mysql" json:"mysql" yaml:"mysql"`
	PostgresConfig   PostgresConfig   `mapstructure:"postgres" json:"postgres" yaml:"postgres"`
}
var IndexerConf IndexerConfig

type MetricsConfig

type MetricsConfig struct {
	Enable                bool   `mapstructure:"enable" json:"enable" yaml:"enable"`
	CollectURL            string `mapstructure:"collect_url" json:"collect_url" yaml:"collect_url"`
	CollectIntervalSecond uint64 `mapstructure:"collect_interval_second" json:"collect_interval_second" yaml:"collect_interval_second"`
}

type MySQLConfig

type MySQLConfig struct {
	Enable         bool   `mapstructure:"enable" json:"enable" yaml:"enable"`
	Host           string `mapstructure:"host" json:"host" yaml:"host"`
	Port           string `mapstructure:"port" json:"port" yaml:"port"`
	User           string `mapstructure:"user" json:"user" yaml:"user"`
	Password       string `mapstructure:"password" json:"password" yaml:"password"`
	DataBase       string `mapstructure:"database" json:"database" yaml:"database"`
	BatchWriteSize uint64 `mapstructure:"batch_write_size" json:"batch_write_size" yaml:"batch_write_size"`
}

type NetworkRPCConfig

type NetworkRPCConfig struct {
	EthereumRPCUrl string `mapstructure:"ethereum_rpc_url" json:"ethereum_rpc_url" yaml:"ethereum_rpc_url"`
	PolygonRPCUrl  string `mapstructure:"polygon_rpc_url" json:"polygon_rpc_url" yaml:"polygon_rpc_url"`
	ArbitrumRPCUrl string `mapstructure:"arbitrum_rpc_url" json:"arbitrum_rpc_url" yaml:"arbitrum_rpc_url"`
	OptimismRPCUrl string `mapstructure:"optimism_rpc_url" json:"optimism_rpc_url" yaml:"optimism_rpc_url"`
	BSCRPCUrl      string `mapstructure:"bsc_rpc_url" json:"bsc_rpc_url" yaml:"bsc_rpc_url"`
	BaseRPCUrl     string `mapstructure:"base_rpc_url" json:"base_rpc_url" yaml:"base_rpc_url"`
}

type PostgresConfig

type PostgresConfig struct {
	Enable         bool   `mapstructure:"enable" json:"enable" yaml:"enable"`
	Host           string `mapstructure:"host" json:"host" yaml:"host"`
	Port           string `mapstructure:"port" json:"port" yaml:"port"`
	User           string `mapstructure:"user" json:"user" yaml:"user"`
	Password       string `mapstructure:"password" json:"password" yaml:"password"`
	DataBase       string `mapstructure:"database" json:"database" yaml:"database"`
	BatchWriteSize uint64 `mapstructure:"batch_write_size" json:"batch_write_size" yaml:"batch_write_size"`
}

type RPCConfig

type RPCConfig struct {
	RPCMaxRetry            uint64 `mapstructure:"rpc_max_retry" json:"rpc_max_retry" yaml:"rpc_max_retry"`
	RPCRetryIntervalSecond uint64 `mapstructure:"rpc_retry_interval_second" json:"rpc_retry_interval_second" yaml:"rpc_retry_interval_second"`
	RPCUrl                 string `mapstructure:"rpc_url" json:"rpc_url" yaml:"rpc_url"`
}

type RelayerConfig

type RelayerConfig struct {
	Port             string           `mapstructure:"port" json:"port" yaml:"port"`
	ChainbaseAPIKey  string           `mapstructure:"chainbase_api_key" json:"chainbase_api_key" yaml:"chainbase_api_key"`
	NetworkRPCConfig NetworkRPCConfig `mapstructure:"network_rpc_config" json:"network_rpc_config" yaml:"network_rpc_config"`
}
var RelayerConf RelayerConfig

Jump to

Keyboard shortcuts

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