Documentation ¶
Overview ¶
Package relconfig contains the config yaml object for the relayer.
Index ¶
- type ChainConfig
- type Config
- func (c Config) GetChains() map[int]ChainConfig
- func (c Config) GetDatabase() DatabaseConfig
- func (c Config) GetFeePricer() FeePricerConfig
- func (c Config) GetFixedFeeMultiplier() float64
- func (c Config) GetNativeToken(chainID uint32) (string, error)
- func (c Config) GetOmniRPCURL() string
- func (c Config) GetQuotableTokens(token string) ([]string, error)
- func (c Config) GetRfqAPIURL() string
- func (c Config) GetSigner() config.SignerConfig
- func (c Config) GetTokenDecimals(chainID uint32, token string) (uint8, error)
- func (c Config) GetTokenID(chain int, addr string) (string, error)
- func (c Config) GetTokenName(chain uint32, addr string) (string, error)
- func (c Config) GetTokens(chainID uint32) (map[string]TokenConfig, error)
- type DatabaseConfig
- type FeePricerConfig
- type IConfig
- type TokenConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChainConfig ¶
type ChainConfig struct { // Bridge is the bridge confirmation count. Bridge string `yaml:"address"` // Confirmations is the number of required confirmations Confirmations uint64 `yaml:"confirmations"` // Tokens is a map of token ID -> token config. Tokens map[string]TokenConfig `yaml:"tokens"` // NativeToken is the native token of the chain (pays gas). NativeToken string `yaml:"native_token"` }
ChainConfig represents the configuration for a chain.
type Config ¶
type Config struct { // Chains is a map of chainID -> chain config. Chains map[int]ChainConfig `yaml:"bridges"` // OmniRPCURL is the URL of the OmniRPC server. OmniRPCURL string `yaml:"omnirpc_url"` // RfqAPIURL is the URL of the RFQ API. RfqAPIURL string `yaml:"rfq_url"` // Database is the database config. Database DatabaseConfig `yaml:"database"` // QuotableTokens is a map of token -> list of quotable tokens. QuotableTokens map[string][]string `yaml:"quotable_tokens"` // Signer is the signer config. Signer config.SignerConfig `yaml:"signer"` // Submitter is the submitter config. SubmitterConfig submitterConfig.Config `yaml:"submitter_config"` // FeePricer is the fee pricer config. FeePricer FeePricerConfig `yaml:"fee_pricer"` }
Config represents the configuration for the relayer. TODO: validation function.
func LoadConfig ¶
LoadConfig loads the config from the given path.
func (Config) GetChains ¶
func (c Config) GetChains() map[int]ChainConfig
GetChains returns the chains config.
func (Config) GetDatabase ¶
func (c Config) GetDatabase() DatabaseConfig
GetDatabase returns the database config.
func (Config) GetFeePricer ¶
func (c Config) GetFeePricer() FeePricerConfig
GetFeePricer returns the fee pricer config.
func (Config) GetFixedFeeMultiplier ¶ added in v0.0.6
GetFixedFeeMultiplier returns the fixed fee multiplier.
func (Config) GetNativeToken ¶
GetNativeToken returns the native token for the given chain.
func (Config) GetOmniRPCURL ¶
GetOmniRPCURL returns the OmniRPCURL.
func (Config) GetQuotableTokens ¶
GetQuotableTokens returns the quotable tokens for the given token.
func (Config) GetRfqAPIURL ¶
GetRfqAPIURL returns the RFQ API URL.
func (Config) GetSigner ¶
func (c Config) GetSigner() config.SignerConfig
GetSigner returns the signer config.
func (Config) GetTokenDecimals ¶
GetTokenDecimals returns the token decimals for the given chain and token.
func (Config) GetTokenID ¶
GetTokenID returns the tokenID for the given chain and address.
func (Config) GetTokenName ¶
GetTokenName returns the token name for the given chain and address.
type DatabaseConfig ¶
type DatabaseConfig struct { Type string `yaml:"type"` DSN string `yaml:"dsn"` // Data Source Name }
DatabaseConfig represents the configuration for the database.
type FeePricerConfig ¶
type FeePricerConfig struct { // OriginGasEstimate is the gas required to execute prove + claim transactions on origin chain. OriginGasEstimate int `yaml:"origin_gas_estimate"` // DestinationGasEstimate is the gas required to execute relay transaction on destination chain. DestinationGasEstimate int `yaml:"destination_gas_estimate"` // FixedFeeMultiplier is the multiplier for the fixed fee. FixedFeeMultiplier float64 `yaml:"fixed_fee_multiplier"` // GasPriceCacheTTLSeconds is the TTL for the gas price cache. GasPriceCacheTTLSeconds int `yaml:"gas_price_cache_ttl"` // TokenPriceCacheTTLSeconds is the TTL for the token price cache. TokenPriceCacheTTLSeconds int `yaml:"token_price_cache_ttl"` }
FeePricerConfig represents the configuration for the fee pricer.
type IConfig ¶
type IConfig interface { // GetChains returns the chains config. GetChains() map[int]ChainConfig // GetOmniRPCURL returns the OmniRPCURL. GetOmniRPCURL() string // GetRfqAPIURL returns the RFQ API URL. GetRfqAPIURL() string // GetDatabase returns the database config. GetDatabase() DatabaseConfig // GetSigner returns the signer config. GetSigner() config.SignerConfig // GetFeePricer returns the fee pricer config. GetFeePricer() FeePricerConfig // GetTokenID returns the tokenID for the given chain and address. GetTokenID(chain int, addr string) (string, error) // GetQuotableTokens returns the quotable tokens for the given token. GetQuotableTokens(token string) ([]string, error) // GetNativeToken returns the native token for the given chain. GetNativeToken(chainID uint32) (string, error) // GetTokenDecimals returns the token decimals for the given chain and token. GetTokenDecimals(chainID uint32, token string) (uint8, error) // GetTokens returns the tokens for the given chain. GetTokens(chainID uint32) (map[string]TokenConfig, error) // GetTokenName returns the token name for the given chain and address. GetTokenName(chain uint32, addr string) (string, error) // GetFixedFeeMultiplier returns the fixed fee multiplier. GetFixedFeeMultiplier() float64 }
IConfig ...
type TokenConfig ¶
type TokenConfig struct { // Address is the token address. Address string `yaml:"address"` // Decimals is the token decimals. Decimals uint8 `yaml:"decimals"` // For now, specify the USD price of the token in the config. PriceUSD float64 `yaml:"price_usd"` }
TokenConfig represents the configuration for a token.