mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-20 15:10:10 +00:00
Getting closed orders implementation, fixed Binance MARKET order creation, expanded SubmitOrder response (#572)
* GetClosedOrder implemented for Kraken and Binance, fixed Binance MARKET order creaton, added rate, fee and cost fileds on SubmitOrder responce * return Trades on Binance SubmitOrder, new validation methods on Binance and kraken GetClosedOrderInfo * removed the Binance extra method GetClosedOrder * func description corrected * removed price, fee and cost from SimulateOrder response, as we get all necessary info in response to calculate them on client side * GetClosedOrder implementation moved to GetOrderInfo * changed GetOrderInfo params * removed Canceled order.Type used for Kraken * update QueryOrder in gctscript * add missed params to QueryOrder validator (gctscript) * fixed testing issues * GetClosedOrder implemented for Kraken and Binance, fixed Binance MARKET order creaton, added rate, fee and cost fileds on SubmitOrder responce * return Trades on Binance SubmitOrder, new validation methods on Binance and kraken GetClosedOrderInfo * removed the Binance extra method GetClosedOrder * func description corrected * removed price, fee and cost from SimulateOrder response, as we get all necessary info in response to calculate them on client side * GetClosedOrder implementation moved to GetOrderInfo * changed GetOrderInfo params * removed Canceled order.Type used for Kraken * update QueryOrder in gctscript * add missed params to QueryOrder validator (gctscript) * fixed testing issues * pull previous changes * linter issues fix * updated query_order exmple in gctscript, fixed params check * removed orderPair unnecessary conversion Co-authored-by: Vazha Bezhanishvili <vazha.bezhanishvili@elegro.eu>
This commit is contained in:
@@ -362,8 +362,8 @@ func ({{.Variable}} *{{.CapitalName}}) CancelAllOrders(orderCancellation *order.
|
||||
return order.CancelAllResponse{}, common.ErrNotYetImplemented
|
||||
}
|
||||
|
||||
// GetOrderInfo returns information on a current open order
|
||||
func ({{.Variable}} *{{.CapitalName}}) GetOrderInfo(orderID string) (order.Detail, error) {
|
||||
// GetOrderInfo returns order information based on order ID
|
||||
func ({{.Variable}} *{{.CapitalName}}) GetOrderInfo(orderID string, pair currency.Pair, assetType asset.Item) (order.Detail, error) {
|
||||
return order.Detail{}, common.ErrNotYetImplemented
|
||||
}
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@ func testWrappers(e exchange.IBotExchange) []string {
|
||||
funcs = append(funcs, "CancelAllOrders")
|
||||
}
|
||||
|
||||
_, err = e.GetOrderInfo("1")
|
||||
_, err = e.GetOrderInfo("1", p, assetType)
|
||||
if err == common.ErrNotYetImplemented {
|
||||
funcs = append(funcs, "GetOrderInfo")
|
||||
}
|
||||
|
||||
@@ -550,7 +550,7 @@ func testWrappers(e exchange.IBotExchange, base *exchange.Base, config *Config)
|
||||
})
|
||||
|
||||
var r15 order.Detail
|
||||
r15, err = e.GetOrderInfo(config.OrderSubmission.OrderID)
|
||||
r15, err = e.GetOrderInfo(config.OrderSubmission.OrderID, p, assetTypes[i])
|
||||
msg = ""
|
||||
if err != nil {
|
||||
msg = err.Error()
|
||||
|
||||
@@ -1231,7 +1231,7 @@ func getOrders(c *cli.Context) error {
|
||||
var getOrderCommand = cli.Command{
|
||||
Name: "getorder",
|
||||
Usage: "gets the specified order info",
|
||||
ArgsUsage: "<exchange> <order_id>",
|
||||
ArgsUsage: "<exchange> <order_id> <pair>",
|
||||
Action: getOrder,
|
||||
Flags: []cli.Flag{
|
||||
cli.StringFlag{
|
||||
@@ -1242,6 +1242,10 @@ var getOrderCommand = cli.Command{
|
||||
Name: "order_id",
|
||||
Usage: "the order id to retrieve",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "pair",
|
||||
Usage: "the pair to retrieve",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1253,6 +1257,13 @@ func getOrder(c *cli.Context) error {
|
||||
|
||||
var exchangeName string
|
||||
var orderID string
|
||||
var currencyPair string
|
||||
|
||||
if c.IsSet("pair") {
|
||||
currencyPair = c.String("pair")
|
||||
} else {
|
||||
currencyPair = c.Args().Get(2)
|
||||
}
|
||||
|
||||
if c.IsSet("exchange") {
|
||||
exchangeName = c.String("exchange")
|
||||
@@ -1260,6 +1271,15 @@ func getOrder(c *cli.Context) error {
|
||||
exchangeName = c.Args().First()
|
||||
}
|
||||
|
||||
if !validPair(currencyPair) {
|
||||
return errInvalidPair
|
||||
}
|
||||
|
||||
p, err := currency.NewPairDelimiter(currencyPair, pairDelimiter)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if !validExchange(exchangeName) {
|
||||
return errInvalidExchange
|
||||
}
|
||||
@@ -1280,6 +1300,11 @@ func getOrder(c *cli.Context) error {
|
||||
result, err := client.GetOrder(context.Background(), &gctrpc.GetOrderRequest{
|
||||
Exchange: exchangeName,
|
||||
OrderId: orderID,
|
||||
Pair: &gctrpc.CurrencyPair{
|
||||
Delimiter: p.Delimiter,
|
||||
Base: p.Base.String(),
|
||||
Quote: p.Quote.String(),
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user