@steerprotocol/sdk 1.29.3 → 1.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/base/VaultClient.js +459 -78
- package/dist/cjs/base/VaultClient.js.map +1 -1
- package/dist/cjs/utils/SubgraphVaultClient.js +80 -6
- package/dist/cjs/utils/SubgraphVaultClient.js.map +1 -1
- package/dist/cjs/utils/subgraph-types.js.map +1 -1
- package/dist/esm/base/VaultClient.js +460 -79
- package/dist/esm/base/VaultClient.js.map +1 -1
- package/dist/esm/utils/SubgraphVaultClient.js +80 -6
- package/dist/esm/utils/SubgraphVaultClient.js.map +1 -1
- package/dist/esm/utils/subgraph-types.js.map +1 -1
- package/dist/types/base/VaultClient.d.ts +60 -1
- package/dist/types/base/VaultClient.d.ts.map +1 -1
- package/dist/types/utils/SubgraphVaultClient.d.ts +6 -0
- package/dist/types/utils/SubgraphVaultClient.d.ts.map +1 -1
- package/dist/types/utils/subgraph-types.d.ts +9 -0
- package/dist/types/utils/subgraph-types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/base/VaultClient.protocol-filter.test.ts +179 -0
- package/src/__tests__/base/VaultClient.test.ts +4 -3
- package/src/base/VaultClient.ts +568 -83
- package/src/utils/SubgraphVaultClient.ts +88 -6
- package/src/utils/subgraph-types.ts +10 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubgraphVaultClient.js","sourceRoot":"","sources":["../../../src/utils/SubgraphVaultClient.ts"],"names":[],"mappings":"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","sourcesContent":["import { Address } from 'viem';\nimport { VaultEdge, VaultNode, VaultsConnection } from '../base/VaultClient';\nimport { getProtocolTypeByBeacon } from '../const';\nimport { Protocol } from '../const/chain';\nimport {\n LpPriceResponse,\n SubgraphResponse,\n SubgraphVaultDetails,\n SubgraphVaultDetailsWithLpData,\n VaultFetchOptions,\n} from './subgraph-types';\n\n/**\n * GraphQL queries for fetching vault data from Steer subgraphs\n */\nconst FIND_ALL_VAULTS = (batchSize: number = 1000, timestamp?: string) => {\n if (timestamp) {\n return `query {\n vaults(first: ${batchSize}, where: { createdAt_lte: \"${timestamp}\" }, orderBy: createdAt, orderDirection: desc) {\n id\n name\n token0\n token1\n pool\n weeklyFeeAPR\n token0Symbol\n token0Decimals\n token1Symbol\n token1Decimals\n totalValueLockedToken0\n totalValueLockedToken1\n token0Balance\n token1Balance\n totalLPTokensIssued\n createdAt\n feeTier\n strategyToken {\n id\n name\n creator {\n id\n }\n admin\n executionBundle\n }\n beaconName\n payloadIpfs\n deployer\n }\n }`;\n }\n\n return `query {\n vaults(first: ${batchSize}, orderBy: createdAt, orderDirection: desc) {\n id\n name\n token0\n token1\n pool\n weeklyFeeAPR\n token0Symbol\n token0Decimals\n token1Symbol\n token1Decimals\n totalValueLockedToken0\n totalValueLockedToken1\n token0Balance\n token1Balance\n totalLPTokensIssued\n createdAt\n feeTier\n strategyToken {\n id\n name\n creator {\n id\n }\n admin\n executionBundle\n }\n beaconName\n payloadIpfs\n deployer\n }\n }`;\n};\n\nconst FIND_ALL_VAULTS_BY_PROTOCOL = (\n batchSize: number = 1000,\n timestamp?: string,\n beaconNames?: string[]\n) => {\n if (!beaconNames || beaconNames.length === 0) {\n throw new Error('At least one beacon name is required');\n }\n\n // Format beaconNames for GraphQL _in filter\n const beaconNamesList = beaconNames.map((b) => `\"${b}\"`).join(', ');\n const beaconNameFilter = `beaconName_in: [${beaconNamesList}]`;\n\n if (timestamp) {\n return `query {\n vaults(first: ${batchSize}, where: { createdAt_lte: \"${timestamp}\", ${beaconNameFilter} }, orderBy: createdAt, orderDirection: desc) {\n id\n name\n token0\n token1\n pool\n weeklyFeeAPR\n token0Symbol\n token0Decimals\n token1Symbol\n token1Decimals\n totalValueLockedToken0\n totalValueLockedToken1\n token0Balance\n token1Balance\n totalLPTokensIssued\n createdAt\n feeTier\n strategyToken {\n id\n name\n creator {\n id\n }\n admin\n executionBundle\n }\n beaconName\n payloadIpfs\n deployer\n }\n }`;\n }\n\n return `query {\n vaults(first: ${batchSize}, where: { ${beaconNameFilter} }, orderBy: createdAt, orderDirection: desc) {\n id\n name\n token0\n token1\n pool\n weeklyFeeAPR\n token0Symbol\n token0Decimals\n token1Symbol\n token1Decimals\n totalValueLockedToken0\n totalValueLockedToken1\n token0Balance\n token1Balance\n totalLPTokensIssued\n createdAt\n feeTier\n strategyToken {\n id\n name\n creator {\n id\n }\n admin\n executionBundle\n }\n beaconName\n payloadIpfs\n deployer\n }\n }`;\n};\n\n/**\n * Utility class for fetching vault data from Steer subgraphs\n */\nexport class SubgraphVaultClient {\n private readonly SENTIO_API_KEY =\n typeof process !== 'undefined' ? process.env?.SENTIO_API_KEY : undefined;\n\n /**\n * Transform subgraph vault data to match VaultClient interface\n */\n private transformSubgraphVaultToVaultNode(\n vault: SubgraphVaultDetailsWithLpData,\n chainId: number,\n aprMap: Map<string, number>\n ): VaultNode {\n // Get the chain enum from chainId\n const feeApr = aprMap.get(vault.id) ? aprMap.get(vault.id) : undefined;\n return {\n id: vault.id,\n chainId,\n vaultAddress: vault.id,\n protocol: getProtocolTypeByBeacon(vault.beaconName) || Protocol.Uniswap,\n beaconName: vault.beaconName,\n protocolBaseType: this.getProtocolBaseType(vault.beaconName),\n name: vault.name || '',\n feeApr: feeApr ? parseFloat(feeApr.toString()) : undefined,\n stakingApr: undefined, // Not available in subgraph\n merklApr: undefined, // Not available in subgraph\n pool: {\n id: vault.pool,\n poolAddress: vault.pool,\n feeTier: vault.feeTier,\n tick: undefined,\n liquidity: undefined,\n volumeUSD: undefined,\n totalValueLockedUSD: vault.lpPriceData?.vault.usd.totalValue?.toString(),\n },\n token0: {\n id: vault.token0,\n symbol: vault.token0Symbol,\n name: vault.token0Symbol, // Using symbol as name since name is not available\n decimals: parseInt(vault.token0Decimals),\n address: vault.token0,\n chainId,\n },\n token1: {\n id: vault.token1,\n symbol: vault.token1Symbol,\n name: vault.token1Symbol, // Using symbol as name since name is not available\n decimals: parseInt(vault.token1Decimals),\n address: vault.token1,\n chainId,\n },\n };\n }\n\n /**\n * Get protocol base type from beacon name\n */\n private getProtocolBaseType(beaconName: string): string {\n if (beaconName.includes('uniswap')) {\n return 'UniswapV3';\n }\n const protocol = getProtocolTypeByBeacon(beaconName);\n if (protocol) {\n return protocol === Protocol.Blackhole ? 'Algebra Integral' : protocol;\n }\n if (beaconName.includes('Stryke')) {\n return 'Stryke';\n }\n return 'UniswapV3'; // Default\n }\n\n /**\n * Create a mock LP price response for vaults without LP data\n */\n private createMockLpPriceData(vault: SubgraphVaultDetails): LpPriceResponse {\n return {\n vault: {\n address: vault.id as Address,\n token0: vault.token0 as Address,\n token1: vault.token1 as Address,\n balances: {\n token0: vault.token0Balance,\n token1: vault.token1Balance,\n totalSupply: vault.totalLPTokensIssued,\n token0Formatted: vault.token0Balance,\n token1Formatted: vault.token1Balance,\n totalSupplyFormatted: vault.totalLPTokensIssued,\n },\n usd: {\n lpValue: 0,\n totalValue: 0,\n token0Price: 0,\n token0Value: 0,\n token1Price: 0,\n token1Value: 0,\n },\n token0Symbol: vault.token0Symbol,\n token1Symbol: vault.token1Symbol,\n token0Decimals: vault.token0Decimals,\n token1Decimals: vault.token1Decimals,\n },\n routes: {\n token0ToUsd: [],\n token1ToUsd: [],\n },\n };\n }\n\n /**\n * Fetch vault data from subgraph\n */\n public async getAllVaultsFromSubgraph(\n options: VaultFetchOptions\n ): Promise<SubgraphVaultDetailsWithLpData[]> {\n const { subgraphUrl, showCurrentProtocol = false, beaconNames, batchSize = 1000 } = options;\n\n const allVaults: SubgraphVaultDetailsWithLpData[] = [];\n\n try {\n // First get the latest vault to get the most recent timestamp\n const latestVaultResponse = await fetch(subgraphUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...(subgraphUrl.includes('sentio') && this.SENTIO_API_KEY\n ? { 'api-key': this.SENTIO_API_KEY }\n : {}),\n },\n body: JSON.stringify({\n query: !showCurrentProtocol\n ? FIND_ALL_VAULTS(1)\n : FIND_ALL_VAULTS_BY_PROTOCOL(1, undefined, beaconNames),\n variables: {},\n }),\n });\n\n const latestVaultData: SubgraphResponse<SubgraphVaultDetails> =\n await latestVaultResponse.json();\n let lastTimestamp = latestVaultData?.data?.vaults?.[0]?.createdAt;\n\n let hasMoreData = true;\n while (hasMoreData) {\n const response = await fetch(subgraphUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...(subgraphUrl.includes('sentio') && this.SENTIO_API_KEY\n ? { 'api-key': this.SENTIO_API_KEY }\n : {}),\n },\n body: JSON.stringify({\n query: !showCurrentProtocol\n ? FIND_ALL_VAULTS(batchSize, lastTimestamp)\n : FIND_ALL_VAULTS_BY_PROTOCOL(batchSize, lastTimestamp, beaconNames),\n variables: {},\n }),\n });\n\n const responseData: SubgraphResponse<SubgraphVaultDetails> = await response.json();\n const vaults = responseData?.data?.vaults || [];\n\n if (!vaults.length) {\n hasMoreData = false;\n }\n\n // Filter out duplicates based on vault ID\n const newVaults = vaults.filter(\n (vault: SubgraphVaultDetails) => !allVaults.some((existing) => existing.id === vault.id)\n );\n\n if (!newVaults.length) {\n hasMoreData = false;\n }\n\n // For now, attach mock LP data to each vault\n // In a real implementation, you would fetch LP price data here\n const vaultsWithLpData: SubgraphVaultDetailsWithLpData[] = newVaults.map((vault) => ({\n ...vault,\n lpPriceData: this.createMockLpPriceData(vault),\n }));\n\n allVaults.push(...vaultsWithLpData);\n lastTimestamp = vaults[vaults.length - 1].createdAt;\n }\n\n // Filter deprecated vaults if needed\n // Note: In a real implementation, you would fetch deprecation data\n // For now, we return all vaults\n return allVaults;\n } catch (error) {\n console.error('Error fetching vaults from subgraph:', error);\n throw error;\n }\n }\n\n /**\n * Transform subgraph vault data to VaultsConnection format\n */\n public transformToVaultsConnection(\n vaults: SubgraphVaultDetailsWithLpData[],\n chainId: number,\n first: number = 50,\n aprMap: Map<string, number>,\n after?: string | null\n ): VaultsConnection {\n // Sort vaults by creation time (newest first)\n const sortedVaults = vaults.sort((a, b) => parseInt(b.createdAt) - parseInt(a.createdAt));\n\n // Apply pagination\n let startIndex = 0;\n if (after) {\n const afterIndex = sortedVaults.findIndex((vault) => vault.id === after);\n startIndex = afterIndex + 1;\n }\n\n const paginatedVaults = sortedVaults.slice(startIndex, startIndex + first);\n const hasNextPage = startIndex + first < sortedVaults.length;\n const endCursor =\n paginatedVaults.length > 0 ? paginatedVaults[paginatedVaults.length - 1].id : null;\n\n const edges: VaultEdge[] = paginatedVaults.map((vault) => ({\n cursor: vault.id,\n node: this.transformSubgraphVaultToVaultNode(vault, chainId, aprMap),\n }));\n\n return {\n edges,\n pageInfo: {\n hasNextPage,\n endCursor,\n },\n totalCount: sortedVaults.length,\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SubgraphVaultClient.js","sourceRoot":"","sources":["../../../src/utils/SubgraphVaultClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU1C;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,YAAoB,IAAI,EAAE,SAAkB,EAAE,EAAE;IACvE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;sBACW,SAAS,8BAA8B,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuChE,CAAC;IACL,CAAC;IAED,OAAO;oBACW,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuCzB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAClC,YAAoB,IAAI,EACxB,SAAkB,EAClB,WAAsB,EACtB,EAAE;IACF,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,4CAA4C;IAC5C,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,gBAAgB,GAAG,mBAAmB,eAAe,GAAG,CAAC;IAE/D,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;sBACW,SAAS,8BAA8B,SAAS,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuCtF,CAAC;IACL,CAAC;IAED,OAAO;oBACW,SAAS,cAAc,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuCvD,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAAhC;QACmB,mBAAc,GAC7B,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IAwR7E,CAAC;IAtRC;;OAEG;IACK,iCAAiC,CACvC,KAAqC,EACrC,OAAe,EACf,MAA2B;QAE3B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvE,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAE/D,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,OAAO;YACP,YAAY,EAAE,KAAK,CAAC,EAAE;YACtB,QAAQ,EAAE,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,OAAO;YACvE,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC;YAC5D,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1D,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7C,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpC,cAAc,EAAE,CAAC,CAAC,cAAc;aACjC,CAAC,CAAC;YACH,SAAS;YACT,IAAI,EACF,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBACpD,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;gBAC5C,CAAC,CAAC,SAAS;YACf,IAAI,EAAE;gBACJ,EAAE,EAAE,KAAK,CAAC,IAAI;gBACd,WAAW,EAAE,KAAK,CAAC,IAAI;gBACvB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;gBACpB,mBAAmB,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE;aACzE;YACD,MAAM,EAAE;gBACN,EAAE,EAAE,KAAK,CAAC,MAAM;gBAChB,MAAM,EAAE,KAAK,CAAC,YAAY;gBAC1B,IAAI,EAAE,KAAK,CAAC,YAAY;gBACxB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC;gBACxC,OAAO,EAAE,KAAK,CAAC,MAAM;gBACrB,OAAO;aACR;YACD,MAAM,EAAE;gBACN,EAAE,EAAE,KAAK,CAAC,MAAM;gBAChB,MAAM,EAAE,KAAK,CAAC,YAAY;gBAC1B,IAAI,EAAE,KAAK,CAAC,YAAY;gBACxB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC;gBACxC,OAAO,EAAE,KAAK,CAAC,MAAM;gBACrB,OAAO;aACR;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CACtB,SAAkC;QAElC,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAExC,IAAI,YAAY,GAAG,QAAQ,CAAC;QAC5B,IAAI,YAAY,GAAG,CAAC,QAAQ,CAAC;QAE7B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,YAAY;gBAAE,YAAY,GAAG,KAAK,CAAC;YAChE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,YAAY;gBAAE,YAAY,GAAG,KAAK,CAAC;QAClE,CAAC;QAED,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAE9E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,UAAkB;QAC5C,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzE,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,WAAW,CAAC,CAAC,UAAU;IAChC,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,KAA2B;QACvD,OAAO;YACL,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK,CAAC,EAAa;gBAC5B,MAAM,EAAE,KAAK,CAAC,MAAiB;gBAC/B,MAAM,EAAE,KAAK,CAAC,MAAiB;gBAC/B,QAAQ,EAAE;oBACR,MAAM,EAAE,KAAK,CAAC,aAAa;oBAC3B,MAAM,EAAE,KAAK,CAAC,aAAa;oBAC3B,WAAW,EAAE,KAAK,CAAC,mBAAmB;oBACtC,eAAe,EAAE,KAAK,CAAC,aAAa;oBACpC,eAAe,EAAE,KAAK,CAAC,aAAa;oBACpC,oBAAoB,EAAE,KAAK,CAAC,mBAAmB;iBAChD;gBACD,GAAG,EAAE;oBACH,OAAO,EAAE,CAAC;oBACV,UAAU,EAAE,CAAC;oBACb,WAAW,EAAE,CAAC;oBACd,WAAW,EAAE,CAAC;oBACd,WAAW,EAAE,CAAC;oBACd,WAAW,EAAE,CAAC;iBACf;gBACD,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC;YACD,MAAM,EAAE;gBACN,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,EAAE;aAChB;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,wBAAwB,CACnC,OAA0B;QAE1B,MAAM,EAAE,WAAW,EAAE,mBAAmB,GAAG,KAAK,EAAE,WAAW,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAE5F,MAAM,SAAS,GAAqC,EAAE,CAAC;QAEvD,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;gBACnD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,cAAc;wBACvD,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE;wBACpC,CAAC,CAAC,EAAE,CAAC;iBACR;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,CAAC,mBAAmB;wBACzB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;wBACpB,CAAC,CAAC,2BAA2B,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC;oBAC1D,SAAS,EAAE,EAAE;iBACd,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,eAAe,GACnB,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,aAAa,GAAG,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;YAElE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,IAAI,WAAW,GAAG,IAAI,CAAC;YACvB,OAAO,WAAW,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;oBACxC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,cAAc;4BACvD,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE;4BACpC,CAAC,CAAC,EAAE,CAAC;qBACR;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,CAAC,mBAAmB;4BACzB,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC;4BAC3C,CAAC,CAAC,2BAA2B,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC;wBACtE,SAAS,EAAE,EAAE;qBACd,CAAC;iBACH,CAAC,CAAC;gBAEH,MAAM,YAAY,GAA2C,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnF,MAAM,MAAM,GAAG,YAAY,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;gBAEhD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,WAAW,GAAG,KAAK,CAAC;oBACpB,SAAS;gBACX,CAAC;gBAED,0CAA0C;gBAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAC7B,CAAC,KAA2B,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CACzF,CAAC;gBAEF,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBACtB,WAAW,GAAG,KAAK,CAAC;oBACpB,SAAS;gBACX,CAAC;gBAED,6CAA6C;gBAC7C,+DAA+D;gBAC/D,MAAM,gBAAgB,GAAqC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACnF,GAAG,KAAK;oBACR,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;iBAC/C,CAAC,CAAC,CAAC;gBAEJ,SAAS,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;gBACpC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;gBAChE,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,WAAW,GAAG,KAAK,CAAC;oBACpB,SAAS;gBACX,CAAC;gBACD,aAAa,GAAG,kBAAkB,CAAC;YACrC,CAAC;YAED,qCAAqC;YACrC,mEAAmE;YACnE,gCAAgC;YAChC,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACI,2BAA2B,CAChC,MAAwC,EACxC,OAAe,EACf,QAAgB,EAAE,EAClB,MAA2B,EAC3B,KAAqB;QAErB,8CAA8C;QAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAE1F,mBAAmB;QACnB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;YACzE,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,UAAU,GAAG,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;QAC7D,MAAM,SAAS,GACb,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAErF,MAAM,KAAK,GAAgB,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzD,MAAM,EAAE,KAAK,CAAC,EAAE;YAChB,IAAI,EAAE,IAAI,CAAC,iCAAiC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;SACrE,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,KAAK;YACL,QAAQ,EAAE;gBACR,WAAW;gBACX,SAAS;aACV;YACD,UAAU,EAAE,YAAY,CAAC,MAAM;SAChC,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { Address } from 'viem';\nimport { VaultEdge, VaultNode, VaultsConnection } from '../base/VaultClient';\nimport { getProtocolTypeByBeacon } from '../const';\nimport { Protocol } from '../const/chain';\nimport {\n LpPriceResponse,\n SubgraphResponse,\n SubgraphVaultDetails,\n SubgraphVaultDetailsWithLpData,\n SubgraphVaultPosition,\n VaultFetchOptions,\n} from './subgraph-types';\n\n/**\n * GraphQL queries for fetching vault data from Steer subgraphs\n */\nconst FIND_ALL_VAULTS = (batchSize: number = 1000, timestamp?: string) => {\n if (timestamp) {\n return `query {\n vaults(first: ${batchSize}, where: { createdAt_lte: \"${timestamp}\" }, orderBy: createdAt, orderDirection: desc) {\n id\n name\n token0\n token1\n pool\n weeklyFeeAPR\n token0Symbol\n token0Decimals\n token1Symbol\n token1Decimals\n totalValueLockedToken0\n totalValueLockedToken1\n token0Balance\n token1Balance\n totalLPTokensIssued\n createdAt\n feeTier\n strategyToken {\n id\n name\n creator {\n id\n }\n admin\n executionBundle\n }\n positions(first: 1, orderBy: timestamp, orderDirection: desc) {\n id\n upperTick\n lowerTick\n relativeWeight\n }\n fees0\n fees1\n beaconName\n payloadIpfs\n deployer\n }\n }`;\n }\n\n return `query {\n vaults(first: ${batchSize}, orderBy: createdAt, orderDirection: desc) {\n id\n name\n token0\n token1\n pool\n weeklyFeeAPR\n token0Symbol\n token0Decimals\n token1Symbol\n token1Decimals\n totalValueLockedToken0\n totalValueLockedToken1\n token0Balance\n token1Balance\n totalLPTokensIssued\n createdAt\n feeTier\n strategyToken {\n id\n name\n creator {\n id\n }\n admin\n executionBundle\n }\n positions(first: 1, orderBy: timestamp, orderDirection: desc) {\n id\n upperTick\n lowerTick\n relativeWeight\n }\n fees0\n fees1\n beaconName\n payloadIpfs\n deployer\n }\n }`;\n};\n\nconst FIND_ALL_VAULTS_BY_PROTOCOL = (\n batchSize: number = 1000,\n timestamp?: string,\n beaconNames?: string[]\n) => {\n if (!beaconNames || beaconNames.length === 0) {\n throw new Error('At least one beacon name is required');\n }\n\n // Format beaconNames for GraphQL _in filter\n const beaconNamesList = beaconNames.map((b) => `\"${b}\"`).join(', ');\n const beaconNameFilter = `beaconName_in: [${beaconNamesList}]`;\n\n if (timestamp) {\n return `query {\n vaults(first: ${batchSize}, where: { createdAt_lte: \"${timestamp}\", ${beaconNameFilter} }, orderBy: createdAt, orderDirection: desc) {\n id\n name\n token0\n token1\n pool\n weeklyFeeAPR\n token0Symbol\n token0Decimals\n token1Symbol\n token1Decimals\n totalValueLockedToken0\n totalValueLockedToken1\n token0Balance\n token1Balance\n totalLPTokensIssued\n createdAt\n feeTier\n positions(first: 1, orderBy: timestamp, orderDirection: desc) {\n id\n upperTick\n lowerTick\n relativeWeight\n }\n fees0\n fees1\n strategyToken {\n id\n name\n creator {\n id\n }\n admin\n executionBundle\n }\n beaconName\n payloadIpfs\n deployer\n }\n }`;\n }\n\n return `query {\n vaults(first: ${batchSize}, where: { ${beaconNameFilter} }, orderBy: createdAt, orderDirection: desc) {\n id\n name\n token0\n token1\n pool\n weeklyFeeAPR\n token0Symbol\n token0Decimals\n token1Symbol\n token1Decimals\n totalValueLockedToken0\n totalValueLockedToken1\n token0Balance\n token1Balance\n totalLPTokensIssued\n createdAt\n feeTier\n strategyToken {\n id\n name\n creator {\n id\n }\n admin\n executionBundle\n }\n positions(first: 1, orderBy: timestamp, orderDirection: desc) {\n id\n upperTick\n lowerTick\n relativeWeight\n }\n fees0\n fees1\n beaconName\n payloadIpfs\n deployer\n }\n }`;\n};\n\n/**\n * Utility class for fetching vault data from Steer subgraphs\n */\nexport class SubgraphVaultClient {\n private readonly SENTIO_API_KEY =\n typeof process !== 'undefined' ? process.env?.SENTIO_API_KEY : undefined;\n\n /**\n * Transform subgraph vault data to match VaultClient interface\n */\n private transformSubgraphVaultToVaultNode(\n vault: SubgraphVaultDetailsWithLpData,\n chainId: number,\n aprMap: Map<string, number>\n ): VaultNode {\n const feeApr = aprMap.get(vault.id) ? aprMap.get(vault.id) : undefined;\n\n const tickRange = this.computeTickRange(vault.positions ?? []);\n\n return {\n id: vault.id,\n chainId,\n vaultAddress: vault.id,\n protocol: getProtocolTypeByBeacon(vault.beaconName) || Protocol.Uniswap,\n beaconName: vault.beaconName,\n protocolBaseType: this.getProtocolBaseType(vault.beaconName),\n name: vault.name || '',\n feeApr: feeApr ? parseFloat(feeApr.toString()) : undefined,\n stakingApr: undefined,\n merklApr: undefined,\n positions: (vault.positions ?? []).map((p) => ({\n id: p.id,\n upperTick: parseInt(p.upperTick, 10),\n lowerTick: parseInt(p.lowerTick, 10),\n relativeWeight: p.relativeWeight,\n })),\n tickRange,\n fees:\n vault.fees0 !== undefined && vault.fees1 !== undefined\n ? { fees0: vault.fees0, fees1: vault.fees1 }\n : undefined,\n pool: {\n id: vault.pool,\n poolAddress: vault.pool,\n feeTier: vault.feeTier,\n tick: undefined,\n liquidity: undefined,\n volumeUSD: undefined,\n totalValueLockedUSD: vault.lpPriceData?.vault.usd.totalValue?.toString(),\n },\n token0: {\n id: vault.token0,\n symbol: vault.token0Symbol,\n name: vault.token0Symbol,\n decimals: parseInt(vault.token0Decimals),\n address: vault.token0,\n chainId,\n },\n token1: {\n id: vault.token1,\n symbol: vault.token1Symbol,\n name: vault.token1Symbol,\n decimals: parseInt(vault.token1Decimals),\n address: vault.token1,\n chainId,\n },\n };\n }\n\n /**\n * Compute the tick range across all vault positions.\n * Returns the minimum lowerTick and maximum upperTick, giving the full\n * span of liquidity currently deployed by the vault strategy.\n */\n private computeTickRange(\n positions: SubgraphVaultPosition[]\n ): VaultNode['tickRange'] {\n if (!positions.length) return undefined;\n\n let minLowerTick = Infinity;\n let maxUpperTick = -Infinity;\n\n for (const pos of positions) {\n const lower = parseInt(pos.lowerTick, 10);\n const upper = parseInt(pos.upperTick, 10);\n if (!isNaN(lower) && lower < minLowerTick) minLowerTick = lower;\n if (!isNaN(upper) && upper > maxUpperTick) maxUpperTick = upper;\n }\n\n if (minLowerTick === Infinity || maxUpperTick === -Infinity) return undefined;\n\n return { minLowerTick, maxUpperTick };\n }\n\n /**\n * Get protocol base type from beacon name\n */\n private getProtocolBaseType(beaconName: string): string {\n if (beaconName.includes('uniswap')) {\n return 'UniswapV3';\n }\n const protocol = getProtocolTypeByBeacon(beaconName);\n if (protocol) {\n return protocol === Protocol.Blackhole ? 'Algebra Integral' : protocol;\n }\n if (beaconName.includes('Stryke')) {\n return 'Stryke';\n }\n return 'UniswapV3'; // Default\n }\n\n /**\n * Create a mock LP price response for vaults without LP data\n */\n private createMockLpPriceData(vault: SubgraphVaultDetails): LpPriceResponse {\n return {\n vault: {\n address: vault.id as Address,\n token0: vault.token0 as Address,\n token1: vault.token1 as Address,\n balances: {\n token0: vault.token0Balance,\n token1: vault.token1Balance,\n totalSupply: vault.totalLPTokensIssued,\n token0Formatted: vault.token0Balance,\n token1Formatted: vault.token1Balance,\n totalSupplyFormatted: vault.totalLPTokensIssued,\n },\n usd: {\n lpValue: 0,\n totalValue: 0,\n token0Price: 0,\n token0Value: 0,\n token1Price: 0,\n token1Value: 0,\n },\n token0Symbol: vault.token0Symbol,\n token1Symbol: vault.token1Symbol,\n token0Decimals: vault.token0Decimals,\n token1Decimals: vault.token1Decimals,\n },\n routes: {\n token0ToUsd: [],\n token1ToUsd: [],\n },\n };\n }\n\n /**\n * Fetch vault data from subgraph\n */\n public async getAllVaultsFromSubgraph(\n options: VaultFetchOptions\n ): Promise<SubgraphVaultDetailsWithLpData[]> {\n const { subgraphUrl, showCurrentProtocol = false, beaconNames, batchSize = 1000 } = options;\n\n const allVaults: SubgraphVaultDetailsWithLpData[] = [];\n\n try {\n // First get the latest vault to get the most recent timestamp\n const latestVaultResponse = await fetch(subgraphUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...(subgraphUrl.includes('sentio') && this.SENTIO_API_KEY\n ? { 'api-key': this.SENTIO_API_KEY }\n : {}),\n },\n body: JSON.stringify({\n query: !showCurrentProtocol\n ? FIND_ALL_VAULTS(1)\n : FIND_ALL_VAULTS_BY_PROTOCOL(1, undefined, beaconNames),\n variables: {},\n }),\n });\n\n const latestVaultData: SubgraphResponse<SubgraphVaultDetails> =\n await latestVaultResponse.json();\n let lastTimestamp = latestVaultData?.data?.vaults?.[0]?.createdAt;\n\n if (!lastTimestamp) {\n return [];\n }\n\n let hasMoreData = true;\n while (hasMoreData) {\n const response = await fetch(subgraphUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...(subgraphUrl.includes('sentio') && this.SENTIO_API_KEY\n ? { 'api-key': this.SENTIO_API_KEY }\n : {}),\n },\n body: JSON.stringify({\n query: !showCurrentProtocol\n ? FIND_ALL_VAULTS(batchSize, lastTimestamp)\n : FIND_ALL_VAULTS_BY_PROTOCOL(batchSize, lastTimestamp, beaconNames),\n variables: {},\n }),\n });\n\n const responseData: SubgraphResponse<SubgraphVaultDetails> = await response.json();\n const vaults = responseData?.data?.vaults || [];\n\n if (!vaults.length) {\n hasMoreData = false;\n continue;\n }\n\n // Filter out duplicates based on vault ID\n const newVaults = vaults.filter(\n (vault: SubgraphVaultDetails) => !allVaults.some((existing) => existing.id === vault.id)\n );\n\n if (!newVaults.length) {\n hasMoreData = false;\n continue;\n }\n\n // For now, attach mock LP data to each vault\n // In a real implementation, you would fetch LP price data here\n const vaultsWithLpData: SubgraphVaultDetailsWithLpData[] = newVaults.map((vault) => ({\n ...vault,\n lpPriceData: this.createMockLpPriceData(vault),\n }));\n\n allVaults.push(...vaultsWithLpData);\n const lastVaultTimestamp = vaults[vaults.length - 1]?.createdAt;\n if (!lastVaultTimestamp) {\n hasMoreData = false;\n continue;\n }\n lastTimestamp = lastVaultTimestamp;\n }\n\n // Filter deprecated vaults if needed\n // Note: In a real implementation, you would fetch deprecation data\n // For now, we return all vaults\n return allVaults;\n } catch (error) {\n console.error('Error fetching vaults from subgraph:', error);\n throw error;\n }\n }\n\n /**\n * Transform subgraph vault data to VaultsConnection format\n */\n public transformToVaultsConnection(\n vaults: SubgraphVaultDetailsWithLpData[],\n chainId: number,\n first: number = 50,\n aprMap: Map<string, number>,\n after?: string | null\n ): VaultsConnection {\n // Sort vaults by creation time (newest first)\n const sortedVaults = vaults.sort((a, b) => parseInt(b.createdAt) - parseInt(a.createdAt));\n\n // Apply pagination\n let startIndex = 0;\n if (after) {\n const afterIndex = sortedVaults.findIndex((vault) => vault.id === after);\n startIndex = afterIndex + 1;\n }\n\n const paginatedVaults = sortedVaults.slice(startIndex, startIndex + first);\n const hasNextPage = startIndex + first < sortedVaults.length;\n const endCursor =\n paginatedVaults.length > 0 ? paginatedVaults[paginatedVaults.length - 1].id : null;\n\n const edges: VaultEdge[] = paginatedVaults.map((vault) => ({\n cursor: vault.id,\n node: this.transformSubgraphVaultToVaultNode(vault, chainId, aprMap),\n }));\n\n return {\n edges,\n pageInfo: {\n hasNextPage,\n endCursor,\n },\n totalCount: sortedVaults.length,\n };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subgraph-types.js","sourceRoot":"","sources":["../../../src/utils/subgraph-types.ts"],"names":[],"mappings":"","sourcesContent":["import { Address } from 'viem';\n\n/**\n * Types for Steer subgraph responses\n */\n\nexport interface SubgraphVaultDetails {\n id: string;\n name: string;\n token0: string;\n token1: string;\n pool: string;\n weeklyFeeAPR: string;\n token0Symbol: string;\n token0Decimals: string;\n token1Symbol: string;\n token1Decimals: string;\n totalValueLockedToken0: string;\n totalValueLockedToken1: string;\n token0Balance: string;\n token1Balance: string;\n totalLPTokensIssued: string;\n createdAt: string;\n feeTier: string;\n strategyToken: {\n id: string;\n name: string;\n creator: {\n id: string;\n };\n admin: string;\n executionBundle: string;\n };\n beaconName: string;\n payloadIpfs: string;\n deployer: string;\n}\n\n\nexport interface RouteShortcut {\n poolIds: string[]\n tokenPath: string[]\n}\n\nexport interface FormattedRoute {\n path: string\n pricesPerHop: string\n finalPrice: string\n finalPriceRaw: number\n volumeScore: string\n poolVolumes: string\n shortcut: RouteShortcut\n}\nexport interface LpPriceResponse {\n vault: {\n address: Address;\n token0: Address;\n token1: Address;\n balances: {\n token0: string;\n token1: string;\n totalSupply: string;\n token0Formatted: string;\n token1Formatted: string;\n totalSupplyFormatted: string;\n };\n usd: {\n lpValue: number;\n totalValue: number;\n token0Price: number;\n token0Value: number;\n token1Price: number;\n token1Value: number;\n };\n token0Symbol: string;\n token1Symbol: string;\n token0Decimals: string;\n token1Decimals: string;\n };\n routes: {\n token0ToUsd: FormattedRoute[];\n token1ToUsd: FormattedRoute[];\n };\n}\n\nexport interface SubgraphVaultDetailsWithLpData extends SubgraphVaultDetails {\n lpPriceData?: LpPriceResponse;\n}\n\nexport interface SubgraphResponse<T> {\n data: {\n vaults: T[];\n };\n}\n\nexport interface DeprecationData {\n id: string;\n visible: boolean;\n}\n\nexport interface VaultFetchOptions {\n subgraphUrl: string;\n chainId: number;\n showDeprecated?: boolean;\n showCurrentProtocol?: boolean;\n beaconNames?: string[];\n batchSize?: number;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"subgraph-types.js","sourceRoot":"","sources":["../../../src/utils/subgraph-types.ts"],"names":[],"mappings":"","sourcesContent":["import { Address } from 'viem';\n\n/**\n * Types for Steer subgraph responses\n */\n\nexport interface SubgraphVaultPosition {\n id: string;\n upperTick: string;\n lowerTick: string;\n relativeWeight: string;\n}\n\nexport interface SubgraphVaultDetails {\n id: string;\n name: string;\n token0: string;\n token1: string;\n pool: string;\n weeklyFeeAPR: string;\n token0Symbol: string;\n token0Decimals: string;\n token1Symbol: string;\n token1Decimals: string;\n totalValueLockedToken0: string;\n totalValueLockedToken1: string;\n token0Balance: string;\n token1Balance: string;\n totalLPTokensIssued: string;\n createdAt: string;\n feeTier: string;\n strategyToken: {\n id: string;\n name: string;\n creator: {\n id: string;\n };\n admin: string;\n executionBundle: string;\n };\n positions: SubgraphVaultPosition[];\n fees0: string;\n fees1: string;\n beaconName: string;\n payloadIpfs: string;\n deployer: string;\n}\n\n\nexport interface RouteShortcut {\n poolIds: string[]\n tokenPath: string[]\n}\n\nexport interface FormattedRoute {\n path: string\n pricesPerHop: string\n finalPrice: string\n finalPriceRaw: number\n volumeScore: string\n poolVolumes: string\n shortcut: RouteShortcut\n}\nexport interface LpPriceResponse {\n vault: {\n address: Address;\n token0: Address;\n token1: Address;\n balances: {\n token0: string;\n token1: string;\n totalSupply: string;\n token0Formatted: string;\n token1Formatted: string;\n totalSupplyFormatted: string;\n };\n usd: {\n lpValue: number;\n totalValue: number;\n token0Price: number;\n token0Value: number;\n token1Price: number;\n token1Value: number;\n };\n token0Symbol: string;\n token1Symbol: string;\n token0Decimals: string;\n token1Decimals: string;\n };\n routes: {\n token0ToUsd: FormattedRoute[];\n token1ToUsd: FormattedRoute[];\n };\n}\n\nexport interface SubgraphVaultDetailsWithLpData extends SubgraphVaultDetails {\n lpPriceData?: LpPriceResponse;\n}\n\nexport interface SubgraphResponse<T> {\n data: {\n vaults: T[];\n };\n}\n\nexport interface DeprecationData {\n id: string;\n visible: boolean;\n}\n\nexport interface VaultFetchOptions {\n subgraphUrl: string;\n chainId: number;\n showDeprecated?: boolean;\n showCurrentProtocol?: boolean;\n beaconNames?: string[];\n batchSize?: number;\n}\n"]}
|
|
@@ -37,6 +37,23 @@ export interface VaultNode {
|
|
|
37
37
|
feeApr?: number;
|
|
38
38
|
stakingApr?: number;
|
|
39
39
|
merklApr?: number;
|
|
40
|
+
/** Raw positions from the subgraph. Only available when sourced from subgraph. */
|
|
41
|
+
positions?: {
|
|
42
|
+
id: string;
|
|
43
|
+
upperTick: number;
|
|
44
|
+
lowerTick: number;
|
|
45
|
+
relativeWeight: string;
|
|
46
|
+
}[];
|
|
47
|
+
/** Computed tick range across all current positions (min lower / max upper). Only available when sourced from subgraph. */
|
|
48
|
+
tickRange?: {
|
|
49
|
+
minLowerTick: number;
|
|
50
|
+
maxUpperTick: number;
|
|
51
|
+
};
|
|
52
|
+
/** Cumulative fees collected by the vault. Only available when sourced from subgraph. */
|
|
53
|
+
fees?: {
|
|
54
|
+
fees0: string;
|
|
55
|
+
fees1: string;
|
|
56
|
+
};
|
|
40
57
|
pool: {
|
|
41
58
|
poolAddress: string;
|
|
42
59
|
id: string;
|
|
@@ -125,6 +142,11 @@ export interface VaultFilter {
|
|
|
125
142
|
isActive?: boolean;
|
|
126
143
|
beaconName?: string;
|
|
127
144
|
}
|
|
145
|
+
export interface ApiVaultFilter {
|
|
146
|
+
chainId?: number;
|
|
147
|
+
isActive?: boolean;
|
|
148
|
+
beaconName?: string;
|
|
149
|
+
}
|
|
128
150
|
export interface TokenFilter {
|
|
129
151
|
chainId?: number;
|
|
130
152
|
symbol?: string;
|
|
@@ -269,8 +291,16 @@ export declare class VaultClient extends SubgraphClient {
|
|
|
269
291
|
* @param subgraphStudioKey - Optional subgraph studio key for protocol data fetching
|
|
270
292
|
*/
|
|
271
293
|
constructor(publicClient: PublicClient, walletClient: WalletClient, environment: 'production' | 'development', version?: 'v1', subgraphStudioKey?: string);
|
|
294
|
+
private normalizeProtocolValue;
|
|
295
|
+
private resolveProtocolEnum;
|
|
296
|
+
private getProtocolBeaconNames;
|
|
297
|
+
private getPrimaryProtocolBeaconName;
|
|
298
|
+
private buildApiVaultFilter;
|
|
299
|
+
private vaultMatchesProtocolFilter;
|
|
300
|
+
private applyProtocolFilter;
|
|
272
301
|
/**
|
|
273
302
|
* Gets vaults with pagination support
|
|
303
|
+
* Fetches ALL data from both API (database) and subgraph in parallel, merges without duplicates, then paginates
|
|
274
304
|
* @param filter - Optional filter criteria
|
|
275
305
|
* @param first - Number of items to fetch (default: 50)
|
|
276
306
|
* @param after - Cursor for pagination (null for first page)
|
|
@@ -306,7 +336,36 @@ export declare class VaultClient extends SubgraphClient {
|
|
|
306
336
|
*/
|
|
307
337
|
getVaults(filter?: VaultFilter, first?: number, after?: string | null): Promise<SteerResponse<VaultsConnection>>;
|
|
308
338
|
/**
|
|
309
|
-
*
|
|
339
|
+
* Fetches ALL vaults from API (database) by auto-paginating
|
|
340
|
+
* @private
|
|
341
|
+
*/
|
|
342
|
+
private getAllVaultsFromApi;
|
|
343
|
+
/**
|
|
344
|
+
* Fetches vaults from API (database) with pagination
|
|
345
|
+
* @private
|
|
346
|
+
*/
|
|
347
|
+
private getVaultsFromApi;
|
|
348
|
+
/**
|
|
349
|
+
* Merges vault results from API and subgraph, removing duplicates
|
|
350
|
+
* Prioritizes API data when duplicates are found
|
|
351
|
+
* Generates consistent cursors for the merged dataset
|
|
352
|
+
* @private
|
|
353
|
+
*/
|
|
354
|
+
private mergeVaultResults;
|
|
355
|
+
/**
|
|
356
|
+
* Applies pagination to vault results
|
|
357
|
+
* @private
|
|
358
|
+
*/
|
|
359
|
+
private paginateVaults;
|
|
360
|
+
/**
|
|
361
|
+
* Fetches ALL vaults from subgraph (no pagination)
|
|
362
|
+
* @param filter - Optional filter criteria
|
|
363
|
+
* @returns Promise resolving to all vaults data from subgraph
|
|
364
|
+
* @private
|
|
365
|
+
*/
|
|
366
|
+
private getAllVaultsFromSubgraph;
|
|
367
|
+
/**
|
|
368
|
+
* Fallback method to fetch vaults from subgraph with pagination
|
|
310
369
|
* @param filter - Optional filter criteria
|
|
311
370
|
* @param first - Number of items to fetch (default: 50)
|
|
312
371
|
* @param after - Cursor for pagination (null for first page)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VaultClient.d.ts","sourceRoot":"","sources":["../../../src/base/VaultClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VaultClient.d.ts","sourceRoot":"","sources":["../../../src/base/VaultClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,12 @@ export declare class SubgraphVaultClient {
|
|
|
9
9
|
* Transform subgraph vault data to match VaultClient interface
|
|
10
10
|
*/
|
|
11
11
|
private transformSubgraphVaultToVaultNode;
|
|
12
|
+
/**
|
|
13
|
+
* Compute the tick range across all vault positions.
|
|
14
|
+
* Returns the minimum lowerTick and maximum upperTick, giving the full
|
|
15
|
+
* span of liquidity currently deployed by the vault strategy.
|
|
16
|
+
*/
|
|
17
|
+
private computeTickRange;
|
|
12
18
|
/**
|
|
13
19
|
* Get protocol base type from beacon name
|
|
14
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubgraphVaultClient.d.ts","sourceRoot":"","sources":["../../../src/utils/SubgraphVaultClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,EAIL,8BAA8B,
|
|
1
|
+
{"version":3,"file":"SubgraphVaultClient.d.ts","sourceRoot":"","sources":["../../../src/utils/SubgraphVaultClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,EAIL,8BAA8B,EAE9B,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAiM1B;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAC4C;IAE3E;;OAEG;IACH,OAAO,CAAC,iCAAiC;IA2DzC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAoBxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;IACU,wBAAwB,CACnC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,8BAA8B,EAAE,CAAC;IA6F5C;;OAEG;IACI,2BAA2B,CAChC,MAAM,EAAE,8BAA8B,EAAE,EACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,YAAK,EAClB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACpB,gBAAgB;CA8BpB"}
|
|
@@ -2,6 +2,12 @@ import { Address } from 'viem';
|
|
|
2
2
|
/**
|
|
3
3
|
* Types for Steer subgraph responses
|
|
4
4
|
*/
|
|
5
|
+
export interface SubgraphVaultPosition {
|
|
6
|
+
id: string;
|
|
7
|
+
upperTick: string;
|
|
8
|
+
lowerTick: string;
|
|
9
|
+
relativeWeight: string;
|
|
10
|
+
}
|
|
5
11
|
export interface SubgraphVaultDetails {
|
|
6
12
|
id: string;
|
|
7
13
|
name: string;
|
|
@@ -29,6 +35,9 @@ export interface SubgraphVaultDetails {
|
|
|
29
35
|
admin: string;
|
|
30
36
|
executionBundle: string;
|
|
31
37
|
};
|
|
38
|
+
positions: SubgraphVaultPosition[];
|
|
39
|
+
fees0: string;
|
|
40
|
+
fees1: string;
|
|
32
41
|
beaconName: string;
|
|
33
42
|
payloadIpfs: string;
|
|
34
43
|
deployer: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subgraph-types.d.ts","sourceRoot":"","sources":["../../../src/utils/subgraph-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subgraph-types.d.ts","sourceRoot":"","sources":["../../../src/utils/subgraph-types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import type { PublicClient, WalletClient } from 'viem';
|
|
2
|
+
import { VaultClient } from '../../base/VaultClient.js';
|
|
3
|
+
import { ChainId } from '../../const/chain.js';
|
|
4
|
+
|
|
5
|
+
type ApiVaultEdge = {
|
|
6
|
+
cursor: string;
|
|
7
|
+
node: {
|
|
8
|
+
id: string;
|
|
9
|
+
chainId: number;
|
|
10
|
+
vaultAddress: string;
|
|
11
|
+
protocol: string;
|
|
12
|
+
beaconName: string;
|
|
13
|
+
protocolBaseType: string;
|
|
14
|
+
name: string;
|
|
15
|
+
feeApr?: number | null;
|
|
16
|
+
stakingApr?: number | null;
|
|
17
|
+
merklApr?: number | null;
|
|
18
|
+
pool?: {
|
|
19
|
+
id?: string;
|
|
20
|
+
poolAddress?: string;
|
|
21
|
+
feeTier?: string;
|
|
22
|
+
};
|
|
23
|
+
token0?: {
|
|
24
|
+
id?: string;
|
|
25
|
+
symbol?: string;
|
|
26
|
+
name?: string;
|
|
27
|
+
decimals?: number;
|
|
28
|
+
address?: string;
|
|
29
|
+
chainId?: number;
|
|
30
|
+
};
|
|
31
|
+
token1?: {
|
|
32
|
+
id?: string;
|
|
33
|
+
symbol?: string;
|
|
34
|
+
name?: string;
|
|
35
|
+
decimals?: number;
|
|
36
|
+
address?: string;
|
|
37
|
+
chainId?: number;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const buildApiVaultEdge = (
|
|
43
|
+
id: string,
|
|
44
|
+
protocol: string,
|
|
45
|
+
beaconName: string = `MultiPosition${protocol}`
|
|
46
|
+
): ApiVaultEdge => ({
|
|
47
|
+
cursor: id,
|
|
48
|
+
node: {
|
|
49
|
+
id,
|
|
50
|
+
chainId: ChainId.Polygon,
|
|
51
|
+
vaultAddress: `0x${id.padEnd(40, '0').slice(0, 40)}`,
|
|
52
|
+
protocol,
|
|
53
|
+
beaconName,
|
|
54
|
+
protocolBaseType: protocol,
|
|
55
|
+
name: `${protocol} vault`,
|
|
56
|
+
pool: {
|
|
57
|
+
id: `pool-${id}`,
|
|
58
|
+
poolAddress: `pool-${id}`,
|
|
59
|
+
feeTier: '3000',
|
|
60
|
+
},
|
|
61
|
+
token0: {
|
|
62
|
+
id: 'token0',
|
|
63
|
+
symbol: 'USDC',
|
|
64
|
+
name: 'USD Coin',
|
|
65
|
+
decimals: 6,
|
|
66
|
+
address: '0x0000000000000000000000000000000000000001',
|
|
67
|
+
chainId: ChainId.Polygon,
|
|
68
|
+
},
|
|
69
|
+
token1: {
|
|
70
|
+
id: 'token1',
|
|
71
|
+
symbol: 'WETH',
|
|
72
|
+
name: 'Wrapped Ether',
|
|
73
|
+
decimals: 18,
|
|
74
|
+
address: '0x0000000000000000000000000000000000000002',
|
|
75
|
+
chainId: ChainId.Polygon,
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
const buildApiVaultsResponse = (
|
|
81
|
+
edges: ApiVaultEdge[],
|
|
82
|
+
hasNextPage: boolean,
|
|
83
|
+
endCursor: string | null,
|
|
84
|
+
totalCount: number = edges.length
|
|
85
|
+
) => ({
|
|
86
|
+
status: 200,
|
|
87
|
+
data: {
|
|
88
|
+
vaults: {
|
|
89
|
+
edges,
|
|
90
|
+
pageInfo: {
|
|
91
|
+
hasNextPage,
|
|
92
|
+
endCursor,
|
|
93
|
+
},
|
|
94
|
+
totalCount,
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
describe('VaultClient protocol filtering', () => {
|
|
100
|
+
let vaultClient: VaultClient;
|
|
101
|
+
let vaultsMock: jest.Mock;
|
|
102
|
+
|
|
103
|
+
beforeEach(() => {
|
|
104
|
+
vaultClient = new VaultClient(
|
|
105
|
+
{} as PublicClient,
|
|
106
|
+
{} as WalletClient,
|
|
107
|
+
'production'
|
|
108
|
+
);
|
|
109
|
+
|
|
110
|
+
vaultsMock = jest.fn();
|
|
111
|
+
(vaultClient as unknown as { apiClient: { vaults: jest.Mock } }).apiClient = {
|
|
112
|
+
vaults: vaultsMock,
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
it('filters getVaults results by protocol even when API returns mixed protocols', async () => {
|
|
117
|
+
vaultsMock.mockResolvedValue(
|
|
118
|
+
buildApiVaultsResponse(
|
|
119
|
+
[
|
|
120
|
+
buildApiVaultEdge('vault-sushi', 'Sushi', 'MultiPositionSushi'),
|
|
121
|
+
buildApiVaultEdge('vault-uni', 'Uniswap', 'MultiPositionUniswapV3'),
|
|
122
|
+
],
|
|
123
|
+
false,
|
|
124
|
+
null
|
|
125
|
+
)
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
const response = await vaultClient.getVaults({
|
|
129
|
+
chainId: ChainId.Polygon,
|
|
130
|
+
protocol: 'sushi',
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
expect(response.success).toBe(true);
|
|
134
|
+
expect(response.status).toBe(200);
|
|
135
|
+
expect(response.data?.edges).toHaveLength(1);
|
|
136
|
+
expect(response.data?.edges[0]?.node.id).toBe('vault-sushi');
|
|
137
|
+
expect(response.data?.edges[0]?.node.protocol).toBe('Sushi');
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
it('filters all pages in getAllVaults by protocol', async () => {
|
|
141
|
+
vaultsMock
|
|
142
|
+
.mockResolvedValueOnce(
|
|
143
|
+
buildApiVaultsResponse(
|
|
144
|
+
[
|
|
145
|
+
buildApiVaultEdge('vault-uni-1', 'Uniswap', 'MultiPositionUniswapV3'),
|
|
146
|
+
buildApiVaultEdge('vault-sushi-1', 'Sushi', 'MultiPositionSushi'),
|
|
147
|
+
],
|
|
148
|
+
true,
|
|
149
|
+
'cursor-1',
|
|
150
|
+
4
|
|
151
|
+
)
|
|
152
|
+
)
|
|
153
|
+
.mockResolvedValueOnce(
|
|
154
|
+
buildApiVaultsResponse(
|
|
155
|
+
[
|
|
156
|
+
buildApiVaultEdge('vault-thena-1', 'Thena', 'MultiPositionThena'),
|
|
157
|
+
buildApiVaultEdge('vault-sushi-2', 'Sushi', 'MultiPositionSushiManaged'),
|
|
158
|
+
],
|
|
159
|
+
false,
|
|
160
|
+
'cursor-2',
|
|
161
|
+
4
|
|
162
|
+
)
|
|
163
|
+
);
|
|
164
|
+
|
|
165
|
+
const response = await vaultClient.getAllVaults(
|
|
166
|
+
{
|
|
167
|
+
chainId: ChainId.Polygon,
|
|
168
|
+
protocol: 'Sushi',
|
|
169
|
+
},
|
|
170
|
+
2
|
|
171
|
+
);
|
|
172
|
+
|
|
173
|
+
expect(response.success).toBe(true);
|
|
174
|
+
expect(response.status).toBe(200);
|
|
175
|
+
expect(response.data).toHaveLength(2);
|
|
176
|
+
expect(response.data?.map(vault => vault.id)).toEqual(['vault-sushi-1', 'vault-sushi-2']);
|
|
177
|
+
expect(response.data?.every(vault => vault.protocol === 'Sushi')).toBe(true);
|
|
178
|
+
});
|
|
179
|
+
});
|
|
@@ -3,6 +3,7 @@ import { privateKeyToAccount } from 'viem/accounts';
|
|
|
3
3
|
import { avalanche, foundry, polygon, ronin } from 'viem/chains';
|
|
4
4
|
import { VaultClient } from '../../base/VaultClient.js';
|
|
5
5
|
import { SteerClient } from '../../client.js';
|
|
6
|
+
import { Protocol } from '../../const/index.js';
|
|
6
7
|
|
|
7
8
|
describe('VaultClient', () => {
|
|
8
9
|
let client: VaultClient;
|
|
@@ -427,8 +428,8 @@ describe('VaultClient', () => {
|
|
|
427
428
|
});
|
|
428
429
|
});
|
|
429
430
|
|
|
430
|
-
it('should fetch all vaults with chainId filter successfully', async () => {
|
|
431
|
-
const filter = { chainId:
|
|
431
|
+
it.only('should fetch all vaults with chainId filter successfully', async () => {
|
|
432
|
+
const filter = { chainId: 1, protocol: Protocol.Sushi }; // Polygon chainId
|
|
432
433
|
const response = await realSteerClient.vaults.getAllVaults(filter);
|
|
433
434
|
|
|
434
435
|
expect(response.success).toBe(true);
|
|
@@ -635,7 +636,7 @@ describe('VaultClient', () => {
|
|
|
635
636
|
}
|
|
636
637
|
}, 30000);
|
|
637
638
|
|
|
638
|
-
it
|
|
639
|
+
it('should calculate corresponding token amount for real vault - zeroForOne true', async () => {
|
|
639
640
|
// Test with a known vault on Polygon
|
|
640
641
|
const testVault = '0x616ae107237ce398bf32f08fd6048dd904ed8efb' as `0x${string}`;
|
|
641
642
|
const token0Amount = BigInt('2222322000000'); // 1 token0
|