constants

package
v1.134.1 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2024 License: MIT Imports: 6 Imported by: 23

Documentation

Overview

Package constants contains all the constants used by thorchain by default all the settings in this is for mainnet

Index

Constants

View Source
const (
	CtxMetricLabels  contextKey = "metricLabels"
	CtxLoanTxID      contextKey = "loan-txid"
	CtxLoanToAddress contextKey = "loan-toaddress"
)
View Source
const (
	MimirTemplateConfMultiplierBasisPoints = "ConfMultiplierBasisPoints-%s" // Use with Chain
	MimirTemplateMaxConfirmations          = "MaxConfirmations-%s"          // Use with Chain
	MimirTemplateSwapSlipBasisPointsMin    = "SwapSlipBasisPointsMin-%s"    // Use with MimirRef

	MimirRefL1           = "L1"           // Use with SwapSlipBasisPoints
	MimirRefSynth        = "Synth"        // Use with SwapSlipBasisPoints
	MimirRefTradeAccount = "TradeAccount" // Use with SwapSlipBasisPoints
)

All strings used in Mimir keys should be recorded here and referred to from elsewhere, except for strings referring to arbitrary Assets/Chains. Each string should clearly indicate its usage for the final Mimir key (key, template, reference) and no Mimir key should require the combination of more than two strings.

View Source
const DollarMulti = 1e9

used to preserve precision when determining the dollar price of rune.

View Source
const MaxBasisPts = uint64(10_000)

max basis points

View Source
const MaxETHGas = 50000000

MaxETHGas define the maximum gas for a single transaction on ETH

View Source
const MaxMemoSize = 250

MaxMemoSize Maximum Memo Size

View Source
const MimirKeyRegex = `^[a-zA-Z0-9-]+$`
View Source
const MinMimirV2Vote = 3

MinMimirV2Vote

View Source
const StreamingSwapMinBPFeeMulti = int64(100)

StreamingSwapMinBPFee multiplier. This is used to allow decimal points for streaming swap math

Variables

View Source
var (
	GitCommit = "null"  // sha1 revision used to build the program
	BuildTime = "null"  // when the executable was built
	Version   = "0.1.0" // software version

)
View Source
var SWVersion, _ = semver.Make(Version)
View Source
var ThorchainBlockTime = 5 * time.Second

ThorchainBlockTime Block time of THORChain

Functions

This section is empty.

Types

type ConstantName

type ConstantName int

ConstantName the name we used to get constant values.

const (
	EmissionCurve  ConstantName = iota
	IncentiveCurve              // TODO remove on hard fork
	MaxRuneSupply
	BlocksPerYear
	OutboundTransactionFee
	NativeTransactionFee
	KillSwitchStart    // TODO remove on hard fork
	KillSwitchDuration // TODO remove on hard fork
	PoolCycle
	MinRunePoolDepth
	MaxAvailablePools
	StagedPoolCost
	PendingLiquidityAgeLimit
	MinimumNodesForYggdrasil // TODO remove on hard fork
	MinimumNodesForBFT
	DesiredValidatorSet
	AsgardSize
	DerivedDepthBasisPts
	DerivedMinDepth
	MaxAnchorSlip
	MaxAnchorBlocks
	DynamicMaxAnchorSlipBlocks
	DynamicMaxAnchorTarget
	DynamicMaxAnchorCalcInterval
	ChurnInterval
	ChurnRetryInterval
	ValidatorsChangeWindow
	LeaveProcessPerBlockHeight
	BadValidatorRedline
	LackOfObservationPenalty
	SigningTransactionPeriod
	DoubleSignMaxAge
	PauseBond
	PauseUnbond
	MinimumBondInRune
	FundMigrationInterval
	ArtificialRagnarokBlockHeight
	MaximumLiquidityRune
	StrictBondLiquidityRatio
	DefaultPoolStatus
	MaxOutboundAttempts
	SlashPenalty
	PauseOnSlashThreshold
	FailKeygenSlashPoints
	FailKeysignSlashPoints
	LiquidityLockUpBlocks
	ObserveSlashPoints
	DoubleBlockSignSlashPoints
	MissBlockSignSlashPoints
	ObservationDelayFlexibility
	StopFundYggdrasil // TODO remove on hard fork
	YggFundLimit      // TODO remove on hard fork
	YggFundRetry      // TODO remove on hard fork
	JailTimeKeygen
	JailTimeKeysign
	NodePauseChainBlocks
	EnableDerivedAssets
	MinSwapsPerBlock
	MaxSwapsPerBlock
	EnableOrderBooks
	MintSynths
	BurnSynths
	MaxSynthPerAssetDepth // TODO: remove me on hard fork
	MaxSynthPerPoolDepth
	MaxSynthsForSaversYield
	VirtualMultSynths
	VirtualMultSynthsBasisPoints
	MinSlashPointsForBadValidator
	FullImpLossProtectionBlocks // TODO: remove me on hard fork
	BondLockupPeriod
	MaxBondProviders
	NumberOfNewNodesPerChurn
	MinTxOutVolumeThreshold
	TxOutDelayRate
	TxOutDelayMax
	MaxTxOutOffset
	TNSRegisterFee
	TNSFeeOnSale
	TNSFeePerBlock
	StreamingSwapPause
	StreamingSwapMinBPFee
	StreamingSwapMaxLength
	StreamingSwapMaxLengthNative
	MinCR
	MaxCR
	LoanStreamingSwapsInterval
	PauseLoans
	LoanRepaymentMaturity
	LendingLever
	PermittedSolvencyGap
	NodeOperatorFee
	ValidatorMaxRewardRatio
	PoolDepthForYggFundingMin // TODO remove on hard fork
	MaxNodeToChurnOutForLowVersion
	ChurnOutForLowVersionBlocks
	POLMaxNetworkDeposit
	POLMaxPoolMovement
	POLSynthUtilization // TODO: remove me on hard fork
	POLTargetSynthPerPoolDepth
	POLBuffer
	RagnarokProcessNumOfLPPerIteration
	SwapOutDexAggregationDisabled
	SynthYieldBasisPoints
	SynthYieldCycle
	MinimumL1OutboundFeeUSD
	MinimumPoolLiquidityFee
	ILPCutoff // TODO: remove me on hard fork
	ChurnMigrateRounds
	AllowWideBlame
	MaxAffiliateFeeBasisPoints
	TargetOutboundFeeSurplusRune
	MaxOutboundFeeMultiplierBasisPoints
	MinOutboundFeeMultiplierBasisPoints
	NativeOutboundFeeUSD
	NativeTransactionFeeUSD
	TNSRegisterFeeUSD
	TNSFeePerBlockUSD
	EnableUSDFees
	PreferredAssetOutboundFeeMultiplier
	FeeUSDRoundSignificantDigits
	MigrationVaultSecurityBps
	CloutReset
	CloutLimit
	KeygenRetryInterval
	SaversStreamingSwapsInterval
	RescheduleCoalesceBlocks
	SignerConcurrency
	L1SlipMinBps
	SynthSlipMinBps
	TradeAccountsSlipMinBps
	TradeAccountsEnabled
	EVMDisableContractWhitelist
	OperationalVotesMin
	RUNEPoolEnabled
	RUNEPoolDepositMaturityBlocks
	RUNEPoolMaxReserveBackstop
	SaversEjectInterval
)

func (ConstantName) String

func (i ConstantName) String() string

type ConstantVals

type ConstantVals struct {
	// contains filtered or unexported fields
}

ConstantVals implement ConstantValues interface

func NewConstantValue added in v1.107.0

func NewConstantValue() *ConstantVals

NewConstantValue get new instance of ConstantValue

func (*ConstantVals) GetBoolValue

func (cv *ConstantVals) GetBoolValue(name ConstantName) bool

GetBoolValue retrieve a bool constant value from the map

func (*ConstantVals) GetInt64Value

func (cv *ConstantVals) GetInt64Value(name ConstantName) int64

GetInt64Value get value in int64 type, if it doesn't exist then it will return the default value of int64, which is 0

func (*ConstantVals) GetStringValue

func (cv *ConstantVals) GetStringValue(name ConstantName) string

GetStringValue retrieve a string const value from the map

func (ConstantVals) MarshalJSON

func (cv ConstantVals) MarshalJSON() ([]byte, error)

MarshalJSON marshal result to json format

func (*ConstantVals) String

func (cv *ConstantVals) String() string

type ConstantValues

type ConstantValues interface {
	fmt.Stringer
	GetInt64Value(name ConstantName) int64
	GetBoolValue(name ConstantName) bool
	GetStringValue(name ConstantName) string
}

ConstantValues define methods used to get constant values

func GetConstantValues

func GetConstantValues(_ semver.Version) ConstantValues

GetConstantValues will return an implementation of ConstantValues which provide ways to get constant values TODO hard fork remove unused version parameter

type DummyConstants

type DummyConstants struct {
	// contains filtered or unexported fields
}

func NewDummyConstants

func NewDummyConstants(int64Values map[ConstantName]int64, boolValues map[ConstantName]bool, stringValues map[ConstantName]string) *DummyConstants

NewDummyConstants create a new instance of DummyConstants for test purpose

func (*DummyConstants) GetBoolValue

func (dc *DummyConstants) GetBoolValue(name ConstantName) bool

func (*DummyConstants) GetInt64Value

func (dc *DummyConstants) GetInt64Value(name ConstantName) int64

func (*DummyConstants) GetStringValue

func (dc *DummyConstants) GetStringValue(name ConstantName) string

func (*DummyConstants) String

func (dc *DummyConstants) String() string

Jump to

Keyboard shortcuts

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