MCPcopy
hub / github.com/thrasher-corp/gocryptotrader / GetManagedOrders

Method GetManagedOrders

engine/rpcserver.go:990–1075  ·  view source on GitHub ↗

GetManagedOrders returns all orders from the Order Manager for the provided exchange, asset type and currency pair

(_ context.Context, r *gctrpc.GetOrdersRequest)

Source from the content-addressed store, hash-verified

988// GetManagedOrders returns all orders from the Order Manager for the provided exchange,
989// asset type and currency pair
990func (s *RPCServer) GetManagedOrders(_ context.Context, r *gctrpc.GetOrdersRequest) (*gctrpc.GetOrdersResponse, error) {
991 if r == nil {
992 return nil, errInvalidArguments
993 }
994
995 a, err := asset.New(r.AssetType)
996 if err != nil {
997 return nil, err
998 }
999
1000 if r.Pair == nil {
1001 return nil, errCurrencyPairUnset
1002 }
1003 cp := currency.NewPairWithDelimiter(
1004 r.Pair.Base,
1005 r.Pair.Quote,
1006 r.Pair.Delimiter)
1007
1008 exch, err := s.GetExchangeByName(r.Exchange)
1009 if err != nil {
1010 return nil, err
1011 }
1012
1013 err = checkParams(r.Exchange, exch, a, cp)
1014 if err != nil {
1015 return nil, err
1016 }
1017
1018 var resp []order.Detail
1019 filter := order.Filter{
1020 Exchange: exch.GetName(),
1021 Pair: cp,
1022 AssetType: a,
1023 }
1024 resp, err = s.OrderManager.GetOrdersFiltered(&filter)
1025 if err != nil {
1026 return nil, err
1027 }
1028
1029 orders := make([]*gctrpc.OrderDetails, len(resp))
1030 for x := range resp {
1031 trades := make([]*gctrpc.TradeHistory, len(resp[x].Trades))
1032 for i := range resp[x].Trades {
1033 t := &gctrpc.TradeHistory{
1034 Id: resp[x].Trades[i].TID,
1035 Price: resp[x].Trades[i].Price,
1036 Amount: resp[x].Trades[i].Amount,
1037 Exchange: r.Exchange,
1038 AssetType: a.String(),
1039 OrderSide: resp[x].Trades[i].Side.String(),
1040 Fee: resp[x].Trades[i].Fee,
1041 Total: resp[x].Trades[i].Total,
1042 }
1043 if !resp[x].Trades[i].Timestamp.IsZero() {
1044 t.CreationTime = s.unixTimestamp(resp[x].Trades[i].Timestamp)
1045 }
1046 trades[i] = t
1047 }

Callers 1

TestGetManagedOrdersFunction · 0.95

Calls 9

unixTimestampMethod · 0.95
NewFunction · 0.92
NewPairWithDelimiterFunction · 0.92
checkParamsFunction · 0.85
GetOrdersFilteredMethod · 0.80
GetExchangeByNameMethod · 0.65
GetNameMethod · 0.65
StringMethod · 0.65
FormatMethod · 0.45

Tested by 1

TestGetManagedOrdersFunction · 0.76