Documentation
¶
Overview ¶
Package tokens defines the common interfaces and supported bridges in sub directories.
Index ¶
- Constants
- Variables
- func CalcSwapValue(tokenID, fromChainID, toChainID string, value *big.Int, ...) *big.Int
- func CheckNativeBalance(b IBridge, account string, needValue *big.Int) (err error)
- func CheckTokenSwapValue(swapInfo *SwapTxInfo, fromDecimals, toDecimals uint8) bool
- func ConvertTokenValue(fromValue *big.Int, fromDecimals, toDecimals uint8) *big.Int
- func GetBigValueThreshold(tokenID, fromChainID, toChainID string, fromDecimals uint8) *big.Int
- func InitRouterSwapType(swapTypeStr string)
- func IsAnyCallRouter() bool
- func IsERC20Router() bool
- func IsNFTRouter() bool
- func IsNativeCoin(name string) bool
- func IsRPCQueryOrNotFoundError(err error) bool
- func IsValidAnycallSubType(subType string) bool
- func RPCCall(result interface{}, urls []string, method string, params ...interface{}) (err error)
- func RPCCallWithTimeout(timeout int, result interface{}, urls []string, method string, ...) (err error)
- func SetFeeConfigs(feeCfgs *sync.Map)
- func SetOnchainCustomConfig(chainID, tokenID string, config *OnchainCustomConfig)
- func SetSwapConfigs(swapCfgs *sync.Map)
- func ShouldRegisterRouterSwapForError(err error) bool
- func ToBits(valueStr string, decimals uint8) *big.Int
- func WrapRPCQueryError(err error, method string, params ...interface{}) error
- type AllExtras
- type AnyCallSwapInfo
- type BuildTxArgs
- type ChainConfig
- type CrossChainBridgeBase
- func (b *CrossChainBridgeBase) GetBalance(account string) (*big.Int, error)
- func (b *CrossChainBridgeBase) GetChainConfig() *ChainConfig
- func (b *CrossChainBridgeBase) GetGatewayConfig() *GatewayConfig
- func (b *CrossChainBridgeBase) GetRouterContract(token string) string
- func (b *CrossChainBridgeBase) GetRouterVersion(token string) string
- func (b *CrossChainBridgeBase) GetTokenConfig(token string) *TokenConfig
- func (b *CrossChainBridgeBase) InitAfterConfig()
- func (b *CrossChainBridgeBase) InitRouterInfo(routerContract, routerVersion string) (err error)
- func (b *CrossChainBridgeBase) SetChainConfig(chainCfg *ChainConfig)
- func (b *CrossChainBridgeBase) SetGatewayConfig(gatewayCfg *GatewayConfig)
- func (b *CrossChainBridgeBase) SetTokenConfig(token string, tokenCfg *TokenConfig)
- type ERC20SwapInfo
- type EthExtraArgs
- type FeeConfig
- type GatewayConfig
- type IBridge
- type IBridgeConfg
- type IMPCSign
- type ISwapTrade
- type NFTSwapInfo
- type NonceSetter
- type OnchainCustomConfig
- type RegisterArgs
- type StatusInterface
- type SwapArgs
- type SwapConfig
- type SwapInfo
- type SwapTxInfo
- type SwapType
- type TokenConfig
- type TxStatus
- type VerifyArgs
Constants ¶
const ( MaxStandardTokenVersion = uint64(10000) MinWrapperTokenVersion = uint64(20000) )
token version boundaries
const ( CurveAnycallSubType = "curve" AnycallSubTypeV5 = "v5" // for curve AnycallSubTypeV6 = "v6" // for hundred AnycallSubTypeV7 = "v7" // add callback )
SwapSubType constants
Variables ¶
var ( AggregateIdentifier = "aggregate" // StubChainIDBase stub chainID base value StubChainIDBase = big.NewInt(1000000000000) )
var ( ErrNotImplemented = errors.New("not implemented") ErrSwapTypeNotSupported = errors.New("swap type not supported") ErrUnknownSwapSubType = errors.New("unknown swap sub type") ErrNoBridgeForChainID = errors.New("no bridge for chain id") ErrSwapTradeNotSupport = errors.New("swap trade not support") ErrNonceNotSupport = errors.New("nonce not support") ErrNotFound = errors.New("not found") ErrTxNotFound = errors.New("tx not found") ErrDepositNotFound = errors.New("deposit not found") ErrTxNotStable = errors.New("tx not stable") ErrLogIndexOutOfRange = errors.New("log index out of range") ErrTxWithWrongReceipt = errors.New("tx with wrong receipt") ErrTxWithWrongReceiver = errors.New("tx with wrong receiver") ErrTxWithWrongContract = errors.New("tx with wrong contract") ErrTxWithWrongTopics = errors.New("tx with wrong log topics") ErrSwapoutLogNotFound = errors.New("swapout log not found or removed") ErrSwapoutPatternMismatch = errors.New("swapout pattern mismatch") ErrTxWithRemovedLog = errors.New("tx with removed log") ErrWrongBindAddress = errors.New("wrong bind address") ErrWrongRawTx = errors.New("wrong raw tx") ErrUnsupportedFuncHash = errors.New("unsupported method func hash") ErrWrongCountOfMsgHashes = errors.New("wrong count of msg hashed") ErrMsgHashMismatch = errors.New("message hash mismatch") ErrSwapInBlacklist = errors.New("swap is in black list") ErrTxBeforeInitialHeight = errors.New("transaction before initial block height") ErrEstimateGasFailed = errors.New("estimate gas failed") ErrRPCQueryError = errors.New("rpc query error") ErrMissDynamicFeeConfig = errors.New("miss dynamic fee config") ErrFromChainIDMismatch = errors.New("from chainID mismatch") ErrSameFromAndToChainID = errors.New("from and to chainID are same") ErrMissMPCPublicKey = errors.New("miss mpc public key config") ErrMissRouterInfo = errors.New("miss router info") ErrRouterVersionMismatch = errors.New("router version mismatch") ErrSenderMismatch = errors.New("sender mismatch") ErrTxWithWrongSender = errors.New("tx with wrong sender") ErrToChainIDMismatch = errors.New("to chainID mismatch") ErrTxWithWrongStatus = errors.New("tx with wrong status") ErrUnknownSwapoutType = errors.New("unknown swapout type") ErrEmptyTokenID = errors.New("empty tokenID") ErrNoEnoughReserveBudget = errors.New("no enough reserve budget") ErrTxWithNoPayment = errors.New("tx with no payment") ErrTxIsNotValidated = errors.New("tx is not validated") ErrPauseSwapInto = errors.New("maintain: pause swap into") ErrBuildTxErrorAndDelay = errors.New("[build tx error]") ErrSwapoutIDNotExist = errors.New("swapoutID not exist") ErrValidPublicKey = errors.New("valid public key error") ErrBroadcastTx = errors.New("broadcast tx error") ErrSimulateTx = errors.New("simulate tx error") ErrTxWithWrongMemo = errors.New("tx with wrong memo") ErrFallbackNotSupport = errors.New("app does not support fallback") ErrQueryTokenBalance = errors.New("query token balance error") ErrTokenBalanceNotEnough = errors.New("token balance not enough") ErrGetLatestBlockNumber = errors.New("get latest block number error") ErrGetAccountNonce = errors.New("get account nonce error") ErrGetUnderlying = errors.New("get underlying address error") ErrGetMPC = errors.New("get mpc address error") ErrTokenDecimals = errors.New("get token decimals error") ErrGetLatestBlockHash = errors.New("get latest block hash error") ErrTxResultType = errors.New("tx type is not TransactionResult") ErrTxWithWrongAssetLength = errors.New("tx with wrong asset length") ErrOutputLength = errors.New("output lenght is zero") ErrMpcAddrMissMatch = errors.New("receiver addr not match mpc addr") ErrMetadataKeyMissMatch = errors.New("metadata key not match 123") ErrAdaSwapOutAmount = errors.New("swap ada amount too small") ErrTokenBalancesNotEnough = errors.New("token balance not enough") ErrBalanceNotEnough = errors.New("balance not enough") ErrAdaBalancesNotEnough = errors.New("ada balance not enough") ErrOutputIndexSort = errors.New("output not order by index asc") ErrCmdArgVerify = errors.New("cmd args verify fails") ErrAggregateTx = errors.New("aggregate tx fails") ErrNilSwapValue = errors.New("swap value is nil") ErrMessageSentNotFound = errors.New("message sent not found") ErrNoAttestationServer = errors.New("no attesttation server") ErrGetAttestationFailed = errors.New("get attesttation failed") )
common errors
var ( ErrTxWithWrongValue = errors.New("tx with wrong value") ErrTxWithWrongPath = errors.New("swap trade tx with wrong path") ErrMissTokenConfig = errors.New("miss token config") ErrNoUnderlyingToken = errors.New("no underlying token") ErrVerifyTxUnsafe = errors.New("[tx maybe unsafe]") ErrSwapoutForbidden = errors.New("swapout forbidden") )
errors should register in router swap
Functions ¶
func CalcSwapValue ¶
func CalcSwapValue(tokenID, fromChainID, toChainID string, value *big.Int, fromDecimals, toDecimals uint8, originFrom, originTxTo string) *big.Int
CalcSwapValue calc swap value (get rid of fee and convert by decimals)
func CheckNativeBalance ¶ added in v3.5.1
CheckNativeBalance check native balance
func CheckTokenSwapValue ¶
func CheckTokenSwapValue(swapInfo *SwapTxInfo, fromDecimals, toDecimals uint8) bool
CheckTokenSwapValue check swap value is in right range
func ConvertTokenValue ¶ added in v3.2.0
ConvertTokenValue convert token value
func GetBigValueThreshold ¶ added in v3.2.0
GetBigValueThreshold get big value threshold
func InitRouterSwapType ¶ added in v3.4.0
func InitRouterSwapType(swapTypeStr string)
InitRouterSwapType init router swap type
func IsAnyCallRouter ¶ added in v3.4.0
func IsAnyCallRouter() bool
IsAnyCallRouter is anycall router
func IsRPCQueryOrNotFoundError ¶ added in v3.4.0
IsRPCQueryOrNotFoundError is rpc or not found error
func IsValidAnycallSubType ¶ added in v3.6.1
IsValidAnycallSubType is valid anycall subType
func RPCCallWithTimeout ¶ added in v3.4.0
func RPCCallWithTimeout(timeout int, result interface{}, urls []string, method string, params ...interface{}) (err error)
RPCCallWithTimeout common RPC calling with specified timeout
func SetFeeConfigs ¶ added in v3.6.0
SetFeeConfigs set fee configs
func SetOnchainCustomConfig ¶ added in v3.6.1
func SetOnchainCustomConfig(chainID, tokenID string, config *OnchainCustomConfig)
SetOnchainCustomConfig set onchain custom config
func SetSwapConfigs ¶ added in v3.2.0
SetSwapConfigs set swap configs
func ShouldRegisterRouterSwapForError ¶
ShouldRegisterRouterSwapForError return true if this error should record in database
func WrapRPCQueryError ¶ added in v3.4.0
WrapRPCQueryError wrap rpc error
Types ¶
type AllExtras ¶
type AllExtras struct {
EthExtra *EthExtraArgs `json:"ethExtra,omitempty"`
ReplaceNum uint64 `json:"replaceNum,omitempty"`
Sequence *uint64 `json:"sequence,omitempty"`
Fee *string `json:"fee,omitempty"`
Gas *uint64 `json:"gas,omitempty"`
RawTx hexutil.Bytes `json:"rawTx,omitempty"`
BlockHash *string `json:"blockHash,omitempty"`
// calculated value
BridgeFee *big.Int `json:"bridgeFee,omitempty"`
}
AllExtras struct
type AnyCallSwapInfo ¶
type AnyCallSwapInfo struct {
CallFrom string `json:"callFrom"`
CallTo string `json:"callTo"`
CallData hexutil.Bytes `json:"callData"`
Fallback string `json:"fallback,omitempty"`
Flags string `json:"flags,omitempty"`
AppID string `json:"appid,omitempty"`
Nonce string `json:"nonce,omitempty"`
ExtData hexutil.Bytes `json:"extdata,omitempty"`
Message hexutil.Bytes `json:"message,omitempty"`
Attestation hexutil.Bytes `json:"attestation,omitempty"`
}
AnyCallSwapInfo struct
type BuildTxArgs ¶
type BuildTxArgs struct {
SwapArgs `json:"swapArgs,omitempty"`
From string `json:"from,omitempty"`
To string `json:"to,omitempty"`
OriginFrom string `json:"originFrom,omitempty"`
OriginTxTo string `json:"originTxTo,omitempty"`
OriginValue *big.Int `json:"originValue,omitempty"`
SwapValue *big.Int `json:"swapValue,omitempty"`
Value *big.Int `json:"value,omitempty"`
Memo string `json:"memo,omitempty"`
Selector string `json:"selector,omitempty"`
Input *hexutil.Bytes `json:"input,omitempty"`
Extra *AllExtras `json:"extra,omitempty"`
}
BuildTxArgs struct
func (*BuildTxArgs) GetExtraArgs ¶
func (args *BuildTxArgs) GetExtraArgs() *BuildTxArgs
GetExtraArgs get extra args
func (*BuildTxArgs) GetReplaceNum ¶ added in v3.4.0
func (args *BuildTxArgs) GetReplaceNum() uint64
GetReplaceNum get rplace swap count
func (*BuildTxArgs) GetTxNonce ¶
func (args *BuildTxArgs) GetTxNonce() uint64
GetTxNonce get tx nonce
func (*BuildTxArgs) GetUniqueSwapIdentifier ¶ added in v3.6.1
func (args *BuildTxArgs) GetUniqueSwapIdentifier() string
GetUniqueSwapIdentifier get unique swap identifier
type ChainConfig ¶
type ChainConfig struct {
ChainID string
BlockChain string
RouterContract string
RouterVersion string
Confirmations uint64
InitialHeight uint64
Extra string
// contains filtered or unexported fields
}
ChainConfig struct
func (*ChainConfig) CheckConfig ¶
func (c *ChainConfig) CheckConfig() (err error)
CheckConfig check chain config
func (*ChainConfig) GetChainID ¶ added in v3.4.0
func (c *ChainConfig) GetChainID() *big.Int
GetChainID get chainID of number
type CrossChainBridgeBase ¶
type CrossChainBridgeBase struct {
ChainConfig *ChainConfig
GatewayConfig *GatewayConfig
TokenConfigMap *sync.Map // key is token address
UseFastMPC bool
AllGatewayURLs []string
}
CrossChainBridgeBase base bridge
func NewCrossChainBridgeBase ¶
func NewCrossChainBridgeBase() *CrossChainBridgeBase
NewCrossChainBridgeBase new base bridge
func (*CrossChainBridgeBase) GetBalance ¶ added in v3.5.1
func (b *CrossChainBridgeBase) GetBalance(account string) (*big.Int, error)
GetBalance get balance is used for checking budgets to prevent DOS attacking
func (*CrossChainBridgeBase) GetChainConfig ¶
func (b *CrossChainBridgeBase) GetChainConfig() *ChainConfig
GetChainConfig get chain config
func (*CrossChainBridgeBase) GetGatewayConfig ¶
func (b *CrossChainBridgeBase) GetGatewayConfig() *GatewayConfig
GetGatewayConfig get gateway config
func (*CrossChainBridgeBase) GetRouterContract ¶ added in v3.5.0
func (b *CrossChainBridgeBase) GetRouterContract(token string) string
GetRouterContract get router contract
func (*CrossChainBridgeBase) GetRouterVersion ¶ added in v3.6.2
func (b *CrossChainBridgeBase) GetRouterVersion(token string) string
GetRouterVersion get router version
func (*CrossChainBridgeBase) GetTokenConfig ¶
func (b *CrossChainBridgeBase) GetTokenConfig(token string) *TokenConfig
GetTokenConfig get token config
func (*CrossChainBridgeBase) InitAfterConfig ¶ added in v3.5.0
func (b *CrossChainBridgeBase) InitAfterConfig()
InitAfterConfig init variables (ie. extra members) after loading config
func (*CrossChainBridgeBase) InitRouterInfo ¶ added in v3.5.2
func (b *CrossChainBridgeBase) InitRouterInfo(routerContract, routerVersion string) (err error)
InitRouterInfo init router info
func (*CrossChainBridgeBase) SetChainConfig ¶
func (b *CrossChainBridgeBase) SetChainConfig(chainCfg *ChainConfig)
SetChainConfig set chain config
func (*CrossChainBridgeBase) SetGatewayConfig ¶
func (b *CrossChainBridgeBase) SetGatewayConfig(gatewayCfg *GatewayConfig)
SetGatewayConfig set gateway config
func (*CrossChainBridgeBase) SetTokenConfig ¶
func (b *CrossChainBridgeBase) SetTokenConfig(token string, tokenCfg *TokenConfig)
SetTokenConfig set token config
type ERC20SwapInfo ¶ added in v3.4.0
type ERC20SwapInfo struct {
Token string `json:"token"`
TokenID string `json:"tokenID"`
SwapoutID string `json:"swapoutID,omitempty"`
CallProxy string `json:"callProxy,omitempty"`
CallData hexutil.Bytes `json:"callData,omitempty"`
}
ERC20SwapInfo struct
type EthExtraArgs ¶
type EthExtraArgs struct {
Gas *uint64 `json:"gas,omitempty"`
GasPrice *big.Int `json:"gasPrice,omitempty"`
GasTipCap *big.Int `json:"gasTipCap,omitempty"`
GasFeeCap *big.Int `json:"gasFeeCap,omitempty"`
Nonce *uint64 `json:"nonce,omitempty"`
}
EthExtraArgs struct
type FeeConfig ¶ added in v3.6.0
type FeeConfig struct {
MaximumSwapFee *big.Int
MinimumSwapFee *big.Int
SwapFeeRatePerMillion uint64
}
FeeConfig struct
func GetFeeConfig ¶ added in v3.6.0
GetFeeConfig get fee config
func (*FeeConfig) CheckConfig ¶ added in v3.6.0
CheckConfig check fee config
type GatewayConfig ¶
type GatewayConfig struct {
APIAddress []string
APIAddressExt []string `json:",omitempty"`
EVMAPIAddress []string `json:",omitempty"`
FinalizeAPIAddress []string `json:",omitempty"`
GRPCAPIAddress []string `json:",omitempty"`
// internal usage
WeightedAPIs tools.WeightedStringSlice `toml:"-" json:"-"`
}
GatewayConfig struct
func (*GatewayConfig) IsEmpty ¶ added in v3.6.2
func (c *GatewayConfig) IsEmpty() bool
IsEmpty is not configed
type IBridge ¶
type IBridge interface {
IBridgeConfg
IMPCSign
InitRouterInfo(routerContract, routerVersion string) error
InitAfterConfig()
RegisterSwap(txHash string, args *RegisterArgs) ([]*SwapTxInfo, []error)
VerifyTransaction(txHash string, ars *VerifyArgs) (*SwapTxInfo, error)
BuildRawTransaction(args *BuildTxArgs) (rawTx interface{}, err error)
SendTransaction(signedTx interface{}) (txHash string, err error)
GetTransaction(txHash string) (interface{}, error)
GetTransactionStatus(txHash string) (*TxStatus, error)
GetLatestBlockNumber() (uint64, error)
GetLatestBlockNumberOf(url string) (uint64, error)
IsValidAddress(address string) bool
PublicKeyToAddress(pubKeyHex string) (string, error)
// GetBalance get balance is used for checking budgets
// to prevent DOS attacking (used in any`call)
GetBalance(account string) (*big.Int, error)
}
IBridge interface
type IBridgeConfg ¶
type IBridgeConfg interface {
GetGatewayConfig() *GatewayConfig
GetChainConfig() *ChainConfig
GetTokenConfig(tokenAddr string) *TokenConfig
GetRouterContract(token string) string
GetRouterVersion(token string) string
SetChainConfig(chainCfg *ChainConfig)
SetGatewayConfig(gatewayCfg *GatewayConfig)
SetTokenConfig(token string, tokenCfg *TokenConfig)
}
IBridgeConfg interface implemented by 'CrossChainBridgeBase'
type IMPCSign ¶
type IMPCSign interface {
VerifyMsgHash(rawTx interface{}, msgHash []string) error
MPCSignTransaction(rawTx interface{}, args *BuildTxArgs) (signedTx interface{}, txHash string, err error)
}
IMPCSign interface
type ISwapTrade ¶ added in v3.2.1
ISwapTrade interface
type NFTSwapInfo ¶ added in v3.4.0
type NFTSwapInfo struct {
Token string `json:"token"`
TokenID string `json:"tokenID"`
IDs []*big.Int `json:"ids"`
Amounts []*big.Int `json:"amounts"`
Batch bool `json:"batch"`
Data hexutil.Bytes `json:"data,omitempty"`
}
NFTSwapInfo struct
type NonceSetter ¶
type NonceSetter interface {
InitSwapNonce(br NonceSetter, address string, nonce uint64)
// sequential
GetPoolNonce(address, height string) (uint64, error)
SetNonce(address string, value uint64)
AdjustNonce(address string, value uint64) (nonce uint64)
// parallel
AllocateNonce(args *BuildTxArgs) (nonce uint64, err error)
RecycleSwapNonce(sender string, nonce uint64)
}
NonceSetter interface (for eth-like)
type OnchainCustomConfig ¶ added in v3.6.1
type OnchainCustomConfig struct {
AdditionalSrcChainSwapFeeRate uint64
AdditionalSrcMinimumSwapFee *big.Int
AdditionalSrcMaximumSwapFee *big.Int
}
OnchainCustomConfig onchain custom config (in router config)
func GetOnchainCustomConfig ¶ added in v3.6.1
func GetOnchainCustomConfig(chainID, tokenID string) *OnchainCustomConfig
GetOnchainCustomConfig get onchain custom config
type RegisterArgs ¶
type RegisterArgs struct {
SwapType SwapType `json:"swaptype,omitempty"`
LogIndex int `json:"logIndex,omitempty"`
}
RegisterArgs struct
type StatusInterface ¶ added in v3.5.0
type StatusInterface interface {
IsStatusOk() bool
}
StatusInterface interface
type SwapArgs ¶
type SwapArgs struct {
SwapInfo `json:"swapinfo"`
Identifier string `json:"identifier,omitempty"`
SwapID string `json:"swapid,omitempty"`
SwapType SwapType `json:"swaptype,omitempty"`
Bind string `json:"bind,omitempty"`
LogIndex int `json:"logIndex"`
FromChainID *big.Int `json:"fromChainID"`
ToChainID *big.Int `json:"toChainID"`
Reswapping bool `json:"reswapping,omitempty"`
}
SwapArgs struct
type SwapConfig ¶ added in v3.2.0
SwapConfig struct
func GetSwapConfig ¶ added in v3.2.0
func GetSwapConfig(tokenID, fromChainID, toChainID string) *SwapConfig
GetSwapConfig get swap config
func (*SwapConfig) CheckConfig ¶ added in v3.2.0
func (c *SwapConfig) CheckConfig() error
CheckConfig check swap config
type SwapInfo ¶
type SwapInfo struct {
ERC20SwapInfo *ERC20SwapInfo `json:"routerSwapInfo,omitempty"`
NFTSwapInfo *NFTSwapInfo `json:"nftSwapInfo,omitempty"`
AnyCallSwapInfo *AnyCallSwapInfo `json:"anycallSwapInfo2,omitempty"`
}
SwapInfo struct
func (*SwapInfo) GetTokenID ¶ added in v3.4.0
GetTokenID get tokenID
type SwapTxInfo ¶
type SwapTxInfo struct {
SwapInfo `json:"swapinfo"`
SwapType SwapType `json:"swaptype"`
Hash string `json:"hash"`
Height uint64 `json:"height"`
Timestamp uint64 `json:"timestamp"`
From string `json:"from"`
TxTo string `json:"txto"`
To string `json:"to"`
Bind string `json:"bind"`
Value *big.Int `json:"value"`
LogIndex int `json:"logIndex"`
FromChainID *big.Int `json:"fromChainID"`
ToChainID *big.Int `json:"toChainID"`
}
SwapTxInfo struct
type SwapType ¶
type SwapType uint32
SwapType type
const ( UnknownSwapType SwapType = iota ERC20SwapType NFTSwapType AnyCallSwapType ERC20SwapTypeMixPool MaxValidSwapType )
SwapType constants
func GetRouterSwapType ¶ added in v3.4.0
func GetRouterSwapType() SwapType
GetRouterSwapType get router swap type
func (SwapType) IsValidType ¶ added in v3.4.0
IsValidType is valid swap type
type TokenConfig ¶
type TokenConfig struct {
TokenID string
Decimals uint8
ContractAddress string
ContractVersion uint64
RouterContract string
RouterVersion string
Extra string
Checked bool `json:"-"`
// contains filtered or unexported fields
}
TokenConfig struct
func (*TokenConfig) CheckConfig ¶
func (c *TokenConfig) CheckConfig() error
CheckConfig check token config
func (*TokenConfig) GetUnderlying ¶
func (c *TokenConfig) GetUnderlying() string
GetUnderlying get underlying
func (*TokenConfig) IsStandardTokenVersion ¶ added in v3.5.0
func (c *TokenConfig) IsStandardTokenVersion() bool
IsStandardTokenVersion is standard token version
func (*TokenConfig) IsWrapperTokenVersion ¶ added in v3.6.1
func (c *TokenConfig) IsWrapperTokenVersion() bool
IsWrapperTokenVersion is wrapper token version
func (*TokenConfig) SetUnderlying ¶
func (c *TokenConfig) SetUnderlying(underlying string)
SetUnderlying set underlying
type TxStatus ¶
type TxStatus struct {
Receipt interface{} `json:"receipt,omitempty"`
Confirmations uint64 `json:"confirmations"`
BlockHeight uint64 `json:"block_height"`
BlockHash string `json:"block_hash"`
BlockTime uint64 `json:"block_time"`
}
TxStatus struct
func (*TxStatus) IsSwapTxOnChain ¶ added in v3.6.2
IsSwapTxOnChain is tx onchain
func (*TxStatus) IsSwapTxOnChainAndFailed ¶ added in v3.4.0
IsSwapTxOnChainAndFailed to make failed of swaptx
type VerifyArgs ¶
type VerifyArgs struct {
SwapType SwapType `json:"swaptype,omitempty"`
LogIndex int `json:"logIndex,omitempty"`
AllowUnstable bool `json:"allowUnstable,omitempty"`
}
VerifyArgs struct
Directories
¶
| Path | Synopsis |
|---|---|
|
tools/calcTxhashTest
command
|
|
|
tools/configCoin
command
|
|
|
tools/deployModule
command
|
|
|
tools/deposit
command
|
|
|
tools/eventlog
command
|
|
|
tools/getStubChainID
command
|
|
|
tools/issueCoin
command
|
|
|
tools/mintCoin
command
|
|
|
tools/publicKeyToAddress
command
|
|
|
tools/registerCoin
command
|
|
|
tools/registerMintCoin
command
|
|
|
tools/registerPoolCoin
command
|
|
|
tools/setPoolcoinCap
command
|
|
|
tools/setStatus
command
|
|
|
tools/setUnderlyingCap
command
|
|
|
tools/setupAnyCoin
command
|
|
|
tools/swapin
command
|
|
|
tools/swapout
command
|
|
|
tools/transfer
command
|
|
|
tools/withdraw
command
|
|
|
tweetnacl
tweetnacl-go is a port of Dan Bernstein's "crypto library in a 100 tweets" code to the Go language.
|
tweetnacl-go is a port of Dan Bernstein's "crypto library in a 100 tweets" code to the Go language. |
|
tools/getStubChainID
command
|
|
|
tools/pubKeyToAddress
command
|
|
|
tools/wifToEcPrivKey
command
|
|
|
tools/getStubChainID
command
|
|
|
tools/queryUtxos
command
|
|
|
tools/scan
command
|
|
|
tools/sendTransaction
command
|
|
|
tools/getStubChainID
command
|
|
|
tools/publicKeyToAddress
command
|
|
|
tools/scan
command
|
|
|
tools/sendToken
command
|
|
|
tools/verifyAddress
command
|
|
|
Package eth implements the bridge interfaces to support routering.
|
Package eth implements the bridge interfaces to support routering. |
|
abicoder
Package abicoder is simple tool to pack datas like solidity abi.
|
Package abicoder is simple tool to pack datas like solidity abi. |
|
tools/deployContract
command
|
|
|
tools/functionCall
command
|
|
|
tools/getStubChainID
command
|
|
|
tools/publicKeyToAddress
command
|
|
|
tools/scan
command
|
|
|
tools/sendNear
command
|
|
|
rubblelabs/ripple/config
Package config provides a simple way of signing submitting groups of transactions for the same account.
|
Package config provides a simple way of signing submitting groups of transactions for the same account. |
|
rubblelabs/ripple/data
Package data aims to provides all the data types that are needed to build tools, clients and servers for use on the Ripple network.
|
Package data aims to provides all the data types that are needed to build tools, clients and servers for use on the Ripple network. |
|
tools/getStubChainID
command
|
|
|
tools/publicKeyToAddress
command
|
|
|
tools/sendAccountSetTx
command
|
|
|
tools/sendPaymentTx
command
|
|
|
tools/sendTrustSetTx
command
|
|
|
tools/EnableSwap
command
|
|
|
tools/applyMpc
command
|
|
|
tools/changeMpc
command
|
|
|
tools/createRouterOwnerATA
command
|
|
|
tools/genAccount
command
|
|
|
tools/issueToken
command
|
|
|
tools/publicKeyToAddress
command
|
|
|
tools/scanTx
command
|
|
|
btc
Package eth test eth router by implementing `tokens.IBridge` interface.
|
Package eth test eth router by implementing `tokens.IBridge` interface. |
|
eth
Package eth test eth router by implementing `tokens.IBridge` interface.
|
Package eth test eth router by implementing `tokens.IBridge` interface. |
|
abicoder
Package abicoder is simple tool to pack datas like solidity abi.
|
Package abicoder is simple tool to pack datas like solidity abi. |
|
tools/eth2tronAddress
command
|
|
|
tools/publicKeyToAddress
command
|
|
|
tools/tron2ethAddress
command
|