mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 15:09:42 +00:00
Refactor Exchange code
This commit is contained in:
31
anxhttp.go
31
anxhttp.go
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
24
btcchttp.go
24
btcchttp.go
@@ -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
|
||||
}
|
||||
|
||||
23
btcehttp.go
23
btcehttp.go
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
39
gdaxhttp.go
39
gdaxhttp.go
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
23
huobihttp.go
23
huobihttp.go
@@ -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
|
||||
}
|
||||
|
||||
24
itbithttp.go
24
itbithttp.go
@@ -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
|
||||
|
||||
23
kraken.go
23
kraken.go
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
23
liquihttp.go
23
liquihttp.go
@@ -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)
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user