config

package
v0.51.0 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AptosConfig

type AptosConfig struct {
	DeployerKey string `mapstructure:"deployer_key" yaml:"deployer_key"` // Secret: The private key of the deployer account.
}

AptosConfig is the configuration for the Aptos Chains.

WARNING: This data type contains sensitive fields and should not be logged or set in file configuration.

type CatalogConfig

type CatalogConfig struct {
	GRPC string `mapstructure:"grpc" yaml:"grpc"` // The gRPC URL for the Catalog. Used to interact with the Catalog API.
}

CatalogConfig is the configuration to connect to the Catalog.

type Config

type Config struct {
	Onchain  OnchainConfig  `mapstructure:"onchain" yaml:"onchain"`
	Offchain OffchainConfig `mapstructure:"offchain" yaml:"offchain"`
	Catalog  CatalogConfig  `mapstructure:"catalog" yaml:"catalog"`
}

Config wraps the entire configuration for the CLD engine.

func Load

func Load(filePath string) (*Config, error)

Load loads the config from the file path, falling back to env vars if the file does not exist. If the file exists, any env vars that are set will override the values loaded from the file.

func LoadEnv

func LoadEnv() (*Config, error)

LoadEnv loads the config from the environment variables.

func LoadFile

func LoadFile(filePath string) (*Config, error)

LoadFile loads the config from a file.

type EVMConfig

type EVMConfig struct {
	DeployerKey string      `mapstructure:"deployer_key" yaml:"deployer_key"` // Secret: The private key of the deployer account. Prefer to use KMS keys instead.
	Seth        *SethConfig `mapstructure:"seth" yaml:"seth,omitempty"`       // Seth configuration for transaction tracing
}

EVMConfig is the configuration for the EVM Chains.

WARNING: This data type contains sensitive fields and should not be logged or set in file configuration.

type JobDistributorAuth

type JobDistributorAuth struct {
	CognitoAppClientID     string `mapstructure:"cognito_app_client_id" yaml:"cognito_app_client_id"`         // Secret: The Cognito App Client ID
	CognitoAppClientSecret string `mapstructure:"cognito_app_client_secret" yaml:"cognito_app_client_secret"` // Secret: The Cognito App Client Secret
	AWSRegion              string `mapstructure:"aws_region" yaml:"aws_region"`                               // Secret: The AWS Region
	Username               string `mapstructure:"username" yaml:"username"`                                   // Secret: The Cognito username for the Job Distributor
	Password               string `mapstructure:"password" yaml:"password"`                                   // Secret: The Cognito password for the Job Distributor
}

JobDistributorAuth is the configuration for authenticating to the Job Distributor via Cognito.

WARNING: This data type contains sensitive fields and should not be logged or set in file configuration.

type JobDistributorConfig

type JobDistributorConfig struct {
	Endpoints JobDistributorEndpoints `mapstructure:"endpoints" yaml:"endpoints"` // The URL endpoints for the Job Distributor
	Auth      *JobDistributorAuth     `mapstructure:"auth" yaml:"auth,omitempty"` // Secret: The authentication configuration for the Job Distributor
}

JobDistributorConfig is the configuration for connecting and authenticating to the Job Distributor.

WARNING: This data type contains sensitive fields and should not be logged or set in file configuration.

type JobDistributorEndpoints

type JobDistributorEndpoints struct {
	WSRPC string `mapstructure:"wsrpc" yaml:"wsrpc"` // The WebSocket RPC URL for the Job Distributor. Used to connect Job Distributor to CL nodes.
	GRPC  string `mapstructure:"grpc" yaml:"grpc"`   // The gRPC URL for the Job Distributor. Used to interact with the Job Distributor API.
}

JobDistributorEndpoints is the configuration for the URL endpoints for the Job Distributor.

type KMSConfig

type KMSConfig struct {
	KeyID     string `mapstructure:"key_id" yaml:"key_id"`         // Secret: AWS KMS Key ID
	KeyRegion string `mapstructure:"key_region" yaml:"key_region"` // Secret: AWS KMS Key Region (e.g. us-west-1)
}

KMSConfig is the configuration for the AWS KMS.

WARNING: This data type contains sensitive fields and should not be logged or set in file configuration.

type OCRConfig

type OCRConfig struct {
	XSigners   string `mapstructure:"x_signers" yaml:"x_signers"`     // Secret: BIP39 mnemonic phrase for the OCR signer.
	XProposers string `mapstructure:"x_proposers" yaml:"x_proposers"` // Secret: BIP39 mnemonic phrase for the OCR proposer.
}

OCRConfig is the configuration for the OCR.

WARNING: This data type contains sensitive fields and should not be logged or set in file configuration.

type OffchainConfig

type OffchainConfig struct {
	JobDistributor JobDistributorConfig `mapstructure:"job_distributor" yaml:"job_distributor"`
	OCR            OCRConfig            `mapstructure:"ocr" yaml:"ocr"`
}

OffchainConfig wraps the configuration for the offchain components.

type OnchainConfig

type OnchainConfig struct {
	KMS    KMSConfig    `mapstructure:"kms" yaml:"kms"`
	EVM    EVMConfig    `mapstructure:"evm" yaml:"evm"`
	Solana SolanaConfig `mapstructure:"solana" yaml:"solana"`
	Aptos  AptosConfig  `mapstructure:"aptos" yaml:"aptos"`
	Sui    SuiConfig    `mapstructure:"sui" yaml:"sui"`
	Tron   TronConfig   `mapstructure:"tron" yaml:"tron"`
	Ton    TonConfig    `mapstructure:"ton" yaml:"ton"`
}

OnchainConfig wraps the configuration for the onchain components.

type SethConfig

type SethConfig struct {
	ConfigFilePath  string   `mapstructure:"config_file_path" yaml:"config_file_path"`   // The path to the Seth config file
	GethWrapperDirs []string `mapstructure:"geth_wrapper_dirs" yaml:"geth_wrapper_dirs"` // The paths to the Geth wrapper directories
}

type SolanaConfig

type SolanaConfig struct {
	WalletKey       string `mapstructure:"wallet_key" yaml:"wallet_key"`               // Secret: The private key of the wallet account.
	ProgramsDirPath string `mapstructure:"programs_dir_path" yaml:"programs_dir_path"` // The path to the Solana programs directory.
}

SolanaConfig is the configuration for the Solana Chains.

WARNING: This data type contains sensitive fields and should not be logged or set in file configuration.

type SuiConfig added in v0.29.0

type SuiConfig struct {
	DeployerKey string `mapstructure:"deployer_key" yaml:"deployer_key"` // Secret: The private key of the deployer account.
}

SuiConfig is the configuration for the Sui Chains.

WARNING: This data type contains sensitive fields and should not be logged or set in file configuration.

type TonConfig added in v0.42.0

type TonConfig struct {
	DeployerKey   string `mapstructure:"deployer_key" yaml:"deployer_key"`     // Secret: The private key of the deployer account.
	WalletVersion string `mapstructure:"wallet_version" yaml:"wallet_version"` // The version of the TON wallet
}

TonConfig is the configuration for the TON Chains.

WARNING: This data type contains sensitive fields and should not be logged or set in file configuration.

type TronConfig

type TronConfig struct {
	DeployerKey string `mapstructure:"deployer_key" yaml:"deployer_key"` // Secret: The private key of the deployer account.
}

TronConfig is the configuration for the Tron Chains.

WARNING: This data type contains sensitive fields and should not be logged or set in file configuration.

Jump to

Keyboard shortcuts

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