diff --git a/scripts/generate-platform-tokens.ts b/scripts/generate-platform-tokens.ts new file mode 100644 index 0000000000..4476646671 --- /dev/null +++ b/scripts/generate-platform-tokens.ts @@ -0,0 +1,278 @@ +/* eslint-disable no-console */ +/** + * Generate platform tokens JSON from gmxLayerZero deployments folder + * + * Prerequisites: + * Cloned https://github.com/gmx-io/layer-zero repository + * + * Usage: + * yarn tsx scripts/generate-platform-tokens.ts + * + * Example: + * yarn tsx scripts/generate-platform-tokens.ts ../layer-zero + * yarn tsx scripts/generate-platform-tokens.ts /path/to/layer-zero + * + * + * Expected folder structure: + * layer-zero/ + * deployments/ + * arbitrum-mainnet/ + * .chainId + * TokenName.json + * base-mainnet/ + * .chainId + * TokenName.json + * ... + */ + +import fs from "fs"; +import path from "path"; +import { fileURLToPath } from "url"; +import { getAddress } from "viem"; + +import type { SourceChainId, SettlementChainId } from "config/chains"; + +import { AVALANCHE_FUJI, ARBITRUM_SEPOLIA, SOURCE_SEPOLIA, SOURCE_OPTIMISM_SEPOLIA } from "../sdk/src/configs/chainIds"; +import { SETTLEMENT_CHAINS, SOURCE_CHAINS } from "../sdk/src/configs/multichain"; + +type DeploymentData = { + address: string; + args: string[]; +}; + +type TokenDeployment = { + address: string; + stargate: string; +}; + +type DeploymentEntry = { + chainId: number; + deployment: TokenDeployment; + filename: string; +}; + +type BaseSymbolData = { + baseSymbol: string; + deployments: DeploymentEntry[]; +}; + +type PlatformTokens = { + mainnets: { + [symbol: string]: { + [chainId: number]: TokenDeployment; + }; + }; + testnets: { + [symbol: string]: { + [chainId: number]: TokenDeployment; + }; + }; +}; + +function isTestnetChain(chainId: number): boolean { + return [AVALANCHE_FUJI, ARBITRUM_SEPOLIA, SOURCE_SEPOLIA, SOURCE_OPTIMISM_SEPOLIA].includes(chainId); +} + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +function getChainId(chainPath: string): number | null { + const chainIdPath = path.join(chainPath, ".chainId"); + if (!fs.existsSync(chainIdPath)) { + return null; + } + try { + const chainId = parseInt(fs.readFileSync(chainIdPath, "utf8").trim(), 10); + if (isNaN(chainId)) { + return null; + } + return chainId; + } catch (_error) { + return null; + } +} + +function extractTokenSymbol(filename: string): string | null { + const name = filename.replace(/\.json$/i, ""); + + if (name.startsWith("GlvToken_")) { + const suffix = name.replace("GlvToken_", ""); + const parts = suffix.replace(/^(Adapter|OFT)_/, "").split("_"); + if (parts.length < 2) { + return null; + } + return ``; + } + + if (name.startsWith("MarketToken_")) { + const suffix = name.replace("MarketToken_", "").replace(/^(Adapter|OFT)_/, ""); + return ``; + } + + return null; +} + +function readTokenDeployment(filePath: string): TokenDeployment | null { + try { + const content = fs.readFileSync(filePath, "utf8"); + const data = JSON.parse(content) as DeploymentData; + + const filename = path.basename(filePath, ".json"); + const isOFT = filename.includes("_OFT_"); + const isAdapter = filename.includes("_Adapter_"); + + if (isOFT) { + return { + address: getAddress(data.address), + stargate: getAddress(data.address), + }; + } + + if (isAdapter) { + return { + address: getAddress(data.args[0]), + stargate: getAddress(data.address), + }; + } + + return null; + } catch (error) { + console.error(`Error reading ${filePath}:`, error); + return null; + } +} + +function generatePlatformTokens(gmxLayerZeroPath: string): PlatformTokens { + const deploymentsPath = path.join(gmxLayerZeroPath, "deployments"); + + if (!fs.existsSync(deploymentsPath)) { + console.error(`Error: deployments folder not found at ${deploymentsPath}`); + process.exit(1); + } + + const allowedChains = [...SETTLEMENT_CHAINS, ...SOURCE_CHAINS]; + + const chainFolders = fs + .readdirSync(deploymentsPath, { withFileTypes: true }) + .filter((dirent) => dirent.isDirectory()) + .map((dirent) => dirent.name) + .filter((chainFolder) => { + const chainPath = path.join(deploymentsPath, chainFolder); + const chainId = getChainId(chainPath); + return chainId !== null && allowedChains.includes(chainId as SourceChainId | SettlementChainId); + }); + + console.log(`Found ${chainFolders.length} valid chain folders:`, chainFolders.join(", ")); + + const baseSymbolMap: Record = {}; + + for (const chainFolder of chainFolders) { + const chainPath = path.join(deploymentsPath, chainFolder); + const chainId = getChainId(chainPath); + + if (!chainId) { + continue; + } + + const files = fs.readdirSync(chainPath).filter((file) => file.endsWith(".json") && file !== ".chainId"); + + console.log(`\nProcessing ${chainFolder} (chain ID: ${chainId}):`); + + for (const file of files) { + const filePath = path.join(chainPath, file); + const deployment = readTokenDeployment(filePath); + + if (!deployment) { + continue; + } + + const baseSymbol = extractTokenSymbol(file); + + if (!baseSymbol) { + continue; + } + + if (!baseSymbolMap[baseSymbol]) { + baseSymbolMap[baseSymbol] = { + baseSymbol, + + deployments: [], + }; + } + + baseSymbolMap[baseSymbol].deployments.push({ + chainId, + deployment, + filename: file, + }); + + console.log(` āœ“ ${baseSymbol}: ${deployment.address}`); + } + } + + const result: PlatformTokens = { + mainnets: {}, + testnets: {}, + }; + + for (const { baseSymbol, deployments } of Object.values(baseSymbolMap)) { + const settlementDeployment = deployments.find(({ chainId }) => + SETTLEMENT_CHAINS.includes(chainId as SettlementChainId) + ); + + if (!settlementDeployment) { + console.error(`Warning: No settlement chain found for ${baseSymbol}`); + continue; + } + + const settlementAddress = settlementDeployment.deployment.address; + const addressSuffix = settlementAddress.slice(-6); + const finalSymbol = baseSymbol.replace(">", `-${addressSuffix}>`); + + const isTestnet = isTestnetChain(settlementDeployment.chainId); + const targetGroup = isTestnet ? result.testnets : result.mainnets; + + targetGroup[finalSymbol] = {}; + for (const { chainId, deployment } of deployments) { + targetGroup[finalSymbol][chainId] = { + address: deployment.address, + stargate: deployment.stargate, + }; + } + } + + return result; +} + +function main(): void { + const args = process.argv.slice(2); + + if (args.length === 0) { + console.error("Usage: tsx scripts/generate-platform-tokens.ts "); + console.error("Example: tsx scripts/generate-platform-tokens.ts ../gmx-layerzero"); + process.exit(1); + } + + const gmxLayerZeroPath = path.resolve(args[0]); + + if (!fs.existsSync(gmxLayerZeroPath)) { + console.error(`Error: Path does not exist: ${gmxLayerZeroPath}`); + process.exit(1); + } + + console.log(`Scanning deployments in: ${gmxLayerZeroPath}\n`); + + const platformTokens = generatePlatformTokens(gmxLayerZeroPath); + + const outputPath = path.join(__dirname, "..", "src", "config", "static", "platformTokens.json"); + + fs.writeFileSync(outputPath, JSON.stringify(platformTokens, null, 2) + "\n", "utf8"); + + console.log(`\nāœ“ Generated platform tokens JSON at: ${outputPath}`); + console.log(`āœ“ Found ${Object.keys(platformTokens).length} token symbols`); + + const totalEntries = Object.values(platformTokens).reduce((sum, chains) => sum + Object.keys(chains).length, 0); + console.log(`āœ“ Total chain entries: ${totalEntries}`); +} + +main(); diff --git a/sdk/src/types/subsquid.ts b/sdk/src/types/subsquid.ts index 47f3905c88..ee911ff29f 100644 --- a/sdk/src/types/subsquid.ts +++ b/sdk/src/types/subsquid.ts @@ -5788,12 +5788,15 @@ export interface PositionChange { isWin?: Maybe; market: Scalars["String"]["output"]; maxSize: Scalars["BigInt"]["output"]; + orderKey: Scalars["String"]["output"]; + positionKey: Scalars["String"]["output"]; priceImpactAmount?: Maybe; priceImpactDiffUsd?: Maybe; priceImpactUsd: Scalars["BigInt"]["output"]; proportionalPendingImpactUsd?: Maybe; sizeDeltaInTokens: Scalars["BigInt"]["output"]; sizeDeltaUsd: Scalars["BigInt"]["output"]; + sizeInTokens: Scalars["BigInt"]["output"]; sizeInUsd: Scalars["BigInt"]["output"]; swapImpactUsd?: Maybe; timestamp: Scalars["Int"]["output"]; @@ -5892,6 +5895,18 @@ export enum PositionChangeOrderByInput { maxSize_DESC = "maxSize_DESC", maxSize_DESC_NULLS_FIRST = "maxSize_DESC_NULLS_FIRST", maxSize_DESC_NULLS_LAST = "maxSize_DESC_NULLS_LAST", + orderKey_ASC = "orderKey_ASC", + orderKey_ASC_NULLS_FIRST = "orderKey_ASC_NULLS_FIRST", + orderKey_ASC_NULLS_LAST = "orderKey_ASC_NULLS_LAST", + orderKey_DESC = "orderKey_DESC", + orderKey_DESC_NULLS_FIRST = "orderKey_DESC_NULLS_FIRST", + orderKey_DESC_NULLS_LAST = "orderKey_DESC_NULLS_LAST", + positionKey_ASC = "positionKey_ASC", + positionKey_ASC_NULLS_FIRST = "positionKey_ASC_NULLS_FIRST", + positionKey_ASC_NULLS_LAST = "positionKey_ASC_NULLS_LAST", + positionKey_DESC = "positionKey_DESC", + positionKey_DESC_NULLS_FIRST = "positionKey_DESC_NULLS_FIRST", + positionKey_DESC_NULLS_LAST = "positionKey_DESC_NULLS_LAST", priceImpactAmount_ASC = "priceImpactAmount_ASC", priceImpactAmount_ASC_NULLS_FIRST = "priceImpactAmount_ASC_NULLS_FIRST", priceImpactAmount_ASC_NULLS_LAST = "priceImpactAmount_ASC_NULLS_LAST", @@ -5928,6 +5943,12 @@ export enum PositionChangeOrderByInput { sizeDeltaUsd_DESC = "sizeDeltaUsd_DESC", sizeDeltaUsd_DESC_NULLS_FIRST = "sizeDeltaUsd_DESC_NULLS_FIRST", sizeDeltaUsd_DESC_NULLS_LAST = "sizeDeltaUsd_DESC_NULLS_LAST", + sizeInTokens_ASC = "sizeInTokens_ASC", + sizeInTokens_ASC_NULLS_FIRST = "sizeInTokens_ASC_NULLS_FIRST", + sizeInTokens_ASC_NULLS_LAST = "sizeInTokens_ASC_NULLS_LAST", + sizeInTokens_DESC = "sizeInTokens_DESC", + sizeInTokens_DESC_NULLS_FIRST = "sizeInTokens_DESC_NULLS_FIRST", + sizeInTokens_DESC_NULLS_LAST = "sizeInTokens_DESC_NULLS_LAST", sizeInUsd_ASC = "sizeInUsd_ASC", sizeInUsd_ASC_NULLS_FIRST = "sizeInUsd_ASC_NULLS_FIRST", sizeInUsd_ASC_NULLS_LAST = "sizeInUsd_ASC_NULLS_LAST", @@ -6114,6 +6135,40 @@ export interface PositionChangeWhereInput { maxSize_lte?: InputMaybe; maxSize_not_eq?: InputMaybe; maxSize_not_in?: InputMaybe>; + orderKey_contains?: InputMaybe; + orderKey_containsInsensitive?: InputMaybe; + orderKey_endsWith?: InputMaybe; + orderKey_eq?: InputMaybe; + orderKey_gt?: InputMaybe; + orderKey_gte?: InputMaybe; + orderKey_in?: InputMaybe>; + orderKey_isNull?: InputMaybe; + orderKey_lt?: InputMaybe; + orderKey_lte?: InputMaybe; + orderKey_not_contains?: InputMaybe; + orderKey_not_containsInsensitive?: InputMaybe; + orderKey_not_endsWith?: InputMaybe; + orderKey_not_eq?: InputMaybe; + orderKey_not_in?: InputMaybe>; + orderKey_not_startsWith?: InputMaybe; + orderKey_startsWith?: InputMaybe; + positionKey_contains?: InputMaybe; + positionKey_containsInsensitive?: InputMaybe; + positionKey_endsWith?: InputMaybe; + positionKey_eq?: InputMaybe; + positionKey_gt?: InputMaybe; + positionKey_gte?: InputMaybe; + positionKey_in?: InputMaybe>; + positionKey_isNull?: InputMaybe; + positionKey_lt?: InputMaybe; + positionKey_lte?: InputMaybe; + positionKey_not_contains?: InputMaybe; + positionKey_not_containsInsensitive?: InputMaybe; + positionKey_not_endsWith?: InputMaybe; + positionKey_not_eq?: InputMaybe; + positionKey_not_in?: InputMaybe>; + positionKey_not_startsWith?: InputMaybe; + positionKey_startsWith?: InputMaybe; priceImpactAmount_eq?: InputMaybe; priceImpactAmount_gt?: InputMaybe; priceImpactAmount_gte?: InputMaybe; @@ -6168,6 +6223,15 @@ export interface PositionChangeWhereInput { sizeDeltaUsd_lte?: InputMaybe; sizeDeltaUsd_not_eq?: InputMaybe; sizeDeltaUsd_not_in?: InputMaybe>; + sizeInTokens_eq?: InputMaybe; + sizeInTokens_gt?: InputMaybe; + sizeInTokens_gte?: InputMaybe; + sizeInTokens_in?: InputMaybe>; + sizeInTokens_isNull?: InputMaybe; + sizeInTokens_lt?: InputMaybe; + sizeInTokens_lte?: InputMaybe; + sizeInTokens_not_eq?: InputMaybe; + sizeInTokens_not_in?: InputMaybe>; sizeInUsd_eq?: InputMaybe; sizeInUsd_gt?: InputMaybe; sizeInUsd_gte?: InputMaybe; @@ -6901,6 +6965,159 @@ export interface PositionVolumeByAllMarketsWhereInput { timestamp?: InputMaybe; } +export interface PositionVolumeInfo { + __typename?: "PositionVolumeInfo"; + collateralToken: Scalars["String"]["output"]; + id: Scalars["String"]["output"]; + indexToken: Scalars["String"]["output"]; + period: Scalars["String"]["output"]; + timestamp: Scalars["Int"]["output"]; + volumeUsd: Scalars["BigInt"]["output"]; +} + +export interface PositionVolumeInfoEdge { + __typename?: "PositionVolumeInfoEdge"; + cursor: Scalars["String"]["output"]; + node: PositionVolumeInfo; +} + +export enum PositionVolumeInfoOrderByInput { + collateralToken_ASC = "collateralToken_ASC", + collateralToken_ASC_NULLS_FIRST = "collateralToken_ASC_NULLS_FIRST", + collateralToken_ASC_NULLS_LAST = "collateralToken_ASC_NULLS_LAST", + collateralToken_DESC = "collateralToken_DESC", + collateralToken_DESC_NULLS_FIRST = "collateralToken_DESC_NULLS_FIRST", + collateralToken_DESC_NULLS_LAST = "collateralToken_DESC_NULLS_LAST", + id_ASC = "id_ASC", + id_ASC_NULLS_FIRST = "id_ASC_NULLS_FIRST", + id_ASC_NULLS_LAST = "id_ASC_NULLS_LAST", + id_DESC = "id_DESC", + id_DESC_NULLS_FIRST = "id_DESC_NULLS_FIRST", + id_DESC_NULLS_LAST = "id_DESC_NULLS_LAST", + indexToken_ASC = "indexToken_ASC", + indexToken_ASC_NULLS_FIRST = "indexToken_ASC_NULLS_FIRST", + indexToken_ASC_NULLS_LAST = "indexToken_ASC_NULLS_LAST", + indexToken_DESC = "indexToken_DESC", + indexToken_DESC_NULLS_FIRST = "indexToken_DESC_NULLS_FIRST", + indexToken_DESC_NULLS_LAST = "indexToken_DESC_NULLS_LAST", + period_ASC = "period_ASC", + period_ASC_NULLS_FIRST = "period_ASC_NULLS_FIRST", + period_ASC_NULLS_LAST = "period_ASC_NULLS_LAST", + period_DESC = "period_DESC", + period_DESC_NULLS_FIRST = "period_DESC_NULLS_FIRST", + period_DESC_NULLS_LAST = "period_DESC_NULLS_LAST", + timestamp_ASC = "timestamp_ASC", + timestamp_ASC_NULLS_FIRST = "timestamp_ASC_NULLS_FIRST", + timestamp_ASC_NULLS_LAST = "timestamp_ASC_NULLS_LAST", + timestamp_DESC = "timestamp_DESC", + timestamp_DESC_NULLS_FIRST = "timestamp_DESC_NULLS_FIRST", + timestamp_DESC_NULLS_LAST = "timestamp_DESC_NULLS_LAST", + volumeUsd_ASC = "volumeUsd_ASC", + volumeUsd_ASC_NULLS_FIRST = "volumeUsd_ASC_NULLS_FIRST", + volumeUsd_ASC_NULLS_LAST = "volumeUsd_ASC_NULLS_LAST", + volumeUsd_DESC = "volumeUsd_DESC", + volumeUsd_DESC_NULLS_FIRST = "volumeUsd_DESC_NULLS_FIRST", + volumeUsd_DESC_NULLS_LAST = "volumeUsd_DESC_NULLS_LAST", +} + +export interface PositionVolumeInfoWhereInput { + AND?: InputMaybe>; + OR?: InputMaybe>; + collateralToken_contains?: InputMaybe; + collateralToken_containsInsensitive?: InputMaybe; + collateralToken_endsWith?: InputMaybe; + collateralToken_eq?: InputMaybe; + collateralToken_gt?: InputMaybe; + collateralToken_gte?: InputMaybe; + collateralToken_in?: InputMaybe>; + collateralToken_isNull?: InputMaybe; + collateralToken_lt?: InputMaybe; + collateralToken_lte?: InputMaybe; + collateralToken_not_contains?: InputMaybe; + collateralToken_not_containsInsensitive?: InputMaybe; + collateralToken_not_endsWith?: InputMaybe; + collateralToken_not_eq?: InputMaybe; + collateralToken_not_in?: InputMaybe>; + collateralToken_not_startsWith?: InputMaybe; + collateralToken_startsWith?: InputMaybe; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + indexToken_contains?: InputMaybe; + indexToken_containsInsensitive?: InputMaybe; + indexToken_endsWith?: InputMaybe; + indexToken_eq?: InputMaybe; + indexToken_gt?: InputMaybe; + indexToken_gte?: InputMaybe; + indexToken_in?: InputMaybe>; + indexToken_isNull?: InputMaybe; + indexToken_lt?: InputMaybe; + indexToken_lte?: InputMaybe; + indexToken_not_contains?: InputMaybe; + indexToken_not_containsInsensitive?: InputMaybe; + indexToken_not_endsWith?: InputMaybe; + indexToken_not_eq?: InputMaybe; + indexToken_not_in?: InputMaybe>; + indexToken_not_startsWith?: InputMaybe; + indexToken_startsWith?: InputMaybe; + period_contains?: InputMaybe; + period_containsInsensitive?: InputMaybe; + period_endsWith?: InputMaybe; + period_eq?: InputMaybe; + period_gt?: InputMaybe; + period_gte?: InputMaybe; + period_in?: InputMaybe>; + period_isNull?: InputMaybe; + period_lt?: InputMaybe; + period_lte?: InputMaybe; + period_not_contains?: InputMaybe; + period_not_containsInsensitive?: InputMaybe; + period_not_endsWith?: InputMaybe; + period_not_eq?: InputMaybe; + period_not_in?: InputMaybe>; + period_not_startsWith?: InputMaybe; + period_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + volumeUsd_eq?: InputMaybe; + volumeUsd_gt?: InputMaybe; + volumeUsd_gte?: InputMaybe; + volumeUsd_in?: InputMaybe>; + volumeUsd_isNull?: InputMaybe; + volumeUsd_lt?: InputMaybe; + volumeUsd_lte?: InputMaybe; + volumeUsd_not_eq?: InputMaybe; + volumeUsd_not_in?: InputMaybe>; +} + +export interface PositionVolumeInfosConnection { + __typename?: "PositionVolumeInfosConnection"; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars["Int"]["output"]; +} + export interface PositionWhereInput { AND?: InputMaybe>; OR?: InputMaybe>; @@ -7493,6 +7710,9 @@ export interface Query { positionFeesEntitiesConnection: PositionFeesEntitiesConnection; positionFeesEntityById?: Maybe; positionTotalCollateralAmount: Array; + positionVolumeInfoById?: Maybe; + positionVolumeInfos: Array; + positionVolumeInfosConnection: PositionVolumeInfosConnection; positions: Array; positionsConnection: PositionsConnection; positionsVolume: Array; @@ -7503,9 +7723,15 @@ export interface Query { processorStatuses: Array; processorStatusesConnection: ProcessorStatusesConnection; squidStatus: SquidStatus; + swapFeesInfoById?: Maybe; + swapFeesInfos: Array; + swapFeesInfosConnection: SwapFeesInfosConnection; swapInfoById?: Maybe; swapInfos: Array; swapInfosConnection: SwapInfosConnection; + swapVolumeInfoById?: Maybe; + swapVolumeInfos: Array; + swapVolumeInfosConnection: SwapVolumeInfosConnection; totalPositionChanges: Scalars["Float"]["output"]; tradeActionById?: Maybe; tradeActions: Array; @@ -7513,6 +7739,9 @@ export interface Query { transactionById?: Maybe; transactions: Array; transactionsConnection: TransactionsConnection; + volumeInfoById?: Maybe; + volumeInfos: Array; + volumeInfosConnection: VolumeInfosConnection; } export interface QueryaccountPnlHistoryStatsArgs { @@ -8016,6 +8245,24 @@ export interface QuerypositionTotalCollateralAmountArgs { where?: InputMaybe; } +export interface QuerypositionVolumeInfoByIdArgs { + id: Scalars["String"]["input"]; +} + +export interface QuerypositionVolumeInfosArgs { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +} + +export interface QuerypositionVolumeInfosConnectionArgs { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +} + export interface QuerypositionsArgs { limit?: InputMaybe; offset?: InputMaybe; @@ -8070,6 +8317,24 @@ export interface QueryprocessorStatusesConnectionArgs { where?: InputMaybe; } +export interface QueryswapFeesInfoByIdArgs { + id: Scalars["String"]["input"]; +} + +export interface QueryswapFeesInfosArgs { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +} + +export interface QueryswapFeesInfosConnectionArgs { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +} + export interface QueryswapInfoByIdArgs { id: Scalars["String"]["input"]; } @@ -8088,6 +8353,24 @@ export interface QueryswapInfosConnectionArgs { where?: InputMaybe; } +export interface QueryswapVolumeInfoByIdArgs { + id: Scalars["String"]["input"]; +} + +export interface QueryswapVolumeInfosArgs { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +} + +export interface QueryswapVolumeInfosConnectionArgs { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +} + export interface QuerytradeActionByIdArgs { id: Scalars["String"]["input"]; } @@ -8124,43 +8407,275 @@ export interface QuerytransactionsConnectionArgs { where?: InputMaybe; } +export interface QueryvolumeInfoByIdArgs { + id: Scalars["String"]["input"]; +} + +export interface QueryvolumeInfosArgs { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +} + +export interface QueryvolumeInfosConnectionArgs { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +} + export interface SquidStatus { __typename?: "SquidStatus"; finalizedHeight: Scalars["Float"]["output"]; height: Scalars["Float"]["output"]; } -export interface SwapInfo { - __typename?: "SwapInfo"; - amountIn: Scalars["BigInt"]["output"]; - amountInAfterFees: Scalars["BigInt"]["output"]; - amountOut: Scalars["BigInt"]["output"]; +export interface SwapFeesInfo { + __typename?: "SwapFeesInfo"; + feeReceiverAmount: Scalars["BigInt"]["output"]; + feeUsdForPool: Scalars["BigInt"]["output"]; id: Scalars["String"]["output"]; marketAddress: Scalars["String"]["output"]; - orderKey: Scalars["String"]["output"]; - priceImpactUsd: Scalars["BigInt"]["output"]; - receiver: Scalars["String"]["output"]; - tokenInAddress: Scalars["String"]["output"]; - tokenInPrice: Scalars["BigInt"]["output"]; - tokenOutAddress: Scalars["String"]["output"]; - tokenOutPrice: Scalars["BigInt"]["output"]; + swapFeeType: Scalars["String"]["output"]; + tokenAddress: Scalars["String"]["output"]; + tokenPrice: Scalars["BigInt"]["output"]; transaction: Transaction; } -export interface SwapInfoEdge { - __typename?: "SwapInfoEdge"; +export interface SwapFeesInfoEdge { + __typename?: "SwapFeesInfoEdge"; cursor: Scalars["String"]["output"]; - node: SwapInfo; + node: SwapFeesInfo; } -export enum SwapInfoOrderByInput { - amountInAfterFees_ASC = "amountInAfterFees_ASC", - amountInAfterFees_ASC_NULLS_FIRST = "amountInAfterFees_ASC_NULLS_FIRST", - amountInAfterFees_ASC_NULLS_LAST = "amountInAfterFees_ASC_NULLS_LAST", - amountInAfterFees_DESC = "amountInAfterFees_DESC", - amountInAfterFees_DESC_NULLS_FIRST = "amountInAfterFees_DESC_NULLS_FIRST", - amountInAfterFees_DESC_NULLS_LAST = "amountInAfterFees_DESC_NULLS_LAST", - amountIn_ASC = "amountIn_ASC", +export enum SwapFeesInfoOrderByInput { + feeReceiverAmount_ASC = "feeReceiverAmount_ASC", + feeReceiverAmount_ASC_NULLS_FIRST = "feeReceiverAmount_ASC_NULLS_FIRST", + feeReceiverAmount_ASC_NULLS_LAST = "feeReceiverAmount_ASC_NULLS_LAST", + feeReceiverAmount_DESC = "feeReceiverAmount_DESC", + feeReceiverAmount_DESC_NULLS_FIRST = "feeReceiverAmount_DESC_NULLS_FIRST", + feeReceiverAmount_DESC_NULLS_LAST = "feeReceiverAmount_DESC_NULLS_LAST", + feeUsdForPool_ASC = "feeUsdForPool_ASC", + feeUsdForPool_ASC_NULLS_FIRST = "feeUsdForPool_ASC_NULLS_FIRST", + feeUsdForPool_ASC_NULLS_LAST = "feeUsdForPool_ASC_NULLS_LAST", + feeUsdForPool_DESC = "feeUsdForPool_DESC", + feeUsdForPool_DESC_NULLS_FIRST = "feeUsdForPool_DESC_NULLS_FIRST", + feeUsdForPool_DESC_NULLS_LAST = "feeUsdForPool_DESC_NULLS_LAST", + id_ASC = "id_ASC", + id_ASC_NULLS_FIRST = "id_ASC_NULLS_FIRST", + id_ASC_NULLS_LAST = "id_ASC_NULLS_LAST", + id_DESC = "id_DESC", + id_DESC_NULLS_FIRST = "id_DESC_NULLS_FIRST", + id_DESC_NULLS_LAST = "id_DESC_NULLS_LAST", + marketAddress_ASC = "marketAddress_ASC", + marketAddress_ASC_NULLS_FIRST = "marketAddress_ASC_NULLS_FIRST", + marketAddress_ASC_NULLS_LAST = "marketAddress_ASC_NULLS_LAST", + marketAddress_DESC = "marketAddress_DESC", + marketAddress_DESC_NULLS_FIRST = "marketAddress_DESC_NULLS_FIRST", + marketAddress_DESC_NULLS_LAST = "marketAddress_DESC_NULLS_LAST", + swapFeeType_ASC = "swapFeeType_ASC", + swapFeeType_ASC_NULLS_FIRST = "swapFeeType_ASC_NULLS_FIRST", + swapFeeType_ASC_NULLS_LAST = "swapFeeType_ASC_NULLS_LAST", + swapFeeType_DESC = "swapFeeType_DESC", + swapFeeType_DESC_NULLS_FIRST = "swapFeeType_DESC_NULLS_FIRST", + swapFeeType_DESC_NULLS_LAST = "swapFeeType_DESC_NULLS_LAST", + tokenAddress_ASC = "tokenAddress_ASC", + tokenAddress_ASC_NULLS_FIRST = "tokenAddress_ASC_NULLS_FIRST", + tokenAddress_ASC_NULLS_LAST = "tokenAddress_ASC_NULLS_LAST", + tokenAddress_DESC = "tokenAddress_DESC", + tokenAddress_DESC_NULLS_FIRST = "tokenAddress_DESC_NULLS_FIRST", + tokenAddress_DESC_NULLS_LAST = "tokenAddress_DESC_NULLS_LAST", + tokenPrice_ASC = "tokenPrice_ASC", + tokenPrice_ASC_NULLS_FIRST = "tokenPrice_ASC_NULLS_FIRST", + tokenPrice_ASC_NULLS_LAST = "tokenPrice_ASC_NULLS_LAST", + tokenPrice_DESC = "tokenPrice_DESC", + tokenPrice_DESC_NULLS_FIRST = "tokenPrice_DESC_NULLS_FIRST", + tokenPrice_DESC_NULLS_LAST = "tokenPrice_DESC_NULLS_LAST", + transaction_blockNumber_ASC = "transaction_blockNumber_ASC", + transaction_blockNumber_ASC_NULLS_FIRST = "transaction_blockNumber_ASC_NULLS_FIRST", + transaction_blockNumber_ASC_NULLS_LAST = "transaction_blockNumber_ASC_NULLS_LAST", + transaction_blockNumber_DESC = "transaction_blockNumber_DESC", + transaction_blockNumber_DESC_NULLS_FIRST = "transaction_blockNumber_DESC_NULLS_FIRST", + transaction_blockNumber_DESC_NULLS_LAST = "transaction_blockNumber_DESC_NULLS_LAST", + transaction_from_ASC = "transaction_from_ASC", + transaction_from_ASC_NULLS_FIRST = "transaction_from_ASC_NULLS_FIRST", + transaction_from_ASC_NULLS_LAST = "transaction_from_ASC_NULLS_LAST", + transaction_from_DESC = "transaction_from_DESC", + transaction_from_DESC_NULLS_FIRST = "transaction_from_DESC_NULLS_FIRST", + transaction_from_DESC_NULLS_LAST = "transaction_from_DESC_NULLS_LAST", + transaction_hash_ASC = "transaction_hash_ASC", + transaction_hash_ASC_NULLS_FIRST = "transaction_hash_ASC_NULLS_FIRST", + transaction_hash_ASC_NULLS_LAST = "transaction_hash_ASC_NULLS_LAST", + transaction_hash_DESC = "transaction_hash_DESC", + transaction_hash_DESC_NULLS_FIRST = "transaction_hash_DESC_NULLS_FIRST", + transaction_hash_DESC_NULLS_LAST = "transaction_hash_DESC_NULLS_LAST", + transaction_id_ASC = "transaction_id_ASC", + transaction_id_ASC_NULLS_FIRST = "transaction_id_ASC_NULLS_FIRST", + transaction_id_ASC_NULLS_LAST = "transaction_id_ASC_NULLS_LAST", + transaction_id_DESC = "transaction_id_DESC", + transaction_id_DESC_NULLS_FIRST = "transaction_id_DESC_NULLS_FIRST", + transaction_id_DESC_NULLS_LAST = "transaction_id_DESC_NULLS_LAST", + transaction_timestamp_ASC = "transaction_timestamp_ASC", + transaction_timestamp_ASC_NULLS_FIRST = "transaction_timestamp_ASC_NULLS_FIRST", + transaction_timestamp_ASC_NULLS_LAST = "transaction_timestamp_ASC_NULLS_LAST", + transaction_timestamp_DESC = "transaction_timestamp_DESC", + transaction_timestamp_DESC_NULLS_FIRST = "transaction_timestamp_DESC_NULLS_FIRST", + transaction_timestamp_DESC_NULLS_LAST = "transaction_timestamp_DESC_NULLS_LAST", + transaction_to_ASC = "transaction_to_ASC", + transaction_to_ASC_NULLS_FIRST = "transaction_to_ASC_NULLS_FIRST", + transaction_to_ASC_NULLS_LAST = "transaction_to_ASC_NULLS_LAST", + transaction_to_DESC = "transaction_to_DESC", + transaction_to_DESC_NULLS_FIRST = "transaction_to_DESC_NULLS_FIRST", + transaction_to_DESC_NULLS_LAST = "transaction_to_DESC_NULLS_LAST", + transaction_transactionIndex_ASC = "transaction_transactionIndex_ASC", + transaction_transactionIndex_ASC_NULLS_FIRST = "transaction_transactionIndex_ASC_NULLS_FIRST", + transaction_transactionIndex_ASC_NULLS_LAST = "transaction_transactionIndex_ASC_NULLS_LAST", + transaction_transactionIndex_DESC = "transaction_transactionIndex_DESC", + transaction_transactionIndex_DESC_NULLS_FIRST = "transaction_transactionIndex_DESC_NULLS_FIRST", + transaction_transactionIndex_DESC_NULLS_LAST = "transaction_transactionIndex_DESC_NULLS_LAST", +} + +export interface SwapFeesInfoWhereInput { + AND?: InputMaybe>; + OR?: InputMaybe>; + feeReceiverAmount_eq?: InputMaybe; + feeReceiverAmount_gt?: InputMaybe; + feeReceiverAmount_gte?: InputMaybe; + feeReceiverAmount_in?: InputMaybe>; + feeReceiverAmount_isNull?: InputMaybe; + feeReceiverAmount_lt?: InputMaybe; + feeReceiverAmount_lte?: InputMaybe; + feeReceiverAmount_not_eq?: InputMaybe; + feeReceiverAmount_not_in?: InputMaybe>; + feeUsdForPool_eq?: InputMaybe; + feeUsdForPool_gt?: InputMaybe; + feeUsdForPool_gte?: InputMaybe; + feeUsdForPool_in?: InputMaybe>; + feeUsdForPool_isNull?: InputMaybe; + feeUsdForPool_lt?: InputMaybe; + feeUsdForPool_lte?: InputMaybe; + feeUsdForPool_not_eq?: InputMaybe; + feeUsdForPool_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + marketAddress_contains?: InputMaybe; + marketAddress_containsInsensitive?: InputMaybe; + marketAddress_endsWith?: InputMaybe; + marketAddress_eq?: InputMaybe; + marketAddress_gt?: InputMaybe; + marketAddress_gte?: InputMaybe; + marketAddress_in?: InputMaybe>; + marketAddress_isNull?: InputMaybe; + marketAddress_lt?: InputMaybe; + marketAddress_lte?: InputMaybe; + marketAddress_not_contains?: InputMaybe; + marketAddress_not_containsInsensitive?: InputMaybe; + marketAddress_not_endsWith?: InputMaybe; + marketAddress_not_eq?: InputMaybe; + marketAddress_not_in?: InputMaybe>; + marketAddress_not_startsWith?: InputMaybe; + marketAddress_startsWith?: InputMaybe; + swapFeeType_contains?: InputMaybe; + swapFeeType_containsInsensitive?: InputMaybe; + swapFeeType_endsWith?: InputMaybe; + swapFeeType_eq?: InputMaybe; + swapFeeType_gt?: InputMaybe; + swapFeeType_gte?: InputMaybe; + swapFeeType_in?: InputMaybe>; + swapFeeType_isNull?: InputMaybe; + swapFeeType_lt?: InputMaybe; + swapFeeType_lte?: InputMaybe; + swapFeeType_not_contains?: InputMaybe; + swapFeeType_not_containsInsensitive?: InputMaybe; + swapFeeType_not_endsWith?: InputMaybe; + swapFeeType_not_eq?: InputMaybe; + swapFeeType_not_in?: InputMaybe>; + swapFeeType_not_startsWith?: InputMaybe; + swapFeeType_startsWith?: InputMaybe; + tokenAddress_contains?: InputMaybe; + tokenAddress_containsInsensitive?: InputMaybe; + tokenAddress_endsWith?: InputMaybe; + tokenAddress_eq?: InputMaybe; + tokenAddress_gt?: InputMaybe; + tokenAddress_gte?: InputMaybe; + tokenAddress_in?: InputMaybe>; + tokenAddress_isNull?: InputMaybe; + tokenAddress_lt?: InputMaybe; + tokenAddress_lte?: InputMaybe; + tokenAddress_not_contains?: InputMaybe; + tokenAddress_not_containsInsensitive?: InputMaybe; + tokenAddress_not_endsWith?: InputMaybe; + tokenAddress_not_eq?: InputMaybe; + tokenAddress_not_in?: InputMaybe>; + tokenAddress_not_startsWith?: InputMaybe; + tokenAddress_startsWith?: InputMaybe; + tokenPrice_eq?: InputMaybe; + tokenPrice_gt?: InputMaybe; + tokenPrice_gte?: InputMaybe; + tokenPrice_in?: InputMaybe>; + tokenPrice_isNull?: InputMaybe; + tokenPrice_lt?: InputMaybe; + tokenPrice_lte?: InputMaybe; + tokenPrice_not_eq?: InputMaybe; + tokenPrice_not_in?: InputMaybe>; + transaction?: InputMaybe; + transaction_isNull?: InputMaybe; +} + +export interface SwapFeesInfosConnection { + __typename?: "SwapFeesInfosConnection"; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars["Int"]["output"]; +} + +export interface SwapInfo { + __typename?: "SwapInfo"; + amountIn: Scalars["BigInt"]["output"]; + amountInAfterFees: Scalars["BigInt"]["output"]; + amountOut: Scalars["BigInt"]["output"]; + id: Scalars["String"]["output"]; + marketAddress: Scalars["String"]["output"]; + orderKey: Scalars["String"]["output"]; + priceImpactUsd: Scalars["BigInt"]["output"]; + receiver: Scalars["String"]["output"]; + tokenInAddress: Scalars["String"]["output"]; + tokenInPrice: Scalars["BigInt"]["output"]; + tokenOutAddress: Scalars["String"]["output"]; + tokenOutPrice: Scalars["BigInt"]["output"]; + transaction: Transaction; +} + +export interface SwapInfoEdge { + __typename?: "SwapInfoEdge"; + cursor: Scalars["String"]["output"]; + node: SwapInfo; +} + +export enum SwapInfoOrderByInput { + amountInAfterFees_ASC = "amountInAfterFees_ASC", + amountInAfterFees_ASC_NULLS_FIRST = "amountInAfterFees_ASC_NULLS_FIRST", + amountInAfterFees_ASC_NULLS_LAST = "amountInAfterFees_ASC_NULLS_LAST", + amountInAfterFees_DESC = "amountInAfterFees_DESC", + amountInAfterFees_DESC_NULLS_FIRST = "amountInAfterFees_DESC_NULLS_FIRST", + amountInAfterFees_DESC_NULLS_LAST = "amountInAfterFees_DESC_NULLS_LAST", + amountIn_ASC = "amountIn_ASC", amountIn_ASC_NULLS_FIRST = "amountIn_ASC_NULLS_FIRST", amountIn_ASC_NULLS_LAST = "amountIn_ASC_NULLS_LAST", amountIn_DESC = "amountIn_DESC", @@ -8440,6 +8955,159 @@ export interface SwapInfosConnection { totalCount: Scalars["Int"]["output"]; } +export interface SwapVolumeInfo { + __typename?: "SwapVolumeInfo"; + id: Scalars["String"]["output"]; + period: Scalars["String"]["output"]; + timestamp: Scalars["Int"]["output"]; + tokenIn: Scalars["String"]["output"]; + tokenOut: Scalars["String"]["output"]; + volumeUsd: Scalars["BigInt"]["output"]; +} + +export interface SwapVolumeInfoEdge { + __typename?: "SwapVolumeInfoEdge"; + cursor: Scalars["String"]["output"]; + node: SwapVolumeInfo; +} + +export enum SwapVolumeInfoOrderByInput { + id_ASC = "id_ASC", + id_ASC_NULLS_FIRST = "id_ASC_NULLS_FIRST", + id_ASC_NULLS_LAST = "id_ASC_NULLS_LAST", + id_DESC = "id_DESC", + id_DESC_NULLS_FIRST = "id_DESC_NULLS_FIRST", + id_DESC_NULLS_LAST = "id_DESC_NULLS_LAST", + period_ASC = "period_ASC", + period_ASC_NULLS_FIRST = "period_ASC_NULLS_FIRST", + period_ASC_NULLS_LAST = "period_ASC_NULLS_LAST", + period_DESC = "period_DESC", + period_DESC_NULLS_FIRST = "period_DESC_NULLS_FIRST", + period_DESC_NULLS_LAST = "period_DESC_NULLS_LAST", + timestamp_ASC = "timestamp_ASC", + timestamp_ASC_NULLS_FIRST = "timestamp_ASC_NULLS_FIRST", + timestamp_ASC_NULLS_LAST = "timestamp_ASC_NULLS_LAST", + timestamp_DESC = "timestamp_DESC", + timestamp_DESC_NULLS_FIRST = "timestamp_DESC_NULLS_FIRST", + timestamp_DESC_NULLS_LAST = "timestamp_DESC_NULLS_LAST", + tokenIn_ASC = "tokenIn_ASC", + tokenIn_ASC_NULLS_FIRST = "tokenIn_ASC_NULLS_FIRST", + tokenIn_ASC_NULLS_LAST = "tokenIn_ASC_NULLS_LAST", + tokenIn_DESC = "tokenIn_DESC", + tokenIn_DESC_NULLS_FIRST = "tokenIn_DESC_NULLS_FIRST", + tokenIn_DESC_NULLS_LAST = "tokenIn_DESC_NULLS_LAST", + tokenOut_ASC = "tokenOut_ASC", + tokenOut_ASC_NULLS_FIRST = "tokenOut_ASC_NULLS_FIRST", + tokenOut_ASC_NULLS_LAST = "tokenOut_ASC_NULLS_LAST", + tokenOut_DESC = "tokenOut_DESC", + tokenOut_DESC_NULLS_FIRST = "tokenOut_DESC_NULLS_FIRST", + tokenOut_DESC_NULLS_LAST = "tokenOut_DESC_NULLS_LAST", + volumeUsd_ASC = "volumeUsd_ASC", + volumeUsd_ASC_NULLS_FIRST = "volumeUsd_ASC_NULLS_FIRST", + volumeUsd_ASC_NULLS_LAST = "volumeUsd_ASC_NULLS_LAST", + volumeUsd_DESC = "volumeUsd_DESC", + volumeUsd_DESC_NULLS_FIRST = "volumeUsd_DESC_NULLS_FIRST", + volumeUsd_DESC_NULLS_LAST = "volumeUsd_DESC_NULLS_LAST", +} + +export interface SwapVolumeInfoWhereInput { + AND?: InputMaybe>; + OR?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + period_contains?: InputMaybe; + period_containsInsensitive?: InputMaybe; + period_endsWith?: InputMaybe; + period_eq?: InputMaybe; + period_gt?: InputMaybe; + period_gte?: InputMaybe; + period_in?: InputMaybe>; + period_isNull?: InputMaybe; + period_lt?: InputMaybe; + period_lte?: InputMaybe; + period_not_contains?: InputMaybe; + period_not_containsInsensitive?: InputMaybe; + period_not_endsWith?: InputMaybe; + period_not_eq?: InputMaybe; + period_not_in?: InputMaybe>; + period_not_startsWith?: InputMaybe; + period_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + tokenIn_contains?: InputMaybe; + tokenIn_containsInsensitive?: InputMaybe; + tokenIn_endsWith?: InputMaybe; + tokenIn_eq?: InputMaybe; + tokenIn_gt?: InputMaybe; + tokenIn_gte?: InputMaybe; + tokenIn_in?: InputMaybe>; + tokenIn_isNull?: InputMaybe; + tokenIn_lt?: InputMaybe; + tokenIn_lte?: InputMaybe; + tokenIn_not_contains?: InputMaybe; + tokenIn_not_containsInsensitive?: InputMaybe; + tokenIn_not_endsWith?: InputMaybe; + tokenIn_not_eq?: InputMaybe; + tokenIn_not_in?: InputMaybe>; + tokenIn_not_startsWith?: InputMaybe; + tokenIn_startsWith?: InputMaybe; + tokenOut_contains?: InputMaybe; + tokenOut_containsInsensitive?: InputMaybe; + tokenOut_endsWith?: InputMaybe; + tokenOut_eq?: InputMaybe; + tokenOut_gt?: InputMaybe; + tokenOut_gte?: InputMaybe; + tokenOut_in?: InputMaybe>; + tokenOut_isNull?: InputMaybe; + tokenOut_lt?: InputMaybe; + tokenOut_lte?: InputMaybe; + tokenOut_not_contains?: InputMaybe; + tokenOut_not_containsInsensitive?: InputMaybe; + tokenOut_not_endsWith?: InputMaybe; + tokenOut_not_eq?: InputMaybe; + tokenOut_not_in?: InputMaybe>; + tokenOut_not_startsWith?: InputMaybe; + tokenOut_startsWith?: InputMaybe; + volumeUsd_eq?: InputMaybe; + volumeUsd_gt?: InputMaybe; + volumeUsd_gte?: InputMaybe; + volumeUsd_in?: InputMaybe>; + volumeUsd_isNull?: InputMaybe; + volumeUsd_lt?: InputMaybe; + volumeUsd_lte?: InputMaybe; + volumeUsd_not_eq?: InputMaybe; + volumeUsd_not_in?: InputMaybe>; +} + +export interface SwapVolumeInfosConnection { + __typename?: "SwapVolumeInfosConnection"; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars["Int"]["output"]; +} + export interface TradeAction { __typename?: "TradeAction"; acceptablePrice?: Maybe; @@ -9440,6 +10108,175 @@ export interface TransactionsConnection { totalCount: Scalars["Int"]["output"]; } +export interface VolumeInfo { + __typename?: "VolumeInfo"; + depositVolumeUsd: Scalars["BigInt"]["output"]; + id: Scalars["String"]["output"]; + marginVolumeUsd: Scalars["BigInt"]["output"]; + period: Scalars["String"]["output"]; + swapVolumeUsd: Scalars["BigInt"]["output"]; + timestamp: Scalars["Int"]["output"]; + volumeUsd: Scalars["BigInt"]["output"]; + withdrawalVolumeUsd: Scalars["BigInt"]["output"]; +} + +export interface VolumeInfoEdge { + __typename?: "VolumeInfoEdge"; + cursor: Scalars["String"]["output"]; + node: VolumeInfo; +} + +export enum VolumeInfoOrderByInput { + depositVolumeUsd_ASC = "depositVolumeUsd_ASC", + depositVolumeUsd_ASC_NULLS_FIRST = "depositVolumeUsd_ASC_NULLS_FIRST", + depositVolumeUsd_ASC_NULLS_LAST = "depositVolumeUsd_ASC_NULLS_LAST", + depositVolumeUsd_DESC = "depositVolumeUsd_DESC", + depositVolumeUsd_DESC_NULLS_FIRST = "depositVolumeUsd_DESC_NULLS_FIRST", + depositVolumeUsd_DESC_NULLS_LAST = "depositVolumeUsd_DESC_NULLS_LAST", + id_ASC = "id_ASC", + id_ASC_NULLS_FIRST = "id_ASC_NULLS_FIRST", + id_ASC_NULLS_LAST = "id_ASC_NULLS_LAST", + id_DESC = "id_DESC", + id_DESC_NULLS_FIRST = "id_DESC_NULLS_FIRST", + id_DESC_NULLS_LAST = "id_DESC_NULLS_LAST", + marginVolumeUsd_ASC = "marginVolumeUsd_ASC", + marginVolumeUsd_ASC_NULLS_FIRST = "marginVolumeUsd_ASC_NULLS_FIRST", + marginVolumeUsd_ASC_NULLS_LAST = "marginVolumeUsd_ASC_NULLS_LAST", + marginVolumeUsd_DESC = "marginVolumeUsd_DESC", + marginVolumeUsd_DESC_NULLS_FIRST = "marginVolumeUsd_DESC_NULLS_FIRST", + marginVolumeUsd_DESC_NULLS_LAST = "marginVolumeUsd_DESC_NULLS_LAST", + period_ASC = "period_ASC", + period_ASC_NULLS_FIRST = "period_ASC_NULLS_FIRST", + period_ASC_NULLS_LAST = "period_ASC_NULLS_LAST", + period_DESC = "period_DESC", + period_DESC_NULLS_FIRST = "period_DESC_NULLS_FIRST", + period_DESC_NULLS_LAST = "period_DESC_NULLS_LAST", + swapVolumeUsd_ASC = "swapVolumeUsd_ASC", + swapVolumeUsd_ASC_NULLS_FIRST = "swapVolumeUsd_ASC_NULLS_FIRST", + swapVolumeUsd_ASC_NULLS_LAST = "swapVolumeUsd_ASC_NULLS_LAST", + swapVolumeUsd_DESC = "swapVolumeUsd_DESC", + swapVolumeUsd_DESC_NULLS_FIRST = "swapVolumeUsd_DESC_NULLS_FIRST", + swapVolumeUsd_DESC_NULLS_LAST = "swapVolumeUsd_DESC_NULLS_LAST", + timestamp_ASC = "timestamp_ASC", + timestamp_ASC_NULLS_FIRST = "timestamp_ASC_NULLS_FIRST", + timestamp_ASC_NULLS_LAST = "timestamp_ASC_NULLS_LAST", + timestamp_DESC = "timestamp_DESC", + timestamp_DESC_NULLS_FIRST = "timestamp_DESC_NULLS_FIRST", + timestamp_DESC_NULLS_LAST = "timestamp_DESC_NULLS_LAST", + volumeUsd_ASC = "volumeUsd_ASC", + volumeUsd_ASC_NULLS_FIRST = "volumeUsd_ASC_NULLS_FIRST", + volumeUsd_ASC_NULLS_LAST = "volumeUsd_ASC_NULLS_LAST", + volumeUsd_DESC = "volumeUsd_DESC", + volumeUsd_DESC_NULLS_FIRST = "volumeUsd_DESC_NULLS_FIRST", + volumeUsd_DESC_NULLS_LAST = "volumeUsd_DESC_NULLS_LAST", + withdrawalVolumeUsd_ASC = "withdrawalVolumeUsd_ASC", + withdrawalVolumeUsd_ASC_NULLS_FIRST = "withdrawalVolumeUsd_ASC_NULLS_FIRST", + withdrawalVolumeUsd_ASC_NULLS_LAST = "withdrawalVolumeUsd_ASC_NULLS_LAST", + withdrawalVolumeUsd_DESC = "withdrawalVolumeUsd_DESC", + withdrawalVolumeUsd_DESC_NULLS_FIRST = "withdrawalVolumeUsd_DESC_NULLS_FIRST", + withdrawalVolumeUsd_DESC_NULLS_LAST = "withdrawalVolumeUsd_DESC_NULLS_LAST", +} + +export interface VolumeInfoWhereInput { + AND?: InputMaybe>; + OR?: InputMaybe>; + depositVolumeUsd_eq?: InputMaybe; + depositVolumeUsd_gt?: InputMaybe; + depositVolumeUsd_gte?: InputMaybe; + depositVolumeUsd_in?: InputMaybe>; + depositVolumeUsd_isNull?: InputMaybe; + depositVolumeUsd_lt?: InputMaybe; + depositVolumeUsd_lte?: InputMaybe; + depositVolumeUsd_not_eq?: InputMaybe; + depositVolumeUsd_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + marginVolumeUsd_eq?: InputMaybe; + marginVolumeUsd_gt?: InputMaybe; + marginVolumeUsd_gte?: InputMaybe; + marginVolumeUsd_in?: InputMaybe>; + marginVolumeUsd_isNull?: InputMaybe; + marginVolumeUsd_lt?: InputMaybe; + marginVolumeUsd_lte?: InputMaybe; + marginVolumeUsd_not_eq?: InputMaybe; + marginVolumeUsd_not_in?: InputMaybe>; + period_contains?: InputMaybe; + period_containsInsensitive?: InputMaybe; + period_endsWith?: InputMaybe; + period_eq?: InputMaybe; + period_gt?: InputMaybe; + period_gte?: InputMaybe; + period_in?: InputMaybe>; + period_isNull?: InputMaybe; + period_lt?: InputMaybe; + period_lte?: InputMaybe; + period_not_contains?: InputMaybe; + period_not_containsInsensitive?: InputMaybe; + period_not_endsWith?: InputMaybe; + period_not_eq?: InputMaybe; + period_not_in?: InputMaybe>; + period_not_startsWith?: InputMaybe; + period_startsWith?: InputMaybe; + swapVolumeUsd_eq?: InputMaybe; + swapVolumeUsd_gt?: InputMaybe; + swapVolumeUsd_gte?: InputMaybe; + swapVolumeUsd_in?: InputMaybe>; + swapVolumeUsd_isNull?: InputMaybe; + swapVolumeUsd_lt?: InputMaybe; + swapVolumeUsd_lte?: InputMaybe; + swapVolumeUsd_not_eq?: InputMaybe; + swapVolumeUsd_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + volumeUsd_eq?: InputMaybe; + volumeUsd_gt?: InputMaybe; + volumeUsd_gte?: InputMaybe; + volumeUsd_in?: InputMaybe>; + volumeUsd_isNull?: InputMaybe; + volumeUsd_lt?: InputMaybe; + volumeUsd_lte?: InputMaybe; + volumeUsd_not_eq?: InputMaybe; + volumeUsd_not_in?: InputMaybe>; + withdrawalVolumeUsd_eq?: InputMaybe; + withdrawalVolumeUsd_gt?: InputMaybe; + withdrawalVolumeUsd_gte?: InputMaybe; + withdrawalVolumeUsd_in?: InputMaybe>; + withdrawalVolumeUsd_isNull?: InputMaybe; + withdrawalVolumeUsd_lt?: InputMaybe; + withdrawalVolumeUsd_lte?: InputMaybe; + withdrawalVolumeUsd_not_eq?: InputMaybe; + withdrawalVolumeUsd_not_in?: InputMaybe>; +} + +export interface VolumeInfosConnection { + __typename?: "VolumeInfosConnection"; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars["Int"]["output"]; +} + export interface WhereInput { from?: InputMaybe; id_eq?: InputMaybe; diff --git a/src/config/static/platformTokens.json b/src/config/static/platformTokens.json index 40cebd2bc1..690e96e310 100644 --- a/src/config/static/platformTokens.json +++ b/src/config/static/platformTokens.json @@ -36,6 +36,24 @@ "stargate": "0x8c92eaE643040fF0Fb65B423433001c176cB0bb6" } }, + "": { + "1": { + "address": "0x5Ece4d3F43D3BD8cBffc1d2CE851E7605D403D3C", + "stargate": "0x5Ece4d3F43D3BD8cBffc1d2CE851E7605D403D3C" + }, + "56": { + "address": "0x2e6Bf9Bdd2A7872bDae170C13F34d64692f842C1", + "stargate": "0x2e6Bf9Bdd2A7872bDae170C13F34d64692f842C1" + }, + "8453": { + "address": "0x5E922D32c7278f6c5621a016c03055c54C97D27b", + "stargate": "0x5E922D32c7278f6c5621a016c03055c54C97D27b" + }, + "42161": { + "address": "0x7C11F78Ce78768518D743E81Fdfa2F860C6b9A77", + "stargate": "0x661E1faD17124471a59c37E9c4590BA809599f30" + } + }, "": { "1": { "address": "0x91dd54AA8BA9Dfde8b956Cfb709a7c418f870e21", @@ -71,6 +89,24 @@ "address": "0x70d95587d40A2caf56bd97485aB3Eec10Bee6336", "stargate": "0xfcff5015627B8ce9CeAA7F5b38a6679F65fE39a7" } + }, + "": { + "1": { + "address": "0x0B335e18Ab68Ccd2E8946A6E785D8bE65F413103", + "stargate": "0x0B335e18Ab68Ccd2E8946A6E785D8bE65F413103" + }, + "56": { + "address": "0x5Ece4d3F43D3BD8cBffc1d2CE851E7605D403D3C", + "stargate": "0x5Ece4d3F43D3BD8cBffc1d2CE851E7605D403D3C" + }, + "8453": { + "address": "0x47dFf0cbE239c02479C5944b9F4F3Ade8a212457", + "stargate": "0x47dFf0cbE239c02479C5944b9F4F3Ade8a212457" + }, + "42161": { + "address": "0x450bb6774Dd8a756274E0ab4107953259d2ac541", + "stargate": "0x0110424A21D5DF818f4a789E5d9d9141a4E29A3C" + } } }, "testnets": {