@stake-dao/reader 0.2.21 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/esm/abis/lockersMulticall.js +17 -0
  2. package/dist/esm/abis/lockersMulticall.js.map +1 -1
  3. package/dist/esm/bytecodes/index.js +13 -0
  4. package/dist/esm/bytecodes/index.js.map +1 -1
  5. package/dist/esm/bytecodes/votemarket/batchCurveGauges.js +32 -0
  6. package/dist/esm/bytecodes/votemarket/batchCurveGauges.js.map +1 -0
  7. package/dist/esm/bytecodes/votemarket/batchGaugesMetadata.js +58 -0
  8. package/dist/esm/bytecodes/votemarket/batchGaugesMetadata.js.map +1 -0
  9. package/dist/esm/index.js +7 -0
  10. package/dist/esm/index.js.map +1 -1
  11. package/dist/esm/lockers/fetch/index.js +69 -169
  12. package/dist/esm/lockers/fetch/index.js.map +1 -1
  13. package/dist/esm/lockers/fetch/parsePeg.js +21 -0
  14. package/dist/esm/lockers/fetch/parsePeg.js.map +1 -0
  15. package/dist/esm/lockers/fetch/parseVoteBoosterData.js +28 -0
  16. package/dist/esm/lockers/fetch/parseVoteBoosterData.js.map +1 -0
  17. package/dist/esm/lockers/utils/callsForLockers/depositorCalls.js +5 -5
  18. package/dist/esm/lockers/utils/callsForLockers/depositorCalls.js.map +1 -1
  19. package/dist/esm/lockers/utils/callsForLockers/feeCalls.js +13 -11
  20. package/dist/esm/lockers/utils/callsForLockers/feeCalls.js.map +1 -1
  21. package/dist/esm/lockers/utils/callsForLockers/index.js +2 -4
  22. package/dist/esm/lockers/utils/callsForLockers/index.js.map +1 -1
  23. package/dist/esm/lockers/utils/callsForLockers/pegCalls.js +9 -11
  24. package/dist/esm/lockers/utils/callsForLockers/pegCalls.js.map +1 -1
  25. package/dist/esm/lockers/utils/callsForLockers/veCalls.js +4 -4
  26. package/dist/esm/lockers/utils/callsForLockers/veCalls.js.map +1 -1
  27. package/dist/esm/lockers/utils/endpoints.js +2 -22
  28. package/dist/esm/lockers/utils/endpoints.js.map +1 -1
  29. package/dist/esm/lockers/utils/getBribesRewardsData.js +0 -1
  30. package/dist/esm/lockers/utils/getBribesRewardsData.js.map +1 -1
  31. package/dist/esm/lockers/utils/getCherries.js +34 -0
  32. package/dist/esm/lockers/utils/getCherries.js.map +1 -0
  33. package/dist/esm/lockers/utils/getHttpCalls.js +5 -7
  34. package/dist/esm/lockers/utils/getHttpCalls.js.map +1 -1
  35. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  36. package/dist/esm/votemarket/curve/config.js +6 -0
  37. package/dist/esm/votemarket/curve/config.js.map +1 -0
  38. package/dist/esm/votemarket/curve/fetchCurveGauges.js +86 -0
  39. package/dist/esm/votemarket/curve/fetchCurveGauges.js.map +1 -0
  40. package/dist/types/abis/lockersMulticall.d.ts +16 -0
  41. package/dist/types/abis/lockersMulticall.d.ts.map +1 -1
  42. package/dist/types/bytecodes/index.d.ts +2 -0
  43. package/dist/types/bytecodes/index.d.ts.map +1 -1
  44. package/dist/types/bytecodes/votemarket/batchCurveGauges.d.ts +4 -0
  45. package/dist/types/bytecodes/votemarket/batchCurveGauges.d.ts.map +1 -0
  46. package/dist/types/bytecodes/votemarket/batchGaugesMetadata.d.ts +4 -0
  47. package/dist/types/bytecodes/votemarket/batchGaugesMetadata.d.ts.map +1 -0
  48. package/dist/types/index.d.ts +2 -0
  49. package/dist/types/index.d.ts.map +1 -1
  50. package/dist/types/lockers/fetch/index.d.ts +96 -3
  51. package/dist/types/lockers/fetch/index.d.ts.map +1 -1
  52. package/dist/types/lockers/fetch/parsePeg.d.ts +3 -0
  53. package/dist/types/lockers/fetch/parsePeg.d.ts.map +1 -0
  54. package/dist/types/lockers/fetch/parseVoteBoosterData.d.ts +13 -0
  55. package/dist/types/lockers/fetch/parseVoteBoosterData.d.ts.map +1 -0
  56. package/dist/types/lockers/utils/callsForLockers/depositorCalls.d.ts +2 -1
  57. package/dist/types/lockers/utils/callsForLockers/depositorCalls.d.ts.map +1 -1
  58. package/dist/types/lockers/utils/callsForLockers/feeCalls.d.ts +3 -1
  59. package/dist/types/lockers/utils/callsForLockers/feeCalls.d.ts.map +1 -1
  60. package/dist/types/lockers/utils/callsForLockers/index.d.ts +2 -1
  61. package/dist/types/lockers/utils/callsForLockers/index.d.ts.map +1 -1
  62. package/dist/types/lockers/utils/callsForLockers/pegCalls.d.ts +3 -2
  63. package/dist/types/lockers/utils/callsForLockers/pegCalls.d.ts.map +1 -1
  64. package/dist/types/lockers/utils/callsForLockers/veCalls.d.ts +2 -1
  65. package/dist/types/lockers/utils/callsForLockers/veCalls.d.ts.map +1 -1
  66. package/dist/types/lockers/utils/endpoints.d.ts +2 -2
  67. package/dist/types/lockers/utils/endpoints.d.ts.map +1 -1
  68. package/dist/types/lockers/utils/getBribesRewardsData.d.ts +10 -12
  69. package/dist/types/lockers/utils/getBribesRewardsData.d.ts.map +1 -1
  70. package/dist/types/lockers/utils/getCherries.d.ts +4 -0
  71. package/dist/types/lockers/utils/getCherries.d.ts.map +1 -0
  72. package/dist/types/lockers/utils/getHttpCalls.d.ts +5 -1
  73. package/dist/types/lockers/utils/getHttpCalls.d.ts.map +1 -1
  74. package/dist/types/votemarket/curve/config.d.ts +4 -0
  75. package/dist/types/votemarket/curve/config.d.ts.map +1 -0
  76. package/dist/types/votemarket/curve/fetchCurveGauges.d.ts +16 -0
  77. package/dist/types/votemarket/curve/fetchCurveGauges.d.ts.map +1 -0
  78. package/package.json +2 -2
  79. package/src/abis/lockersMulticall.ts +17 -0
  80. package/src/bytecodes/index.ts +18 -0
  81. package/src/bytecodes/votemarket/batchCurveGauges.ts +34 -0
  82. package/src/bytecodes/votemarket/batchGaugesMetadata.ts +67 -0
  83. package/src/index.ts +10 -0
  84. package/src/lockers/fetch/index.ts +113 -229
  85. package/src/lockers/fetch/parsePeg.ts +25 -0
  86. package/src/lockers/fetch/parseVoteBoosterData.ts +34 -0
  87. package/src/lockers/utils/callsForLockers/depositorCalls.ts +7 -6
  88. package/src/lockers/utils/callsForLockers/feeCalls.ts +17 -15
  89. package/src/lockers/utils/callsForLockers/index.ts +6 -10
  90. package/src/lockers/utils/callsForLockers/pegCalls.ts +11 -12
  91. package/src/lockers/utils/callsForLockers/veCalls.ts +6 -5
  92. package/src/lockers/utils/endpoints.ts +2 -25
  93. package/src/lockers/utils/getBribesRewardsData.ts +11 -2
  94. package/src/lockers/utils/getCherries.ts +48 -0
  95. package/src/lockers/utils/getHttpCalls.ts +6 -7
  96. package/src/votemarket/curve/config.ts +6 -0
  97. package/src/votemarket/curve/fetchCurveGauges.ts +119 -0
  98. package/dist/esm/lockers/utils/callsForLockers/gaugeControllerCalls.js +0 -8
  99. package/dist/esm/lockers/utils/callsForLockers/gaugeControllerCalls.js.map +0 -1
  100. package/dist/esm/lockers/utils/getCherriesLeaderBoard.js +0 -22
  101. package/dist/esm/lockers/utils/getCherriesLeaderBoard.js.map +0 -1
  102. package/dist/types/lockers/utils/callsForLockers/gaugeControllerCalls.d.ts +0 -11
  103. package/dist/types/lockers/utils/callsForLockers/gaugeControllerCalls.d.ts.map +0 -1
  104. package/dist/types/lockers/utils/getCherriesLeaderBoard.d.ts +0 -2
  105. package/dist/types/lockers/utils/getCherriesLeaderBoard.d.ts.map +0 -1
  106. package/src/lockers/utils/callsForLockers/gaugeControllerCalls.ts +0 -8
  107. package/src/lockers/utils/getCherriesLeaderBoard.ts +0 -34
@@ -0,0 +1,6 @@
1
+ export const GAUGES_CHUNK_SIZE = 90;
2
+ export const GAUGES_METADATA_CHUNK_SIZE = 10;
3
+ export const BROKEN_GAUGES = [
4
+ '0x34ed182d0812d119c92907852d2b429f095a9b07', // lp token in gauge controller
5
+ ];
6
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAA;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,4CAA4C,EAAE,+BAA+B;CAC9E,CAAA"}
@@ -0,0 +1,86 @@
1
+ import { contracts } from '@stake-dao/constants';
2
+ import { chunk, groupBy, range } from 'lodash-es';
3
+ import { decodeAbiParameters, encodeAbiParameters, formatUnits, parseAbiParameters, zeroAddress } from 'viem';
4
+ import { mainnet } from 'viem/chains';
5
+ import { batchCurveGauges, batchGaugesMetadata } from '../../bytecodes/index.js';
6
+ import { concatBytecode } from '../../index.js';
7
+ import { batchJsonRpc, equalTlc, rpcCall } from '../../utils.js';
8
+ import { BROKEN_GAUGES, GAUGES_CHUNK_SIZE, GAUGES_METADATA_CHUNK_SIZE } from './config.js';
9
+ export const fetchCurveGauges = async (rpc) => {
10
+ const nGaugesRequest = await rpcCall(rpc[mainnet.id], [
11
+ { to: contracts.curveGaugeController[1], data: '0xe93841d0' }, // n_gauges
12
+ { to: contracts.curveGaugeController[1], data: '0x6977ff92' }, // get_total_weight
13
+ ]);
14
+ const nGauges = Number(decodeAbiParameters([{ type: 'uint256', name: 'n_gauges' }], nGaugesRequest[0].result));
15
+ const totalGaugesWeight = formatUnits(decodeAbiParameters([{ type: 'uint256', name: 'get_total_weight' }], nGaugesRequest[1].result)[0], 0);
16
+ const gaugesControllerCalls = range(0, nGauges, GAUGES_CHUNK_SIZE).map((skip) => {
17
+ const inputParams = [nGauges, skip, skip + GAUGES_CHUNK_SIZE > nGauges ? nGauges : skip + GAUGES_CHUNK_SIZE];
18
+ const inputData = encodeAbiParameters(parseAbiParameters(batchCurveGauges.inputType[1]), inputParams);
19
+ return concatBytecode(batchCurveGauges.bytecode[1], inputData);
20
+ });
21
+ const rawGauges = await batchJsonRpc({
22
+ rpc: rpc[mainnet.id],
23
+ calls: gaugesControllerCalls,
24
+ outputTypeAbi: batchCurveGauges.outputType[1],
25
+ parse: false,
26
+ callsKey: `votemarket/curve/fetchCurveGauges.ts: rawGauges - chainId ${mainnet.id} - rpc ${rpc[mainnet.id]}`,
27
+ });
28
+ const gauges = rawGauges.map((g) => ({
29
+ gauge: g.gauge,
30
+ weight: formatUnits(g.weight, 0),
31
+ relativeWeight: formatUnits(g.relativeWeight, 0),
32
+ futureRelativeWeight: formatUnits(g.futureRelativeWeight, 0),
33
+ isKilled: g.isKilled,
34
+ chainId: Number(g.chainId),
35
+ }));
36
+ const gaugesMetadata = [];
37
+ const filteredGauges = gauges.filter((g) => g.chainId > 0 && !BROKEN_GAUGES.includes(g.gauge.toLowerCase()));
38
+ const gaugesPerChain = groupBy(filteredGauges, 'chainId');
39
+ for (const chainId of Object.keys(gaugesPerChain)) {
40
+ const chainGauges = gaugesPerChain[chainId];
41
+ const chunkedChainGauges = chunk(chainGauges, GAUGES_METADATA_CHUNK_SIZE);
42
+ const gaugesMetadataCalls = chunkedChainGauges.map((gaugeObj) => {
43
+ const inputParams = [gaugeObj.map((g) => g.gauge)];
44
+ const inputData = encodeAbiParameters(parseAbiParameters(batchGaugesMetadata.inputType[0]), inputParams);
45
+ return concatBytecode(batchGaugesMetadata.bytecode[chainId] ? batchGaugesMetadata.bytecode[chainId] : batchGaugesMetadata.bytecode[0], inputData);
46
+ });
47
+ const rawGaugesMetadata = await batchJsonRpc({
48
+ rpc: rpc[chainId],
49
+ calls: gaugesMetadataCalls,
50
+ outputTypeAbi: batchGaugesMetadata.outputType[0],
51
+ parse: false,
52
+ callsKey: `votemarket/curve/fetchCurveGauges.ts: rawGaugesMetadata - chainId ${chainId} - rpc ${[chainId]}`,
53
+ });
54
+ gaugesMetadata.push(...rawGaugesMetadata);
55
+ }
56
+ const augmentedGauges = filteredGauges.map((g) => {
57
+ const gaugeMetadata = gaugesMetadata.find((gm) => equalTlc(gm.gauge, g.gauge));
58
+ return {
59
+ gauge: g.gauge,
60
+ weight: g.weight,
61
+ relativeWeight: g.relativeWeight,
62
+ futureRelativeWeight: g.futureRelativeWeight,
63
+ isKilled: g.isKilled,
64
+ chainId: g.chainId,
65
+ lp: {
66
+ name: gaugeMetadata.lp.name,
67
+ symbol: gaugeMetadata.lp.symbol,
68
+ address: gaugeMetadata.lp._address,
69
+ decimals: Number(gaugeMetadata.lp.decimals),
70
+ },
71
+ coins: gaugeMetadata.coins
72
+ .map((c) => ({
73
+ name: c.name,
74
+ symbol: c.symbol,
75
+ address: c._address,
76
+ decimals: Number(c.decimals),
77
+ }))
78
+ .filter((c) => c.address !== zeroAddress),
79
+ };
80
+ });
81
+ return {
82
+ totalGaugesWeight,
83
+ gauges: augmentedGauges,
84
+ };
85
+ };
86
+ //# sourceMappingURL=fetchCurveGauges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchCurveGauges.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchCurveGauges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAC7G,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAe1F,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAS,EAAuB,EAAE;IACvE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAE,EAAE;QACrD,EAAE,EAAE,EAAE,SAAS,CAAC,oBAAqB,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,WAAW;QAC5E,EAAE,EAAE,EAAE,SAAS,CAAC,oBAAqB,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,mBAAmB;KACrF,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9G,MAAM,iBAAiB,GAAG,WAAW,CACnC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACjG,CAAC,CACF,CAAA;IAED,MAAM,qBAAqB,GAAG,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9E,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAA;QAE5G,MAAM,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAE,CAAQ,EAAE,WAAW,CAAC,CAAA;QAC7G,OAAO,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,SAAS,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC;QACnC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAE;QACrB,KAAK,EAAE,qBAAqB;QAC5B,aAAa,EAAE,gBAAgB,CAAC,UAAW,CAAC,CAAC,CAAC;QAC9C,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,6DAA6D,OAAO,CAAC,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;KAC7G,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAChC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;QAChD,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC5D,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;KAC3B,CAAC,CAAC,CAAA;IAEH,MAAM,cAAc,GAAU,EAAE,CAAA;IAChC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IAC5G,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;IAEzD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAE,CAAA;QAC5C,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAA;QAEzE,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9D,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;YAElD,MAAM,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAE,CAAQ,EAAE,WAAW,CAAC,CAAA;YAChH,OAAO,cAAc,CACnB,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC/G,SAAS,CACV,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC;YAC3C,GAAG,EAAE,GAAG,CAAC,OAAO,CAAE;YAClB,KAAK,EAAE,mBAAmB;YAC1B,aAAa,EAAE,mBAAmB,CAAC,UAAW,CAAC,CAAC,CAAC;YACjD,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,qEAAqE,OAAO,UAAU,CAAC,OAAO,CAAC,EAAE;SAC5G,CAAC,CAAA;QAEF,cAAc,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/C,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAE9E,OAAO;YACL,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,oBAAoB,EAAE,CAAC,CAAC,oBAAoB;YAC5C,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,EAAE,EAAE;gBACF,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,IAAI;gBAC3B,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,MAAM;gBAC/B,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,QAAQ;gBAClC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC;aAC5C;YACD,KAAK,EAAE,aAAa,CAAC,KAAK;iBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,QAAQ;gBACnB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC7B,CAAC,CAAC;iBACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC;SAC5C,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,iBAAiB;QACjB,MAAM,EAAE,eAAe;KACxB,CAAA;AACH,CAAC,CAAA"}
@@ -47,6 +47,22 @@ declare const lockersMulticallAbi: ({
47
47
  payable: boolean;
48
48
  stateMutability: string;
49
49
  type: string;
50
+ } | {
51
+ inputs: never[];
52
+ name: string;
53
+ outputs: {
54
+ components: {
55
+ internalType: string;
56
+ name: string;
57
+ type: string;
58
+ }[];
59
+ internalType: string;
60
+ name: string;
61
+ type: string;
62
+ }[];
63
+ stateMutability: string;
64
+ type: string;
65
+ payable?: undefined;
50
66
  })[];
51
67
  export default lockersMulticallAbi;
52
68
  //# sourceMappingURL=lockersMulticall.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lockersMulticall.d.ts","sourceRoot":"","sources":["../../../src/abis/lockersMulticall.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqSxB,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"lockersMulticall.d.ts","sourceRoot":"","sources":["../../../src/abis/lockersMulticall.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsTxB,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -14,4 +14,6 @@ export { default as batchPendleStrats } from './strategies/batches/batchPendleSt
14
14
  export { default as batchPancakeSwapStrats } from './strategies/batches/batchPancakeswapStrats.js';
15
15
  export { default as batchPancakeSwapErc20Strats } from './strategies/batches/batchPancakeSwapErc20Strats.js';
16
16
  export { default as batchPancakeSwapPositions } from './strategies/batches/batchPancakeSwapPositions.js';
17
+ export { default as batchCurveGauges } from './votemarket/batchCurveGauges.js';
18
+ export { default as batchGaugesMetadata } from './votemarket/batchGaugesMetadata.js';
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bytecodes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACjF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAE9E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AACrF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAC3F,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,+CAA+C,CAAA;AACjG,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,oDAAoD,CAAA;AAC3G,OAAO,EAAE,OAAO,IAAI,sCAAsC,EAAE,MAAM,+DAA+D,CAAA;AACjI,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAEvF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AACtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AACtF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AAC5F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AACxF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,gDAAgD,CAAA;AAClG,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,qDAAqD,CAAA;AAC5G,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,mDAAmD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bytecodes/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAK1D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACjF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAE9E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AACrF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAC3F,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,+CAA+C,CAAA;AACjG,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,oDAAoD,CAAA;AAC3G,OAAO,EAAE,OAAO,IAAI,sCAAsC,EAAE,MAAM,+DAA+D,CAAA;AACjI,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAEvF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AACtF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AACtF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AAC5F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AACxF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,gDAAgD,CAAA;AAClG,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,qDAAqD,CAAA;AAC5G,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,mDAAmD,CAAA;AAQxG,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,qCAAqC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { BatchMetaData } from '../types.js';
2
+ declare const batchCurveGauges: BatchMetaData;
3
+ export default batchCurveGauges;
4
+ //# sourceMappingURL=batchCurveGauges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchCurveGauges.d.ts","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchCurveGauges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,QAAA,MAAM,gBAAgB,EAAE,aA6BvB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { BatchMetaData } from '../types.js';
2
+ declare const batchGaugesMetadata: BatchMetaData;
3
+ export default batchGaugesMetadata;
4
+ //# sourceMappingURL=batchGaugesMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchGaugesMetadata.d.ts","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchGaugesMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAgDhD,QAAA,MAAM,mBAAmB,EAAE,aAgB1B,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -2,6 +2,7 @@ export { getPricesFromLlama, getPricesFromGeckoTerminal } from './prices.js';
2
2
  export * from './sdt.js';
3
3
  export { fetchSdt } from './sdt/sdt.js';
4
4
  export { fetchLockers } from './lockers/fetch/index.js';
5
+ export { getUserCherries, getCherriesLeaderBoard, getUserSnapshotCherries } from './lockers/utils/getCherries.js';
5
6
  export * from './strategies/utils/index.js';
6
7
  export { buildCurveStrategies } from './strategies/curve/build.js';
7
8
  export { fetchCurve } from './strategies/curve/fetch/index.js';
@@ -21,4 +22,5 @@ export { getPancakeV3Positions } from './strategies/pancakeswap/fetch/getPancake
21
22
  export { fetchPendle } from './strategies/pendle/fetch.js';
22
23
  export { buildPendleStrategies } from './strategies/pendle/build.js';
23
24
  export { default as getPendleApiData } from './strategies/pendle/getPendleApiData.js';
25
+ export { fetchCurveGauges } from './votemarket/curve/fetchCurveGauges.js';
24
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5E,cAAc,UAAU,CAAA;AAKxB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAKvC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,cAAc,6BAA6B,CAAA;AAG3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAA;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AAGtG,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAG9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAA;AAG/F,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yCAAyC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5E,cAAc,UAAU,CAAA;AAKxB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAKvC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAKjH,cAAc,6BAA6B,CAAA;AAG3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAA;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AAGtG,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAG9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAA;AAG/F,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AASrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA"}
@@ -1,6 +1,98 @@
1
- import { type Price } from '../../prices.js';
2
- export declare const fetchLockers: (provider: any, chainId: number, prices: Price[]) => Promise<{
3
- parsed: any[];
1
+ import type { Price } from '../../prices.js';
2
+ import { type TBribesRewards } from '../utils/getBribesRewardsData.js';
3
+ interface TFetchLockers {
4
+ provider: any;
5
+ chainId: number;
6
+ prices: Price[];
7
+ withAirdropGraph?: boolean;
8
+ }
9
+ export declare const fetchLockers: ({ provider, chainId, prices, withAirdropGraph }: TFetchLockers) => Promise<{
10
+ parsed: {
11
+ rewards: {
12
+ token: import("@stake-dao/constants").LockerReward;
13
+ price: number;
14
+ apr: number;
15
+ streaming: boolean;
16
+ periodFinish: number;
17
+ rate: string;
18
+ lastUpdate: string;
19
+ isAirdrop: boolean | undefined;
20
+ }[];
21
+ fees: any[];
22
+ tokenLocked: string;
23
+ veBalanceOfLocker: string;
24
+ totalTokenLocked: string;
25
+ veTotalSupply: string;
26
+ lockIncentive: string;
27
+ incentiveAmountInToken: string;
28
+ gaugeWorkingSupply: string;
29
+ totalSupplyStaked: string;
30
+ amountTokenNotLock: string;
31
+ bribeRewards: TBribesRewards | undefined;
32
+ apr: number[];
33
+ streaming: boolean;
34
+ veTokenRate: string;
35
+ tvl: number;
36
+ peg: string;
37
+ tokenPriceInUsd: number;
38
+ sdTokenPriceInUsd: number;
39
+ voteBooster: {
40
+ booster: `0x${string}`;
41
+ vSdToken: `0x${string}`;
42
+ balance: {
43
+ token: string;
44
+ sdToken: string;
45
+ staked: string;
46
+ working: string;
47
+ };
48
+ boost: number;
49
+ } | undefined;
50
+ alternativeYields: any;
51
+ extensions: {
52
+ airdropGraph?: any;
53
+ sideChains: {
54
+ tokenLocked: string;
55
+ veBalanceOfLocker: string;
56
+ veTotalSupply: string;
57
+ chainId: number;
58
+ locker: import("@stake-dao/constants").Address;
59
+ veToken: import("@stake-dao/constants").Address;
60
+ depositor: import("@stake-dao/constants").Address;
61
+ sdToken: import("@stake-dao/constants").Address;
62
+ token: import("@stake-dao/constants").Address;
63
+ gauge?: import("@stake-dao/constants").Address;
64
+ }[] | undefined;
65
+ coingeckoBaseSlug?: string;
66
+ strategyGauge?: import("@stake-dao/constants").Address;
67
+ };
68
+ id: string;
69
+ order: number;
70
+ symbol: string;
71
+ protocol: string;
72
+ protocolDescription: string;
73
+ website: string;
74
+ logoUrl: string;
75
+ chainId: number;
76
+ rgb: string;
77
+ token: import("@stake-dao/constants").Token;
78
+ sdToken: import("@stake-dao/constants").Token;
79
+ delegation?: string[];
80
+ modules: {
81
+ depositor: import("@stake-dao/constants").Address;
82
+ locker: import("@stake-dao/constants").Address;
83
+ veToken: import("@stake-dao/constants").Address;
84
+ gauge: import("@stake-dao/constants").Address;
85
+ accumulator: import("@stake-dao/constants").Address;
86
+ };
87
+ secondaryMarket?: import("@stake-dao/constants").LockerSecondaryMarket;
88
+ veBoost?: {
89
+ address: import("@stake-dao/constants").Address;
90
+ delegator: import("@stake-dao/constants").Address;
91
+ };
92
+ autoCompounder?: {
93
+ aSdToken: import("@stake-dao/constants").Address;
94
+ };
95
+ }[];
4
96
  sdt: {
5
97
  lockersSdtPerBlock: string;
6
98
  lockersSdtPerSecond: string;
@@ -8,4 +100,5 @@ export declare const fetchLockers: (provider: any, chainId: number, prices: Pric
8
100
  stratsSdtPerSecond: string;
9
101
  } | undefined;
10
102
  }>;
103
+ export {};
11
104
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lockers/fetch/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,iBAAiB,CAAA;AA4B5C,eAAO,MAAM,YAAY,aAAoB,GAAG,WAAW,MAAM,UAAU,KAAK,EAAE;;;;;;;;EAmXjF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lockers/fetch/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAK5C,OAA6B,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAsB5F,UAAU,aAAa;IACrB,QAAQ,EAAE,GAAG,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,eAAO,MAAM,YAAY,oDAA2D,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0PhG,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { type Locker } from '@stake-dao/constants';
2
+ export declare const parsePeg: (locker: Locker, chunkedRawLockersData: any) => string;
3
+ //# sourceMappingURL=parsePeg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsePeg.d.ts","sourceRoot":"","sources":["../../../../src/lockers/fetch/parsePeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAGlD,eAAO,MAAM,QAAQ,WAAY,MAAM,yBAAyB,GAAG,WAqBlE,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { type Locker } from '@stake-dao/constants';
2
+ export declare const parseVoteBoosterData: (locker: Locker, chunkedRawLockersData: any) => {
3
+ booster: `0x${string}`;
4
+ vSdToken: `0x${string}`;
5
+ balance: {
6
+ token: string;
7
+ sdToken: string;
8
+ staked: string;
9
+ working: string;
10
+ };
11
+ boost: number;
12
+ } | undefined;
13
+ //# sourceMappingURL=parseVoteBoosterData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseVoteBoosterData.d.ts","sourceRoot":"","sources":["../../../../src/lockers/fetch/parseVoteBoosterData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAIlD,eAAO,MAAM,oBAAoB,WAAY,MAAM,yBAAyB,GAAG;;;;;;;;;;aA6B9E,CAAA"}
@@ -1,3 +1,4 @@
1
- declare const depositorCalls: (depositor: string, locker: string) => any[];
1
+ import type { Address } from 'viem';
2
+ declare const depositorCalls: (depositor: string, locker: Address) => any[];
2
3
  export default depositorCalls;
3
4
  //# sourceMappingURL=depositorCalls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"depositorCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/depositorCalls.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,cAAc,cAAe,MAAM,UAAU,MAAM,UAoBxD,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"depositorCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/depositorCalls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,QAAA,MAAM,cAAc,cAAe,MAAM,UAAU,OAAO,UAoBzD,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -1,4 +1,6 @@
1
- export declare const feeCalls: (lockerId: string, accumulatorAddress: string) => any[];
1
+ import { type Address } from 'viem';
2
+ import type { Call } from '../../../utils.js';
3
+ export declare const feeCalls: (lockerId: string, accumulatorAddress: Address) => Call[];
2
4
  export interface ILockerFee {
3
5
  lockerId: string;
4
6
  claimerFee: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"feeCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/feeCalls.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,aAAc,MAAM,sBAAsB,MAAM,UAoCpE,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,WAAW,YAAa,GAAG,YAAY,GAAG,KAAG,UAAU,EAkEnE,CAAA"}
1
+ {"version":3,"file":"feeCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/feeCalls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAe,MAAM,MAAM,CAAA;AAEhD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,eAAO,MAAM,QAAQ,aAAc,MAAM,sBAAsB,OAAO,WAoCrE,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,WAAW,YAAa,GAAG,YAAY,GAAG,KAAG,UAAU,EAoEnE,CAAA"}
@@ -1,3 +1,4 @@
1
- declare const callsForLockers: (lockerId: string, token: string, sdToken: string, votingEscrow: string, depositor: string, gaugeController: string, gauge: string, locker: string, pool: string, pegInfo: any, secondaryMarket: string, voteBooster: any) => any[];
1
+ import { type LockerSecondaryMarket } from '@stake-dao/constants';
2
+ declare const callsForLockers: (lockerId: string, token: string, sdToken: string, votingEscrow: string, depositor: string, gauge: string, locker: string, secondaryMarket: LockerSecondaryMarket | undefined, voteBooster: any) => any[];
2
3
  export default callsForLockers;
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/index.ts"],"names":[],"mappings":"AAUA,QAAA,MAAM,eAAe,aACT,MAAM,SACT,MAAM,WACJ,MAAM,gBACD,MAAM,aACT,MAAM,mBACA,MAAM,SAChB,MAAM,UACL,MAAM,QACR,MAAM,WACH,GAAG,mBACK,MAAM,eACV,GAAG,UAmBjB,CAAA;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAU5E,QAAA,MAAM,eAAe,aACT,MAAM,SACT,MAAM,WACJ,MAAM,gBACD,MAAM,aACT,MAAM,SACV,MAAM,UACL,MAAM,mBACG,qBAAqB,GAAG,SAAS,eACrC,GAAG,UAkBjB,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -1,11 +1,12 @@
1
- declare const pegCalls: (secondaryMarket: string, pool: string, pegInfo: any, sdToken: string, token: string) => {
1
+ import { type LockerSecondaryMarket } from '@stake-dao/constants';
2
+ declare const pegCalls: (secondaryMarket: LockerSecondaryMarket | undefined, sdToken: string, token: string) => {
2
3
  address: string | undefined;
3
4
  name: string;
4
5
  params: (bigint | string[] | (boolean | "0x0000000000000000000000000000000000000000")[] | (string | bigint)[][])[];
5
6
  } | {
6
7
  address: string | undefined;
7
8
  name: string;
8
- params: (string | bigint | boolean)[];
9
+ params: (bigint | boolean | `0x${string}`)[];
9
10
  } | {
10
11
  address: string | undefined;
11
12
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pegCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/pegCalls.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,QAAQ,oBAAqB,MAAM,QAAQ,MAAM,WAAW,GAAG,WAAW,MAAM,SAAS,MAAM;;;;;;;;;;;;CAgCpG,CAAA;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"pegCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/pegCalls.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,qBAAqB,EAAa,MAAM,sBAAsB,CAAA;AAG5E,QAAA,MAAM,QAAQ,oBAAqB,qBAAqB,GAAG,SAAS,WAAW,MAAM,SAAS,MAAM;;;;;;;;;;;;CA+BnG,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -1,3 +1,4 @@
1
- declare const veCalls: (lockerId: string, votingEscrow: string, locker: string, token: string) => any[];
1
+ import type { Address } from 'viem';
2
+ declare const veCalls: (lockerId: string, votingEscrow: string, locker: Address, token: string) => any[];
2
3
  export default veCalls;
3
4
  //# sourceMappingURL=veCalls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"veCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/veCalls.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,OAAO,aAAc,MAAM,gBAAgB,MAAM,UAAU,MAAM,SAAS,MAAM,UAwBrF,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"veCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/veCalls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC,QAAA,MAAM,OAAO,aAAc,MAAM,gBAAgB,MAAM,UAAU,OAAO,SAAS,MAAM,UAwBtF,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -1,3 +1,3 @@
1
- export declare const SDCAKE_AIRDROP_GRAPH_URL = "https://subgraph.satsuma-prod.com/76af23d9dd04/0xs-team--971274/sdcake-airdrop/api";
2
- export declare const SDCAKE_AIRDROP_GLOBAL_QUERY: string;
1
+ export declare const SDCAKE_CHERRIES_API_URL = "https://api.stakedao.org/api/cherries/";
2
+ export declare const SDCAKE_REFERRAL_SNAPSHOT_CHERRIES_API_URL = "https://api.stakedao.org/api/cherries/referralSnapshot.json";
3
3
  //# sourceMappingURL=endpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/endpoints.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB,uFACiD,CAAA;AAEtF,eAAO,MAAM,2BAA2B,QAmBvC,CAAA"}
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/endpoints.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,2CAA2C,CAAA;AAC/E,eAAO,MAAM,yCAAyC,gEAAgE,CAAA"}
@@ -1,18 +1,16 @@
1
+ export type TBribesRewards = {
2
+ bribeMinApr: number;
3
+ bribeMaxApr: number;
4
+ bribeAverageApr: number;
5
+ minBoost: string;
6
+ maxBoost: string;
7
+ token: string;
8
+ hideBoostTab?: boolean;
9
+ };
1
10
  declare const getBribesRewardsData: (locker: any, bribesData: any, veSdtTotalSupply: any, totalSupplyStaked: any, veBalanceOfLocker: any, gaugeWorkingSupply: any) => {
2
11
  bribeMinApr: number;
3
12
  bribeMaxApr: number;
4
- bribeRewards: {
5
- bribeMinApr: number;
6
- bribeMaxApr: number;
7
- bribeAverageApr: number;
8
- average: {
9
- id: string;
10
- value: number;
11
- }[];
12
- minBoost: string;
13
- maxBoost: string;
14
- token: string;
15
- } | undefined;
13
+ bribeRewards: TBribesRewards | undefined;
16
14
  };
17
15
  export default getBribesRewardsData;
18
16
  //# sourceMappingURL=getBribesRewardsData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBribesRewardsData.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/getBribesRewardsData.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,oBAAoB,WAChB,GAAG,cACC,GAAG,oBACG,GAAG,qBACF,GAAG,qBACH,GAAG,sBACF,GAAG;;;;;;;;;;;;;;;CAgDxB,CAAA;AAED,eAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"getBribesRewardsData.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/getBribesRewardsData.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,QAAA,MAAM,oBAAoB,WAChB,GAAG,cACC,GAAG,oBACG,GAAG,qBACF,GAAG,qBACH,GAAG,sBACF,GAAG,KACtB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,cAAc,GAAG,SAAS,CAAA;CA8CtF,CAAA;AAED,eAAe,oBAAoB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const getCherriesLeaderBoard: () => Promise<any>;
2
+ export declare const getUserSnapshotCherries: () => Promise<any>;
3
+ export declare const getUserCherries: (cherriesData: any, userAddress: string) => any;
4
+ //# sourceMappingURL=getCherries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCherries.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/getCherries.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,sBAAsB,oBA+BlC,CAAA;AAED,eAAO,MAAM,uBAAuB,oBAGnC,CAAA;AAED,eAAO,MAAM,eAAe,iBAAkB,GAAG,eAAe,MAAM,QAErE,CAAA"}
@@ -6,6 +6,10 @@ declare const getHttpCalls: (chainId: number) => Promise<{
6
6
  bribesData: any;
7
7
  fpisBribesData?: undefined;
8
8
  cvgAprs?: undefined;
9
- } | undefined>;
9
+ } | {
10
+ bribesData?: undefined;
11
+ fpisBribesData?: undefined;
12
+ cvgAprs?: undefined;
13
+ }>;
10
14
  export default getHttpCalls;
11
15
  //# sourceMappingURL=getHttpCalls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getHttpCalls.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/getHttpCalls.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,YAAY,YAAmB,MAAM;;;;;;;;cAkD1C,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"getHttpCalls.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/getHttpCalls.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,YAAY,YAAmB,MAAM;;;;;;;;;;;;EAiD1C,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const GAUGES_CHUNK_SIZE = 90;
2
+ export declare const GAUGES_METADATA_CHUNK_SIZE = 10;
3
+ export declare const BROKEN_GAUGES: string[];
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAE5C,eAAO,MAAM,aAAa,UAEzB,CAAA"}
@@ -0,0 +1,16 @@
1
+ export type Gauge = {
2
+ gauge: string;
3
+ inflationRate: string;
4
+ relativeWeight: string;
5
+ futureRelativeWeight: string;
6
+ };
7
+ export type GaugesData = {
8
+ totalGaugesWeight: string;
9
+ gauges: Gauge[];
10
+ };
11
+ type Rpcs = {
12
+ [chainId: number]: string;
13
+ };
14
+ export declare const fetchCurveGauges: (rpc: Rpcs) => Promise<GaugesData>;
15
+ export {};
16
+ //# sourceMappingURL=fetchCurveGauges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchCurveGauges.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchCurveGauges.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAE,CAAA;AAEvE,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAe,IAAI,KAAG,OAAO,CAAC,UAAU,CAgGpE,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stake-dao/reader",
3
3
  "description": "",
4
- "version": "0.2.21",
4
+ "version": "0.3.1",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",
@@ -35,7 +35,7 @@
35
35
  "graphql-request": "^6.0.0",
36
36
  "lodash-es": "^4.17.21",
37
37
  "viem": "^2.9.31",
38
- "@stake-dao/constants": "0.2.1"
38
+ "@stake-dao/constants": "0.3.0"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/lodash-es": "^4.17.12"
@@ -291,6 +291,23 @@ const lockersMulticallAbi = [
291
291
  stateMutability: 'view',
292
292
  type: 'function',
293
293
  },
294
+ {
295
+ inputs: [],
296
+ name: 'getFeeSplit',
297
+ outputs: [
298
+ {
299
+ components: [
300
+ { internalType: 'address[]', name: 'receivers', type: 'address[]' },
301
+ { internalType: 'uint256[]', name: 'fees', type: 'uint256[]' },
302
+ ],
303
+ internalType: 'struct AccumulatorV2.Split',
304
+ name: '',
305
+ type: 'tuple',
306
+ },
307
+ ],
308
+ stateMutability: 'view',
309
+ type: 'function',
310
+ },
294
311
  ]
295
312
 
296
313
  export default lockersMulticallAbi
@@ -1,5 +1,11 @@
1
+ ////////////////////////////////////////////////////////////////
2
+ /// --- GLOBAL
3
+ ///////////////////////////////////////////////////////////////
1
4
  export { default as batchTokenData } from './tokenData.js'
2
5
 
6
+ ////////////////////////////////////////////////////////////////
7
+ /// --- STATEGIES
8
+
3
9
  export { default as batchSdtGaugeRewards } from './strategies/sdtGaugeRewards.js'
4
10
  export { default as fetchYearnGauges } from './strategies/fetchYearnGauges.js'
5
11
 
@@ -17,3 +23,15 @@ export { default as batchPendleStrats } from './strategies/batches/batchPendleSt
17
23
  export { default as batchPancakeSwapStrats } from './strategies/batches/batchPancakeswapStrats.js'
18
24
  export { default as batchPancakeSwapErc20Strats } from './strategies/batches/batchPancakeSwapErc20Strats.js'
19
25
  export { default as batchPancakeSwapPositions } from './strategies/batches/batchPancakeSwapPositions.js'
26
+
27
+ /// --- END STATEGIES
28
+ ///////////////////////////////////////////////////////////////
29
+
30
+ ////////////////////////////////////////////////////////////////
31
+ /// --- VOTEMARKET
32
+
33
+ export { default as batchCurveGauges } from './votemarket/batchCurveGauges.js'
34
+ export { default as batchGaugesMetadata } from './votemarket/batchGaugesMetadata.js'
35
+
36
+ /// --- END VOTEMARKET
37
+ ///////////////////////////////////////////////////////////////