diff --git a/libs/orders/src/lib/components/order-list-manager/order-list-manager.spec.tsx b/libs/orders/src/lib/components/order-list-manager/order-list-manager.spec.tsx index 65be451d4..74bd27dd7 100644 --- a/libs/orders/src/lib/components/order-list-manager/order-list-manager.spec.tsx +++ b/libs/orders/src/lib/components/order-list-manager/order-list-manager.spec.tsx @@ -11,6 +11,7 @@ import { forwardRef } from 'react'; import type { VegaWalletContextShape } from '@vegaprotocol/wallet'; import { VegaWalletContext } from '@vegaprotocol/wallet'; import { MockedProvider } from '@apollo/client/testing'; +import { vega as vegaProtos } from '@vegaprotocol/protos'; // @ts-ignore OrderList is read only but we need to override with the forwardRef to // avoid warnings about padding refs @@ -63,9 +64,9 @@ describe('normalizeOrderAmendment', () => { const orderAmendment = normalizeOrderAmendment(order, market, '1', '1'); expect(orderAmendment.orderId).toEqual('123'); expect(orderAmendment.marketId).toEqual('456'); - expect(orderAmendment.expiresAt).toEqual('1640995200000000000'); + expect(orderAmendment.expiresAt).toEqual(BigInt('1640995200000000000')); expect(orderAmendment.timeInForce).toEqual( - Schema.OrderTimeInForce.TIME_IN_FORCE_GTT + vegaProtos.Order.TimeInForce.TIME_IN_FORCE_GTT ); }); @@ -84,9 +85,9 @@ describe('normalizeOrderAmendment', () => { }); it.each([ - ['9', 1, -10], - ['90', 2, 8900], - ['0.001', 8, 99900], + ['9', 1, BigInt(-10)], + ['90', 2, BigInt(8900)], + ['0.001', 8, BigInt(99900)], ])('sets and formats size delta', (size, positionDecimalPlaces, output) => { const orderAmendment = normalizeOrderAmendment( order, diff --git a/libs/orders/src/lib/components/order-list-manager/order-list-manager.tsx b/libs/orders/src/lib/components/order-list-manager/order-list-manager.tsx index bbfe826f4..77d1db6b6 100644 --- a/libs/orders/src/lib/components/order-list-manager/order-list-manager.tsx +++ b/libs/orders/src/lib/components/order-list-manager/order-list-manager.tsx @@ -3,7 +3,6 @@ import { useCallback, useRef, useState } from 'react'; import { Button } from '@vegaprotocol/ui-toolkit'; import type { AgGridReact } from 'ag-grid-react'; import type { GridReadyEvent, FilterChangedEvent } from 'ag-grid-community'; - import { OrderListTable } from '../order-list/order-list'; import { useHasAmendableOrder } from '../../order-hooks/use-has-amendable-order'; import { useBottomPlaceholder } from '@vegaprotocol/datagrid'; @@ -51,49 +50,28 @@ export interface OrderListManagerProps { storeKey?: string; } -export interface DealTicketOrderAmendment { - marketId: string; - orderId: string; - reference?: string; - timeInForce: Schema.OrderTimeInForce; - sizeDelta?: number; - price?: string; - expiresAt?: string; -} - export const normalizeOrderAmendment = >( order: Pick, market: Pick, price: string, size: string -): DealTicketOrderAmendment => ({ +): OrderAmendment => ({ orderId: order.id, marketId: market.id, price: removeDecimal(price, market.decimalPlaces), - timeInForce: order.timeInForce, - sizeDelta: size - ? new BigNumber(removeDecimal(size, market.positionDecimalPlaces)) - .minus(order.size) - .toNumber() - : 0, + timeInForce: TimeInForceMap[order.timeInForce], + sizeDelta: BigInt( + size + ? new BigNumber(removeDecimal(size, market.positionDecimalPlaces)) + .minus(order.size) + .toNumber() + : 0 + ), expiresAt: order.expiresAt - ? toNanoSeconds(order.expiresAt) // Wallet expects timestamp in nanoseconds + ? BigInt(toNanoSeconds(order.expiresAt)) // Wallet expects timestamp in nanoseconds : undefined, }); -export const convertDealTicketToOrderAmendment = ( - dealTicketOrder: DealTicketOrderAmendment -) => { - return { - ...dealTicketOrder, - expiresAt: dealTicketOrder.expiresAt - ? BigInt(dealTicketOrder.expiresAt) - : null, - timeInForce: TimeInForceMap[dealTicketOrder.timeInForce], - sizeDelta: BigInt(dealTicketOrder.sizeDelta || 0), - } as OrderAmendment; -}; - const CancelAllOrdersButton = ({ onClick }: { onClick: () => void }) => (