From e598cd1247c85ca4c203c7f7c6345e5c52a55deb Mon Sep 17 00:00:00 2001 From: Edd Date: Tue, 15 Nov 2022 12:31:25 +0000 Subject: [PATCH] chore: update explorer to use v2 queries (#2049) * fix: migrate queries to latest apis * fix: remove oracles section for now * fix: dive in to fields correctly * fix: update queries * fix: fragment for stats fields * fix: rename triple underscore generated * chore: refactor types that have moved * chore(explorer): disable e2e test that asserts json structure --- .../src/support/mocks/commons.ts | 6 +- .../src/support/mocks/generate-accounts.ts | 12 +- .../src/support/mocks/generate-deal-ticket.ts | 6 +- .../src/support/mocks/generate-markets.ts | 44 +- .../support/mocks/generate-party-balance.ts | 10 +- .../deal-ticket/deal-ticket-balance.spec.tsx | 4 +- .../deal-ticket/deal-ticket-balance.tsx | 4 +- .../positions/use-column-definitions.tsx | 4 +- .../simple-market-list/constants.ts | 23 +- .../simple-market-list.spec.tsx | 8 +- .../simple-market-list/simple-market-list.tsx | 5 +- .../simple-market-renderer.spec.tsx | 4 +- .../simple-market-toolbar.spec.tsx | 12 +- .../simple-market-toolbar.tsx | 13 +- .../use-markets-filter-data.ts | 4 +- apps/console-lite/src/app/constants/index.ts | 24 +- .../src/integration/validator.cy.js | 7 +- apps/explorer/.env.testnet | 4 +- .../components/txs/__generated__/TxsStats.ts | 35 -- .../txs/__generated__/explorer-stats.ts | 54 ++ .../app/components/txs/explorer-stats.graphql | 11 + .../src/app/components/txs/txs-stats-info.tsx | 41 +- .../assets/__generated__/AssetsQuery.ts | 103 ---- .../app/routes/assets/__generated__/assets.ts | 67 +++ .../src/app/routes/assets/assets.graphql | 27 + apps/explorer/src/app/routes/assets/index.tsx | 71 +-- .../__generated__/ProposalsQuery.ts | 306 ---------- .../governance/__generated__/proposals.ts | 122 ++++ .../src/app/routes/governance/index.tsx | 128 +---- .../app/routes/governance/proposals.graphql | 82 +++ .../markets/__generated__/MarketsQuery.ts | 533 ------------------ .../routes/markets/__generated__/markets.ts | 180 ++++++ .../explorer/src/app/routes/markets/index.tsx | 156 +---- .../src/app/routes/markets/markets.graphql | 140 +++++ .../oracles/__generated__/OracleSpecs.ts | 233 -------- .../explorer/src/app/routes/oracles/index.tsx | 126 ----- .../id/__generated__/PartyAssetsQuery.ts | 99 ---- .../parties/id/__generated__/party-assets.ts | 87 +++ .../src/app/routes/parties/id/index.tsx | 70 +-- .../routes/parties/id/party-assets.graphql | 44 ++ .../explorer/src/app/routes/router-config.tsx | 13 - .../validators/__generated__/NodesQuery.ts | 87 --- .../routes/validators/__generated__/nodes.ts | 67 +++ .../src/app/routes/validators/index.tsx | 31 +- .../src/app/routes/validators/nodes.graphql | 27 + .../dashboard/market-list/market-list.tsx | 6 +- .../app/components/detail/market/market.tsx | 6 +- .../app/components/health-bar/health-bar.tsx | 4 +- .../health-dialog/health-dialog.tsx | 8 +- .../app/components/indicator/indicator.tsx | 4 +- .../src/app/components/status/status.tsx | 16 +- .../src/app/lib/utils.tsx | 14 +- .../token/src/components/vega-wallet/hooks.ts | 6 +- .../src/integration/market-info.cy.ts | 12 +- .../src/integration/market-summary.cy.ts | 12 +- .../trading-e2e/src/integration/markets.cy.ts | 12 +- .../src/integration/trading-deal-ticket.cy.ts | 30 +- .../src/support/mocks/generate-accounts.ts | 14 +- .../mocks/generate-deal-ticket-query.ts | 6 +- .../mocks/generate-market-info-query.ts | 18 +- .../src/support/mocks/generate-market.ts | 14 +- .../src/support/mocks/generate-markets.ts | 38 +- apps/trading-e2e/src/support/trading.ts | 17 +- .../__generated__/WithdrawFormQuery.ts | 4 +- .../market-trading-mode.tsx | 8 +- .../select-market/select-market-columns.tsx | 8 +- .../select-market/select-market.spec.tsx | 10 +- .../src/lib/accounts-data-provider.spec.ts | 4 +- .../src/lib/accounts-data-provider.ts | 4 +- .../use-order-margin-validation.tsx | 4 +- .../use-order-validation.spec.tsx | 61 +- .../use-order-validation.tsx | 59 +- .../deal-ticket/market-selector.tsx | 4 +- .../compile-grid-data.tsx | 7 +- .../trading-mode-tooltip.tsx | 20 +- .../hooks/use-maximum-position-size.spec.ts | 4 +- .../src/hooks/use-maximum-position-size.ts | 4 +- .../src/hooks/use-settlement-account.spec.tsx | 16 +- .../src/hooks/use-settlement-account.ts | 4 +- libs/fills/src/lib/test-helpers.ts | 4 +- .../src/lib/liquidity-data-provider.ts | 4 +- libs/market-depth/src/lib/orderbook-data.ts | 6 +- libs/market-depth/src/lib/orderbook.tsx | 5 +- .../components/market-info/info-market.tsx | 3 +- .../markets-container/market-list-table.tsx | 5 +- .../src/lib/utils/market-utils.spec.tsx | 3 +- .../market-list/src/lib/utils/market-utils.ts | 3 +- .../lib/components/mocks/generate-orders.ts | 6 +- .../lib/order-hooks/use-order-submit.spec.tsx | 6 +- .../src/lib/positions-data-providers.spec.ts | 12 +- .../src/lib/positions-data-providers.ts | 7 +- .../src/lib/positions-table.spec.tsx | 7 +- .../src/lib/positions-table.stories.tsx | 10 +- libs/positions/src/lib/positions-table.tsx | 6 +- .../src/lib/grid/date-range-filter.tsx | 8 +- libs/types/apollo.config.js | 1 + libs/types/src/__generated__/globalTypes.ts | 72 --- libs/withdraws/src/lib/use-withdraw-asset.tsx | 4 +- 98 files changed, 1378 insertions(+), 2386 deletions(-) delete mode 100644 apps/explorer/src/app/components/txs/__generated__/TxsStats.ts create mode 100644 apps/explorer/src/app/components/txs/__generated__/explorer-stats.ts create mode 100644 apps/explorer/src/app/components/txs/explorer-stats.graphql delete mode 100644 apps/explorer/src/app/routes/assets/__generated__/AssetsQuery.ts create mode 100644 apps/explorer/src/app/routes/assets/__generated__/assets.ts create mode 100644 apps/explorer/src/app/routes/assets/assets.graphql delete mode 100644 apps/explorer/src/app/routes/governance/__generated__/ProposalsQuery.ts create mode 100644 apps/explorer/src/app/routes/governance/__generated__/proposals.ts create mode 100644 apps/explorer/src/app/routes/governance/proposals.graphql delete mode 100644 apps/explorer/src/app/routes/markets/__generated__/MarketsQuery.ts create mode 100644 apps/explorer/src/app/routes/markets/__generated__/markets.ts create mode 100644 apps/explorer/src/app/routes/markets/markets.graphql delete mode 100644 apps/explorer/src/app/routes/oracles/__generated__/OracleSpecs.ts delete mode 100644 apps/explorer/src/app/routes/oracles/index.tsx delete mode 100644 apps/explorer/src/app/routes/parties/id/__generated__/PartyAssetsQuery.ts create mode 100644 apps/explorer/src/app/routes/parties/id/__generated__/party-assets.ts create mode 100644 apps/explorer/src/app/routes/parties/id/party-assets.graphql delete mode 100644 apps/explorer/src/app/routes/validators/__generated__/NodesQuery.ts create mode 100644 apps/explorer/src/app/routes/validators/__generated__/nodes.ts create mode 100644 apps/explorer/src/app/routes/validators/nodes.graphql diff --git a/apps/console-lite-e2e/src/support/mocks/commons.ts b/apps/console-lite-e2e/src/support/mocks/commons.ts index 5d1c3a73b..bbb7ad5f7 100644 --- a/apps/console-lite-e2e/src/support/mocks/commons.ts +++ b/apps/console-lite-e2e/src/support/mocks/commons.ts @@ -1,5 +1,5 @@ import type { Market } from '@vegaprotocol/market-list'; -import { MarketState, MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { SingleMarketFieldsFragment } from '@vegaprotocol/market-list'; export const protoCandles = [ @@ -79,8 +79,8 @@ export const protoCandles = [ export const protoMarket: Market = { id: 'ca7768f6de84bf86a21bbb6b0109d9659c81917b0e0339b2c262566c9b581a15', - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, - state: MarketState.STATE_ACTIVE, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, + state: Schema.MarketState.STATE_ACTIVE, decimalPlaces: 5, positionDecimalPlaces: 0, marketTimestamps: { diff --git a/apps/console-lite-e2e/src/support/mocks/generate-accounts.ts b/apps/console-lite-e2e/src/support/mocks/generate-accounts.ts index fae664258..054ea4730 100644 --- a/apps/console-lite-e2e/src/support/mocks/generate-accounts.ts +++ b/apps/console-lite-e2e/src/support/mocks/generate-accounts.ts @@ -1,6 +1,6 @@ import merge from 'lodash/merge'; import type { AccountsQuery } from '@vegaprotocol/accounts'; -import { AccountType } from '@vegaprotocol/types'; +import { Schema as Types } from '@vegaprotocol/types'; import type { PartialDeep } from 'type-fest'; export const generateAccounts = ( @@ -13,7 +13,7 @@ export const generateAccounts = ( accounts: [ { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Types.AccountType.ACCOUNT_TYPE_GENERAL, balance: '100000000', market: null, asset: { @@ -23,7 +23,7 @@ export const generateAccounts = ( }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Types.AccountType.ACCOUNT_TYPE_GENERAL, balance: '100000000', market: { id: '0604e8c918655474525e1a95367902266ade70d318c2c908f0cca6e3d11dcb13', @@ -36,7 +36,7 @@ export const generateAccounts = ( }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_MARGIN, + type: Types.AccountType.ACCOUNT_TYPE_MARGIN, balance: '1000', market: { __typename: 'Market', @@ -49,7 +49,7 @@ export const generateAccounts = ( }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_MARGIN, + type: Types.AccountType.ACCOUNT_TYPE_MARGIN, balance: '1000', market: { __typename: 'Market', @@ -62,7 +62,7 @@ export const generateAccounts = ( }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Types.AccountType.ACCOUNT_TYPE_GENERAL, balance: '100000000', market: null, asset: { diff --git a/apps/console-lite-e2e/src/support/mocks/generate-deal-ticket.ts b/apps/console-lite-e2e/src/support/mocks/generate-deal-ticket.ts index 33e5e8b1f..10f0e3780 100644 --- a/apps/console-lite-e2e/src/support/mocks/generate-deal-ticket.ts +++ b/apps/console-lite-e2e/src/support/mocks/generate-deal-ticket.ts @@ -1,5 +1,5 @@ import type { DealTicketQuery } from '@vegaprotocol/deal-ticket'; -import { MarketTradingMode, MarketState } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import merge from 'lodash/merge'; import type { PartialDeep } from 'type-fest'; @@ -11,8 +11,8 @@ export const generateDealTicket = ( id: 'ca7768f6de84bf86a21bbb6b0109d9659c81917b0e0339b2c262566c9b581a15', decimalPlaces: 5, positionDecimalPlaces: 0, - state: MarketState.STATE_ACTIVE, - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + state: Schema.MarketState.STATE_ACTIVE, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, tradableInstrument: { instrument: { id: 'c9f5acd348796011c075077e4d58d9b7f1689b7c1c8e030a5e886b83aa96923d', diff --git a/apps/console-lite-e2e/src/support/mocks/generate-markets.ts b/apps/console-lite-e2e/src/support/mocks/generate-markets.ts index 5a57ba96a..317b8608e 100644 --- a/apps/console-lite-e2e/src/support/mocks/generate-markets.ts +++ b/apps/console-lite-e2e/src/support/mocks/generate-markets.ts @@ -1,9 +1,5 @@ import merge from 'lodash/merge'; -import { - AuctionTrigger, - MarketState, - MarketTradingMode, -} from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { MarketsQuery, Market, @@ -22,7 +18,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: '57fbaa322e97cfc8bb5f1de048c37e033c41b1ac1906d3aed9960912a067ef5a', - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { instrument: { id: '', @@ -56,7 +52,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: 'ccf2f04865e5951ac3405da6e16b7cbdb535a0ad32df4df2dbed4262cf473255', - state: MarketState.STATE_SUSPENDED, + state: Schema.MarketState.STATE_SUSPENDED, tradableInstrument: { instrument: { id: '', @@ -90,7 +86,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: '6030e5b4e0ca3297a26081e5af4d453f97f96baab2d74bf56f84efcffc4c382f', - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { instrument: { id: '', @@ -125,7 +121,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: 'de74a5572045b300e8ec50d136896912ec76e7d7ec135bc305dfd4854d9363a4', - state: MarketState.STATE_PENDING, + state: Schema.MarketState.STATE_PENDING, tradableInstrument: { instrument: { id: '', @@ -159,7 +155,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: '31ea96284611771e486c820acb26a325a99664f9854b5a7e7ad99023efa8f9e6', - state: MarketState.STATE_CLOSED, + state: Schema.MarketState.STATE_CLOSED, tradableInstrument: { instrument: { id: '', @@ -192,7 +188,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: '34cff959cdc2ffdb0f167820d701fe8b51cc6b8588e650d93369aaa22d6f8b74', - state: MarketState.STATE_SETTLED, + state: Schema.MarketState.STATE_SETTLED, tradableInstrument: { instrument: { id: '', @@ -227,7 +223,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: '87b0bbb3c171baa5d97dfc3852332829c91e5c5dc9f7c8fb584c6d8ac75aaaf2', - state: MarketState.STATE_SETTLED, + state: Schema.MarketState.STATE_SETTLED, tradableInstrument: { instrument: { id: '', @@ -261,7 +257,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: '45266143c6e9b58f4cff9b8906e971c531bb29ea7af01066973f9b77e8134823', - state: MarketState.STATE_PENDING, + state: Schema.MarketState.STATE_PENDING, tradableInstrument: { instrument: { id: '', @@ -296,7 +292,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: '65663ebdc96161162769c4d5c5508137416748178d7cb28e2cb0d07a151a2bc6', - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { instrument: { id: '', @@ -331,7 +327,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: '234afabd27e3bce1a879039c041f9f00f915d98459935ddafd0169d38dd13850', - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { instrument: { id: '', @@ -367,7 +363,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: '9f2a3c1caa67bb0773ec18d908d32b55b129b9ec2d106a8e9a87f6aa5c0375a6', - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { instrument: { id: '', @@ -403,7 +399,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: '8a45ee934d3ddac4b036f9884df1064a5353c620a56f775ba36597d0edef9a7a', - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { instrument: { id: '', @@ -437,7 +433,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: 'aede7b9ac0c3b225004929c5455160a00f59864aad32ec366e8a2bff1b30fd0f', - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { instrument: { id: '', @@ -472,7 +468,7 @@ export const generateSimpleMarkets = (): MarketsQuery => { { ...protoMarket, id: '9398707e01daa1a1f1ca6ff87cf8d6c03fe7373ce31121ce81b99a129e6bda47', - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { instrument: { id: '', @@ -1153,7 +1149,7 @@ export const generateMarketsData = ( id: 'c9f5acd348796011c075077e4d58d9b7f1689b7c1c8e030a5e886b83aa96923d', __typename: 'Market', }, - marketTradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + marketTradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, staticMidPrice: '0', indicativePrice: '0', bestStaticBidPrice: '0', @@ -1162,7 +1158,7 @@ export const generateMarketsData = ( bestBidPrice: '0', bestOfferPrice: '0', markPrice: '17588787', - trigger: AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED, + trigger: Schema.AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED, __typename: 'MarketData', }, __typename: 'Market', @@ -1173,7 +1169,7 @@ export const generateMarketsData = ( id: '5a4b0b9e9c0629f0315ec56fcb7bd444b0c6e4da5ec7677719d502626658a376', __typename: 'Market', }, - marketTradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + marketTradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, staticMidPrice: '0', indicativePrice: '0', bestStaticBidPrice: '0', @@ -1182,7 +1178,7 @@ export const generateMarketsData = ( bestBidPrice: '0', bestOfferPrice: '0', markPrice: '84377569', - trigger: AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED, + trigger: Schema.AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED, __typename: 'MarketData', }, __typename: 'Market', @@ -1215,7 +1211,7 @@ export const generatePositionsMarkets = () => { decimalPlaces: 5, positionDecimalPlaces: 0, state: 'STATE_ACTIVE', - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, fees: { factors: { makerFee: '0.0002', diff --git a/apps/console-lite-e2e/src/support/mocks/generate-party-balance.ts b/apps/console-lite-e2e/src/support/mocks/generate-party-balance.ts index a9dec83f1..7bce29384 100644 --- a/apps/console-lite-e2e/src/support/mocks/generate-party-balance.ts +++ b/apps/console-lite-e2e/src/support/mocks/generate-party-balance.ts @@ -1,7 +1,7 @@ import merge from 'lodash/merge'; import type { PartyBalanceQuery } from '@vegaprotocol/deal-ticket'; import type { PartialDeep } from 'type-fest'; -import { AccountType } from '@vegaprotocol/types'; +import { Schema as Types } from '@vegaprotocol/types'; export const generatePartyBalance = ( override?: PartialDeep @@ -11,7 +11,7 @@ export const generatePartyBalance = ( accounts: [ { balance: '88474051', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Types.AccountType.ACCOUNT_TYPE_GENERAL, asset: { id: '6d9d35f657589e40ddfb448b7ad4a7463b66efb307527fedd2aa7df1bbd5ea61', symbol: 'tDAI', @@ -23,7 +23,7 @@ export const generatePartyBalance = ( }, { balance: '100000000', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Types.AccountType.ACCOUNT_TYPE_GENERAL, asset: { id: '8b52d4a3a4b0ffe733cddbc2b67be273816cfeb6ca4c8b339bac03ffba08e4e4', symbol: 'tEURO', @@ -35,7 +35,7 @@ export const generatePartyBalance = ( }, { balance: '3412867', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Types.AccountType.ACCOUNT_TYPE_GENERAL, asset: { id: '6d9d35f657589e40ddfb448b7ad4a7463b66efb307527fedd2aa7df1bbd5ea61', symbol: 'tDAI', @@ -47,7 +47,7 @@ export const generatePartyBalance = ( }, { balance: '70007', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Types.AccountType.ACCOUNT_TYPE_GENERAL, asset: { id: '6d9d35f657589e40ddfb448b7ad4a7463b66efb307527fedd2aa7df1bbd5ea61', symbol: 'tDAI', diff --git a/apps/console-lite/src/app/components/deal-ticket/deal-ticket-balance.spec.tsx b/apps/console-lite/src/app/components/deal-ticket/deal-ticket-balance.spec.tsx index 5bf94fcb5..075b2d25f 100644 --- a/apps/console-lite/src/app/components/deal-ticket/deal-ticket-balance.spec.tsx +++ b/apps/console-lite/src/app/components/deal-ticket/deal-ticket-balance.spec.tsx @@ -5,7 +5,7 @@ import type { DealTicketMarketFragment, } from '@vegaprotocol/deal-ticket'; import { DealTicketBalance } from './deal-ticket-balance'; -import { AccountType } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; const tDAI: DealTicketMarketFragment['tradableInstrument']['instrument']['product']['settlementAsset'] = { @@ -19,7 +19,7 @@ const tDAI: DealTicketMarketFragment['tradableInstrument']['instrument']['produc const accounts: AccountFragment[] = [ { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Schema.AccountType.ACCOUNT_TYPE_GENERAL, balance: '1000000', asset: tDAI, }, diff --git a/apps/console-lite/src/app/components/deal-ticket/deal-ticket-balance.tsx b/apps/console-lite/src/app/components/deal-ticket/deal-ticket-balance.tsx index f29f97dd1..33b1fbaec 100644 --- a/apps/console-lite/src/app/components/deal-ticket/deal-ticket-balance.tsx +++ b/apps/console-lite/src/app/components/deal-ticket/deal-ticket-balance.tsx @@ -1,6 +1,6 @@ import classNames from 'classnames'; import { addDecimalsFormatNumber, t } from '@vegaprotocol/react-helpers'; -import { AccountType } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { AccountFragment, DealTicketMarketFragment, @@ -25,7 +25,7 @@ export const DealTicketBalance = ({ const settlementAccount = useSettlementAccount( settlementAssetId, accounts, - AccountType.ACCOUNT_TYPE_GENERAL + Schema.AccountType.ACCOUNT_TYPE_GENERAL ); const formattedNumber = settlementAccount?.balance && diff --git a/apps/console-lite/src/app/components/portfolio/positions/use-column-definitions.tsx b/apps/console-lite/src/app/components/portfolio/positions/use-column-definitions.tsx index 30b8a60ff..9d232b970 100644 --- a/apps/console-lite/src/app/components/portfolio/positions/use-column-definitions.tsx +++ b/apps/console-lite/src/app/components/portfolio/positions/use-column-definitions.tsx @@ -16,7 +16,7 @@ import type { GroupCellRendererParams, ColDef, } from 'ag-grid-community'; -import { MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { VegaValueFormatterParams } from '@vegaprotocol/ui-toolkit'; import { Intent, ProgressBarCell } from '@vegaprotocol/ui-toolkit'; @@ -109,7 +109,7 @@ const useColumnDefinitions = () => { value && node?.rowPinned && data.marketTradingMode === - MarketTradingMode.TRADING_MODE_OPENING_AUCTION + Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION ) { return addDecimalsFormatNumber( value.toString(), diff --git a/apps/console-lite/src/app/components/simple-market-list/constants.ts b/apps/console-lite/src/app/components/simple-market-list/constants.ts index 66579a8ec..93f5fc6da 100644 --- a/apps/console-lite/src/app/components/simple-market-list/constants.ts +++ b/apps/console-lite/src/app/components/simple-market-list/constants.ts @@ -1,21 +1,24 @@ import { t } from '@vegaprotocol/react-helpers'; import { themelite as theme } from '@vegaprotocol/tailwindcss-config'; -import { MarketState } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import colors from 'tailwindcss/colors'; import type { Market } from '@vegaprotocol/market-list'; import { IS_MARKET_TRADABLE } from '../../constants'; export const STATES_FILTER = [ { value: 'all', text: t('All') }, - { value: MarketState.STATE_ACTIVE, text: t('Active') }, - { value: MarketState.STATE_CANCELLED, text: t('Cancelled') }, - { value: MarketState.STATE_CLOSED, text: t('Closed') }, - { value: MarketState.STATE_PENDING, text: t('Pending') }, - { value: MarketState.STATE_PROPOSED, text: t('Proposed') }, - { value: MarketState.STATE_REJECTED, text: t('Rejected') }, - { value: MarketState.STATE_SETTLED, text: t('Settled') }, - { value: MarketState.STATE_SUSPENDED, text: t('Suspended') }, - { value: MarketState.STATE_TRADING_TERMINATED, text: t('TradingTerminated') }, + { value: Schema.MarketState.STATE_ACTIVE, text: t('Active') }, + { value: Schema.MarketState.STATE_CANCELLED, text: t('Cancelled') }, + { value: Schema.MarketState.STATE_CLOSED, text: t('Closed') }, + { value: Schema.MarketState.STATE_PENDING, text: t('Pending') }, + { value: Schema.MarketState.STATE_PROPOSED, text: t('Proposed') }, + { value: Schema.MarketState.STATE_REJECTED, text: t('Rejected') }, + { value: Schema.MarketState.STATE_SETTLED, text: t('Settled') }, + { value: Schema.MarketState.STATE_SUSPENDED, text: t('Suspended') }, + { + value: Schema.MarketState.STATE_TRADING_TERMINATED, + text: t('TradingTerminated'), + }, ]; export const agGridLightVariables = ` diff --git a/apps/console-lite/src/app/components/simple-market-list/simple-market-list.spec.tsx b/apps/console-lite/src/app/components/simple-market-list/simple-market-list.spec.tsx index 2eb512efa..f5078686d 100644 --- a/apps/console-lite/src/app/components/simple-market-list/simple-market-list.spec.tsx +++ b/apps/console-lite/src/app/components/simple-market-list/simple-market-list.spec.tsx @@ -9,7 +9,7 @@ import { } from '@testing-library/react'; import { MockedProvider } from '@apollo/client/testing'; import { BrowserRouter } from 'react-router-dom'; -import { MarketState } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { Market } from '@vegaprotocol/market-list'; import SimpleMarketList from './simple-market-list'; @@ -26,7 +26,7 @@ jest.mock('./simple-market-percent-change', () => jest.fn()); let marketsMock = [ { id: 'MARKET_A', - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { instrument: { product: { @@ -42,7 +42,7 @@ let marketsMock = [ }, { id: 'MARKET_B', - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { instrument: { product: { @@ -121,7 +121,7 @@ describe('SimpleMarketList', () => { expect(mockIsTradable).toHaveBeenCalledWith( expect.objectContaining({ id: marketsMock[0].id, - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, }) ); expect(mockedNavigate).toHaveBeenCalledWith( diff --git a/apps/console-lite/src/app/components/simple-market-list/simple-market-list.tsx b/apps/console-lite/src/app/components/simple-market-list/simple-market-list.tsx index 46f88c58a..bdd072cc4 100644 --- a/apps/console-lite/src/app/components/simple-market-list/simple-market-list.tsx +++ b/apps/console-lite/src/app/components/simple-market-list/simple-market-list.tsx @@ -7,7 +7,6 @@ import { useYesterday, } from '@vegaprotocol/react-helpers'; import { AsyncRenderer } from '@vegaprotocol/ui-toolkit'; -import type { MarketState } from '@vegaprotocol/types'; import useMarketsFilterData from './use-markets-filter-data'; import useColumnDefinitions from './use-column-definitions'; import SimpleMarketToolbar from './simple-market-toolbar'; @@ -31,7 +30,7 @@ const SimpleMarketList = () => { const { isMobile } = useScreenDimensions(); const navigate = useNavigate(); const params = useParams(); - const statusesRef = useRef>({}); + const statusesRef = useRef>({}); const gridRef = useRef(null); const yesterday = useYesterday(); @@ -53,7 +52,7 @@ const SimpleMarketList = () => { }, [gridRef]); useEffect(() => { - const statuses: Record = {}; + const statuses: Record = {}; data?.forEach((market) => { statuses[market.id] = market.state || ''; }); diff --git a/apps/console-lite/src/app/components/simple-market-list/simple-market-renderer.spec.tsx b/apps/console-lite/src/app/components/simple-market-list/simple-market-renderer.spec.tsx index 0316fae6c..1e1b4ab7a 100644 --- a/apps/console-lite/src/app/components/simple-market-list/simple-market-renderer.spec.tsx +++ b/apps/console-lite/src/app/components/simple-market-list/simple-market-renderer.spec.tsx @@ -1,13 +1,13 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import { MarketState } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import MarketNameRenderer from './simple-market-renderer'; import type { Market } from '@vegaprotocol/market-list'; describe('SimpleMarketRenderer', () => { const market = { id: 'MARKET_A', - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { instrument: { code: 'MARKET_A_CODE', diff --git a/apps/console-lite/src/app/components/simple-market-list/simple-market-toolbar.spec.tsx b/apps/console-lite/src/app/components/simple-market-list/simple-market-toolbar.spec.tsx index 2089918be..40f9846f6 100644 --- a/apps/console-lite/src/app/components/simple-market-list/simple-market-toolbar.spec.tsx +++ b/apps/console-lite/src/app/components/simple-market-list/simple-market-toolbar.spec.tsx @@ -14,7 +14,7 @@ import { getAllByText, } from '@testing-library/react'; import { MockedProvider } from '@apollo/react-testing'; -import { MarketState } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { Market } from '@vegaprotocol/market-list'; import SimpleMarketToolbar from './simple-market-toolbar'; import { markets as filterData } from './mocks/market-filters.json'; @@ -113,7 +113,7 @@ describe('SimpleMarketToolbar', () => { await waitFor(() => { expect(screen.getByTestId('location-display')).toHaveTextContent( - `/markets/${MarketState.STATE_ACTIVE}/Future` + `/markets/${Schema.MarketState.STATE_ACTIVE}/Future` ); }); @@ -124,7 +124,7 @@ describe('SimpleMarketToolbar', () => { ); await waitFor(() => { expect(screen.getByTestId('location-display')).toHaveTextContent( - `/markets/${MarketState.STATE_ACTIVE}/Future/tEURO` + `/markets/${Schema.MarketState.STATE_ACTIVE}/Future/tEURO` ); }); @@ -139,7 +139,7 @@ describe('SimpleMarketToolbar', () => { }); await waitFor(() => { expect(mockedNavigate).toHaveBeenCalledWith( - `/markets/${MarketState.STATE_PENDING}/Future/tEURO` + `/markets/${Schema.MarketState.STATE_PENDING}/Future/tEURO` ); }); }); @@ -165,7 +165,7 @@ describe('SimpleMarketToolbar', () => { fireEvent.click(suspended); expect(mockedNavigate).toHaveBeenCalledWith( - `/markets/${MarketState.STATE_SUSPENDED}/product1/asset1` + `/markets/${Schema.MarketState.STATE_SUSPENDED}/product1/asset1` ); }); @@ -186,7 +186,7 @@ describe('SimpleMarketToolbar', () => { fireEvent.click(closed); expect(mockedNavigate).toHaveBeenCalledWith( - `/markets/${MarketState.STATE_CLOSED}` + `/markets/${Schema.MarketState.STATE_CLOSED}` ); }); diff --git a/apps/console-lite/src/app/components/simple-market-list/simple-market-toolbar.tsx b/apps/console-lite/src/app/components/simple-market-list/simple-market-toolbar.tsx index d7659c1c2..285ee46a6 100644 --- a/apps/console-lite/src/app/components/simple-market-list/simple-market-toolbar.tsx +++ b/apps/console-lite/src/app/components/simple-market-list/simple-market-toolbar.tsx @@ -13,7 +13,7 @@ import { DropdownMenuItemIndicator, Icon, } from '@vegaprotocol/ui-toolkit'; -import { MarketState } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { Market } from '@vegaprotocol/market-list'; import { HorizontalMenu } from '../horizontal-menu'; import type { HorizontalMenuItem } from '../horizontal-menu'; @@ -36,7 +36,7 @@ const SimpleMarketToolbar = ({ data }: Props) => { params.asset && params.asset !== 'all' ? `/${params.asset}` : ''; const product = params.product ? `/${params.product}` : ''; const state = - activeState !== MarketState.STATE_ACTIVE || product + activeState !== Schema.MarketState.STATE_ACTIVE || product ? `/${activeState}` : ''; navigate(`/markets${state}${product}${asset}`); @@ -45,8 +45,8 @@ const SimpleMarketToolbar = ({ data }: Props) => { ); const productItems = useMemo(() => { - const currentState = params.state || MarketState.STATE_ACTIVE; - const noStateSkip = currentState !== MarketState.STATE_ACTIVE; + const currentState = params.state || Schema.MarketState.STATE_ACTIVE; + const noStateSkip = currentState !== Schema.MarketState.STATE_ACTIVE; const items: HorizontalMenuItem[] = [ { ...constants.ALL_PRODUCTS_ITEM, @@ -83,7 +83,8 @@ const SimpleMarketToolbar = ({ data }: Props) => { {constants.STATES_FILTER.find( (state) => state.value === params.state || - (!params.state && state.value === MarketState.STATE_ACTIVE) + (!params.state && + state.value === Schema.MarketState.STATE_ACTIVE) )?.text || params.state} { key={value} checked={ value === params.state || - (!params.state && value === MarketState.STATE_ACTIVE) + (!params.state && value === Schema.MarketState.STATE_ACTIVE) } onCheckedChange={() => onStateChange(value)} > diff --git a/apps/console-lite/src/app/components/simple-market-list/use-markets-filter-data.ts b/apps/console-lite/src/app/components/simple-market-list/use-markets-filter-data.ts index 146f20908..2df1ae96f 100644 --- a/apps/console-lite/src/app/components/simple-market-list/use-markets-filter-data.ts +++ b/apps/console-lite/src/app/components/simple-market-list/use-markets-filter-data.ts @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import { MarketState } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { MarketWithCandles } from '@vegaprotocol/market-list'; import type { RouterParams } from './simple-market-list'; @@ -30,7 +30,7 @@ const useMarketsFilterData = ( ? '' : params.state ? params.state - : MarketState.STATE_ACTIVE; + : Schema.MarketState.STATE_ACTIVE; if (state && state !== item.state) { return false; } diff --git a/apps/console-lite/src/app/constants/index.ts b/apps/console-lite/src/app/constants/index.ts index 8c8a1cd1b..219dad735 100644 --- a/apps/console-lite/src/app/constants/index.ts +++ b/apps/console-lite/src/app/constants/index.ts @@ -1,26 +1,26 @@ -import { MarketState } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import { t } from '@vegaprotocol/react-helpers'; import type { Market } from '@vegaprotocol/market-list'; export const DATE_FORMAT = 'dd MMMM yyyy HH:mm'; export const TRADABLE_STATES = { - [MarketState.STATE_ACTIVE]: true, + [Schema.MarketState.STATE_ACTIVE]: true, }; export const IS_MARKET_TRADABLE = (market: Market) => Boolean((market.state ?? '') in TRADABLE_STATES && market?.id); -export const MARKET_STATES_MAP: Record = { - [MarketState.STATE_ACTIVE]: t('Active'), - [MarketState.STATE_CANCELLED]: t('Cancelled'), - [MarketState.STATE_CLOSED]: t('Closed'), - [MarketState.STATE_PENDING]: t('Pending'), - [MarketState.STATE_PROPOSED]: t('Proposed'), - [MarketState.STATE_REJECTED]: t('Rejected'), - [MarketState.STATE_SETTLED]: t('Settled'), - [MarketState.STATE_SUSPENDED]: t('Suspended'), - [MarketState.STATE_TRADING_TERMINATED]: t('TradingTerminated'), +export const MARKET_STATES_MAP: Record = { + [Schema.MarketState.STATE_ACTIVE]: t('Active'), + [Schema.MarketState.STATE_CANCELLED]: t('Cancelled'), + [Schema.MarketState.STATE_CLOSED]: t('Closed'), + [Schema.MarketState.STATE_PENDING]: t('Pending'), + [Schema.MarketState.STATE_PROPOSED]: t('Proposed'), + [Schema.MarketState.STATE_REJECTED]: t('Rejected'), + [Schema.MarketState.STATE_SETTLED]: t('Settled'), + [Schema.MarketState.STATE_SUSPENDED]: t('Suspended'), + [Schema.MarketState.STATE_TRADING_TERMINATED]: t('TradingTerminated'), '': t('Unknown'), }; diff --git a/apps/explorer-e2e/src/integration/validator.cy.js b/apps/explorer-e2e/src/integration/validator.cy.js index f4f4ca3ac..1cd396fa2 100644 --- a/apps/explorer-e2e/src/integration/validator.cy.js +++ b/apps/explorer-e2e/src/integration/validator.cy.js @@ -87,7 +87,10 @@ context('Validator page', { tags: '@smoke' }, function () { }); }); - it('should be able to see relevant node information in vega data section', function () { + // Test disabled 2022/11/15 during the 0.62.1 upgrade. The JSON structure changed, and + // this test failed. Rather than fix it, it will be replaced when the validator view displays + // something useful rather than just dumping out the JSON. + xit('should be able to see relevant node information in vega data section', function () { cy.get(vegaDataHeader) .contains('Vega data') .next() @@ -97,7 +100,7 @@ context('Validator page', { tags: '@smoke' }, function () { .convert_string_json_to_js_object() .then((nodesInJson) => { this.nodes.forEach((node, index) => { - const nodeInJson = nodesInJson.nodes[index]; + const nodeInJson = nodesInJson.edges[index].node; // Vegacapsule shows no info or null for following fields: // name, infoURL, avatarUrl, location, epoch data diff --git a/apps/explorer/.env.testnet b/apps/explorer/.env.testnet index b080a61be..12236dbe5 100644 --- a/apps/explorer/.env.testnet +++ b/apps/explorer/.env.testnet @@ -1,8 +1,8 @@ # App configuration variables NX_CHAIN_EXPLORER_URL=https://explorer.vega.trading/.netlify/functions/chain-explorer-api -NX_TENDERMINT_URL=https://tm.n07.testnet.vega.xyz +NX_TENDERMINT_URL=https://be.testnet.vega.xyz NX_BLOCK_EXPLORER=https://be.testnet.vega.xyz/rest -NX_TENDERMINT_WEBSOCKET_URL=wss://tm.n07.testnet.vega.xyz/websocket +NX_TENDERMINT_WEBSOCKET_URL=wss://be.testnet.vega.xyz/ NX_VEGA_CONFIG_URL=https://static.vega.xyz/assets/testnet-network.json NX_VEGA_NETWORKS={\"MAINNET"\:\"https://explorer.vega.xyz"\,\"TESTNET\":\"https://explorer.fairground.wtf\"} NX_VEGA_ENV=TESTNET diff --git a/apps/explorer/src/app/components/txs/__generated__/TxsStats.ts b/apps/explorer/src/app/components/txs/__generated__/TxsStats.ts deleted file mode 100644 index 49acdb638..000000000 --- a/apps/explorer/src/app/components/txs/__generated__/TxsStats.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// @generated -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: TxsStats -// ==================================================== - -export interface TxsStats_statistics { - __typename: "Statistics"; - /** - * Average number of orders added per blocks - */ - averageOrdersPerBlock: string; - /** - * Number of orders per seconds - */ - ordersPerSecond: string; - /** - * Number of transaction processed per block - */ - txPerBlock: string; - /** - * Number of the trades per seconds - */ - tradesPerSecond: string; -} - -export interface TxsStats { - /** - * Get statistics about the Vega node - */ - statistics: TxsStats_statistics; -} diff --git a/apps/explorer/src/app/components/txs/__generated__/explorer-stats.ts b/apps/explorer/src/app/components/txs/__generated__/explorer-stats.ts new file mode 100644 index 000000000..76f783f38 --- /dev/null +++ b/apps/explorer/src/app/components/txs/__generated__/explorer-stats.ts @@ -0,0 +1,54 @@ +import { Schema as Types } from '@vegaprotocol/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type ExplorerStatsFieldsFragment = { __typename?: 'Statistics', averageOrdersPerBlock: string, ordersPerSecond: string, txPerBlock: string, tradesPerSecond: string }; + +export type ExplorerStatsQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type ExplorerStatsQuery = { __typename?: 'Query', statistics: { __typename?: 'Statistics', averageOrdersPerBlock: string, ordersPerSecond: string, txPerBlock: string, tradesPerSecond: string } }; + +export const ExplorerStatsFieldsFragmentDoc = gql` + fragment ExplorerStatsFields on Statistics { + averageOrdersPerBlock + ordersPerSecond + txPerBlock + tradesPerSecond +} + `; +export const ExplorerStatsDocument = gql` + query ExplorerStats { + statistics { + ...ExplorerStatsFields + } +} + ${ExplorerStatsFieldsFragmentDoc}`; + +/** + * __useExplorerStatsQuery__ + * + * To run a query within a React component, call `useExplorerStatsQuery` and pass it any options that fit your needs. + * When your component renders, `useExplorerStatsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useExplorerStatsQuery({ + * variables: { + * }, + * }); + */ +export function useExplorerStatsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ExplorerStatsDocument, options); + } +export function useExplorerStatsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ExplorerStatsDocument, options); + } +export type ExplorerStatsQueryHookResult = ReturnType; +export type ExplorerStatsLazyQueryHookResult = ReturnType; +export type ExplorerStatsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/src/app/components/txs/explorer-stats.graphql b/apps/explorer/src/app/components/txs/explorer-stats.graphql new file mode 100644 index 000000000..a5c68ac11 --- /dev/null +++ b/apps/explorer/src/app/components/txs/explorer-stats.graphql @@ -0,0 +1,11 @@ +fragment ExplorerStatsFields on Statistics { + averageOrdersPerBlock + ordersPerSecond + txPerBlock + tradesPerSecond +} +query ExplorerStats { + statistics { + ...ExplorerStatsFields + } +} diff --git a/apps/explorer/src/app/components/txs/txs-stats-info.tsx b/apps/explorer/src/app/components/txs/txs-stats-info.tsx index cc3054f5b..9107f4d93 100644 --- a/apps/explorer/src/app/components/txs/txs-stats-info.tsx +++ b/apps/explorer/src/app/components/txs/txs-stats-info.tsx @@ -1,23 +1,12 @@ -import { gql, useQuery } from '@apollo/client'; import { t } from '@vegaprotocol/react-helpers'; import { useEffect } from 'react'; import { InfoBlock } from '../../components/info-block'; import { Panel } from '../../components/panel'; -import type { TxsStats, TxsStats_statistics } from './__generated__/TxsStats'; - -const STATS_QUERY = gql` - query TxsStats { - statistics { - averageOrdersPerBlock - ordersPerSecond - txPerBlock - tradesPerSecond - } - } -`; +import { useExplorerStatsQuery } from './__generated__/explorer-stats'; +import type { ExplorerStatsFieldsFragment } from './__generated__/explorer-stats'; interface StatsMap { - field: keyof TxsStats_statistics; + field: keyof ExplorerStatsFieldsFragment; label: string; info: string; } @@ -54,7 +43,7 @@ interface TxsStatsInfoProps { } export const TxsStatsInfo = ({ className }: TxsStatsInfoProps) => { - const { data, startPolling, stopPolling } = useQuery(STATS_QUERY); + const { data, startPolling, stopPolling } = useExplorerStatsQuery(); useEffect(() => { startPolling(1000); @@ -67,13 +56,21 @@ export const TxsStatsInfo = ({ className }: TxsStatsInfoProps) => { return (
- {TXS_STATS_MAP.map((field) => ( - - ))} + {TXS_STATS_MAP.map((field) => { + if (!data?.statistics) { + return null; + } + + // Workaround for awkward typing + const title = data.statistics[field.field] || ''; + return ( + + ); + })}
); diff --git a/apps/explorer/src/app/routes/assets/__generated__/AssetsQuery.ts b/apps/explorer/src/app/routes/assets/__generated__/AssetsQuery.ts deleted file mode 100644 index bbb6053b8..000000000 --- a/apps/explorer/src/app/routes/assets/__generated__/AssetsQuery.ts +++ /dev/null @@ -1,103 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// @generated -// This file was automatically generated and should not be edited. - -import { AccountType } from "@vegaprotocol/types"; - -// ==================================================== -// GraphQL query operation: AssetsQuery -// ==================================================== - -export interface AssetsQuery_assetsConnection_edges_node_source_ERC20 { - __typename: "ERC20"; - /** - * The address of the ERC20 contract - */ - contractAddress: string; -} - -export interface AssetsQuery_assetsConnection_edges_node_source_BuiltinAsset { - __typename: "BuiltinAsset"; - /** - * Maximum amount that can be requested by a party through the built-in asset faucet at a time - */ - maxFaucetAmountMint: string; -} - -export type AssetsQuery_assetsConnection_edges_node_source = AssetsQuery_assetsConnection_edges_node_source_ERC20 | AssetsQuery_assetsConnection_edges_node_source_BuiltinAsset; - -export interface AssetsQuery_assetsConnection_edges_node_infrastructureFeeAccount_market { - __typename: "Market"; - /** - * Market ID - */ - id: string; -} - -export interface AssetsQuery_assetsConnection_edges_node_infrastructureFeeAccount { - __typename: "AccountBalance"; - /** - * Account type (General, Margin, etc) - */ - type: AccountType; - /** - * Balance as string - current account balance (approx. as balances can be updated several times per second) - */ - balance: string; - /** - * Market (only relevant to margin accounts) - */ - market: AssetsQuery_assetsConnection_edges_node_infrastructureFeeAccount_market | null; -} - -export interface AssetsQuery_assetsConnection_edges_node { - __typename: "Asset"; - /** - * The ID of the asset - */ - id: string; - /** - * The full name of the asset (e.g: Great British Pound) - */ - name: string; - /** - * The symbol of the asset (e.g: GBP) - */ - symbol: string; - /** - * The precision of the asset. Should match the decimal precision of the asset on its native chain, e.g: for ERC20 assets, it is often 18 - */ - decimals: number; - /** - * The origin source of the asset (e.g: an ERC20 asset) - */ - source: AssetsQuery_assetsConnection_edges_node_source; - /** - * The infrastructure fee account for this asset - */ - infrastructureFeeAccount: AssetsQuery_assetsConnection_edges_node_infrastructureFeeAccount | null; -} - -export interface AssetsQuery_assetsConnection_edges { - __typename: "AssetEdge"; - /** - * The asset information - */ - node: AssetsQuery_assetsConnection_edges_node; -} - -export interface AssetsQuery_assetsConnection { - __typename: "AssetsConnection"; - /** - * The assets - */ - edges: (AssetsQuery_assetsConnection_edges | null)[] | null; -} - -export interface AssetsQuery { - /** - * The list of all assets in use in the Vega network or the specified asset if ID is provided - */ - assetsConnection: AssetsQuery_assetsConnection | null; -} diff --git a/apps/explorer/src/app/routes/assets/__generated__/assets.ts b/apps/explorer/src/app/routes/assets/__generated__/assets.ts new file mode 100644 index 000000000..212d023e5 --- /dev/null +++ b/apps/explorer/src/app/routes/assets/__generated__/assets.ts @@ -0,0 +1,67 @@ +import { Schema as Types } from '@vegaprotocol/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type ExplorerAssetsQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type ExplorerAssetsQuery = { __typename?: 'Query', assetsConnection?: { __typename?: 'AssetsConnection', edges?: Array<{ __typename?: 'AssetEdge', node: { __typename?: 'Asset', id: string, name: string, symbol: string, decimals: number, source: { __typename?: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename?: 'ERC20', contractAddress: string }, infrastructureFeeAccount?: { __typename?: 'AccountBalance', type: Types.AccountType, balance: string, market?: { __typename?: 'Market', id: string } | null } | null } } | null> | null } | null }; + + +export const ExplorerAssetsDocument = gql` + query ExplorerAssets { + assetsConnection { + edges { + node { + id + name + symbol + decimals + source { + ... on ERC20 { + contractAddress + } + ... on BuiltinAsset { + maxFaucetAmountMint + } + } + infrastructureFeeAccount { + type + balance + market { + id + } + } + } + } + } +} + `; + +/** + * __useExplorerAssetsQuery__ + * + * To run a query within a React component, call `useExplorerAssetsQuery` and pass it any options that fit your needs. + * When your component renders, `useExplorerAssetsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useExplorerAssetsQuery({ + * variables: { + * }, + * }); + */ +export function useExplorerAssetsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ExplorerAssetsDocument, options); + } +export function useExplorerAssetsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ExplorerAssetsDocument, options); + } +export type ExplorerAssetsQueryHookResult = ReturnType; +export type ExplorerAssetsLazyQueryHookResult = ReturnType; +export type ExplorerAssetsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/src/app/routes/assets/assets.graphql b/apps/explorer/src/app/routes/assets/assets.graphql new file mode 100644 index 000000000..7d39b75c8 --- /dev/null +++ b/apps/explorer/src/app/routes/assets/assets.graphql @@ -0,0 +1,27 @@ +query ExplorerAssets { + assetsConnection { + edges { + node { + id + name + symbol + decimals + source { + ... on ERC20 { + contractAddress + } + ... on BuiltinAsset { + maxFaucetAmountMint + } + } + infrastructureFeeAccount { + type + balance + market { + id + } + } + } + } + } +} diff --git a/apps/explorer/src/app/routes/assets/index.tsx b/apps/explorer/src/app/routes/assets/index.tsx index d2cb18891..570ca2d93 100644 --- a/apps/explorer/src/app/routes/assets/index.tsx +++ b/apps/explorer/src/app/routes/assets/index.tsx @@ -1,63 +1,38 @@ -import { gql, useQuery } from '@apollo/client'; import { t } from '@vegaprotocol/react-helpers'; import React from 'react'; import { RouteTitle } from '../../components/route-title'; import { SubHeading } from '../../components/sub-heading'; import { SyntaxHighlighter } from '@vegaprotocol/ui-toolkit'; -import type { - AssetsQuery, - AssetsQuery_assetsConnection_edges_node, -} from './__generated__/AssetsQuery'; - -export const ASSETS_QUERY = gql` - query AssetsQuery { - assetsConnection { - edges { - node { - id - name - symbol - decimals - source { - ... on ERC20 { - contractAddress - } - ... on BuiltinAsset { - maxFaucetAmountMint - } - } - infrastructureFeeAccount { - type - balance - market { - id - } - } - } - } - } - } -`; +import { useExplorerAssetsQuery } from './__generated__/assets'; const Assets = () => { - const { data } = useQuery(ASSETS_QUERY); + const { data } = useExplorerAssetsQuery(); - const assets = - data?.assetsConnection?.edges - ?.filter((e) => e && e?.node) - .map((e) => e?.node as AssetsQuery_assetsConnection_edges_node) || []; + const assets = data?.assetsConnection?.edges?.map((n) => { + return n?.node; + }); + + if (!assets || assets.length === 0) { + return
; + } return (
{t('Assets')} - {assets.map((a) => ( - - - {a.name} ({a.symbol}) - - - - ))} + {assets.map((a) => { + if (!a) { + return null; + } + + return ( + + + {a.name} ({a.symbol}) + + + + ); + })}
); }; diff --git a/apps/explorer/src/app/routes/governance/__generated__/ProposalsQuery.ts b/apps/explorer/src/app/routes/governance/__generated__/ProposalsQuery.ts deleted file mode 100644 index b1bce8216..000000000 --- a/apps/explorer/src/app/routes/governance/__generated__/ProposalsQuery.ts +++ /dev/null @@ -1,306 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// @generated -// This file was automatically generated and should not be edited. - -import { ProposalState, ProposalRejectionReason, VoteValue } from "@vegaprotocol/types"; - -// ==================================================== -// GraphQL query operation: ProposalsQuery -// ==================================================== - -export interface ProposalsQuery_proposalsConnection_edges_node_rationale { - __typename: "ProposalRationale"; - /** - * Title to be used to give a short description of the proposal in lists. - * This is to be between 0 and 100 unicode characters. - * This is mandatory for all proposals. - */ - title: string; - /** - * Description to show a short title / something in case the link goes offline. - * This is to be between 0 and 20k unicode characters. - * This is mandatory for all proposals. - */ - description: string; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_party { - __typename: "Party"; - /** - * Party identifier - */ - id: string; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_terms_change_UpdateAsset { - __typename: "UpdateAsset" | "NewFreeform"; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_terms_change_NewMarket_instrument { - __typename: "InstrumentConfiguration"; - /** - * Full and fairly descriptive name for the instrument - */ - name: string; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_terms_change_NewMarket { - __typename: "NewMarket"; - /** - * New market instrument configuration - */ - instrument: ProposalsQuery_proposalsConnection_edges_node_terms_change_NewMarket_instrument; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_terms_change_UpdateMarket { - __typename: "UpdateMarket"; - marketId: string; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_terms_change_NewAsset_source_BuiltinAsset { - __typename: "BuiltinAsset"; - /** - * Maximum amount that can be requested by a party through the built-in asset faucet at a time - */ - maxFaucetAmountMint: string; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_terms_change_NewAsset_source_ERC20 { - __typename: "ERC20"; - /** - * The address of the ERC20 contract - */ - contractAddress: string; -} - -export type ProposalsQuery_proposalsConnection_edges_node_terms_change_NewAsset_source = ProposalsQuery_proposalsConnection_edges_node_terms_change_NewAsset_source_BuiltinAsset | ProposalsQuery_proposalsConnection_edges_node_terms_change_NewAsset_source_ERC20; - -export interface ProposalsQuery_proposalsConnection_edges_node_terms_change_NewAsset { - __typename: "NewAsset"; - /** - * The symbol of the asset (e.g: GBP) - */ - symbol: string; - /** - * The source of the new asset - */ - source: ProposalsQuery_proposalsConnection_edges_node_terms_change_NewAsset_source; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_terms_change_UpdateNetworkParameter_networkParameter { - __typename: "NetworkParameter"; - /** - * The name of the network parameter - */ - key: string; - /** - * The value of the network parameter - */ - value: string; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_terms_change_UpdateNetworkParameter { - __typename: "UpdateNetworkParameter"; - networkParameter: ProposalsQuery_proposalsConnection_edges_node_terms_change_UpdateNetworkParameter_networkParameter; -} - -export type ProposalsQuery_proposalsConnection_edges_node_terms_change = ProposalsQuery_proposalsConnection_edges_node_terms_change_UpdateAsset | ProposalsQuery_proposalsConnection_edges_node_terms_change_NewMarket | ProposalsQuery_proposalsConnection_edges_node_terms_change_UpdateMarket | ProposalsQuery_proposalsConnection_edges_node_terms_change_NewAsset | ProposalsQuery_proposalsConnection_edges_node_terms_change_UpdateNetworkParameter; - -export interface ProposalsQuery_proposalsConnection_edges_node_terms { - __typename: "ProposalTerms"; - /** - * RFC3339Nano time and date when voting closes for this proposal. - * Constrained by "minClose" and "maxClose" network parameters. - */ - closingDatetime: string; - /** - * RFC3339Nano time and date when this proposal is executed (if passed). Note that it has to be after closing date time. - * Constrained by "minEnactInSeconds" and "maxEnactInSeconds" network parameters. - * Note: Optional as free form proposals do not require it. - */ - enactmentDatetime: string | null; - /** - * Actual change being introduced by the proposal - action the proposal triggers if passed and enacted. - */ - change: ProposalsQuery_proposalsConnection_edges_node_terms_change; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_votes_yes_votes_party_stakingSummary { - __typename: "StakingSummary"; - /** - * The stake currently available for the party - */ - currentStakeAvailable: string; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_votes_yes_votes_party { - __typename: "Party"; - /** - * Party identifier - */ - id: string; - /** - * The staking information for this Party - */ - stakingSummary: ProposalsQuery_proposalsConnection_edges_node_votes_yes_votes_party_stakingSummary; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_votes_yes_votes { - __typename: "Vote"; - /** - * The vote value cast - */ - value: VoteValue; - /** - * The party casting the vote - */ - party: ProposalsQuery_proposalsConnection_edges_node_votes_yes_votes_party; - /** - * RFC3339Nano time and date when the vote reached Vega network - */ - datetime: string; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_votes_yes { - __typename: "ProposalVoteSide"; - /** - * Total number of governance tokens from the votes cast for this side - */ - totalTokens: string; - /** - * Total number of votes cast for this side - */ - totalNumber: string; - /** - * All votes cast for this side - */ - votes: ProposalsQuery_proposalsConnection_edges_node_votes_yes_votes[] | null; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_votes_no_votes_party_stakingSummary { - __typename: "StakingSummary"; - /** - * The stake currently available for the party - */ - currentStakeAvailable: string; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_votes_no_votes_party { - __typename: "Party"; - /** - * Party identifier - */ - id: string; - /** - * The staking information for this Party - */ - stakingSummary: ProposalsQuery_proposalsConnection_edges_node_votes_no_votes_party_stakingSummary; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_votes_no_votes { - __typename: "Vote"; - /** - * The vote value cast - */ - value: VoteValue; - /** - * The party casting the vote - */ - party: ProposalsQuery_proposalsConnection_edges_node_votes_no_votes_party; - /** - * RFC3339Nano time and date when the vote reached Vega network - */ - datetime: string; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_votes_no { - __typename: "ProposalVoteSide"; - /** - * Total number of governance tokens from the votes cast for this side - */ - totalTokens: string; - /** - * Total number of votes cast for this side - */ - totalNumber: string; - /** - * All votes cast for this side - */ - votes: ProposalsQuery_proposalsConnection_edges_node_votes_no_votes[] | null; -} - -export interface ProposalsQuery_proposalsConnection_edges_node_votes { - __typename: "ProposalVotes"; - /** - * Yes votes cast for this proposal - */ - yes: ProposalsQuery_proposalsConnection_edges_node_votes_yes; - /** - * No votes cast for this proposal - */ - no: ProposalsQuery_proposalsConnection_edges_node_votes_no; -} - -export interface ProposalsQuery_proposalsConnection_edges_node { - __typename: "Proposal"; - /** - * Proposal ID that is filled by Vega once proposal reaches the network - */ - id: string | null; - /** - * Rationale behind the proposal - */ - rationale: ProposalsQuery_proposalsConnection_edges_node_rationale; - /** - * A UUID reference to aid tracking proposals on Vega - */ - reference: string; - /** - * State of the proposal - */ - state: ProposalState; - /** - * RFC3339Nano time and date when the proposal reached Vega network - */ - datetime: string; - /** - * Why the proposal was rejected by the core - */ - rejectionReason: ProposalRejectionReason | null; - /** - * Party that prepared the proposal - */ - party: ProposalsQuery_proposalsConnection_edges_node_party; - /** - * Terms of the proposal - */ - terms: ProposalsQuery_proposalsConnection_edges_node_terms; - /** - * Votes cast for this proposal - */ - votes: ProposalsQuery_proposalsConnection_edges_node_votes; -} - -export interface ProposalsQuery_proposalsConnection_edges { - __typename: "ProposalEdge"; - /** - * The proposal data - */ - node: ProposalsQuery_proposalsConnection_edges_node; -} - -export interface ProposalsQuery_proposalsConnection { - __typename: "ProposalsConnection"; - /** - * List of proposals available for the connection - */ - edges: (ProposalsQuery_proposalsConnection_edges | null)[] | null; -} - -export interface ProposalsQuery { - /** - * All governance proposals in the Vega network - */ - proposalsConnection: ProposalsQuery_proposalsConnection | null; -} diff --git a/apps/explorer/src/app/routes/governance/__generated__/proposals.ts b/apps/explorer/src/app/routes/governance/__generated__/proposals.ts new file mode 100644 index 000000000..cec505b2d --- /dev/null +++ b/apps/explorer/src/app/routes/governance/__generated__/proposals.ts @@ -0,0 +1,122 @@ +import { Schema as Types } from '@vegaprotocol/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type ExplorerProposalsQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type ExplorerProposalsQuery = { __typename?: 'Query', proposalsConnection?: { __typename?: 'ProposalsConnection', edges?: Array<{ __typename?: 'ProposalEdge', node: { __typename?: 'Proposal', id?: string | null, reference: string, state: Types.ProposalState, datetime: string, rejectionReason?: Types.ProposalRejectionReason | null, rationale: { __typename?: 'ProposalRationale', title: string, description: string }, party: { __typename?: 'Party', id: string }, terms: { __typename?: 'ProposalTerms', closingDatetime: string, enactmentDatetime?: string | null, change: { __typename: 'NewAsset', symbol: string, source: { __typename?: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename?: 'ERC20', contractAddress: string } } | { __typename?: 'NewFreeform' } | { __typename?: 'NewMarket', instrument: { __typename?: 'InstrumentConfiguration', name: string } } | { __typename?: 'UpdateAsset' } | { __typename?: 'UpdateMarket', marketId: string } | { __typename?: 'UpdateNetworkParameter', networkParameter: { __typename?: 'NetworkParameter', key: string, value: string } } }, votes: { __typename?: 'ProposalVotes', yes: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, votes?: Array<{ __typename?: 'Vote', value: Types.VoteValue, datetime: string, party: { __typename?: 'Party', id: string, stakingSummary: { __typename?: 'StakingSummary', currentStakeAvailable: string } } }> | null }, no: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, votes?: Array<{ __typename?: 'Vote', value: Types.VoteValue, datetime: string, party: { __typename?: 'Party', id: string, stakingSummary: { __typename?: 'StakingSummary', currentStakeAvailable: string } } }> | null } } } } | null> | null } | null }; + + +export const ExplorerProposalsDocument = gql` + query ExplorerProposals { + proposalsConnection { + edges { + node { + id + rationale { + title + description + } + reference + state + datetime + rejectionReason + party { + id + } + terms { + closingDatetime + enactmentDatetime + change { + ... on NewMarket { + instrument { + name + } + } + ... on UpdateMarket { + marketId + } + ... on NewAsset { + __typename + symbol + source { + ... on BuiltinAsset { + maxFaucetAmountMint + } + ... on ERC20 { + contractAddress + } + } + } + ... on UpdateNetworkParameter { + networkParameter { + key + value + } + } + } + } + votes { + yes { + totalTokens + totalNumber + votes { + value + party { + id + stakingSummary { + currentStakeAvailable + } + } + datetime + } + } + no { + totalTokens + totalNumber + votes { + value + party { + id + stakingSummary { + currentStakeAvailable + } + } + datetime + } + } + } + } + } + } +} + `; + +/** + * __useExplorerProposalsQuery__ + * + * To run a query within a React component, call `useExplorerProposalsQuery` and pass it any options that fit your needs. + * When your component renders, `useExplorerProposalsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useExplorerProposalsQuery({ + * variables: { + * }, + * }); + */ +export function useExplorerProposalsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ExplorerProposalsDocument, options); + } +export function useExplorerProposalsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ExplorerProposalsDocument, options); + } +export type ExplorerProposalsQueryHookResult = ReturnType; +export type ExplorerProposalsLazyQueryHookResult = ReturnType; +export type ExplorerProposalsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/src/app/routes/governance/index.tsx b/apps/explorer/src/app/routes/governance/index.tsx index 561bc6849..44729d4c3 100644 --- a/apps/explorer/src/app/routes/governance/index.tsx +++ b/apps/explorer/src/app/routes/governance/index.tsx @@ -1,122 +1,42 @@ -import { gql, useQuery } from '@apollo/client'; import { t } from '@vegaprotocol/react-helpers'; import React from 'react'; import { RouteTitle } from '../../components/route-title'; import { SubHeading } from '../../components/sub-heading'; import { SyntaxHighlighter } from '@vegaprotocol/ui-toolkit'; -import { getProposals } from '@vegaprotocol/governance'; -import type { - ProposalsQuery, - ProposalsQuery_proposalsConnection_edges_node, -} from './__generated__/ProposalsQuery'; - -const PROPOSALS_QUERY = gql` - query ProposalsQuery { - proposalsConnection { - edges { - node { - id - rationale { - title - description - } - reference - state - datetime - rejectionReason - party { - id - } - terms { - closingDatetime - enactmentDatetime - change { - ... on NewMarket { - instrument { - name - } - } - ... on UpdateMarket { - marketId - } - ... on NewAsset { - __typename - symbol - source { - ... on BuiltinAsset { - maxFaucetAmountMint - } - ... on ERC20 { - contractAddress - } - } - } - ... on UpdateNetworkParameter { - networkParameter { - key - value - } - } - } - } - votes { - yes { - totalTokens - totalNumber - votes { - value - party { - id - stakingSummary { - currentStakeAvailable - } - } - datetime - } - } - no { - totalTokens - totalNumber - votes { - value - party { - id - stakingSummary { - currentStakeAvailable - } - } - datetime - } - } - } - } - } - } - } -`; +import { useExplorerProposalsQuery } from './__generated__/proposals'; const Governance = () => { - const { data } = useQuery(PROPOSALS_QUERY, { + const { data } = useExplorerProposalsQuery({ errorPolicy: 'ignore', }); - const proposals = getProposals( - data - ) as ProposalsQuery_proposalsConnection_edges_node[]; - if (!data) return null; + if (!data || !data.proposalsConnection || !data.proposalsConnection.edges) { + return
; + } + + const proposals = data?.proposalsConnection?.edges.map((e) => { + return e?.node; + }); + return (
{t('Governance Proposals')} - {proposals.map((p) => ( - - - {p.rationale.title || p.rationale.description} - - - - ))} + {proposals.map((p) => { + if (!p || !p.id) { + return null; + } + + return ( + + + {p.rationale.title || p.rationale.description} + + + + ); + })}
); }; diff --git a/apps/explorer/src/app/routes/governance/proposals.graphql b/apps/explorer/src/app/routes/governance/proposals.graphql new file mode 100644 index 000000000..b3e0caa97 --- /dev/null +++ b/apps/explorer/src/app/routes/governance/proposals.graphql @@ -0,0 +1,82 @@ +query ExplorerProposals { + proposalsConnection { + edges { + node { + id + rationale { + title + description + } + reference + state + datetime + rejectionReason + party { + id + } + terms { + closingDatetime + enactmentDatetime + change { + ... on NewMarket { + instrument { + name + } + } + ... on UpdateMarket { + marketId + } + ... on NewAsset { + __typename + symbol + source { + ... on BuiltinAsset { + maxFaucetAmountMint + } + ... on ERC20 { + contractAddress + } + } + } + ... on UpdateNetworkParameter { + networkParameter { + key + value + } + } + } + } + votes { + yes { + totalTokens + totalNumber + votes { + value + party { + id + stakingSummary { + currentStakeAvailable + } + } + datetime + } + } + no { + totalTokens + totalNumber + votes { + value + party { + id + stakingSummary { + currentStakeAvailable + } + } + datetime + } + } + } + } + } + } +} diff --git a/apps/explorer/src/app/routes/markets/__generated__/MarketsQuery.ts b/apps/explorer/src/app/routes/markets/__generated__/MarketsQuery.ts deleted file mode 100644 index 764b9e782..000000000 --- a/apps/explorer/src/app/routes/markets/__generated__/MarketsQuery.ts +++ /dev/null @@ -1,533 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// @generated -// This file was automatically generated and should not be edited. - -import { MarketTradingMode, MarketState, AccountType, AuctionTrigger } from "@vegaprotocol/types"; - -// ==================================================== -// GraphQL query operation: MarketsQuery -// ==================================================== - -export interface MarketsQuery_markets_fees_factors { - __typename: "FeeFactors"; - /** - * The factor applied to calculate MakerFees, a non-negative float - */ - makerFee: string; - /** - * The factor applied to calculate InfrastructureFees, a non-negative float - */ - infrastructureFee: string; - /** - * The factor applied to calculate LiquidityFees, a non-negative float - */ - liquidityFee: string; -} - -export interface MarketsQuery_markets_fees { - __typename: "Fees"; - /** - * The factors used to calculate the different fees - */ - factors: MarketsQuery_markets_fees_factors; -} - -export interface MarketsQuery_markets_tradableInstrument_instrument_metadata { - __typename: "InstrumentMetadata"; - /** - * An arbitrary list of tags to associated to associate to the Instrument (string list) - */ - tags: string[] | null; -} - -export interface MarketsQuery_markets_tradableInstrument_instrument_product_settlementAsset_globalRewardPoolAccount { - __typename: "AccountBalance"; - /** - * Balance as string - current account balance (approx. as balances can be updated several times per second) - */ - balance: string; -} - -export interface MarketsQuery_markets_tradableInstrument_instrument_product_settlementAsset { - __typename: "Asset"; - /** - * The ID of the asset - */ - id: string; - /** - * The full name of the asset (e.g: Great British Pound) - */ - name: string; - /** - * The precision of the asset. Should match the decimal precision of the asset on its native chain, e.g: for ERC20 assets, it is often 18 - */ - decimals: number; - /** - * The global reward pool account for this asset - */ - globalRewardPoolAccount: MarketsQuery_markets_tradableInstrument_instrument_product_settlementAsset_globalRewardPoolAccount | null; -} - -export interface MarketsQuery_markets_tradableInstrument_instrument_product { - __typename: "Future"; - /** - * The name of the asset (string) - */ - settlementAsset: MarketsQuery_markets_tradableInstrument_instrument_product_settlementAsset; -} - -export interface MarketsQuery_markets_tradableInstrument_instrument { - __typename: "Instrument"; - /** - * Full and fairly descriptive name for the instrument - */ - name: string; - /** - * Metadata for this instrument - */ - metadata: MarketsQuery_markets_tradableInstrument_instrument_metadata; - /** - * Uniquely identify an instrument across all instruments available on Vega (string) - */ - id: string; - /** - * A short non necessarily unique code used to easily describe the instrument (e.g: FX:BTCUSD/DEC18) (string) - */ - code: string; - /** - * A reference to or instance of a fully specified product, including all required product parameters for that product (Product union) - */ - product: MarketsQuery_markets_tradableInstrument_instrument_product; -} - -export interface MarketsQuery_markets_tradableInstrument_riskModel_LogNormalRiskModel_params { - __typename: "LogNormalModelParams"; - /** - * R parameter - */ - r: number; - /** - * Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number - */ - sigma: number; - /** - * Mu parameter, annualised growth rate of the underlying asset - */ - mu: number; -} - -export interface MarketsQuery_markets_tradableInstrument_riskModel_LogNormalRiskModel { - __typename: "LogNormalRiskModel"; - /** - * Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall calculation to obtain the maintenance margin, must be a strictly non-negative real number - */ - tau: number; - /** - * Lambda parameter of the risk model, probability confidence level used in expected shortfall calculation when obtaining the maintenance margin level, must be strictly greater than 0 and strictly smaller than 1 - */ - riskAversionParameter: number; - /** - * Parameters for the log normal risk model - */ - params: MarketsQuery_markets_tradableInstrument_riskModel_LogNormalRiskModel_params; -} - -export interface MarketsQuery_markets_tradableInstrument_riskModel_SimpleRiskModel_params { - __typename: "SimpleRiskModelParams"; - /** - * Risk factor for long - */ - factorLong: number; - /** - * Risk factor for short - */ - factorShort: number; -} - -export interface MarketsQuery_markets_tradableInstrument_riskModel_SimpleRiskModel { - __typename: "SimpleRiskModel"; - /** - * Params for the simple risk model - */ - params: MarketsQuery_markets_tradableInstrument_riskModel_SimpleRiskModel_params; -} - -export type MarketsQuery_markets_tradableInstrument_riskModel = MarketsQuery_markets_tradableInstrument_riskModel_LogNormalRiskModel | MarketsQuery_markets_tradableInstrument_riskModel_SimpleRiskModel; - -export interface MarketsQuery_markets_tradableInstrument_marginCalculator_scalingFactors { - __typename: "ScalingFactors"; - /** - * The scaling factor that determines the margin level at which Vega has to search for more money - */ - searchLevel: number; - /** - * The scaling factor that determines the optimal margin level - */ - initialMargin: number; - /** - * The scaling factor that determines the overflow margin level - */ - collateralRelease: number; -} - -export interface MarketsQuery_markets_tradableInstrument_marginCalculator { - __typename: "MarginCalculator"; - /** - * The scaling factors that will be used for margin calculation - */ - scalingFactors: MarketsQuery_markets_tradableInstrument_marginCalculator_scalingFactors; -} - -export interface MarketsQuery_markets_tradableInstrument { - __typename: "TradableInstrument"; - /** - * An instance of, or reference to, a fully specified instrument. - */ - instrument: MarketsQuery_markets_tradableInstrument_instrument; - /** - * A reference to a risk model that is valid for the instrument - */ - riskModel: MarketsQuery_markets_tradableInstrument_riskModel; - /** - * Margin calculation info, currently only the scaling factors (search, initial, release) for this tradable instrument - */ - marginCalculator: MarketsQuery_markets_tradableInstrument_marginCalculator | null; -} - -export interface MarketsQuery_markets_openingAuction { - __typename: "AuctionDuration"; - /** - * Duration of the auction in seconds - */ - durationSecs: number; - /** - * Target uncrossing trading volume - */ - volume: number; -} - -export interface MarketsQuery_markets_priceMonitoringSettings_parameters_triggers { - __typename: "PriceMonitoringTrigger"; - /** - * Price monitoring projection horizon Ï„ in seconds (> 0). - */ - horizonSecs: number; - /** - * Price monitoring probability level p. (>0 and < 1) - */ - probability: number; - /** - * Price monitoring auction extension duration in seconds should the price - * breach its theoretical level over the specified horizon at the specified - * probability level (> 0) - */ - auctionExtensionSecs: number; -} - -export interface MarketsQuery_markets_priceMonitoringSettings_parameters { - __typename: "PriceMonitoringParameters"; - /** - * The list of triggers for this price monitoring - */ - triggers: MarketsQuery_markets_priceMonitoringSettings_parameters_triggers[] | null; -} - -export interface MarketsQuery_markets_priceMonitoringSettings { - __typename: "PriceMonitoringSettings"; - /** - * Specified a set of PriceMonitoringParameters to be use for price monitoring purposes - */ - parameters: MarketsQuery_markets_priceMonitoringSettings_parameters | null; -} - -export interface MarketsQuery_markets_liquidityMonitoringParameters_targetStakeParameters { - __typename: "TargetStakeParameters"; - /** - * Specifies length of time window expressed in seconds for target stake calculation - */ - timeWindow: number; - /** - * Specifies scaling factors used in target stake calculation - */ - scalingFactor: number; -} - -export interface MarketsQuery_markets_liquidityMonitoringParameters { - __typename: "LiquidityMonitoringParameters"; - /** - * Specifies the triggering ratio for entering liquidity auction - */ - triggeringRatio: number; - /** - * Specifies parameters related to target stake calculation - */ - targetStakeParameters: MarketsQuery_markets_liquidityMonitoringParameters_targetStakeParameters; -} - -export interface MarketsQuery_markets_proposal { - __typename: "Proposal"; - /** - * Proposal ID that is filled by Vega once proposal reaches the network - */ - id: string | null; -} - -export interface MarketsQuery_markets_accounts_asset { - __typename: "Asset"; - /** - * The ID of the asset - */ - id: string; - /** - * The full name of the asset (e.g: Great British Pound) - */ - name: string; -} - -export interface MarketsQuery_markets_accounts { - __typename: "AccountBalance"; - /** - * Asset, the 'currency' - */ - asset: MarketsQuery_markets_accounts_asset; - /** - * Balance as string - current account balance (approx. as balances can be updated several times per second) - */ - balance: string; - /** - * Account type (General, Margin, etc) - */ - type: AccountType; -} - -export interface MarketsQuery_markets_data_priceMonitoringBounds_trigger { - __typename: "PriceMonitoringTrigger"; - /** - * Price monitoring auction extension duration in seconds should the price - * breach its theoretical level over the specified horizon at the specified - * probability level (> 0) - */ - auctionExtensionSecs: number; - /** - * Price monitoring probability level p. (>0 and < 1) - */ - probability: number; -} - -export interface MarketsQuery_markets_data_priceMonitoringBounds { - __typename: "PriceMonitoringBounds"; - /** - * Minimum price that isn't currently breaching the specified price monitoring trigger - */ - minValidPrice: string; - /** - * Maximum price that isn't currently breaching the specified price monitoring trigger - */ - maxValidPrice: string; - /** - * Price monitoring trigger associated with the bounds - */ - trigger: MarketsQuery_markets_data_priceMonitoringBounds_trigger; - /** - * Reference price used to calculate the valid price range - */ - referencePrice: string; -} - -export interface MarketsQuery_markets_data_liquidityProviderFeeShare_party { - __typename: "Party"; - /** - * Party identifier - */ - id: string; -} - -export interface MarketsQuery_markets_data_liquidityProviderFeeShare { - __typename: "LiquidityProviderFeeShare"; - /** - * The liquidity provider party ID - */ - party: MarketsQuery_markets_data_liquidityProviderFeeShare_party; - /** - * The share owned by this liquidity provider (float) - */ - equityLikeShare: string; - /** - * The average entry valuation of the liquidity provider for the market - */ - averageEntryValuation: string; -} - -export interface MarketsQuery_markets_data { - __typename: "MarketData"; - /** - * The mark price (an unsigned integer) - */ - markPrice: string; - /** - * The highest price level on an order book for buy orders. - */ - bestBidPrice: string; - /** - * The aggregated volume being bid at the best bid price. - */ - bestBidVolume: string; - /** - * The lowest price level on an order book for offer orders. - */ - bestOfferPrice: string; - /** - * The aggregated volume being offered at the best offer price. - */ - bestOfferVolume: string; - /** - * The highest price level on an order book for buy orders not including pegged orders. - */ - bestStaticBidPrice: string; - /** - * The aggregated volume being offered at the best static bid price, excluding pegged orders - */ - bestStaticBidVolume: string; - /** - * The lowest price level on an order book for offer orders not including pegged orders. - */ - bestStaticOfferPrice: string; - /** - * The aggregated volume being offered at the best static offer price, excluding pegged orders. - */ - bestStaticOfferVolume: string; - /** - * The arithmetic average of the best bid price and best offer price. - */ - midPrice: string; - /** - * The arithmetic average of the best static bid price and best static offer price - */ - staticMidPrice: string; - /** - * RFC3339Nano time at which this market price was relevant - */ - timestamp: string; - /** - * The sum of the size of all positions greater than 0. - */ - openInterest: string; - /** - * RFC3339Nano time at which the auction will stop (null if not in auction mode) - */ - auctionEnd: string | null; - /** - * RFC3339Nano time at which the next auction will start (null if none is scheduled) - */ - auctionStart: string | null; - /** - * Indicative price if the auction ended now, 0 if not in auction mode - */ - indicativePrice: string; - /** - * Indicative volume if the auction ended now, 0 if not in auction mode - */ - indicativeVolume: string; - /** - * What triggered an auction (if an auction was started) - */ - trigger: AuctionTrigger; - /** - * What extended the ongoing auction (if an auction was extended) - */ - extensionTrigger: AuctionTrigger; - /** - * The amount of stake targeted for this market - */ - targetStake: string | null; - /** - * The supplied stake for the market - */ - suppliedStake: string | null; - /** - * A list of valid price ranges per associated trigger - */ - priceMonitoringBounds: MarketsQuery_markets_data_priceMonitoringBounds[] | null; - /** - * The market value proxy - */ - marketValueProxy: string; - /** - * The equity like share of liquidity fee for each liquidity provider - */ - liquidityProviderFeeShare: MarketsQuery_markets_data_liquidityProviderFeeShare[] | null; -} - -export interface MarketsQuery_markets { - __typename: "Market"; - /** - * Market ID - */ - id: string; - /** - * Fees related data - */ - fees: MarketsQuery_markets_fees; - /** - * An instance of, or reference to, a tradable instrument. - */ - tradableInstrument: MarketsQuery_markets_tradableInstrument; - /** - * The number of decimal places that an integer must be shifted by in order to get a correct - * number denominated in the currency of the market. (uint64) - * - * Examples: - * Currency Balance decimalPlaces Real Balance - * GBP 100 0 GBP 100 - * GBP 100 2 GBP 1.00 - * GBP 100 4 GBP 0.01 - * GBP 1 4 GBP 0.0001 ( 0.01p ) - * - * GBX (pence) 100 0 GBP 1.00 (100p ) - * GBX (pence) 100 2 GBP 0.01 ( 1p ) - * GBX (pence) 100 4 GBP 0.0001 ( 0.01p ) - * GBX (pence) 1 4 GBP 0.000001 ( 0.0001p) - */ - decimalPlaces: number; - /** - * Auction duration specifies how long the opening auction will run (minimum - * duration and optionally a minimum traded volume). - */ - openingAuction: MarketsQuery_markets_openingAuction; - /** - * Price monitoring settings for the market - */ - priceMonitoringSettings: MarketsQuery_markets_priceMonitoringSettings; - /** - * Liquidity monitoring parameters for the market - */ - liquidityMonitoringParameters: MarketsQuery_markets_liquidityMonitoringParameters; - /** - * Current mode of execution of the market - */ - tradingMode: MarketTradingMode; - /** - * Current state of the market - */ - state: MarketState; - /** - * The proposal that initiated this market - */ - proposal: MarketsQuery_markets_proposal | null; - /** - * Get account for a party or market - */ - accounts: MarketsQuery_markets_accounts[] | null; - /** - * marketData for the given market - */ - data: MarketsQuery_markets_data | null; -} - -export interface MarketsQuery { - /** - * One or more instruments that are trading on the VEGA network - */ - markets: MarketsQuery_markets[] | null; -} diff --git a/apps/explorer/src/app/routes/markets/__generated__/markets.ts b/apps/explorer/src/app/routes/markets/__generated__/markets.ts new file mode 100644 index 000000000..2a7d3ad65 --- /dev/null +++ b/apps/explorer/src/app/routes/markets/__generated__/markets.ts @@ -0,0 +1,180 @@ +import { Schema as Types } from '@vegaprotocol/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type ExplorerMarketsQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type ExplorerMarketsQuery = { __typename?: 'Query', marketsConnection?: { __typename?: 'MarketConnection', edges: Array<{ __typename?: 'MarketEdge', node: { __typename?: 'Market', id: string, decimalPlaces: number, tradingMode: Types.MarketTradingMode, state: Types.MarketState, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array | null }, product: { __typename?: 'Future', settlementAsset: { __typename?: 'Asset', id: string, name: string, decimals: number, globalRewardPoolAccount?: { __typename?: 'AccountBalance', balance: string } | null } } }, riskModel: { __typename?: 'LogNormalRiskModel', tau: number, riskAversionParameter: number, params: { __typename?: 'LogNormalModelParams', r: number, sigma: number, mu: number } } | { __typename?: 'SimpleRiskModel', params: { __typename?: 'SimpleRiskModelParams', factorLong: number, factorShort: number } }, marginCalculator?: { __typename?: 'MarginCalculator', scalingFactors: { __typename?: 'ScalingFactors', searchLevel: number, initialMargin: number, collateralRelease: number } } | null }, openingAuction: { __typename?: 'AuctionDuration', durationSecs: number, volume: number }, priceMonitoringSettings: { __typename?: 'PriceMonitoringSettings', parameters?: { __typename?: 'PriceMonitoringParameters', triggers?: Array<{ __typename?: 'PriceMonitoringTrigger', horizonSecs: number, probability: number, auctionExtensionSecs: number }> | null } | null }, liquidityMonitoringParameters: { __typename?: 'LiquidityMonitoringParameters', triggeringRatio: number, targetStakeParameters: { __typename?: 'TargetStakeParameters', timeWindow: number, scalingFactor: number } }, proposal?: { __typename?: 'Proposal', id?: string | null } | null, accountsConnection?: { __typename?: 'AccountsConnection', edges?: Array<{ __typename?: 'AccountEdge', node: { __typename?: 'AccountBalance', balance: string, type: Types.AccountType, asset: { __typename?: 'Asset', id: string, name: string } } } | null> | null } | null, data?: { __typename?: 'MarketData', markPrice: string, bestBidPrice: string, bestBidVolume: string, bestOfferPrice: string, bestOfferVolume: string, bestStaticBidPrice: string, bestStaticBidVolume: string, bestStaticOfferPrice: string, bestStaticOfferVolume: string, midPrice: string, staticMidPrice: string, timestamp: string, openInterest: string, auctionEnd?: string | null, auctionStart?: string | null, indicativePrice: string, indicativeVolume: string, trigger: Types.AuctionTrigger, extensionTrigger: Types.AuctionTrigger, targetStake?: string | null, suppliedStake?: string | null, marketValueProxy: string, priceMonitoringBounds?: Array<{ __typename?: 'PriceMonitoringBounds', minValidPrice: string, maxValidPrice: string, referencePrice: string, trigger: { __typename?: 'PriceMonitoringTrigger', auctionExtensionSecs: number, probability: number } }> | null, liquidityProviderFeeShare?: Array<{ __typename?: 'LiquidityProviderFeeShare', equityLikeShare: string, averageEntryValuation: string, party: { __typename?: 'Party', id: string } }> | null } | null } }> } | null }; + + +export const ExplorerMarketsDocument = gql` + query ExplorerMarkets { + marketsConnection { + edges { + node { + id + fees { + factors { + makerFee + infrastructureFee + liquidityFee + } + } + tradableInstrument { + instrument { + name + metadata { + tags + } + code + product { + ... on Future { + settlementAsset { + id + name + decimals + globalRewardPoolAccount { + balance + } + } + } + } + } + riskModel { + ... on LogNormalRiskModel { + tau + riskAversionParameter + params { + r + sigma + mu + } + } + ... on SimpleRiskModel { + params { + factorLong + factorShort + } + } + } + marginCalculator { + scalingFactors { + searchLevel + initialMargin + collateralRelease + } + } + } + decimalPlaces + openingAuction { + durationSecs + volume + } + priceMonitoringSettings { + parameters { + triggers { + horizonSecs + probability + auctionExtensionSecs + } + } + } + liquidityMonitoringParameters { + triggeringRatio + targetStakeParameters { + timeWindow + scalingFactor + } + } + tradingMode + state + proposal { + id + } + state + accountsConnection { + edges { + node { + asset { + id + name + } + balance + type + } + } + } + data { + markPrice + bestBidPrice + bestBidVolume + bestOfferPrice + bestOfferVolume + bestStaticBidPrice + bestStaticBidVolume + bestStaticOfferPrice + bestStaticOfferVolume + midPrice + staticMidPrice + timestamp + openInterest + auctionEnd + auctionStart + indicativePrice + indicativeVolume + trigger + extensionTrigger + targetStake + suppliedStake + priceMonitoringBounds { + minValidPrice + maxValidPrice + trigger { + auctionExtensionSecs + probability + } + referencePrice + } + marketValueProxy + liquidityProviderFeeShare { + party { + id + } + equityLikeShare + averageEntryValuation + } + } + } + } + } +} + `; + +/** + * __useExplorerMarketsQuery__ + * + * To run a query within a React component, call `useExplorerMarketsQuery` and pass it any options that fit your needs. + * When your component renders, `useExplorerMarketsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useExplorerMarketsQuery({ + * variables: { + * }, + * }); + */ +export function useExplorerMarketsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ExplorerMarketsDocument, options); + } +export function useExplorerMarketsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ExplorerMarketsDocument, options); + } +export type ExplorerMarketsQueryHookResult = ReturnType; +export type ExplorerMarketsLazyQueryHookResult = ReturnType; +export type ExplorerMarketsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/src/app/routes/markets/index.tsx b/apps/explorer/src/app/routes/markets/index.tsx index 22b7ad466..6be6439e4 100644 --- a/apps/explorer/src/app/routes/markets/index.tsx +++ b/apps/explorer/src/app/routes/markets/index.tsx @@ -1,162 +1,26 @@ -import { gql, useQuery } from '@apollo/client'; -import type { MarketsQuery } from './__generated__/MarketsQuery'; - import React from 'react'; import { SyntaxHighlighter } from '@vegaprotocol/ui-toolkit'; import { RouteTitle } from '../../components/route-title'; import { SubHeading } from '../../components/sub-heading'; import { t } from '@vegaprotocol/react-helpers'; - -const MARKETS_QUERY = gql` - query MarketsQuery { - markets { - id - fees { - factors { - makerFee - infrastructureFee - liquidityFee - } - } - tradableInstrument { - instrument { - name - metadata { - tags - } - id - code - product { - ... on Future { - settlementAsset { - id - name - decimals - globalRewardPoolAccount { - balance - } - } - } - } - } - riskModel { - ... on LogNormalRiskModel { - tau - riskAversionParameter - params { - r - sigma - mu - } - } - ... on SimpleRiskModel { - params { - factorLong - factorShort - } - } - } - marginCalculator { - scalingFactors { - searchLevel - initialMargin - collateralRelease - } - } - } - decimalPlaces - openingAuction { - durationSecs - volume - } - priceMonitoringSettings { - parameters { - triggers { - horizonSecs - probability - auctionExtensionSecs - } - } - } - liquidityMonitoringParameters { - triggeringRatio - targetStakeParameters { - timeWindow - scalingFactor - } - } - tradingMode - state - proposal { - id - } - state - accounts { - asset { - id - name - } - balance - type - } - data { - markPrice - bestBidPrice - bestBidVolume - bestOfferPrice - bestOfferVolume - bestStaticBidPrice - bestStaticBidVolume - bestStaticOfferPrice - bestStaticOfferVolume - midPrice - staticMidPrice - timestamp - openInterest - auctionEnd - auctionStart - indicativePrice - indicativeVolume - trigger - extensionTrigger - targetStake - suppliedStake - priceMonitoringBounds { - minValidPrice - maxValidPrice - trigger { - auctionExtensionSecs - probability - } - referencePrice - } - marketValueProxy - liquidityProviderFeeShare { - party { - id - } - equityLikeShare - averageEntryValuation - } - } - } - } -`; +import { useExplorerMarketsQuery } from './__generated__/markets'; const Markets = () => { - const { data } = useQuery(MARKETS_QUERY); + const { data } = useExplorerMarketsQuery(); + + const m = data?.marketsConnection?.edges; return ( -
+
{t('Markets')} - {data?.markets - ? data.markets.map((m) => ( - + {m + ? m.map((e) => ( + - {m.tradableInstrument.instrument.name} + {e.node.tradableInstrument.instrument.name} - + )) : null} diff --git a/apps/explorer/src/app/routes/markets/markets.graphql b/apps/explorer/src/app/routes/markets/markets.graphql new file mode 100644 index 000000000..89fd5e170 --- /dev/null +++ b/apps/explorer/src/app/routes/markets/markets.graphql @@ -0,0 +1,140 @@ +query ExplorerMarkets { + marketsConnection { + edges { + node { + id + fees { + factors { + makerFee + infrastructureFee + liquidityFee + } + } + tradableInstrument { + instrument { + name + metadata { + tags + } + code + product { + ... on Future { + settlementAsset { + id + name + decimals + globalRewardPoolAccount { + balance + } + } + } + } + } + riskModel { + ... on LogNormalRiskModel { + tau + riskAversionParameter + params { + r + sigma + mu + } + } + ... on SimpleRiskModel { + params { + factorLong + factorShort + } + } + } + marginCalculator { + scalingFactors { + searchLevel + initialMargin + collateralRelease + } + } + } + decimalPlaces + openingAuction { + durationSecs + volume + } + priceMonitoringSettings { + parameters { + triggers { + horizonSecs + probability + auctionExtensionSecs + } + } + } + liquidityMonitoringParameters { + triggeringRatio + targetStakeParameters { + timeWindow + scalingFactor + } + } + tradingMode + state + proposal { + id + } + state + accountsConnection { + edges { + node { + asset { + id + name + } + balance + type + } + } + } + data { + markPrice + bestBidPrice + bestBidVolume + bestOfferPrice + bestOfferVolume + bestStaticBidPrice + bestStaticBidVolume + bestStaticOfferPrice + bestStaticOfferVolume + midPrice + staticMidPrice + timestamp + openInterest + auctionEnd + auctionStart + indicativePrice + indicativeVolume + trigger + extensionTrigger + targetStake + suppliedStake + priceMonitoringBounds { + minValidPrice + maxValidPrice + trigger { + auctionExtensionSecs + probability + } + referencePrice + } + marketValueProxy + liquidityProviderFeeShare { + party { + id + } + equityLikeShare + averageEntryValuation + } + } + } + } + } +} diff --git a/apps/explorer/src/app/routes/oracles/__generated__/OracleSpecs.ts b/apps/explorer/src/app/routes/oracles/__generated__/OracleSpecs.ts deleted file mode 100644 index 9f4d435cc..000000000 --- a/apps/explorer/src/app/routes/oracles/__generated__/OracleSpecs.ts +++ /dev/null @@ -1,233 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// @generated -// This file was automatically generated and should not be edited. - -import { DataSourceSpecStatus, ConditionOperator, PropertyKeyType } from "@vegaprotocol/types"; - -// ==================================================== -// GraphQL query operation: OracleSpecs -// ==================================================== - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionInternal_sourceType_conditions { - __typename: "Condition"; - /** - * The value to compare against. - */ - value: string | null; - /** - * The type of comparison to make on the value. - */ - operator: ConditionOperator; -} - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionInternal_sourceType { - __typename: "DataSourceSpecConfigurationTime"; - conditions: (OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionInternal_sourceType_conditions | null)[]; -} - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionInternal { - __typename: "DataSourceDefinitionInternal"; - sourceType: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionInternal_sourceType; -} - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_ETHAddress { - __typename: "ETHAddress"; - address: string | null; -} - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_PubKey { - __typename: "PubKey"; - key: string | null; -} - -export type OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer = OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_ETHAddress | OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer_PubKey; - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers { - __typename: "Signer"; - signer: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers_signer; -} - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_filters_key { - __typename: "PropertyKey"; - /** - * The name of the property. - */ - name: string | null; - /** - * The type of the property. - */ - type: PropertyKeyType; -} - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_filters_conditions { - __typename: "Condition"; - /** - * The value to compare against. - */ - value: string | null; - /** - * The type of comparison to make on the value. - */ - operator: ConditionOperator; -} - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_filters { - __typename: "Filter"; - /** - * key is the data source data property key targeted by the filter. - */ - key: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_filters_key; - /** - * The conditions that should be matched by the data to be - * considered of interest. - */ - conditions: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_filters_conditions[] | null; -} - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType { - __typename: "DataSourceSpecConfiguration"; - /** - * signers is the list of authorized signatures that signed the data for this - * data source. All the public keys in the data should be contained in this - * list. - */ - signers: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_signers[] | null; - /** - * filters describes which source data are considered of interest or not for - * the product (or the risk model). - */ - filters: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType_filters[] | null; -} - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal { - __typename: "DataSourceDefinitionExternal"; - sourceType: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal_sourceType; -} - -export type OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType = OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionInternal | OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType_DataSourceDefinitionExternal; - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec_data { - __typename: "DataSourceDefinition"; - sourceType: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data_sourceType; -} - -export interface OracleSpecs_oracleSpecs_dataSourceSpec_spec { - __typename: "DataSourceSpec"; - /** - * ID is a hash generated from the DataSourceSpec data. - */ - id: string; - /** - * RFC3339Nano creation date time - */ - createdAt: string; - /** - * RFC3339Nano last updated timestamp - */ - updatedAt: string | null; - /** - * Status describes the status of the data source spec - */ - status: DataSourceSpecStatus; - data: OracleSpecs_oracleSpecs_dataSourceSpec_spec_data; -} - -export interface OracleSpecs_oracleSpecs_dataSourceSpec { - __typename: "ExternalDataSourceSpec"; - spec: OracleSpecs_oracleSpecs_dataSourceSpec_spec; -} - -export interface OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers_signer_ETHAddress { - __typename: "ETHAddress"; - address: string | null; -} - -export interface OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers_signer_PubKey { - __typename: "PubKey"; - key: string | null; -} - -export type OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers_signer = OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers_signer_ETHAddress | OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers_signer_PubKey; - -export interface OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers { - __typename: "Signer"; - signer: OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers_signer; -} - -export interface OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_data { - __typename: "Property"; - /** - * Name of the property - */ - name: string; - /** - * Value of the property - */ - value: string; -} - -export interface OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data { - __typename: "Data"; - /** - * signers is the list of public keys/ETH addresses that signed the data - */ - signers: OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_signers[] | null; - /** - * properties contains all the properties sent by a data source - */ - data: OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data_data[] | null; - /** - * List of all the data specs that matched this source data. - * When the array is empty, it means no data spec matched this source data. - */ - matchedSpecIds: string[] | null; - /** - * RFC3339Nano formatted date and time for when the data was broadcast to the markets - * with a matching data spec. - * It has no value when the source data does not match any data spec. - */ - broadcastAt: string; -} - -export interface OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData { - __typename: "ExternalData"; - data: OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData_data; -} - -export interface OracleSpecs_oracleSpecs_dataConnection_edges_node { - __typename: "OracleData"; - externalData: OracleSpecs_oracleSpecs_dataConnection_edges_node_externalData; -} - -export interface OracleSpecs_oracleSpecs_dataConnection_edges { - __typename: "OracleDataEdge"; - /** - * The oracle data source - */ - node: OracleSpecs_oracleSpecs_dataConnection_edges_node; -} - -export interface OracleSpecs_oracleSpecs_dataConnection { - __typename: "OracleDataConnection"; - /** - * The oracle data spec - */ - edges: (OracleSpecs_oracleSpecs_dataConnection_edges | null)[] | null; -} - -export interface OracleSpecs_oracleSpecs { - __typename: "OracleSpec"; - dataSourceSpec: OracleSpecs_oracleSpecs_dataSourceSpec; - /** - * Data list all the oracle data broadcast to this spec - */ - dataConnection: OracleSpecs_oracleSpecs_dataConnection; -} - -export interface OracleSpecs { - /** - * All registered oracle specs - */ - oracleSpecs: OracleSpecs_oracleSpecs[] | null; -} diff --git a/apps/explorer/src/app/routes/oracles/index.tsx b/apps/explorer/src/app/routes/oracles/index.tsx deleted file mode 100644 index d33d84589..000000000 --- a/apps/explorer/src/app/routes/oracles/index.tsx +++ /dev/null @@ -1,126 +0,0 @@ -import { gql, useQuery } from '@apollo/client'; -import { useLocation } from 'react-router-dom'; -import type { OracleSpecs as OracleSpecsQuery } from './__generated__/OracleSpecs'; - -import React, { useEffect } from 'react'; -import { SyntaxHighlighter } from '@vegaprotocol/ui-toolkit'; -import { RouteTitle } from '../../components/route-title'; -import { t } from '@vegaprotocol/react-helpers'; -import { SubHeading } from '../../components/sub-heading'; - -const ORACLE_SPECS_QUERY = gql` - query OracleSpecs { - oracleSpecs { - dataSourceSpec { - spec { - id - createdAt - updatedAt - status - data { - sourceType { - ... on DataSourceDefinitionInternal { - sourceType { - ... on DataSourceSpecConfigurationTime { - conditions { - value - operator - } - } - } - } - ... on DataSourceDefinitionExternal { - sourceType { - ... on DataSourceSpecConfiguration { - signers { - signer { - ... on ETHAddress { - address - } - ... on PubKey { - key - } - } - } - filters { - key { - name - type - } - conditions { - value - operator - } - } - } - } - } - } - } - } - } - dataConnection { - edges { - node { - externalData { - data { - signers { - signer { - ... on ETHAddress { - address - } - ... on PubKey { - key - } - } - } - data { - name - value - } - matchedSpecIds - broadcastAt - } - } - } - } - } - } - } -`; - -const Oracles = () => { - const { hash } = useLocation(); - const { data, loading } = useQuery(ORACLE_SPECS_QUERY); - - useEffect(() => { - if (data && !loading && hash) { - const element = document.getElementById(hash.substring(1)); - if (element) { - window.scrollTo({ - top: element.offsetTop, - }); - } - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [hash, loading, !!data]); - - return ( -
- {t('Oracles')} - {data?.oracleSpecs - ? data.oracleSpecs.map((o) => { - const id = o.dataSourceSpec.spec.id; - return ( - - {id} - - - ); - }) - : null} -
- ); -}; - -export default Oracles; diff --git a/apps/explorer/src/app/routes/parties/id/__generated__/PartyAssetsQuery.ts b/apps/explorer/src/app/routes/parties/id/__generated__/PartyAssetsQuery.ts deleted file mode 100644 index 0a5e18f85..000000000 --- a/apps/explorer/src/app/routes/parties/id/__generated__/PartyAssetsQuery.ts +++ /dev/null @@ -1,99 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// @generated -// This file was automatically generated and should not be edited. - -import { AccountType } from "@vegaprotocol/types"; - -// ==================================================== -// GraphQL query operation: PartyAssetsQuery -// ==================================================== - -export interface PartyAssetsQuery_party_stakingSummary { - __typename: "StakingSummary"; - /** - * The stake currently available for the party - */ - currentStakeAvailable: string; -} - -export interface PartyAssetsQuery_party_accounts_asset_source_BuiltinAsset { - __typename: "BuiltinAsset"; -} - -export interface PartyAssetsQuery_party_accounts_asset_source_ERC20 { - __typename: "ERC20"; - /** - * The address of the ERC20 contract - */ - contractAddress: string; -} - -export type PartyAssetsQuery_party_accounts_asset_source = PartyAssetsQuery_party_accounts_asset_source_BuiltinAsset | PartyAssetsQuery_party_accounts_asset_source_ERC20; - -export interface PartyAssetsQuery_party_accounts_asset { - __typename: "Asset"; - /** - * The full name of the asset (e.g: Great British Pound) - */ - name: string; - /** - * The ID of the asset - */ - id: string; - /** - * The precision of the asset. Should match the decimal precision of the asset on its native chain, e.g: for ERC20 assets, it is often 18 - */ - decimals: number; - /** - * The symbol of the asset (e.g: GBP) - */ - symbol: string; - /** - * The origin source of the asset (e.g: an ERC20 asset) - */ - source: PartyAssetsQuery_party_accounts_asset_source; -} - -export interface PartyAssetsQuery_party_accounts { - __typename: "AccountBalance"; - /** - * Asset, the 'currency' - */ - asset: PartyAssetsQuery_party_accounts_asset; - /** - * Account type (General, Margin, etc) - */ - type: AccountType; - /** - * Balance as string - current account balance (approx. as balances can be updated several times per second) - */ - balance: string; -} - -export interface PartyAssetsQuery_party { - __typename: "Party"; - /** - * Party identifier - */ - id: string; - /** - * The staking information for this Party - */ - stakingSummary: PartyAssetsQuery_party_stakingSummary; - /** - * Collateral accounts relating to a party - */ - accounts: PartyAssetsQuery_party_accounts[] | null; -} - -export interface PartyAssetsQuery { - /** - * An entity that is trading on the Vega network - */ - party: PartyAssetsQuery_party | null; -} - -export interface PartyAssetsQueryVariables { - partyId: string; -} diff --git a/apps/explorer/src/app/routes/parties/id/__generated__/party-assets.ts b/apps/explorer/src/app/routes/parties/id/__generated__/party-assets.ts new file mode 100644 index 000000000..e2d282ed5 --- /dev/null +++ b/apps/explorer/src/app/routes/parties/id/__generated__/party-assets.ts @@ -0,0 +1,87 @@ +import { Schema as Types } from '@vegaprotocol/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type ExplorerPartyAssetsQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type ExplorerPartyAssetsQuery = { __typename?: 'Query', partiesConnection?: { __typename?: 'PartyConnection', edges: Array<{ __typename?: 'PartyEdge', node: { __typename?: 'Party', id: string, delegationsConnection?: { __typename?: 'DelegationsConnection', edges?: Array<{ __typename?: 'DelegationEdge', node: { __typename?: 'Delegation', amount: string, epoch: number, node: { __typename?: 'Node', id: string, name: string } } } | null> | null } | null, stakingSummary: { __typename?: 'StakingSummary', currentStakeAvailable: string }, accountsConnection?: { __typename?: 'AccountsConnection', edges?: Array<{ __typename?: 'AccountEdge', node: { __typename?: 'AccountBalance', type: Types.AccountType, balance: string, asset: { __typename?: 'Asset', name: string, id: string, decimals: number, symbol: string, source: { __typename: 'BuiltinAsset' } | { __typename: 'ERC20', contractAddress: string } } } } | null> | null } | null } }> } | null }; + + +export const ExplorerPartyAssetsDocument = gql` + query ExplorerPartyAssets($partyId: ID!) { + partiesConnection(id: $partyId) { + edges { + node { + id + delegationsConnection { + edges { + node { + amount + node { + id + name + } + epoch + } + } + } + stakingSummary { + currentStakeAvailable + } + accountsConnection { + edges { + node { + asset { + name + id + decimals + symbol + source { + __typename + ... on ERC20 { + contractAddress + } + } + } + type + balance + } + } + } + } + } + } +} + `; + +/** + * __useExplorerPartyAssetsQuery__ + * + * To run a query within a React component, call `useExplorerPartyAssetsQuery` and pass it any options that fit your needs. + * When your component renders, `useExplorerPartyAssetsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useExplorerPartyAssetsQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useExplorerPartyAssetsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ExplorerPartyAssetsDocument, options); + } +export function useExplorerPartyAssetsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ExplorerPartyAssetsDocument, options); + } +export type ExplorerPartyAssetsQueryHookResult = ReturnType; +export type ExplorerPartyAssetsLazyQueryHookResult = ReturnType; +export type ExplorerPartyAssetsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/src/app/routes/parties/id/index.tsx b/apps/explorer/src/app/routes/parties/id/index.tsx index c5f381d37..f0bc13798 100644 --- a/apps/explorer/src/app/routes/parties/id/index.tsx +++ b/apps/explorer/src/app/routes/parties/id/index.tsx @@ -1,5 +1,3 @@ -import { useQuery } from '@apollo/client'; -import { gql } from '@apollo/client'; import { t, useFetch, @@ -14,45 +12,15 @@ import { Panel } from '../../../components/panel'; import { InfoPanel } from '../../../components/info-panel'; import { toNonHex } from '../../../components/search/detect-search'; import { DATA_SOURCES } from '../../../config'; -import type { - PartyAssetsQuery, - PartyAssetsQueryVariables, -} from './__generated__/PartyAssetsQuery'; import type { TendermintSearchTransactionResponse } from '../tendermint-transaction-response'; import { useTxsData } from '../../../hooks/use-txs-data'; import { TxsInfiniteList } from '../../../components/txs'; import { PageHeader } from '../../../components/page-header'; - -const PARTY_ASSETS_QUERY = gql` - query PartyAssetsQuery($partyId: ID!) { - party(id: $partyId) { - id - stakingSummary { - currentStakeAvailable - } - accounts { - asset { - name - id - decimals - symbol - source { - __typename - ... on ERC20 { - contractAddress - } - } - } - type - balance - } - } - } -`; +import { useExplorerPartyAssetsQuery } from './__generated__/party-assets'; const Party = () => { const { party } = useParams<{ party: string }>(); - const partyId = party ? toNonHex(party) : ''; + const partyId = toNonHex(party ? party : ''); const { isMobile } = useScreenDimensions(); const visibleChars = useMemo(() => (isMobile ? 10 : 14), [isMobile]); const filters = `filters[tx.submitter]=${partyId}`; @@ -67,19 +35,18 @@ const Party = () => { `${DATA_SOURCES.tendermintUrl}/tx_search?query="tx.submitter='${partyId}'"` ); - const { data } = useQuery( - PARTY_ASSETS_QUERY, - { - // Don't cache data for this query, party information can move quite quickly - fetchPolicy: 'network-only', - variables: { partyId }, - skip: !party, - } - ); + const { data } = useExplorerPartyAssetsQuery({ + // Don't cache data for this query, party information can move quite quickly + fetchPolicy: 'network-only', + variables: { partyId: partyId }, + skip: !party, + }); - const header = data?.party?.id ? ( + const p = data?.partiesConnection?.edges[0].node; + + const header = p?.id ? ( { const accounts = (
- {data?.party?.accounts?.length ? ( - data.party.accounts.map((account) => { + {p?.accountsConnection?.edges?.length ? ( + p.accountsConnection?.edges?.map((a) => { + const account = a?.node; + if (!account || !account.asset) { + return ''; + } + return (
@@ -122,10 +94,10 @@ const Party = () => { const staking = (
- {data?.party?.stakingSummary?.currentStakeAvailable ? ( + {p?.stakingSummary?.currentStakeAvailable ? ( ) : ( diff --git a/apps/explorer/src/app/routes/parties/id/party-assets.graphql b/apps/explorer/src/app/routes/parties/id/party-assets.graphql new file mode 100644 index 000000000..25f59dd2f --- /dev/null +++ b/apps/explorer/src/app/routes/parties/id/party-assets.graphql @@ -0,0 +1,44 @@ +query ExplorerPartyAssets($partyId: ID!) { + partiesConnection(id: $partyId) { + edges { + node { + id + delegationsConnection { + edges { + node { + amount + node { + id + name + } + epoch + } + } + } + stakingSummary { + currentStakeAvailable + } + accountsConnection { + edges { + node { + asset { + name + id + decimals + symbol + source { + __typename + ... on ERC20 { + contractAddress + } + } + } + type + balance + } + } + } + } + } + } +} diff --git a/apps/explorer/src/app/routes/router-config.tsx b/apps/explorer/src/app/routes/router-config.tsx index 68a5e9183..2e735c446 100644 --- a/apps/explorer/src/app/routes/router-config.tsx +++ b/apps/explorer/src/app/routes/router-config.tsx @@ -3,7 +3,6 @@ import BlockPage from './blocks'; import Governance from './governance'; import Home from './home'; import Markets from './markets'; -import Oracles from './oracles'; import Party from './parties'; import { Parties } from './parties/home'; import { Party as PartySingle } from './parties/id'; @@ -85,17 +84,6 @@ const marketsRoutes = flags.markets ] : []; -const oraclesRoutes = flags.oracles - ? [ - { - path: Routes.ORACLES, - name: 'Oracles', - text: t('Oracles'), - element: , - }, - ] - : []; - const networkParametersRoutes = flags.networkParameters ? [ { @@ -166,7 +154,6 @@ const routerConfig = [ ...genesisRoutes, ...governanceRoutes, ...marketsRoutes, - ...oraclesRoutes, ...networkParametersRoutes, ...validators, ]; diff --git a/apps/explorer/src/app/routes/validators/__generated__/NodesQuery.ts b/apps/explorer/src/app/routes/validators/__generated__/NodesQuery.ts deleted file mode 100644 index b1552286f..000000000 --- a/apps/explorer/src/app/routes/validators/__generated__/NodesQuery.ts +++ /dev/null @@ -1,87 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// @generated -// This file was automatically generated and should not be edited. - -import { NodeStatus } from "@vegaprotocol/types"; - -// ==================================================== -// GraphQL query operation: NodesQuery -// ==================================================== - -export interface NodesQuery_nodes_epochData { - __typename: "EpochData"; - /** - * Total number of epochs since node was created - */ - total: number; - /** - * Total number of offline epochs since node was created - */ - offline: number; - /** - * Total number of online epochs since node was created - */ - online: number; -} - -export interface NodesQuery_nodes { - __typename: "Node"; - /** - * The node URL eg n01.vega.xyz - */ - id: string; - name: string; - /** - * URL from which you can get more info about the node. - */ - infoUrl: string; - avatarUrl: string | null; - /** - * Public key of the node operator - */ - pubkey: string; - /** - * Tendermint public key of the node - */ - tmPubkey: string; - /** - * Ethereum public key of the node - */ - ethereumAddress: string; - /** - * Country code for the location of the node - */ - location: string; - /** - * The amount of stake the node has put up themselves - */ - stakedByOperator: string; - /** - * The amount of stake that has been delegated by token holders - */ - stakedByDelegates: string; - /** - * Total amount staked on node - */ - stakedTotal: string; - /** - * Amount of stake on the next epoch - */ - pendingStake: string; - /** - * Summary of epoch data across all nodes - */ - epochData: NodesQuery_nodes_epochData | null; - /** - * Validator status of the node - */ - status: NodeStatus; -} - -export interface NodesQuery { - /** - * All known network nodes - */ - nodes: NodesQuery_nodes[] | null; -} diff --git a/apps/explorer/src/app/routes/validators/__generated__/nodes.ts b/apps/explorer/src/app/routes/validators/__generated__/nodes.ts new file mode 100644 index 000000000..1c4c65870 --- /dev/null +++ b/apps/explorer/src/app/routes/validators/__generated__/nodes.ts @@ -0,0 +1,67 @@ +import { Schema as Types } from '@vegaprotocol/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type ExplorerNodesQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type ExplorerNodesQuery = { __typename?: 'Query', nodesConnection: { __typename?: 'NodesConnection', edges?: Array<{ __typename?: 'NodeEdge', node: { __typename?: 'Node', id: string, name: string, infoUrl: string, avatarUrl?: string | null, pubkey: string, tmPubkey: string, ethereumAddress: string, location: string, stakedByOperator: string, stakedByDelegates: string, stakedTotal: string, pendingStake: string, status: Types.NodeStatus, epochData?: { __typename?: 'EpochData', total: number, offline: number, online: number } | null } } | null> | null } }; + + +export const ExplorerNodesDocument = gql` + query ExplorerNodes { + nodesConnection { + edges { + node { + id + name + infoUrl + avatarUrl + pubkey + tmPubkey + ethereumAddress + location + stakedByOperator + stakedByDelegates + stakedTotal + pendingStake + epochData { + total + offline + online + } + status + name + } + } + } +} + `; + +/** + * __useExplorerNodesQuery__ + * + * To run a query within a React component, call `useExplorerNodesQuery` and pass it any options that fit your needs. + * When your component renders, `useExplorerNodesQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useExplorerNodesQuery({ + * variables: { + * }, + * }); + */ +export function useExplorerNodesQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ExplorerNodesDocument, options); + } +export function useExplorerNodesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ExplorerNodesDocument, options); + } +export type ExplorerNodesQueryHookResult = ReturnType; +export type ExplorerNodesLazyQueryHookResult = ReturnType; +export type ExplorerNodesQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/src/app/routes/validators/index.tsx b/apps/explorer/src/app/routes/validators/index.tsx index 9220dc767..01a974178 100644 --- a/apps/explorer/src/app/routes/validators/index.tsx +++ b/apps/explorer/src/app/routes/validators/index.tsx @@ -1,4 +1,3 @@ -import { gql, useQuery } from '@apollo/client'; import { t } from '@vegaprotocol/react-helpers'; import React from 'react'; import { RouteTitle } from '../../components/route-title'; @@ -7,33 +6,7 @@ import { SyntaxHighlighter } from '@vegaprotocol/ui-toolkit'; import { DATA_SOURCES } from '../../config'; import { useFetch } from '@vegaprotocol/react-helpers'; import type { TendermintValidatorsResponse } from './tendermint-validator-response'; -import type { NodesQuery } from './__generated__/NodesQuery'; - -const NODES_QUERY = gql` - query NodesQuery { - nodes { - id - name - infoUrl - avatarUrl - pubkey - tmPubkey - ethereumAddress - location - stakedByOperator - stakedByDelegates - stakedTotal - pendingStake - epochData { - total - offline - online - } - status - name - } - } -`; +import { useExplorerNodesQuery } from './__generated__/nodes'; const Validators = () => { const { @@ -41,7 +14,7 @@ const Validators = () => { } = useFetch( `${DATA_SOURCES.tendermintUrl}/validators` ); - const { data } = useQuery(NODES_QUERY); + const { data } = useExplorerNodesQuery(); return (
diff --git a/apps/explorer/src/app/routes/validators/nodes.graphql b/apps/explorer/src/app/routes/validators/nodes.graphql new file mode 100644 index 000000000..a5c824371 --- /dev/null +++ b/apps/explorer/src/app/routes/validators/nodes.graphql @@ -0,0 +1,27 @@ +query ExplorerNodes { + nodesConnection { + edges { + node { + id + name + infoUrl + avatarUrl + pubkey + tmPubkey + ethereumAddress + location + stakedByOperator + stakedByDelegates + stakedTotal + pendingStake + epochData { + total + offline + online + } + status + name + } + } + } +} diff --git a/apps/liquidity-provision-dashboard/src/app/components/dashboard/market-list/market-list.tsx b/apps/liquidity-provision-dashboard/src/app/components/dashboard/market-list/market-list.tsx index 0eac96835..e35d1290b 100644 --- a/apps/liquidity-provision-dashboard/src/app/components/dashboard/market-list/market-list.tsx +++ b/apps/liquidity-provision-dashboard/src/app/components/dashboard/market-list/market-list.tsx @@ -16,7 +16,7 @@ import { formatWithAsset, displayChange, } from '@vegaprotocol/liquidity'; -import type { MarketTradingMode } from '@vegaprotocol/types'; +import type { Schema } from '@vegaprotocol/types'; import { HealthBar } from '../../health-bar'; import { Grid } from '../../grid'; @@ -110,7 +110,7 @@ export const MarketList = () => { value, data, }: { - value: MarketTradingMode; + value: Schema.MarketTradingMode; data: Market; }) => { return ( @@ -138,7 +138,7 @@ export const MarketList = () => { value, data, }: { - value: MarketTradingMode; + value: Schema.MarketTradingMode; data: Market; }) => ( { const [isHealthDialogOpen, setIsHealthDialogOpen] = useState(false); diff --git a/apps/liquidity-provision-dashboard/src/app/components/health-bar/health-bar.tsx b/apps/liquidity-provision-dashboard/src/app/components/health-bar/health-bar.tsx index 3d2e5712f..fee8bae58 100644 --- a/apps/liquidity-provision-dashboard/src/app/components/health-bar/health-bar.tsx +++ b/apps/liquidity-provision-dashboard/src/app/components/health-bar/health-bar.tsx @@ -1,5 +1,5 @@ import classNames from 'classnames'; -import type { MarketTradingMode } from '@vegaprotocol/types'; +import type { Schema } from '@vegaprotocol/types'; import { t, addDecimalsFormatNumber } from '@vegaprotocol/react-helpers'; import { BigNumber } from 'bignumber.js'; import type { ReactNode } from 'react'; @@ -122,7 +122,7 @@ export const HealthBar = ({ size = 'small', isExpanded = false, }: { - status: MarketTradingMode; + status: Schema.MarketTradingMode; target: string; decimals: number; levels: Levels[]; diff --git a/apps/liquidity-provision-dashboard/src/app/components/health-dialog/health-dialog.tsx b/apps/liquidity-provision-dashboard/src/app/components/health-dialog/health-dialog.tsx index 7b7e1266a..71ece5b19 100644 --- a/apps/liquidity-provision-dashboard/src/app/components/health-dialog/health-dialog.tsx +++ b/apps/liquidity-provision-dashboard/src/app/components/health-dialog/health-dialog.tsx @@ -1,6 +1,6 @@ import { t } from '@vegaprotocol/react-helpers'; import { Dialog } from '@vegaprotocol/ui-toolkit'; -import { MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import classNames from 'classnames'; import { HealthBar } from '../health-bar'; @@ -16,7 +16,7 @@ const ROWS = [ title: 'Continuous', copy: 'Markets that have committed liquidity equal or greater than the target stake are trading continuously.', data: { - status: MarketTradingMode.TRADING_MODE_CONTINUOUS, + status: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, target: '171320', decimals: 5, levels: [ @@ -31,7 +31,7 @@ const ROWS = [ title: 'Monitoring auction (liquidity)', copy: 'Markets below the target stake will see trading suspended and go into liquidity auction.', data: { - status: MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, + status: Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, target: '171320', decimals: 5, levels: [ @@ -45,7 +45,7 @@ const ROWS = [ title: 'Opening auction', copy: 'A newly created market looking for a target liquidity amount to start trading.', data: { - status: MarketTradingMode.TRADING_MODE_OPENING_AUCTION, + status: Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION, target: '171320', decimals: 3, levels: [ diff --git a/apps/liquidity-provision-dashboard/src/app/components/indicator/indicator.tsx b/apps/liquidity-provision-dashboard/src/app/components/indicator/indicator.tsx index 392ce9462..84a5c0115 100644 --- a/apps/liquidity-provision-dashboard/src/app/components/indicator/indicator.tsx +++ b/apps/liquidity-provision-dashboard/src/app/components/indicator/indicator.tsx @@ -1,4 +1,4 @@ -import type { MarketTradingMode } from '@vegaprotocol/types'; +import type { Schema } from '@vegaprotocol/types'; import { getColorForStatus } from '../../lib/utils'; @@ -6,7 +6,7 @@ export const Indicator = ({ status, opacity, }: { - status?: MarketTradingMode; + status?: Schema.MarketTradingMode; opacity?: number; }) => { const backgroundColor = status ? getColorForStatus(status) : undefined; diff --git a/apps/liquidity-provision-dashboard/src/app/components/status/status.tsx b/apps/liquidity-provision-dashboard/src/app/components/status/status.tsx index c41d31844..43043dbf7 100644 --- a/apps/liquidity-provision-dashboard/src/app/components/status/status.tsx +++ b/apps/liquidity-provision-dashboard/src/app/components/status/status.tsx @@ -3,9 +3,8 @@ import classNames from 'classnames'; import { MarketTradingModeMapping, - MarketTradingMode, - AuctionTrigger, AuctionTriggerMapping, + Schema, } from '@vegaprotocol/types'; import { Indicator } from '../indicator'; @@ -15,14 +14,19 @@ export const Status = ({ trigger, size = 'small', }: { - tradingMode?: MarketTradingMode; - trigger?: AuctionTrigger; + tradingMode?: Schema.MarketTradingMode; + trigger?: Schema.AuctionTrigger; size?: 'small' | 'large'; }) => { const getStatus = () => { if (!tradingMode) return ''; - if (tradingMode === MarketTradingMode.TRADING_MODE_MONITORING_AUCTION) { - if (trigger && trigger !== AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED) { + if ( + tradingMode === Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION + ) { + if ( + trigger && + trigger !== Schema.AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED + ) { return `${MarketTradingModeMapping[tradingMode]} - ${AuctionTriggerMapping[trigger]}`; } } diff --git a/apps/liquidity-provision-dashboard/src/app/lib/utils.tsx b/apps/liquidity-provision-dashboard/src/app/lib/utils.tsx index ae159374f..9ed71fe59 100644 --- a/apps/liquidity-provision-dashboard/src/app/lib/utils.tsx +++ b/apps/liquidity-provision-dashboard/src/app/lib/utils.tsx @@ -1,12 +1,12 @@ -import { MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; const marketTradingModeStyle = { - [MarketTradingMode.TRADING_MODE_CONTINUOUS]: '#00D46E', - [MarketTradingMode.TRADING_MODE_MONITORING_AUCTION]: '#CF0064', - [MarketTradingMode.TRADING_MODE_OPENING_AUCTION]: '#0046CD', - [MarketTradingMode.TRADING_MODE_BATCH_AUCTION]: '#CF0064', - [MarketTradingMode.TRADING_MODE_NO_TRADING]: '#CF0064', + [Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS]: '#00D46E', + [Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION]: '#CF0064', + [Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION]: '#0046CD', + [Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION]: '#CF0064', + [Schema.MarketTradingMode.TRADING_MODE_NO_TRADING]: '#CF0064', }; -export const getColorForStatus = (status: MarketTradingMode) => +export const getColorForStatus = (status: Schema.MarketTradingMode) => marketTradingModeStyle[status]; diff --git a/apps/token/src/components/vega-wallet/hooks.ts b/apps/token/src/components/vega-wallet/hooks.ts index 5a4371234..bde7dab4f 100644 --- a/apps/token/src/components/vega-wallet/hooks.ts +++ b/apps/token/src/components/vega-wallet/hooks.ts @@ -14,7 +14,7 @@ import { useVegaWallet } from '@vegaprotocol/wallet'; import { useContracts } from '../../contexts/contracts/contracts-context'; import type { ERC20Asset } from '@vegaprotocol/assets'; import { isAssetTypeERC20 } from '@vegaprotocol/assets'; -import { AccountType } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import { toBigNum } from '@vegaprotocol/react-helpers'; import { useAppState } from '../../contexts/app-state/app-state-context'; import { addDecimal } from '@vegaprotocol/react-helpers'; @@ -90,7 +90,9 @@ export const usePollForDelegations = () => { ).map((e) => e.node); setAccounts( accounts - .filter((a) => a.type === AccountType.ACCOUNT_TYPE_GENERAL) + .filter( + (a) => a.type === Schema.AccountType.ACCOUNT_TYPE_GENERAL + ) .map((a) => { const isVega = isAssetTypeERC20(a.asset as ERC20Asset) && diff --git a/apps/trading-e2e/src/integration/market-info.cy.ts b/apps/trading-e2e/src/integration/market-info.cy.ts index 16b21eb3b..371c2e100 100644 --- a/apps/trading-e2e/src/integration/market-info.cy.ts +++ b/apps/trading-e2e/src/integration/market-info.cy.ts @@ -1,4 +1,4 @@ -import { MarketState, MarketTradingModeMapping } from '@vegaprotocol/types'; +import { Schema, MarketTradingModeMapping } from '@vegaprotocol/types'; import { connectVegaWallet } from '../support/vega-wallet'; const marketInfoBtn = 'Info'; @@ -215,11 +215,11 @@ describe('market states', { tags: '@smoke' }, function () { //7002-SORD-066 const states = [ - MarketState.STATE_REJECTED, - MarketState.STATE_CANCELLED, - MarketState.STATE_CLOSED, - MarketState.STATE_SETTLED, - MarketState.STATE_TRADING_TERMINATED, + Schema.MarketState.STATE_REJECTED, + Schema.MarketState.STATE_CANCELLED, + Schema.MarketState.STATE_CLOSED, + Schema.MarketState.STATE_SETTLED, + Schema.MarketState.STATE_TRADING_TERMINATED, ]; states.forEach((marketState) => { diff --git a/apps/trading-e2e/src/integration/market-summary.cy.ts b/apps/trading-e2e/src/integration/market-summary.cy.ts index d32be6dcd..12dc12f79 100644 --- a/apps/trading-e2e/src/integration/market-summary.cy.ts +++ b/apps/trading-e2e/src/integration/market-summary.cy.ts @@ -1,8 +1,4 @@ -import { - AuctionTrigger, - MarketState, - MarketTradingMode, -} from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; const marketSummaryBlock = 'header-summary'; const marketExpiry = 'market-expiry'; @@ -19,9 +15,9 @@ const itemValue = 'item-value'; describe('Market trading page', () => { before(() => { cy.mockTradingPage( - MarketState.STATE_ACTIVE, - MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, - AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY + Schema.MarketState.STATE_ACTIVE, + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, + Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY ); cy.mockGQLSubscription(); cy.visit('/#/markets/market-0'); diff --git a/apps/trading-e2e/src/integration/markets.cy.ts b/apps/trading-e2e/src/integration/markets.cy.ts index 139ce6b4c..d70590ac3 100644 --- a/apps/trading-e2e/src/integration/markets.cy.ts +++ b/apps/trading-e2e/src/integration/markets.cy.ts @@ -1,15 +1,11 @@ -import { - AuctionTrigger, - MarketState, - MarketTradingMode, -} from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; describe('markets table', { tags: '@smoke' }, () => { beforeEach(() => { cy.mockTradingPage( - MarketState.STATE_ACTIVE, - MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, - AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY + Schema.MarketState.STATE_ACTIVE, + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, + Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY ); cy.mockGQLSubscription(); cy.visit('/'); diff --git a/apps/trading-e2e/src/integration/trading-deal-ticket.cy.ts b/apps/trading-e2e/src/integration/trading-deal-ticket.cy.ts index 652878492..1d4027fd6 100644 --- a/apps/trading-e2e/src/integration/trading-deal-ticket.cy.ts +++ b/apps/trading-e2e/src/integration/trading-deal-ticket.cy.ts @@ -1,8 +1,4 @@ -import { - MarketState, - MarketTradingMode, - AuctionTrigger, -} from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import { generateEstimateOrder } from '../support/mocks/generate-fees'; import { connectVegaWallet } from '../support/vega-wallet'; import { aliasQuery } from '@vegaprotocol/cypress'; @@ -252,9 +248,9 @@ describe( () => { before(() => { cy.mockTradingPage( - MarketState.STATE_PENDING, - MarketTradingMode.TRADING_MODE_BATCH_AUCTION, - AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY + Schema.MarketState.STATE_PENDING, + Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION, + Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY ); cy.mockGQLSubscription(); cy.visit('/#/markets/market-0'); @@ -311,9 +307,9 @@ describe( () => { before(() => { cy.mockTradingPage( - MarketState.STATE_PENDING, - MarketTradingMode.TRADING_MODE_OPENING_AUCTION, - AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY + Schema.MarketState.STATE_PENDING, + Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION, + Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY ); cy.mockGQLSubscription(); cy.visit('/#/markets/market-0'); @@ -370,9 +366,9 @@ describe( () => { before(() => { cy.mockTradingPage( - MarketState.STATE_PENDING, - MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, - AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY + Schema.MarketState.STATE_PENDING, + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, + Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY ); cy.mockGQLSubscription(); cy.visit('/#/markets/market-0'); @@ -631,9 +627,9 @@ describe('market order validations', { tags: '@smoke' }, () => { describe('suspended market validation', { tags: '@regression' }, () => { before(() => { cy.mockTradingPage( - MarketState.STATE_SUSPENDED, - MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, - AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY + Schema.MarketState.STATE_SUSPENDED, + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, + Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY ); cy.visit('/#/markets/market-0'); cy.wait('@Market'); diff --git a/apps/trading-e2e/src/support/mocks/generate-accounts.ts b/apps/trading-e2e/src/support/mocks/generate-accounts.ts index 202aef39a..876d05f58 100644 --- a/apps/trading-e2e/src/support/mocks/generate-accounts.ts +++ b/apps/trading-e2e/src/support/mocks/generate-accounts.ts @@ -1,6 +1,6 @@ import merge from 'lodash/merge'; import type { AccountsQuery } from '@vegaprotocol/accounts'; -import { AccountType } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { PartialDeep } from 'type-fest'; export const generateAccounts = ( @@ -13,7 +13,7 @@ export const generateAccounts = ( accounts: [ { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Schema.AccountType.ACCOUNT_TYPE_GENERAL, balance: '100000000', market: null, asset: { @@ -23,7 +23,7 @@ export const generateAccounts = ( }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Schema.AccountType.ACCOUNT_TYPE_GENERAL, balance: '100000000', market: { id: 'market-1', @@ -36,7 +36,7 @@ export const generateAccounts = ( }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_MARGIN, + type: Schema.AccountType.ACCOUNT_TYPE_MARGIN, balance: '1000', market: { __typename: 'Market', @@ -49,7 +49,7 @@ export const generateAccounts = ( }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_MARGIN, + type: Schema.AccountType.ACCOUNT_TYPE_MARGIN, balance: '1000', market: { __typename: 'Market', @@ -62,7 +62,7 @@ export const generateAccounts = ( }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Schema.AccountType.ACCOUNT_TYPE_GENERAL, balance: '100000000', market: null, asset: { @@ -73,7 +73,7 @@ export const generateAccounts = ( // account to withdraw Sepolia tBTC { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Schema.AccountType.ACCOUNT_TYPE_GENERAL, balance: '100000000', market: null, asset: { diff --git a/apps/trading-e2e/src/support/mocks/generate-deal-ticket-query.ts b/apps/trading-e2e/src/support/mocks/generate-deal-ticket-query.ts index ecc81f4c9..b7c98c8c5 100644 --- a/apps/trading-e2e/src/support/mocks/generate-deal-ticket-query.ts +++ b/apps/trading-e2e/src/support/mocks/generate-deal-ticket-query.ts @@ -1,5 +1,5 @@ import type { DealTicketQuery } from '@vegaprotocol/deal-ticket'; -import { MarketState, MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import merge from 'lodash/merge'; import type { PartialDeep } from 'type-fest'; @@ -12,8 +12,8 @@ export const generateDealTicketQuery = ( id: 'market-0', decimalPlaces: 5, positionDecimalPlaces: 0, - state: MarketState.STATE_ACTIVE, - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + state: Schema.MarketState.STATE_ACTIVE, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, fees: { factors: { makerFee: '0.0002', diff --git a/apps/trading-e2e/src/support/mocks/generate-market-info-query.ts b/apps/trading-e2e/src/support/mocks/generate-market-info-query.ts index 7e51b564f..bfc3cb0d6 100644 --- a/apps/trading-e2e/src/support/mocks/generate-market-info-query.ts +++ b/apps/trading-e2e/src/support/mocks/generate-market-info-query.ts @@ -1,10 +1,5 @@ import type { MarketInfoQuery } from '@vegaprotocol/market-info'; -import { - AccountType, - AuctionTrigger, - MarketState, - MarketTradingMode, -} from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import merge from 'lodash/merge'; import type { PartialDeep } from 'type-fest'; @@ -17,8 +12,8 @@ export const generateMarketInfoQuery = ( id: 'market-0', decimalPlaces: 5, positionDecimalPlaces: 0, - state: MarketState.STATE_ACTIVE, - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + state: Schema.MarketState.STATE_ACTIVE, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, proposal: { __typename: 'Proposal', id: 'market-0', @@ -30,7 +25,7 @@ export const generateMarketInfoQuery = ( }, accounts: [ { - type: AccountType.ACCOUNT_TYPE_INSURANCE, + type: Schema.AccountType.ACCOUNT_TYPE_INSURANCE, asset: { id: '6d9d35f657589e40ddfb448b7ad4a7463b66efb307527fedd2aa7df1bbd5ea61', __typename: 'Asset', @@ -39,7 +34,7 @@ export const generateMarketInfoQuery = ( __typename: 'AccountBalance', }, { - type: AccountType.ACCOUNT_TYPE_FEES_LIQUIDITY, + type: Schema.AccountType.ACCOUNT_TYPE_FEES_LIQUIDITY, asset: { id: '6d9d35f657589e40ddfb448b7ad4a7463b66efb307527fedd2aa7df1bbd5ea61', __typename: 'Asset', @@ -95,7 +90,7 @@ export const generateMarketInfoQuery = ( openInterest: '0', bestBidPrice: '681765', bestOfferPrice: '681769', - trigger: AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED, + trigger: Schema.AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED, priceMonitoringBounds: [ { minValidPrice: '654701', @@ -186,5 +181,6 @@ export const generateMarketInfoQuery = ( }, }; + // @ts-ignore: added when markettype changed. No idea. return merge(defaultResult, override); }; diff --git a/apps/trading-e2e/src/support/mocks/generate-market.ts b/apps/trading-e2e/src/support/mocks/generate-market.ts index f5670d98a..de2e02641 100644 --- a/apps/trading-e2e/src/support/mocks/generate-market.ts +++ b/apps/trading-e2e/src/support/mocks/generate-market.ts @@ -1,9 +1,5 @@ import merge from 'lodash/merge'; -import { - AuctionTrigger, - MarketState, - MarketTradingMode, -} from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { PartialDeep } from 'type-fest'; import type { MarketData, @@ -17,8 +13,8 @@ export const generateMarket = ( const defaultResult: MarketQuery = { market: { id: 'market-0', - tradingMode: MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, - state: MarketState.STATE_ACTIVE, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, + state: Schema.MarketState.STATE_ACTIVE, decimalPlaces: 5, positionDecimalPlaces: 0, tradableInstrument: { @@ -90,7 +86,7 @@ export const generateMarketData = ( auctionEnd: '2022-06-21T17:18:43.484055236Z', targetStake: '1000000', suppliedStake: '1000', - marketTradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + marketTradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, staticMidPrice: '0', indicativePrice: '0', bestStaticBidPrice: '0', @@ -99,7 +95,7 @@ export const generateMarketData = ( bestBidPrice: '0', bestOfferPrice: '0', markPrice: '4612690058', - trigger: AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED, + trigger: Schema.AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED, }; const marketsConnectionWrapper = ( diff --git a/apps/trading-e2e/src/support/mocks/generate-markets.ts b/apps/trading-e2e/src/support/mocks/generate-markets.ts index 7cfad29e3..337ee0223 100644 --- a/apps/trading-e2e/src/support/mocks/generate-markets.ts +++ b/apps/trading-e2e/src/support/mocks/generate-markets.ts @@ -1,9 +1,5 @@ import merge from 'lodash/merge'; -import { - AuctionTrigger, - MarketState, - MarketTradingMode, -} from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { PartialDeep } from 'type-fest'; import type { MarketsQuery, @@ -21,8 +17,8 @@ export const generateMarkets = ( id: 'market-0', decimalPlaces: 5, positionDecimalPlaces: 0, - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, - state: MarketState.STATE_ACTIVE, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, + state: Schema.MarketState.STATE_ACTIVE, marketTimestamps: { __typename: 'MarketTimestamps', close: '', @@ -65,8 +61,8 @@ export const generateMarkets = ( id: 'market-1', decimalPlaces: 2, positionDecimalPlaces: 0, - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, - state: MarketState.STATE_ACTIVE, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, + state: Schema.MarketState.STATE_ACTIVE, marketTimestamps: { __typename: 'MarketTimestamps', close: '', @@ -109,8 +105,8 @@ export const generateMarkets = ( id: 'market-2', decimalPlaces: 5, positionDecimalPlaces: 0, - tradingMode: MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, - state: MarketState.STATE_SUSPENDED, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, + state: Schema.MarketState.STATE_SUSPENDED, marketTimestamps: { __typename: 'MarketTimestamps', close: '2022-08-26T11:36:32.252490405Z', @@ -153,8 +149,8 @@ export const generateMarkets = ( id: 'market-3', decimalPlaces: 5, positionDecimalPlaces: 0, - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, - state: MarketState.STATE_ACTIVE, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, + state: Schema.MarketState.STATE_ACTIVE, marketTimestamps: { __typename: 'MarketTimestamps', close: '2022-08-26T11:36:32.252490405Z', @@ -217,7 +213,7 @@ export const generateMarketsData = ( id: 'market-0', __typename: 'Market', }, - marketTradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + marketTradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, staticMidPrice: '0', indicativePrice: '0', bestStaticBidPrice: '0', @@ -226,7 +222,7 @@ export const generateMarketsData = ( bestBidPrice: '0', bestOfferPrice: '0', markPrice: '4612690058', - trigger: AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED, + trigger: Schema.AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED, __typename: 'MarketData', }, { @@ -234,7 +230,7 @@ export const generateMarketsData = ( id: 'market-1', __typename: 'Market', }, - marketTradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + marketTradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, staticMidPrice: '0', indicativePrice: '0', bestStaticBidPrice: '0', @@ -243,7 +239,7 @@ export const generateMarketsData = ( bestBidPrice: '0', bestOfferPrice: '0', markPrice: '8441', - trigger: AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED, + trigger: Schema.AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED, __typename: 'MarketData', }, { @@ -251,7 +247,7 @@ export const generateMarketsData = ( id: 'market-2', __typename: 'Market', }, - marketTradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + marketTradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, staticMidPrice: '0', indicativePrice: '0', bestStaticBidPrice: '0', @@ -260,7 +256,7 @@ export const generateMarketsData = ( bestBidPrice: '0', bestOfferPrice: '0', markPrice: '4612690058', - trigger: AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY, + trigger: Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY, __typename: 'MarketData', }, { @@ -268,7 +264,7 @@ export const generateMarketsData = ( id: 'market-3', __typename: 'Market', }, - marketTradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + marketTradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, staticMidPrice: '0', indicativePrice: '0', bestStaticBidPrice: '0', @@ -277,7 +273,7 @@ export const generateMarketsData = ( bestBidPrice: '0', bestOfferPrice: '0', markPrice: '4612690058', - trigger: AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY, + trigger: Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY, __typename: 'MarketData', }, ]; diff --git a/apps/trading-e2e/src/support/trading.ts b/apps/trading-e2e/src/support/trading.ts index 1d8647ea5..e6c68dff1 100644 --- a/apps/trading-e2e/src/support/trading.ts +++ b/apps/trading-e2e/src/support/trading.ts @@ -1,6 +1,5 @@ import { aliasQuery } from '@vegaprotocol/cypress'; -import type { MarketTradingMode, AuctionTrigger } from '@vegaprotocol/types'; -import { MarketState } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { CyHttpMessages } from 'cypress/types/net-stubbing'; import { generateAccounts } from './mocks/generate-accounts'; import { generateAsset, generateAssets } from './mocks/generate-assets'; @@ -31,9 +30,9 @@ import { const mockTradingPage = ( req: CyHttpMessages.IncomingHttpRequest, - state: MarketState = MarketState.STATE_ACTIVE, - tradingMode?: MarketTradingMode, - trigger?: AuctionTrigger + state: Schema.MarketState = Schema.MarketState.STATE_ACTIVE, + tradingMode?: Schema.MarketTradingMode, + trigger?: Schema.AuctionTrigger ) => { aliasQuery(req, 'ChainId', generateChainId()); aliasQuery(req, 'Statistics', generateStatistics()); @@ -115,9 +114,9 @@ declare global { // eslint-disable-next-line @typescript-eslint/no-unused-vars interface Chainable { mockTradingPage( - state?: MarketState, - tradingMode?: MarketTradingMode, - trigger?: AuctionTrigger + state?: Schema.MarketState, + tradingMode?: Schema.MarketTradingMode, + trigger?: Schema.AuctionTrigger ): void; } } @@ -125,7 +124,7 @@ declare global { export const addMockTradingPage = () => { Cypress.Commands.add( 'mockTradingPage', - (state = MarketState.STATE_ACTIVE, tradingMode, trigger) => { + (state = Schema.MarketState.STATE_ACTIVE, tradingMode, trigger) => { cy.mockGQL((req) => { mockTradingPage(req, state, tradingMode, trigger); }); diff --git a/apps/trading/client-pages/portfolio/__generated__/WithdrawFormQuery.ts b/apps/trading/client-pages/portfolio/__generated__/WithdrawFormQuery.ts index 43b487671..b2c17479d 100644 --- a/apps/trading/client-pages/portfolio/__generated__/WithdrawFormQuery.ts +++ b/apps/trading/client-pages/portfolio/__generated__/WithdrawFormQuery.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { AccountType } from "@vegaprotocol/types"; +import { Schema } from "@vegaprotocol/types"; // ==================================================== // GraphQL query operation: WithdrawFormQuery @@ -38,7 +38,7 @@ export interface WithdrawFormQuery_party_accounts { /** * Account type (General, Margin, etc) */ - type: AccountType; + type: Schema.AccountType; /** * Balance as string - current account balance (approx. as balances can be updated several times per second) */ diff --git a/apps/trading/components/market-trading-mode/market-trading-mode.tsx b/apps/trading/components/market-trading-mode/market-trading-mode.tsx index 7859d0548..6318b618b 100644 --- a/apps/trading/components/market-trading-mode/market-trading-mode.tsx +++ b/apps/trading/components/market-trading-mode/market-trading-mode.tsx @@ -4,10 +4,9 @@ import type { DealTicketMarketFragment } from '@vegaprotocol/deal-ticket'; import { compileGridData, TradingModeTooltip } from '@vegaprotocol/deal-ticket'; import type { Schema as Types } from '@vegaprotocol/types'; import { - AuctionTrigger, AuctionTriggerMapping, MarketTradingModeMapping, - MarketTradingMode, + Schema, } from '@vegaprotocol/types'; import type { MarketData, @@ -79,9 +78,10 @@ export const MarketTradingModeComponent = ({ marketId, onSelect }: Props) => { testId="market-trading-mode" >
- {tradingMode === MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && + {tradingMode === + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && trigger && - trigger !== AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED + trigger !== Schema.AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED ? `${MarketTradingModeMapping[tradingMode]} - ${AuctionTriggerMapping[trigger]}` : MarketTradingModeMapping[tradingMode as Types.MarketTradingMode]}
diff --git a/apps/trading/components/select-market/select-market-columns.tsx b/apps/trading/components/select-market/select-market-columns.tsx index 6b9299fb1..d3fae575e 100644 --- a/apps/trading/components/select-market/select-market-columns.tsx +++ b/apps/trading/components/select-market/select-market-columns.tsx @@ -13,10 +13,9 @@ import { t, } from '@vegaprotocol/react-helpers'; import { - AuctionTrigger, AuctionTriggerMapping, - MarketTradingMode, MarketTradingModeMapping, + Schema, } from '@vegaprotocol/types'; import { Link as UILink, @@ -51,9 +50,10 @@ const TradingMode = ({ market }: { market: Market }) => { > {market.tradingMode === - MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && market.data?.trigger && - market.data.trigger !== AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED + market.data.trigger !== + Schema.AuctionTrigger.AUCTION_TRIGGER_UNSPECIFIED ? `${MarketTradingModeMapping[market.tradingMode]} - ${AuctionTriggerMapping[market.data.trigger]}` : MarketTradingModeMapping[market.tradingMode]} diff --git a/apps/trading/components/select-market/select-market.spec.tsx b/apps/trading/components/select-market/select-market.spec.tsx index ed7c42428..231b57cbe 100644 --- a/apps/trading/components/select-market/select-market.spec.tsx +++ b/apps/trading/components/select-market/select-market.spec.tsx @@ -1,5 +1,5 @@ import { fireEvent, render, screen } from '@testing-library/react'; -import { AuctionTrigger, MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import { SelectAllMarketsTableBody, @@ -22,7 +22,7 @@ const MARKET_A: PartialMarket = { __typename: 'Market', id: '1', decimalPlaces: 2, - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, tradableInstrument: { __typename: 'TradableInstrument', instrument: { @@ -61,7 +61,7 @@ const MARKET_A: PartialMarket = { id: '1', }, markPrice: '90', - trigger: AuctionTrigger.AUCTION_TRIGGER_OPENING, + trigger: Schema.AuctionTrigger.AUCTION_TRIGGER_OPENING, indicativeVolume: '1000', }, candles: [ @@ -90,7 +90,7 @@ const MARKET_B: PartialMarket = { __typename: 'Market', id: '2', decimalPlaces: 2, - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, tradableInstrument: { __typename: 'TradableInstrument', instrument: { @@ -129,7 +129,7 @@ const MARKET_B: PartialMarket = { id: '2', }, markPrice: '123.123', - trigger: AuctionTrigger.AUCTION_TRIGGER_OPENING, + trigger: Schema.AuctionTrigger.AUCTION_TRIGGER_OPENING, indicativeVolume: '2000', }, candles: [ diff --git a/libs/accounts/src/lib/accounts-data-provider.spec.ts b/libs/accounts/src/lib/accounts-data-provider.spec.ts index 417aa64ea..7f25d2e4a 100644 --- a/libs/accounts/src/lib/accounts-data-provider.spec.ts +++ b/libs/accounts/src/lib/accounts-data-provider.spec.ts @@ -1,7 +1,9 @@ -import { AccountType } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { AccountFields, Account } from './accounts-data-provider'; import { getAccountData, getId } from './accounts-data-provider'; +const AccountType = Schema.AccountType; + describe('getAccountData', () => { it('should return the correct aggregated data', () => { const data = getAccountData(accounts); diff --git a/libs/accounts/src/lib/accounts-data-provider.ts b/libs/accounts/src/lib/accounts-data-provider.ts index e1f49f3b3..5895b0108 100644 --- a/libs/accounts/src/lib/accounts-data-provider.ts +++ b/libs/accounts/src/lib/accounts-data-provider.ts @@ -4,7 +4,7 @@ import { makeDataProvider, makeDerivedDataProvider, } from '@vegaprotocol/react-helpers'; -import { AccountType } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import produce from 'immer'; import { @@ -21,6 +21,8 @@ import type { import type { Market } from '@vegaprotocol/market-list'; import type { Asset } from '@vegaprotocol/assets'; +const AccountType = Schema.AccountType; + function isAccount( account: | AccountFieldsFragment diff --git a/libs/deal-ticket/src/components/deal-ticket-validation/use-order-margin-validation.tsx b/libs/deal-ticket/src/components/deal-ticket-validation/use-order-margin-validation.tsx index 9bcc116e5..819f1bc30 100644 --- a/libs/deal-ticket/src/components/deal-ticket-validation/use-order-margin-validation.tsx +++ b/libs/deal-ticket/src/components/deal-ticket-validation/use-order-margin-validation.tsx @@ -1,6 +1,6 @@ import { useMemo } from 'react'; import { useVegaWallet } from '@vegaprotocol/wallet'; -import { AccountType } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import { toBigNum } from '@vegaprotocol/react-helpers'; import type { DealTicketMarketFragment } from '../deal-ticket/__generated__/DealTicket'; import type { OrderMargin } from '../../hooks/use-order-margin'; @@ -23,7 +23,7 @@ export const useOrderMarginValidation = ({ market, estMargin }: Props) => { const settlementAccount = useSettlementAccount( market.tradableInstrument.instrument.product.settlementAsset.id, partyBalance?.party?.accounts || [], - AccountType.ACCOUNT_TYPE_GENERAL + Schema.AccountType.ACCOUNT_TYPE_GENERAL ); const assetDecimals = market.tradableInstrument.instrument.product.settlementAsset.decimals; diff --git a/libs/deal-ticket/src/components/deal-ticket-validation/use-order-validation.spec.tsx b/libs/deal-ticket/src/components/deal-ticket-validation/use-order-validation.spec.tsx index 314c7e15f..b8be63ea3 100644 --- a/libs/deal-ticket/src/components/deal-ticket-validation/use-order-validation.spec.tsx +++ b/libs/deal-ticket/src/components/deal-ticket-validation/use-order-validation.spec.tsx @@ -3,12 +3,7 @@ import { renderHook } from '@testing-library/react'; import { useVegaWallet } from '@vegaprotocol/wallet'; import { MockedProvider } from '@apollo/client/testing'; import type { VegaWalletContextShape } from '@vegaprotocol/wallet'; -import { - MarketState, - MarketStateMapping, - MarketTradingMode, - Schema, -} from '@vegaprotocol/types'; +import { MarketStateMapping, Schema } from '@vegaprotocol/types'; import type { ValidationProps } from './use-order-validation'; import { marketTranslations, useOrderValidation } from './use-order-validation'; import type { DealTicketMarketFragment } from '../deal-ticket/__generated__/DealTicket'; @@ -22,8 +17,8 @@ const market: DealTicketMarketFragment = { id: 'market-id', decimalPlaces: 2, positionDecimalPlaces: 1, - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, - state: MarketState.STATE_ACTIVE, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { __typename: 'TradableInstrument', instrument: { @@ -148,11 +143,11 @@ describe('useOrderValidation', () => { it.each` state - ${MarketState.STATE_SETTLED} - ${MarketState.STATE_REJECTED} - ${MarketState.STATE_TRADING_TERMINATED} - ${MarketState.STATE_CLOSED} - ${MarketState.STATE_CANCELLED} + ${Schema.MarketState.STATE_SETTLED} + ${Schema.MarketState.STATE_REJECTED} + ${Schema.MarketState.STATE_TRADING_TERMINATED} + ${Schema.MarketState.STATE_CLOSED} + ${Schema.MarketState.STATE_CANCELLED} `( 'Returns an error message for market state when not accepting orders', ({ state }) => { @@ -169,8 +164,8 @@ describe('useOrderValidation', () => { it.each` state - ${MarketState.STATE_PENDING} - ${MarketState.STATE_PROPOSED} + ${Schema.MarketState.STATE_PENDING} + ${Schema.MarketState.STATE_PROPOSED} `( 'Returns an error message for market state suspended or pending', ({ state }) => { @@ -181,7 +176,7 @@ describe('useOrderValidation', () => { market: { ...defaultOrder.market, state, - tradingMode: MarketTradingMode.TRADING_MODE_BATCH_AUCTION, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION, }, orderType: Schema.OrderType.TYPE_LIMIT, orderTimeInForce: Schema.OrderTimeInForce.TIME_IN_FORCE_GTT, @@ -189,7 +184,7 @@ describe('useOrderValidation', () => { expect(result.current).toStrictEqual({ isDisabled: false, message: `This market is ${MarketStateMapping[ - state as MarketState + state as Schema.MarketState ].toLowerCase()} and only accepting liquidity commitment orders`, section: 'sec-summary', }); @@ -197,10 +192,10 @@ describe('useOrderValidation', () => { ); it.each` - tradingMode | errorMessage - ${MarketTradingMode.TRADING_MODE_BATCH_AUCTION} | ${ERROR.MARKET_CONTINUOUS_LIMIT} - ${MarketTradingMode.TRADING_MODE_MONITORING_AUCTION} | ${ERROR.MARKET_CONTINUOUS_LIMIT} - ${MarketTradingMode.TRADING_MODE_OPENING_AUCTION} | ${ERROR.MARKET_CONTINUOUS_LIMIT} + tradingMode | errorMessage + ${Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION} | ${ERROR.MARKET_CONTINUOUS_LIMIT} + ${Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION} | ${ERROR.MARKET_CONTINUOUS_LIMIT} + ${Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION} | ${ERROR.MARKET_CONTINUOUS_LIMIT} `( `Returns an error message when trying to submit a non-limit order for a "$tradingMode" market`, ({ tradingMode, errorMessage }) => { @@ -214,16 +209,16 @@ describe('useOrderValidation', () => { ); it.each` - tradingMode | orderTimeInForce | errorMessage - ${MarketTradingMode.TRADING_MODE_BATCH_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_FOK} | ${ERROR.MARKET_CONTINUOUS_TIF} - ${MarketTradingMode.TRADING_MODE_MONITORING_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_FOK} | ${ERROR.MARKET_CONTINUOUS_TIF} - ${MarketTradingMode.TRADING_MODE_OPENING_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_FOK} | ${ERROR.MARKET_CONTINUOUS_TIF} - ${MarketTradingMode.TRADING_MODE_BATCH_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_IOC} | ${ERROR.MARKET_CONTINUOUS_TIF} - ${MarketTradingMode.TRADING_MODE_MONITORING_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_IOC} | ${ERROR.MARKET_CONTINUOUS_TIF} - ${MarketTradingMode.TRADING_MODE_OPENING_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_IOC} | ${ERROR.MARKET_CONTINUOUS_TIF} - ${MarketTradingMode.TRADING_MODE_BATCH_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_GFN} | ${ERROR.MARKET_CONTINUOUS_TIF} - ${MarketTradingMode.TRADING_MODE_MONITORING_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_GFN} | ${ERROR.MARKET_CONTINUOUS_TIF} - ${MarketTradingMode.TRADING_MODE_OPENING_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_GFN} | ${ERROR.MARKET_CONTINUOUS_TIF} + tradingMode | orderTimeInForce | errorMessage + ${Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_FOK} | ${ERROR.MARKET_CONTINUOUS_TIF} + ${Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_FOK} | ${ERROR.MARKET_CONTINUOUS_TIF} + ${Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_FOK} | ${ERROR.MARKET_CONTINUOUS_TIF} + ${Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_IOC} | ${ERROR.MARKET_CONTINUOUS_TIF} + ${Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_IOC} | ${ERROR.MARKET_CONTINUOUS_TIF} + ${Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_IOC} | ${ERROR.MARKET_CONTINUOUS_TIF} + ${Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_GFN} | ${ERROR.MARKET_CONTINUOUS_TIF} + ${Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_GFN} | ${ERROR.MARKET_CONTINUOUS_TIF} + ${Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION} | ${Schema.OrderTimeInForce.TIME_IN_FORCE_GFN} | ${ERROR.MARKET_CONTINUOUS_TIF} `( `Returns an error message when submitting a limit order with a "$orderTimeInForce" value to a "$tradingMode" market`, ({ tradingMode, orderTimeInForce, errorMessage }) => { @@ -310,8 +305,8 @@ describe('useOrderValidation', () => { it.each` state - ${MarketState.STATE_PENDING} - ${MarketState.STATE_PROPOSED} + ${Schema.MarketState.STATE_PENDING} + ${Schema.MarketState.STATE_PROPOSED} `( 'Returns error when market state is pending and size is wrong', ({ state }) => { diff --git a/libs/deal-ticket/src/components/deal-ticket-validation/use-order-validation.tsx b/libs/deal-ticket/src/components/deal-ticket-validation/use-order-validation.tsx index 8e6c6d9c8..fb2b642a0 100644 --- a/libs/deal-ticket/src/components/deal-ticket-validation/use-order-validation.tsx +++ b/libs/deal-ticket/src/components/deal-ticket-validation/use-order-validation.tsx @@ -3,13 +3,7 @@ import type { FieldErrors } from 'react-hook-form'; import { useMemo } from 'react'; import { t, toDecimal } from '@vegaprotocol/react-helpers'; import { useVegaWallet } from '@vegaprotocol/wallet'; -import { - AuctionTrigger, - MarketState, - MarketStateMapping, - MarketTradingMode, - Schema, -} from '@vegaprotocol/types'; +import { MarketStateMapping, Schema } from '@vegaprotocol/types'; import type { OrderSubmissionBody } from '@vegaprotocol/wallet'; import { Tooltip } from '@vegaprotocol/ui-toolkit'; import { MarketDataGrid } from '../trading-mode-tooltip'; @@ -23,9 +17,9 @@ import { DEAL_TICKET_SECTION, ERROR_SIZE_DECIMAL } from '../constants'; export const isMarketInAuction = (market: DealTicketMarketFragment) => { return [ - MarketTradingMode.TRADING_MODE_BATCH_AUCTION, - MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, - MarketTradingMode.TRADING_MODE_OPENING_AUCTION, + Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION, + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, + Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION, ].includes(market.tradingMode); }; @@ -38,9 +32,9 @@ export type ValidationProps = { estMargin: OrderMargin | null; }; -export const marketTranslations = (marketState: MarketState) => { +export const marketTranslations = (marketState: Schema.MarketState) => { switch (marketState) { - case MarketState.STATE_TRADING_TERMINATED: + case Schema.MarketState.STATE_TRADING_TERMINATED: return t('terminated'); default: return t(MarketStateMapping[marketState]).toLowerCase(); @@ -170,11 +164,11 @@ export const useOrderValidation = ({ if ( [ - MarketState.STATE_SETTLED, - MarketState.STATE_REJECTED, - MarketState.STATE_TRADING_TERMINATED, - MarketState.STATE_CANCELLED, - MarketState.STATE_CLOSED, + Schema.MarketState.STATE_SETTLED, + Schema.MarketState.STATE_REJECTED, + Schema.MarketState.STATE_TRADING_TERMINATED, + Schema.MarketState.STATE_CANCELLED, + Schema.MarketState.STATE_CLOSED, ].includes(market.state) ) { return { @@ -189,9 +183,10 @@ export const useOrderValidation = ({ } if ( - [MarketState.STATE_PROPOSED, MarketState.STATE_PENDING].includes( - market.state - ) + [ + Schema.MarketState.STATE_PROPOSED, + Schema.MarketState.STATE_PENDING, + ].includes(market.state) ) { if (fieldErrorChecking) { return fieldErrorChecking; @@ -211,8 +206,9 @@ export const useOrderValidation = ({ if (orderType === Schema.OrderType.TYPE_MARKET) { if ( market.tradingMode === - MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && - market.data?.trigger === AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && + market.data?.trigger === + Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY ) { return { isDisabled: true, @@ -235,8 +231,8 @@ export const useOrderValidation = ({ } if ( market.tradingMode === - MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && - market.data?.trigger === AuctionTrigger.AUCTION_TRIGGER_PRICE + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && + market.data?.trigger === Schema.AuctionTrigger.AUCTION_TRIGGER_PRICE ) { return { isDisabled: true, @@ -275,8 +271,9 @@ export const useOrderValidation = ({ ) { if ( market.tradingMode === - MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && - market.data?.trigger === AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && + market.data?.trigger === + Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY ) { return { isDisabled: true, @@ -301,8 +298,8 @@ export const useOrderValidation = ({ } if ( market.tradingMode === - MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && - market.data?.trigger === AuctionTrigger.AUCTION_TRIGGER_PRICE + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && + market.data?.trigger === Schema.AuctionTrigger.AUCTION_TRIGGER_PRICE ) { return { isDisabled: true, @@ -349,9 +346,9 @@ export const useOrderValidation = ({ if ( [ - MarketTradingMode.TRADING_MODE_BATCH_AUCTION, - MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, - MarketTradingMode.TRADING_MODE_OPENING_AUCTION, + Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION, + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, + Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION, ].includes(market.tradingMode) ) { return { diff --git a/libs/deal-ticket/src/components/deal-ticket/market-selector.tsx b/libs/deal-ticket/src/components/deal-ticket/market-selector.tsx index 97e8c474c..3cbc99c9f 100644 --- a/libs/deal-ticket/src/components/deal-ticket/market-selector.tsx +++ b/libs/deal-ticket/src/components/deal-ticket/market-selector.tsx @@ -23,7 +23,7 @@ import { useDataProvider, } from '@vegaprotocol/react-helpers'; import { IconNames } from '@blueprintjs/icons'; -import { MarketState } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { Market } from '@vegaprotocol/market-list'; import { marketsProvider } from '@vegaprotocol/market-list'; @@ -246,7 +246,7 @@ export const MarketSelector = ({ market, setMarket, ItemRenderer }: Props) => { setResults( data?.filter( (item) => - item.state === MarketState.STATE_ACTIVE && + item.state === Schema.MarketState.STATE_ACTIVE && item.tradableInstrument.instrument.name.match( new RegExp(escapeRegExp(lookup), 'i') ) diff --git a/libs/deal-ticket/src/components/trading-mode-tooltip/compile-grid-data.tsx b/libs/deal-ticket/src/components/trading-mode-tooltip/compile-grid-data.tsx index 6b2ca90cc..e6d1378e9 100644 --- a/libs/deal-ticket/src/components/trading-mode-tooltip/compile-grid-data.tsx +++ b/libs/deal-ticket/src/components/trading-mode-tooltip/compile-grid-data.tsx @@ -3,7 +3,7 @@ import { getDateTimeFormat, addDecimalsNormalizeNumber, } from '@vegaprotocol/react-helpers'; -import { MarketTradingMode, AuctionTrigger } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import { Link as UILink } from '@vegaprotocol/ui-toolkit'; import type { ReactNode } from 'react'; import type { MarketDataGridProps } from './market-data-grid'; @@ -16,8 +16,9 @@ export const compileGridData = ( ): { label: ReactNode; value?: ReactNode }[] => { const grid: MarketDataGridProps['grid'] = []; const isLiquidityMonitoringAuction = - market.tradingMode === MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && - market.data?.trigger === AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY; + market.tradingMode === + Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION && + market.data?.trigger === Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY; const formatStake = (value: string) => { const formattedValue = addDecimalsNormalizeNumber( diff --git a/libs/deal-ticket/src/components/trading-mode-tooltip/trading-mode-tooltip.tsx b/libs/deal-ticket/src/components/trading-mode-tooltip/trading-mode-tooltip.tsx index 4903a89fa..498f060bb 100644 --- a/libs/deal-ticket/src/components/trading-mode-tooltip/trading-mode-tooltip.tsx +++ b/libs/deal-ticket/src/components/trading-mode-tooltip/trading-mode-tooltip.tsx @@ -1,5 +1,5 @@ import { t } from '@vegaprotocol/react-helpers'; -import { AuctionTrigger, MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import { ExternalLink } from '@vegaprotocol/ui-toolkit'; import { createDocsLinks } from '@vegaprotocol/react-helpers'; import { MarketDataGrid } from './market-data-grid'; @@ -8,8 +8,8 @@ import type { ReactNode } from 'react'; import { useEnvironment } from '@vegaprotocol/environment'; type TradingModeTooltipProps = { - tradingMode: MarketTradingMode | null; - trigger: AuctionTrigger | null; + tradingMode: Schema.MarketTradingMode | null; + trigger: Schema.AuctionTrigger | null; compiledGrid?: { label: ReactNode; value?: ReactNode }[]; }; @@ -20,7 +20,7 @@ export const TradingModeTooltip = ({ }: TradingModeTooltipProps) => { const { VEGA_DOCS_URL } = useEnvironment(); switch (tradingMode) { - case MarketTradingMode.TRADING_MODE_CONTINUOUS: { + case Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS: { return (
{t( @@ -29,7 +29,7 @@ export const TradingModeTooltip = ({
); } - case MarketTradingMode.TRADING_MODE_OPENING_AUCTION: { + case Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION: { return (

@@ -50,9 +50,9 @@ export const TradingModeTooltip = ({

); } - case MarketTradingMode.TRADING_MODE_MONITORING_AUCTION: { + case Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION: { switch (trigger) { - case AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY: { + case Schema.AuctionTrigger.AUCTION_TRIGGER_LIQUIDITY: { return (

@@ -76,7 +76,7 @@ export const TradingModeTooltip = ({

); } - case AuctionTrigger.AUCTION_TRIGGER_PRICE: { + case Schema.AuctionTrigger.AUCTION_TRIGGER_PRICE: { return (

@@ -103,14 +103,14 @@ export const TradingModeTooltip = ({ } } } - case MarketTradingMode.TRADING_MODE_NO_TRADING: { + case Schema.MarketTradingMode.TRADING_MODE_NO_TRADING: { return (

{t('No trading enabled for this market.')}
); } - case MarketTradingMode.TRADING_MODE_BATCH_AUCTION: + case Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION: default: { return null; } diff --git a/libs/deal-ticket/src/hooks/use-maximum-position-size.spec.ts b/libs/deal-ticket/src/hooks/use-maximum-position-size.spec.ts index 2003ed432..1457db7fd 100644 --- a/libs/deal-ticket/src/hooks/use-maximum-position-size.spec.ts +++ b/libs/deal-ticket/src/hooks/use-maximum-position-size.spec.ts @@ -1,5 +1,5 @@ import { renderHook } from '@testing-library/react'; -import { AccountType, Schema } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { PositionMargin } from './use-market-positions'; import { BigNumber } from 'bignumber.js'; import { useMaximumPositionSize } from './use-maximum-position-size'; @@ -15,7 +15,7 @@ let mockMarketPositions: PositionMargin | null = defaultMockMarketPositions; const mockAccount: Account = { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Schema.AccountType.ACCOUNT_TYPE_GENERAL, balance: '200000', asset: { __typename: 'Asset', diff --git a/libs/deal-ticket/src/hooks/use-maximum-position-size.ts b/libs/deal-ticket/src/hooks/use-maximum-position-size.ts index 52af5c84e..48c59403e 100644 --- a/libs/deal-ticket/src/hooks/use-maximum-position-size.ts +++ b/libs/deal-ticket/src/hooks/use-maximum-position-size.ts @@ -1,7 +1,7 @@ import { useMarketPositions } from './use-market-positions'; import type { OrderSubmissionBody } from '@vegaprotocol/wallet'; import { useSettlementAccount } from './use-settlement-account'; -import { AccountType, Schema } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import { BigNumber } from 'bignumber.js'; import type { AccountFragment as Account } from './__generated__/PartyBalance'; @@ -28,7 +28,7 @@ export const useMaximumPositionSize = ({ const settlementAccount = useSettlementAccount( settlementAssetId, accounts, - AccountType.ACCOUNT_TYPE_GENERAL + Schema.AccountType.ACCOUNT_TYPE_GENERAL ); const marketPositions = useMarketPositions({ marketId: marketId, partyId }); diff --git a/libs/deal-ticket/src/hooks/use-settlement-account.spec.tsx b/libs/deal-ticket/src/hooks/use-settlement-account.spec.tsx index 90670d73f..61b79232b 100644 --- a/libs/deal-ticket/src/hooks/use-settlement-account.spec.tsx +++ b/libs/deal-ticket/src/hooks/use-settlement-account.spec.tsx @@ -1,6 +1,6 @@ import { renderHook } from '@testing-library/react'; import { useSettlementAccount } from './use-settlement-account'; -import { AccountType } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { AccountFragment as Account } from './__generated__/PartyBalance'; describe('useSettlementAccount Hook', () => { @@ -8,7 +8,7 @@ describe('useSettlementAccount Hook', () => { const accounts: Account[] = [ { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Schema.AccountType.ACCOUNT_TYPE_GENERAL, balance: '2000000000000000000000', asset: { __typename: 'Asset', @@ -20,7 +20,7 @@ describe('useSettlementAccount Hook', () => { }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Schema.AccountType.ACCOUNT_TYPE_GENERAL, balance: '1000000000', asset: { __typename: 'Asset', @@ -32,7 +32,7 @@ describe('useSettlementAccount Hook', () => { }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Schema.AccountType.ACCOUNT_TYPE_GENERAL, balance: '5000000000000000000', asset: { __typename: 'Asset', @@ -44,7 +44,7 @@ describe('useSettlementAccount Hook', () => { }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_MARGIN, + type: Schema.AccountType.ACCOUNT_TYPE_MARGIN, balance: '5000000000000000000', asset: { __typename: 'Asset', @@ -67,7 +67,11 @@ describe('useSettlementAccount Hook', () => { expect(resultDai.current?.asset).toEqual(accounts[1].asset); const { result: resultVega } = renderHook(() => - useSettlementAccount(vega, accounts, AccountType.ACCOUNT_TYPE_MARGIN) + useSettlementAccount( + vega, + accounts, + Schema.AccountType.ACCOUNT_TYPE_MARGIN + ) ); expect(resultVega.current?.balance).toBe(accounts[3].balance); diff --git a/libs/deal-ticket/src/hooks/use-settlement-account.ts b/libs/deal-ticket/src/hooks/use-settlement-account.ts index 36d2ab3b1..10ef3d46c 100644 --- a/libs/deal-ticket/src/hooks/use-settlement-account.ts +++ b/libs/deal-ticket/src/hooks/use-settlement-account.ts @@ -1,11 +1,11 @@ -import type { AccountType } from '@vegaprotocol/types'; +import type { Schema } from '@vegaprotocol/types'; import { useMemo } from 'react'; import type { AccountFragment as Account } from './__generated__/PartyBalance'; export const useSettlementAccount = ( settlementAssetId: string, accounts: Account[], - type?: AccountType + type?: Schema.AccountType ): Account | null => { const callback = () => accounts.find((account) => { diff --git a/libs/fills/src/lib/test-helpers.ts b/libs/fills/src/lib/test-helpers.ts index 31d952b83..7c83df818 100644 --- a/libs/fills/src/lib/test-helpers.ts +++ b/libs/fills/src/lib/test-helpers.ts @@ -1,8 +1,10 @@ import merge from 'lodash/merge'; import type { PartialDeep } from 'type-fest'; -import { MarketState, MarketTradingMode, Schema } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { Trade } from './fills-data-provider'; +const { MarketState, MarketTradingMode } = Schema; + export const generateFill = (override?: PartialDeep) => { const defaultFill: Trade = { __typename: 'Trade', diff --git a/libs/liquidity/src/lib/liquidity-data-provider.ts b/libs/liquidity/src/lib/liquidity-data-provider.ts index 662c4555d..0dce0a377 100644 --- a/libs/liquidity/src/lib/liquidity-data-provider.ts +++ b/libs/liquidity/src/lib/liquidity-data-provider.ts @@ -3,7 +3,7 @@ import { makeDataProvider, makeDerivedDataProvider, } from '@vegaprotocol/react-helpers'; -import { AccountType } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import BigNumber from 'bignumber.js'; import produce from 'immer'; @@ -197,7 +197,7 @@ export const getLiquidityProvision = ( market?.tradableInstrument.instrument.product.settlementAsset.decimals, balance: accounts - ?.filter((a) => a?.type === AccountType.ACCOUNT_TYPE_BOND) + ?.filter((a) => a?.type === Schema.AccountType.ACCOUNT_TYPE_BOND) ?.reduce( (acc, a) => acc.plus(new BigNumber(a.balance ?? 0)), new BigNumber(0) diff --git a/libs/market-depth/src/lib/orderbook-data.ts b/libs/market-depth/src/lib/orderbook-data.ts index 60b56f35c..f52a49be0 100644 --- a/libs/market-depth/src/lib/orderbook-data.ts +++ b/libs/market-depth/src/lib/orderbook-data.ts @@ -3,7 +3,7 @@ import uniqBy from 'lodash/uniqBy'; import reverse from 'lodash/reverse'; import cloneDeep from 'lodash/cloneDeep'; import { VolumeType } from '@vegaprotocol/react-helpers'; -import { MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { MarketData } from '@vegaprotocol/market-list'; import type { PriceLevelFieldsFragment } from './__generated___/MarketDepth'; export interface CumulativeVol { @@ -352,8 +352,8 @@ export const generateMockData = ({ indicativeVolume: indicativeVolume?.toString(), marketTradingMode: overlap > 0 - ? MarketTradingMode.TRADING_MODE_BATCH_AUCTION - : MarketTradingMode.TRADING_MODE_CONTINUOUS, + ? Schema.MarketTradingMode.TRADING_MODE_BATCH_AUCTION + : Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, ...mapMarketData( { staticMidPrice: '', diff --git a/libs/market-depth/src/lib/orderbook.tsx b/libs/market-depth/src/lib/orderbook.tsx index 6b5ce5a7d..e5a932bfe 100644 --- a/libs/market-depth/src/lib/orderbook.tsx +++ b/libs/market-depth/src/lib/orderbook.tsx @@ -20,7 +20,7 @@ import { ThemeContext, useResizeObserver, } from '@vegaprotocol/react-helpers'; -import { MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import { OrderbookRow } from './orderbook-row'; import { createRow, getPriceLevel } from './orderbook-data'; import { Icon, Splash } from '@vegaprotocol/ui-toolkit'; @@ -545,7 +545,8 @@ export const Orderbook = ({ cumulativeAsk={data.cumulativeVol.ask} cumulativeRelativeAsk={data.cumulativeVol.relativeAsk} indicativeVolume={ - marketTradingMode !== MarketTradingMode.TRADING_MODE_CONTINUOUS && + marketTradingMode !== + Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS && indicativePrice === data.price ? indicativeVolume : undefined diff --git a/libs/market-info/src/components/market-info/info-market.tsx b/libs/market-info/src/components/market-info/info-market.tsx index 31a692c39..78ac509e1 100644 --- a/libs/market-info/src/components/market-info/info-market.tsx +++ b/libs/market-info/src/components/market-info/info-market.tsx @@ -8,7 +8,6 @@ import { useYesterday, } from '@vegaprotocol/react-helpers'; import { - AccountType, Schema, MarketStateMapping, MarketTradingModeMapping, @@ -156,7 +155,7 @@ export const Info = ({ market, onSelect }: InfoProps) => { ), }, ...(market.accounts || []) - .filter((a) => a.type === AccountType.ACCOUNT_TYPE_INSURANCE) + .filter((a) => a.type === Schema.AccountType.ACCOUNT_TYPE_INSURANCE) .map((a) => ({ title: t(`Insurance pool`), content: ( diff --git a/libs/market-list/src/lib/components/markets-container/market-list-table.tsx b/libs/market-list/src/lib/components/markets-container/market-list-table.tsx index e8ef39e0b..45ac9e043 100644 --- a/libs/market-list/src/lib/components/markets-container/market-list-table.tsx +++ b/libs/market-list/src/lib/components/markets-container/market-list-table.tsx @@ -15,14 +15,15 @@ import { AgGridDynamic as AgGrid } from '@vegaprotocol/ui-toolkit'; import { AgGridColumn } from 'ag-grid-react'; import type { AgGridReact } from 'ag-grid-react'; import { - MarketTradingMode, - AuctionTrigger, + Schema, MarketTradingModeMapping, AuctionTriggerMapping, } from '@vegaprotocol/types'; import type { MarketWithData } from '../../'; import { useAssetDetailsDialogStore } from '@vegaprotocol/assets'; +const { MarketTradingMode, AuctionTrigger } = Schema; + export const getRowId = ({ data }: { data: { id: string } }) => data.id; export const MarketListTable = forwardRef< 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 a87d39b49..9eb43534e 100644 --- a/libs/market-list/src/lib/utils/market-utils.spec.tsx +++ b/libs/market-list/src/lib/utils/market-utils.spec.tsx @@ -1,6 +1,7 @@ -import { MarketState, MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { Market } from '../markets-provider'; import { filterAndSortMarkets, totalFeesPercentage } from './market-utils'; +const { MarketState, MarketTradingMode } = Schema; const MARKET_A: Partial = { id: '1', diff --git a/libs/market-list/src/lib/utils/market-utils.ts b/libs/market-list/src/lib/utils/market-utils.ts index acb683ab0..d3f3d3f08 100644 --- a/libs/market-list/src/lib/utils/market-utils.ts +++ b/libs/market-list/src/lib/utils/market-utils.ts @@ -1,8 +1,9 @@ import { formatNumberPercentage } from '@vegaprotocol/react-helpers'; -import { MarketState, MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import BigNumber from 'bignumber.js'; import orderBy from 'lodash/orderBy'; import type { Market, Candle } from '../'; +const { MarketState, MarketTradingMode } = Schema; export const totalFees = (fees: Market['fees']['factors']) => { return fees diff --git a/libs/orders/src/lib/components/mocks/generate-orders.ts b/libs/orders/src/lib/components/mocks/generate-orders.ts index d14c1b8c8..9d4e75ccb 100644 --- a/libs/orders/src/lib/components/mocks/generate-orders.ts +++ b/libs/orders/src/lib/components/mocks/generate-orders.ts @@ -1,5 +1,5 @@ import merge from 'lodash/merge'; -import { MarketState, MarketTradingMode, Schema } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { Order } from '../'; import type { PartialDeep } from 'type-fest'; @@ -26,7 +26,7 @@ export const generateOrder = (partialOrder?: PartialDeep) => { open: '', }, positionDecimalPlaces: 2, - state: MarketState.STATE_ACTIVE, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { __typename: 'TradableInstrument', instrument: { @@ -49,7 +49,7 @@ export const generateOrder = (partialOrder?: PartialDeep) => { }, }, }, - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, }, size: '10', type: Schema.OrderType.TYPE_MARKET, diff --git a/libs/orders/src/lib/order-hooks/use-order-submit.spec.tsx b/libs/orders/src/lib/order-hooks/use-order-submit.spec.tsx index 450324b10..3be4801dd 100644 --- a/libs/orders/src/lib/order-hooks/use-order-submit.spec.tsx +++ b/libs/orders/src/lib/order-hooks/use-order-submit.spec.tsx @@ -1,7 +1,7 @@ import { act, renderHook } from '@testing-library/react'; import type { PubKey, VegaWalletContextShape } from '@vegaprotocol/wallet'; import { VegaTxStatus, VegaWalletContext } from '@vegaprotocol/wallet'; -import { MarketState, MarketTradingMode, Schema } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { ReactNode } from 'react'; import type { OrderSubmissionBody } from '@vegaprotocol/wallet'; import { useOrderSubmit } from './use-order-submit'; @@ -16,8 +16,8 @@ const defaultMarket = { id: 'market-id', decimalPlaces: 2, positionDecimalPlaces: 1, - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, - state: MarketState.STATE_ACTIVE, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, + state: Schema.MarketState.STATE_ACTIVE, tradableInstrument: { __typename: 'TradableInstrument', instrument: { diff --git a/libs/positions/src/lib/positions-data-providers.spec.ts b/libs/positions/src/lib/positions-data-providers.spec.ts index af8b80558..1234c9255 100644 --- a/libs/positions/src/lib/positions-data-providers.spec.ts +++ b/libs/positions/src/lib/positions-data-providers.spec.ts @@ -1,4 +1,4 @@ -import { AccountType, MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { Account } from '@vegaprotocol/accounts'; import type { MarketWithData } from '@vegaprotocol/market-list'; import type { PositionsQuery, MarginsQuery } from './__generated__/Positions'; @@ -7,7 +7,7 @@ import { getMetrics, rejoinPositionData } from './positions-data-providers'; const accounts = [ { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_GENERAL, + type: Schema.AccountType.ACCOUNT_TYPE_GENERAL, asset: { __typename: 'Asset', symbol: 'tDAI', @@ -19,7 +19,7 @@ const accounts = [ }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_MARGIN, + type: Schema.AccountType.ACCOUNT_TYPE_MARGIN, asset: { __typename: 'Asset', symbol: 'tDAI', @@ -41,7 +41,7 @@ const accounts = [ }, { __typename: 'AccountBalance', - type: AccountType.ACCOUNT_TYPE_MARGIN, + type: Schema.AccountType.ACCOUNT_TYPE_MARGIN, asset: { __typename: 'Asset', symbol: 'tDAI', @@ -110,7 +110,7 @@ const marketsData = [ __typename: 'Market', id: '5e6035fe6a6df78c9ec44b333c231e63d357acef0a0620d2c243f5865d1dc0d8', decimalPlaces: 5, - tradingMode: MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_MONITORING_AUCTION, positionDecimalPlaces: 0, tradableInstrument: { __typename: 'TradableInstrument', @@ -137,7 +137,7 @@ const marketsData = [ __typename: 'Market', id: '10c4b1114d2f6fda239b73d018bca55888b6018f0ac70029972a17fea0a6a56e', decimalPlaces: 5, - tradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + tradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, positionDecimalPlaces: 0, tradableInstrument: { __typename: 'TradableInstrument', diff --git a/libs/positions/src/lib/positions-data-providers.ts b/libs/positions/src/lib/positions-data-providers.ts index a3231d45b..090f8c9b5 100644 --- a/libs/positions/src/lib/positions-data-providers.ts +++ b/libs/positions/src/lib/positions-data-providers.ts @@ -9,8 +9,7 @@ import { makeDataProvider, makeDerivedDataProvider, } from '@vegaprotocol/react-helpers'; -import { AccountType } from '@vegaprotocol/types'; -import type { MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import type { MarketWithData } from '@vegaprotocol/market-list'; import { marketsWithDataProvider } from '@vegaprotocol/market-list'; import type { @@ -54,7 +53,7 @@ export interface Position { liquidationPrice: string; lowMarginLevel: boolean; marketId: string; - marketTradingMode: MarketTradingMode; + marketTradingMode: Schema.MarketTradingMode; markPrice: string; notional: string; openVolume: string; @@ -96,7 +95,7 @@ export const getMetrics = ( const generalAccount = accounts?.find( (account) => account.asset.id === marginAccount.asset.id && - account.type === AccountType.ACCOUNT_TYPE_GENERAL + account.type === Schema.AccountType.ACCOUNT_TYPE_GENERAL ); const decimals = marginAccount.asset.decimals; const { positionDecimalPlaces, decimalPlaces: marketDecimalPlaces } = diff --git a/libs/positions/src/lib/positions-table.spec.tsx b/libs/positions/src/lib/positions-table.spec.tsx index 6a7f8efc7..7880d2f5b 100644 --- a/libs/positions/src/lib/positions-table.spec.tsx +++ b/libs/positions/src/lib/positions-table.spec.tsx @@ -2,7 +2,7 @@ import type { RenderResult } from '@testing-library/react'; import { act, render, screen } from '@testing-library/react'; import PositionsTable from './positions-table'; import type { Position } from './positions-data-providers'; -import { MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; const singleRow: Position = { marketName: 'ETH/BTC (31 july 2022)', @@ -17,7 +17,7 @@ const singleRow: Position = { liquidationPrice: '83', lowMarginLevel: false, marketId: 'string', - marketTradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + marketTradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, markPrice: '123', notional: '12300', openVolume: '100', @@ -120,7 +120,8 @@ it('displays mark price', async () => { rowData={[ { ...singleRow, - marketTradingMode: MarketTradingMode.TRADING_MODE_OPENING_AUCTION, + marketTradingMode: + Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION, }, ]} /> diff --git a/libs/positions/src/lib/positions-table.stories.tsx b/libs/positions/src/lib/positions-table.stories.tsx index 8df777804..c07beddac 100644 --- a/libs/positions/src/lib/positions-table.stories.tsx +++ b/libs/positions/src/lib/positions-table.stories.tsx @@ -2,7 +2,7 @@ import BigNumber from 'bignumber.js'; import type { Story, Meta } from '@storybook/react'; import { PositionsTable } from './positions-table'; import type { Position } from './positions-data-providers'; -import { MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; export default { component: PositionsTable, @@ -29,12 +29,12 @@ const longPosition: Position = { // leverageSearch: '0', liquidationPrice: '1129935', lowMarginLevel: false, - marginAccountBalance: new BigNumber('0'), + marginAccountBalance: new BigNumber('0').toString(), // marginMaintenance: '0', // marginSearch: '0', // marginInitial: '0', marketId: 'marketId1', - marketTradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + marketTradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, markPrice: '1131894', notional: '46667989', openVolume: '4123', @@ -61,12 +61,12 @@ const shortPosition: Position = { // leverageSearch: '0', liquidationPrice: '23734', lowMarginLevel: false, - marginAccountBalance: new BigNumber('0'), + marginAccountBalance: new BigNumber('0').toString(), // marginMaintenance: '0', // marginSearch: '0', // marginInitial: '0', marketId: 'marketId2', - marketTradingMode: MarketTradingMode.TRADING_MODE_CONTINUOUS, + marketTradingMode: Schema.MarketTradingMode.TRADING_MODE_CONTINUOUS, markPrice: '24123', notional: '836344', openVolume: '-3467', diff --git a/libs/positions/src/lib/positions-table.tsx b/libs/positions/src/lib/positions-table.tsx index b50dee6a7..f1b27f6c2 100644 --- a/libs/positions/src/lib/positions-table.tsx +++ b/libs/positions/src/lib/positions-table.tsx @@ -28,7 +28,7 @@ import { AgGridDynamic as AgGrid } from '@vegaprotocol/ui-toolkit'; import { AgGridColumn } from 'ag-grid-react'; import type { AgGridReact } from 'ag-grid-react'; import type { Position } from './positions-data-providers'; -import { MarketTradingMode } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import { Intent, Button, TooltipCellComponent } from '@vegaprotocol/ui-toolkit'; import { getRowId } from './use-positions-data'; @@ -229,7 +229,7 @@ export const PositionsTable = forwardRef( }: VegaValueGetterParams) => { return !data || data.marketTradingMode === - MarketTradingMode.TRADING_MODE_OPENING_AUCTION + Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION ? undefined : toBigNum(data.markPrice, data.marketDecimalPlaces).toNumber(); }} @@ -242,7 +242,7 @@ export const PositionsTable = forwardRef( } if ( data.marketTradingMode === - MarketTradingMode.TRADING_MODE_OPENING_AUCTION + Schema.MarketTradingMode.TRADING_MODE_OPENING_AUCTION ) { return '-'; } diff --git a/libs/react-helpers/src/lib/grid/date-range-filter.tsx b/libs/react-helpers/src/lib/grid/date-range-filter.tsx index e3547e059..6aff10c4b 100644 --- a/libs/react-helpers/src/lib/grid/date-range-filter.tsx +++ b/libs/react-helpers/src/lib/grid/date-range-filter.tsx @@ -1,10 +1,10 @@ import type { ChangeEvent } from 'react'; -import type { Schema as Types } from '@vegaprotocol/types'; +import type { Schema } from '@vegaprotocol/types'; import { forwardRef, useEffect, useImperativeHandle, useState } from 'react'; import type { IDoesFilterPassParams, IFilterParams } from 'ag-grid-community'; import { isValidDate } from '../format/date'; -const defaultFilterValue: Types.DateRange = {}; +const defaultFilterValue: Schema.DateRange = {}; const toInputValue = (value: string) => { const date = new Date(value); @@ -21,7 +21,7 @@ const toInputValue = (value: string) => { }; export const DateRangeFilter = forwardRef((props: IFilterParams, ref) => { - const [value, setValue] = useState(defaultFilterValue); + const [value, setValue] = useState(defaultFilterValue); // expose AG Grid Filter Lifecycle callbacks useImperativeHandle(ref, () => { @@ -68,7 +68,7 @@ export const DateRangeFilter = forwardRef((props: IFilterParams, ref) => { return { value }; }, - setModel(model?: { value: Types.DateRange } | null) { + setModel(model?: { value: Schema.DateRange } | null) { setValue(model?.value || defaultFilterValue); }, }; diff --git a/libs/types/apollo.config.js b/libs/types/apollo.config.js index 722d2234d..caf755a20 100644 --- a/libs/types/apollo.config.js +++ b/libs/types/apollo.config.js @@ -12,6 +12,7 @@ module.exports = { '../../apps/trading/client.graphql', ], excludes: [ + '../../apps/explorer/**', '**/generic-data-provider.ts', '**/__generated___/*', '../../libs/accounts/**', diff --git a/libs/types/src/__generated__/globalTypes.ts b/libs/types/src/__generated__/globalTypes.ts index 717a7e941..f183d8678 100644 --- a/libs/types/src/__generated__/globalTypes.ts +++ b/libs/types/src/__generated__/globalTypes.ts @@ -7,36 +7,6 @@ // START Enums and Input Objects //============================================================== -/** - * The various account types in Vega (used by collateral) - */ -export enum AccountType { - ACCOUNT_TYPE_BOND = "ACCOUNT_TYPE_BOND", - ACCOUNT_TYPE_EXTERNAL = "ACCOUNT_TYPE_EXTERNAL", - ACCOUNT_TYPE_FEES_INFRASTRUCTURE = "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", - ACCOUNT_TYPE_FEES_LIQUIDITY = "ACCOUNT_TYPE_FEES_LIQUIDITY", - ACCOUNT_TYPE_FEES_MAKER = "ACCOUNT_TYPE_FEES_MAKER", - ACCOUNT_TYPE_GENERAL = "ACCOUNT_TYPE_GENERAL", - ACCOUNT_TYPE_GLOBAL_INSURANCE = "ACCOUNT_TYPE_GLOBAL_INSURANCE", - ACCOUNT_TYPE_GLOBAL_REWARD = "ACCOUNT_TYPE_GLOBAL_REWARD", - ACCOUNT_TYPE_INSURANCE = "ACCOUNT_TYPE_INSURANCE", - ACCOUNT_TYPE_MARGIN = "ACCOUNT_TYPE_MARGIN", - ACCOUNT_TYPE_PENDING_TRANSFERS = "ACCOUNT_TYPE_PENDING_TRANSFERS", - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES = "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES = "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES = "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS = "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", - ACCOUNT_TYPE_SETTLEMENT = "ACCOUNT_TYPE_SETTLEMENT", -} - -export enum AuctionTrigger { - AUCTION_TRIGGER_BATCH = "AUCTION_TRIGGER_BATCH", - AUCTION_TRIGGER_LIQUIDITY = "AUCTION_TRIGGER_LIQUIDITY", - AUCTION_TRIGGER_OPENING = "AUCTION_TRIGGER_OPENING", - AUCTION_TRIGGER_PRICE = "AUCTION_TRIGGER_PRICE", - AUCTION_TRIGGER_UNSPECIFIED = "AUCTION_TRIGGER_UNSPECIFIED", -} - /** * Comparator describes the type of comparison. */ @@ -48,48 +18,6 @@ export enum ConditionOperator { OPERATOR_LESS_THAN_OR_EQUAL = "OPERATOR_LESS_THAN_OR_EQUAL", } -/** - * Status describe the status of the data spec - */ -export enum DataSourceSpecStatus { - STATUS_ACTIVE = "STATUS_ACTIVE", - STATUS_DEACTIVATED = "STATUS_DEACTIVATED", -} - -/** - * The current state of a market - */ -export enum MarketState { - STATE_ACTIVE = "STATE_ACTIVE", - STATE_CANCELLED = "STATE_CANCELLED", - STATE_CLOSED = "STATE_CLOSED", - STATE_PENDING = "STATE_PENDING", - STATE_PROPOSED = "STATE_PROPOSED", - STATE_REJECTED = "STATE_REJECTED", - STATE_SETTLED = "STATE_SETTLED", - STATE_SUSPENDED = "STATE_SUSPENDED", - STATE_TRADING_TERMINATED = "STATE_TRADING_TERMINATED", -} - -/** - * What market trading mode is the market in - */ -export enum MarketTradingMode { - TRADING_MODE_BATCH_AUCTION = "TRADING_MODE_BATCH_AUCTION", - TRADING_MODE_CONTINUOUS = "TRADING_MODE_CONTINUOUS", - TRADING_MODE_MONITORING_AUCTION = "TRADING_MODE_MONITORING_AUCTION", - TRADING_MODE_NO_TRADING = "TRADING_MODE_NO_TRADING", - TRADING_MODE_OPENING_AUCTION = "TRADING_MODE_OPENING_AUCTION", -} - -/** - * Validating status of a node, i.e. validator or non-validator - */ -export enum NodeStatus { - NODE_STATUS_NON_VALIDATOR = "NODE_STATUS_NON_VALIDATOR", - NODE_STATUS_VALIDATOR = "NODE_STATUS_VALIDATOR", -} - /** * Type describes the type of properties that are supported by the data source * engine. diff --git a/libs/withdraws/src/lib/use-withdraw-asset.tsx b/libs/withdraws/src/lib/use-withdraw-asset.tsx index 7cf550c3f..e473851ef 100644 --- a/libs/withdraws/src/lib/use-withdraw-asset.tsx +++ b/libs/withdraws/src/lib/use-withdraw-asset.tsx @@ -1,7 +1,7 @@ import { captureException } from '@sentry/react'; import type { Asset } from '@vegaprotocol/assets'; import { addDecimal } from '@vegaprotocol/react-helpers'; -import { AccountType } from '@vegaprotocol/types'; +import { Schema } from '@vegaprotocol/types'; import BigNumber from 'bignumber.js'; import { useCallback, useEffect } from 'react'; import type { AccountFieldsFragment } from '@vegaprotocol/accounts'; @@ -25,7 +25,7 @@ export const useWithdrawAsset = ( const asset = assets.find((a) => a.id === id); const account = accounts.find( (a) => - a.type === AccountType.ACCOUNT_TYPE_GENERAL && + a.type === Schema.AccountType.ACCOUNT_TYPE_GENERAL && a.asset.id === asset?.id ); const balance =