Documentation ¶
Overview ¶
Package params provides common version info and config items.
Index ¶
- Constants
- Variables
- func AllowCallByContract() bool
- func CallContractWithGateway(gateway, contract string, data hexutil.Bytes, blockNumber string) (result string, err error)
- func GetAcceptListInterval() uint64
- func GetBaseFeePercent(chainID string) int64
- func GetDataDir() string
- func GetFixedGasPrice(chainID string) *big.Int
- func GetIdentifier() string
- func GetMaxGasPrice(chainID string) *big.Int
- func GetMinReserveFee(chainID string) *big.Int
- func GetNoncePassedConfirmInterval(chainID string) int64
- func GetOnchainContract() string
- func GetSwapType() string
- func HasRouterAdmin() bool
- func IsChainIDInBlackList(chainID string) bool
- func IsCheckTxBlockHashEnabled(chainID string) bool
- func IsCheckTxBlockIndexEnabled(chainID string) bool
- func IsDebugMode() bool
- func IsDynamicFeeTxEnabled(chainID string) bool
- func IsInBigValueWhitelist(tokenID, caller string) bool
- func IsInCallByContractWhitelist(chainID, caller string) bool
- func IsMPCInitiator(account string) bool
- func IsRouterAdmin(account string) bool
- func IsSwapInBlacklist(fromChainID, toChainID, tokenID string) bool
- func IsTokenIDInBlackList(tokenID string) bool
- func SetAllowCallByContract(allow bool)
- func SetDataDir(dir string, isServer bool)
- func VersionWithCommit(gitCommit, gitDate string) string
- type APIServerConfig
- type DynamicFeeTxConfig
- type ExtraConfig
- type MPCConfig
- type MPCNodeConfig
- type MongoDBConfig
- type OnchainConfig
- type RouterConfig
- type RouterServerConfig
Constants ¶
const ( VersionMajor = 3 // Major version component of the current release VersionMinor = 3 // Minor version component of the current release VersionPatch = 0 // Patch version component of the current release VersionMeta = "" // Version metadata to append to the version string )
version parts
const (
RouterSwapPrefixID = "routerswap"
)
router swap constants
Variables ¶
var Version = func() string { return fmt.Sprintf("%d.%d.%d", VersionMajor, VersionMinor, VersionPatch) }()
Version holds the textual version string.
var VersionWithMeta = func() string { v := Version if VersionMeta != "" { v += "-" + VersionMeta } return v }()
VersionWithMeta holds the textual version string including the metadata.
Functions ¶
func AllowCallByContract ¶
func AllowCallByContract() bool
AllowCallByContract allow call into router from contract
func CallContractWithGateway ¶
func CallContractWithGateway(gateway, contract string, data hexutil.Bytes, blockNumber string) (result string, err error)
CallContractWithGateway call eth_call
func GetAcceptListInterval ¶
func GetAcceptListInterval() uint64
GetAcceptListInterval get accept list interval (seconds)
func GetBaseFeePercent ¶
GetBaseFeePercent get base fee percent
func GetFixedGasPrice ¶
GetFixedGasPrice get fixed gas price of specified chain
func GetIdentifier ¶
func GetIdentifier() string
GetIdentifier get identifier (to distiguish in mpc accept)
func GetMaxGasPrice ¶
GetMaxGasPrice get max gas price of specified chain
func GetMinReserveFee ¶
GetMinReserveFee get min reserve fee
func GetNoncePassedConfirmInterval ¶
GetNoncePassedConfirmInterval get nonce passed confirm interval
func GetOnchainContract ¶
func GetOnchainContract() string
GetOnchainContract get onchain config contract address
func IsChainIDInBlackList ¶
IsChainIDInBlackList is chain id in black list
func IsCheckTxBlockHashEnabled ¶
IsCheckTxBlockHashEnabled check tx block hash
func IsCheckTxBlockIndexEnabled ¶
IsCheckTxBlockIndexEnabled check tx block and index
func IsDynamicFeeTxEnabled ¶
IsDynamicFeeTxEnabled is dynamic fee tx enabled (EIP-1559)
func IsInBigValueWhitelist ¶
IsInBigValueWhitelist is in call by contract whitelist
func IsInCallByContractWhitelist ¶
IsInCallByContractWhitelist is in call by contract whitelist
func IsMPCInitiator ¶
IsMPCInitiator is initiator of mpc sign
func IsSwapInBlacklist ¶
IsSwapInBlacklist is chain or token blacklisted
func IsTokenIDInBlackList ¶
IsTokenIDInBlackList is token id in black list
func SetAllowCallByContract ¶
func SetAllowCallByContract(allow bool)
SetAllowCallByContract set allow call by contract flag (used in testing)
func VersionWithCommit ¶
VersionWithCommit add git commit and data to version.
Types ¶
type APIServerConfig ¶
APIServerConfig api service config
type DynamicFeeTxConfig ¶
type DynamicFeeTxConfig struct { PlusGasTipCapPercent uint64 PlusGasFeeCapPercent uint64 BlockCountFeeHistory int MaxGasTipCap string MaxGasFeeCap string // contains filtered or unexported fields }
DynamicFeeTxConfig dynamic fee tx config
func GetDynamicFeeTxConfig ¶
func GetDynamicFeeTxConfig(chainID string) *DynamicFeeTxConfig
GetDynamicFeeTxConfig get dynamic fee tx config (EIP-1559)
func (*DynamicFeeTxConfig) GetMaxGasFeeCap ¶
func (c *DynamicFeeTxConfig) GetMaxGasFeeCap() *big.Int
GetMaxGasFeeCap get max fee gas cap
func (*DynamicFeeTxConfig) GetMaxGasTipCap ¶
func (c *DynamicFeeTxConfig) GetMaxGasTipCap() *big.Int
GetMaxGasTipCap get max gas tip cap
type ExtraConfig ¶
type ExtraConfig struct { IsDebugMode bool `toml:",omitempty" json:",omitempty"` MinReserveFee map[string]uint64 `toml:",omitempty" json:",omitempty"` BaseFeePercent map[string]int64 `toml:",omitempty" json:",omitempty"` // key is chain ID GetAcceptListInterval uint64 `toml:",omitempty" json:",omitempty"` AllowCallByContract bool CallByContractWhitelist map[string][]string // chainID -> whitelist BigValueWhitelist map[string][]string // tokenID -> whitelist DynamicFeeTxEnabledChains []string EnableCheckTxBlockHashChains []string EnableCheckTxBlockIndexChains []string }
ExtraConfig extra config
func (*ExtraConfig) CheckConfig ¶
func (c *ExtraConfig) CheckConfig() (err error)
CheckConfig check extra config
type MPCConfig ¶
type MPCConfig struct { APIPrefix string RPCTimeout uint64 SignTimeout uint64 GroupID *string NeededOracles *uint32 TotalOracles *uint32 Mode uint32 // 0:managed 1:private (default 0) Initiators []string DefaultNode *MPCNodeConfig OtherNodes []*MPCNodeConfig `toml:",omitempty" json:",omitempty"` }
MPCConfig mpc related config
func (*MPCConfig) CheckConfig ¶
CheckConfig check mpc config
type MPCNodeConfig ¶
type MPCNodeConfig struct { RPCAddress *string SignGroups []string `toml:",omitempty" json:",omitempty"` KeystoreFile *string `json:"-"` PasswordFile *string `json:"-"` }
MPCNodeConfig mpc node config
func (*MPCNodeConfig) CheckConfig ¶
func (c *MPCNodeConfig) CheckConfig(isServer bool) (err error)
CheckConfig check mpc node config
type MongoDBConfig ¶
type MongoDBConfig struct { DBURL string `toml:",omitempty" json:",omitempty"` DBURLs []string `toml:",omitempty" json:",omitempty"` DBName string UserName string `json:"-"` Password string `json:"-"` }
MongoDBConfig mongodb config
func (*MongoDBConfig) CheckConfig ¶
func (c *MongoDBConfig) CheckConfig() error
CheckConfig check mongodb config
type OnchainConfig ¶
type OnchainConfig struct { Contract string APIAddress []string WSServers []string ReloadCycle uint64 // seconds }
OnchainConfig struct
func (*OnchainConfig) CheckConfig ¶
func (c *OnchainConfig) CheckConfig() error
CheckConfig check onchain config storing chain and token configs
type RouterConfig ¶
type RouterConfig struct { Server *RouterServerConfig `toml:",omitempty" json:",omitempty"` Identifier string SwapType string Onchain *OnchainConfig Gateways map[string][]string // key is chain ID GatewaysExt map[string][]string `toml:",omitempty" json:",omitempty"` // key is chain ID MPC *MPCConfig Extra *ExtraConfig `toml:",omitempty" json:",omitempty"` }
RouterConfig config
func LoadRouterConfig ¶
func LoadRouterConfig(configFile string, isServer bool) *RouterConfig
LoadRouterConfig load router swap config
func (*RouterConfig) CheckConfig ¶
func (config *RouterConfig) CheckConfig(isServer bool) (err error)
CheckConfig check router config
type RouterServerConfig ¶
type RouterServerConfig struct { Admins []string MongoDB *MongoDBConfig APIServer *APIServerConfig ChainIDBlackList []string `toml:",omitempty" json:",omitempty"` TokenIDBlackList []string `toml:",omitempty" json:",omitempty"` // extras EnableReplaceSwap bool EnablePassBigValueSwap bool ReplacePlusGasPricePercent uint64 `toml:",omitempty" json:",omitempty"` WaitTimeToReplace int64 `toml:",omitempty" json:",omitempty"` // seconds MaxReplaceCount int `toml:",omitempty" json:",omitempty"` PlusGasPricePercentage uint64 `toml:",omitempty" json:",omitempty"` MaxPlusGasPricePercentage uint64 `toml:",omitempty" json:",omitempty"` MaxGasPriceFluctPercent uint64 `toml:",omitempty" json:",omitempty"` SwapDeadlineOffset int64 `toml:",omitempty" json:",omitempty"` // seconds DefaultGasLimit map[string]uint64 `toml:",omitempty" json:",omitempty"` // key is chain ID FixedGasPrice map[string]string `toml:",omitempty" json:",omitempty"` // key is chain ID MaxGasPrice map[string]string `toml:",omitempty" json:",omitempty"` // key is chain ID NoncePassedConfirmInterval map[string]int64 `toml:",omitempty" json:",omitempty"` // key is chain ID DynamicFeeTx map[string]*DynamicFeeTxConfig `toml:",omitempty" json:",omitempty"` // key is chain ID }
RouterServerConfig only for server
func GetRouterServerConfig ¶
func GetRouterServerConfig() *RouterServerConfig
GetRouterServerConfig get router server config
func (*RouterServerConfig) CheckConfig ¶
func (s *RouterServerConfig) CheckConfig() error
CheckConfig of router server
func (*RouterServerConfig) CheckDynamicFeeTxConfig ¶
func (s *RouterServerConfig) CheckDynamicFeeTxConfig() error
CheckDynamicFeeTxConfig check dynamic fee tx config
func (*RouterServerConfig) CheckExtra ¶
func (s *RouterServerConfig) CheckExtra() error
CheckExtra check extra server config