configs

package
v0.0.0-...-abb4387 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetRootPath

func GetRootPath() string

This function retrieves the root path of where the binary is being executed

func Init

func Init()

This function loads the configuration file into the Configs object

Types

type Configuration

type Configuration struct {
	Tasks struct {
		Gov struct {
			MaxWinners int      `json:"max-winners"` // Max number of winners for this tasks
			Reward     uint64   `json:"reward"`      // Reward for each winner
			Proposals  []uint64 `json:"proposals"`   // The list of Proposal Ids to be investigated
		} `json:"gov"`

		ValidatorGenesis struct {
			MaxWinners    int     `json:"max-winners"`    // Max number of winners for this tasks
			Reward        uint64  `json:"reward"`         // Reward for each winner
			UptimePercent float32 `json:"uptime-percent"` // The percentage of blocks that the winners must not miss to sign
		} `json:"validators-genesis"`

		ValidatorJoin struct {
			MaxWinners    int     `json:"max-winners"`    // Max number of winners for this tasks
			Reward        uint64  `json:"reward"`         // Reward for each winner
			UptimePercent float32 `json:"uptime-percent"` // The percentage of blocks that the winners must not miss to sign
		} `json:"validators-joined"`

		JailUnjail struct {
			MaxWinners int    `json:"max-winners"` // Max number of winners for this tasks
			Reward     uint64 `json:"reward"`      // Reward for each winner
		} `json:"jail-unjail"`

		Staking struct {
			MaxWinners int    `json:"max-winners"` // Max number of winners for this tasks
			Reward     uint64 `json:"reward"`      // Reward for each winner
		} `json:"staking"`

		NodeUpgrade struct {
			MaxWinners int    `json:"max-winners"` // Max number of winners for this tasks
			Reward     uint64 `json:"reward"`      // Reward for each winner

			Condition struct {
				UpgradeHight uint64 `json:"upgrade-hight"` // The Block hight that the upgraded validator must sign

			} `json:"condition"` // Winner Condition

		} `json:"node-upgrade"`

		UpTime struct {
			MaxWinners int    `json:"max-winners"` // Max number of winners for this tasks
			Reward     uint64 `json:"reward"`      // Reward for each winner

			// There might be multiple load bursts
			Conditions []struct {
				StartHight    uint64  `json:"start-hight"`    // The Block hight that the load burst starts
				EndHight      uint64  `json:"end-hight"`      // The Block hight that the load burst ends
				UptimePercent float32 `json:"uptime-percent"` // The percentage of blocks that the winners must not miss to sign
			} `json:"conditions"` // Uptime Conditions

		} `json:"uptime"`

		ContractsMaxRewards struct {
			MaxWinners int    `json:"max-winners"` // Max number of winners for this tasks
			Reward     uint64 `json:"reward"`      // Reward for each winner

			// There might be multiple load bursts
			Condition struct {
				StartHight uint64 `json:"start-hight"`
				EndHight   uint64 `json:"end-hight"`
			} `json:"condition"`
		} `json:"contracts-max-rewards"`

		ContractsSubsidizeUsersFees struct {
			MaxWinners int    `json:"max-winners"` // Max number of winners for this tasks
			Reward     uint64 `json:"reward"`      // Reward for each winner

			// There might be multiple load bursts
			Condition struct {
				StartHight uint64 `json:"start-hight"`
				EndHight   uint64 `json:"end-hight"`
			} `json:"condition"`
		} `json:"contracts-subsidize-users-fees"`
	} `json:"tasks"`

	Bech32Prefix struct {
		Account struct {
			Address string `json:"address"`
			PubKey  string `json:"pubkey"`
		} `json:"account"`

		Validator struct {
			Address string `json:"address"`
			PubKey  string `json:"pubkey"`
		} `json:"validator"`

		Consensus struct {
			Address string `json:"address"`
			PubKey  string `json:"pubkey"`
		} `json:"consensus"`
	} `json:"bech32-prefix"`

	BlockExplorer struct {
		TxHash    string `json:"tx-hash"`
		Account   string `json:"account"`
		Validator string `json:"validator"`
	} `json:"block-explorer"`

	IdVerification struct {
		Required  bool `json:"required"` // If it is required to do an ID verification and filter out the not-verified users
		InputFile struct {
			Path   string `json:"path"` // Path to the CSV file containing the verification data
			Fields struct {
				Email string `json:"email"`
				KYCId string `json:"kyc-id"`
			} `json:"fields"`
		} `json:"input-file"`
		VerifierAccount string `json:"verifier-account"` // An account that all ID verification tx is sent to (in its Memo field)
	} `json:"id-verification"`

	API struct {
		RowsPerPage uint64 `json:"rows-per-page"`
	} `json:"api"`
}
var Configs Configuration

Jump to

Keyboard shortcuts

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