@steerprotocol/sdk 1.18.3 → 1.19.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoolQueryAdapter.js","sourceRoot":"","sources":["../../../src/utils/PoolQueryAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,450 @@
1
+ import { SubgraphClient } from './SubgraphClient';
2
+ import { chainIdToName, getProtocolSubgraphURL } from '../const';
3
+ import { isAlgebraProtocol } from '../const/protocol';
4
+ import { getTopPoolsQuery, getTokenPoolsQueryByAddress, getPoolDetailsQuery } from '../utils/PoolQueryAdapter';
5
+ /**
6
+ * Client for fetching pool data from various DEX protocol subgraphs
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { createPublicClient, createWalletClient, http } from 'viem';
11
+ * import { mainnet } from 'viem/chains';
12
+ * import { PoolClient } from '@steerprotocol/sdk';
13
+ *
14
+ * const client = createPublicClient({
15
+ * chain: mainnet,
16
+ * transport: http()
17
+ * }) as PublicClient & WalletClient;
18
+ *
19
+ * const poolClient = new PoolClient(client, 'your-subgraph-studio-key');
20
+ *
21
+ * // Fetch top pools
22
+ * const topPools = await poolClient.getTopPools(100, Protocol.UniswapV3, 1);
23
+ * ```
24
+ *
25
+ * @extends SubgraphClient
26
+ */
27
+ export class PoolClient extends SubgraphClient {
28
+ /**
29
+ * Creates a new PoolClient instance
30
+ *
31
+ * @param client - Combined public and wallet client for blockchain interactions
32
+ * @param subgraphStudioKey - Optional Subgraph Studio API key for higher rate limits
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * const poolClient = new PoolClient(client, 'your-api-key');
37
+ * ```
38
+ */
39
+ constructor(client, subgraphStudioKey = '') {
40
+ super(client);
41
+ /** Default timeout for GraphQL queries in milliseconds */
42
+ this.defaultTimeout = 60000;
43
+ /** Counter for tracking API call metrics */
44
+ this.apiCallCount = 0;
45
+ this.publicClient = client;
46
+ this.subgraphStudioKey = subgraphStudioKey;
47
+ }
48
+ /**
49
+ * Resets the API call counter for metrics tracking
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * poolClient.resetMetrics();
54
+ * ```
55
+ */
56
+ resetMetrics() {
57
+ this.apiCallCount = 0;
58
+ }
59
+ /**
60
+ * Gets current metrics for monitoring API usage
61
+ *
62
+ * @returns Object containing current metrics
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * const metrics = poolClient.getMetrics();
67
+ * console.log(`API calls made: ${metrics.apiCallCount}`);
68
+ * ```
69
+ */
70
+ getMetrics() {
71
+ return {
72
+ apiCallCount: this.apiCallCount,
73
+ };
74
+ }
75
+ /**
76
+ * Fetches data from GraphQL endpoint with retry logic for rate limits
77
+ *
78
+ * @param query - GraphQL query string
79
+ * @param variables - Variables for the GraphQL query
80
+ * @param protocol - Protocol to query
81
+ * @param chainId - Chain ID to query
82
+ * @returns Promise containing the response data
83
+ *
84
+ * @throws {Error} When subgraph endpoint is not available
85
+ * @throws {Error} When rate limit is exceeded after max retries
86
+ * @throws {Error} When GraphQL query times out
87
+ *
88
+ * @internal
89
+ */
90
+ async fetchFromGraph(query, variables, protocol, chainId) {
91
+ try {
92
+ const chainName = chainIdToName(chainId);
93
+ const endpoint = getProtocolSubgraphURL(protocol, chainName, this.subgraphStudioKey);
94
+ if (!endpoint) {
95
+ throw new Error(`No subgraph endpoint available for protocol ${protocol} on chain ${chainName}`);
96
+ }
97
+ const MAX_RETRIES = 3;
98
+ const RETRY_DELAY_MS = 11000;
99
+ const fetchWithRetry = async (retries = 0) => {
100
+ const response = await fetch(endpoint, {
101
+ method: "POST",
102
+ headers: {
103
+ "Content-Type": "application/json",
104
+ },
105
+ body: JSON.stringify({ query, variables }),
106
+ });
107
+ const data = await response.json();
108
+ if (data.error && typeof data.error === "string" && data.error.includes("surpassed your query allowance")) {
109
+ if (retries < MAX_RETRIES) {
110
+ console.warn(`Rate limit hit for ${endpoint}, retrying in ${RETRY_DELAY_MS / 1000}s (attempt ${retries + 1})`);
111
+ await new Promise(res => setTimeout(res, RETRY_DELAY_MS));
112
+ return fetchWithRetry(retries + 1);
113
+ }
114
+ else {
115
+ throw new Error(`Rate limit exceeded after ${MAX_RETRIES} retries: ${data.error}`);
116
+ }
117
+ }
118
+ if (data.error) {
119
+ throw new Error(`GraphQL endpoint error: ${data.error}`);
120
+ }
121
+ if (data.errors) {
122
+ throw new Error(`GraphQL errors: ${JSON.stringify(data.errors)}`);
123
+ }
124
+ return data.data;
125
+ };
126
+ this.apiCallCount++;
127
+ console.log("Total API calls:", this.apiCallCount);
128
+ const timeoutPromise = new Promise((_, reject) => {
129
+ setTimeout(() => reject(new Error("GraphQL query timeout")), this.defaultTimeout);
130
+ });
131
+ const data = await Promise.race([fetchWithRetry(), timeoutPromise]);
132
+ return {
133
+ data: data,
134
+ status: 200,
135
+ success: true,
136
+ };
137
+ }
138
+ catch (error) {
139
+ return {
140
+ data: null,
141
+ status: 500,
142
+ success: false,
143
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
144
+ };
145
+ }
146
+ }
147
+ /**
148
+ * Fetches the top pools for a specific protocol by trading volume
149
+ *
150
+ * @param count - Number of pools to fetch (default: 500)
151
+ * @param protocol - Protocol to fetch pools from
152
+ * @param chainId - Chain ID to fetch pools from
153
+ * @returns Promise containing an array of top pools
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * // Get top 100 Uniswap V3 pools on Ethereum
158
+ * const topPools = await poolClient.getTopPools(100, Protocol.UniswapV3, 1);
159
+ * if (topPools.success) {
160
+ * console.log(`Found ${topPools.data.length} pools`);
161
+ * }
162
+ * ```
163
+ *
164
+ * @throws {Error} When failed to fetch pools from subgraph
165
+ */
166
+ async getTopPools(count = 500, protocol, chainId) {
167
+ try {
168
+ const isAlgebraPool = isAlgebraProtocol(protocol);
169
+ const query = getTopPoolsQuery(protocol, isAlgebraPool);
170
+ console.log(`[Chain ${chainId}] [Protocol ${protocol}] 📊 Fetching top ${count} pools from the subgraph...`);
171
+ const response = await this.fetchFromGraph(query, { limit: count }, protocol, chainId);
172
+ if (!response.success || !response.data) {
173
+ throw new Error(response.error || 'Failed to fetch pools');
174
+ }
175
+ const pools = response.data.pools || response.data.limitPools || response.data.clPools || [];
176
+ console.log(`[Chain ${chainId}] [Protocol ${protocol}] ✅ Received ${pools.length} pools from the subgraph`);
177
+ // Filter out pools with invalid volumeUSD
178
+ const validPools = pools.filter(pool => {
179
+ const volumeUSD = parseFloat(pool.volumeUSD || pool.volumeUsd || "0");
180
+ return !isNaN(volumeUSD) && volumeUSD > 0;
181
+ });
182
+ console.log(`[Chain ${chainId}] [Protocol ${protocol}] ✅ Found ${validPools.length} valid pools with positive volumeUSD`);
183
+ return {
184
+ data: validPools,
185
+ status: 200,
186
+ success: true,
187
+ };
188
+ }
189
+ catch (error) {
190
+ console.error(`[Chain ${chainId}] [Protocol ${protocol}] Error in getTopPools:`, error);
191
+ return {
192
+ data: null,
193
+ status: 500,
194
+ success: false,
195
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
196
+ };
197
+ }
198
+ }
199
+ /**
200
+ * Fetches detailed information for a specific pool by its ID
201
+ *
202
+ * @param poolId - Pool contract address to fetch
203
+ * @param protocol - Protocol the pool belongs to
204
+ * @param chainId - Chain ID where the pool exists
205
+ * @returns Promise containing pool details or null if not found
206
+ *
207
+ * @example
208
+ * ```typescript
209
+ * // Get specific pool details
210
+ * const poolDetails = await poolClient.getPoolById(
211
+ * '0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640',
212
+ * Protocol.UniswapV3,
213
+ * 1
214
+ * );
215
+ * if (poolDetails.success && poolDetails.data) {
216
+ * console.log(`Pool: ${poolDetails.data.token0.symbol}/${poolDetails.data.token1.symbol}`);
217
+ * }
218
+ * ```
219
+ *
220
+ * @throws {Error} When failed to fetch pool from subgraph
221
+ */
222
+ async getPoolById(poolId, protocol, chainId) {
223
+ try {
224
+ const isAlgebraPool = isAlgebraProtocol(protocol);
225
+ const query = getPoolDetailsQuery(isAlgebraPool, protocol);
226
+ const response = await this.fetchFromGraph(query, { pool: poolId }, protocol, chainId);
227
+ if (!response.success || !response.data) {
228
+ throw new Error(response.error || 'Failed to fetch pool');
229
+ }
230
+ const pool = response.data.pool || response.data.clPool || response.data.limitPool || null;
231
+ return {
232
+ data: pool,
233
+ status: 200,
234
+ success: true,
235
+ };
236
+ }
237
+ catch (error) {
238
+ console.error(`Error fetching pool ${poolId}:`, error);
239
+ return {
240
+ data: null,
241
+ status: 500,
242
+ success: false,
243
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
244
+ };
245
+ }
246
+ }
247
+ /**
248
+ * Fetches pools containing multiple tokens in batches for better performance
249
+ *
250
+ * @param tokenAddresses - Array of token contract addresses
251
+ * @param protocol - Protocol to fetch pools from
252
+ * @param chainId - Chain ID to fetch pools from
253
+ * @param batchSize - Number of tokens to process in each batch (default: 10)
254
+ * @returns Promise containing all pools found for the tokens
255
+ *
256
+ * @example
257
+ * ```typescript
258
+ * // Get pools for multiple tokens
259
+ * const tokenAddresses = [
260
+ * '0xa0b86a33e6f8b07b71c3a39ef77a6b6e8f1b7b7e', // USDC
261
+ * '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' // WETH
262
+ * ];
263
+ * const pools = await poolClient.fetchPoolsForTokensBatch(
264
+ * tokenAddresses,
265
+ * Protocol.UniswapV3,
266
+ * 1,
267
+ * 5
268
+ * );
269
+ * ```
270
+ *
271
+ * @throws {Error} When batch processing fails
272
+ */
273
+ async fetchPoolsForTokensBatch(tokenAddresses, protocol, chainId, batchSize = 10) {
274
+ try {
275
+ if (tokenAddresses.length === 0) {
276
+ return {
277
+ data: [],
278
+ status: 200,
279
+ success: true,
280
+ };
281
+ }
282
+ console.log(`\n🔍 Batch Pool Fetch Summary:`);
283
+ console.log(`📥 Total tokens to process: ${tokenAddresses.length}`);
284
+ const isAlgebraPool = isAlgebraProtocol(protocol);
285
+ const normalizedAddresses = tokenAddresses.map(addr => addr.toLowerCase());
286
+ // Split into chunks
287
+ const chunkSize = batchSize;
288
+ const addressChunks = [];
289
+ for (let i = 0; i < normalizedAddresses.length; i += chunkSize) {
290
+ addressChunks.push(normalizedAddresses.slice(i, i + chunkSize));
291
+ }
292
+ console.log(`📦 Processing ${addressChunks.length} chunks of max ${chunkSize} tokens each`);
293
+ const allPools = [];
294
+ // Process chunks in parallel
295
+ const results = await Promise.all(addressChunks.map(async (chunk, chunkIndex) => {
296
+ console.log(`\n🔄 Processing chunk ${chunkIndex + 1}/${addressChunks.length} with ${chunk.length} tokens`);
297
+ const chunkResults = await Promise.all(chunk.map(async (token) => {
298
+ try {
299
+ const query = getTokenPoolsQueryByAddress(isAlgebraPool, protocol);
300
+ const queryStartTime = performance.now();
301
+ const response = await this.fetchFromGraph(query, { token }, protocol, chainId);
302
+ const queryTime = performance.now() - queryStartTime;
303
+ console.log(`⏱️ GraphQL query for token ${token.slice(0, 6)}... completed in ${queryTime.toFixed(2)}ms`);
304
+ if (!response.success || !response.data) {
305
+ console.error(`❌ No pools found for token: ${token} on chainId: ${chainId}`);
306
+ return [];
307
+ }
308
+ // Extract pools from different possible response structures
309
+ let pools = [];
310
+ if (response.data.pools) {
311
+ pools = response.data.pools;
312
+ }
313
+ else if (response.data.clPools) {
314
+ pools = response.data.clPools;
315
+ }
316
+ else if (response.data.limitPools) {
317
+ pools = response.data.limitPools;
318
+ }
319
+ else if (response.data.tokenPools) {
320
+ pools = response.data.tokenPools;
321
+ }
322
+ if (pools.length === 0) {
323
+ console.error(`❌ No pools found for token: ${token} on chainId: ${chainId}`);
324
+ return [];
325
+ }
326
+ return pools;
327
+ }
328
+ catch (error) {
329
+ console.error(`❌ Error fetching pools for token: ${token} on chainId: ${chainId}`, error);
330
+ return [];
331
+ }
332
+ }));
333
+ return chunkResults.flat();
334
+ }));
335
+ // Flatten all results
336
+ allPools.push(...results.flat());
337
+ return {
338
+ data: allPools,
339
+ status: 200,
340
+ success: true,
341
+ };
342
+ }
343
+ catch (error) {
344
+ console.error("Error in fetchPoolsForTokensBatch:", error);
345
+ return {
346
+ data: null,
347
+ status: 500,
348
+ success: false,
349
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
350
+ };
351
+ }
352
+ }
353
+ /**
354
+ * Fetches all pools containing a specific token
355
+ *
356
+ * @param tokenAddress - Token contract address
357
+ * @param protocol - Protocol to fetch pools from
358
+ * @param chainId - Chain ID to fetch pools from
359
+ * @returns Promise containing pools that include the specified token
360
+ *
361
+ * @example
362
+ * ```typescript
363
+ * // Get all USDC pools on Uniswap V3
364
+ * const usdcPools = await poolClient.fetchPoolsForToken(
365
+ * '0xa0b86a33e6f8b07b71c3a39ef77a6b6e8f1b7b7e',
366
+ * Protocol.UniswapV3,
367
+ * 1
368
+ * );
369
+ * if (usdcPools.success) {
370
+ * console.log(`Found ${usdcPools.data.length} USDC pools`);
371
+ * }
372
+ * ```
373
+ *
374
+ * @throws {Error} When failed to fetch pools for token
375
+ */
376
+ async fetchPoolsForToken(tokenAddress, protocol, chainId) {
377
+ try {
378
+ const isAlgebraPool = isAlgebraProtocol(protocol);
379
+ const query = getTokenPoolsQueryByAddress(isAlgebraPool, protocol);
380
+ const response = await this.fetchFromGraph(query, { token: tokenAddress.toLowerCase() }, protocol, chainId);
381
+ if (!response.success || !response.data) {
382
+ throw new Error(response.error || 'Failed to fetch pools for token');
383
+ }
384
+ // Extract pools from different possible response structures
385
+ let pools = [];
386
+ if (response.data.pools) {
387
+ pools = response.data.pools;
388
+ }
389
+ else if (response.data.limitPools) {
390
+ pools = response.data.limitPools;
391
+ }
392
+ else if (response.data.tokenPools) {
393
+ pools = response.data.tokenPools;
394
+ }
395
+ else if (response.data.clPools) {
396
+ pools = response.data.clPools;
397
+ }
398
+ return {
399
+ data: pools,
400
+ status: 200,
401
+ success: true,
402
+ };
403
+ }
404
+ catch (error) {
405
+ console.error(`Error fetching pools for token ${tokenAddress}:`, error);
406
+ return {
407
+ data: null,
408
+ status: 500,
409
+ success: false,
410
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
411
+ };
412
+ }
413
+ }
414
+ /**
415
+ * Filters pools based on validity criteria such as tick range and liquidity
416
+ *
417
+ * @param pools - Array of pools to filter
418
+ * @returns Array of valid pools that meet the criteria
419
+ *
420
+ * @example
421
+ * ```typescript
422
+ * const validPools = poolClient.filterValidPools(allPools);
423
+ * console.log(`Filtered down to ${validPools.length} valid pools`);
424
+ * ```
425
+ */
426
+ filterValidPools(pools) {
427
+ return pools.filter(pool => {
428
+ // Check for required fields
429
+ if (!pool.id || !pool.tick || !pool.liquidity) {
430
+ return false;
431
+ }
432
+ // Parse values
433
+ const tick = parseInt(pool.tick);
434
+ const liquidity = parseFloat(pool.liquidity);
435
+ // Check for valid tick range and liquidity
436
+ const TICK_MIN = -887272;
437
+ const TICK_MAX = 887272;
438
+ const TICK_EDGE_THRESHOLD = 1;
439
+ if (isNaN(tick) ||
440
+ isNaN(liquidity) ||
441
+ liquidity <= 0 ||
442
+ tick <= TICK_MIN + TICK_EDGE_THRESHOLD ||
443
+ tick >= TICK_MAX - TICK_EDGE_THRESHOLD) {
444
+ return false;
445
+ }
446
+ return true;
447
+ });
448
+ }
449
+ }
450
+ //# sourceMappingURL=PoolClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoolClient.js","sourceRoot":"","sources":["../../../src/base/PoolClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EACL,aAAa,EACb,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAmH/G;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,UAAW,SAAQ,cAAc;IAU5C;;;;;;;;;;OAUG;IACH,YACE,MAAmC,EACnC,oBAA4B,EAAE;QAE9B,KAAK,CAAC,MAAM,CAAC,CAAC;QAtBhB,0DAA0D;QACzC,mBAAc,GAAW,KAAK,CAAC;QAChD,4CAA4C;QACpC,iBAAY,GAAW,CAAC,CAAC;QAoB/B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACI,YAAY;QACjB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;;;;OAUG;IACI,UAAU;QACf,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,KAAK,CAAC,cAAc,CAC1B,KAAa,EACb,SAAkC,EAClC,QAAkB,EAClB,OAAe;QAEf,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,EAAE,SAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE9F,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,+CAA+C,QAAQ,aAAa,SAAS,EAAE,CAAC,CAAC;YACnG,CAAC;YAED,MAAM,WAAW,GAAG,CAAC,CAAC;YACtB,MAAM,cAAc,GAAG,KAAK,CAAC;YAE7B,MAAM,cAAc,GAAG,KAAK,EAAE,OAAO,GAAG,CAAC,EAAc,EAAE;gBACvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;oBACrC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;qBACnC;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;iBAC3C,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAsE,CAAC;gBAEvG,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC;oBAC1G,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;wBAC1B,OAAO,CAAC,IAAI,CAAC,sBAAsB,QAAQ,iBAAiB,cAAc,GAAG,IAAI,cAAc,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;wBAC/G,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;wBAC1D,OAAO,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,WAAW,aAAa,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBACrF,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpE,CAAC;gBAED,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC,CAAC;YAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEnD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACtD,UAAU,CACR,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAChD,IAAI,CAAC,cAAc,CACpB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;YAEpE,OAAO;gBACL,IAAI,EAAE,IAAS;gBACf,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,WAAW,CACtB,QAAgB,GAAG,EACnB,QAAkB,EAClB,OAAe;QAEf,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAExD,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,eAAe,QAAQ,qBAAqB,KAAK,6BAA6B,CAAC,CAAC;YAE7G,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,KAAK,EACL,EAAE,KAAK,EAAE,KAAK,EAAE,EAChB,QAAQ,EACR,OAAO,CACR,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YAE7F,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,eAAe,QAAQ,gBAAgB,KAAK,CAAC,MAAM,0BAA0B,CAAC,CAAC;YAE5G,0CAA0C;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACrC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;gBACtE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,eAAe,QAAQ,aAAa,UAAU,CAAC,MAAM,sCAAsC,CAAC,CAAC;YAE1H,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,eAAe,QAAQ,yBAAyB,EAAE,KAAK,CAAC,CAAC;YACxF,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACI,KAAK,CAAC,WAAW,CACtB,MAAc,EACd,QAAkB,EAClB,OAAe;QAEf,IAAI,CAAC;YAEH,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAG3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,KAAK,EACL,EAAE,IAAI,EAAE,MAAM,EAAE,EAChB,QAAQ,EACR,OAAO,CACR,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,sBAAsB,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;YAG3F,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACI,KAAK,CAAC,wBAAwB,CACnC,cAAwB,EACxB,QAAkB,EAClB,OAAe,EACf,YAAoB,EAAE;QAEtB,IAAI,CAAC;YACH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO;oBACL,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,+BAA+B,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YAEpE,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAE3E,oBAAoB;YACpB,MAAM,SAAS,GAAG,SAAS,CAAC;YAC5B,MAAM,aAAa,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC/D,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,aAAa,CAAC,MAAM,kBAAkB,SAAS,cAAc,CAAC,CAAC;YAE5F,MAAM,QAAQ,GAAsB,EAAE,CAAC;YAEvC,6BAA6B;YAC7B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBAC5C,OAAO,CAAC,GAAG,CAAC,yBAAyB,UAAU,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,SAAS,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC;gBAE3G,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBACxB,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,2BAA2B,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;wBACnE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;wBAEzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,KAAK,EACL,EAAE,KAAK,EAAE,EACT,QAAQ,EACR,OAAO,CACR,CAAC;wBAEF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;wBACrD,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAEzG,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;4BACxC,OAAO,CAAC,KAAK,CAAC,+BAA+B,KAAK,gBAAgB,OAAO,EAAE,CAAC,CAAC;4BAC7E,OAAO,EAAE,CAAC;wBACZ,CAAC;wBAED,4DAA4D;wBAC5D,IAAI,KAAK,GAAsB,EAAE,CAAC;wBAClC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;4BACxB,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;wBAC9B,CAAC;6BAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;4BACjC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;wBAChC,CAAC;6BAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;4BACpC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;wBACnC,CAAC;6BAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;4BACpC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;wBACnC,CAAC;wBAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACvB,OAAO,CAAC,KAAK,CAAC,+BAA+B,KAAK,gBAAgB,OAAO,EAAE,CAAC,CAAC;4BAC7E,OAAO,EAAE,CAAC;wBACZ,CAAC;wBAED,OAAO,KAAK,CAAC;oBACf,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,KAAK,gBAAgB,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;wBAC1F,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,CACH,CAAC;gBAEF,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC,CAAC,CACH,CAAC;YAEF,sBAAsB;YACtB,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAEjC,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACI,KAAK,CAAC,kBAAkB,CAC7B,YAAoB,EACpB,QAAkB,EAClB,OAAe;QAEf,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,2BAA2B,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAEnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,KAAK,EACL,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,EAAE,EACrC,QAAQ,EACR,OAAO,CACR,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,iCAAiC,CAAC,CAAC;YACvE,CAAC;YAED,4DAA4D;YAC5D,IAAI,KAAK,GAAsB,EAAE,CAAC;YAClC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxB,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAC9B,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YAChC,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC;YACxE,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACI,gBAAgB,CAAC,KAAiB;QACvC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACzB,4BAA4B;YAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC9C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,eAAe;YACf,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE7C,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,CAAC;YACxB,MAAM,mBAAmB,GAAG,CAAC,CAAC;YAE9B,IACE,KAAK,CAAC,IAAI,CAAC;gBACX,KAAK,CAAC,SAAS,CAAC;gBAChB,SAAS,IAAI,CAAC;gBACd,IAAI,IAAI,QAAQ,GAAG,mBAAmB;gBACtC,IAAI,IAAI,QAAQ,GAAG,mBAAmB,EACtC,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -6,12 +6,13 @@ export const deprecatedBundlesURL = "https://api.steer.finance/deprecated-bundle
6
6
  /**
7
7
  * Configuration mapping of supported chains to their respective subgraph endpoints.
8
8
  * Each chain has a dedicated subgraph URL for querying protocol data.
9
- */
9
+ * Updated each chains for ormi and thegraph
10
+ */
10
11
  export const steerSubgraphConfig = {
11
- [Chain.Polygon]: "https://api.goldsky.com/api/public/project_clohj3ta78ok12nzs5m8yag0b/subgraphs/steer-protocol-polygon/prod/gn",
12
+ [Chain.Polygon]: "https://api.subgraph.ormilabs.com/api/public/803c8c8c-be12-4188-8523-b9853e23051d/subgraphs/steer-protocol-polygon/prod/gn",
12
13
  [Chain.BSC]: "https://subgraph-proxy-server-xf2uthetka-as.a.run.app/gateway-arbitrum/GLDP56fPGDz3MtmhtfTkz5CxWiqiNLACVrsJ9RqQeL4U",
13
14
  [Chain.Optimism]: "https://subgraph-proxy-server-xf2uthetka-as.a.run.app/gateway-arbitrum/GgW1EwNARL3dyo3acQ3VhraQQ66MHT7QnYuGcQc5geDG",
14
- [Chain.Arbitrum]: "https://api.goldsky.com/api/public/project_clohj3ta78ok12nzs5m8yag0b/subgraphs/steer-protocol-arbitrum/prod/gn",
15
+ [Chain.Arbitrum]: "https://api.subgraph.ormilabs.com/api/public/803c8c8c-be12-4188-8523-b9853e23051d/subgraphs/steer-protocol-arbitrum/prod/gn",
15
16
  [Chain.Evmos]: "https://subgraph.satsuma-prod.com/769a117cc018/steer/steer-protocol-evmos/api",
16
17
  [Chain.Thundercore]: "https://subgraph.steer.finance/thundercore/subgraphs/name/steerprotocol/steer-thundercore",
17
18
  [Chain.Metis]: "https://api.metis.0xgraph.xyz/api/public/b88b5696-b69d-46be-b212-5c55a9b1492f/subgraphs/steer-protocol-metis/prod/gn",
@@ -45,7 +46,7 @@ export const steerSubgraphConfig = {
45
46
  [Chain.Sonic]: 'https://api.0xgraph.xyz/api/public/803c8c8c-be12-4188-8523-b9853e23051d/subgraphs/steer-protocol-sonic/prod/gn',
46
47
  [Chain.Zeta]: 'https://subgraph-proxy-server-xf2uthetka-as.a.run.app/gateway-arbitrum/HFH41DyzAXxYmT5eszVWn2T7UxViMroPJ4XJV8vhDGNN',
47
48
  [Chain.Mainnet]: 'https://api.subgraph.ormilabs.com/api/public/803c8c8c-be12-4188-8523-b9853e23051d/subgraphs/steer-protocol-mainnet/prod/gn',
48
- [Chain.Soneium]: 'https://subgraph-proxy-server-xf2uthetka-as.a.run.app/gateway-arbitrum/8gCrUHrVS9rHwvDPLTn4Wz6od68ULb7azYuQz25JjRK3',
49
+ [Chain.Soneium]: 'https://api.goldsky.com/api/public/project_clohj3ta78ok12nzs5m8yag0b/subgraphs/steer-protocol-soneium/prod/gn',
49
50
  [Chain.Bera]: 'https://api.subgraph.ormilabs.com/api/public/803c8c8c-be12-4188-8523-b9853e23051d/subgraphs/steer-protocol-bera/prod/gn',
50
51
  [Chain.Unichain]: 'https://subgraph-proxy-server-xf2uthetka-as.a.run.app/gateway-arbitrum/EoLK36f26Dr7maXyNKxJmEBJkoYVCMh1d4ENtT5hJgyB',
51
52
  [Chain.Hemi]: 'https://subgraph-proxy-server-xf2uthetka-as.a.run.app/gateway-arbitrum/2eACJtEGuELqN5roUiHG1jqmCpXt5aimcc8xZdvtMv4z',
@@ -1 +1 @@
1
- {"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../../src/const/subgraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../../src/const/subgraph.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -4,6 +4,7 @@ export * from './types';
4
4
  export * from './base/VaultClient';
5
5
  export * from './base/SubgraphClient';
6
6
  export * from './base/StakingClient';
7
+ export * from './base/PoolClient';
7
8
  export * from './const';
8
9
  /**
9
10
  * @packageDocumentation
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG"}