localbitcoins fixes (#177)

* General LocalBitcoin fixes

* Added override variables to config for exchange packages to allow different API URL's
This commit is contained in:
soxipy
2018-08-27 07:19:29 +03:00
committed by Ryan O'Hara-Reid
parent ca0c22f422
commit fb4e2d1452
35 changed files with 885 additions and 355 deletions

View File

@@ -61,7 +61,14 @@ func (l *Liqui) SetDefaults() {
l.AssetTypes = []string{ticker.Spot}
l.SupportsAutoPairUpdating = true
l.SupportsRESTTickerBatching = true
l.Requester = request.New(l.Name, request.NewRateLimit(time.Second, liquiAuthRate), request.NewRateLimit(time.Second, liquiUnauthRate), common.NewHTTPClientWithTimeout(exchange.DefaultHTTPTimeout))
l.Requester = request.New(l.Name,
request.NewRateLimit(time.Second, liquiAuthRate),
request.NewRateLimit(time.Second, liquiUnauthRate),
common.NewHTTPClientWithTimeout(exchange.DefaultHTTPTimeout))
l.APIUrlDefault = liquiAPIPublicURL
l.APIUrl = l.APIUrlDefault
l.APIUrlSecondaryDefault = liquiAPIPrivateURL
l.APIUrlSecondary = l.APIUrlSecondaryDefault
}
// Setup sets exchange configuration parameters for liqui
@@ -92,6 +99,10 @@ func (l *Liqui) Setup(exch config.ExchangeConfig) {
if err != nil {
log.Fatal(err)
}
err = l.SetAPIURL(exch)
if err != nil {
log.Fatal(err)
}
}
}
@@ -123,7 +134,7 @@ func (l *Liqui) GetAvailablePairs(nonHidden bool) []string {
// commission for each pair.
func (l *Liqui) GetInfo() (Info, error) {
resp := Info{}
req := fmt.Sprintf("%s/%s/%s/", liquiAPIPublicURL, liquiAPIPublicVersion, liquiInfo)
req := fmt.Sprintf("%s/%s/%s/", l.APIUrl, liquiAPIPublicVersion, liquiInfo)
return resp, l.SendHTTPRequest(req, &resp)
}
@@ -142,7 +153,7 @@ func (l *Liqui) GetTicker(currencyPair string) (map[string]Ticker, error) {
}
response := Response{Data: make(map[string]Ticker)}
req := fmt.Sprintf("%s/%s/%s/%s", liquiAPIPublicURL, liquiAPIPublicVersion, liquiTicker, currencyPair)
req := fmt.Sprintf("%s/%s/%s/%s", l.APIUrl, liquiAPIPublicVersion, liquiTicker, currencyPair)
return response.Data, l.SendHTTPRequest(req, &response.Data)
}
@@ -158,7 +169,7 @@ func (l *Liqui) GetDepth(currencyPair string) (Orderbook, error) {
}
response := Response{Data: make(map[string]Orderbook)}
req := fmt.Sprintf("%s/%s/%s/%s", liquiAPIPublicURL, liquiAPIPublicVersion, liquiDepth, currencyPair)
req := fmt.Sprintf("%s/%s/%s/%s", l.APIUrl, liquiAPIPublicVersion, liquiDepth, currencyPair)
return response.Data[currencyPair], l.SendHTTPRequest(req, &response.Data)
}
@@ -174,7 +185,7 @@ func (l *Liqui) GetTrades(currencyPair string) ([]Trades, error) {
}
response := Response{Data: make(map[string][]Trades)}
req := fmt.Sprintf("%s/%s/%s/%s", liquiAPIPublicURL, liquiAPIPublicVersion, liquiTrades, currencyPair)
req := fmt.Sprintf("%s/%s/%s/%s", l.APIUrl, liquiAPIPublicVersion, liquiTrades, currencyPair)
return response.Data[currencyPair], l.SendHTTPRequest(req, &response.Data)
}
@@ -285,7 +296,8 @@ func (l *Liqui) SendAuthenticatedHTTPRequest(method string, values url.Values, r
hmac := common.GetHMAC(common.HashSHA512, []byte(encoded), []byte(l.APISecret))
if l.Verbose {
log.Printf("Sending POST request to %s calling method %s with params %s\n", liquiAPIPrivateURL, method, encoded)
log.Printf("Sending POST request to %s calling method %s with params %s\n",
l.APIUrlSecondary, method, encoded)
}
headers := make(map[string]string)
@@ -293,5 +305,10 @@ func (l *Liqui) SendAuthenticatedHTTPRequest(method string, values url.Values, r
headers["Sign"] = common.HexEncodeToString(hmac)
headers["Content-Type"] = "application/x-www-form-urlencoded"
return l.SendPayload("POST", liquiAPIPrivateURL, headers, strings.NewReader(encoded), result, true, l.Verbose)
return l.SendPayload("POST",
l.APIUrlSecondary, headers,
strings.NewReader(encoded),
result,
true,
l.Verbose)
}