Documentation ¶
Overview ¶
Package relconfig contains the config yaml object for the relayer.
Index ¶
- type ChainConfig
- type ChainFeeParams
- type Config
- func (c Config) GetChains() map[int]ChainConfig
- func (c Config) GetDatabase() DatabaseConfig
- func (c Config) GetDeadlineBuffer(chainID int) time.Duration
- func (c Config) GetDestGasEstimate(chainID uint32) int
- func (c Config) GetFeePricer() FeePricerConfig
- func (c Config) GetFixedFeeMultiplier() float64
- func (c Config) GetL1FeeParams(chainID uint32, origin bool) (uint32, int, bool)
- func (c Config) GetMinQuoteAmount(chainID int, addr common.Address) *big.Int
- func (c Config) GetNativeToken(chainID uint32) (string, error)
- func (c Config) GetOmniRPCURL() string
- func (c Config) GetOriginGasEstimate(chainID uint32) int
- func (c Config) GetQuotableTokens(token string) ([]string, error)
- func (c Config) GetQuotePct() float64
- 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"` // DeadlineBufferSeconds is the deadline buffer for relaying a transaction. DeadlineBufferSeconds int `yaml:"deadline_buffer_seconds"` }
ChainConfig represents the configuration for a chain.
type ChainFeeParams ¶ added in v0.0.17
type ChainFeeParams struct { // OriginGasEstimate is the gas estimate to use for origin transactions (this will override base gas estimates). OriginGasEstimate int `yaml:"origin_gas_estimate"` // DestGasEstimate is the gas estimate to use for destination transactions (this will override base gas estimates). DestGasEstimate int `yaml:"dest_gas_estimate"` // L1FeeChainID indicates the chain ID for the L1 fee (if needed, for example on optimism). L1FeeChainID uint32 `yaml:"l1_fee_chain_id"` // L1FeeOriginGasEstimate is the gas estimate for the L1 fee on origin. L1FeeOriginGasEstimate int `yaml:"l1_fee_origin_gas_estimate"` // L1FeeDestGasEstimate is the gas estimate for the L1 fee on destination. L1FeeDestGasEstimate int `yaml:"l1_fee_dest_gas_estimate"` }
ChainFeeParams represents the chain fee params.
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"` // RelayerAPIPort is the port of the relayer API. RelayerAPIPort string `yaml:"relayer_api_port"` // 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"` // QuotePct is the percent of balance to quote. QuotePct float64 `yaml:"quote_pct"` // ScreenerAPIUrl is the TRM API key. ScreenerAPIUrl string `yaml:"screener_api_url"` // BaseDeadlineBufferSeconds is the deadline buffer for relaying a transaction. BaseDeadlineBufferSeconds int `yaml:"base_deadline_buffer_seconds"` }
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) GetDeadlineBuffer ¶ added in v0.0.23
GetDeadlineBuffer returns the deadline buffer for relaying a transaction.
func (Config) GetDestGasEstimate ¶ added in v0.0.17
GetDestGasEstimate returns the destination gas estimate for the given chain.
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) GetL1FeeParams ¶ added in v0.0.17
GetL1FeeParams returns the L1 fee params for the given chain.
func (Config) GetMinQuoteAmount ¶ added in v0.0.16
GetMinQuoteAmount returns the quote amount for the given chain and address. Note that this getter returns the value in native token decimals.
func (Config) GetNativeToken ¶
GetNativeToken returns the native token for the given chain.
func (Config) GetOmniRPCURL ¶
GetOmniRPCURL returns the OmniRPCURL.
func (Config) GetOriginGasEstimate ¶ added in v0.0.17
GetOriginGasEstimate returns the origin gas estimate for the given chain.
func (Config) GetQuotableTokens ¶
GetQuotableTokens returns the quotable tokens for the given token.
func (Config) GetQuotePct ¶ added in v0.0.16
GetQuotePct returns the quote percentage.
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 { // BaseOriginGasEstimate is the gas required to execute prove + claim transactions on origin chain. BaseOriginGasEstimate int `yaml:"base_origin_gas_estimate"` // BaseDestGasEstimate is the gas required to execute relay transaction on destination chain. BaseDestGasEstimate int `yaml:"base_dest_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"` // ChainFeeParams are parameters that correspond to specific chains. ChainFeeParams map[uint32]ChainFeeParams `yaml:"chain_fee_params"` }
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 // GetOriginGasEstimate returns the origin gas estimate for the given chain. GetOriginGasEstimate(chainID uint32) int // GetDestGasEstimate returns the destination gas estimate for the given chain. GetDestGasEstimate(chainID uint32) int // GetL1FeeParams returns the L1 fee params for the given chain. GetL1FeeParams(chainID uint32, origin bool) (uint32, int, bool) // GetQuotePct returns the quote percentage. GetQuotePct() float64 // GetMinQuoteAmount returns the quote amount for the given chain and address. // Note that this getter returns the value in native token decimals. GetMinQuoteAmount(chainID int, addr common.Address) *big.Int // GetDeadlineBuffer returns the deadline buffer for relaying a transaction. GetDeadlineBuffer(chainID int) time.Duration }
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"` // MinQuoteAmount is the minimum amount to quote for this token in human-readable units. MinQuoteAmount string `yaml:"min_quote_amount"` }
TokenConfig represents the configuration for a token.