mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-19 07:26:49 +00:00
Made slight amendments to interface code, ran gofmt.
This commit is contained in:
55
anxhttp.go
55
anxhttp.go
@@ -100,44 +100,27 @@ func (a *ANX) SetDefaults() {
|
||||
a.RESTPollingDelay = 10
|
||||
}
|
||||
|
||||
|
||||
|
||||
///<Interface code>
|
||||
func (a *ANX) InterfaceSetDefaults() {
|
||||
a.Name = "ANX"
|
||||
a.Enabled = true
|
||||
a.TakerFee = 0.6
|
||||
a.MakerFee = 0.3
|
||||
a.Verbose = false
|
||||
a.Websocket = false
|
||||
println("This is working using interfaces")
|
||||
a.RESTPollingDelay = 10
|
||||
}
|
||||
///</Interface code>
|
||||
|
||||
|
||||
//Setup is run on startup to setup exchange with config values
|
||||
func (a *ANX) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
a.SetEnabled(false)
|
||||
} else {
|
||||
a.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
a.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
a.RESTPollingDelay = exch.RESTPollingDelay
|
||||
a.Verbose = exch.Verbose
|
||||
a.Websocket = exch.Websocket
|
||||
a.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
a.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
a.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
//Start is run if exchange is enabled, after Setup
|
||||
func(a *ANX) Start() {
|
||||
if(a.Enabled) {
|
||||
go a.Run()
|
||||
}
|
||||
func (a *ANX) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
a.SetEnabled(false)
|
||||
} else {
|
||||
a.Enabled = true
|
||||
a.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
a.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
a.RESTPollingDelay = exch.RESTPollingDelay
|
||||
a.Verbose = exch.Verbose
|
||||
a.Websocket = exch.Websocket
|
||||
a.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
a.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
a.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
//Start is run if exchange is enabled, after Setup
|
||||
func (a *ANX) Start() {
|
||||
go a.Run()
|
||||
}
|
||||
|
||||
func (a *ANX) GetName() string {
|
||||
return a.Name
|
||||
@@ -151,8 +134,6 @@ func (a *ANX) IsEnabled() bool {
|
||||
return a.Enabled
|
||||
}
|
||||
|
||||
|
||||
|
||||
func (a *ANX) SetAPIKeys(apiKey, apiSecret string) {
|
||||
if !a.AuthenticatedAPISupport {
|
||||
return
|
||||
|
||||
@@ -196,22 +196,23 @@ func (b *Bitfinex) GetName() string {
|
||||
}
|
||||
|
||||
func (b *Bitfinex) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
b.SetEnabled(false)
|
||||
} else {
|
||||
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
b.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
b.RESTPollingDelay = exch.RESTPollingDelay
|
||||
b.Verbose = exch.Verbose
|
||||
b.Websocket = exch.Websocket
|
||||
b.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
b.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
b.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
if !exch.Enabled {
|
||||
b.SetEnabled(false)
|
||||
} else {
|
||||
b.Enabled = true
|
||||
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
b.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
b.RESTPollingDelay = exch.RESTPollingDelay
|
||||
b.Verbose = exch.Verbose
|
||||
b.Websocket = exch.Websocket
|
||||
b.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
b.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
b.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (b *Bitfinex) Start() {
|
||||
go b.Run()
|
||||
go b.Run()
|
||||
}
|
||||
|
||||
func (b *Bitfinex) SetEnabled(enabled bool) {
|
||||
|
||||
@@ -146,7 +146,7 @@ func (b *Bitstamp) SetDefaults() {
|
||||
}
|
||||
|
||||
func (b *Bitstamp) Start() {
|
||||
go b.Run()
|
||||
go b.Run()
|
||||
}
|
||||
|
||||
func (b *Bitstamp) GetName() string {
|
||||
@@ -154,18 +154,19 @@ func (b *Bitstamp) GetName() string {
|
||||
}
|
||||
|
||||
func (b *Bitstamp) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
b.SetEnabled(false)
|
||||
} else {
|
||||
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
b.SetAPIKeys(exch.ClientID, exch.APIKey, exch.APISecret)
|
||||
b.RESTPollingDelay = exch.RESTPollingDelay
|
||||
b.Verbose = exch.Verbose
|
||||
b.Websocket = exch.Websocket
|
||||
b.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
b.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
b.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
if !exch.Enabled {
|
||||
b.SetEnabled(false)
|
||||
} else {
|
||||
b.Enabled = true
|
||||
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
b.SetAPIKeys(exch.ClientID, exch.APIKey, exch.APISecret)
|
||||
b.RESTPollingDelay = exch.RESTPollingDelay
|
||||
b.Verbose = exch.Verbose
|
||||
b.Websocket = exch.Websocket
|
||||
b.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
b.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
b.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (b *Bitstamp) SetEnabled(enabled bool) {
|
||||
|
||||
@@ -46,25 +46,25 @@ func (b *BrightonPeak) SetEnabled(enabled bool) {
|
||||
}
|
||||
|
||||
func (b *BrightonPeak) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
b.SetEnabled(false)
|
||||
} else {
|
||||
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
b.SetAPIKeys(exch.APIKey, exch.APISecret, exch.ClientID)
|
||||
b.RESTPollingDelay = exch.RESTPollingDelay
|
||||
b.Verbose = exch.Verbose
|
||||
b.Websocket = exch.Websocket
|
||||
b.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
b.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
b.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
if !exch.Enabled {
|
||||
b.SetEnabled(false)
|
||||
} else {
|
||||
b.Enabled = true
|
||||
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
b.SetAPIKeys(exch.APIKey, exch.APISecret, exch.ClientID)
|
||||
b.RESTPollingDelay = exch.RESTPollingDelay
|
||||
b.Verbose = exch.Verbose
|
||||
b.Websocket = exch.Websocket
|
||||
b.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
b.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
b.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (b *BrightonPeak) Start() {
|
||||
go b.Run()
|
||||
go b.Run()
|
||||
}
|
||||
|
||||
|
||||
func (b *BrightonPeak) IsEnabled() bool {
|
||||
return b.Enabled
|
||||
}
|
||||
|
||||
30
btcchttp.go
30
btcchttp.go
@@ -183,22 +183,24 @@ func (b *BTCC) SetDefaults() {
|
||||
|
||||
//Setup is run on startup to setup exchange with config values
|
||||
func (b *BTCC) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
b.SetEnabled(false)
|
||||
} else {
|
||||
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
b.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
b.RESTPollingDelay = exch.RESTPollingDelay
|
||||
b.Verbose = exch.Verbose
|
||||
b.Websocket = exch.Websocket
|
||||
b.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
b.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
b.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
if !exch.Enabled {
|
||||
b.SetEnabled(false)
|
||||
} else {
|
||||
b.Enabled = true
|
||||
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
b.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
b.RESTPollingDelay = exch.RESTPollingDelay
|
||||
b.Verbose = exch.Verbose
|
||||
b.Websocket = exch.Websocket
|
||||
b.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
b.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
b.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
//Start is run if exchange is enabled, after Setup
|
||||
func(b *BTCC) Start() {
|
||||
go b.Run()
|
||||
func (b *BTCC) Start() {
|
||||
go b.Run()
|
||||
}
|
||||
|
||||
func (b *BTCC) GetName() string {
|
||||
|
||||
33
btcehttp.go
33
btcehttp.go
@@ -99,24 +99,25 @@ func (b *BTCE) IsEnabled() bool {
|
||||
return b.Enabled
|
||||
}
|
||||
|
||||
func(b *BTCE) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
b.SetEnabled(false)
|
||||
} else {
|
||||
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
b.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
b.RESTPollingDelay = exch.RESTPollingDelay
|
||||
b.Verbose = exch.Verbose
|
||||
b.Websocket = exch.Websocket
|
||||
b.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
b.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
b.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
|
||||
}
|
||||
func (b *BTCE) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
b.SetEnabled(false)
|
||||
} else {
|
||||
b.Enabled = true
|
||||
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
b.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
b.RESTPollingDelay = exch.RESTPollingDelay
|
||||
b.Verbose = exch.Verbose
|
||||
b.Websocket = exch.Websocket
|
||||
b.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
b.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
b.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func(b *BTCE) Start() {
|
||||
go b.Run()
|
||||
func (b *BTCE) Start() {
|
||||
go b.Run()
|
||||
}
|
||||
|
||||
func (b *BTCE) SetAPIKeys(apiKey, apiSecret string) {
|
||||
|
||||
@@ -109,23 +109,24 @@ func (b *BTCMarkets) IsEnabled() bool {
|
||||
}
|
||||
|
||||
func (b *BTCMarkets) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
b.SetEnabled(false)
|
||||
} else {
|
||||
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
b.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
b.RESTPollingDelay = exch.RESTPollingDelay
|
||||
b.Verbose = exch.Verbose
|
||||
b.Websocket = exch.Websocket
|
||||
b.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
b.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
b.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
|
||||
}
|
||||
if !exch.Enabled {
|
||||
b.SetEnabled(false)
|
||||
} else {
|
||||
b.Enabled = true
|
||||
b.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
b.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
b.RESTPollingDelay = exch.RESTPollingDelay
|
||||
b.Verbose = exch.Verbose
|
||||
b.Websocket = exch.Websocket
|
||||
b.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
b.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
b.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func(b *BTCMarkets) Start() {
|
||||
go b.Run()
|
||||
func (b *BTCMarkets) Start() {
|
||||
go b.Run()
|
||||
}
|
||||
|
||||
func (b *BTCMarkets) SetAPIKeys(apiKey, apiSecret string) {
|
||||
|
||||
@@ -144,23 +144,23 @@ func (c *Coinbase) IsEnabled() bool {
|
||||
}
|
||||
|
||||
func (c *Coinbase) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
c.SetEnabled(false)
|
||||
} else {
|
||||
c.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
c.SetAPIKeys(exch.ClientID, exch.APIKey, exch.APISecret)
|
||||
c.RESTPollingDelay = exch.RESTPollingDelay
|
||||
c.Verbose = exch.Verbose
|
||||
c.Websocket = exch.Websocket
|
||||
c.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
c.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
c.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
|
||||
}
|
||||
if !exch.Enabled {
|
||||
c.SetEnabled(false)
|
||||
} else {
|
||||
c.Enabled = true
|
||||
c.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
c.SetAPIKeys(exch.ClientID, exch.APIKey, exch.APISecret)
|
||||
c.RESTPollingDelay = exch.RESTPollingDelay
|
||||
c.Verbose = exch.Verbose
|
||||
c.Websocket = exch.Websocket
|
||||
c.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
c.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
c.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Coinbase) Start() {
|
||||
go c.Run()
|
||||
go c.Run()
|
||||
}
|
||||
|
||||
func (c *Coinbase) GetFee(maker bool) float64 {
|
||||
|
||||
@@ -122,22 +122,23 @@ func (g *Gemini) IsEnabled() bool {
|
||||
}
|
||||
|
||||
func (g *Gemini) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
g.SetEnabled(false)
|
||||
} else {
|
||||
g.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
g.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
g.RESTPollingDelay = exch.RESTPollingDelay
|
||||
g.Verbose = exch.Verbose
|
||||
g.Websocket = exch.Websocket
|
||||
g.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
g.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
g.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
if !exch.Enabled {
|
||||
g.SetEnabled(false)
|
||||
} else {
|
||||
g.Enabled = true
|
||||
g.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
g.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
g.RESTPollingDelay = exch.RESTPollingDelay
|
||||
g.Verbose = exch.Verbose
|
||||
g.Websocket = exch.Websocket
|
||||
g.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
g.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
g.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (g *Gemini) Start() {
|
||||
go g.Run()
|
||||
go g.Run()
|
||||
}
|
||||
|
||||
func (g *Gemini) SetAPIKeys(apiKey, apiSecret string) {
|
||||
|
||||
30
huobihttp.go
30
huobihttp.go
@@ -63,24 +63,24 @@ func (h *HUOBI) IsEnabled() bool {
|
||||
return h.Enabled
|
||||
}
|
||||
|
||||
|
||||
func (h *HUOBI) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
h.SetEnabled(false)
|
||||
} else {
|
||||
h.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
h.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
h.RESTPollingDelay = exch.RESTPollingDelay
|
||||
h.Verbose = exch.Verbose
|
||||
h.Websocket = exch.Websocket
|
||||
h.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
h.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
h.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
if !exch.Enabled {
|
||||
h.SetEnabled(false)
|
||||
} else {
|
||||
h.Enabled = true
|
||||
h.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
h.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
h.RESTPollingDelay = exch.RESTPollingDelay
|
||||
h.Verbose = exch.Verbose
|
||||
h.Websocket = exch.Websocket
|
||||
h.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
h.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
h.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (h *HUOBI) Start() {
|
||||
go h.Run()
|
||||
go h.Run()
|
||||
}
|
||||
|
||||
func (h *HUOBI) SetAPIKeys(apiKey, apiSecret string) {
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package main
|
||||
|
||||
///<Interface code>
|
||||
type IBotExchange interface {
|
||||
Setup(exch Exchanges)
|
||||
Start()
|
||||
SetDefaults()
|
||||
GetName() string
|
||||
IsEnabled() bool
|
||||
Setup(exch Exchanges)
|
||||
Start()
|
||||
SetDefaults()
|
||||
GetName() string
|
||||
IsEnabled() bool
|
||||
}
|
||||
///</Interface code>
|
||||
32
itbithttp.go
32
itbithttp.go
@@ -71,24 +71,24 @@ func (i *ItBit) IsEnabled() bool {
|
||||
}
|
||||
|
||||
func (i *ItBit) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
i.SetEnabled(false)
|
||||
} else {
|
||||
i.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
i.SetAPIKeys(exch.APIKey, exch.APISecret, exch.ClientID)
|
||||
i.RESTPollingDelay = exch.RESTPollingDelay
|
||||
i.Verbose = exch.Verbose
|
||||
i.Websocket = exch.Websocket
|
||||
i.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
i.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
i.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (i *ItBit) Start() {
|
||||
go i.Run()
|
||||
if !exch.Enabled {
|
||||
i.SetEnabled(false)
|
||||
} else {
|
||||
i.Enabled = true
|
||||
i.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
i.SetAPIKeys(exch.APIKey, exch.APISecret, exch.ClientID)
|
||||
i.RESTPollingDelay = exch.RESTPollingDelay
|
||||
i.Verbose = exch.Verbose
|
||||
i.Websocket = exch.Websocket
|
||||
i.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
i.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
i.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (i *ItBit) Start() {
|
||||
go i.Run()
|
||||
}
|
||||
|
||||
func (i *ItBit) SetAPIKeys(apiKey, apiSecret, userID string) {
|
||||
i.ClientKey = apiKey
|
||||
|
||||
33
kraken.go
33
kraken.go
@@ -74,26 +74,25 @@ func (k *Kraken) IsEnabled() bool {
|
||||
return k.Enabled
|
||||
}
|
||||
|
||||
|
||||
func (k *Kraken) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
k.SetEnabled(false)
|
||||
} else {
|
||||
k.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
k.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
k.RESTPollingDelay = exch.RESTPollingDelay
|
||||
k.Verbose = exch.Verbose
|
||||
k.Websocket = exch.Websocket
|
||||
k.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
k.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
k.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (k *Kraken) Start() {
|
||||
go k.Run()
|
||||
if !exch.Enabled {
|
||||
k.SetEnabled(false)
|
||||
} else {
|
||||
k.Enabled = true
|
||||
k.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
k.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
k.RESTPollingDelay = exch.RESTPollingDelay
|
||||
k.Verbose = exch.Verbose
|
||||
k.Websocket = exch.Websocket
|
||||
k.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
k.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
k.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (k *Kraken) Start() {
|
||||
go k.Run()
|
||||
}
|
||||
|
||||
func (k *Kraken) SetAPIKeys(apiKey, apiSecret string) {
|
||||
k.ClientKey = apiKey
|
||||
|
||||
@@ -79,25 +79,25 @@ func (l *LakeBTC) IsEnabled() bool {
|
||||
return l.Enabled
|
||||
}
|
||||
|
||||
func (l *LakeBTC)Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
l.SetEnabled(false)
|
||||
} else {
|
||||
l.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
l.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
l.RESTPollingDelay = exch.RESTPollingDelay
|
||||
l.Verbose = exch.Verbose
|
||||
l.Websocket = exch.Websocket
|
||||
l.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
l.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
l.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (l *LakeBTC) Start() {
|
||||
go l.Run()
|
||||
func (l *LakeBTC) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
l.SetEnabled(false)
|
||||
} else {
|
||||
l.Enabled = true
|
||||
l.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
l.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
l.RESTPollingDelay = exch.RESTPollingDelay
|
||||
l.Verbose = exch.Verbose
|
||||
l.Websocket = exch.Websocket
|
||||
l.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
l.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
l.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (l *LakeBTC) Start() {
|
||||
go l.Run()
|
||||
}
|
||||
|
||||
func (l *LakeBTC) SetAPIKeys(apiKey, apiSecret string) {
|
||||
l.Email = apiKey
|
||||
|
||||
@@ -58,25 +58,25 @@ func (l *LocalBitcoins) IsEnabled() bool {
|
||||
return l.Enabled
|
||||
}
|
||||
|
||||
func (l *LocalBitcoins)Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
l.SetEnabled(false)
|
||||
} else {
|
||||
l.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
l.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
l.RESTPollingDelay = exch.RESTPollingDelay
|
||||
l.Verbose = exch.Verbose
|
||||
l.Websocket = exch.Websocket
|
||||
l.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
l.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
l.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (l *LocalBitcoins) Start() {
|
||||
go l.Run()
|
||||
func (l *LocalBitcoins) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
l.SetEnabled(false)
|
||||
} else {
|
||||
l.Enabled = true
|
||||
l.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
l.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
l.RESTPollingDelay = exch.RESTPollingDelay
|
||||
l.Verbose = exch.Verbose
|
||||
l.Websocket = exch.Websocket
|
||||
l.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
l.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
l.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (l *LocalBitcoins) Start() {
|
||||
go l.Run()
|
||||
}
|
||||
|
||||
func (l *LocalBitcoins) GetFee(maker bool) float64 {
|
||||
if maker {
|
||||
|
||||
97
main.go
97
main.go
@@ -31,30 +31,27 @@ type Exchange struct {
|
||||
}
|
||||
|
||||
type Bot struct {
|
||||
config Config
|
||||
exchange Exchange
|
||||
exchanges []IBotExchange
|
||||
shutdown chan bool
|
||||
config Config
|
||||
exchange Exchange
|
||||
exchanges []IBotExchange
|
||||
shutdown chan bool
|
||||
}
|
||||
|
||||
var bot Bot
|
||||
|
||||
func SetupBotConfiguration(s IBotExchange, exch Exchanges) {
|
||||
if(s.GetName() == exch.Name) {
|
||||
if(s.IsEnabled()) {
|
||||
log.Println("Bot " + s.GetName() + " is enabled, starting")
|
||||
s.Start()
|
||||
}
|
||||
}
|
||||
s.Setup(exch)
|
||||
if s.GetName() == exch.Name {
|
||||
if s.IsEnabled() {
|
||||
log.Printf("%s: Exchange support: %s (Authenticated API support: %s - Verbose mode: %s).\n", exch.Name, IsEnabled(exch.Enabled), IsEnabled(exch.AuthenticatedAPISupport), IsEnabled(exch.Verbose))
|
||||
s.Start()
|
||||
} else {
|
||||
log.Printf("%s: Exchange support: %s\n", exch.Name, IsEnabled(exch.Enabled))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
func main() {
|
||||
///<Interface code>
|
||||
//var anx ANX
|
||||
//exchCfg := ExchangeConfig{Name: "ANX" }
|
||||
|
||||
///</Interface code>
|
||||
HandleInterrupt()
|
||||
log.Println("Loading config file config.json..")
|
||||
|
||||
@@ -110,32 +107,36 @@ func main() {
|
||||
log.Printf("Available Exchanges: %d. Enabled Exchanges: %d.\n", len(bot.config.Exchanges), GetEnabledExchanges())
|
||||
log.Println("Bot Exchange support:")
|
||||
|
||||
bot.exchange.okcoinIntl.APIUrl = OKCOIN_API_URL
|
||||
bot.exchange.okcoinChina.APIUrl = OKCOIN_API_URL_CHINA
|
||||
|
||||
bot.exchanges = []IBotExchange{
|
||||
&bot.exchange.anx,
|
||||
&bot.exchange.kraken,
|
||||
&bot.exchange.btcc,
|
||||
&bot.exchange.bitstamp,
|
||||
&bot.exchange.brightonpeak,
|
||||
&bot.exchange.bitfinex,
|
||||
&bot.exchange.btce,
|
||||
&bot.exchange.btcmarkets,
|
||||
&bot.exchange.coinbase,
|
||||
&bot.exchange.gemini,
|
||||
&bot.exchange.okcoinChina,
|
||||
&bot.exchange.okcoinIntl,
|
||||
&bot.exchange.itbit,
|
||||
&bot.exchange.lakebtc,
|
||||
&bot.exchange.localbitcoins,
|
||||
&bot.exchange.poloniex,
|
||||
&bot.exchange.huobi,
|
||||
}
|
||||
for i := 0; i < len(bot.exchanges); i++ {
|
||||
if(bot.exchanges[i] != nil) {
|
||||
bot.exchanges[i].SetDefaults()
|
||||
log.Println("Bot: %s successfully set defaults", bot.exchanges[i].GetName())
|
||||
}
|
||||
}
|
||||
|
||||
&bot.exchange.anx,
|
||||
&bot.exchange.kraken,
|
||||
&bot.exchange.btcc,
|
||||
&bot.exchange.bitstamp,
|
||||
&bot.exchange.brightonpeak,
|
||||
&bot.exchange.bitfinex,
|
||||
&bot.exchange.btce,
|
||||
&bot.exchange.btcmarkets,
|
||||
&bot.exchange.coinbase,
|
||||
&bot.exchange.gemini,
|
||||
&bot.exchange.okcoinChina,
|
||||
&bot.exchange.okcoinIntl,
|
||||
&bot.exchange.itbit,
|
||||
&bot.exchange.lakebtc,
|
||||
&bot.exchange.localbitcoins,
|
||||
&bot.exchange.poloniex,
|
||||
&bot.exchange.huobi,
|
||||
}
|
||||
|
||||
for i := 0; i < len(bot.exchanges); i++ {
|
||||
if bot.exchanges[i] != nil {
|
||||
bot.exchanges[i].SetDefaults()
|
||||
log.Printf("Exchange %s successfully set default settings.\n", bot.exchanges[i].GetName())
|
||||
}
|
||||
}
|
||||
|
||||
err = RetrieveConfigCurrencyPairs(bot.config)
|
||||
|
||||
if err != nil {
|
||||
@@ -143,17 +144,11 @@ func main() {
|
||||
}
|
||||
|
||||
for _, exch := range bot.config.Exchanges {
|
||||
if exch.Enabled {
|
||||
log.Printf("%s: Exchange support: %s (Authenticated API support: %s - Verbose mode: %s).\n", exch.Name, IsEnabled(exch.Enabled), IsEnabled(exch.AuthenticatedAPISupport), IsEnabled(exch.Verbose))
|
||||
} else {
|
||||
log.Printf("%s: Exchange support: %s\n", exch.Name, IsEnabled(exch.Enabled))
|
||||
for i := 0; i < len(bot.exchanges); i++ {
|
||||
if bot.exchanges[i] != nil {
|
||||
SetupBotConfiguration(bot.exchanges[i], exch)
|
||||
}
|
||||
}
|
||||
|
||||
for i := 0; i < len(bot.exchanges); i++ {
|
||||
if(bot.exchanges[i] != nil) {
|
||||
SetupBotConfiguration(bot.exchanges[i], exch)
|
||||
}
|
||||
}
|
||||
}
|
||||
<-bot.shutdown
|
||||
Shutdown()
|
||||
|
||||
@@ -177,22 +177,23 @@ func (o *OKCoin) IsEnabled() bool {
|
||||
}
|
||||
|
||||
func (o *OKCoin) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
o.SetEnabled(false)
|
||||
} else {
|
||||
o.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
o.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
o.RESTPollingDelay = exch.RESTPollingDelay
|
||||
o.Verbose = exch.Verbose
|
||||
o.Websocket = exch.Websocket
|
||||
o.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
o.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
o.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
if !exch.Enabled {
|
||||
o.SetEnabled(false)
|
||||
} else {
|
||||
o.Enabled = true
|
||||
o.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
o.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
o.RESTPollingDelay = exch.RESTPollingDelay
|
||||
o.Verbose = exch.Verbose
|
||||
o.Websocket = exch.Websocket
|
||||
o.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
o.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
o.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (o *OKCoin) Start() {
|
||||
go o.Run()
|
||||
go o.Run()
|
||||
}
|
||||
|
||||
func (o *OKCoin) SetURL(url string) {
|
||||
|
||||
@@ -87,24 +87,24 @@ func (p *Poloniex) IsEnabled() bool {
|
||||
return p.Enabled
|
||||
}
|
||||
|
||||
|
||||
func (p *Poloniex) Setup(exch Exchanges) {
|
||||
if !exch.Enabled {
|
||||
p.SetEnabled(false)
|
||||
} else {
|
||||
p.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
p.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
p.RESTPollingDelay = exch.RESTPollingDelay
|
||||
p.Verbose = exch.Verbose
|
||||
p.Websocket = exch.Websocket
|
||||
p.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
p.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
p.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
if !exch.Enabled {
|
||||
p.SetEnabled(false)
|
||||
} else {
|
||||
p.Enabled = true
|
||||
p.AuthenticatedAPISupport = exch.AuthenticatedAPISupport
|
||||
p.SetAPIKeys(exch.APIKey, exch.APISecret)
|
||||
p.RESTPollingDelay = exch.RESTPollingDelay
|
||||
p.Verbose = exch.Verbose
|
||||
p.Websocket = exch.Websocket
|
||||
p.BaseCurrencies = SplitStrings(exch.BaseCurrencies, ",")
|
||||
p.AvailablePairs = SplitStrings(exch.AvailablePairs, ",")
|
||||
p.EnabledPairs = SplitStrings(exch.EnabledPairs, ",")
|
||||
}
|
||||
}
|
||||
|
||||
func (p *Poloniex) Start() {
|
||||
go p.Run()
|
||||
go p.Run()
|
||||
}
|
||||
|
||||
func (p *Poloniex) SetAPIKeys(apiKey, apiSecret string) {
|
||||
|
||||
Reference in New Issue
Block a user