@stake-dao/reader 0.1.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 (182) hide show
  1. package/dist/esm/batches/curveStrats.js +163 -0
  2. package/dist/esm/batches/curveStrats.js.map +1 -0
  3. package/dist/esm/batches/index.js +4 -0
  4. package/dist/esm/batches/index.js.map +1 -0
  5. package/dist/esm/batches/sdtGaugeRewards.js +22 -0
  6. package/dist/esm/batches/sdtGaugeRewards.js.map +1 -0
  7. package/dist/esm/batches/tokenData.js +22 -0
  8. package/dist/esm/batches/tokenData.js.map +1 -0
  9. package/dist/esm/batches/types.js +2 -0
  10. package/dist/esm/batches/types.js.map +1 -0
  11. package/dist/esm/endpoints.js +3 -0
  12. package/dist/esm/endpoints.js.map +1 -0
  13. package/dist/esm/index.js +8 -0
  14. package/dist/esm/index.js.map +1 -0
  15. package/dist/esm/number.js +45 -0
  16. package/dist/esm/number.js.map +1 -0
  17. package/dist/esm/prices.js +70 -0
  18. package/dist/esm/prices.js.map +1 -0
  19. package/dist/esm/sdt/sdt.js +92 -0
  20. package/dist/esm/sdt/sdt.js.map +1 -0
  21. package/dist/esm/sdt/veSdtAlternativeYields.js +19 -0
  22. package/dist/esm/sdt/veSdtAlternativeYields.js.map +1 -0
  23. package/dist/esm/strategies/curve/build.js +123 -0
  24. package/dist/esm/strategies/curve/build.js.map +1 -0
  25. package/dist/esm/strategies/curve/endpoints.js +6 -0
  26. package/dist/esm/strategies/curve/endpoints.js.map +1 -0
  27. package/dist/esm/strategies/curve/fetch/curveApiData/abi.js +80 -0
  28. package/dist/esm/strategies/curve/fetch/curveApiData/abi.js.map +1 -0
  29. package/dist/esm/strategies/curve/fetch/curveApiData/bytecode.js +24 -0
  30. package/dist/esm/strategies/curve/fetch/curveApiData/bytecode.js.map +1 -0
  31. package/dist/esm/strategies/curve/fetch/curveApiData/config.js +47 -0
  32. package/dist/esm/strategies/curve/fetch/curveApiData/config.js.map +1 -0
  33. package/dist/esm/strategies/curve/fetch/curveApiData/getCurveApiData.js +172 -0
  34. package/dist/esm/strategies/curve/fetch/curveApiData/getCurveApiData.js.map +1 -0
  35. package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js +33 -0
  36. package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js.map +1 -0
  37. package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesWeights.js +36 -0
  38. package/dist/esm/strategies/curve/fetch/curveApiData/getGaugesWeights.js.map +1 -0
  39. package/dist/esm/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.js +26 -0
  40. package/dist/esm/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.js.map +1 -0
  41. package/dist/esm/strategies/curve/fetch/curveApiData/getRegistries.js +20 -0
  42. package/dist/esm/strategies/curve/fetch/curveApiData/getRegistries.js.map +1 -0
  43. package/dist/esm/strategies/curve/fetch/getAprBreakdown.js +73 -0
  44. package/dist/esm/strategies/curve/fetch/getAprBreakdown.js.map +1 -0
  45. package/dist/esm/strategies/curve/fetch/getCvxApr.js +33 -0
  46. package/dist/esm/strategies/curve/fetch/getCvxApr.js.map +1 -0
  47. package/dist/esm/strategies/curve/fetch/getOnlyboostData.js +63 -0
  48. package/dist/esm/strategies/curve/fetch/getOnlyboostData.js.map +1 -0
  49. package/dist/esm/strategies/curve/fetch/getStratsWithApr.js +88 -0
  50. package/dist/esm/strategies/curve/fetch/getStratsWithApr.js.map +1 -0
  51. package/dist/esm/strategies/curve/fetch/index.js +209 -0
  52. package/dist/esm/strategies/curve/fetch/index.js.map +1 -0
  53. package/dist/esm/strategies/curve/fetch/types.js +2 -0
  54. package/dist/esm/strategies/curve/fetch/types.js.map +1 -0
  55. package/dist/esm/strategies/curve/httpCalls.js +80 -0
  56. package/dist/esm/strategies/curve/httpCalls.js.map +1 -0
  57. package/dist/esm/strategies/curve/onChainCalls.js +28 -0
  58. package/dist/esm/strategies/curve/onChainCalls.js.map +1 -0
  59. package/dist/esm/strategies/types.js +2 -0
  60. package/dist/esm/strategies/types.js.map +1 -0
  61. package/dist/esm/strategies/utils/boost.js +30 -0
  62. package/dist/esm/strategies/utils/boost.js.map +1 -0
  63. package/dist/esm/strategies/utils/decodeEtherscanFactoryEvent.js +40 -0
  64. package/dist/esm/strategies/utils/decodeEtherscanFactoryEvent.js.map +1 -0
  65. package/dist/esm/strategies/utils/index.js +7 -0
  66. package/dist/esm/strategies/utils/index.js.map +1 -0
  67. package/dist/esm/strategies/utils/promise.js +10 -0
  68. package/dist/esm/strategies/utils/promise.js.map +1 -0
  69. package/dist/esm/strategies/utils/sdt.js +112 -0
  70. package/dist/esm/strategies/utils/sdt.js.map +1 -0
  71. package/dist/esm/tsconfig.build.tsbuildinfo +1 -0
  72. package/dist/esm/utils.js +113 -0
  73. package/dist/esm/utils.js.map +1 -0
  74. package/dist/types/batches/curveStrats.d.ts +4 -0
  75. package/dist/types/batches/curveStrats.d.ts.map +1 -0
  76. package/dist/types/batches/index.d.ts +4 -0
  77. package/dist/types/batches/index.d.ts.map +1 -0
  78. package/dist/types/batches/sdtGaugeRewards.d.ts +4 -0
  79. package/dist/types/batches/sdtGaugeRewards.d.ts.map +1 -0
  80. package/dist/types/batches/tokenData.d.ts +4 -0
  81. package/dist/types/batches/tokenData.d.ts.map +1 -0
  82. package/dist/types/batches/types.d.ts +15 -0
  83. package/dist/types/batches/types.d.ts.map +1 -0
  84. package/dist/types/endpoints.d.ts +3 -0
  85. package/dist/types/endpoints.d.ts.map +1 -0
  86. package/dist/types/index.d.ts +8 -0
  87. package/dist/types/index.d.ts.map +1 -0
  88. package/dist/types/number.d.ts +6 -0
  89. package/dist/types/number.d.ts.map +1 -0
  90. package/dist/types/prices.d.ts +10 -0
  91. package/dist/types/prices.d.ts.map +1 -0
  92. package/dist/types/sdt/sdt.d.ts +31 -0
  93. package/dist/types/sdt/sdt.d.ts.map +1 -0
  94. package/dist/types/sdt/veSdtAlternativeYields.d.ts +19 -0
  95. package/dist/types/sdt/veSdtAlternativeYields.d.ts.map +1 -0
  96. package/dist/types/strategies/curve/build.d.ts +37 -0
  97. package/dist/types/strategies/curve/build.d.ts.map +1 -0
  98. package/dist/types/strategies/curve/endpoints.d.ts +6 -0
  99. package/dist/types/strategies/curve/endpoints.d.ts.map +1 -0
  100. package/dist/types/strategies/curve/fetch/curveApiData/abi.d.ts +49 -0
  101. package/dist/types/strategies/curve/fetch/curveApiData/abi.d.ts.map +1 -0
  102. package/dist/types/strategies/curve/fetch/curveApiData/bytecode.d.ts +8 -0
  103. package/dist/types/strategies/curve/fetch/curveApiData/bytecode.d.ts.map +1 -0
  104. package/dist/types/strategies/curve/fetch/curveApiData/config.d.ts +34 -0
  105. package/dist/types/strategies/curve/fetch/curveApiData/config.d.ts.map +1 -0
  106. package/dist/types/strategies/curve/fetch/curveApiData/getCurveApiData.d.ts +3 -0
  107. package/dist/types/strategies/curve/fetch/curveApiData/getCurveApiData.d.ts.map +1 -0
  108. package/dist/types/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.d.ts +2 -0
  109. package/dist/types/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.d.ts.map +1 -0
  110. package/dist/types/strategies/curve/fetch/curveApiData/getGaugesWeights.d.ts +11 -0
  111. package/dist/types/strategies/curve/fetch/curveApiData/getGaugesWeights.d.ts.map +1 -0
  112. package/dist/types/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.d.ts +2 -0
  113. package/dist/types/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.d.ts.map +1 -0
  114. package/dist/types/strategies/curve/fetch/curveApiData/getRegistries.d.ts +5 -0
  115. package/dist/types/strategies/curve/fetch/curveApiData/getRegistries.d.ts.map +1 -0
  116. package/dist/types/strategies/curve/fetch/getAprBreakdown.d.ts +17 -0
  117. package/dist/types/strategies/curve/fetch/getAprBreakdown.d.ts.map +1 -0
  118. package/dist/types/strategies/curve/fetch/getCvxApr.d.ts +3 -0
  119. package/dist/types/strategies/curve/fetch/getCvxApr.d.ts.map +1 -0
  120. package/dist/types/strategies/curve/fetch/getOnlyboostData.d.ts +4 -0
  121. package/dist/types/strategies/curve/fetch/getOnlyboostData.d.ts.map +1 -0
  122. package/dist/types/strategies/curve/fetch/getStratsWithApr.d.ts +9 -0
  123. package/dist/types/strategies/curve/fetch/getStratsWithApr.d.ts.map +1 -0
  124. package/dist/types/strategies/curve/fetch/index.d.ts +10 -0
  125. package/dist/types/strategies/curve/fetch/index.d.ts.map +1 -0
  126. package/dist/types/strategies/curve/fetch/types.d.ts +11 -0
  127. package/dist/types/strategies/curve/fetch/types.d.ts.map +1 -0
  128. package/dist/types/strategies/curve/httpCalls.d.ts +18 -0
  129. package/dist/types/strategies/curve/httpCalls.d.ts.map +1 -0
  130. package/dist/types/strategies/curve/onChainCalls.d.ts +2 -0
  131. package/dist/types/strategies/curve/onChainCalls.d.ts.map +1 -0
  132. package/dist/types/strategies/types.d.ts +130 -0
  133. package/dist/types/strategies/types.d.ts.map +1 -0
  134. package/dist/types/strategies/utils/boost.d.ts +2 -0
  135. package/dist/types/strategies/utils/boost.d.ts.map +1 -0
  136. package/dist/types/strategies/utils/decodeEtherscanFactoryEvent.d.ts +4 -0
  137. package/dist/types/strategies/utils/decodeEtherscanFactoryEvent.d.ts.map +1 -0
  138. package/dist/types/strategies/utils/index.d.ts +6 -0
  139. package/dist/types/strategies/utils/index.d.ts.map +1 -0
  140. package/dist/types/strategies/utils/promise.d.ts +2 -0
  141. package/dist/types/strategies/utils/promise.d.ts.map +1 -0
  142. package/dist/types/strategies/utils/sdt.d.ts +16 -0
  143. package/dist/types/strategies/utils/sdt.d.ts.map +1 -0
  144. package/dist/types/utils.d.ts +33 -0
  145. package/dist/types/utils.d.ts.map +1 -0
  146. package/package.json +54 -0
  147. package/src/batches/curveStrats.ts +166 -0
  148. package/src/batches/index.ts +3 -0
  149. package/src/batches/sdtGaugeRewards.ts +26 -0
  150. package/src/batches/tokenData.ts +26 -0
  151. package/src/batches/types.ts +14 -0
  152. package/src/endpoints.ts +2 -0
  153. package/src/index.ts +7 -0
  154. package/src/number.ts +51 -0
  155. package/src/prices.ts +86 -0
  156. package/src/sdt/sdt.ts +110 -0
  157. package/src/sdt/veSdtAlternativeYields.ts +19 -0
  158. package/src/strategies/curve/build.ts +187 -0
  159. package/src/strategies/curve/endpoints.ts +21 -0
  160. package/src/strategies/curve/fetch/curveApiData/abi.ts +81 -0
  161. package/src/strategies/curve/fetch/curveApiData/bytecode.ts +43 -0
  162. package/src/strategies/curve/fetch/curveApiData/config.ts +56 -0
  163. package/src/strategies/curve/fetch/curveApiData/getCurveApiData.ts +207 -0
  164. package/src/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.ts +41 -0
  165. package/src/strategies/curve/fetch/curveApiData/getGaugesWeights.ts +52 -0
  166. package/src/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.ts +36 -0
  167. package/src/strategies/curve/fetch/curveApiData/getRegistries.ts +25 -0
  168. package/src/strategies/curve/fetch/getAprBreakdown.ts +98 -0
  169. package/src/strategies/curve/fetch/getCvxApr.ts +49 -0
  170. package/src/strategies/curve/fetch/getOnlyboostData.ts +100 -0
  171. package/src/strategies/curve/fetch/getStratsWithApr.ts +118 -0
  172. package/src/strategies/curve/fetch/index.ts +276 -0
  173. package/src/strategies/curve/fetch/types.ts +11 -0
  174. package/src/strategies/curve/httpCalls.ts +117 -0
  175. package/src/strategies/curve/onChainCalls.ts +36 -0
  176. package/src/strategies/types.ts +137 -0
  177. package/src/strategies/utils/boost.ts +41 -0
  178. package/src/strategies/utils/decodeEtherscanFactoryEvent.ts +42 -0
  179. package/src/strategies/utils/index.ts +8 -0
  180. package/src/strategies/utils/promise.ts +10 -0
  181. package/src/strategies/utils/sdt.ts +206 -0
  182. package/src/utils.ts +171 -0
@@ -0,0 +1,113 @@
1
+ import { tokens } from '@stake-dao/constants';
2
+ import { decodeAbiParameters, parseAbiParameters } from 'viem';
3
+ import { AGNOSTIC_QUERY_URL } from './endpoints.js';
4
+ import { withTwoDec } from './number.js';
5
+ export const isProtocolToken = (protocol, tokenSymbol) => (protocol === 'curve' && tokenSymbol === 'CRV') ||
6
+ (protocol === 'balancer' && tokenSymbol === 'BAL') ||
7
+ (protocol === 'angle' && tokenSymbol === 'ANGLE') ||
8
+ (protocol === 'pendle' && tokenSymbol === 'PENDLE') ||
9
+ (protocol === 'yearn' && tokenSymbol === 'dYFI') ||
10
+ (protocol === 'pancakeswap' && tokenSymbol === 'CAKE');
11
+ export const getBreakdownLabel = (strat, reward, isFuturSDT, boost, sdtApr) => {
12
+ switch (reward.token.symbol) {
13
+ case 'SDT':
14
+ return `${reward.token.symbol} APR${sdtApr?.sdtBoost
15
+ ? ` (${withTwoDec(isFuturSDT ? sdtApr.sdtFuturMinApr : sdtApr.sdtMinApr)}% → ${withTwoDec(isFuturSDT ? sdtApr.sdtFuturMaxApr : sdtApr.sdtMaxApr)}% | Your boost : ${sdtApr.sdtBoost.toFixed(2)}x)`
16
+ : ''}`;
17
+ default:
18
+ return `${reward.token.symbol} APR${isProtocolToken(strat.protocol, reward.token.symbol) ? ` (incl. ${boost.toFixed(2)}x boost)` : ''}`;
19
+ }
20
+ };
21
+ export const equalTlc = (addressOne, addressTwo) => addressOne.toLowerCase() === addressTwo.toLowerCase();
22
+ export const getTokenInfo = (coinData, address, chainId = 1) => {
23
+ if (coinData) {
24
+ return {
25
+ name: coinData.name,
26
+ symbol: coinData.symbol,
27
+ address: coinData.tokenAddress,
28
+ decimals: Number(coinData.decimals),
29
+ };
30
+ }
31
+ const tokenObj = tokens.find((t) => t.chainId === chainId && t.address === address);
32
+ return {
33
+ name: tokenObj.name,
34
+ symbol: tokenObj.symbol,
35
+ address: tokenObj.address,
36
+ decimals: tokenObj.decimals,
37
+ };
38
+ };
39
+ export const projectWorkingBalance = (veBalance, veTotal, balance, totalSupply) => {
40
+ const TOKENLESS_PRODUCTION = BigInt(40);
41
+ const DENOMINATOR = BigInt(100);
42
+ const derived = (balance * TOKENLESS_PRODUCTION) / DENOMINATOR;
43
+ const adjusted = (((totalSupply * veBalance) / veTotal) * (DENOMINATOR - TOKENLESS_PRODUCTION)) / DENOMINATOR;
44
+ // Math.min for BigInt
45
+ return [balance, derived + adjusted].reduce((m, e) => (e < m ? e : m));
46
+ };
47
+ export const rpcCall = async (rpc, params) => {
48
+ const request = (await fetch(rpc, {
49
+ method: 'POST',
50
+ headers: { 'Content-Type': 'application/json' },
51
+ body: JSON.stringify(params.map((param, index) => ({
52
+ id: index,
53
+ jsonrpc: '2.0',
54
+ method: 'eth_call',
55
+ params: [{ to: param.to, data: param.data }, 'latest'],
56
+ }))),
57
+ })).json();
58
+ return request;
59
+ };
60
+ export const batchJsonRpc = async (args) => {
61
+ const { rpc, calls, outputTypeAbi, parse = true, callsKey = '' } = args;
62
+ const rpcRequests = await (await fetch(rpc, {
63
+ method: 'POST',
64
+ headers: { 'Content-Type': 'application/json' },
65
+ body: JSON.stringify(calls.map((calldata, index) => ({
66
+ id: index,
67
+ jsonrpc: '2.0',
68
+ method: 'eth_call',
69
+ params: [{ data: calldata }, 'latest'],
70
+ }))),
71
+ })).json();
72
+ const rpcResults = rpcRequests.map((res, index) => {
73
+ const isError = Object.keys(res).includes('error');
74
+ const abi = Array.isArray(outputTypeAbi[0]) ? outputTypeAbi[index] : outputTypeAbi;
75
+ const status = isError ? 'error' : 'fulfilled';
76
+ const value = isError
77
+ ? `${callsKey} call index ${index}: code ${res.error.code}\n${res.error.message}`
78
+ : decodeAbiParameters(parse ? parseAbiParameters(abi) : abi, res.result);
79
+ if (isError) {
80
+ console.error(value);
81
+ }
82
+ return { status, value };
83
+ });
84
+ return rpcResults.flatMap((r) => (r.status === 'fulfilled' ? r.value[0] : []));
85
+ };
86
+ export const multicall = async (provider, calls, abi) => {
87
+ const contracts = calls.map((c) => ({
88
+ address: c.address,
89
+ abi,
90
+ functionName: c.name,
91
+ args: c.params ? c.params : [],
92
+ }));
93
+ const results = await provider.multicall({ contracts, batchSize: 10_240 });
94
+ return results;
95
+ };
96
+ export const agnostic = async (query, apiKey, defaultErrorValue) => {
97
+ try {
98
+ const response = await fetch(AGNOSTIC_QUERY_URL, {
99
+ body: query,
100
+ method: 'POST',
101
+ headers: {
102
+ Authorization: apiKey,
103
+ },
104
+ });
105
+ const data = await response.json();
106
+ return data.rows;
107
+ }
108
+ catch (e) {
109
+ console.error(e);
110
+ return defaultErrorValue;
111
+ }
112
+ };
113
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { BatchMetaData } from './types.js';
2
+ declare const curveStrats: BatchMetaData;
3
+ export default curveStrats;
4
+ //# sourceMappingURL=curveStrats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curveStrats.d.ts","sourceRoot":"","sources":["../../../src/batches/curveStrats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,QAAA,MAAM,WAAW,EAAE,aAiKlB,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { default as batchTokenData } from './tokenData.js';
2
+ export { default as batchSdtGaugeRewards } from './sdtGaugeRewards.js';
3
+ export { default as batchCurveStrats } from './curveStrats.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/batches/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { BatchMetaData } from './types.js';
2
+ declare const sdtGaugeRewards: BatchMetaData;
3
+ export default sdtGaugeRewards;
4
+ //# sourceMappingURL=sdtGaugeRewards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdtGaugeRewards.d.ts","sourceRoot":"","sources":["../../../src/batches/sdtGaugeRewards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAS/C,QAAA,MAAM,eAAe,EAAE,aActB,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { BatchMetaData } from './types.js';
2
+ declare const tokenData: BatchMetaData;
3
+ export default tokenData;
4
+ //# sourceMappingURL=tokenData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenData.d.ts","sourceRoot":"","sources":["../../../src/batches/tokenData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAU/C,QAAA,MAAM,SAAS,EAAE,aAahB,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,15 @@
1
+ export type BatchMetaData = {
2
+ bytecode: {
3
+ [chainId: number]: `0x${string}`;
4
+ };
5
+ inputType: {
6
+ [chainId: number]: string[];
7
+ };
8
+ outputType?: {
9
+ [chainId: number]: any[];
10
+ };
11
+ outputTypeHr: {
12
+ [chainId: number]: string[];
13
+ };
14
+ };
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/batches/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE;QACR,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,SAAS,EAAE;QACT,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAC5B,CAAA;IACD,UAAU,CAAC,EAAE;QACX,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,EAAE,CAAA;KACzB,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAC5B,CAAA;CACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const LLAMA_API_URL = "https://coins.llama.fi";
2
+ export declare const AGNOSTIC_QUERY_URL = "https://proxy.eu-02.agnostic.engineering/query";
3
+ //# sourceMappingURL=endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/endpoints.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,2BAA2B,CAAA;AACrD,eAAO,MAAM,kBAAkB,mDAAmD,CAAA"}
@@ -0,0 +1,8 @@
1
+ export { fetchCurve } from './strategies/curve/fetch/index.js';
2
+ export { fetchCurveBase } from './strategies/curve/fetch/curveApiData/getCurveApiData.js';
3
+ export { getGaugesWeights } from './strategies/curve/fetch/curveApiData/getGaugesWeights.js';
4
+ export { getGaugesFromRegistry } from './strategies/curve/fetch/curveApiData/getGaugesFromRegistry.js';
5
+ export { getPricesFromLlama, getPricesFromGeckoTerminal } from './prices.js';
6
+ export { fetchSdt } from './sdt/sdt.js';
7
+ export * from './strategies/utils/index.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAA;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AACtG,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,cAAc,6BAA6B,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const getString: (data: any, nbDecimals?: number) => string | 0;
2
+ export declare const getFixedNumber: (amount: string, reduce?: boolean) => number;
3
+ export declare const fixed: (nb: string, decimals?: number) => string;
4
+ export declare const formatUsd: (number: string | number) => string;
5
+ export declare const withTwoDec: (num: number) => string;
6
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/number.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,SAAU,GAAG,oCAKlC,CAAA;AAED,eAAO,MAAM,cAAc,WAAY,MAAM,6BAa5C,CAAA;AAED,eAAO,MAAM,KAAK,OAAQ,MAAM,aAAa,MAAM,WAMlD,CAAA;AAED,eAAO,MAAM,SAAS,WAAY,MAAM,GAAG,MAAM,WAchD,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,MAAM,WAErC,CAAA"}
@@ -0,0 +1,10 @@
1
+ export type Price = {
2
+ symbol: string;
3
+ address: string;
4
+ usdPrice: number;
5
+ };
6
+ export declare const getLlamaTokenPrefix: (chainId?: number) => string;
7
+ export declare const getPricesFromLlama: (tokens: any[], chainId?: number, defaultErrorValue?: any) => Promise<Price[]>;
8
+ export declare const getPricesFromCurve: (chainId: number) => Promise<any>;
9
+ export declare const getPricesFromGeckoTerminal: (tokens: any[], chainId?: number, defaultErrorValue?: any) => Promise<any>;
10
+ //# sourceMappingURL=prices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../src/prices.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,mBAAmB,wBAAkB,MAajD,CAAA;AAED,eAAO,MAAM,kBAAkB,WAAkB,GAAG,EAAE,wCAAmC,GAAG,KAAG,OAAO,CAAC,KAAK,EAAE,CAqB7G,CAAA;AAED,eAAO,MAAM,kBAAkB,YAAmB,MAAM,iBAKvD,CAAA;AAED,eAAO,MAAM,0BAA0B,WAAkB,GAAG,EAAE,wCAAmC,GAAG,KAAG,OAAO,CAAC,GAAG,CA6BjH,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { type Price } from '../prices.js';
2
+ export declare const fetchSdt: (prices: Price[], provider: any, agnosticKey?: string) => Promise<{
3
+ alternativeYields: {
4
+ wardenMarket: {
5
+ label: string;
6
+ platform: string;
7
+ href: string;
8
+ };
9
+ wardenPledge: {
10
+ label: string;
11
+ platform: string;
12
+ href: string;
13
+ };
14
+ asdcrvDelegation: {
15
+ label: string;
16
+ platform: string;
17
+ href: string;
18
+ };
19
+ };
20
+ veSdtTotalSupply: string;
21
+ locked: string;
22
+ lockedInUsd: number;
23
+ vestedInUsd: number;
24
+ percentLocked: number;
25
+ averageLockInYears: number;
26
+ apr: number;
27
+ voteBoosterVeSdt: number;
28
+ lockersTotalWeight: string;
29
+ stratsTotalWeight: string;
30
+ }>;
31
+ //# sourceMappingURL=sdt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdt.d.ts","sourceRoot":"","sources":["../../../src/sdt/sdt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAA;AAiBzC,eAAO,MAAM,QAAQ,WAAkB,KAAK,EAAE,YAAY,GAAG,gBAAgB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFlF,CAAA"}
@@ -0,0 +1,19 @@
1
+ declare const veSdtAlternativeYields: {
2
+ wardenMarket: {
3
+ label: string;
4
+ platform: string;
5
+ href: string;
6
+ };
7
+ wardenPledge: {
8
+ label: string;
9
+ platform: string;
10
+ href: string;
11
+ };
12
+ asdcrvDelegation: {
13
+ label: string;
14
+ platform: string;
15
+ href: string;
16
+ };
17
+ };
18
+ export default veSdtAlternativeYields;
19
+ //# sourceMappingURL=veSdtAlternativeYields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"veSdtAlternativeYields.d.ts","sourceRoot":"","sources":["../../../src/sdt/veSdtAlternativeYields.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;CAgB3B,CAAA;AAED,eAAe,sBAAsB,CAAA"}
@@ -0,0 +1,37 @@
1
+ import type { Token } from '@stake-dao/constants';
2
+ interface VaultAndLp {
3
+ vault: string;
4
+ lpToken: string;
5
+ }
6
+ export declare const buildCurveStrategies: (provider: any, stratsList: VaultAndLp[], chainId: number, externalApisResult: any[]) => Promise<{
7
+ key: string | undefined;
8
+ type: any;
9
+ protocol: string;
10
+ chainId: number;
11
+ isMetapool: any;
12
+ isLending: any;
13
+ vault: string;
14
+ lpToken: {
15
+ name: string;
16
+ symbol: string;
17
+ address: string;
18
+ decimals: number;
19
+ } | Token;
20
+ gaugeAddress: string;
21
+ coins: ({
22
+ name: string;
23
+ symbol: string;
24
+ address: string;
25
+ decimals: number;
26
+ } | Token)[];
27
+ underlyingCoins: ({
28
+ name: string;
29
+ symbol: string;
30
+ address: string;
31
+ decimals: number;
32
+ } | Token)[];
33
+ sdGauge: any;
34
+ rewards: any;
35
+ }[]>;
36
+ export {};
37
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../src/strategies/curve/build.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgB,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAI/D,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,oBAAoB,aACrB,GAAG,cACD,UAAU,EAAE,WACf,MAAM,sBACK,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyK1B,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const FACTORY_EXPLORER_EVENTS: (apiKey: string, explorer: string, contract: string, fromBlock: number, toBlock?: number | "latest") => string;
2
+ export declare const NEW_FACTORY_EXPLORER_EVENTS: (apiKey: string, explorer: string, contract: string, fromBlock: number, toBlock?: number | "latest") => string;
3
+ export declare const CURVE_API_URL = "https://api.curve.fi/api";
4
+ export declare const CONVEX_POOLS_URL = "https://curve.convexfinance.com/api/curve/pools";
5
+ export declare const CONVEX_LENDING_VAULTS_URL = "https://curve.convexfinance.com/api/curve/lending-vaults";
6
+ //# sourceMappingURL=endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../../src/strategies/curve/endpoints.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,WAC1B,MAAM,YACJ,MAAM,YACN,MAAM,aACL,MAAM,YACR,MAAM,GAAG,QAAQ,WAEuL,CAAA;AAEnN,eAAO,MAAM,2BAA2B,WAC9B,MAAM,YACJ,MAAM,YACN,MAAM,aACL,MAAM,YACR,MAAM,GAAG,QAAQ,WAEuL,CAAA;AAEnN,eAAO,MAAM,aAAa,6BAA6B,CAAA;AACvD,eAAO,MAAM,gBAAgB,oDAAoD,CAAA;AACjF,eAAO,MAAM,yBAAyB,6DAA6D,CAAA"}
@@ -0,0 +1,49 @@
1
+ export declare const getCurveDataPoolsOutputTypeAbi: (isLending: boolean) => {
2
+ type: string;
3
+ name: string;
4
+ components: ({
5
+ type: string;
6
+ name: string;
7
+ components?: undefined;
8
+ } | {
9
+ type: string;
10
+ name: string;
11
+ components: {
12
+ type: string;
13
+ name: string;
14
+ }[];
15
+ })[];
16
+ }[];
17
+ export declare const getCurveDataGaugesWeightsOutputTypeAbi: {
18
+ type: string;
19
+ name: string;
20
+ components: {
21
+ type: string;
22
+ name: string;
23
+ }[];
24
+ }[];
25
+ export declare const getCurveDataGaugesOutputTypeAbi: {
26
+ type: string;
27
+ name: string;
28
+ components: ({
29
+ type: string;
30
+ name: string;
31
+ components?: undefined;
32
+ } | {
33
+ type: string;
34
+ name: string;
35
+ components: ({
36
+ type: string;
37
+ name: string;
38
+ components: {
39
+ type: string;
40
+ name: string;
41
+ }[];
42
+ } | {
43
+ type: string;
44
+ name: string;
45
+ components?: undefined;
46
+ })[];
47
+ })[];
48
+ }[];
49
+ //# sourceMappingURL=abi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../../../../../src/strategies/curve/fetch/curveApiData/abi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,cAAe,OAAO;;;;;;;;;;;;;;;GAmChE,CAAA;AAED,eAAO,MAAM,sCAAsC;;;;;;;GAUlD,CAAA;AAED,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;GA+B3C,CAAA"}
@@ -0,0 +1,8 @@
1
+ export declare const gaugesBytecode: {
2
+ 1: string;
3
+ 42161: string;
4
+ };
5
+ export declare const gaugesWeightBytecode = "0x608060405234801561000f575f80fd5b506040516106f53803806106f58339818101604052810190610031919061036a565b5f732f50d538606fa9edd2b11e2446beb18c9d5846bb90505f82146100565781610058565b835b91505f838361006791906103e7565b67ffffffffffffffff8111156100805761007f61041a565b5b6040519080825280602002602001820160405280156100b957816020015b6100a66102ff565b81526020019060019003908161009e5790505b5090505f8490505b838110156102d0575f8373ffffffffffffffffffffffffffffffffffffffff1663b0539187836040518263ffffffff1660e01b81526004016101039190610456565b602060405180830381865afa15801561011e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061014291906104c9565b905061014c6102ff565b81815f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508473ffffffffffffffffffffffffffffffffffffffff166395cfcec3836040518263ffffffff1660e01b81526004016101bc9190610503565b6020604051808303815f875af11580156101d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101fc919061051c565b8160200181815250508473ffffffffffffffffffffffffffffffffffffffff16636472eee18362093a80426102319190610547565b6040518363ffffffff1660e01b815260040161024e92919061057a565b6020604051808303815f875af115801561026a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028e919061051c565b816040018181525050808488856102a591906103e7565b815181106102b6576102b56105a1565b5b6020026020010181905250505080806001019150506100c1565b505f816040516020016102e391906106d4565b6040516020818303038152906040529050602081018059038082f35b60405180606001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81525090565b5f80fd5b5f819050919050565b61034981610337565b8114610353575f80fd5b50565b5f8151905061036481610340565b92915050565b5f805f6060848603121561038157610380610333565b5b5f61038e86828701610356565b935050602061039f86828701610356565b92505060406103b086828701610356565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103f182610337565b91506103fc83610337565b9250828203905081811115610414576104136103ba565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61045081610337565b82525050565b5f6020820190506104695f830184610447565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104988261046f565b9050919050565b6104a88161048e565b81146104b2575f80fd5b50565b5f815190506104c38161049f565b92915050565b5f602082840312156104de576104dd610333565b5b5f6104eb848285016104b5565b91505092915050565b6104fd8161048e565b82525050565b5f6020820190506105165f8301846104f4565b92915050565b5f6020828403121561053157610530610333565b5b5f61053e84828501610356565b91505092915050565b5f61055182610337565b915061055c83610337565b9250828201905080821115610574576105736103ba565b5b92915050565b5f60408201905061058d5f8301856104f4565b61059a6020830184610447565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6106008161048e565b82525050565b61060f81610337565b82525050565b606082015f8201516106295f8501826105f7565b50602082015161063c6020850182610606565b50604082015161064f6040850182610606565b50505050565b5f6106608383610615565b60608301905092915050565b5f602082019050919050565b5f610682826105ce565b61068c81856105d8565b9350610697836105e8565b805f5b838110156106c75781516106ae8882610655565b97506106b98361066c565b92505060018101905061069a565b5085935050505092915050565b5f6020820190508181035f8301526106ec8184610678565b90509291505056fe";
6
+ export declare const gaugesRegistryBytecode = "0x608060405234801561000f575f80fd5b5060405161055b38038061055b8339818101604052810190610031919061027a565b5f73abc000d88f23bb45525e447528dbf656a9d55bf590505f821461005657816100cf565b8073ffffffffffffffffffffffffffffffffffffffff166338f31214856040518263ffffffff1660e01b815260040161008f91906102d9565b602060405180830381865afa1580156100aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100ce91906102f2565b5b91505f83836100de919061034a565b67ffffffffffffffff8111156100f7576100f661037d565b5b6040519080825280602002602001820160405280156101255781602001602082028036833780820191505090505b5090505f8490505b83811015610214578273ffffffffffffffffffffffffffffffffffffffff1663f5de124887836040518363ffffffff1660e01b81526004016101709291906103aa565b602060405180830381865afa15801561018b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101af919061042b565b8286836101bc919061034a565b815181106101cd576101cc610456565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808060010191505061012d565b505f81604051602001610227919061053a565b6040516020818303038152906040529050602081018059038082f35b5f80fd5b5f819050919050565b61025981610247565b8114610263575f80fd5b50565b5f8151905061027481610250565b92915050565b5f805f6060848603121561029157610290610243565b5b5f61029e86828701610266565b93505060206102af86828701610266565b92505060406102c086828701610266565b9150509250925092565b6102d381610247565b82525050565b5f6020820190506102ec5f8301846102ca565b92915050565b5f6020828403121561030757610306610243565b5b5f61031484828501610266565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61035482610247565b915061035f83610247565b92508282039050818111156103775761037661031d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6040820190506103bd5f8301856102ca565b6103ca60208301846102ca565b9392505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103fa826103d1565b9050919050565b61040a816103f0565b8114610414575f80fd5b50565b5f8151905061042581610401565b92915050565b5f602082840312156104405761043f610243565b5b5f61044d84828501610417565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6104b5816103f0565b82525050565b5f6104c683836104ac565b60208301905092915050565b5f602082019050919050565b5f6104e882610483565b6104f2818561048d565b93506104fd8361049d565b805f5b8381101561052d57815161051488826104bb565b975061051f836104d2565b925050600181019050610500565b5085935050505092915050565b5f6020820190508181035f83015261055281846104de565b90509291505056fe";
7
+ export declare const curveApiDataBytecodes: string[];
8
+ //# sourceMappingURL=bytecode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytecode.d.ts","sourceRoot":"","sources":["../../../../../../src/strategies/curve/fetch/curveApiData/bytecode.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,cAAc;;;CAI1B,CACA;AAED,eAAO,MAAM,oBAAoB,i/GAC+8G,CAAA;AAEh/G,eAAO,MAAM,sBAAsB,6rFACypF,CAAA;AAE5rF,eAAO,MAAM,qBAAqB,UAQjC,CAAA"}
@@ -0,0 +1,34 @@
1
+ export type Registry = {
2
+ id: string;
3
+ address: string;
4
+ bytecodeIndex: number;
5
+ isLending?: boolean;
6
+ };
7
+ export declare const registries: {
8
+ [chainId: number]: Registry[];
9
+ };
10
+ export declare const lendingStartIndex: {
11
+ 1: number;
12
+ 42161: number;
13
+ };
14
+ export declare const CHUNK_SIZE = 30;
15
+ export declare const GAUGES_CHUNK_SIZE: {
16
+ 1: number;
17
+ 42161: number;
18
+ };
19
+ export declare const TOKENS_CHUNK_SIZE = 100;
20
+ export declare const GAUGES_WEIGHTS_CHUNK_SIZE = 130;
21
+ export declare const GAUGES_REGISTRY_CHUNK_SIZE = 30;
22
+ export declare const BROKEN_GAUGES: {
23
+ 1: string[];
24
+ 42161: string[];
25
+ };
26
+ export declare const CUSTOM_GAUGES: {
27
+ 1: {
28
+ '0xEd4064f376cB8d68F770FB1Ff088a3d0F3FF5c4d': string;
29
+ '0x6BA5b4e438FA0aAf7C1bD179285aF65d13bD3D90': string;
30
+ '0xBfAb6FA95E0091ed66058ad493189D2cB29385E6': string;
31
+ };
32
+ 42161: {};
33
+ };
34
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/strategies/curve/fetch/curveApiData/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAA;CAoBvD,CAAA;AAED,eAAO,MAAM,iBAAiB;;;CAG7B,CAAA;AAED,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,eAAO,MAAM,iBAAiB;;;CAAuB,CAAA;AACrD,eAAO,MAAM,iBAAiB,MAAM,CAAA;AACpC,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAC5C,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAC5C,eAAO,MAAM,aAAa;;;CAGzB,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;CAWzB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { GaugeWeight } from './getGaugesWeights.js';
2
+ export declare const fetchCurveBase: (rpc: string, chainId: number, gaugesWeights: GaugeWeight[]) => Promise<any>;
3
+ //# sourceMappingURL=getCurveApiData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCurveApiData.d.ts","sourceRoot":"","sources":["../../../../../../src/strategies/curve/fetch/curveApiData/getCurveApiData.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAIxD,eAAO,MAAM,cAAc,QAAe,MAAM,WAAW,MAAM,iBAAiB,WAAW,EAAE,iBAkM9F,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const getGaugesFromRegistry: (chainId: number, rpc: string) => Promise<string[]>;
2
+ //# sourceMappingURL=getGaugesFromRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGaugesFromRegistry.d.ts","sourceRoot":"","sources":["../../../../../../src/strategies/curve/fetch/curveApiData/getGaugesFromRegistry.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,qBAAqB,YAAmB,MAAM,OAAO,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CAiC1F,CAAA"}
@@ -0,0 +1,11 @@
1
+ export type GaugeWeight = {
2
+ gauge: string;
3
+ relativeWeight: string;
4
+ futureRelativeWeight: string;
5
+ };
6
+ export type GaugesWeightsData = {
7
+ gaugesCount: number;
8
+ gauges: GaugeWeight[];
9
+ };
10
+ export declare const getGaugesWeights: (rpc: string) => Promise<GaugesWeightsData>;
11
+ //# sourceMappingURL=getGaugesWeights.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGaugesWeights.d.ts","sourceRoot":"","sources":["../../../../../../src/strategies/curve/fetch/curveApiData/getGaugesWeights.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CAAA;AAE9E,eAAO,MAAM,gBAAgB,QAAe,MAAM,KAAG,OAAO,CAAC,iBAAiB,CAmC7E,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const getPoolsFromRegistries: (rpc: string, lendingCallsStartIndex: number, poolCounts: any) => Promise<any>;
2
+ //# sourceMappingURL=getPoolsFromRegistries.ts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPoolsFromRegistries.ts.d.ts","sourceRoot":"","sources":["../../../../../../src/strategies/curve/fetch/curveApiData/getPoolsFromRegistries.ts.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,sBAAsB,QAAe,MAAM,0BAA0B,MAAM,cAAc,GAAG,iBA4BxG,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const getRegistries: (rpc: string, chainId: number) => Promise<{
2
+ lendingCallsStartIndex: number;
3
+ poolCounts: any;
4
+ }>;
5
+ //# sourceMappingURL=getRegistries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRegistries.d.ts","sourceRoot":"","sources":["../../../../../../src/strategies/curve/fetch/curveApiData/getRegistries.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,QAAe,MAAM,WAAW,MAAM;;;EAoB/D,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { RewardsData } from '../../types.js';
2
+ type Breakdown = {
3
+ label: string;
4
+ value: number[];
5
+ };
6
+ export declare const getAprBreakdown: (strat: any, rewardsData: RewardsData[], boost: number, cvxApr: number, sdtApr: any) => {
7
+ current: {
8
+ total: number;
9
+ details: Breakdown[];
10
+ };
11
+ projected: {
12
+ total: any;
13
+ details: any[];
14
+ };
15
+ };
16
+ export {};
17
+ //# sourceMappingURL=getAprBreakdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAprBreakdown.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/getAprBreakdown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,eAAe,UAAW,GAAG,eAAe,WAAW,EAAE,SAAS,MAAM,UAAU,MAAM,UAAU,GAAG;;;;;;;;;CAyFjH,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const getCvxMintAmount: (crvEarned: bigint, _cvxTotalSupply: string) => bigint;
2
+ export declare const getCvxApr: (convexTvlInUsd: number, tvlInUsd: number, crvApr: number, cvxTotalSupply: string, cvxPrice: number) => number;
3
+ //# sourceMappingURL=getCvxApr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCvxApr.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/getCvxApr.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,gBAAgB,cAAe,MAAM,mBAAmB,MAAM,WAyB1E,CAAA;AAED,eAAO,MAAM,SAAS,mBACJ,MAAM,YACZ,MAAM,UACR,MAAM,kBACE,MAAM,YACZ,MAAM,WASjB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { OnlyBoostData } from '../../types.js';
2
+ declare const getOnlyboostData: (data: any, stakeDaoVeBoost: string, convexVeBoost: string, veCrvTotalSupply: string, curveGaugeTotalSupply: bigint, strategyHoldings: bigint, workingBalance: bigint, baseTotalSupply: bigint, lpPriceInUsd: number) => OnlyBoostData;
3
+ export default getOnlyboostData;
4
+ //# sourceMappingURL=getOnlyboostData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOnlyboostData.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/getOnlyboostData.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,QAAA,MAAM,gBAAgB,SACd,GAAG,mBACQ,MAAM,iBACR,MAAM,oBACH,MAAM,yBACD,MAAM,oBACX,MAAM,kBACR,MAAM,mBACL,MAAM,gBACT,MAAM,KACnB,aAkFF,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,9 @@
1
+ export declare const getCurveStratsWithApr: (chainId: number, curveStrats: any[], apisData: any) => {
2
+ curveStratsWithApr: any[];
3
+ curveStratsDataCalls: any[];
4
+ };
5
+ export declare const getCurveLendingWithApr: (provider: any, chainId: number, curveStrats: any[], apisData: any) => Promise<{
6
+ curveLendingWithApr: any[];
7
+ curveLendingDataCalls: any[];
8
+ }>;
9
+ //# sourceMappingURL=getStratsWithApr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStratsWithApr.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/getStratsWithApr.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,YAAa,MAAM,eAAe,GAAG,EAAE,YAAY,GAAG;;;CA4CvF,CAAA;AAED,eAAO,MAAM,sBAAsB,aAAoB,GAAG,WAAW,MAAM,eAAe,GAAG,EAAE,YAAY,GAAG;;;EAkE7G,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { type SdtEmissionData } from '../../utils/sdt.js';
2
+ import type { GaugesWeightsData } from './curveApiData/getGaugesWeights.js';
3
+ import type { StratGlobalData } from './types.js';
4
+ export declare const fetchCurve: (prices: any, provider: any, rpc: string, explorerApiKey: string, explorer: string, chainId: number, lastBlockNumber: number, sdtEmissionData: SdtEmissionData, gaugesWeights: GaugesWeightsData) => Promise<{
5
+ global: StratGlobalData;
6
+ deployed: any[];
7
+ notDeployed: never[];
8
+ fetched: boolean;
9
+ }>;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,oBAAoB,CAAA;AAIxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAK3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,eAAO,MAAM,UAAU,WACb,GAAG,YACD,GAAG,OACR,MAAM,kBACK,MAAM,YACZ,MAAM,WACP,MAAM,mBACE,MAAM,mBACN,eAAe,iBACjB,iBAAiB;;;;;EAuPjC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import type { Fees } from '../../types.js';
2
+ export type StratGlobalData = {
3
+ totalGaugeWeights: string;
4
+ nextEffectiveTimestamp: string;
5
+ cvxTotalSupply: string;
6
+ veCrvTotalSupply: string;
7
+ stakeDaoVeBoost: string;
8
+ convexVeBoost: string;
9
+ fees: Fees;
10
+ };
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,MAAM,eAAe,GAAG;IAC5B,iBAAiB,EAAE,MAAM,CAAA;IACzB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA"}