config

package
v0.47.1 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2025 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Overview

Code generated by Configen. DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CastSlice

func CastSlice[T any, U any](src []T, cast func(T) U) (dest []U)

CastSlice casts []T into []U using func cast(T) U.

Types

type AlphabetContractsConfig

type AlphabetContractsConfig struct {
	Alphabet map[innerring.GlagoliticLetter]ContractConfig
}

func (*AlphabetContractsConfig) Load

func (a *AlphabetContractsConfig) Load(v *core.Viper) (f core.Facts, err error)

type ChainConfig

type ChainConfig struct {
	DialTimeout    time.Duration `config:"dial_timeout" default:"15s"`
	SwitchInterval time.Duration `config:"switch_interval" default:"2m"`
	Endpoint       struct {
		Client []struct {
			Address       string   `config:"address"`
			Priority      int      `config:"priority"`
			TrustedCAList []string `config:"trusted_ca_list"`
			Key           string   `config:"key"`
			Certificate   string   `config:"certificate"`
		} `config:"client"`
	} `config:"endpoint"`
}

type Config

type Config struct {
	WithoutMainnet bool `config:"without_mainnet" default:"false"`

	Logger struct {
		Level       string `config:"level" default:"info"`
		Timestamp   bool   `config:"timestamp" default:"false"`
		Destination string `config:"destination" default:"stdout"`

		Tags []struct {
			Names string `config:"names"`
			Level string `config:"level"`
		} `config:"tags"`
	} `config:"logger"`

	Wallet struct {
		Path     string `config:"path"`
		Address  string `config:"address"`
		Password string `config:"password"`
	} `config:"wallet"`

	MorphChain struct {
		ChainConfig
		Validators []PublicKey `config:"validators"`
	} `config:"morph"`

	MainChain struct {
		ChainConfig
	} `config:"mainnet"`

	Control struct {
		AuthorizedKeys []PublicKey `config:"authorized_keys"`

		GRPC struct {
			Endpoint string `config:"endpoint"`
		} `config:"grpc"`
	} `config:"control"`

	Governance struct {
		Disable bool `config:"disable" default:"false"`
	} `config:"governance"`

	Node struct {
		KludgeCompatibilityMode bool `config:"kludge_compatibility_mode" default:"false"`

		PersistentState struct {
			Path string `config:"path" default:".frostfs-ir-state"`
		} `config:"persistent_state"`
	} `config:"node"`

	Locode struct {
		DB struct {
			Path string `config:"path"`
		} `config:"db"`
	} `config:"locode"`

	Fee struct {
		MainChain int64 `config:"main_chain" default:"50000000"`
		SideChain int64 `config:"side_chain" default:"200000000"`
	} `config:"fee"`

	Timers struct {
		Emit uint32 `config:"emit" default:"0"`

		StopEstimation struct {
			Mul int `config:"mul" default:"1"`
			Div int `config:"div" default:"4"`
		} `config:"stop_estimation"`

		CollectBasicIncome struct {
			Mul int `config:"mul" default:"1"`
			Div int `config:"div" default:"2"`
		} `config:"collect_basic_income"`

		DistributeBasicIncome struct {
			Mul int `config:"mul" default:"3"`
			Div int `config:"div" default:"4"`
		} `config:"distribute_basic_income"`
	} `config:"timers"`

	Emit struct {
		ExtraWallets []WalletAddr `config:"extra_wallets"`

		Storage struct {
			Amount uint64 `config:"amount" default:"0"`
		} `config:"storage"`

		Mint struct {
			Value     int64  `config:"value" default:"20000000"`
			CacheSize int    `config:"cache_size" default:"1000"`
			Threshold uint64 `config:"threshold" default:"1"`
		} `config:"mint"`

		Gas struct {
			BalanceThreshold int64 `config:"balance_threshold" default:"0"`
		} `config:"gas"`
	} `config:"emit"`

	Workers struct {
		Alphabet  int `config:"alphabet" default:"10"`
		Balance   int `config:"balance" default:"10"`
		Container int `config:"container" default:"10"`
		Frostfs   int `config:"frostfs" default:"10"`
		Netmap    int `config:"netmap" default:"10"`
	} `config:"workers"`

	Indexer struct {
		CacheTimeout time.Duration `config:"cache_timeout" default:"15s"`
	} `config:"indexer"`

	NetmapCleaner struct {
		Enabled   bool   `config:"enabled" default:"true"`
		Threshold uint64 `config:"threshold" default:"3"`
	} `config:"netmap_cleaner"`

	Contracts struct {
		Frostfs    ContractConfig          `config:"frostfs"`
		Processing ContractConfig          `config:"processing"`
		Balance    ContractConfig          `config:"balance"`
		Container  ContractConfig          `config:"container"`
		FrostfsID  ContractConfig          `config:"frostfsid"`
		Netmap     ContractConfig          `config:"netmap"`
		Proxy      ContractConfig          `config:"proxy"`
		Alphabet   AlphabetContractsConfig `config:"alphabet"`
	} `config:"contracts"`

	Pprof struct {
		Enabled         bool          `config:"enabled"`
		Address         string        `config:"address" default:"localhost:6060"`
		ShutdownTimeout time.Duration `config:"shutdown_timeout" default:"30s"`
		BlockRate       int           `config:"block_rate" default:"10000"`
		MutexRate       int           `config:"mutex_rate" default:"10000"`
	} `config:"pprof"`

	Prometheus struct {
		Enabled         bool          `config:"enabled"`
		Address         string        `config:"address" default:"localhost:9090"`
		ShutdownTimeout time.Duration `config:"shutdown_timeout" default:"30s"`
	} `config:"prometheus"`

	SystemdNotify struct {
		Enabled bool `config:"enabled"`
	} `config:"systemdnotify"`

	Multinet struct {
		Enabled       bool          `config:"enabled" default:"false"`
		Balancer      string        `config:"balancer"`
		Restrict      bool          `config:"restrict" default:"false"`
		FallbackDelay time.Duration `config:"fallback_delay" default:"0s"`

		Subnets []struct {
			Mask      string   `config:"mask"`
			SourceIPs []string `config:"source_ips"`
		} `config:"subnets"`
	} `config:"multinet"`

	Audit struct {
		Enabled bool `config:"enabled" default:"false"`
	} `config:"audit"`
}

func LoadConfig

func LoadConfig(v *viper.Viper) (Config, error)

type ContractConfig

type ContractConfig struct {
	ScriptHash    util.Uint160
	HasScriptHash bool
}

func (*ContractConfig) Parse

func (c *ContractConfig) Parse(s string) (err error)

type PublicKey

type PublicKey struct {
	Key *keys.PublicKey
}

func (PublicKey) Bytes

func (p PublicKey) Bytes() []byte

func (*PublicKey) Parse

func (p *PublicKey) Parse(s string) (err error)

func (PublicKey) Underlying

func (p PublicKey) Underlying() *keys.PublicKey

type WalletAddr

type WalletAddr util.Uint160

func (*WalletAddr) Parse

func (u *WalletAddr) Parse(s string) error

func (WalletAddr) Underlying

func (u WalletAddr) Underlying() util.Uint160

Jump to

Keyboard shortcuts

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