Skip to content

Commit

Permalink
Adjust log messages and verbosity (#158)
Browse files Browse the repository at this point in the history
* Adjust log messages and verbosity
* Adjust info logs to debug
  • Loading branch information
Luke-Rogerson authored Mar 20, 2024
1 parent bd37aea commit 743b9ce
Show file tree
Hide file tree
Showing 35 changed files with 76 additions and 76 deletions.
2 changes: 1 addition & 1 deletion data/evmrepo/get_tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func (e *evmRepository) GetTx(ctx context.Context, id string) (*models.Tx, error
}

if pending {
logctx.Info(ctx, "Transaction %q is pending", logger.String("txHash", txHash.String()))
logctx.Debug(ctx, "Transaction %q is pending", logger.String("txHash", txHash.String()))
return &models.Tx{
Status: models.TX_PENDING,
TxHash: tx.Hash().Hex(),
Expand Down
2 changes: 1 addition & 1 deletion data/redisrepo/cancel_orders_for_user.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,6 @@ func (r *redisRepository) CancelOrdersForUser(ctx context.Context, userId uuid.U
logctx.Error(ctx, "encountered order in an unexpected state when cancelling all orders for user", logger.String("orderId", order.Id.String()), logger.String("size", order.Size.String()), logger.String("sizeFilled", order.SizeFilled.String()), logger.String("sizePending", order.SizePending.String()))
}

logctx.Info(ctx, "removed all orders for user", logger.String("userId", userId.String()), logger.Int("numOrders", len(ordersToCancel)))
logctx.Debug(ctx, "removed all orders for user", logger.String("userId", userId.String()), logger.Int("numOrders", len(ordersToCancel)))
return orderIds, nil
}
2 changes: 1 addition & 1 deletion data/redisrepo/cancel_partial_filled_order.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,6 @@ func (r *redisRepository) CancelPartialFilledOrder(ctx context.Context, order mo
}
// --- END TRANSACTION ---

logctx.Info(ctx, "cancelled partial filled order", logger.String("userId", order.UserId.String()), logger.String("orderId", order.Id.String()), logger.String("price", order.Price.String()), logger.String("size", order.Size.String()), logger.String("side", order.Side.String()))
logctx.Debug(ctx, "cancelled partial filled order", logger.String("userId", order.UserId.String()), logger.String("orderId", order.Id.String()), logger.String("price", order.Price.String()), logger.String("size", order.Size.String()), logger.String("side", order.Side.String()))
return nil
}
2 changes: 1 addition & 1 deletion data/redisrepo/cancel_pending_order.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,6 @@ func (r *redisRepository) CancelPendingOrder(ctx context.Context, order models.O
}
// --- END TRANSACTION ---

logctx.Info(ctx, "cancelled pending order", logger.String("userId", order.UserId.String()), logger.String("orderId", order.Id.String()), logger.String("price", order.Price.String()), logger.String("size", order.Size.String()), logger.String("side", order.Side.String()))
logctx.Debug(ctx, "cancelled pending order", logger.String("userId", order.UserId.String()), logger.String("orderId", order.Id.String()), logger.String("price", order.Price.String()), logger.String("size", order.Size.String()), logger.String("side", order.Side.String()))
return nil
}
2 changes: 1 addition & 1 deletion data/redisrepo/find_orders_by_ids.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,6 @@ func (r *redisRepository) FindOrdersByIds(ctx context.Context, ids []uuid.UUID,
}
}

logctx.Info(ctx, "found orders by IDs", logger.Int("numIdsProvided", len(ids)), logger.Int("numOrders", len(orders)))
logctx.Debug(ctx, "found orders by IDs", logger.Int("numIdsProvided", len(ids)), logger.Int("numOrders", len(orders)))
return orders, nil
}
4 changes: 2 additions & 2 deletions data/redisrepo/get_market_depth.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ func (r *redisRepository) GetMarketDepth(ctx context.Context, symbol models.Symb
}
}

logctx.Info(ctx, "fetched market depth", logger.String("symbol", symbol.String()), logger.Int("depth", depth), logger.Int("numAsks", len(marketDepth.Asks)), logger.Int("numBids", len(marketDepth.Bids)))
logctx.Debug(ctx, "fetched market depth", logger.String("symbol", symbol.String()), logger.Int("depth", depth), logger.Int("numAsks", len(marketDepth.Asks)), logger.Int("numBids", len(marketDepth.Bids)))
return marketDepth, nil
}

Expand All @@ -111,6 +111,6 @@ func (r *redisRepository) fetchOrderIds(ctx context.Context, key string, depth i
orderIds[i] = orderId
}

logctx.Info(ctx, "fetched order IDs", logger.String("key", key), logger.Int("depth", depth), logger.Int("numOrders", len(orderIds)))
logctx.Debug(ctx, "fetched order IDs", logger.String("key", key), logger.Int("depth", depth), logger.Int("numOrders", len(orderIds)))
return orderIds, nil
}
6 changes: 3 additions & 3 deletions data/redisrepo/get_orders_for_user.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ func (r *redisRepository) GetOrdersForUser(ctx context.Context, userId uuid.UUID

var key string
if isFilledOrders {
logctx.Info(ctx, "getting filled orders for user", logger.String("userId", userId.String()))
logctx.Debug(ctx, "getting filled orders for user", logger.String("userId", userId.String()))
key = CreateUserFilledOrdersKey(userId)
} else {
logctx.Info(ctx, "getting open orders for user", logger.String("userId", userId.String()))
logctx.Debug(ctx, "getting open orders for user", logger.String("userId", userId.String()))
key = CreateUserOpenOrdersKey(userId)
}

Expand Down Expand Up @@ -71,6 +71,6 @@ func (r *redisRepository) GetOrdersForUser(ctx context.Context, userId uuid.UUID
ordersSlice = append(ordersSlice, o...)
}

logctx.Info(ctx, "got orders for user", logger.String("userId", userId.String()), logger.Int("count", len(orders)))
logctx.Debug(ctx, "got orders for user", logger.String("userId", userId.String()), logger.Int("count", len(orders)))
return ordersSlice, totalOrders, nil
}
2 changes: 1 addition & 1 deletion data/redisrepo/store_filled_orders.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func (r *redisRepository) StoreFilledOrders(ctx context.Context, orders []models
return fmt.Errorf("failed to store filled orders in Redis: %v", err)
}

logctx.Info(ctx, "stored filled orders in Redis", logger.Strings("orderIds", models.OrderIdsToStrings(ctx, &orders)))
logctx.Debug(ctx, "stored filled orders in Redis", logger.Strings("orderIds", models.OrderIdsToStrings(ctx, &orders)))
return nil
}

Expand Down
2 changes: 1 addition & 1 deletion data/redisrepo/store_new_pending_swap.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,6 @@ func (r *redisRepository) StoreNewPendingSwap(ctx context.Context, p models.Swap
return fmt.Errorf("failed to update swap started time: %s", err)
}

logctx.Info(ctx, "store pending swap", logger.String("swapId", p.SwapId.String()), logger.String("txHash", p.TxHash))
logctx.Debug(ctx, "store pending swap", logger.String("swapId", p.SwapId.String()), logger.String("txHash", p.TxHash))
return nil
}
4 changes: 2 additions & 2 deletions data/redisrepo/taker.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,12 @@ func (r *redisRepository) GetSwap(ctx context.Context, swapId uuid.UUID) (*model
return nil, models.ErrMarshalError
}

logctx.Info(ctx, "got swap", logger.String("swapId", swapId.String()))
logctx.Debug(ctx, "got swap", logger.String("swapId", swapId.String()))
return &swap, nil
}

func (r *redisRepository) RemoveSwap(ctx context.Context, swapId uuid.UUID) error {
logctx.Info(ctx, "RemoveSwap", logger.String("key", swapId.String()))
logctx.Debug(ctx, "RemoveSwap", logger.String("key", swapId.String()))
swapKey := CreateOpenSwapKey(swapId)
err := r.client.Del(ctx, swapKey).Err()
logctx.Error(ctx, "RemoveSwap Redis del failed", logger.String("key", swapKey), logger.Error(err))
Expand Down
2 changes: 1 addition & 1 deletion data/redisrepo/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,6 @@ func AddVal2Set(ctx context.Context, client redis.Cmdable, key, val string) erro
return models.ErrValAlreadyInSet
}

logctx.Info(ctx, "Added element to set", logger.String("key", key), logger.String("val", val))
logctx.Debug(ctx, "Added element to set", logger.String("key", key), logger.String("val", val))
return nil
}
14 changes: 7 additions & 7 deletions service/amount_out.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func (s *Service) GetQuote(ctx context.Context, symbol models.Symbol, side model
return models.QuoteRes{}, models.ErrIterFail
}
if !it.HasNext() {
logctx.Warn(ctx, "GetMinAsk failed")
logctx.Debug(ctx, "insufficient liquidity", logger.String("symbol", symbol.String()), logger.String("side", side.String()), logger.String("inAmount", inAmount.String()), logger.String("minOutAmount", fmt.Sprintf("%v", minOutAmount)))
return models.QuoteRes{}, models.ErrInsufficientLiquity
}
res, err = getOutAmountInAToken(ctx, it, inAmount)
Expand Down Expand Up @@ -89,8 +89,8 @@ func getOutAmountInAToken(ctx context.Context, it models.OrderIter, inAmountB de
outAmountA = outAmountA.Add(gainA)

// res
logctx.Info(ctx, fmt.Sprintf("append OrderFrag gainA: %s", gainA.String()))
logctx.Info(ctx, fmt.Sprintf("append OrderFrag spendB: %s", spendB.String()))
logctx.Debug(ctx, fmt.Sprintf("append OrderFrag gainA: %s", gainA.String()))
logctx.Debug(ctx, fmt.Sprintf("append OrderFrag spendB: %s", spendB.String()))
frags = append(frags, models.OrderFrag{OrderId: order.Id, OutSize: gainA, InSize: spendB})
}
}
Expand All @@ -99,7 +99,7 @@ func getOutAmountInAToken(ctx context.Context, it models.OrderIter, inAmountB de
logctx.Warn(ctx, models.ErrInsufficientLiquity.Error())
return models.QuoteRes{}, models.ErrInsufficientLiquity
}
logctx.Info(ctx, fmt.Sprintf("append OrderFrag outAmountA: %s", outAmountA.String()))
logctx.Debug(ctx, fmt.Sprintf("append OrderFrag outAmountA: %s", outAmountA.String()))
return models.QuoteRes{Size: outAmountA, OrderFrags: frags}, nil
}

Expand Down Expand Up @@ -130,14 +130,14 @@ func getOutAmountInBToken(ctx context.Context, it models.OrderIter, inAmountA de
outAmountB = outAmountB.Add(gainB)

// res
logctx.Info(ctx, fmt.Sprintf("append OrderFrag spendA: %s", spendA.String()))
logctx.Info(ctx, fmt.Sprintf("append OrderFrag gainB: %s", gainB.String()))
logctx.Debug(ctx, fmt.Sprintf("append OrderFrag spendA: %s", spendA.String()))
logctx.Debug(ctx, fmt.Sprintf("append OrderFrag gainB: %s", gainB.String()))
frags = append(frags, models.OrderFrag{OrderId: order.Id, OutSize: gainB, InSize: spendA})
}
if inAmountA.IsPositive() {
logctx.Warn(ctx, models.ErrInsufficientLiquity.Error())
return models.QuoteRes{}, models.ErrInsufficientLiquity
}
logctx.Info(ctx, fmt.Sprintf("append OrderFrag outAmountB: %s", outAmountB.String()))
logctx.Debug(ctx, fmt.Sprintf("append OrderFrag outAmountB: %s", outAmountB.String()))
return models.QuoteRes{Size: outAmountB, OrderFrags: frags}, nil
}
4 changes: 2 additions & 2 deletions service/cancel_order.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,15 +107,15 @@ func (s *Service) CancelOrder(ctx context.Context, input CancelOrderInput) (*uui

func (s *Service) getOrder(ctx context.Context, isClientOId bool, orderId uuid.UUID) (order *models.Order, err error) {
if isClientOId {
logctx.Info(ctx, "finding order by clientOId", logger.String("clientOId", orderId.String()))
logctx.Debug(ctx, "finding order by clientOId", logger.String("clientOId", orderId.String()))

order, err = s.orderBookStore.FindOrderById(ctx, orderId, true)
if err != nil {
logctx.Error(ctx, "could not get order ID by clientOId", logger.Error(err))
return nil, err
}
} else {
logctx.Info(ctx, "finding order by orderId", logger.String("orderId", orderId.String()))
logctx.Debug(ctx, "finding order by orderId", logger.String("orderId", orderId.String()))
order, err = s.orderBookStore.FindOrderById(ctx, orderId, false)
if err != nil {
logctx.Error(ctx, "could not get order by orderId", logger.Error(err))
Expand Down
2 changes: 1 addition & 1 deletion service/cancel_orders_for_user.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ func (s *Service) CancelOrdersForUser(ctx context.Context, userId uuid.UUID, sym

ids, err := s.orderBookStore.GetOpenOrderIds(ctx, userId)
if err != nil {
logctx.Info(ctx, "no orders found for user", logger.String("userId", userId.String()))
logctx.Debug(ctx, "no orders found for user", logger.String("userId", userId.String()))
return []uuid.UUID{}, err
}

Expand Down
4 changes: 2 additions & 2 deletions service/create_order.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func (s *Service) CreateOrder(ctx context.Context, input CreateOrderInput) (mode
}

if existingOrder == nil {
logctx.Info(ctx, "no existing order with same orderId. Trying to create new order", logger.String("clientOrderId", input.ClientOrderID.String()))
logctx.Debug(ctx, "no existing order with same orderId. Trying to create new order", logger.String("clientOrderId", input.ClientOrderID.String()))
return s.createNewOrder(ctx, input, input.UserId)
}

Expand All @@ -56,7 +56,7 @@ func (s *Service) CreateOrder(ctx context.Context, input CreateOrderInput) (mode
func (s *Service) createNewOrder(ctx context.Context, input CreateOrderInput, userId uuid.UUID) (models.Order, error) {
orderId := uuid.New()

logctx.Info(ctx, "creating new order", logger.String("orderId", orderId.String()), logger.String("clientOrderId", input.ClientOrderID.String()))
logctx.Debug(ctx, "creating new order", logger.String("orderId", orderId.String()), logger.String("clientOrderId", input.ClientOrderID.String()))

order := models.Order{
Id: orderId,
Expand Down
14 changes: 7 additions & 7 deletions service/evm_check_pending_txs.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,17 @@ func (e *EvmClient) CheckPendingTxs(ctx context.Context) error {
}

if len(pendingSwaps) == 0 {
logctx.Info(ctx, "No pending swaps. Sleeping...")
logctx.Debug(ctx, "No pending swaps. Sleeping...")
return nil
}

logctx.Info(ctx, "Found pending swaps to process", logger.Int("numPending", len(pendingSwaps)))
logctx.Debug(ctx, "Found pending swaps to process", logger.Int("numPending", len(pendingSwaps)))

var wg sync.WaitGroup
var mu sync.Mutex

for i := 0; i < len(pendingSwaps); i++ {
logctx.Info(ctx, "Trying to process pending swap", logger.Int("index", i), logger.String("txHash", pendingSwaps[i].TxHash), logger.String("swapId", pendingSwaps[i].Id.String()))
logctx.Debug(ctx, "Trying to process pending swap", logger.Int("index", i), logger.String("txHash", pendingSwaps[i].TxHash), logger.String("swapId", pendingSwaps[i].Id.String()))

wg.Add(1)
go func(index int) {
Expand All @@ -72,21 +72,21 @@ func (e *EvmClient) CheckPendingTxs(ctx context.Context) error {

switch tx.Status {
case models.TX_SUCCESS:
logctx.Info(ctx, "Transaction successful", logger.String("txHash", p.TxHash), logger.String("swapId", p.Id.String()))
logctx.Debug(ctx, "Transaction successful", logger.String("txHash", p.TxHash), logger.String("swapId", p.Id.String()))
_, err = e.ResolveSwap(ctx, p, true, &mu)
if err != nil {
logctx.Error(ctx, "Failed to process successful transaction", logger.Error(err), logger.String("txHash", p.TxHash), logger.String("swapId", p.Id.String()))
return
}
case models.TX_FAILURE:
logctx.Info(ctx, "Transaction failed", logger.String("txHash", p.TxHash), logger.String("swapId", p.Id.String()))
logctx.Debug(ctx, "Transaction failed", logger.String("txHash", p.TxHash), logger.String("swapId", p.Id.String()))
_, err = e.ResolveSwap(ctx, p, false, &mu)
if err != nil {
logctx.Error(ctx, "Failed to process failed transaction", logger.Error(err), logger.String("txHash", p.TxHash), logger.String("swapId", p.Id.String()))
return
}
case models.TX_PENDING:
logctx.Info(ctx, "Transaction still pending", logger.String("txHash", p.TxHash), logger.String("swapId", p.Id.String()))
logctx.Debug(ctx, "Transaction still pending", logger.String("txHash", p.TxHash), logger.String("swapId", p.Id.String()))
default:
logctx.Error(ctx, "Unknown transaction status", logger.String("txHash", p.TxHash), logger.String("swapId", p.Id.String()))
return
Expand All @@ -97,6 +97,6 @@ func (e *EvmClient) CheckPendingTxs(ctx context.Context) error {

wg.Wait()

logctx.Info(ctx, "Finished checking pending swaps", logger.Int("numPending", len(pendingSwaps)))
logctx.Debug(ctx, "Finished checking pending swaps", logger.Int("numPending", len(pendingSwaps)))
return nil
}
2 changes: 1 addition & 1 deletion service/evm_check_pending_txs_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,6 @@ func (e *EvmClient) ResolveSwap(ctx context.Context, swap models.Swap, isSuccess
logctx.Error(ctx, "Error StoreOpenOrders", logger.Error(err), logger.String("swapId", swap.Id.String()))
}

logctx.Info(ctx, "Resolved swap", logger.String("swapId", swap.Id.String()), logger.Bool("isSuccessful", isSuccessful), logger.String("created", swap.Created.String()), logger.String("resolved", swap.Resolved.String()), logger.String("txHash", swap.TxHash))
logctx.Debug(ctx, "Resolved swap", logger.String("swapId", swap.Id.String()), logger.Bool("isSuccessful", isSuccessful), logger.String("created", swap.Created.String()), logger.String("resolved", swap.Resolved.String()), logger.String("txHash", swap.TxHash))
return orders, nil
}
2 changes: 1 addition & 1 deletion service/evm_verify_signature.go
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ func (e *EvmClient) VerifySignature(ctx context.Context, input VerifySignatureIn
return false, fmt.Errorf("signature does not match")
}

logctx.Info(ctx, "signature is valid", logger.String("recoveredPub", hex.EncodeToString(recoveredPubBytes)), logger.String("originalPub", hex.EncodeToString(originalPubBytes)))
logctx.Debug(ctx, "signature is valid", logger.String("recoveredPub", hex.EncodeToString(recoveredPubBytes)), logger.String("originalPub", hex.EncodeToString(originalPubBytes)))
// Signature is valid
return true, nil
}
2 changes: 1 addition & 1 deletion service/get_market_depth.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ func (s *Service) GetMarketDepth(ctx context.Context, symbol models.Symbol, dept
return models.MarketDepth{}, err
}

logctx.Info(ctx, "got market depth", logger.String("symbol", symbol.String()))
logctx.Debug(ctx, "got market depth", logger.String("symbol", symbol.String()))
return marketDepth, nil
}
4 changes: 2 additions & 2 deletions service/get_order_by_client_oid.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ func (s *Service) GetOrderByClientOId(ctx context.Context, clientOId uuid.UUID)
order, err := s.orderBookStore.FindOrderById(ctx, clientOId, true)

if err == models.ErrNotFound {
logctx.Info(ctx, "order not found", logger.String("clientOId", clientOId.String()))
logctx.Debug(ctx, "order not found", logger.String("clientOId", clientOId.String()))
return nil, nil
}

Expand All @@ -22,6 +22,6 @@ func (s *Service) GetOrderByClientOId(ctx context.Context, clientOId uuid.UUID)
return nil, err
}

logctx.Info(ctx, "order found for orderId", logger.String("clientOId", clientOId.String()))
logctx.Debug(ctx, "order found for orderId", logger.String("clientOId", clientOId.String()))
return order, nil
}
4 changes: 2 additions & 2 deletions service/get_order_by_id.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ func (s *Service) GetOrderById(ctx context.Context, orderId uuid.UUID) (*models.
order, err := s.orderBookStore.FindOrderById(ctx, orderId, false)

if err == models.ErrNotFound {
logctx.Info(ctx, "order not found", logger.String("orderId", orderId.String()))
logctx.Debug(ctx, "order not found", logger.String("orderId", orderId.String()))
return nil, nil
}

Expand All @@ -22,6 +22,6 @@ func (s *Service) GetOrderById(ctx context.Context, orderId uuid.UUID) (*models.
return nil, err
}

logctx.Info(ctx, "order found for orderId", logger.String("orderId", orderId.String()))
logctx.Debug(ctx, "order found for orderId", logger.String("orderId", orderId.String()))
return order, nil
}
8 changes: 4 additions & 4 deletions service/get_orders_for_user.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,29 +11,29 @@ import (
)

func (s *Service) GetOpenOrdersForUser(ctx context.Context, userId uuid.UUID) (orders []models.Order, totalOrders int, err error) {
logctx.Info(ctx, "getting open orders for user", logger.String("user_id", userId.String()))
logctx.Debug(ctx, "getting open orders for user", logger.String("user_id", userId.String()))
orders, totalOrders, err = s.orderBookStore.GetOrdersForUser(ctx, userId, false)

if err != nil {
logctx.Error(ctx, "error getting open orders for user", logger.Error(err), logger.String("user_id", userId.String()))
return nil, 0, fmt.Errorf("error getting open orders for user: %w", err)
}

logctx.Info(ctx, "returning open orders for user", logger.String("user_id", userId.String()), logger.Int("orders_count", len(orders)))
logctx.Debug(ctx, "returning open orders for user", logger.String("user_id", userId.String()), logger.Int("orders_count", len(orders)))

return orders, totalOrders, nil
}

func (s *Service) GetFilledOrdersForUser(ctx context.Context, userId uuid.UUID) (orders []models.Order, totalOrders int, err error) {
logctx.Info(ctx, "getting filled orders for user", logger.String("user_id", userId.String()))
logctx.Debug(ctx, "getting filled orders for user", logger.String("user_id", userId.String()))
orders, totalOrders, err = s.orderBookStore.GetOrdersForUser(ctx, userId, true)

if err != nil {
logctx.Error(ctx, "error getting filled orders for user", logger.Error(err), logger.String("user_id", userId.String()))
return nil, 0, fmt.Errorf("error getting filled orders for user: %w", err)
}

logctx.Info(ctx, "returning filled orders for user", logger.String("user_id", userId.String()), logger.Int("orders_count", len(orders)))
logctx.Debug(ctx, "returning filled orders for user", logger.String("user_id", userId.String()), logger.Int("orders_count", len(orders)))

return orders, totalOrders, nil
}
Loading

0 comments on commit 743b9ce

Please sign in to comment.