fix(markets): make trading app spot compatible (#6067)

This commit is contained in:
Matthew Russell 2024-03-21 14:32:22 +00:00 committed by GitHub
parent 3e61018d89
commit 8c383d8756
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 97 additions and 21 deletions

View File

@ -14,6 +14,9 @@ fragment OracleMarketSpecFields on Market {
... on Perpetual { ... on Perpetual {
...Perpetual ...Perpetual
} }
... on Spot {
...Spot
}
} }
} }
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -158,6 +158,16 @@ fragment Perpetual on Perpetual {
} }
} }
fragment Spot on Spot {
baseAsset {
...AssetListFields
}
quoteAsset {
...AssetListFields
}
name
}
query MarketInfoMainnet($marketId: ID!) { query MarketInfoMainnet($marketId: ID!) {
market(id: $marketId) { market(id: $marketId) {
id id
@ -256,6 +266,9 @@ query MarketInfoMainnet($marketId: ID!) {
... on Perpetual { ... on Perpetual {
...Perpetual ...Perpetual
} }
... on Spot {
...Spot
}
} }
} }
riskModel { riskModel {
@ -388,6 +401,9 @@ query MarketInfo($marketId: ID!) {
... on Perpetual { ... on Perpetual {
...Perpetual ...Perpetual
} }
... on Spot {
...Spot
}
} }
} }
riskModel { riskModel {

File diff suppressed because one or more lines are too long

View File

@ -25,8 +25,7 @@ export const getAsset = (market: Partial<Market>) => {
} }
if (product.__typename === 'Spot') { if (product.__typename === 'Spot') {
// TODO to handle baseAsset for Spots return product.baseAsset;
throw new Error('Failed to retrieve asset. Spots not yet implemented');
} }
throw new Error('Failed to retrieve asset. Invalid product type'); throw new Error('Failed to retrieve asset. Invalid product type');
@ -62,8 +61,7 @@ export const getQuoteName = (market: Partial<Market>) => {
} }
if (product.__typename === 'Spot') { if (product.__typename === 'Spot') {
// TODO to handle baseAsset for Spots return product.quoteAsset.symbol;
throw new Error('Failed to retrieve quoteName. Spots not yet implemented');
} }
throw new Error('Failed to retrieve quoteName. Invalid product type'); throw new Error('Failed to retrieve quoteName. Invalid product type');

View File

@ -34,6 +34,9 @@ fragment MarketFieldsMainnet on Market {
... on Perpetual { ... on Perpetual {
...Perpetual ...Perpetual
} }
... on Spot {
...Spot
}
} }
} }
} }
@ -88,6 +91,9 @@ fragment MarketFields on Market {
... on Perpetual { ... on Perpetual {
...Perpetual ...Perpetual
} }
... on Spot {
...Spot
}
} }
} }
} }

View File

@ -17,6 +17,9 @@ query Symbol($marketId: ID!) {
... on Perpetual { ... on Perpetual {
__typename __typename
} }
... on Spot {
__typename
}
} }
} }
} }

View File

@ -8,7 +8,7 @@ export type SymbolQueryVariables = Types.Exact<{
}>; }>;
export type SymbolQuery = { __typename?: 'Query', market?: { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', code: string, name: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array<string> | null }, product: { __typename: 'Future' } | { __typename: 'Perpetual' } | { __typename?: 'Spot' } } } } | null }; export type SymbolQuery = { __typename?: 'Query', market?: { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', code: string, name: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array<string> | null }, product: { __typename: 'Future' } | { __typename: 'Perpetual' } | { __typename: 'Spot' } } } } | null };
export const SymbolDocument = gql` export const SymbolDocument = gql`
@ -31,6 +31,9 @@ export const SymbolDocument = gql`
... on Perpetual { ... on Perpetual {
__typename __typename
} }
... on Spot {
__typename
}
} }
} }
} }

View File

@ -887,8 +887,10 @@ export type DepositEdge = {
/** The status of a deposit */ /** The status of a deposit */
export enum DepositStatus { export enum DepositStatus {
/** The deposit have been cancelled by the network, either because it expired, or something went wrong with the foreign chain */ /** The deposit have been cancelled by the network, either because it expired, could not be verified, or something went wrong with the foreign chain */
STATUS_CANCELLED = 'STATUS_CANCELLED', STATUS_CANCELLED = 'STATUS_CANCELLED',
/** The deposit was rejected as a duplicate transaction */
STATUS_DUPLICATE_REJECTED = 'STATUS_DUPLICATE_REJECTED',
/** The deposit was finalised, it was valid, the foreign chain has executed it and the network updated all accounts */ /** The deposit was finalised, it was valid, the foreign chain has executed it and the network updated all accounts */
STATUS_FINALIZED = 'STATUS_FINALIZED', STATUS_FINALIZED = 'STATUS_FINALIZED',
/** The deposit is open and being processed by the network */ /** The deposit is open and being processed by the network */
@ -7185,6 +7187,14 @@ export type UpdateReferralProgram = {
windowLength: Scalars['Int']; windowLength: Scalars['Int'];
}; };
export type UpdateSpotInstrumentConfiguration = {
__typename?: 'UpdateSpotInstrumentConfiguration';
/** Instrument code, human-readable shortcode used to describe the instrument. */
code: Scalars['String'];
/** Instrument name */
name: Scalars['String'];
};
/** Update an existing spot market on Vega */ /** Update an existing spot market on Vega */
export type UpdateSpotMarket = { export type UpdateSpotMarket = {
__typename?: 'UpdateSpotMarket'; __typename?: 'UpdateSpotMarket';
@ -7196,6 +7206,8 @@ export type UpdateSpotMarket = {
export type UpdateSpotMarketConfiguration = { export type UpdateSpotMarketConfiguration = {
__typename?: 'UpdateSpotMarketConfiguration'; __typename?: 'UpdateSpotMarketConfiguration';
/** Updated spot market instrument configuration. */
instrument: UpdateSpotInstrumentConfiguration;
/** Specifies how the liquidity fee for the market will be calculated */ /** Specifies how the liquidity fee for the market will be calculated */
liquidityFeeSettings?: Maybe<LiquidityFeeSettings>; liquidityFeeSettings?: Maybe<LiquidityFeeSettings>;
/** Specifies the liquidity provision SLA parameters */ /** Specifies the liquidity provision SLA parameters */

View File

@ -107,6 +107,7 @@ export const DepositStatusMapping: {
STATUS_CANCELLED: 'Cancelled', STATUS_CANCELLED: 'Cancelled',
STATUS_FINALIZED: 'Finalized', STATUS_FINALIZED: 'Finalized',
STATUS_OPEN: 'Open', STATUS_OPEN: 'Open',
STATUS_DUPLICATE_REJECTED: 'Rejected due to duplicate',
}; };
/** /**