@steerprotocol/sdk 1.21.0-test-blackhole-support.9 → 1.21.0

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.
Files changed (104) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/base/SmartRewards.js.map +1 -1
  3. package/dist/cjs/base/VaultClient.js +72 -369
  4. package/dist/cjs/base/VaultClient.js.map +1 -1
  5. package/dist/cjs/base/vault/deposit/index.js +60 -101
  6. package/dist/cjs/base/vault/deposit/index.js.map +1 -1
  7. package/dist/cjs/base/vault/single-asset/types.js +1 -0
  8. package/dist/cjs/base/vault/single-asset/types.js.map +1 -1
  9. package/dist/cjs/base/vault/withdraw/index.js +4 -6
  10. package/dist/cjs/base/vault/withdraw/index.js.map +1 -1
  11. package/dist/cjs/const/amm/configs/ammConfig.js +4 -3
  12. package/dist/cjs/const/amm/configs/ammConfig.js.map +1 -1
  13. package/dist/cjs/const/amm/configs/protocols/aerodrome.js +20 -0
  14. package/dist/cjs/const/amm/configs/protocols/aerodrome.js.map +1 -0
  15. package/dist/cjs/const/amm/configs/protocols/blackhole.js +1 -2
  16. package/dist/cjs/const/amm/configs/protocols/blackhole.js.map +1 -1
  17. package/dist/cjs/const/amm/configs/protocols/index.js +0 -1
  18. package/dist/cjs/const/amm/configs/protocols/index.js.map +1 -1
  19. package/dist/cjs/const/amm/utils/beacon.js +2 -5
  20. package/dist/cjs/const/amm/utils/beacon.js.map +1 -1
  21. package/dist/cjs/const/chain.js +3 -5
  22. package/dist/cjs/const/chain.js.map +1 -1
  23. package/dist/cjs/const/deployments/eth.js +4 -0
  24. package/dist/cjs/const/deployments/eth.js.map +1 -1
  25. package/dist/cjs/const/network.js.map +1 -1
  26. package/dist/cjs/const/protocol.js +3 -0
  27. package/dist/cjs/const/protocol.js.map +1 -1
  28. package/dist/cjs/const/subgraph.js +2 -2
  29. package/dist/cjs/const/subgraph.js.map +1 -1
  30. package/dist/cjs/index.js +1 -4
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/esm/base/SmartRewards.js.map +1 -1
  33. package/dist/esm/base/VaultClient.js +72 -369
  34. package/dist/esm/base/VaultClient.js.map +1 -1
  35. package/dist/esm/base/vault/deposit/index.js +65 -106
  36. package/dist/esm/base/vault/deposit/index.js.map +1 -1
  37. package/dist/esm/base/vault/single-asset/types.js +1 -0
  38. package/dist/esm/base/vault/single-asset/types.js.map +1 -1
  39. package/dist/esm/base/vault/withdraw/index.js +4 -6
  40. package/dist/esm/base/vault/withdraw/index.js.map +1 -1
  41. package/dist/esm/const/amm/configs/ammConfig.js +5 -4
  42. package/dist/esm/const/amm/configs/ammConfig.js.map +1 -1
  43. package/dist/esm/const/amm/configs/protocols/aerodrome.js +16 -0
  44. package/dist/esm/const/amm/configs/protocols/aerodrome.js.map +1 -0
  45. package/dist/esm/const/amm/configs/protocols/blackhole.js +1 -2
  46. package/dist/esm/const/amm/configs/protocols/blackhole.js.map +1 -1
  47. package/dist/esm/const/amm/configs/protocols/index.js +0 -1
  48. package/dist/esm/const/amm/configs/protocols/index.js.map +1 -1
  49. package/dist/esm/const/amm/utils/beacon.js +3 -6
  50. package/dist/esm/const/amm/utils/beacon.js.map +1 -1
  51. package/dist/esm/const/chain.js +3 -5
  52. package/dist/esm/const/chain.js.map +1 -1
  53. package/dist/esm/const/deployments/eth.js +4 -0
  54. package/dist/esm/const/deployments/eth.js.map +1 -1
  55. package/dist/esm/const/network.js.map +1 -1
  56. package/dist/esm/const/protocol.js +3 -0
  57. package/dist/esm/const/protocol.js.map +1 -1
  58. package/dist/esm/const/subgraph.js +2 -2
  59. package/dist/esm/const/subgraph.js.map +1 -1
  60. package/dist/esm/index.js +0 -2
  61. package/dist/esm/index.js.map +1 -1
  62. package/dist/types/base/SmartRewards.d.ts.map +1 -1
  63. package/dist/types/base/VaultClient.d.ts +3 -104
  64. package/dist/types/base/VaultClient.d.ts.map +1 -1
  65. package/dist/types/base/vault/deposit/index.d.ts +10 -7
  66. package/dist/types/base/vault/deposit/index.d.ts.map +1 -1
  67. package/dist/types/base/vault/single-asset/types.d.ts +2 -1
  68. package/dist/types/base/vault/single-asset/types.d.ts.map +1 -1
  69. package/dist/types/base/vault/withdraw/index.d.ts.map +1 -1
  70. package/dist/types/const/amm/configs/protocols/aerodrome.d.ts +3 -0
  71. package/dist/types/const/amm/configs/protocols/aerodrome.d.ts.map +1 -0
  72. package/dist/types/const/amm/configs/protocols/blackhole.d.ts.map +1 -1
  73. package/dist/types/const/amm/configs/protocols/index.d.ts +0 -1
  74. package/dist/types/const/amm/configs/protocols/index.d.ts.map +1 -1
  75. package/dist/types/const/amm/utils/beacon.d.ts.map +1 -1
  76. package/dist/types/const/chain.d.ts +4 -6
  77. package/dist/types/const/chain.d.ts.map +1 -1
  78. package/dist/types/const/deployments/eth.d.ts.map +1 -1
  79. package/dist/types/const/network.d.ts.map +1 -1
  80. package/dist/types/const/protocol.d.ts.map +1 -1
  81. package/dist/types/const/subgraph.d.ts.map +1 -1
  82. package/dist/types/index.d.ts +0 -2
  83. package/dist/types/index.d.ts.map +1 -1
  84. package/dist/types/types.d.ts +1 -22
  85. package/dist/types/types.d.ts.map +1 -1
  86. package/package.json +1 -1
  87. package/dist/cjs/const/amm/configs/protocols/uniswapv4.js +0 -32
  88. package/dist/cjs/const/amm/configs/protocols/uniswapv4.js.map +0 -1
  89. package/dist/cjs/utils/SubgraphVaultClient.js +0 -354
  90. package/dist/cjs/utils/SubgraphVaultClient.js.map +0 -1
  91. package/dist/cjs/utils/subgraph-types.js +0 -3
  92. package/dist/cjs/utils/subgraph-types.js.map +0 -1
  93. package/dist/esm/const/amm/configs/protocols/uniswapv4.js +0 -28
  94. package/dist/esm/const/amm/configs/protocols/uniswapv4.js.map +0 -1
  95. package/dist/esm/utils/SubgraphVaultClient.js +0 -350
  96. package/dist/esm/utils/SubgraphVaultClient.js.map +0 -1
  97. package/dist/esm/utils/subgraph-types.js +0 -2
  98. package/dist/esm/utils/subgraph-types.js.map +0 -1
  99. package/dist/types/const/amm/configs/protocols/uniswapv4.d.ts +0 -3
  100. package/dist/types/const/amm/configs/protocols/uniswapv4.d.ts.map +0 -1
  101. package/dist/types/utils/SubgraphVaultClient.d.ts +0 -29
  102. package/dist/types/utils/SubgraphVaultClient.d.ts.map +0 -1
  103. package/dist/types/utils/subgraph-types.d.ts +0 -100
  104. package/dist/types/utils/subgraph-types.d.ts.map +0 -1
@@ -1,350 +0,0 @@
1
- import { getProtocolTypeByBeacon } from '../const';
2
- import { Protocol } from '../const/chain';
3
- /**
4
- * GraphQL queries for fetching vault data from Steer subgraphs
5
- */
6
- const FIND_ALL_VAULTS = (batchSize = 1000, timestamp) => {
7
- if (timestamp) {
8
- return `query {
9
- vaults(first: ${batchSize}, where: { createdAt_lte: "${timestamp}" }, orderBy: createdAt, orderDirection: desc) {
10
- id
11
- name
12
- token0
13
- token1
14
- pool
15
- weeklyFeeAPR
16
- token0Symbol
17
- token0Decimals
18
- token1Symbol
19
- token1Decimals
20
- totalValueLockedToken0
21
- totalValueLockedToken1
22
- token0Balance
23
- token1Balance
24
- totalLPTokensIssued
25
- createdAt
26
- feeTier
27
- strategyToken {
28
- id
29
- name
30
- creator {
31
- id
32
- }
33
- admin
34
- executionBundle
35
- }
36
- beaconName
37
- payloadIpfs
38
- deployer
39
- }
40
- }`;
41
- }
42
- return `query {
43
- vaults(first: ${batchSize}, orderBy: createdAt, orderDirection: desc) {
44
- id
45
- name
46
- token0
47
- token1
48
- pool
49
- weeklyFeeAPR
50
- token0Symbol
51
- token0Decimals
52
- token1Symbol
53
- token1Decimals
54
- totalValueLockedToken0
55
- totalValueLockedToken1
56
- token0Balance
57
- token1Balance
58
- totalLPTokensIssued
59
- createdAt
60
- feeTier
61
- strategyToken {
62
- id
63
- name
64
- creator {
65
- id
66
- }
67
- admin
68
- executionBundle
69
- }
70
- beaconName
71
- payloadIpfs
72
- deployer
73
- }
74
- }`;
75
- };
76
- const FIND_ALL_VAULTS_BY_PROTOCOL = (batchSize = 1000, timestamp, beaconNames) => {
77
- if (!beaconNames || beaconNames.length === 0) {
78
- throw new Error("At least one beacon name is required");
79
- }
80
- // Format beaconNames for GraphQL _in filter
81
- const beaconNamesList = beaconNames.map(b => `"${b}"`).join(", ");
82
- const beaconNameFilter = `beaconName_in: [${beaconNamesList}]`;
83
- if (timestamp) {
84
- return `query {
85
- vaults(first: ${batchSize}, where: { createdAt_lte: "${timestamp}", ${beaconNameFilter} }, orderBy: createdAt, orderDirection: desc) {
86
- id
87
- name
88
- token0
89
- token1
90
- pool
91
- weeklyFeeAPR
92
- token0Symbol
93
- token0Decimals
94
- token1Symbol
95
- token1Decimals
96
- totalValueLockedToken0
97
- totalValueLockedToken1
98
- token0Balance
99
- token1Balance
100
- totalLPTokensIssued
101
- createdAt
102
- feeTier
103
- strategyToken {
104
- id
105
- name
106
- creator {
107
- id
108
- }
109
- admin
110
- executionBundle
111
- }
112
- beaconName
113
- payloadIpfs
114
- deployer
115
- }
116
- }`;
117
- }
118
- return `query {
119
- vaults(first: ${batchSize}, where: { ${beaconNameFilter} }, orderBy: createdAt, orderDirection: desc) {
120
- id
121
- name
122
- token0
123
- token1
124
- pool
125
- weeklyFeeAPR
126
- token0Symbol
127
- token0Decimals
128
- token1Symbol
129
- token1Decimals
130
- totalValueLockedToken0
131
- totalValueLockedToken1
132
- token0Balance
133
- token1Balance
134
- totalLPTokensIssued
135
- createdAt
136
- feeTier
137
- strategyToken {
138
- id
139
- name
140
- creator {
141
- id
142
- }
143
- admin
144
- executionBundle
145
- }
146
- beaconName
147
- payloadIpfs
148
- deployer
149
- }
150
- }`;
151
- };
152
- /**
153
- * Utility class for fetching vault data from Steer subgraphs
154
- */
155
- export class SubgraphVaultClient {
156
- constructor() {
157
- this.SENTIO_API_KEY = process.env.SENTIO_API_KEY;
158
- }
159
- /**
160
- * Transform subgraph vault data to match VaultClient interface
161
- */
162
- transformSubgraphVaultToVaultNode(vault, chainId) {
163
- // Get the chain enum from chainId
164
- return {
165
- id: vault.id,
166
- chainId,
167
- vaultAddress: vault.id,
168
- protocol: getProtocolTypeByBeacon(vault.beaconName) || Protocol.Uniswap,
169
- beaconName: vault.beaconName,
170
- protocolBaseType: this.getProtocolBaseType(vault.beaconName),
171
- name: vault.name || '',
172
- feeApr: vault.weeklyFeeAPR ? parseFloat(vault.weeklyFeeAPR) : undefined,
173
- stakingApr: undefined, // Not available in subgraph
174
- merklApr: undefined, // Not available in subgraph
175
- pool: {
176
- id: vault.pool,
177
- poolAddress: vault.pool,
178
- feeTier: vault.feeTier,
179
- tick: undefined,
180
- liquidity: undefined,
181
- volumeUSD: undefined,
182
- totalValueLockedUSD: vault.lpPriceData?.vault.usd.totalValue?.toString()
183
- },
184
- token0: {
185
- id: vault.token0,
186
- symbol: vault.token0Symbol,
187
- name: vault.token0Symbol, // Using symbol as name since name is not available
188
- decimals: parseInt(vault.token0Decimals),
189
- address: vault.token0,
190
- chainId
191
- },
192
- token1: {
193
- id: vault.token1,
194
- symbol: vault.token1Symbol,
195
- name: vault.token1Symbol, // Using symbol as name since name is not available
196
- decimals: parseInt(vault.token1Decimals),
197
- address: vault.token1,
198
- chainId
199
- }
200
- };
201
- }
202
- /**
203
- * Get protocol base type from beacon name
204
- */
205
- getProtocolBaseType(beaconName) {
206
- if (beaconName.includes('uniswap')) {
207
- return 'UniswapV3';
208
- }
209
- const protocol = getProtocolTypeByBeacon(beaconName);
210
- if (protocol) {
211
- return protocol === Protocol.Blackhole ? 'Algebra Integral' : protocol;
212
- }
213
- if (beaconName.includes('Stryke')) {
214
- return 'Stryke';
215
- }
216
- return 'UniswapV3'; // Default
217
- }
218
- /**
219
- * Create a mock LP price response for vaults without LP data
220
- */
221
- createMockLpPriceData(vault) {
222
- return {
223
- vault: {
224
- address: vault.id,
225
- token0: vault.token0,
226
- token1: vault.token1,
227
- balances: {
228
- token0: vault.token0Balance,
229
- token1: vault.token1Balance,
230
- totalSupply: vault.totalLPTokensIssued,
231
- token0Formatted: vault.token0Balance,
232
- token1Formatted: vault.token1Balance,
233
- totalSupplyFormatted: vault.totalLPTokensIssued,
234
- },
235
- usd: {
236
- lpValue: 0,
237
- totalValue: 0,
238
- token0Price: 0,
239
- token0Value: 0,
240
- token1Price: 0,
241
- token1Value: 0,
242
- },
243
- token0Symbol: vault.token0Symbol,
244
- token1Symbol: vault.token1Symbol,
245
- token0Decimals: vault.token0Decimals,
246
- token1Decimals: vault.token1Decimals,
247
- },
248
- routes: {
249
- token0ToUsd: [],
250
- token1ToUsd: []
251
- }
252
- };
253
- }
254
- /**
255
- * Fetch vault data from subgraph
256
- */
257
- async getAllVaultsFromSubgraph(options) {
258
- const { subgraphUrl, showCurrentProtocol = false, beaconNames, batchSize = 1000 } = options;
259
- const allVaults = [];
260
- try {
261
- // First get the latest vault to get the most recent timestamp
262
- const latestVaultResponse = await fetch(subgraphUrl, {
263
- method: "POST",
264
- headers: {
265
- 'Content-Type': 'application/json',
266
- ...(subgraphUrl.includes('sentio') && this.SENTIO_API_KEY ? { 'api-key': this.SENTIO_API_KEY } : {})
267
- },
268
- body: JSON.stringify({
269
- query: !showCurrentProtocol
270
- ? FIND_ALL_VAULTS(1)
271
- : FIND_ALL_VAULTS_BY_PROTOCOL(1, undefined, beaconNames),
272
- variables: {},
273
- }),
274
- });
275
- const latestVaultData = await latestVaultResponse.json();
276
- let lastTimestamp = latestVaultData?.data?.vaults?.[0]?.createdAt;
277
- let hasMoreData = true;
278
- while (hasMoreData) {
279
- const response = await fetch(subgraphUrl, {
280
- method: "POST",
281
- headers: {
282
- 'Content-Type': 'application/json',
283
- ...(subgraphUrl.includes('sentio') && this.SENTIO_API_KEY ? { 'api-key': this.SENTIO_API_KEY } : {})
284
- },
285
- body: JSON.stringify({
286
- query: !showCurrentProtocol
287
- ? FIND_ALL_VAULTS(batchSize, lastTimestamp)
288
- : FIND_ALL_VAULTS_BY_PROTOCOL(batchSize, lastTimestamp, beaconNames),
289
- variables: {},
290
- }),
291
- });
292
- const responseData = await response.json();
293
- const vaults = responseData?.data?.vaults || [];
294
- if (!vaults.length) {
295
- hasMoreData = false;
296
- }
297
- // Filter out duplicates based on vault ID
298
- const newVaults = vaults.filter((vault) => !allVaults.some(existing => existing.id === vault.id));
299
- if (!newVaults.length) {
300
- hasMoreData = false;
301
- }
302
- // For now, attach mock LP data to each vault
303
- // In a real implementation, you would fetch LP price data here
304
- const vaultsWithLpData = newVaults.map(vault => ({
305
- ...vault,
306
- lpPriceData: this.createMockLpPriceData(vault)
307
- }));
308
- allVaults.push(...vaultsWithLpData);
309
- lastTimestamp = vaults[vaults.length - 1].createdAt;
310
- }
311
- // Filter deprecated vaults if needed
312
- // Note: In a real implementation, you would fetch deprecation data
313
- // For now, we return all vaults
314
- return allVaults;
315
- }
316
- catch (error) {
317
- console.error("Error fetching vaults from subgraph:", error);
318
- throw error;
319
- }
320
- }
321
- /**
322
- * Transform subgraph vault data to VaultsConnection format
323
- */
324
- transformToVaultsConnection(vaults, chainId, first = 50, after) {
325
- // Sort vaults by creation time (newest first)
326
- const sortedVaults = vaults.sort((a, b) => parseInt(b.createdAt) - parseInt(a.createdAt));
327
- // Apply pagination
328
- let startIndex = 0;
329
- if (after) {
330
- const afterIndex = sortedVaults.findIndex(vault => vault.id === after);
331
- startIndex = afterIndex + 1;
332
- }
333
- const paginatedVaults = sortedVaults.slice(startIndex, startIndex + first);
334
- const hasNextPage = startIndex + first < sortedVaults.length;
335
- const endCursor = paginatedVaults.length > 0 ? paginatedVaults[paginatedVaults.length - 1].id : null;
336
- const edges = paginatedVaults.map((vault) => ({
337
- cursor: vault.id,
338
- node: this.transformSubgraphVaultToVaultNode(vault, chainId)
339
- }));
340
- return {
341
- edges,
342
- pageInfo: {
343
- hasNextPage,
344
- endCursor
345
- },
346
- totalCount: sortedVaults.length
347
- };
348
- }
349
- }
350
- //# sourceMappingURL=SubgraphVaultClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubgraphVaultClient.js","sourceRoot":"","sources":["../../../src/utils/SubgraphVaultClient.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=subgraph-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subgraph-types.js","sourceRoot":"","sources":["../../../src/utils/subgraph-types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import { ProtocolInfo } from '../../../../types';
2
- export declare const uniswapV4Config: (theGraphApiKey: string) => ProtocolInfo;
3
- //# sourceMappingURL=uniswapv4.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uniswapv4.d.ts","sourceRoot":"","sources":["../../../../../../src/const/amm/configs/protocols/uniswapv4.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,eAAO,MAAM,eAAe,mBAAoB,MAAM,KAAG,YAwBvD,CAAC"}
@@ -1,29 +0,0 @@
1
- import { VaultsConnection } from '../base/VaultClient';
2
- import { SubgraphVaultDetailsWithLpData, VaultFetchOptions } from './subgraph-types';
3
- /**
4
- * Utility class for fetching vault data from Steer subgraphs
5
- */
6
- export declare class SubgraphVaultClient {
7
- private readonly SENTIO_API_KEY;
8
- /**
9
- * Transform subgraph vault data to match VaultClient interface
10
- */
11
- private transformSubgraphVaultToVaultNode;
12
- /**
13
- * Get protocol base type from beacon name
14
- */
15
- private getProtocolBaseType;
16
- /**
17
- * Create a mock LP price response for vaults without LP data
18
- */
19
- private createMockLpPriceData;
20
- /**
21
- * Fetch vault data from subgraph
22
- */
23
- getAllVaultsFromSubgraph(options: VaultFetchOptions): Promise<SubgraphVaultDetailsWithLpData[]>;
24
- /**
25
- * Transform subgraph vault data to VaultsConnection format
26
- */
27
- transformToVaultsConnection(vaults: SubgraphVaultDetailsWithLpData[], chainId: number, first?: number, after?: string | null): VaultsConnection;
28
- }
29
- //# sourceMappingURL=SubgraphVaultClient.d.ts.map
@@ -1 +0,0 @@
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,EAC9B,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAiK1B;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAE7D;;OAEG;IACH,OAAO,CAAC,iCAAiC;IA8CzC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;IACU,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,8BAA8B,EAAE,CAAC;IAoF5G;;OAEG;IACI,2BAA2B,CAChC,MAAM,EAAE,8BAA8B,EAAE,EACxC,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAAW,EAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACpB,gBAAgB;CAiCpB"}
@@ -1,100 +0,0 @@
1
- import { Address } from 'viem';
2
- /**
3
- * Types for Steer subgraph responses
4
- */
5
- export interface SubgraphVaultDetails {
6
- id: string;
7
- name: string;
8
- token0: string;
9
- token1: string;
10
- pool: string;
11
- weeklyFeeAPR: string;
12
- token0Symbol: string;
13
- token0Decimals: string;
14
- token1Symbol: string;
15
- token1Decimals: string;
16
- totalValueLockedToken0: string;
17
- totalValueLockedToken1: string;
18
- token0Balance: string;
19
- token1Balance: string;
20
- totalLPTokensIssued: string;
21
- createdAt: string;
22
- feeTier: string;
23
- strategyToken: {
24
- id: string;
25
- name: string;
26
- creator: {
27
- id: string;
28
- };
29
- admin: string;
30
- executionBundle: string;
31
- };
32
- beaconName: string;
33
- payloadIpfs: string;
34
- deployer: string;
35
- }
36
- export interface RouteShortcut {
37
- poolIds: string[];
38
- tokenPath: string[];
39
- }
40
- export interface FormattedRoute {
41
- path: string;
42
- pricesPerHop: string;
43
- finalPrice: string;
44
- finalPriceRaw: number;
45
- volumeScore: string;
46
- poolVolumes: string;
47
- shortcut: RouteShortcut;
48
- }
49
- export interface LpPriceResponse {
50
- vault: {
51
- address: Address;
52
- token0: Address;
53
- token1: Address;
54
- balances: {
55
- token0: string;
56
- token1: string;
57
- totalSupply: string;
58
- token0Formatted: string;
59
- token1Formatted: string;
60
- totalSupplyFormatted: string;
61
- };
62
- usd: {
63
- lpValue: number;
64
- totalValue: number;
65
- token0Price: number;
66
- token0Value: number;
67
- token1Price: number;
68
- token1Value: number;
69
- };
70
- token0Symbol: string;
71
- token1Symbol: string;
72
- token0Decimals: string;
73
- token1Decimals: string;
74
- };
75
- routes: {
76
- token0ToUsd: FormattedRoute[];
77
- token1ToUsd: FormattedRoute[];
78
- };
79
- }
80
- export interface SubgraphVaultDetailsWithLpData extends SubgraphVaultDetails {
81
- lpPriceData?: LpPriceResponse;
82
- }
83
- export interface SubgraphResponse<T> {
84
- data: {
85
- vaults: T[];
86
- };
87
- }
88
- export interface DeprecationData {
89
- id: string;
90
- visible: boolean;
91
- }
92
- export interface VaultFetchOptions {
93
- subgraphUrl: string;
94
- chainId: number;
95
- showDeprecated?: boolean;
96
- showCurrentProtocol?: boolean;
97
- beaconNames?: string[];
98
- batchSize?: number;
99
- }
100
- //# sourceMappingURL=subgraph-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subgraph-types.d.ts","sourceRoot":"","sources":["../../../src/utils/subgraph-types.ts"],"names":[],"mappings":"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"}