From b6cda139dff76ee00dd2ccfc99f20297f9fb4519 Mon Sep 17 00:00:00 2001 From: "m.ray" <16125548+MadalinaRaicu@users.noreply.github.com> Date: Tue, 23 Aug 2022 18:24:33 +0100 Subject: [PATCH] chore: fix status mappings after API updates (#1119) * chore(#1116 ): status mapping fixes after API changes * fix: modify proposal status * fix: update to use numbers in price cell rather than converting --- .../proposals-list-item-details.spec.tsx | 2 +- .../proposals-list-item-details.tsx | 7 +- apps/trading/pages/markets/trade-grid.tsx | 20 +- libs/accounts/src/lib/accounts-table.tsx | 6 +- .../src/lib/__generated__/MarketList.ts | 4 +- .../lib/components/select-market-columns.tsx | 108 ++++---- .../src/lib/components/select-market.spec.tsx | 31 ++- .../src/lib/utils/market-utils.spec.tsx | 12 - .../market-list/src/lib/utils/market-utils.ts | 13 - .../order-feedback/order-feedback.spec.tsx | 3 +- .../order-feedback/order-feedback.tsx | 9 +- .../components/order-list/order-list.spec.tsx | 33 ++- .../lib/components/order-list/order-list.tsx | 25 +- .../lib/order-hooks/use-order-submit.spec.tsx | 17 +- .../src/lib/order-hooks/use-order-submit.ts | 2 +- .../order-hooks/use-order-validation.spec.tsx | 5 +- .../lib/order-hooks/use-order-validation.tsx | 3 +- libs/positions/src/lib/positions-table.tsx | 8 +- libs/types/src/global-types-mappings.ts | 242 +++++++++--------- 19 files changed, 300 insertions(+), 250 deletions(-) diff --git a/apps/token/src/routes/governance/components/proposals-list-item/proposals-list-item-details.spec.tsx b/apps/token/src/routes/governance/components/proposals-list-item/proposals-list-item-details.spec.tsx index 30b9da678..9249ad30e 100644 --- a/apps/token/src/routes/governance/components/proposals-list-item/proposals-list-item-details.spec.tsx +++ b/apps/token/src/routes/governance/components/proposals-list-item/proposals-list-item-details.spec.tsx @@ -372,7 +372,7 @@ describe('Proposals list item details', () => { ); expect(screen.getByTestId('proposal-status')).toHaveTextContent('Rejected'); expect(screen.getByTestId('vote-status')).toHaveTextContent( - 'PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT' + 'Invalid future product' ); }); }); diff --git a/apps/token/src/routes/governance/components/proposals-list-item/proposals-list-item-details.tsx b/apps/token/src/routes/governance/components/proposals-list-item/proposals-list-item-details.tsx index e9ba0afd1..a6cc6696c 100644 --- a/apps/token/src/routes/governance/components/proposals-list-item/proposals-list-item-details.tsx +++ b/apps/token/src/routes/governance/components/proposals-list-item/proposals-list-item-details.tsx @@ -12,7 +12,10 @@ import { useTranslation } from 'react-i18next'; import { DATE_FORMAT_DETAILED } from '../../../../lib/date-formats'; import type { ReactNode } from 'react'; import type { Proposals_proposals } from '../../proposals/__generated__/Proposals'; -import { ProposalState } from '@vegaprotocol/types'; +import { + ProposalRejectionReasonMapping, + ProposalState, +} from '@vegaprotocol/types'; const MajorityNotReached = () => { const { t } = useTranslation(); @@ -161,7 +164,7 @@ export const ProposalsListItemDetails = ({ ); voteStatus = proposal.rejectionReason && ( - <>{t(proposal.rejectionReason)} + <>{t(ProposalRejectionReasonMapping[proposal.rejectionReason])} ); break; } diff --git a/apps/trading/pages/markets/trade-grid.tsx b/apps/trading/pages/markets/trade-grid.tsx index ed23f9313..891ed1893 100644 --- a/apps/trading/pages/markets/trade-grid.tsx +++ b/apps/trading/pages/markets/trade-grid.tsx @@ -8,13 +8,14 @@ import { SelectMarketPopover } from '@vegaprotocol/market-list'; import { OrderListContainer } from '@vegaprotocol/orders'; import { FillsContainer } from '@vegaprotocol/fills'; import { PositionsContainer } from '@vegaprotocol/positions'; -import { - addDecimalsFormatNumber, - formatLabel, - t, -} from '@vegaprotocol/react-helpers'; +import { addDecimalsFormatNumber, t } from '@vegaprotocol/react-helpers'; import { TradesContainer } from '@vegaprotocol/trades'; -import { AuctionTrigger, MarketTradingMode } from '@vegaprotocol/types'; +import { + AuctionTrigger, + AuctionTriggerMapping, + MarketTradingMode, + MarketTradingModeMapping, +} from '@vegaprotocol/types'; import { Allotment, LayoutPriority } from 'allotment'; import classNames from 'classnames'; import { useState } from 'react'; @@ -124,10 +125,9 @@ export const TradeMarketHeader = ({ market.data?.trigger && market.data.trigger !== AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED - ? `${formatLabel( - market.tradingMode - )} - ${market.data?.trigger.toLowerCase()}` - : formatLabel(market.tradingMode)} + ? `${MarketTradingModeMapping[market.tradingMode]} + - ${AuctionTriggerMapping[market.data.trigger]}` + : MarketTradingModeMapping[market.tradingMode]} diff --git a/libs/accounts/src/lib/accounts-table.tsx b/libs/accounts/src/lib/accounts-table.tsx index f42f55f33..9f90015ba 100644 --- a/libs/accounts/src/lib/accounts-table.tsx +++ b/libs/accounts/src/lib/accounts-table.tsx @@ -17,6 +17,8 @@ import type { AgGridReact } from 'ag-grid-react'; import type { Accounts_party_accounts } from './__generated__/Accounts'; import { getId } from './accounts-data-provider'; import { useAssetDetailsDialogStore } from '@vegaprotocol/market-list'; +import type { AccountType } from '@vegaprotocol/types'; +import { AccountTypeMapping } from '@vegaprotocol/types'; interface AccountsTableProps { data: Accounts_party_accounts[] | null; @@ -143,7 +145,9 @@ export const AccountsTable = forwardRef( + value ? AccountTypeMapping[value as AccountType] : '-' + } /> `px-8 text-${direction} font-sans text-ui-small leading-9 mb-0 text-dark dark:text-white first:w-[10%]`; @@ -184,10 +192,13 @@ export const columnHeaders: Column[] = [ ]; // eslint-disable-next-line @typescript-eslint/no-explicit-any -export const columns = (market: any, onSelect: (id: string) => void) => { +export const columns = ( + market: MarketList_markets, + onSelect: (id: string) => void +) => { const candlesClose = market.candles - .map((candle: { close: string }) => candle?.close) - .filter((c: string): c is CandleClose => c !== null); + ?.map((candle) => candle?.close) + .filter((c: string | undefined): c is CandleClose => !isNil(c)); const handleKeyPress = ( event: React.KeyboardEvent, id: string @@ -196,6 +207,8 @@ export const columns = (market: any, onSelect: (id: string) => void) => { return onSelect(id); } }; + const candleLow = calcCandleLow(market); + const candleHigh = calcCandleHigh(market); const selectMarketColumns: Column[] = [ { value: ( @@ -217,11 +230,11 @@ export const columns = (market: any, onSelect: (id: string) => void) => { onlyOnDetailed: false, }, { - value: market.lastPrice ? ( + value: market.data?.markPrice ? ( void) => { onlyOnDetailed: false, }, { - value: market.settlementAsset, + value: + market.tradableInstrument.instrument.product.settlementAsset.symbol, dataTestId: 'settlement-asset', className: thClassNames('left'), onlyOnDetailed: false, }, { - value: ( + value: candlesClose && ( void) => { width={100} height={20} muted={false} - data={candlesClose.map((c: string) => Number(c))} + data={candlesClose?.map((c: string) => Number(c)) || []} /> ), className: 'px-8', - onlyOnDetailed: false, + onlyOnDetailed: false && candlesClose, }, { - value: market.candleHigh ? ( + value: candleHigh ? ( void) => { onlyOnDetailed: true, }, { - value: market.candleLow ? ( + value: candleLow ? ( void) => { MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && market.data?.trigger && market.data.trigger !== AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED - ? `${formatLabel( - market.tradingMode - )} - ${market.data?.trigger.toLowerCase()}` - : formatLabel(market.tradingMode), + ? `${MarketTradingModeMapping[market.tradingMode]} + - ${AuctionTriggerMapping[market.data.trigger]}` + : MarketTradingModeMapping[market.tradingMode], className: thClassNames('left'), onlyOnDetailed: true, dataTestId: 'trading-mode', @@ -312,7 +325,7 @@ export const columns = (market: any, onSelect: (id: string) => void) => { description={} > - {market.totalFees ?? '-'} + {totalFees(market.fees.factors) ?? '-'} ), @@ -322,7 +335,7 @@ export const columns = (market: any, onSelect: (id: string) => void) => { }, { value: - market.data.indicativeVolume && market.data.indicativeVolume !== '0' + market.data?.indicativeVolume && market.data.indicativeVolume !== '0' ? addDecimalsFormatNumber( market.data.indicativeVolume, market.positionDecimalPlaces @@ -343,12 +356,14 @@ export const columns = (market: any, onSelect: (id: string) => void) => { }; export const columnsPositionMarkets = ( - market: any, + market: MarketList_markets & { openVolume: string }, onSelect: (id: string) => void ) => { const candlesClose = market.candles - .map((candle: { close: string }) => candle?.close) - .filter((c: string): c is CandleClose => c !== null); + ?.map((candle) => candle?.close) + .filter((c: string | undefined): c is CandleClose => !isNil(c)); + const candleLow = calcCandleLow(market); + const candleHigh = calcCandleHigh(market); const handleKeyPress = ( event: React.KeyboardEvent, id: string @@ -378,11 +393,11 @@ export const columnsPositionMarkets = ( onlyOnDetailed: false, }, { - value: market.lastPrice ? ( + value: market.data?.markPrice ? ( } > - {market.totalFees ?? '-'} + {totalFees(market.fees.factors) ?? '-'} ), diff --git a/libs/market-list/src/lib/components/select-market.spec.tsx b/libs/market-list/src/lib/components/select-market.spec.tsx index 0d38ba663..0fcdd87fa 100644 --- a/libs/market-list/src/lib/components/select-market.spec.tsx +++ b/libs/market-list/src/lib/components/select-market.spec.tsx @@ -1,4 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react'; +import { MarketState, MarketTradingMode } from '@vegaprotocol/types'; import type { ReactNode } from 'react'; import type { MarketList_markets } from '../__generated__/MarketList'; @@ -49,15 +50,24 @@ const mockData = { decimalPlaces: 2, name: '', positionDecimalPlaces: 4, - state: 'Active', - tradingMode: 'Continuous', - data: {}, + state: MarketState.STATE_ACTIVE, + tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + data: { + markPrice: '14175', + }, tradableInstrument: { __typename: 'TradableInstrument', instrument: { __typename: 'Instrument', name: 'APEUSD (May 2022)', code: 'APEUSD', + product: { + __typename: 'Future', + settlementAsset: { + __typename: 'Asset', + symbol: 'USD', + }, + }, }, }, marketTimestamps: { @@ -117,6 +127,13 @@ const mockData = { __typename: 'Instrument', name: 'Apple Monthly (30 Jun 2022)', code: 'AAPL.MF21', + product: { + __typename: 'Future', + settlementAsset: { + __typename: 'Asset', + symbol: 'USD', + }, + }, }, }, fees: { @@ -167,9 +184,11 @@ const mockData = { ], name: '', positionDecimalPlaces: 4, - state: 'Active', - tradingMode: 'Continuous', - data: {}, + state: MarketState.STATE_ACTIVE, + tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + data: { + markPrice: '14175', + }, } as MarketList_markets, ], }, diff --git a/libs/market-list/src/lib/utils/market-utils.spec.tsx b/libs/market-list/src/lib/utils/market-utils.spec.tsx index 4c8a4b9c6..9dc46f140 100644 --- a/libs/market-list/src/lib/utils/market-utils.spec.tsx +++ b/libs/market-list/src/lib/utils/market-utils.spec.tsx @@ -53,14 +53,8 @@ const mockList = [ open: '2022-05-18T13:00:39.328347732Z', close: null, }, - marketName: 'AAPL.MF21', - settlementAsset: 'AAPL.MF21', - lastPrice: '16322118', - candleHigh: '16365861', - candleLow: '16023805', open: 1652878839328, close: null, - totalFees: '0.14%', }, { __typename: 'Market', @@ -106,14 +100,8 @@ const mockList = [ __typename: 'Candle', }, ], - marketName: 'APEUSD', - settlementAsset: 'APEUSD', - lastPrice: '16322118', - candleHigh: '16365861', - candleLow: '16023805', open: 1652879307693, close: null, - totalFees: '0.14%', }, ]; diff --git a/libs/market-list/src/lib/utils/market-utils.ts b/libs/market-list/src/lib/utils/market-utils.ts index dba91f0e7..e6ad70240 100644 --- a/libs/market-list/src/lib/utils/market-utils.ts +++ b/libs/market-list/src/lib/utils/market-utils.ts @@ -8,11 +8,6 @@ import type { MarketList_markets_fees_factors, } from '../__generated__/MarketList'; -export const lastPrice = ({ candles }: MarketList_markets) => - candles && candles.length > 0 - ? candles && candles[candles?.length - 1]?.close - : undefined; - export const totalFees = (fees: MarketList_markets_fees_factors) => { if (!fees) { return undefined; @@ -36,20 +31,12 @@ export const mapDataToMarketList = ({ markets }: MarketList) => .map((m) => { return { ...m, - marketName: m.tradableInstrument.instrument?.code, - settlementAsset: - m.tradableInstrument.instrument.product?.settlementAsset?.symbol, - lastPrice: lastPrice(m) ?? m.data?.markPrice, - candles: (m.candles || []).filter((c) => c), - candleHigh: calcCandleHigh(m), - candleLow: calcCandleLow(m), open: m.marketTimestamps.open ? new Date(m.marketTimestamps.open).getTime() : null, close: m.marketTimestamps.close ? new Date(m.marketTimestamps.close).getTime() : null, - totalFees: totalFees(m.fees?.factors), }; }) || [], ['open', 'id'], diff --git a/libs/orders/src/lib/components/order-feedback/order-feedback.spec.tsx b/libs/orders/src/lib/components/order-feedback/order-feedback.spec.tsx index fd18334bc..3e8d3da6a 100644 --- a/libs/orders/src/lib/components/order-feedback/order-feedback.spec.tsx +++ b/libs/orders/src/lib/components/order-feedback/order-feedback.spec.tsx @@ -2,6 +2,7 @@ import { render, screen } from '@testing-library/react'; import { OrderRejectionReason, OrderStatus, + OrderStatusMapping, OrderType, Side, } from '@vegaprotocol/types'; @@ -76,7 +77,7 @@ describe('OrderFeedback', () => { order.market!.name ); expect(screen.getByText('Status').nextElementSibling).toHaveTextContent( - order.status + OrderStatusMapping[order.status] ); expect(screen.getByText('Price').nextElementSibling).toHaveTextContent( '1.00' diff --git a/libs/orders/src/lib/components/order-feedback/order-feedback.tsx b/libs/orders/src/lib/components/order-feedback/order-feedback.tsx index 2d551112b..088e73856 100644 --- a/libs/orders/src/lib/components/order-feedback/order-feedback.tsx +++ b/libs/orders/src/lib/components/order-feedback/order-feedback.tsx @@ -1,7 +1,12 @@ import { useEnvironment } from '@vegaprotocol/environment'; import type { OrderEvent_busEvents_event_Order } from '../../order-hooks/__generated__'; import { addDecimalsFormatNumber, t } from '@vegaprotocol/react-helpers'; -import { OrderStatus, OrderType, Side } from '@vegaprotocol/types'; +import { + OrderStatus, + OrderStatusMapping, + OrderType, + Side, +} from '@vegaprotocol/types'; import type { VegaTxState } from '@vegaprotocol/wallet'; import startCase from 'lodash/startCase'; @@ -28,7 +33,7 @@ export const OrderFeedback = ({ transaction, order }: OrderFeedbackProps) => { )}

{t(`Status`)}

-

{t(`${order.status}`)}

+

{t(`${OrderStatusMapping[order.status]}`)}

{order.type === OrderType.TYPE_LIMIT && order.market && (
diff --git a/libs/orders/src/lib/components/order-list/order-list.spec.tsx b/libs/orders/src/lib/components/order-list/order-list.spec.tsx index 6a8a47d8a..e1ba75ba4 100644 --- a/libs/orders/src/lib/components/order-list/order-list.spec.tsx +++ b/libs/orders/src/lib/components/order-list/order-list.spec.tsx @@ -1,6 +1,16 @@ import { act, render, screen } from '@testing-library/react'; import { addDecimal, getDateTimeFormat } from '@vegaprotocol/react-helpers'; -import { OrderStatus, OrderRejectionReason } from '@vegaprotocol/types'; +import { OrderType } from '@vegaprotocol/types'; +import { + OrderRejectionReasonMapping, + OrderTimeInForceMapping, +} from '@vegaprotocol/types'; +import { + OrderStatus, + OrderRejectionReason, + OrderTypeMapping, + OrderStatusMapping, +} from '@vegaprotocol/types'; import type { PartialDeep } from 'type-fest'; import type { VegaWalletContextShape } from '@vegaprotocol/wallet'; import { VegaWalletContext } from '@vegaprotocol/wallet'; @@ -9,7 +19,6 @@ import { MockedProvider } from '@apollo/client/testing'; import { OrderListTable } from '../'; import type { Orders_party_ordersConnection_edges_node } from '../'; import { limitOrder, marketOrder } from '../mocks/generate-orders'; -import startCase from 'lodash/startCase'; const generateJsx = ( orders: Orders_party_ordersConnection_edges_node[] | null, @@ -67,11 +76,11 @@ describe('OrderListTable', () => { const expectedValues: string[] = [ marketOrder.market?.tradableInstrument.instrument.code || '', '+0.10', - marketOrder.type || '', - marketOrder.status, + OrderTypeMapping[marketOrder.type as OrderType] || '', + OrderStatusMapping[marketOrder.status], '5', '-', - marketOrder.timeInForce, + OrderTimeInForceMapping[marketOrder.timeInForce], getDateTimeFormat().format(new Date(marketOrder.createdAt)), '-', 'Edit', @@ -91,13 +100,13 @@ describe('OrderListTable', () => { const expectedValues: string[] = [ limitOrder.market?.tradableInstrument.instrument.code || '', '+0.10', - limitOrder.type || '', - limitOrder.status, + OrderTypeMapping[limitOrder.type || OrderType.TYPE_LIMIT], + OrderStatusMapping[limitOrder.status], '5', addDecimal(limitOrder.price, limitOrder.market?.decimalPlaces ?? 0), - `${limitOrder.timeInForce}: ${getDateTimeFormat().format( - new Date(limitOrder.expiresAt ?? '') - )}`, + `${ + OrderTimeInForceMapping[limitOrder.timeInForce] + }: ${getDateTimeFormat().format(new Date(limitOrder.expiresAt ?? ''))}`, getDateTimeFormat().format(new Date(limitOrder.createdAt)), '-', 'Edit', @@ -120,7 +129,9 @@ describe('OrderListTable', () => { }); const cells = screen.getAllByRole('gridcell'); expect(cells[3]).toHaveTextContent( - `${rejectedOrder.status}: ${startCase(rejectedOrder.rejectionReason)}` + `${OrderStatusMapping[rejectedOrder.status]}: ${ + OrderRejectionReasonMapping[rejectedOrder.rejectionReason] + }` ); }); }); diff --git a/libs/orders/src/lib/components/order-list/order-list.tsx b/libs/orders/src/lib/components/order-list/order-list.tsx index c05f0cde1..0e3252e8f 100644 --- a/libs/orders/src/lib/components/order-list/order-list.tsx +++ b/libs/orders/src/lib/components/order-list/order-list.tsx @@ -3,6 +3,10 @@ import { OrderStatus, Side, OrderType, + OrderTypeMapping, + OrderStatusMapping, + OrderTimeInForceMapping, + OrderRejectionReasonMapping, } from '@vegaprotocol/types'; import { addDecimal, getDateTimeFormat, t } from '@vegaprotocol/react-helpers'; import { @@ -29,7 +33,6 @@ import { useOrderEdit } from '../../order-hooks/use-order-edit'; import { OrderEditDialog } from './order-edit-dialog'; import type { OrderFields } from '../order-data-provider/__generated__'; import { OrderFeedback } from '../order-feedback'; -import startCase from 'lodash/startCase'; type OrderListProps = AgGridReactProps | AgReactUiProps; @@ -151,7 +154,14 @@ export const OrderListTable = forwardRef( ); }} /> - + OrderTypeMapping[value as OrderType]} + /> ( return undefined; } if (value === OrderStatus.STATUS_REJECTED) { - return `${value}: ${ - data.rejectionReason && startCase(data.rejectionReason) + return `${OrderStatusMapping[value]}: ${ + data.rejectionReason && + OrderRejectionReasonMapping[data.rejectionReason] }`; } - return value; + return OrderStatusMapping[value]; }} /> ( const expiry = getDateTimeFormat().format( new Date(data.expiresAt) ); - return `${value}: ${expiry}`; + return `${OrderTimeInForceMapping[value]}: ${expiry}`; } - return value; + return OrderTimeInForceMapping[value]; }} /> { side: order.side, timeInForce: order.timeInForce, expiresAt: order.expiration - ? toNanoSeconds(order.expiration) // Wallet expects timestampe in nanoseconds + ? toNanoSeconds(order.expiration) // Wallet expects timestamp in nanoseconds : undefined, }, }); diff --git a/libs/orders/src/lib/order-hooks/use-order-validation.spec.tsx b/libs/orders/src/lib/order-hooks/use-order-validation.spec.tsx index 1f88b867e..a824ebedf 100644 --- a/libs/orders/src/lib/order-hooks/use-order-validation.spec.tsx +++ b/libs/orders/src/lib/order-hooks/use-order-validation.spec.tsx @@ -6,6 +6,7 @@ import type { } from '@vegaprotocol/wallet'; import { MarketState, + MarketStateMapping, MarketTradingMode, OrderTimeInForce, OrderType, @@ -145,7 +146,9 @@ describe('useOrderValidation', () => { }); expect(result.current).toStrictEqual({ isDisabled: false, - message: `This market is ${state.toLowerCase()} and only accepting liquidity commitment orders`, + message: `This market is ${MarketStateMapping[ + state as MarketState + ].toLowerCase()} and only accepting liquidity commitment orders`, }); } ); diff --git a/libs/orders/src/lib/order-hooks/use-order-validation.tsx b/libs/orders/src/lib/order-hooks/use-order-validation.tsx index effbda66b..8b1692da7 100644 --- a/libs/orders/src/lib/order-hooks/use-order-validation.tsx +++ b/libs/orders/src/lib/order-hooks/use-order-validation.tsx @@ -4,6 +4,7 @@ import { t, toDecimal } from '@vegaprotocol/react-helpers'; import { useVegaWallet } from '@vegaprotocol/wallet'; import { MarketState, + MarketStateMapping, MarketTradingMode, OrderTimeInForce, OrderType, @@ -28,7 +29,7 @@ export const marketTranslations = (marketState: MarketState) => { case MarketState.STATE_TRADING_TERMINATED: return t('terminated'); default: - return t(marketState).toLowerCase(); + return t(MarketStateMapping[marketState]).toLowerCase(); } }; diff --git a/libs/positions/src/lib/positions-table.tsx b/libs/positions/src/lib/positions-table.tsx index 23e78777a..c29e71cb6 100644 --- a/libs/positions/src/lib/positions-table.tsx +++ b/libs/positions/src/lib/positions-table.tsx @@ -276,12 +276,12 @@ export const PositionsTable = forwardRef((props, ref) => { value, }: { value: string; - }) => BigInt(value) > 0, + }) => value && BigInt(value) > 0, 'text-vega-red-dark dark:text-vega-red': ({ value, }: { value: string; - }) => BigInt(value) < 0, + }) => value && BigInt(value) < 0, }} valueFormatter={({ value, @@ -305,12 +305,12 @@ export const PositionsTable = forwardRef((props, ref) => { value, }: { value: string; - }) => BigInt(value) > 0, + }) => value && BigInt(value) > 0, 'text-vega-red-dark dark:text-vega-red': ({ value, }: { value: string; - }) => BigInt(value) < 0, + }) => value && BigInt(value) < 0, }} valueFormatter={({ value, diff --git a/libs/types/src/global-types-mappings.ts b/libs/types/src/global-types-mappings.ts index 816b70055..ba453c2fc 100644 --- a/libs/types/src/global-types-mappings.ts +++ b/libs/types/src/global-types-mappings.ts @@ -1,28 +1,28 @@ export enum AccountTypeMapping { - ACCOUNT_TYPE_BOND = 'BOND', - ACCOUNT_TYPE_EXTERNAL = 'EXTERNAL', - ACCOUNT_TYPE_FEES_INFRASTRUCTURE = 'FEES_INFRASTRUCTURE', - ACCOUNT_TYPE_FEES_LIQUIDITY = 'FEES_LIQUIDITY', - ACCOUNT_TYPE_FEES_MAKER = 'FEES_MAKER', - ACCOUNT_TYPE_GENERAL = 'GENERAL', - ACCOUNT_TYPE_GLOBAL_INSURANCE = 'GLOBAL_INSURANCE', - ACCOUNT_TYPE_GLOBAL_REWARD = 'GLOBAL_REWARD', - ACCOUNT_TYPE_INSURANCE = 'INSURANCE', - ACCOUNT_TYPE_MARGIN = 'MARGIN', - ACCOUNT_TYPE_PENDING_TRANSFERS = 'PENDING_TRANSFERS', - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES = 'REWARD_LP_RECEIVED_FEES', - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES = 'REWARD_MAKER_RECEIVED_FEES', - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS = 'REWARD_MARKET_PROPOSERS', - ACCOUNT_TYPE_REWARD_TAKER_PAID_FEES = 'REWARD_TAKER_PAID_FEES', - ACCOUNT_TYPE_SETTLEMENT = 'SETTLEMENT', + ACCOUNT_TYPE_BOND = 'Bond', + ACCOUNT_TYPE_EXTERNAL = 'External', + ACCOUNT_TYPE_FEES_INFRASTRUCTURE = 'Fees Infrastructure', + ACCOUNT_TYPE_FEES_LIQUIDITY = 'Fees Liquidity', + ACCOUNT_TYPE_FEES_MAKER = 'Fees Maker', + ACCOUNT_TYPE_GENERAL = 'General', + ACCOUNT_TYPE_GLOBAL_INSURANCE = 'Global Insurance', + ACCOUNT_TYPE_GLOBAL_REWARD = 'Global Reward', + ACCOUNT_TYPE_INSURANCE = 'Insurance', + ACCOUNT_TYPE_MARGIN = 'Margin', + ACCOUNT_TYPE_PENDING_TRANSFERS = 'Pending transfers', + ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES = 'Reward LP received fees', + ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES = 'Reward Maker received fees', + ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS = 'Reward Market Proposers', + ACCOUNT_TYPE_REWARD_TAKER_PAID_FEES = 'Reward Taker paid fees', + ACCOUNT_TYPE_SETTLEMENT = 'Settlement', } export enum AuctionTriggerMapping { - AUCTION_TRIGGER_BATCH = 'BATCH', - AUCTION_TRIGGER_LIQUIDITY = 'LIQUIDITY', - AUCTION_TRIGGER_OPENING = 'OPENING', - AUCTION_TRIGGER_PRICE = 'PRICE', - AUCTION_TRIGGER_UNSPECIFIED = 'UNSPECIFIED', + AUCTION_TRIGGER_BATCH = 'batch', + AUCTION_TRIGGER_LIQUIDITY = 'liquidity', + AUCTION_TRIGGER_OPENING = 'opening', + AUCTION_TRIGGER_PRICE = 'price', + AUCTION_TRIGGER_UNSPECIFIED = 'unspecified', } /** @@ -40,9 +40,9 @@ export enum ConditionOperatorMapping { * The status of a deposit */ export enum DepositStatusMapping { - STATUS_CANCELLED = 'CANCELLED', - STATUS_FINALIZED = 'FINALIZED', - STATUS_OPEN = 'OPEN', + STATUS_CANCELLED = 'Cancelled', + STATUS_FINALIZED = 'Finalized', + STATUS_OPEN = 'Open', } /** @@ -61,15 +61,15 @@ export enum IntervalMapping { * The current state of a market */ export enum MarketStateMapping { - STATE_ACTIVE = 'ACTIVE', - STATE_CANCELLED = 'CANCELLED', - STATE_CLOSED = 'CLOSED', - STATE_PENDING = 'PENDING', - STATE_PROPOSED = 'PROPOSED', - STATE_REJECTED = 'REJECTED', - STATE_SETTLED = 'SETTLED', - STATE_SUSPENDED = 'SUSPENDED', - STATE_TRADING_TERMINATED = 'TRADING_TERMINATED', + STATE_ACTIVE = 'Active', + STATE_CANCELLED = 'Cancelled', + STATE_CLOSED = 'Closed', + STATE_PENDING = 'Pending', + STATE_PROPOSED = 'Proposed', + STATE_REJECTED = 'Rejected', + STATE_SETTLED = 'Settled', + STATE_SUSPENDED = 'Suspended', + STATE_TRADING_TERMINATED = 'Trading Terminated', } /** @@ -77,7 +77,7 @@ export enum MarketStateMapping { */ export enum MarketTradingModeMapping { TRADING_MODE_BATCH_AUCTION = 'Batch auction', - TRADING_MODE_CONTINUOUS = 'Continuous trading', + TRADING_MODE_CONTINUOUS = 'Continuous', TRADING_MODE_MONITORING_AUCTION = 'Monitoring auction', TRADING_MODE_NO_TRADING = 'No trading', TRADING_MODE_OPENING_AUCTION = 'Opening auction', @@ -100,50 +100,50 @@ export enum OracleSpecStatusMapping { * Reason for the order being rejected by the core node */ export enum OrderRejectionReasonMapping { - ORDER_ERROR_AMEND_FAILURE = 'AMEND_FAILURE', - ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE = 'BUY_CANNOT_REFERENCE_BEST_ASK_PRICE', - ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN = 'CANNOT_AMEND_FROM_GFA_OR_GFN', - ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER = 'CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER', - ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC = 'CANNOT_AMEND_TO_FOK_OR_IOC', - ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN = 'CANNOT_AMEND_TO_GFA_OR_GFN', - ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT = 'CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT', - ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT = 'CANNOT_HAVE_GTC_AND_EXPIRYAT', - ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION = 'CANNOT_SEND_FOK_ORDER_DURING_AUCTION', - ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION = 'CANNOT_SEND_IOC_ORDER_DURING_AUCTION', - ORDER_ERROR_EDIT_NOT_ALLOWED = 'EDIT_NOT_ALLOWED', - ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT = 'EXPIRYAT_BEFORE_CREATEDAT', - ORDER_ERROR_GFA_ORDER_DURING_CONTINUOUS_TRADING = 'GFA_ORDER_DURING_CONTINUOUS_TRADING', - ORDER_ERROR_GFN_ORDER_DURING_AN_AUCTION = 'GFN_ORDER_DURING_AN_AUCTION', - ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE = 'INSUFFICIENT_ASSET_BALANCE', - ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES = 'INSUFFICIENT_FUNDS_TO_PAY_FEES', - ORDER_ERROR_INTERNAL_ERROR = 'INTERNAL_ERROR', - ORDER_ERROR_INVALID_EXPIRATION_DATETIME = 'INVALID_EXPIRATION_DATETIME', - ORDER_ERROR_INVALID_MARKET_ID = 'INVALID_MARKET_ID', - ORDER_ERROR_INVALID_ORDER_ID = 'INVALID_ORDER_ID', - ORDER_ERROR_INVALID_ORDER_REFERENCE = 'INVALID_ORDER_REFERENCE', - ORDER_ERROR_INVALID_PARTY_ID = 'INVALID_PARTY_ID', - ORDER_ERROR_INVALID_PERSISTENCE = 'INVALID_PERSISTENCE', - ORDER_ERROR_INVALID_REMAINING_SIZE = 'INVALID_REMAINING_SIZE', - ORDER_ERROR_INVALID_SIZE = 'INVALID_SIZE', - ORDER_ERROR_INVALID_TIME_IN_FORCE = 'INVALID_TIME_IN_FORCE', - ORDER_ERROR_INVALID_TYPE = 'INVALID_TYPE', - ORDER_ERROR_MARGIN_CHECK_FAILED = 'MARGIN_CHECK_FAILED', - ORDER_ERROR_MARKET_CLOSED = 'MARKET_CLOSED', - ORDER_ERROR_MISSING_GENERAL_ACCOUNT = 'MISSING_GENERAL_ACCOUNT', - ORDER_ERROR_MUST_BE_GTT_OR_GTC = 'MUST_BE_GTT_OR_GTC', - ORDER_ERROR_MUST_BE_LIMIT_ORDER = 'MUST_BE_LIMIT_ORDER', - ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS = 'NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS', - ORDER_ERROR_NOT_FOUND = 'NOT_FOUND', - ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO = 'OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO', - ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO = 'OFFSET_MUST_BE_GREATER_THAN_ZERO', - ORDER_ERROR_OUT_OF_SEQUENCE = 'OUT_OF_SEQUENCE', - ORDER_ERROR_REMOVAL_FAILURE = 'REMOVAL_FAILURE', - ORDER_ERROR_SELF_TRADING = 'SELF_TRADING', - ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE = 'SELL_CANNOT_REFERENCE_BEST_BID_PRICE', - ORDER_ERROR_TIME_FAILURE = 'TIME_FAILURE', - ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER = 'UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER', - ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER = 'UNABLE_TO_REPRICE_PEGGED_ORDER', - ORDER_ERROR_WITHOUT_REFERENCE_PRICE = 'WITHOUT_REFERENCE_PRICE', + ORDER_ERROR_AMEND_FAILURE = 'Amend failure', + ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE = 'Buy cannot reference best ask price', + ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN = 'Cannot amend from GFA or GFN', + ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER = 'Cannot amend pegged order details on non pegged order', + ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC = 'Cannot amend to FOK or IOC', + ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN = 'Cannot amend to GFA or GFN', + ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT = 'Cannot amend to GTT without expiry time specified', + ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT = 'Cannot have GTC and expiry time specified', + ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION = 'Cannot send FOK order during auction', + ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION = 'Cannot send IOC order during auction', + ORDER_ERROR_EDIT_NOT_ALLOWED = 'Edit not allowed', + ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT = 'Expiry time before creation time', + ORDER_ERROR_GFA_ORDER_DURING_CONTINUOUS_TRADING = 'GFA order during continuous trading', + ORDER_ERROR_GFN_ORDER_DURING_AN_AUCTION = 'GFN order during an auction', + ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE = 'Insufficient asset balance', + ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES = 'Insufficient funds to pay fees', + ORDER_ERROR_INTERNAL_ERROR = 'Internal error', + ORDER_ERROR_INVALID_EXPIRATION_DATETIME = 'Invalid expiration date time', + ORDER_ERROR_INVALID_MARKET_ID = 'Invalid market ID', + ORDER_ERROR_INVALID_ORDER_ID = 'Invalid order ID', + ORDER_ERROR_INVALID_ORDER_REFERENCE = 'Invalid order reference', + ORDER_ERROR_INVALID_PARTY_ID = 'Invalid party ID', + ORDER_ERROR_INVALID_PERSISTENCE = 'Invalid persistence', + ORDER_ERROR_INVALID_REMAINING_SIZE = 'Invalid remaining size', + ORDER_ERROR_INVALID_SIZE = 'Invalid size', + ORDER_ERROR_INVALID_TIME_IN_FORCE = 'Invalid time in force', + ORDER_ERROR_INVALID_TYPE = 'Invalid type', + ORDER_ERROR_MARGIN_CHECK_FAILED = 'Margin check failed', + ORDER_ERROR_MARKET_CLOSED = 'Market closed', + ORDER_ERROR_MISSING_GENERAL_ACCOUNT = 'Missing general account', + ORDER_ERROR_MUST_BE_GTT_OR_GTC = 'Must be GTT or GTC', + ORDER_ERROR_MUST_BE_LIMIT_ORDER = 'Must be limit order', + ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS = 'Non persistent order out of price bounds', + ORDER_ERROR_NOT_FOUND = 'Not found', + ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO = 'Offset must be greater or equal to zero', + ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO = 'Offset must be greater than zero', + ORDER_ERROR_OUT_OF_SEQUENCE = 'Out of sequence', + ORDER_ERROR_REMOVAL_FAILURE = 'Removal failure', + ORDER_ERROR_SELF_TRADING = ' Self trading', + ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE = 'Sell cannot reference best bid price', + ORDER_ERROR_TIME_FAILURE = 'Time failure', + ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER = 'Unable to amend price on pegged order', + ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER = 'Unable to reprice pegged order', + ORDER_ERROR_WITHOUT_REFERENCE_PRICE = 'Without reference price', } /** @@ -167,8 +167,8 @@ export enum OrderTimeInForceMapping { TIME_IN_FORCE_FOK = 'Fill or Kill (FOK)', TIME_IN_FORCE_GFA = 'Good for Auction (GFA)', TIME_IN_FORCE_GFN = 'Good for Normal (GFN)', - TIME_IN_FORCE_GTC = `Good 'till Cancel (GTC)`, - TIME_IN_FORCE_GTT = `Good 'till Time (GTT)`, + TIME_IN_FORCE_GTC = `Good 'til Cancelled (GTC)`, + TIME_IN_FORCE_GTT = `Good 'til Time (GTT)`, TIME_IN_FORCE_IOC = 'Immediate or Cancel (IOC)', } @@ -182,44 +182,44 @@ export enum OrderTypeMapping { * Reason for the proposal being rejected by the core node */ export enum ProposalRejectionReasonMapping { - PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE = 'CLOSE_TIME_TOO_LATE', - PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON = 'CLOSE_TIME_TOO_SOON', - PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET = 'COULD_NOT_INSTANTIATE_MARKET', - PROPOSAL_ERROR_ENACT_TIME_TOO_LATE = 'ENACT_TIME_TOO_LATE', - PROPOSAL_ERROR_ENACT_TIME_TOO_SOON = 'ENACT_TIME_TOO_SOON', - PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS = 'INCOMPATIBLE_TIMESTAMPS', - PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE = 'INSUFFICIENT_EQUITY_LIKE_SHARE', - PROPOSAL_ERROR_INSUFFICIENT_TOKENS = 'INSUFFICIENT_TOKENS', - PROPOSAL_ERROR_INVALID_ASSET = 'INVALID_ASSET', - PROPOSAL_ERROR_INVALID_ASSET_DETAILS = 'INVALID_ASSET_DETAILS', - PROPOSAL_ERROR_INVALID_FEE_AMOUNT = 'INVALID_FEE_AMOUNT', - PROPOSAL_ERROR_INVALID_FREEFORM = 'INVALID_FREEFORM', - PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT = 'INVALID_FUTURE_PRODUCT', - PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY = 'INVALID_INSTRUMENT_SECURITY', - PROPOSAL_ERROR_INVALID_MARKET = 'INVALID_MARKET', - PROPOSAL_ERROR_INVALID_RISK_PARAMETER = 'INVALID_RISK_PARAMETER', - PROPOSAL_ERROR_INVALID_SHAPE = 'INVALID_SHAPE', - PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED = 'MAJORITY_THRESHOLD_NOT_REACHED', - PROPOSAL_ERROR_MARKET_MISSING_LIQUIDITY_COMMITMENT = 'MARKET_MISSING_LIQUIDITY_COMMITMENT', - PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD = 'MISSING_BUILTIN_ASSET_FIELD', - PROPOSAL_ERROR_MISSING_COMMITMENT_AMOUNT = 'MISSING_COMMITMENT_AMOUNT', - PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS = 'MISSING_ERC20_CONTRACT_ADDRESS', - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY = 'NETWORK_PARAMETER_INVALID_KEY', - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE = 'NETWORK_PARAMETER_INVALID_VALUE', - PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED = 'NETWORK_PARAMETER_VALIDATION_FAILED', - PROPOSAL_ERROR_NODE_VALIDATION_FAILED = 'NODE_VALIDATION_FAILED', - PROPOSAL_ERROR_NO_PRODUCT = 'NO_PRODUCT', - PROPOSAL_ERROR_NO_RISK_PARAMETERS = 'NO_RISK_PARAMETERS', - PROPOSAL_ERROR_NO_TRADING_MODE = 'NO_TRADING_MODE', - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE = 'OPENING_AUCTION_DURATION_TOO_LARGE', - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL = 'OPENING_AUCTION_DURATION_TOO_SMALL', - PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED = 'PARTICIPATION_THRESHOLD_NOT_REACHED', - PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES = 'TOO_MANY_MARKET_DECIMAL_PLACES', - PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS = 'TOO_MANY_PRICE_MONITORING_TRIGGERS', - PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE = 'UNKNOWN_RISK_PARAMETER_TYPE', - PROPOSAL_ERROR_UNKNOWN_TYPE = 'UNKNOWN_TYPE', - PROPOSAL_ERROR_UNSUPPORTED_PRODUCT = 'UNSUPPORTED_PRODUCT', - PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE = 'UNSUPPORTED_TRADING_MODE', + PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE = 'Close time too late', + PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON = 'Close time too soon', + PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET = 'Could not instantiate market', + PROPOSAL_ERROR_ENACT_TIME_TOO_LATE = 'Enact time too late', + PROPOSAL_ERROR_ENACT_TIME_TOO_SOON = 'Enact time too soon', + PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS = 'Incompatible timestamps', + PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE = 'Insufficient equity like share', + PROPOSAL_ERROR_INSUFFICIENT_TOKENS = 'Insufficient tokens', + PROPOSAL_ERROR_INVALID_ASSET = 'Invalid asset', + PROPOSAL_ERROR_INVALID_ASSET_DETAILS = 'Invalid asset details', + PROPOSAL_ERROR_INVALID_FEE_AMOUNT = 'Invalid fee amount', + PROPOSAL_ERROR_INVALID_FREEFORM = 'Invalid freeform', + PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT = 'Invalid future product', + PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY = 'Invalid instrument security', + PROPOSAL_ERROR_INVALID_MARKET = 'Invalid market', + PROPOSAL_ERROR_INVALID_RISK_PARAMETER = 'Invalid risk parameter', + PROPOSAL_ERROR_INVALID_SHAPE = 'Invalid shape', + PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED = 'Majority threshold not reached', + PROPOSAL_ERROR_MARKET_MISSING_LIQUIDITY_COMMITMENT = 'Market missing liquidity commitment', + PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD = 'Missing builtin asset field', + PROPOSAL_ERROR_MISSING_COMMITMENT_AMOUNT = 'Missing commitment amount', + PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS = 'Missing ERC20 contract address', + PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY = 'Network parameter invalid key', + PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE = 'Network parameter invalid value', + PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED = 'Network parameter validation failed', + PROPOSAL_ERROR_NODE_VALIDATION_FAILED = 'Node validation failed', + PROPOSAL_ERROR_NO_PRODUCT = 'No product', + PROPOSAL_ERROR_NO_RISK_PARAMETERS = 'No risk parameters', + PROPOSAL_ERROR_NO_TRADING_MODE = 'No trading mode', + PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE = 'Opening auction duration too large', + PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL = 'Opening auction duration too small', + PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED = 'Participation threshold not reached', + PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES = 'Too many market decimal places', + PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS = 'Too many price monitoring triggers', + PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE = 'Unknown risk parameter type', + PROPOSAL_ERROR_UNKNOWN_TYPE = 'Unknown type', + PROPOSAL_ERROR_UNSUPPORTED_PRODUCT = 'Unsupported product', + PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE = 'Unsupported trading mode', } /** @@ -257,9 +257,9 @@ export enum StakeLinkingStatusMapping { } export enum ValidatorStatusMapping { - VALIDATOR_NODE_STATUS_ERSATZ = 'ERSATZ', - VALIDATOR_NODE_STATUS_PENDING = 'PENDING', - VALIDATOR_NODE_STATUS_TENDERMINT = 'TENDERMINT', + VALIDATOR_NODE_STATUS_ERSATZ = 'Ersatz', + VALIDATOR_NODE_STATUS_PENDING = 'Pending', + VALIDATOR_NODE_STATUS_TENDERMINT = 'Tendermint', } export enum VoteValueMapping {