Documentation ¶
Overview ¶
Package config contains the config for different kinds of agents
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidChainType error
ErrInvalidChainType indicates chain type was invalid.
var ErrInvalidDomainID = errors.New("domain ID invalid")
ErrInvalidDomainID indicates domain id is invalid.
var ErrRequiredField = errors.New("field is required")
ErrRequiredField indicates a required field was left blank.
Functions ¶
This section is empty.
Types ¶
type AgentConfig ¶ added in v0.0.130
type AgentConfig struct { // Domains stores all the domains Domains DomainConfigs `yaml:"domains"` // DomainID is the domain of the chain that this agent is assigned to. // For Guards, it is 0 meaning all domains. // For Notaries, it will be a specific domain greater than 0. DomainID uint32 `yaml:"domain_id"` // SummitDomainID is the domain of the chain that has the Summit contract (ie SYN chain). SummitDomainID uint32 `yaml:"summit_domain_id"` // UnbondedSigner contains the unbonded signer config for agents // (this is signer used to submit transactions) UnbondedSigner config.SignerConfig `yaml:"unbonded_signer"` // BondedSigner contains the bonded signer config for agents BondedSigner config.SignerConfig `yaml:"bonded_signer"` // RefreshIntervalSeconds is the refresh interval in seconds RefreshIntervalSeconds uint32 `yaml:"refresh_interval_seconds,omitempty"` // EmbeddedScribeConfig is the config for the embedded scribe. This only needs to be // included if an embedded Scribe is being used. If a remote Scribe is being used, // this can be left empty. EmbeddedScribeConfig scribeConfig.Config `yaml:"embedded_scribe_config"` }
AgentConfig is used for configuring the guard.
func DecodeAgentConfig ¶ added in v0.0.130
func DecodeAgentConfig(filePath string) (a AgentConfig, err error)
DecodeAgentConfig parses in a config from a file.
func (AgentConfig) Encode ¶ added in v0.0.130
func (a AgentConfig) Encode() ([]byte, error)
Encode gets the encoded config.yaml file.
func (*AgentConfig) IsValid ¶ added in v0.0.130
func (a *AgentConfig) IsValid(ctx context.Context) (ok bool, err error)
IsValid makes sure the config is valid. This is done by calling IsValid() on each submodule. If any method returns an error that is returned here and the entirety of IsValid returns false. Any warnings are logged by the submodules respective loggers.
type Config ¶
type Config struct { // Domains stores all domains Domains DomainConfigs `yaml:"domains"` // Signer contains the signer config for agents Signer config.SignerConfig `yaml:"signer"` // DbConfig is the database config Database DBConfig `yaml:"database"` }
Config is used for configuring the application. It stores the configurations defined in each module.
type DBConfig ¶
type DBConfig struct { // Type of the database to use for sql. This does not affect hte pebble db Type string `yaml:"type"` // DBPath is the db path used for the pebble db DBPath string `yaml:"db_path"` // ConnString is the connection string used for mysql ConnString string `yaml:"conn_string"` }
DBConfig is used for configuring the.
type DomainConfig ¶
type DomainConfig struct { // DomainID is the domain of the chain DomainID uint32 `yaml:"domain_id"` // Type of the chain (e.g. evm) Type string `yaml:"type"` // RequiredConfirmations is the number of confirmations to way RequiredConfirmations uint32 `yaml:"required_confirmations"` // OriginAddress gets origin contract address OriginAddress string `yaml:"origin_address"` // SummitAddress contains the summit address (if present) SummitAddress string `yaml:"summit_address"` // DestinationAddress gets destination contract address DestinationAddress string `yaml:"destination_address"` // LightManagerAddress gets then light manager contract address LightManagerAddress string `yaml:"light_manager_address"` // BondingManagerAddress gets the bonding manager contract address BondingManagerAddress string `yaml:"bonding_manager_address"` // LightInboxAddress gets the light inbox contract address LightInboxAddress string `yaml:"light_inbox_address"` // InboxAddress gets the inbox contract address InboxAddress string `yaml:"inbox_address"` // RPCUrl to use for the chain RPCUrl string `yaml:"rpc_url"` // Minimum start height StartHeight uint32 `yaml:"start_height"` }
DomainConfig defines the config for a specific domain.
type DomainConfigs ¶
type DomainConfigs map[string]DomainConfig
DomainConfigs contains a map of name->domain config.