@parifi/sdk
Version:
Parifi SDK with common utility functions
1 lines • 5.08 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/subgraph/accounts/subgraphQueries.ts"],"sourcesContent":["import { gql } from 'graphql-request';\n\n// The `fetchRealizedPnlData` query fetches the realized PnL for a user address\n// for vaults and positions\nexport const fetchRealizedPnlData = (userAddress: string) => gql`\n {\n account(id: \"${userAddress.toLowerCase()}\") {\n id\n totalRealizedPnlPositions\n totalRealizedPnlVaults\n }\n }\n`;\n\n/// Fetch Portfolio total for a set of addresses\n/// Portfolio total consists of\n/// 1. Realized PNL from positions and vaults - user.totalRealizedPnlPositions, user.totalRealizedPnlVaults\n/// 2. Unrealized PNL from positions - positions.netUnrealizedPnlInUsd\n/// 3. Deposited liquidity in vaults -\n/// 4. Deposited collateral of all open positions - positions.positionCollateral\nexport const fetchPortfolioData = (userAddresses: string[]) => gql`\n{\n accounts(where: {id_in: [${userAddresses.map((id) => `\"${id.toLowerCase()}\"`).join(', ')}]}) {\n id\n totalRealizedPnlPositions\n totalRealizedPnlVaults\n }\n positions(\n first: 1000\n orderBy: positionCollateral\n orderDirection: desc\n where: {\n user_in: [${userAddresses.map((id) => `\"${id.toLowerCase()}\"`).join(', ')}], \n status: OPEN\n }\n ) {\n id\n user {\n id\n }\n netUnrealizedPnlInUsd\n positionCollateral\n market {\n depositToken {\n decimals\n pyth {\n id\n price\n }\n }\n }\n }\n vaultPositions(\n first: 1000\n orderBy: sharesBalance\n orderDirection: desc\n where: {user_in: [${userAddresses.map((id) => `\"${id.toLowerCase()}\"`).join(', ')}]}\n ) {\n user {\n id\n }\n vault {\n id\n assetsPerShare\n sharesPerAsset\n depositToken {\n decimals\n pyth {\n id\n price\n }\n }\n }\n sharesBalance\n }\n}\n`;\n\nexport const fetchAccountByWalletAddress = (walletAddress: string) =>\n gql`\n {\n wallet(id: \"${walletAddress}\") {\n id\n }\n }\n`;\n\n// Fetch account specific data for a user address for Leaderboard view\nexport const fetchLeaderboardUserData = (userAddresses: string[]) => gql`\n{\n accounts(\n where: {id_in: [${userAddresses.map((id) => `\"${id}\"`).join(', ')}]}\n ) {\n id\n totalOrdersCount\n totalPositionsCount\n countProfitablePositions\n countLossPositions\n countLiquidatedPositions\n totalVolumeInUsd\n totalVolumeInUsdLongs\n totalVolumeInUsdShorts\n totalRealizedPnlPositions\n totalAccruedBorrowingFeesInUsd \n }\n}`;\n\nexport const fetchIntegratorFees = (userAddresses: string[]) => gql`\n {\n snxAccounts(where:\n {\n owner_in: [${userAddresses.map((id) => `\"${id}\"`).join(', ')}],\n type: PERP\n }) {\n id\n accountId\n owner {\n id\n }\n integratorFeesGenerated\n }\n }\n`;\n\nexport const checkExistingUser = (userAddress: string) => gql`\n {\n snxAccounts(\n where: {\n owner: \"${userAddress}\",\n type: PERP,\n }\n ) {\n id\n accountId\n\t\ttotalOrdersCount\n }\n}\n`;\n\nexport const depositedCollateralForSnxAccountsQuery = (accountIds: string[]) => gql`\n{\n snxAccounts\n (where :{\n accountId_in : [${accountIds.map((id) => `\"${id}\"`).join(', ')}]\n })\n {\n owner{\n id\n }\n accountId\n collateralDeposits {\n totalAmountDeposited\n totalAmountWithdrawn\n totalAmountLiquidated\n currentDepositedAmount\n collateralName\n collateralSymbol\n collateralDecimals\n }\n }\n}\n`;\n"],"mappings":";AAAA,SAAS,WAAW;AAIb,IAAM,uBAAuB,CAAC,gBAAwB;AAAA;AAAA,mBAE1C,YAAY,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcrC,IAAM,qBAAqB,CAAC,kBAA4B;AAAA;AAAA,6BAElC,cAAc,IAAI,CAAC,OAAO,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAUxE,cAAc,IAAI,CAAC,OAAO,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAwBvD,cAAc,IAAI,CAAC,OAAO,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsB9E,IAAM,8BAA8B,CAAC,kBAC1C;AAAA;AAAA,kBAEgB,aAAa;AAAA;AAAA;AAAA;AAAA;AAOxB,IAAM,2BAA2B,CAAC,kBAA4B;AAAA;AAAA;AAAA,sBAG/C,cAAc,IAAI,CAAC,OAAO,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgB9D,IAAM,sBAAsB,CAAC,kBAA4B;AAAA;AAAA;AAAA;AAAA,mBAI7C,cAAc,IAAI,CAAC,OAAO,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa3D,IAAM,oBAAoB,CAAC,gBAAwB;AAAA;AAAA;AAAA;AAAA,gBAI1C,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWpB,IAAM,yCAAyC,CAAC,eAAyB;AAAA;AAAA;AAAA;AAAA,sBAI1D,WAAW,IAAI,CAAC,OAAO,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}