diff --git a/libs/accounts/src/lib/accounts-table.tsx b/libs/accounts/src/lib/accounts-table.tsx index 331b51e7e..85737d309 100644 --- a/libs/accounts/src/lib/accounts-table.tsx +++ b/libs/accounts/src/lib/accounts-table.tsx @@ -41,32 +41,23 @@ export const AccountTable = forwardRef( const [breakdown, setBreakdown] = useState(null); const marketAssetId = props.marketAsset?.id; - const marketAssetRow = useMemo( - () => props.rowData?.find((row) => row.asset.id === marketAssetId), - [marketAssetId, props.rowData] - ); - - const rows = useMemo(() => { - const data = props.rowData; - if (!marketAssetRow) { + const marketAssetRow = useMemo(() => { + const newAssetRow = props.rowData?.find( + (row) => row.asset.id === marketAssetId + ); + if (!newAssetRow) { if (props.marketAsset) { - const accountFields: AccountFields = { - asset: { - ...props.marketAsset, - __typename: 'Asset', - source: undefined, - }, + return { + asset: props.marketAsset, available: '0', used: '0', deposited: '0', balance: '0', - breakdown: undefined, }; - return data && [accountFields, ...data]; } } - return data; - }, [marketAssetRow, props.marketAsset, props.rowData]); + return newAssetRow; + }, [marketAssetId, props.marketAsset, props.rowData]); return ( <> @@ -83,8 +74,7 @@ export const AccountTable = forwardRef( sortable: true, }} {...props} - rowData={rows} - pinnedTopRowData={marketAssetRow ? [marketAssetRow] : undefined} + pinnedTopRowData={[marketAssetRow]} > | null }, product: { __typename?: 'Future', quoteName: string, settlementAsset: { __typename?: 'Asset', quantum: string, status: Types.AssetStatus, id: string, symbol: string, name: string, decimals: number, source: { __typename: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename: 'ERC20', contractAddress: string, lifetimeLimit: string, withdrawThreshold: string } }, dataSourceSpecForTradingTermination: { __typename?: 'DataSourceSpec', id: string } } } }, marketTimestamps: { __typename?: 'MarketTimestamps', open: any, close: any } }; +export type MarketFieldsFragment = { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number, state: Types.MarketState, tradingMode: Types.MarketTradingMode, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array | null }, product: { __typename?: 'Future', quoteName: string, settlementAsset: { __typename?: 'Asset', quantum: string, status: Types.AssetStatus, id: string, symbol: string, name: string, decimals: number }, dataSourceSpecForTradingTermination: { __typename?: 'DataSourceSpec', id: string } } } }, marketTimestamps: { __typename?: 'MarketTimestamps', open: any, close: any } }; export type MarketsQueryVariables = Types.Exact<{ [key: string]: never; }>; -export type MarketsQuery = { __typename?: 'Query', marketsConnection?: { __typename?: 'MarketConnection', edges: Array<{ __typename?: 'MarketEdge', node: { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number, state: Types.MarketState, tradingMode: Types.MarketTradingMode, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array | null }, product: { __typename?: 'Future', quoteName: string, settlementAsset: { __typename?: 'Asset', quantum: string, status: Types.AssetStatus, id: string, symbol: string, name: string, decimals: number, source: { __typename: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename: 'ERC20', contractAddress: string, lifetimeLimit: string, withdrawThreshold: string } }, dataSourceSpecForTradingTermination: { __typename?: 'DataSourceSpec', id: string } } } }, marketTimestamps: { __typename?: 'MarketTimestamps', open: any, close: any } } }> } | null }; +export type MarketsQuery = { __typename?: 'Query', marketsConnection?: { __typename?: 'MarketConnection', edges: Array<{ __typename?: 'MarketEdge', node: { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number, state: Types.MarketState, tradingMode: Types.MarketTradingMode, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array | null }, product: { __typename?: 'Future', quoteName: string, settlementAsset: { __typename?: 'Asset', quantum: string, status: Types.AssetStatus, id: string, symbol: string, name: string, decimals: number }, dataSourceSpecForTradingTermination: { __typename?: 'DataSourceSpec', id: string } } } }, marketTimestamps: { __typename?: 'MarketTimestamps', open: any, close: any } } }> } | null }; export const MarketFieldsFragmentDoc = gql` fragment MarketFields on Market { @@ -35,17 +35,6 @@ export const MarketFieldsFragmentDoc = gql` product { ... on Future { settlementAsset { - source { - __typename - ... on ERC20 { - contractAddress - lifetimeLimit - withdrawThreshold - } - ... on BuiltinAsset { - maxFaucetAmountMint - } - } quantum status id diff --git a/libs/market-list/src/lib/markets.graphql b/libs/market-list/src/lib/markets.graphql index 818d6e846..f14a7c350 100644 --- a/libs/market-list/src/lib/markets.graphql +++ b/libs/market-list/src/lib/markets.graphql @@ -16,24 +16,12 @@ fragment MarketFields on Market { id name code - metadata { tags } product { ... on Future { settlementAsset { - source { - __typename - ... on ERC20 { - contractAddress - lifetimeLimit - withdrawThreshold - } - ... on BuiltinAsset { - maxFaucetAmountMint - } - } quantum status id