Exchanges: Include format pair in wrapper functions and test for formatting issues via tool wrapper issues (#582)

* Adds formatting of pair within binance wrapper, adds return of error from cli.ShowCommmandHelp

* Add formatting function to submit order wrapper functions

* Remove superfluous functionality

* Updated exchange wrapper issues to create a disruptive pair to see which exchanges require attention, updates currency code generation and matching

* reinstated format check, fixed tests

* fixed niterinos

* fix test

* fix spelling mistake

* make html file more aesthetic

* Add missing format pairs

* add formatting to pair for BTC Markets func

* fix spelling
This commit is contained in:
Ryan O'Hara-Reid
2020-10-26 16:54:51 +11:00
committed by GitHub
parent 8a241c2efa
commit 220245c5a8
32 changed files with 429 additions and 199 deletions

View File

@@ -234,7 +234,12 @@ func (g *Gemini) FetchAccountInfo() (account.Holdings, error) {
// UpdateTicker updates and returns the ticker for a currency pair
func (g *Gemini) UpdateTicker(p currency.Pair, assetType asset.Item) (*ticker.Price, error) {
tick, err := g.GetTicker(p.String())
fPair, err := g.FormatExchangeCurrency(p, assetType)
if err != nil {
return nil, err
}
tick, err := g.GetTicker(fPair.String())
if err != nil {
return nil, err
}
@@ -246,38 +251,53 @@ func (g *Gemini) UpdateTicker(p currency.Pair, assetType asset.Item) (*ticker.Pr
Ask: tick.Ask,
Open: tick.Open,
Close: tick.Close,
Pair: p,
Pair: fPair,
ExchangeName: g.Name,
AssetType: assetType})
if err != nil {
return nil, err
}
return ticker.GetTicker(g.Name, p, assetType)
return ticker.GetTicker(g.Name, fPair, assetType)
}
// FetchTicker returns the ticker for a currency pair
func (g *Gemini) FetchTicker(p currency.Pair, assetType asset.Item) (*ticker.Price, error) {
tickerNew, err := ticker.GetTicker(g.Name, p, assetType)
fPair, err := g.FormatExchangeCurrency(p, assetType)
if err != nil {
return g.UpdateTicker(p, assetType)
return nil, err
}
tickerNew, err := ticker.GetTicker(g.Name, fPair, assetType)
if err != nil {
return g.UpdateTicker(fPair, assetType)
}
return tickerNew, nil
}
// FetchOrderbook returns orderbook base on the currency pair
func (g *Gemini) FetchOrderbook(p currency.Pair, assetType asset.Item) (*orderbook.Base, error) {
ob, err := orderbook.Get(g.Name, p, assetType)
fPair, err := g.FormatExchangeCurrency(p, assetType)
if err != nil {
return g.UpdateOrderbook(p, assetType)
return nil, err
}
ob, err := orderbook.Get(g.Name, fPair, assetType)
if err != nil {
return g.UpdateOrderbook(fPair, assetType)
}
return ob, nil
}
// UpdateOrderbook updates and returns the orderbook for a currency pair
func (g *Gemini) UpdateOrderbook(p currency.Pair, assetType asset.Item) (*orderbook.Base, error) {
fPair, err := g.FormatExchangeCurrency(p, assetType)
if err != nil {
return nil, err
}
orderBook := new(orderbook.Base)
orderbookNew, err := g.GetOrderbook(p.String(), url.Values{})
orderbookNew, err := g.GetOrderbook(fPair.String(), url.Values{})
if err != nil {
return orderBook, err
}
@@ -290,7 +310,7 @@ func (g *Gemini) UpdateOrderbook(p currency.Pair, assetType asset.Item) (*orderb
orderBook.Asks = append(orderBook.Asks, orderbook.Item{Amount: orderbookNew.Asks[x].Amount, Price: orderbookNew.Asks[x].Price})
}
orderBook.Pair = p
orderBook.Pair = fPair
orderBook.ExchangeName = g.Name
orderBook.AssetType = assetType
@@ -299,7 +319,7 @@ func (g *Gemini) UpdateOrderbook(p currency.Pair, assetType asset.Item) (*orderb
return orderBook, err
}
return orderbook.Get(g.Name, p, assetType)
return orderbook.Get(g.Name, fPair, assetType)
}
// GetFundingHistory returns funding history, deposits and