Documentation ¶
Overview ¶
Package constants contains all the constants used by thorchain by default all the settings in this is for mainnet
Index ¶
Constants ¶
const ( CtxMetricLabels contextKey = "metricLabels" CtxLoanTxID contextKey = "loan-txid" CtxLoanToAddress contextKey = "loan-toaddress" )
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.
const DollarMulti = 1e9
used to preserve precision when determining the dollar price of rune.
const MaxBasisPts = uint64(10_000)
max basis points
const MaxETHGas = 50000000
MaxETHGas define the maximum gas for a single transaction on ETH
const MaxMemoSize = 250
MaxMemoSize Maximum Memo Size
const MimirKeyRegex = `^[a-zA-Z0-9-]+$`
const MinMimirV2Vote = 3
MinMimirV2Vote
const StreamingSwapMinBPFeeMulti = int64(100)
StreamingSwapMinBPFee multiplier. This is used to allow decimal points for streaming swap math
Variables ¶
var ( GitCommit = "null" // sha1 revision used to build the program BuildTime = "null" // when the executable was built Version = "0.1.0" // software version )
var SWVersion, _ = semver.Make(Version)
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