Documentation
¶
Index ¶
- Constants
- type BtcRates
- type Exchange
- type RateSevice
- func (rs *RateSevice) GetBtcEURRate() (float64, error)
- func (rs *RateSevice) GetBtcRates() (map[string]models.RateV2, error)
- func (rs *RateSevice) GetCoinLiquidity(coin *coins.Coin, exchange string) (float64, error)
- func (rs *RateSevice) GetCoinOrdersWall(coin *coins.Coin, exchange string) (orders map[string][]models.MarketOrder, err error)
- func (rs *RateSevice) GetCoinRates(coin *coins.Coin, exchange string, buyWall bool, isSimple bool) (map[string]models.RateV2, error)
- func (rs *RateSevice) GetCoinToCoinRates(coinFrom *coins.Coin, coinTo *coins.Coin, exchange string) (rate float64, err error)
- func (rs *RateSevice) GetCoinToCoinRatesWithAmount(coinFrom *coins.Coin, coinTo *coins.Coin, amountReq float64, exchange string) (obol.CoinToCoinWithAmountResponse, error)
- func (rs *RateSevice) GetUsdEurRate() (float64, error)
- func (rs *RateSevice) GetUsdRates() (map[string]models.RateV2, error)
- func (rs *RateSevice) LoadFiatRates() error
Constants ¶
const ( // UpdateFiatRatesTimeFrame is the time frame to update fiat rates UpdateFiatRatesTimeFrame = 60 * 60 * 24 // 24 Hour timeframe UpdateBtcRatesTimeFrame = 60 * 15 // 15 minutes )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Exchange ¶
type Exchange interface {
CoinMarketOrders(coin string) (orders map[string][]models.MarketOrder, err error)
}
Exchange is the interface to make sure all exchange services have the same properties
type RateSevice ¶
type RateSevice struct {
FiatRates *models.FiatRates
FiatRatesToken string
BtcRates BtcRates
BittrexService *bittrex.Service
BinanceService *binance.Service
Crex24Service *crex24.Service
StexService *stex.Service
SouthXChangeService *southxhcange.Service
KuCoinService *kucoin.Service
GraviexService *graviex.Service
BitrueService *bitrue.Service
HitBTCService *hitbtc.Service
LukkiService *lukki.Service
BithumbService *bithumb.Service
BirakeService *birake.Service
PancakeService *pancake.Service
}
RateSevice is the main wrapper for all different exchanges and fiat rates data
func (*RateSevice) GetBtcEURRate ¶
func (rs *RateSevice) GetBtcEURRate() (float64, error)
GetBtcEURRate will return the price of BTC on EUR
func (*RateSevice) GetBtcRates ¶
func (rs *RateSevice) GetBtcRates() (map[string]models.RateV2, error)
GetBtcRates will return the Bitcoin rates using the OpenRates structure
func (*RateSevice) GetCoinLiquidity ¶
func (*RateSevice) GetCoinOrdersWall ¶
func (rs *RateSevice) GetCoinOrdersWall(coin *coins.Coin, exchange string) (orders map[string][]models.MarketOrder, err error)
GetCoinOrdersWall will return the buy/sell orders from selected or fallback exchange
func (*RateSevice) GetCoinRates ¶
func (rs *RateSevice) GetCoinRates(coin *coins.Coin, exchange string, buyWall bool, isSimple bool) (map[string]models.RateV2, error)
GetCoinRates is the main function to get the rates of a coin using the OpenRates structure
func (*RateSevice) GetCoinToCoinRates ¶
func (rs *RateSevice) GetCoinToCoinRates(coinFrom *coins.Coin, coinTo *coins.Coin, exchange string) (rate float64, err error)
GetCoinToCoinRates will return the rates from a crypto to a crypto using the exchanges data
func (*RateSevice) GetCoinToCoinRatesWithAmount ¶
func (rs *RateSevice) GetCoinToCoinRatesWithAmount(coinFrom *coins.Coin, coinTo *coins.Coin, amountReq float64, exchange string) (obol.CoinToCoinWithAmountResponse, error)
GetCoinToCoinRatesWithAmount is used to get the rates from crypto to crypto using a specified amount to convert
func (*RateSevice) GetUsdEurRate ¶
func (rs *RateSevice) GetUsdEurRate() (float64, error)
GetUSD-URRate will return the price of BTC on EUR
func (*RateSevice) GetUsdRates ¶
func (rs *RateSevice) GetUsdRates() (map[string]models.RateV2, error)
TODO RATES FOR USDT GTH GetUsdRates will return the USD rates using the OpenRates structure
func (*RateSevice) LoadFiatRates ¶
func (rs *RateSevice) LoadFiatRates() error