Documentation ¶
Index ¶
- Constants
- Variables
- func AllowCallByContract() bool
- func CallContractWithGateway(gateway, contract string, data hexutil.Bytes, blockNumber string) (result string, err error)
- func GetIdentifier() string
- func GetMinReserveFee(chainID string) *big.Int
- func GetOnchainContract() string
- func HasRouterAdmin() bool
- func IsChainIDInBlackList(chainID string) bool
- func IsDebugMode() bool
- func IsDynamicFeeTxEnabled(chainID 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 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 ¶ added in v3.2.1
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 GetIdentifier ¶
func GetIdentifier() string
GetIdentifier get identifier (to distiguish in mpc accept)
func GetMinReserveFee ¶ added in v3.3.0
GetMinReserveFee get min reserve fee
func GetOnchainContract ¶
func GetOnchainContract() string
GetOnchainContract get onchain config contract address
func IsChainIDInBlackList ¶
IsChainIDInBlackList is chain id in black list
func IsDebugMode ¶ added in v3.3.0
func IsDebugMode() bool
IsDebugMode is debug mode, add more debugging log infos
func IsDynamicFeeTxEnabled ¶ added in v3.3.0
IsDynamicFeeTxEnabled is dynamic fee tx enabled (EIP-1559)
func IsInCallByContractWhitelist ¶ added in v3.3.0
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 VersionWithCommit ¶
VersionWithCommit add git commit and data to version.
Types ¶
type APIServerConfig ¶
APIServerConfig api service config
type DynamicFeeTxConfig ¶ added in v3.3.0
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 ¶ added in v3.3.0
func GetDynamicFeeTxConfig(chainID string) *DynamicFeeTxConfig
GetDynamicFeeTxConfig get dynamic fee tx config (EIP-1559)
func (*DynamicFeeTxConfig) GetMaxGasFeeCap ¶ added in v3.3.0
func (c *DynamicFeeTxConfig) GetMaxGasFeeCap() *big.Int
GetMaxGasFeeCap get max fee gas cap
func (*DynamicFeeTxConfig) GetMaxGasTipCap ¶ added in v3.3.0
func (c *DynamicFeeTxConfig) GetMaxGasTipCap() *big.Int
GetMaxGasTipCap get max gas tip cap
type ExtraConfig ¶ added in v3.3.0
type ExtraConfig struct { IsDebugMode bool `toml:",omitempty" json:",omitempty"` MinReserveFee map[string]uint64 `toml:",omitempty" json:",omitempty"` AllowCallByContract bool CallByContractWhitelist map[string][]string // chainID -> whitelist DynamicFeeTxEnabledChains []string }
ExtraConfig extra config
func GetExtraConfig ¶ added in v3.3.0
func GetExtraConfig() *ExtraConfig
GetExtraConfig get extra config
func (*ExtraConfig) CheckConfig ¶ added in v3.3.0
func (c *ExtraConfig) CheckConfig() (err error)
CheckConfig check extra config
type MPCConfig ¶
type MPCConfig struct { APIPrefix string 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 DBName string UserName string `json:"-"` Password string `json:"-"` }
MongoDBConfig 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 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 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 ¶ added in v3.3.0
func (s *RouterServerConfig) CheckDynamicFeeTxConfig() error
CheckDynamicFeeTxConfig check dynamic fee tx config
func (*RouterServerConfig) CheckExtra ¶
func (s *RouterServerConfig) CheckExtra() error
CheckExtra check extra server config