Refactor Exchange code

This commit is contained in:
Adrian Gallagher
2017-03-17 17:03:27 +11:00
parent ef59b4bcd5
commit bbe660b5f4
18 changed files with 55 additions and 395 deletions

View File

@@ -101,7 +101,7 @@ func (a *ANX) Setup(exch config.ExchangeConfig) {
} else {
a.Enabled = true
a.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
a.SetAPIKeys(exch.APIKey, exch.APISecret)
a.SetAPIKeys(exch.APIKey, exch.APISecret, "", true)
a.RESTPollingDelay = exch.RESTPollingDelay
a.Verbose = exch.Verbose
a.Websocket = exch.Websocket
@@ -116,35 +116,6 @@ func (a *ANX) Start() {
go a.Run()
}
func (a *ANX) GetName() string {
return a.Name
}
func (a *ANX) SetEnabled(enabled bool) {
a.Enabled = enabled
}
func (a *ANX) IsEnabled() bool {
return a.Enabled
}
func (a *ANX) SetAPIKeys(apiKey, apiSecret string) {
if !a.AuthenticatedAPISupport {
return
}
a.APIKey = apiKey
result, err := common.Base64Decode(apiSecret)
if err != nil {
log.Printf("%s unable to decode secret key. Authenticated API support disabled.", a.GetName())
a.AuthenticatedAPISupport = false
return
}
a.APISecret = string(result)
}
func (a *ANX) GetFee(maker bool) float64 {
if maker {
return a.MakerFee

View File

@@ -186,17 +186,13 @@ func (b *Bitfinex) SetDefaults() {
b.WebsocketSubdChannels = make(map[int]BitfinexWebsocketChanInfo)
}
func (b *Bitfinex) GetName() string {
return b.Name
}
func (b *Bitfinex) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
b.SetEnabled(false)
} else {
b.Enabled = true
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
b.SetAPIKeys(exch.APIKey, exch.APISecret)
b.SetAPIKeys(exch.APIKey, exch.APISecret, "", false)
b.RESTPollingDelay = exch.RESTPollingDelay
b.Verbose = exch.Verbose
b.Websocket = exch.Websocket
@@ -206,27 +202,10 @@ func (b *Bitfinex) Setup(exch config.ExchangeConfig) {
}
}
func (k *Bitfinex) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (b *Bitfinex) Start() {
go b.Run()
}
func (b *Bitfinex) SetEnabled(enabled bool) {
b.Enabled = enabled
}
func (b *Bitfinex) IsEnabled() bool {
return b.Enabled
}
func (b *Bitfinex) SetAPIKeys(apiKey, apiSecret string) {
b.APIKey = apiKey
b.APISecret = apiSecret
}
func (b *Bitfinex) Run() {
if b.Verbose {
log.Printf("%s Websocket: %s.", b.GetName(), common.IsEnabled(b.Websocket))

View File

@@ -169,17 +169,13 @@ func (b *Bitstamp) Start() {
go b.Run()
}
func (b *Bitstamp) GetName() string {
return b.Name
}
func (b *Bitstamp) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
b.SetEnabled(false)
} else {
b.Enabled = true
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
b.SetAPIKeys(exch.ClientID, exch.APIKey, exch.APISecret)
b.SetAPIKeys(exch.APIKey, exch.APISecret, exch.ClientID, false)
b.RESTPollingDelay = exch.RESTPollingDelay
b.Verbose = exch.Verbose
b.Websocket = exch.Websocket
@@ -189,18 +185,6 @@ func (b *Bitstamp) Setup(exch config.ExchangeConfig) {
}
}
func (k *Bitstamp) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (b *Bitstamp) SetEnabled(enabled bool) {
b.Enabled = enabled
}
func (b *Bitstamp) IsEnabled() bool {
return b.Enabled
}
func (b *Bitstamp) GetFee(currency string) float64 {
switch currency {
case "BTCUSD":
@@ -218,12 +202,6 @@ func (b *Bitstamp) GetFee(currency string) float64 {
}
}
func (b *Bitstamp) SetAPIKeys(clientID, apiKey, apiSecret string) {
b.ClientID = clientID
b.APIKey = apiKey
b.APISecret = apiSecret
}
func (b *Bitstamp) Run() {
if b.Verbose {
log.Printf("%s Websocket: %s.", b.GetName(), common.IsEnabled(b.Websocket))

View File

@@ -182,7 +182,7 @@ func (b *BTCC) Setup(exch config.ExchangeConfig) {
} else {
b.Enabled = true
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
b.SetAPIKeys(exch.APIKey, exch.APISecret)
b.SetAPIKeys(exch.APIKey, exch.APISecret, "", false)
b.RESTPollingDelay = exch.RESTPollingDelay
b.Verbose = exch.Verbose
b.Websocket = exch.Websocket
@@ -192,32 +192,10 @@ func (b *BTCC) Setup(exch config.ExchangeConfig) {
}
}
func (k *BTCC) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
//Start is run if exchange is enabled, after Setup
func (b *BTCC) Start() {
go b.Run()
}
func (b *BTCC) GetName() string {
return b.Name
}
func (b *BTCC) SetEnabled(enabled bool) {
b.Enabled = enabled
}
func (b *BTCC) IsEnabled() bool {
return b.Enabled
}
func (b *BTCC) SetAPIKeys(apiKey, apiSecret string) {
b.APIKey = apiKey
b.APISecret = apiSecret
}
func (b *BTCC) GetFee() float64 {
return b.Fee
}

View File

@@ -81,25 +81,13 @@ func (b *BTCE) SetDefaults() {
b.Ticker = make(map[string]BTCeTicker)
}
func (b *BTCE) GetName() string {
return b.Name
}
func (b *BTCE) SetEnabled(enabled bool) {
b.Enabled = enabled
}
func (b *BTCE) IsEnabled() bool {
return b.Enabled
}
func (b *BTCE) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
b.SetEnabled(false)
} else {
b.Enabled = true
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
b.SetAPIKeys(exch.APIKey, exch.APISecret)
b.SetAPIKeys(exch.APIKey, exch.APISecret, "", false)
b.RESTPollingDelay = exch.RESTPollingDelay
b.Verbose = exch.Verbose
b.Websocket = exch.Websocket
@@ -110,19 +98,10 @@ func (b *BTCE) Setup(exch config.ExchangeConfig) {
}
}
func (k *BTCE) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (b *BTCE) Start() {
go b.Run()
}
func (b *BTCE) SetAPIKeys(apiKey, apiSecret string) {
b.APIKey = apiKey
b.APISecret = apiSecret
}
func (b *BTCE) GetFee() float64 {
return b.Fee
}

View File

@@ -90,25 +90,13 @@ func (b *BTCMarkets) SetDefaults() {
b.Ticker = make(map[string]BTCMarketsTicker)
}
func (b *BTCMarkets) GetName() string {
return b.Name
}
func (b *BTCMarkets) SetEnabled(enabled bool) {
b.Enabled = enabled
}
func (b *BTCMarkets) IsEnabled() bool {
return b.Enabled
}
func (b *BTCMarkets) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
b.SetEnabled(false)
} else {
b.Enabled = false
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
b.SetAPIKeys(exch.APIKey, exch.APISecret)
b.SetAPIKeys(exch.APIKey, exch.APISecret, "", true)
b.RESTPollingDelay = exch.RESTPollingDelay
b.Verbose = exch.Verbose
b.Websocket = exch.Websocket
@@ -119,31 +107,10 @@ func (b *BTCMarkets) Setup(exch config.ExchangeConfig) {
}
}
func (k *BTCMarkets) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (b *BTCMarkets) Start() {
go b.Run()
}
func (b *BTCMarkets) SetAPIKeys(apiKey, apiSecret string) {
if !b.AuthenticatedAPISupport {
return
}
b.APIKey = apiKey
result, err := common.Base64Decode(apiSecret)
if err != nil {
log.Printf("%s unable to decode secret key.\n", b.GetName())
b.Enabled = false
return
}
b.APISecret = string(result)
}
func (b *BTCMarkets) GetFee() float64 {
return b.Fee
}

View File

@@ -83,7 +83,7 @@ type ExchangeConfig struct {
AuthenticatedAPISupport bool
APIKey string
APISecret string
ClientID string
ClientID string `json:",omitempty"`
AvailablePairs string
EnabledPairs string
BaseCurrencies string

View File

@@ -1,7 +1,14 @@
package exchange
import (
"log"
"time"
"github.com/thrasher-/gocryptotrader/common"
)
const (
WarningBase64DecryptSecretKeyFailed = "WARNING -- Exchange %s unable to base64 decode secret key.. Disabling Authenticated API support."
)
type ExchangeBase struct {
@@ -19,3 +26,33 @@ type ExchangeBase struct {
WebsocketURL string
APIUrl string
}
func (e *ExchangeBase) GetName() string {
return e.Name
}
func (e *ExchangeBase) GetEnabledCurrencies() []string {
return e.EnabledPairs
}
func (e *ExchangeBase) SetEnabled(enabled bool) {
e.Enabled = enabled
}
func (e *ExchangeBase) IsEnabled() bool {
return e.Enabled
}
func (e *ExchangeBase) SetAPIKeys(APIKey, APISecret, ClientID string, b64Decode bool) {
e.APIKey = APIKey
e.ClientID = ClientID
if b64Decode {
result, err := common.Base64Decode(APISecret)
if err != nil {
e.AuthenticatedAPISupport = false
log.Printf(WarningBase64DecryptSecretKeyFailed, e.Name)
}
e.APISecret = string(result)
} else {
e.APISecret = APISecret
}
}

View File

@@ -35,7 +35,6 @@ const (
type GDAX struct {
exchange.ExchangeBase
Password string
}
type GDAXTicker struct {
@@ -126,25 +125,13 @@ func (g *GDAX) SetDefaults() {
g.RESTPollingDelay = 10
}
func (g *GDAX) GetName() string {
return g.Name
}
func (g *GDAX) SetEnabled(enabled bool) {
g.Enabled = enabled
}
func (g *GDAX) IsEnabled() bool {
return g.Enabled
}
func (g *GDAX) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
g.SetEnabled(false)
} else {
g.Enabled = true
g.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
g.SetAPIKeys(exch.ClientID, exch.APIKey, exch.APISecret)
g.SetAPIKeys(exch.APIKey, exch.APISecret, exch.ClientID, true)
g.RESTPollingDelay = exch.RESTPollingDelay
g.Verbose = exch.Verbose
g.Websocket = exch.Websocket
@@ -154,10 +141,6 @@ func (g *GDAX) Setup(exch config.ExchangeConfig) {
}
}
func (k *GDAX) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (g *GDAX) Start() {
go g.Run()
}
@@ -222,24 +205,6 @@ func (g *GDAX) Run() {
}
}
func (g *GDAX) SetAPIKeys(password, apiKey, apiSecret string) {
if !g.AuthenticatedAPISupport {
return
}
g.Password = password
g.APIKey = apiKey
result, err := common.Base64Decode(apiSecret)
if err != nil {
log.Printf("%s unable to decode secret key.", g.GetName())
g.Enabled = false
return
}
g.APISecret = string(result)
}
func (g *GDAX) GetProducts() ([]GDAXProduct, error) {
products := []GDAXProduct{}
err := common.SendHTTPGetRequest(GDAX_API_URL+GDAX_PRODUCTS, true, &products)
@@ -706,7 +671,7 @@ func (g *GDAX) SendAuthenticatedHTTPRequest(method, path string, params map[stri
headers["CB-ACCESS-SIGN"] = common.Base64Encode([]byte(hmac))
headers["CB-ACCESS-TIMESTAMP"] = timestamp
headers["CB-ACCESS-KEY"] = g.APIKey
headers["CB-ACCESS-PASSPHRASE"] = g.Password
headers["CB-ACCESS-PASSPHRASE"] = g.ClientID
headers["Content-Type"] = "application/json"
resp, err := common.SendHTTPRequest(method, GDAX_API_URL+path, headers, bytes.NewBuffer(payload))

View File

@@ -107,25 +107,13 @@ func (g *Gemini) SetDefaults() {
g.RESTPollingDelay = 10
}
func (g *Gemini) GetName() string {
return g.Name
}
func (g *Gemini) SetEnabled(enabled bool) {
g.Enabled = enabled
}
func (g *Gemini) IsEnabled() bool {
return g.Enabled
}
func (g *Gemini) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
g.SetEnabled(false)
} else {
g.Enabled = true
g.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
g.SetAPIKeys(exch.APIKey, exch.APISecret)
g.SetAPIKeys(exch.APIKey, exch.APISecret, "", false)
g.RESTPollingDelay = exch.RESTPollingDelay
g.Verbose = exch.Verbose
g.Websocket = exch.Websocket
@@ -135,19 +123,10 @@ func (g *Gemini) Setup(exch config.ExchangeConfig) {
}
}
func (k *Gemini) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (g *Gemini) Start() {
go g.Run()
}
func (g *Gemini) SetAPIKeys(apiKey, apiSecret string) {
g.APIKey = apiKey
g.APISecret = apiSecret
}
func (g *Gemini) Run() {
if g.Verbose {
log.Printf("%s polling delay: %ds.\n", g.GetName(), g.RESTPollingDelay)

View File

@@ -45,25 +45,13 @@ func (h *HUOBI) SetDefaults() {
h.RESTPollingDelay = 10
}
func (h *HUOBI) GetName() string {
return h.Name
}
func (h *HUOBI) SetEnabled(enabled bool) {
h.Enabled = enabled
}
func (h *HUOBI) IsEnabled() bool {
return h.Enabled
}
func (h *HUOBI) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
h.SetEnabled(false)
} else {
h.Enabled = true
h.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
h.SetAPIKeys(exch.APIKey, exch.APISecret)
h.SetAPIKeys(exch.APIKey, exch.APISecret, "", false)
h.RESTPollingDelay = exch.RESTPollingDelay
h.Verbose = exch.Verbose
h.Websocket = exch.Websocket
@@ -73,19 +61,10 @@ func (h *HUOBI) Setup(exch config.ExchangeConfig) {
}
}
func (k *HUOBI) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (h *HUOBI) Start() {
go h.Run()
}
func (h *HUOBI) SetAPIKeys(apiKey, apiSecret string) {
h.APIKey = apiKey
h.APISecret = apiSecret
}
func (h *HUOBI) GetFee() float64 {
return h.Fee
}

View File

@@ -52,25 +52,13 @@ func (i *ItBit) SetDefaults() {
i.RESTPollingDelay = 10
}
func (i *ItBit) GetName() string {
return i.Name
}
func (i *ItBit) SetEnabled(enabled bool) {
i.Enabled = enabled
}
func (i *ItBit) IsEnabled() bool {
return i.Enabled
}
func (i *ItBit) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
i.SetEnabled(false)
} else {
i.Enabled = true
i.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
i.SetAPIKeys(exch.APIKey, exch.APISecret, exch.ClientID)
i.SetAPIKeys(exch.APIKey, exch.APISecret, exch.ClientID, false)
i.RESTPollingDelay = exch.RESTPollingDelay
i.Verbose = exch.Verbose
i.Websocket = exch.Websocket
@@ -80,20 +68,10 @@ func (i *ItBit) Setup(exch config.ExchangeConfig) {
}
}
func (k *ItBit) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (i *ItBit) Start() {
go i.Run()
}
func (i *ItBit) SetAPIKeys(apiKey, apiSecret, userID string) {
i.APIKey = apiKey
i.APISecret = apiSecret
i.ClientID = userID
}
func (i *ItBit) GetFee(maker bool) float64 {
if maker {
return i.MakerFee

View File

@@ -57,25 +57,13 @@ func (k *Kraken) SetDefaults() {
k.Ticker = make(map[string]KrakenTicker)
}
func (k *Kraken) GetName() string {
return k.Name
}
func (k *Kraken) SetEnabled(enabled bool) {
k.Enabled = enabled
}
func (k *Kraken) IsEnabled() bool {
return k.Enabled
}
func (k *Kraken) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
k.SetEnabled(false)
} else {
k.Enabled = true
k.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
k.SetAPIKeys(exch.APIKey, exch.APISecret)
k.SetAPIKeys(exch.APIKey, exch.APISecret, "", false)
k.RESTPollingDelay = exch.RESTPollingDelay
k.Verbose = exch.Verbose
k.Websocket = exch.Websocket
@@ -85,19 +73,10 @@ func (k *Kraken) Setup(exch config.ExchangeConfig) {
}
}
func (k *Kraken) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (k *Kraken) Start() {
go k.Run()
}
func (k *Kraken) SetAPIKeys(apiKey, apiSecret string) {
k.APIKey = apiKey
k.APISecret = apiSecret
}
func (k *Kraken) GetFee(cryptoTrade bool) float64 {
if cryptoTrade {
return k.CryptoFee

View File

@@ -63,25 +63,13 @@ func (l *LakeBTC) SetDefaults() {
l.RESTPollingDelay = 10
}
func (l *LakeBTC) GetName() string {
return l.Name
}
func (l *LakeBTC) SetEnabled(enabled bool) {
l.Enabled = enabled
}
func (l *LakeBTC) IsEnabled() bool {
return l.Enabled
}
func (l *LakeBTC) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
l.SetEnabled(false)
} else {
l.Enabled = true
l.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
l.SetAPIKeys(exch.APIKey, exch.APISecret)
l.SetAPIKeys(exch.APIKey, exch.APISecret, "", false)
l.RESTPollingDelay = exch.RESTPollingDelay
l.Verbose = exch.Verbose
l.Websocket = exch.Websocket
@@ -91,19 +79,10 @@ func (l *LakeBTC) Setup(exch config.ExchangeConfig) {
}
}
func (k *LakeBTC) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (l *LakeBTC) Start() {
go l.Run()
}
func (l *LakeBTC) SetAPIKeys(apiKey, apiSecret string) {
l.APIKey = apiKey
l.APISecret = apiSecret
}
func (l *LakeBTC) GetFee(maker bool) float64 {
if maker {
return l.MakerFee

View File

@@ -79,25 +79,13 @@ func (l *Liqui) SetDefaults() {
l.Ticker = make(map[string]LiquiTicker)
}
func (l *Liqui) GetName() string {
return l.Name
}
func (l *Liqui) SetEnabled(enabled bool) {
l.Enabled = enabled
}
func (l *Liqui) IsEnabled() bool {
return l.Enabled
}
func (l *Liqui) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
l.SetEnabled(false)
} else {
l.Enabled = true
l.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
l.SetAPIKeys(exch.APIKey, exch.APISecret)
l.SetAPIKeys(exch.APIKey, exch.APISecret, "", false)
l.RESTPollingDelay = exch.RESTPollingDelay
l.Verbose = exch.Verbose
l.Websocket = exch.Websocket
@@ -107,19 +95,10 @@ func (l *Liqui) Setup(exch config.ExchangeConfig) {
}
}
func (l *Liqui) GetEnabledCurrencies() []string {
return l.EnabledPairs
}
func (l *Liqui) Start() {
go l.Run()
}
func (l *Liqui) SetAPIKeys(apiKey, apiSecret string) {
l.APIKey = apiKey
l.APISecret = apiSecret
}
func (l *Liqui) Run() {
if l.Verbose {
log.Printf("%s polling delay: %ds.\n", l.GetName(), l.RESTPollingDelay)

View File

@@ -40,25 +40,13 @@ func (l *LocalBitcoins) SetDefaults() {
l.RESTPollingDelay = 10
}
func (l *LocalBitcoins) GetName() string {
return l.Name
}
func (l *LocalBitcoins) SetEnabled(enabled bool) {
l.Enabled = enabled
}
func (l *LocalBitcoins) IsEnabled() bool {
return l.Enabled
}
func (l *LocalBitcoins) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
l.SetEnabled(false)
} else {
l.Enabled = true
l.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
l.SetAPIKeys(exch.APIKey, exch.APISecret)
l.SetAPIKeys(exch.APIKey, exch.APISecret, "", false)
l.RESTPollingDelay = exch.RESTPollingDelay
l.Verbose = exch.Verbose
l.Websocket = exch.Websocket
@@ -68,10 +56,6 @@ func (l *LocalBitcoins) Setup(exch config.ExchangeConfig) {
}
}
func (k *LocalBitcoins) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (l *LocalBitcoins) Start() {
go l.Run()
}
@@ -107,11 +91,6 @@ func (l *LocalBitcoins) Run() {
}
}
func (l *LocalBitcoins) SetAPIKeys(apiKey, apiSecret string) {
l.APIKey = apiKey
l.APISecret = apiSecret
}
type LocalBitcoinsTicker struct {
Avg12h float64 `json:"avg_12h,string"`
Avg1h float64 `json:"avg_1h,string"`

View File

@@ -201,25 +201,13 @@ func (o *OKCoin) SetDefaults() {
}
}
func (o *OKCoin) GetName() string {
return o.Name
}
func (o *OKCoin) SetEnabled(enabled bool) {
o.Enabled = enabled
}
func (o *OKCoin) IsEnabled() bool {
return o.Enabled
}
func (o *OKCoin) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
o.SetEnabled(false)
} else {
o.Enabled = true
o.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
o.SetAPIKeys(exch.APIKey, exch.APISecret)
o.SetAPIKeys(exch.APIKey, exch.APISecret, "", false)
o.RESTPollingDelay = exch.RESTPollingDelay
o.Verbose = exch.Verbose
o.Websocket = exch.Websocket
@@ -229,23 +217,10 @@ func (o *OKCoin) Setup(exch config.ExchangeConfig) {
}
}
func (k *OKCoin) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (o *OKCoin) Start() {
go o.Run()
}
func (o *OKCoin) SetURL(url string) {
o.APIUrl = url
}
func (o *OKCoin) SetAPIKeys(apiKey, apiSecret string) {
o.APIKey = apiKey
o.APISecret = apiSecret
}
func (o *OKCoin) GetFee(maker bool) float64 {
if o.APIUrl == OKCOIN_API_URL {
if maker {

View File

@@ -71,25 +71,13 @@ func (p *Poloniex) SetDefaults() {
p.RESTPollingDelay = 10
}
func (p *Poloniex) GetName() string {
return p.Name
}
func (p *Poloniex) SetEnabled(enabled bool) {
p.Enabled = enabled
}
func (p *Poloniex) IsEnabled() bool {
return p.Enabled
}
func (p *Poloniex) Setup(exch config.ExchangeConfig) {
if !exch.Enabled {
p.SetEnabled(false)
} else {
p.Enabled = true
p.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
p.SetAPIKeys(exch.APIKey, exch.APISecret)
p.SetAPIKeys(exch.APIKey, exch.APISecret, "", false)
p.RESTPollingDelay = exch.RESTPollingDelay
p.Verbose = exch.Verbose
p.Websocket = exch.Websocket
@@ -99,19 +87,10 @@ func (p *Poloniex) Setup(exch config.ExchangeConfig) {
}
}
func (k *Poloniex) GetEnabledCurrencies() []string {
return k.EnabledPairs
}
func (p *Poloniex) Start() {
go p.Run()
}
func (p *Poloniex) SetAPIKeys(apiKey, apiSecret string) {
p.APIKey = apiKey
p.APISecret = apiSecret
}
func (p *Poloniex) GetFee() float64 {
return p.Fee
}