From a6aec899c859f5d11d7fe91540a3ee01276a2be2 Mon Sep 17 00:00:00 2001 From: Madalina Raicu Date: Mon, 18 Sep 2023 15:08:46 +0100 Subject: [PATCH 01/20] chore: update tag metamask snaps to true --- apps/trading/.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/trading/.env b/apps/trading/.env index 229258ad0..78caf98d6 100644 --- a/apps/trading/.env +++ b/apps/trading/.env @@ -23,7 +23,7 @@ NX_SUCCESSOR_MARKETS=true NX_STOP_ORDERS=true NX_ICEBERG_ORDERS=true # NX_PRODUCT_PERPETUALS -NX_METAMASK_SNAPS=false +NX_METAMASK_SNAPS=true NX_TENDERMINT_URL=https://tm.be.testnet.vega.xyz NX_TENDERMINT_WEBSOCKET_URL=wss://be.testnet.vega.xyz/websocket From 835f2b793f19c63d60d7bb9d6e43f4862ed09437 Mon Sep 17 00:00:00 2001 From: "m.ray" <16125548+MadalinaRaicu@users.noreply.github.com> Date: Wed, 20 Sep 2023 09:54:07 +0300 Subject: [PATCH 02/20] chore(trading): remove static assets console coming from vega.xyz (#4825) Co-authored-by: Matthew Russell --- .../components/banner/announcement-banner.tsx | 8 +++++- apps/trading/pages/_document.page.tsx | 25 ++++++---------- apps/trading/pages/index.page.tsx | 12 ++------ apps/trading/pages/styles.css | 7 +++++ apps/trading/public/AlphaLyrae-Medium.woff2 | Bin 0 -> 114434 bytes apps/trading/public/banner-bg.jpg | Bin 0 -> 103316 bytes apps/trading/public/favicon.ico | Bin 0 -> 7406 bytes libs/announcements/src/lib/announcements.tsx | 8 ++++-- .../announcement-banner.tsx | 27 +++++++++++++----- 9 files changed, 50 insertions(+), 37 deletions(-) create mode 100644 apps/trading/public/AlphaLyrae-Medium.woff2 create mode 100644 apps/trading/public/banner-bg.jpg create mode 100644 apps/trading/public/favicon.ico diff --git a/apps/trading/components/banner/announcement-banner.tsx b/apps/trading/components/banner/announcement-banner.tsx index 24ce66515..e0726129d 100644 --- a/apps/trading/components/banner/announcement-banner.tsx +++ b/apps/trading/components/banner/announcement-banner.tsx @@ -9,5 +9,11 @@ export const AnnouncementBanner = () => { return null; } - return ; + return ( + + ); }; diff --git a/apps/trading/pages/_document.page.tsx b/apps/trading/pages/_document.page.tsx index eedd78d36..b58ef8d04 100644 --- a/apps/trading/pages/_document.page.tsx +++ b/apps/trading/pages/_document.page.tsx @@ -4,33 +4,24 @@ export default function Document() { return ( <> - {/* + {/* meta tags - - next advised against using _document for this, so they exist in our + - next advised against using _document for this, so they exist in our - single page index.page.tsx */} - {/* icons */} - - - - {/* fonts */} + {/* preload fonts */} - {/* styles */} - + {/* icons */} + + + {/* eslint-disable-next-line @next/next/no-css-tags */} diff --git a/apps/trading/pages/index.page.tsx b/apps/trading/pages/index.page.tsx index 6e39dde55..3278d530b 100644 --- a/apps/trading/pages/index.page.tsx +++ b/apps/trading/pages/index.page.tsx @@ -19,17 +19,11 @@ export default function Index() { - - + + - + diff --git a/apps/trading/pages/styles.css b/apps/trading/pages/styles.css index 7d4f32462..0a98f72aa 100644 --- a/apps/trading/pages/styles.css +++ b/apps/trading/pages/styles.css @@ -1,6 +1,13 @@ @import 'ag-grid-community/styles/ag-grid.css'; @import 'ag-grid-community/styles/ag-theme-balham.css'; +/** Load AlphaLyrae font */ +@font-face { + font-family: AlphaLyrae; + src: url('/AlphaLyrae-Medium.woff2') format('woff2'), + url('/AlphaLyrae-Medium.woff') format('woff'); +} + @tailwind base; @tailwind components; @tailwind utilities; diff --git a/apps/trading/public/AlphaLyrae-Medium.woff2 b/apps/trading/public/AlphaLyrae-Medium.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..061d86937914dea08097222945973dbf7e3b411a GIT binary patch literal 114434 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

>5;3P1Z$9!a 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

^jIuiE)|DpY$9dyRf;WbW0#51!`1UqWBVl|Xl% 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

@@ -182,6 +185,9 @@ const GovernanceHome = ({ name }: RouteChildProps) => { pollInterval: 5000, fetchPolicy: 'network-only', errorPolicy: 'ignore', + variables: { + includeNewMarketProductFields: !!FLAGS.PRODUCT_PERPETUALS, + }, }); const { @@ -206,7 +212,9 @@ const GovernanceHome = ({ name }: RouteChildProps) => { const proposals = useMemo( () => proposalsData - ? getNotRejectedProposals(proposalsData.proposalsConnection) + ? getNotRejectedProposals( + removePaginationWrapper(proposalsData.proposalsConnection?.edges) + ) : [], [proposalsData] ); diff --git a/apps/governance/src/routes/proposals/components/proposal-detail-header/proposal-header.tsx b/apps/governance/src/routes/proposals/components/proposal-detail-header/proposal-header.tsx index a1d59cbe9..017dcce5c 100644 --- a/apps/governance/src/routes/proposals/components/proposal-detail-header/proposal-header.tsx +++ b/apps/governance/src/routes/proposals/components/proposal-detail-header/proposal-header.tsx @@ -3,7 +3,6 @@ import { Lozenge, VegaIcon, VegaIconNames } from '@vegaprotocol/ui-toolkit'; import { shorten } from '@vegaprotocol/utils'; import { Heading, SubHeading } from '../../../../components/heading'; import type { ReactNode } from 'react'; -import type { ProposalFieldsFragment } from '../../proposals/__generated__/Proposals'; import type { ProposalQuery } from '../../proposal/__generated__/Proposal'; import { truncateMiddle } from '../../../../lib/truncate-middle'; import { CurrentProposalState } from '../current-proposal-state'; @@ -20,7 +19,7 @@ export const ProposalHeader = ({ isListItem = true, voteState, }: { - proposal: ProposalFieldsFragment | ProposalQuery['proposal']; + proposal: ProposalQuery['proposal']; isListItem?: boolean; voteState?: VoteState | null; }) => { @@ -37,7 +36,10 @@ export const ProposalHeader = ({ switch (change?.__typename) { case 'NewMarket': { - proposalType = 'NewMarket'; + proposalType = + FLAGS.PRODUCT_PERPETUALS && change?.instrument?.product?.__typename + ? `NewMarket${change?.instrument?.product?.__typename}` + : 'NewMarket'; fallbackTitle = t('NewMarketProposal'); details = ( <> diff --git a/apps/governance/src/routes/proposals/components/proposal/proposal.tsx b/apps/governance/src/routes/proposals/components/proposal/proposal.tsx index 327d84cfe..9bf1800e7 100644 --- a/apps/governance/src/routes/proposals/components/proposal/proposal.tsx +++ b/apps/governance/src/routes/proposals/components/proposal/proposal.tsx @@ -10,7 +10,6 @@ import { UserVote } from '../vote-details'; import { ListAsset } from '../list-asset'; import Routes from '../../../routes'; import { ProposalMarketData } from '../proposal-market-data'; -import type { ProposalFieldsFragment } from '../../proposals/__generated__/Proposals'; import type { ProposalQuery } from '../../proposal/__generated__/Proposal'; import type { MarketInfo } from '@vegaprotocol/markets'; import type { AssetQuery } from '@vegaprotocol/assets'; @@ -22,7 +21,7 @@ import { useVoteSubmit } from '@vegaprotocol/proposals'; import { useUserVote } from '../vote-details/use-user-vote'; export interface ProposalProps { - proposal: ProposalFieldsFragment | ProposalQuery['proposal']; + proposal: ProposalQuery['proposal']; networkParams: Partial; newMarketData?: MarketInfo | null; parentMarketData?: MarketInfo | null; diff --git a/apps/governance/src/routes/proposals/components/proposals-list-item/proposals-list-item.tsx b/apps/governance/src/routes/proposals/components/proposals-list-item/proposals-list-item.tsx index 815aa3f3f..09747d2b6 100644 --- a/apps/governance/src/routes/proposals/components/proposals-list-item/proposals-list-item.tsx +++ b/apps/governance/src/routes/proposals/components/proposals-list-item/proposals-list-item.tsx @@ -2,11 +2,10 @@ import { RoundedWrapper } from '@vegaprotocol/ui-toolkit'; import { ProposalHeader } from '../proposal-detail-header/proposal-header'; import { ProposalsListItemDetails } from './proposals-list-item-details'; import { useUserVote } from '../vote-details/use-user-vote'; -import type { ProposalFieldsFragment } from '../../proposals/__generated__/Proposals'; import type { ProposalQuery } from '../../proposal/__generated__/Proposal'; interface ProposalsListItemProps { - proposal?: ProposalFieldsFragment | ProposalQuery['proposal'] | null; + proposal?: ProposalQuery['proposal'] | null; } export const ProposalsListItem = ({ proposal }: ProposalsListItemProps) => { diff --git a/apps/governance/src/routes/proposals/components/proposals-list/proposals-list.tsx b/apps/governance/src/routes/proposals/components/proposals-list/proposals-list.tsx index 91322b088..b6d651856 100644 --- a/apps/governance/src/routes/proposals/components/proposals-list/proposals-list.tsx +++ b/apps/governance/src/routes/proposals/components/proposals-list/proposals-list.tsx @@ -16,14 +16,14 @@ import type { ProtocolUpgradeProposalFieldsFragment } from '@vegaprotocol/propos import { ExternalLinks } from '@vegaprotocol/environment'; interface ProposalsListProps { - proposals: Array; + proposals: Array; protocolUpgradeProposals: ProtocolUpgradeProposalFieldsFragment[]; lastBlockHeight?: string; } interface SortedProposalsProps { - open: Array; - closed: Array; + open: ProposalQuery['proposal'][]; + closed: ProposalQuery['proposal'][]; } interface SortedProtocolUpgradeProposalsProps { @@ -31,7 +31,7 @@ interface SortedProtocolUpgradeProposalsProps { closed: ProtocolUpgradeProposalFieldsFragment[]; } -export const orderByDate = (arr: ProposalFieldsFragment[]) => +export const orderByDate = (arr: ProposalQuery['proposal'][]) => orderBy( arr, [ @@ -92,12 +92,12 @@ export const ProposalsList = ({ return { open: initialSorting.open.length > 0 - ? orderByDate(initialSorting.open as ProposalFieldsFragment[]) + ? orderByDate(initialSorting.open as ProposalQuery['proposal'][]) : [], closed: initialSorting.closed.length > 0 ? orderByDate( - initialSorting.closed as ProposalFieldsFragment[] + initialSorting.closed as ProposalQuery['proposal'][] ).reverse() : [], }; diff --git a/apps/governance/src/routes/proposals/components/proposals-list/rejected-proposals-list.tsx b/apps/governance/src/routes/proposals/components/proposals-list/rejected-proposals-list.tsx index 0b128df9d..64a90752a 100644 --- a/apps/governance/src/routes/proposals/components/proposals-list/rejected-proposals-list.tsx +++ b/apps/governance/src/routes/proposals/components/proposals-list/rejected-proposals-list.tsx @@ -3,20 +3,17 @@ import { useTranslation } from 'react-i18next'; import { Heading } from '../../../../components/heading'; import { ProposalsListItem } from '../proposals-list-item'; import { ProposalsListFilter } from '../proposals-list-filter'; -import type { ProposalFieldsFragment } from '../../proposals/__generated__/Proposals'; import type { ProposalQuery } from '../../proposal/__generated__/Proposal'; interface ProposalsListProps { - proposals: Array; + proposals: ProposalQuery['proposal'][]; } export const RejectedProposalsList = ({ proposals }: ProposalsListProps) => { const { t } = useTranslation(); const [filterString, setFilterString] = useState(''); - const filterPredicate = ( - p: ProposalFieldsFragment | ProposalQuery['proposal'] - ) => + const filterPredicate = (p: ProposalQuery['proposal']) => p?.id?.includes(filterString) || p?.party?.id?.toString().includes(filterString); diff --git a/apps/governance/src/routes/proposals/proposal/Proposal.graphql b/apps/governance/src/routes/proposals/proposal/Proposal.graphql index 8cc991576..d5afe0add 100644 --- a/apps/governance/src/routes/proposals/proposal/Proposal.graphql +++ b/apps/governance/src/routes/proposals/proposal/Proposal.graphql @@ -1,4 +1,18 @@ -query Proposal($proposalId: ID!) { +fragment NewMarketProductField on Proposal { + terms { + change { + ... on NewMarket { + instrument { + product { + __typename + } + } + } + } + } +} + +query Proposal($proposalId: ID!, $includeNewMarketProductField: Boolean!) { proposal(id: $proposalId) { id rationale { @@ -13,6 +27,7 @@ query Proposal($proposalId: ID!) { id } errorDetails + ...NewMarketProductField @include(if: $includeNewMarketProductField) terms { closingDatetime enactmentDatetime diff --git a/apps/governance/src/routes/proposals/proposal/__generated__/Proposal.ts b/apps/governance/src/routes/proposals/proposal/__generated__/Proposal.ts index fa7e80408..2aed6a862 100644 --- a/apps/governance/src/routes/proposals/proposal/__generated__/Proposal.ts +++ b/apps/governance/src/routes/proposals/proposal/__generated__/Proposal.ts @@ -3,16 +3,33 @@ import * as Types from '@vegaprotocol/types'; import { gql } from '@apollo/client'; import * as Apollo from '@apollo/client'; const defaultOptions = {} as const; +export type NewMarketProductFieldFragment = { __typename?: 'Proposal', terms: { __typename?: 'ProposalTerms', change: { __typename?: 'CancelTransfer' } | { __typename?: 'NewAsset' } | { __typename?: 'NewFreeform' } | { __typename?: 'NewMarket', instrument: { __typename?: 'InstrumentConfiguration', product?: { __typename: 'FutureProduct' } | { __typename: 'PerpetualProduct' } | { __typename: 'SpotProduct' } | null } } | { __typename?: 'NewSpotMarket' } | { __typename?: 'NewTransfer' } | { __typename?: 'UpdateAsset' } | { __typename?: 'UpdateMarket' } | { __typename?: 'UpdateMarketState' } | { __typename?: 'UpdateNetworkParameter' } | { __typename?: 'UpdateReferralProgram' } | { __typename?: 'UpdateSpotMarket' } | { __typename?: 'UpdateVolumeDiscountProgram' } } }; + export type ProposalQueryVariables = Types.Exact<{ proposalId: Types.Scalars['ID']; + includeNewMarketProductField: Types.Scalars['Boolean']; }>; -export type ProposalQuery = { __typename?: 'Query', proposal?: { __typename?: 'Proposal', id?: string | null, reference: string, state: Types.ProposalState, datetime: any, rejectionReason?: Types.ProposalRejectionReason | null, errorDetails?: string | null, rationale: { __typename?: 'ProposalRationale', title: string, description: string }, party: { __typename?: 'Party', id: string }, terms: { __typename?: 'ProposalTerms', closingDatetime: any, enactmentDatetime?: any | null, change: { __typename?: 'CancelTransfer' } | { __typename?: 'NewAsset', name: string, symbol: string, decimals: number, quantum: string, source: { __typename?: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename?: 'ERC20', contractAddress: string, lifetimeLimit: string, withdrawThreshold: string } } | { __typename?: 'NewFreeform' } | { __typename?: 'NewMarket', decimalPlaces: number, metadata?: Array | null, positionDecimalPlaces: number, linearSlippageFactor: string, quadraticSlippageFactor: string, riskParameters: { __typename?: 'LogNormalRiskModel', riskAversionParameter: number, tau: number, params: { __typename?: 'LogNormalModelParams', mu: number, r: number, sigma: number } } | { __typename?: 'SimpleRiskModel', params: { __typename?: 'SimpleRiskModelParams', factorLong: number, factorShort: number } }, instrument: { __typename?: 'InstrumentConfiguration', name: string, code: string, futureProduct?: { __typename?: 'FutureProduct', quoteName: string, settlementAsset: { __typename?: 'Asset', id: string, name: string, symbol: string, decimals: number, quantum: string }, dataSourceSpecForSettlementData: { __typename?: 'DataSourceDefinition', sourceType: { __typename?: 'DataSourceDefinitionExternal', sourceType: { __typename?: 'DataSourceSpecConfiguration', signers?: Array<{ __typename?: 'Signer', signer: { __typename?: 'ETHAddress', address?: string | null } | { __typename?: 'PubKey', key?: string | null } }> | null, filters?: Array<{ __typename?: 'Filter', key: { __typename?: 'PropertyKey', name?: string | null, type: Types.PropertyKeyType }, conditions?: Array<{ __typename?: 'Condition', operator: Types.ConditionOperator, value?: string | null }> | null }> | null } | { __typename?: 'EthCallSpec' } } | { __typename?: 'DataSourceDefinitionInternal', sourceType: { __typename?: 'DataSourceSpecConfigurationTime', conditions: Array<{ __typename?: 'Condition', operator: Types.ConditionOperator, value?: string | null } | null> } | { __typename?: 'DataSourceSpecConfigurationTimeTrigger' } } }, dataSourceSpecBinding: { __typename?: 'DataSourceSpecToFutureBinding', settlementDataProperty: string, tradingTerminationProperty: string } } | null }, priceMonitoringParameters: { __typename?: 'PriceMonitoringParameters', triggers?: Array<{ __typename?: 'PriceMonitoringTrigger', horizonSecs: number, probability: number, auctionExtensionSecs: number }> | null }, liquidityMonitoringParameters: { __typename?: 'LiquidityMonitoringParameters', triggeringRatio: string, targetStakeParameters: { __typename?: 'TargetStakeParameters', timeWindow: number, scalingFactor: number } } } | { __typename?: 'NewSpotMarket' } | { __typename?: 'NewTransfer' } | { __typename?: 'UpdateAsset', quantum: string, assetId: string, source: { __typename?: 'UpdateERC20', lifetimeLimit: string, withdrawThreshold: string } } | { __typename?: 'UpdateMarket', marketId: string, updateMarketConfiguration: { __typename?: 'UpdateMarketConfiguration', metadata?: Array | null, instrument: { __typename?: 'UpdateInstrumentConfiguration', code: string, product: { __typename?: 'UpdateFutureProduct', quoteName: string, dataSourceSpecForSettlementData: { __typename?: 'DataSourceDefinition', sourceType: { __typename?: 'DataSourceDefinitionExternal', sourceType: { __typename?: 'DataSourceSpecConfiguration', signers?: Array<{ __typename?: 'Signer', signer: { __typename?: 'ETHAddress', address?: string | null } | { __typename?: 'PubKey', key?: string | null } }> | null, filters?: Array<{ __typename?: 'Filter', key: { __typename?: 'PropertyKey', name?: string | null, type: Types.PropertyKeyType }, conditions?: Array<{ __typename?: 'Condition', operator: Types.ConditionOperator, value?: string | null }> | null }> | null } | { __typename?: 'EthCallSpec' } } | { __typename?: 'DataSourceDefinitionInternal', sourceType: { __typename?: 'DataSourceSpecConfigurationTime', conditions: Array<{ __typename?: 'Condition', operator: Types.ConditionOperator, value?: string | null } | null> } | { __typename?: 'DataSourceSpecConfigurationTimeTrigger' } } }, dataSourceSpecBinding: { __typename?: 'DataSourceSpecToFutureBinding', settlementDataProperty: string, tradingTerminationProperty: string } } | { __typename?: 'UpdatePerpetualProduct', quoteName: string, dataSourceSpecForSettlementData: { __typename?: 'DataSourceDefinition', sourceType: { __typename?: 'DataSourceDefinitionExternal', sourceType: { __typename?: 'DataSourceSpecConfiguration', signers?: Array<{ __typename?: 'Signer', signer: { __typename?: 'ETHAddress', address?: string | null } | { __typename?: 'PubKey', key?: string | null } }> | null, filters?: Array<{ __typename?: 'Filter', key: { __typename?: 'PropertyKey', name?: string | null, type: Types.PropertyKeyType }, conditions?: Array<{ __typename?: 'Condition', operator: Types.ConditionOperator, value?: string | null }> | null }> | null } | { __typename?: 'EthCallSpec' } } | { __typename?: 'DataSourceDefinitionInternal', sourceType: { __typename?: 'DataSourceSpecConfigurationTime', conditions: Array<{ __typename?: 'Condition', operator: Types.ConditionOperator, value?: string | null } | null> } | { __typename?: 'DataSourceSpecConfigurationTimeTrigger' } } }, dataSourceSpecBinding: { __typename?: 'DataSourceSpecPerpetualBinding', settlementDataProperty: string, settlementScheduleProperty: string } } }, priceMonitoringParameters: { __typename?: 'PriceMonitoringParameters', triggers?: Array<{ __typename?: 'PriceMonitoringTrigger', horizonSecs: number, probability: number, auctionExtensionSecs: number }> | null }, liquidityMonitoringParameters: { __typename?: 'LiquidityMonitoringParameters', triggeringRatio: string, targetStakeParameters: { __typename?: 'TargetStakeParameters', timeWindow: number, scalingFactor: number } }, riskParameters: { __typename?: 'UpdateMarketLogNormalRiskModel', logNormal?: { __typename?: 'LogNormalRiskModel', riskAversionParameter: number, tau: number, params: { __typename?: 'LogNormalModelParams', r: number, sigma: number, mu: number } } | null } | { __typename?: 'UpdateMarketSimpleRiskModel', simple?: { __typename?: 'SimpleRiskModelParams', factorLong: number, factorShort: number } | null } } } | { __typename?: 'UpdateMarketState' } | { __typename?: 'UpdateNetworkParameter', networkParameter: { __typename?: 'NetworkParameter', key: string, value: string } } | { __typename?: 'UpdateReferralProgram' } | { __typename?: 'UpdateSpotMarket' } | { __typename?: 'UpdateVolumeDiscountProgram' } }, votes: { __typename?: 'ProposalVotes', yes: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, totalEquityLikeShareWeight: string }, no: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, totalEquityLikeShareWeight: string } } } | null }; - +export type ProposalQuery = { __typename?: 'Query', proposal?: { __typename?: 'Proposal', id?: string | null, reference: string, state: Types.ProposalState, datetime: any, rejectionReason?: Types.ProposalRejectionReason | null, errorDetails?: string | null, rationale: { __typename?: 'ProposalRationale', title: string, description: string }, party: { __typename?: 'Party', id: string }, terms: { __typename?: 'ProposalTerms', closingDatetime: any, enactmentDatetime?: any | null, change: { __typename?: 'CancelTransfer' } | { __typename?: 'NewAsset', name: string, symbol: string, decimals: number, quantum: string, source: { __typename?: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename?: 'ERC20', contractAddress: string, lifetimeLimit: string, withdrawThreshold: string } } | { __typename?: 'NewFreeform' } | { __typename?: 'NewMarket', decimalPlaces: number, metadata?: Array | null, positionDecimalPlaces: number, linearSlippageFactor: string, quadraticSlippageFactor: string, riskParameters: { __typename?: 'LogNormalRiskModel', riskAversionParameter: number, tau: number, params: { __typename?: 'LogNormalModelParams', mu: number, r: number, sigma: number } } | { __typename?: 'SimpleRiskModel', params: { __typename?: 'SimpleRiskModelParams', factorLong: number, factorShort: number } }, instrument: { __typename?: 'InstrumentConfiguration', name: string, code: string, futureProduct?: { __typename?: 'FutureProduct', quoteName: string, settlementAsset: { __typename?: 'Asset', id: string, name: string, symbol: string, decimals: number, quantum: string }, dataSourceSpecForSettlementData: { __typename?: 'DataSourceDefinition', sourceType: { __typename?: 'DataSourceDefinitionExternal', sourceType: { __typename?: 'DataSourceSpecConfiguration', signers?: Array<{ __typename?: 'Signer', signer: { __typename?: 'ETHAddress', address?: string | null } | { __typename?: 'PubKey', key?: string | null } }> | null, filters?: Array<{ __typename?: 'Filter', key: { __typename?: 'PropertyKey', name?: string | null, type: Types.PropertyKeyType }, conditions?: Array<{ __typename?: 'Condition', operator: Types.ConditionOperator, value?: string | null }> | null }> | null } | { __typename?: 'EthCallSpec' } } | { __typename?: 'DataSourceDefinitionInternal', sourceType: { __typename?: 'DataSourceSpecConfigurationTime', conditions: Array<{ __typename?: 'Condition', operator: Types.ConditionOperator, value?: string | null } | null> } | { __typename?: 'DataSourceSpecConfigurationTimeTrigger' } } }, dataSourceSpecBinding: { __typename?: 'DataSourceSpecToFutureBinding', settlementDataProperty: string, tradingTerminationProperty: string } } | null, product?: { __typename: 'FutureProduct' } | { __typename: 'PerpetualProduct' } | { __typename: 'SpotProduct' } | null }, priceMonitoringParameters: { __typename?: 'PriceMonitoringParameters', triggers?: Array<{ __typename?: 'PriceMonitoringTrigger', horizonSecs: number, probability: number, auctionExtensionSecs: number }> | null }, liquidityMonitoringParameters: { __typename?: 'LiquidityMonitoringParameters', triggeringRatio: string, targetStakeParameters: { __typename?: 'TargetStakeParameters', timeWindow: number, scalingFactor: number } } } | { __typename?: 'NewSpotMarket' } | { __typename?: 'NewTransfer' } | { __typename?: 'UpdateAsset', quantum: string, assetId: string, source: { __typename?: 'UpdateERC20', lifetimeLimit: string, withdrawThreshold: string } } | { __typename?: 'UpdateMarket', marketId: string, updateMarketConfiguration: { __typename?: 'UpdateMarketConfiguration', metadata?: Array | null, instrument: { __typename?: 'UpdateInstrumentConfiguration', code: string, product: { __typename?: 'UpdateFutureProduct', quoteName: string, dataSourceSpecForSettlementData: { __typename?: 'DataSourceDefinition', sourceType: { __typename?: 'DataSourceDefinitionExternal', sourceType: { __typename?: 'DataSourceSpecConfiguration', signers?: Array<{ __typename?: 'Signer', signer: { __typename?: 'ETHAddress', address?: string | null } | { __typename?: 'PubKey', key?: string | null } }> | null, filters?: Array<{ __typename?: 'Filter', key: { __typename?: 'PropertyKey', name?: string | null, type: Types.PropertyKeyType }, conditions?: Array<{ __typename?: 'Condition', operator: Types.ConditionOperator, value?: string | null }> | null }> | null } | { __typename?: 'EthCallSpec' } } | { __typename?: 'DataSourceDefinitionInternal', sourceType: { __typename?: 'DataSourceSpecConfigurationTime', conditions: Array<{ __typename?: 'Condition', operator: Types.ConditionOperator, value?: string | null } | null> } | { __typename?: 'DataSourceSpecConfigurationTimeTrigger' } } }, dataSourceSpecBinding: { __typename?: 'DataSourceSpecToFutureBinding', settlementDataProperty: string, tradingTerminationProperty: string } } | { __typename?: 'UpdatePerpetualProduct', quoteName: string, dataSourceSpecForSettlementData: { __typename?: 'DataSourceDefinition', sourceType: { __typename?: 'DataSourceDefinitionExternal', sourceType: { __typename?: 'DataSourceSpecConfiguration', signers?: Array<{ __typename?: 'Signer', signer: { __typename?: 'ETHAddress', address?: string | null } | { __typename?: 'PubKey', key?: string | null } }> | null, filters?: Array<{ __typename?: 'Filter', key: { __typename?: 'PropertyKey', name?: string | null, type: Types.PropertyKeyType }, conditions?: Array<{ __typename?: 'Condition', operator: Types.ConditionOperator, value?: string | null }> | null }> | null } | { __typename?: 'EthCallSpec' } } | { __typename?: 'DataSourceDefinitionInternal', sourceType: { __typename?: 'DataSourceSpecConfigurationTime', conditions: Array<{ __typename?: 'Condition', operator: Types.ConditionOperator, value?: string | null } | null> } | { __typename?: 'DataSourceSpecConfigurationTimeTrigger' } } }, dataSourceSpecBinding: { __typename?: 'DataSourceSpecPerpetualBinding', settlementDataProperty: string, settlementScheduleProperty: string } } }, priceMonitoringParameters: { __typename?: 'PriceMonitoringParameters', triggers?: Array<{ __typename?: 'PriceMonitoringTrigger', horizonSecs: number, probability: number, auctionExtensionSecs: number }> | null }, liquidityMonitoringParameters: { __typename?: 'LiquidityMonitoringParameters', triggeringRatio: string, targetStakeParameters: { __typename?: 'TargetStakeParameters', timeWindow: number, scalingFactor: number } }, riskParameters: { __typename?: 'UpdateMarketLogNormalRiskModel', logNormal?: { __typename?: 'LogNormalRiskModel', riskAversionParameter: number, tau: number, params: { __typename?: 'LogNormalModelParams', r: number, sigma: number, mu: number } } | null } | { __typename?: 'UpdateMarketSimpleRiskModel', simple?: { __typename?: 'SimpleRiskModelParams', factorLong: number, factorShort: number } | null } } } | { __typename?: 'UpdateMarketState' } | { __typename?: 'UpdateNetworkParameter', networkParameter: { __typename?: 'NetworkParameter', key: string, value: string } } | { __typename?: 'UpdateReferralProgram' } | { __typename?: 'UpdateSpotMarket' } | { __typename?: 'UpdateVolumeDiscountProgram' } }, votes: { __typename?: 'ProposalVotes', yes: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, totalEquityLikeShareWeight: string }, no: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, totalEquityLikeShareWeight: string } } } | null }; +export const NewMarketProductFieldFragmentDoc = gql` + fragment NewMarketProductField on Proposal { + terms { + change { + ... on NewMarket { + instrument { + product { + __typename + } + } + } + } + } +} + `; export const ProposalDocument = gql` - query Proposal($proposalId: ID!) { + query Proposal($proposalId: ID!, $includeNewMarketProductField: Boolean!) { proposal(id: $proposalId) { id rationale { @@ -27,6 +44,7 @@ export const ProposalDocument = gql` id } errorDetails + ...NewMarketProductField @include(if: $includeNewMarketProductField) terms { closingDatetime enactmentDatetime @@ -313,7 +331,7 @@ export const ProposalDocument = gql` } } } - `; + ${NewMarketProductFieldFragmentDoc}`; /** * __useProposalQuery__ @@ -328,6 +346,7 @@ export const ProposalDocument = gql` * const { data, loading, error } = useProposalQuery({ * variables: { * proposalId: // value for 'proposalId' + * includeNewMarketProductField: // value for 'includeNewMarketProductField' * }, * }); */ diff --git a/apps/governance/src/routes/proposals/proposal/proposal-container.tsx b/apps/governance/src/routes/proposals/proposal/proposal-container.tsx index 7f2114eed..a097e9d54 100644 --- a/apps/governance/src/routes/proposals/proposal/proposal-container.tsx +++ b/apps/governance/src/routes/proposals/proposal/proposal-container.tsx @@ -53,7 +53,10 @@ export const ProposalContainer = () => { const { data, loading, error, refetch } = useProposalQuery({ fetchPolicy: 'network-only', errorPolicy: 'ignore', - variables: { proposalId: params.proposalId || '' }, + variables: { + proposalId: params.proposalId || '', + includeNewMarketProductField: !!FLAGS.PRODUCT_PERPETUALS, + }, skip: !params.proposalId, }); diff --git a/apps/governance/src/routes/proposals/proposals/Proposals.graphql b/apps/governance/src/routes/proposals/proposals/Proposals.graphql index ef67a2e9c..8b26532ee 100644 --- a/apps/governance/src/routes/proposals/proposals/Proposals.graphql +++ b/apps/governance/src/routes/proposals/proposals/Proposals.graphql @@ -1,3 +1,17 @@ +fragment NewMarketProductFields on Proposal { + terms { + change { + ... on NewMarket { + instrument { + product { + __typename + } + } + } + } + } +} + fragment ProposalFields on Proposal { id rationale { @@ -79,11 +93,12 @@ fragment ProposalFields on Proposal { } } -query Proposals { +query Proposals($includeNewMarketProductFields: Boolean!) { proposalsConnection { edges { node { ...ProposalFields + ...NewMarketProductFields @include(if: $includeNewMarketProductFields) } } } diff --git a/apps/governance/src/routes/proposals/proposals/__generated__/Proposals.ts b/apps/governance/src/routes/proposals/proposals/__generated__/Proposals.ts index 8f8d7e443..f60005df4 100644 --- a/apps/governance/src/routes/proposals/proposals/__generated__/Proposals.ts +++ b/apps/governance/src/routes/proposals/proposals/__generated__/Proposals.ts @@ -3,13 +3,32 @@ import * as Types from '@vegaprotocol/types'; import { gql } from '@apollo/client'; import * as Apollo from '@apollo/client'; const defaultOptions = {} as const; +export type NewMarketProductFieldsFragment = { __typename?: 'Proposal', terms: { __typename?: 'ProposalTerms', change: { __typename?: 'CancelTransfer' } | { __typename?: 'NewAsset' } | { __typename?: 'NewFreeform' } | { __typename?: 'NewMarket', instrument: { __typename?: 'InstrumentConfiguration', product?: { __typename: 'FutureProduct' } | { __typename: 'PerpetualProduct' } | { __typename: 'SpotProduct' } | null } } | { __typename?: 'NewSpotMarket' } | { __typename?: 'NewTransfer' } | { __typename?: 'UpdateAsset' } | { __typename?: 'UpdateMarket' } | { __typename?: 'UpdateMarketState' } | { __typename?: 'UpdateNetworkParameter' } | { __typename?: 'UpdateReferralProgram' } | { __typename?: 'UpdateSpotMarket' } | { __typename?: 'UpdateVolumeDiscountProgram' } } }; + export type ProposalFieldsFragment = { __typename?: 'Proposal', id?: string | null, reference: string, state: Types.ProposalState, datetime: any, rejectionReason?: Types.ProposalRejectionReason | null, errorDetails?: string | null, rationale: { __typename?: 'ProposalRationale', title: string, description: string }, party: { __typename?: 'Party', id: string }, terms: { __typename?: 'ProposalTerms', closingDatetime: any, enactmentDatetime?: any | null, change: { __typename?: 'CancelTransfer' } | { __typename: 'NewAsset', name: string, symbol: string, decimals: number, quantum: string, source: { __typename?: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename?: 'ERC20', contractAddress: string, withdrawThreshold: string, lifetimeLimit: string } } | { __typename?: 'NewFreeform' } | { __typename?: 'NewMarket', instrument: { __typename?: 'InstrumentConfiguration', name: string, code: string, futureProduct?: { __typename?: 'FutureProduct', settlementAsset: { __typename?: 'Asset', symbol: string } } | null } } | { __typename?: 'NewSpotMarket' } | { __typename?: 'NewTransfer' } | { __typename?: 'UpdateAsset', quantum: string, assetId: string, source: { __typename?: 'UpdateERC20', lifetimeLimit: string, withdrawThreshold: string } } | { __typename?: 'UpdateMarket', marketId: string } | { __typename?: 'UpdateMarketState' } | { __typename?: 'UpdateNetworkParameter', networkParameter: { __typename?: 'NetworkParameter', key: string, value: string } } | { __typename?: 'UpdateReferralProgram' } | { __typename?: 'UpdateSpotMarket' } | { __typename?: 'UpdateVolumeDiscountProgram' } }, votes: { __typename?: 'ProposalVotes', yes: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, totalEquityLikeShareWeight: string }, no: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, totalEquityLikeShareWeight: string } } }; -export type ProposalsQueryVariables = Types.Exact<{ [key: string]: never; }>; +export type ProposalsQueryVariables = Types.Exact<{ + includeNewMarketProductFields: Types.Scalars['Boolean']; +}>; -export type ProposalsQuery = { __typename?: 'Query', proposalsConnection?: { __typename?: 'ProposalsConnection', edges?: Array<{ __typename?: 'ProposalEdge', node: { __typename?: 'Proposal', id?: string | null, reference: string, state: Types.ProposalState, datetime: any, rejectionReason?: Types.ProposalRejectionReason | null, errorDetails?: string | null, rationale: { __typename?: 'ProposalRationale', title: string, description: string }, party: { __typename?: 'Party', id: string }, terms: { __typename?: 'ProposalTerms', closingDatetime: any, enactmentDatetime?: any | null, change: { __typename?: 'CancelTransfer' } | { __typename: 'NewAsset', name: string, symbol: string, decimals: number, quantum: string, source: { __typename?: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename?: 'ERC20', contractAddress: string, withdrawThreshold: string, lifetimeLimit: string } } | { __typename?: 'NewFreeform' } | { __typename?: 'NewMarket', instrument: { __typename?: 'InstrumentConfiguration', name: string, code: string, futureProduct?: { __typename?: 'FutureProduct', settlementAsset: { __typename?: 'Asset', symbol: string } } | null } } | { __typename?: 'NewSpotMarket' } | { __typename?: 'NewTransfer' } | { __typename?: 'UpdateAsset', quantum: string, assetId: string, source: { __typename?: 'UpdateERC20', lifetimeLimit: string, withdrawThreshold: string } } | { __typename?: 'UpdateMarket', marketId: string } | { __typename?: 'UpdateMarketState' } | { __typename?: 'UpdateNetworkParameter', networkParameter: { __typename?: 'NetworkParameter', key: string, value: string } } | { __typename?: 'UpdateReferralProgram' } | { __typename?: 'UpdateSpotMarket' } | { __typename?: 'UpdateVolumeDiscountProgram' } }, votes: { __typename?: 'ProposalVotes', yes: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, totalEquityLikeShareWeight: string }, no: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, totalEquityLikeShareWeight: string } } } } | null> | null } | null }; +export type ProposalsQuery = { __typename?: 'Query', proposalsConnection?: { __typename?: 'ProposalsConnection', edges?: Array<{ __typename?: 'ProposalEdge', node: { __typename?: 'Proposal', id?: string | null, reference: string, state: Types.ProposalState, datetime: any, rejectionReason?: Types.ProposalRejectionReason | null, errorDetails?: string | null, rationale: { __typename?: 'ProposalRationale', title: string, description: string }, party: { __typename?: 'Party', id: string }, terms: { __typename?: 'ProposalTerms', closingDatetime: any, enactmentDatetime?: any | null, change: { __typename?: 'CancelTransfer' } | { __typename: 'NewAsset', name: string, symbol: string, decimals: number, quantum: string, source: { __typename?: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename?: 'ERC20', contractAddress: string, withdrawThreshold: string, lifetimeLimit: string } } | { __typename?: 'NewFreeform' } | { __typename?: 'NewMarket', instrument: { __typename?: 'InstrumentConfiguration', name: string, code: string, futureProduct?: { __typename?: 'FutureProduct', settlementAsset: { __typename?: 'Asset', symbol: string } } | null, product?: { __typename: 'FutureProduct' } | { __typename: 'PerpetualProduct' } | { __typename: 'SpotProduct' } | null } } | { __typename?: 'NewSpotMarket' } | { __typename?: 'NewTransfer' } | { __typename?: 'UpdateAsset', quantum: string, assetId: string, source: { __typename?: 'UpdateERC20', lifetimeLimit: string, withdrawThreshold: string } } | { __typename?: 'UpdateMarket', marketId: string } | { __typename?: 'UpdateMarketState' } | { __typename?: 'UpdateNetworkParameter', networkParameter: { __typename?: 'NetworkParameter', key: string, value: string } } | { __typename?: 'UpdateReferralProgram' } | { __typename?: 'UpdateSpotMarket' } | { __typename?: 'UpdateVolumeDiscountProgram' } }, votes: { __typename?: 'ProposalVotes', yes: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, totalEquityLikeShareWeight: string }, no: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, totalEquityLikeShareWeight: string } } } } | null> | null } | null }; +export const NewMarketProductFieldsFragmentDoc = gql` + fragment NewMarketProductFields on Proposal { + terms { + change { + ... on NewMarket { + instrument { + product { + __typename + } + } + } + } + } +} + `; export const ProposalFieldsFragmentDoc = gql` fragment ProposalFields on Proposal { id @@ -93,16 +112,18 @@ export const ProposalFieldsFragmentDoc = gql` } `; export const ProposalsDocument = gql` - query Proposals { + query Proposals($includeNewMarketProductFields: Boolean!) { proposalsConnection { edges { node { ...ProposalFields + ...NewMarketProductFields @include(if: $includeNewMarketProductFields) } } } } - ${ProposalFieldsFragmentDoc}`; + ${ProposalFieldsFragmentDoc} +${NewMarketProductFieldsFragmentDoc}`; /** * __useProposalsQuery__ @@ -116,10 +137,11 @@ export const ProposalsDocument = gql` * @example * const { data, loading, error } = useProposalsQuery({ * variables: { + * includeNewMarketProductFields: // value for 'includeNewMarketProductFields' * }, * }); */ -export function useProposalsQuery(baseOptions?: Apollo.QueryHookOptions) { +export function useProposalsQuery(baseOptions: Apollo.QueryHookOptions) { const options = {...defaultOptions, ...baseOptions} return Apollo.useQuery(ProposalsDocument, options); } diff --git a/apps/governance/src/routes/proposals/proposals/proposals-container.tsx b/apps/governance/src/routes/proposals/proposals/proposals-container.tsx index 16790f082..fbc2293e1 100644 --- a/apps/governance/src/routes/proposals/proposals/proposals-container.tsx +++ b/apps/governance/src/routes/proposals/proposals/proposals-container.tsx @@ -6,7 +6,7 @@ import { useTranslation } from 'react-i18next'; import { SplashLoader } from '../../../components/splash-loader'; import { ProposalsList } from '../components/proposals-list'; import { useProposalsQuery } from './__generated__/Proposals'; -import { getNodes } from '@vegaprotocol/utils'; +import { getNodes, removePaginationWrapper } from '@vegaprotocol/utils'; import { ProposalState, ProtocolUpgradeProposalStatus, @@ -15,14 +15,13 @@ import type { NodeConnection, NodeEdge } from '@vegaprotocol/utils'; import type { ProposalFieldsFragment } from './__generated__/Proposals'; import type { ProtocolUpgradeProposalFieldsFragment } from '@vegaprotocol/proposals'; import { useProtocolUpgradeProposalsQuery } from '@vegaprotocol/proposals'; +import { FLAGS } from '@vegaprotocol/environment'; -export function getNotRejectedProposals( - data?: NodeConnection> | null -): T[] { +export function getNotRejectedProposals(data?: ProposalFieldsFragment[]) { return flow([ (data) => - getNodes(data, (p) => - p ? p.state !== ProposalState.STATE_REJECTED : false + data.filter( + (p: ProposalFieldsFragment) => p?.state !== ProposalState.STATE_REJECTED ), ])(data); } @@ -47,6 +46,9 @@ export const ProposalsContainer = () => { pollInterval: 5000, fetchPolicy: 'network-only', errorPolicy: 'ignore', + variables: { + includeNewMarketProductFields: !!FLAGS.PRODUCT_PERPETUALS, + }, }); const { @@ -60,7 +62,10 @@ export const ProposalsContainer = () => { }); const proposals = useMemo( - () => getNotRejectedProposals(data?.proposalsConnection), + () => + getNotRejectedProposals( + removePaginationWrapper(data?.proposalsConnection?.edges) + ), [data] ); diff --git a/apps/governance/src/routes/proposals/rejected/rejected-proposals-container.tsx b/apps/governance/src/routes/proposals/rejected/rejected-proposals-container.tsx index bf20b4ee7..784131261 100644 --- a/apps/governance/src/routes/proposals/rejected/rejected-proposals-container.tsx +++ b/apps/governance/src/routes/proposals/rejected/rejected-proposals-container.tsx @@ -6,11 +6,11 @@ import { SplashLoader } from '../../../components/splash-loader'; import { RejectedProposalsList } from '../components/proposals-list'; import type { ProposalFieldsFragment } from '../proposals/__generated__/Proposals'; import { useProposalsQuery } from '../proposals/__generated__/Proposals'; -import type { NodeConnection, NodeEdge } from '@vegaprotocol/utils'; -import { getNodes } from '@vegaprotocol/utils'; +import { removePaginationWrapper } from '@vegaprotocol/utils'; import flow from 'lodash/flow'; import orderBy from 'lodash/orderBy'; import { ProposalState } from '@vegaprotocol/types'; +import { FLAGS } from '@vegaprotocol/environment'; const orderByDate = (arr: ProposalFieldsFragment[]) => orderBy( @@ -22,13 +22,11 @@ const orderByDate = (arr: ProposalFieldsFragment[]) => ['desc', 'desc'] ); -export function getRejectedProposals( - data?: NodeConnection> | null -): T[] { +export function getRejectedProposals(data?: ProposalFieldsFragment[] | null) { return flow([ (data) => - getNodes(data, (p) => - p ? p?.state === ProposalState.STATE_REJECTED : false + data.filter( + (p: ProposalFieldsFragment) => p?.state === ProposalState.STATE_REJECTED ), orderByDate, ])(data); @@ -36,11 +34,20 @@ export function getRejectedProposals( export const RejectedProposalsContainer = () => { const { t } = useTranslation(); - const { data, loading, error } = useProposalsQuery(); + const { data, loading, error } = useProposalsQuery({ + pollInterval: 5000, + fetchPolicy: 'network-only', + errorPolicy: 'ignore', + variables: { + includeNewMarketProductFields: !!FLAGS.PRODUCT_PERPETUALS, + }, + }); const proposals = useMemo( () => - getRejectedProposals(data?.proposalsConnection), + getRejectedProposals( + removePaginationWrapper(data?.proposalsConnection?.edges) + ), [data] ); diff --git a/libs/types/src/__generated__/types.ts b/libs/types/src/__generated__/types.ts index bf63dee41..273f0710f 100644 --- a/libs/types/src/__generated__/types.ts +++ b/libs/types/src/__generated__/types.ts @@ -4637,7 +4637,7 @@ export type ReferralSet = { * Referral set statistics for the latest or specific epoch. * If provided the results can be filtered for a specific referee */ - stats: ReferralSetStats; + stats?: Maybe; /** Timestamp as RFC3339Nano when the referral set was updated. */ updatedAt: Scalars['Timestamp']; };