@stake-dao/reader 0.5.2 → 0.5.4

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 (61) hide show
  1. package/dist/esm/abis/lockersMulticall.js +27 -4
  2. package/dist/esm/abis/lockersMulticall.js.map +1 -1
  3. package/dist/esm/bytecodes/votemarket/batchYbUserVotes.js +39 -0
  4. package/dist/esm/bytecodes/votemarket/batchYbUserVotes.js.map +1 -0
  5. package/dist/esm/bytecodes/votemarket/batchYbVotes.js +13 -0
  6. package/dist/esm/bytecodes/votemarket/batchYbVotes.js.map +1 -0
  7. package/dist/esm/index.js +5 -1
  8. package/dist/esm/index.js.map +1 -1
  9. package/dist/esm/lockers/fetch/parse.js +1 -0
  10. package/dist/esm/lockers/fetch/parse.js.map +1 -1
  11. package/dist/esm/lockers/fetch/protocols/balancer.js +3 -0
  12. package/dist/esm/lockers/fetch/protocols/balancer.js.map +1 -1
  13. package/dist/esm/prices.js +4 -0
  14. package/dist/esm/prices.js.map +1 -1
  15. package/dist/esm/strategies/v2/parse.js +2 -1
  16. package/dist/esm/strategies/v2/parse.js.map +1 -1
  17. package/dist/esm/votemarket/fetchClaimableData.js +1 -1
  18. package/dist/esm/votemarket/fetchEpochVotes.js +13 -4
  19. package/dist/esm/votemarket/fetchEpochVotes.js.map +1 -1
  20. package/dist/esm/votemarket/generateProofs/config.js +6 -0
  21. package/dist/esm/votemarket/generateProofs/config.js.map +1 -1
  22. package/dist/esm/votemarket/generateProofs/getGaugeProof.js +5 -0
  23. package/dist/esm/votemarket/generateProofs/getGaugeProof.js.map +1 -1
  24. package/dist/esm/votemarket/generateProofs/getUserProof.js +13 -2
  25. package/dist/esm/votemarket/generateProofs/getUserProof.js.map +1 -1
  26. package/dist/esm/votemarket/yb/fetchYbUserVotes.js +42 -0
  27. package/dist/esm/votemarket/yb/fetchYbUserVotes.js.map +1 -0
  28. package/dist/types/abis/lockersMulticall.d.ts.map +1 -1
  29. package/dist/types/bytecodes/votemarket/batchYbUserVotes.d.ts +4 -0
  30. package/dist/types/bytecodes/votemarket/batchYbUserVotes.d.ts.map +1 -0
  31. package/dist/types/bytecodes/votemarket/batchYbVotes.d.ts +4 -0
  32. package/dist/types/bytecodes/votemarket/batchYbVotes.d.ts.map +1 -0
  33. package/dist/types/index.d.ts +4 -1
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/types/lockers/fetch/parse.d.ts +1 -0
  36. package/dist/types/lockers/fetch/parse.d.ts.map +1 -1
  37. package/dist/types/lockers/fetch/protocols/balancer.d.ts.map +1 -1
  38. package/dist/types/prices.d.ts.map +1 -1
  39. package/dist/types/strategies/v2/parse.d.ts.map +1 -1
  40. package/dist/types/votemarket/fetchEpochVotes.d.ts.map +1 -1
  41. package/dist/types/votemarket/generateProofs/config.d.ts +6 -0
  42. package/dist/types/votemarket/generateProofs/config.d.ts.map +1 -1
  43. package/dist/types/votemarket/generateProofs/getGaugeProof.d.ts.map +1 -1
  44. package/dist/types/votemarket/generateProofs/getUserProof.d.ts.map +1 -1
  45. package/dist/types/votemarket/yb/fetchYbUserVotes.d.ts +16 -0
  46. package/dist/types/votemarket/yb/fetchYbUserVotes.d.ts.map +1 -0
  47. package/package.json +1 -1
  48. package/src/abis/lockersMulticall.ts +27 -4
  49. package/src/bytecodes/votemarket/batchYbUserVotes.ts +41 -0
  50. package/src/bytecodes/votemarket/batchYbVotes.ts +15 -0
  51. package/src/index.ts +6 -1
  52. package/src/lockers/fetch/parse.ts +2 -0
  53. package/src/lockers/fetch/protocols/balancer.ts +3 -0
  54. package/src/prices.ts +4 -0
  55. package/src/strategies/v2/parse.ts +2 -1
  56. package/src/votemarket/fetchClaimableData.ts +1 -1
  57. package/src/votemarket/fetchEpochVotes.ts +14 -4
  58. package/src/votemarket/generateProofs/config.ts +6 -0
  59. package/src/votemarket/generateProofs/getGaugeProof.ts +8 -0
  60. package/src/votemarket/generateProofs/getUserProof.ts +15 -2
  61. package/src/votemarket/yb/fetchYbUserVotes.ts +61 -0
@@ -1 +1 @@
1
- {"version":3,"file":"getUserProof.js","sourceRoot":"","sources":["../../../../src/votemarket/generateProofs/getUserProof.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getUserProof.js","sourceRoot":"","sources":["../../../../src/votemarket/generateProofs/getUserProof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AACtG,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAMtD,4CAA4C;AAC5C,SAAS,oBAAoB,CAAC,IAAmB,EAAE,KAAoB,EAAE,QAAgB;IACvF,MAAM,WAAW,GAAG,SAAS,CAC3B,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAC1F,CAAA;IACD,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;AACzG,CAAC;AAED,uDAAuD;AACvD,SAAS,uBAAuB,CAAC,IAAmB,EAAE,KAAoB,EAAE,QAAgB;IAC1F,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC7D,OAAO,MAAM,CAAC,SAAS,CAAC,CAAA;AAC1B,CAAC;AAED,kEAAkE;AAClE,SAAS,iCAAiC,CAAC,IAAmB,EAAE,KAAoB,EAAE,QAAgB;IACpG,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IACpE,MAAM,SAAS,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAC3F,OAAO,MAAM,CAAC,SAAS,CAAC,CAAA;AAC1B,CAAC;AAED,uCAAuC;AACvC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAS,EACT,QAAgB,EAChB,YAA2B,EAC3B,IAAmB,EACnB,WAAmB;IAEnB,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KACjC,CAAC,CAAA;IAEF,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAA;IACzF,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAA;IAE3F,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAA;IAE1F,MAAM,iBAAiB,GAAwB;QAC7C,KAAK,EAAE,iCAAiC;QACxC,OAAO,EAAE,uBAAuB;KACjC,CAAA;IAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAA;IAC5E,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAA;IAEhF,IAAI,uBAAuB,GAAG,CAAC,EAAE,CAAC,CAAA;IAClC,QAAQ,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/B,KAAK,IAAI;YACP,uBAAuB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAClC,MAAK;QACP;YACE,uBAAuB,GAAG,CAAC,EAAE,CAAC,CAAA;YAC9B,MAAK;IACT,CAAC;IAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAA;IAE5C,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAElE,KAAK,MAAM,sBAAsB,IAAI,uBAAuB,EAAE,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC;QACxC,OAAO,EAAE,wBAAwB,CAAC,gBAAgB,CAAC,QAAQ,CAAkB;QAC7E,WAAW,EAAE,KAAK;QAClB,WAAW;KACZ,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACrE,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAE/C,MAAM,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3F,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAE/C,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;AACrC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { contracts } from '@stake-dao/constants';
2
+ import { encodeAbiParameters, formatUnits, parseAbiParameters, zeroAddress } from 'viem';
3
+ import { mainnet } from 'viem/chains';
4
+ import batchYbUserVotes from '../../bytecodes/votemarket/batchYbUserVotes.js';
5
+ import { concatBytecode } from '../../index.js';
6
+ import { batchJsonRpc, equalTlc } from '../../utils.js';
7
+ export const fetchYbUserVotes = async (rpc, user) => {
8
+ const calls = [
9
+ concatBytecode(batchYbUserVotes.bytecode[mainnet.id], encodeAbiParameters(parseAbiParameters(batchYbUserVotes.inputType[mainnet.id]), [
10
+ user,
11
+ contracts.ybGaugeController[1],
12
+ contracts.veYB[1],
13
+ ])),
14
+ ];
15
+ const rawVotes = await batchJsonRpc({
16
+ rpc,
17
+ calls,
18
+ outputTypeAbi: batchYbUserVotes.outputType[mainnet.id],
19
+ parse: false,
20
+ callsKey: `votemarket/yb/fetchYbUserVotes.ts: rawGauges - chainId ${mainnet.id} - rpc ${rpc}`,
21
+ });
22
+ const veBalance = rawVotes[0].veBalance;
23
+ const votes = rawVotes[0].votes
24
+ .filter((rv) => !equalTlc(rv.gauge, zeroAddress))
25
+ .map((v) => ({
26
+ gauge: v.gauge,
27
+ slope: formatUnits(v.slope, 0),
28
+ relativeWeight: Number(v.power) / 100,
29
+ weight: formatUnits((veBalance * BigInt(v.power)) / BigInt(10000), 18),
30
+ start: Number(v.start),
31
+ end: Number(v.end),
32
+ }));
33
+ const unusedRelativeWeight = 10000 - votes.reduce((total, x) => total + x.relativeWeight * 100, 0);
34
+ const unusedVeBalance = (veBalance * BigInt(unusedRelativeWeight)) / BigInt(10000);
35
+ return {
36
+ veBalance: formatUnits(veBalance, 18),
37
+ unusedVeBalance: formatUnits(unusedVeBalance, 18),
38
+ unusedRelativeWeight: unusedRelativeWeight / 100,
39
+ votes,
40
+ };
41
+ };
42
+ //# sourceMappingURL=fetchYbUserVotes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchYbUserVotes.js","sourceRoot":"","sources":["../../../../src/votemarket/yb/fetchYbUserVotes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,gBAAgB,MAAM,gDAAgD,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAavD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAW,EAAE,IAAY,EAA2B,EAAE;IAC3F,MAAM,KAAK,GAAG;QACZ,cAAc,CACZ,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAE,EACtC,mBAAmB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAE,CAAQ,EAAE;YACtF,IAAI;YACJ,SAAS,CAAC,iBAAkB,CAAC,CAAC,CAAE;YAChC,SAAS,CAAC,IAAK,CAAC,CAAC,CAAE;SACpB,CAAC,CACH;KACF,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC;QAClC,GAAG;QACH,KAAK;QACL,aAAa,EAAE,gBAAgB,CAAC,UAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,0DAA0D,OAAO,CAAC,EAAE,UAAU,GAAG,EAAE;KAC9F,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEvC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;SAC5B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;SAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9B,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG;QACrC,MAAM,EAAE,WAAW,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACtE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;KACnB,CAAC,CAAC,CAAA;IAEL,MAAM,oBAAoB,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,CAAC,CAAA;IAClG,MAAM,eAAe,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAElF,OAAO;QACL,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;QACrC,eAAe,EAAE,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC;QACjD,oBAAoB,EAAE,oBAAoB,GAAG,GAAG;QAChD,KAAK;KACN,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"lockersMulticall.d.ts","sourceRoot":"","sources":["../../../src/abis/lockersMulticall.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0ZxB,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"lockersMulticall.d.ts","sourceRoot":"","sources":["../../../src/abis/lockersMulticall.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAibxB,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { BatchMetaData } from '../types.js';
2
+ declare const batchYbUserVotes: BatchMetaData;
3
+ export default batchYbUserVotes;
4
+ //# sourceMappingURL=batchYbUserVotes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchYbUserVotes.d.ts","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchYbUserVotes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,QAAA,MAAM,gBAAgB,EAAE,aAoCvB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { BatchMetaData } from '../types.js';
2
+ declare const batchYbVotes: BatchMetaData;
3
+ export default batchYbVotes;
4
+ //# sourceMappingURL=batchYbVotes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchYbVotes.d.ts","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchYbVotes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,QAAA,MAAM,YAAY,EAAE,aAUnB,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1,4 +1,6 @@
1
- export { getPricesFromLlama, getPricesFromGeckoTerminal, getPrices, findPrice, type Price } from './prices.js';
1
+ export { getLlamaTokenPrefix, getPricesFromLlama } from './prices.js';
2
+ export { getGeckoTerminalTokenPrefix, getPricesFromGeckoTerminal } from './prices.js';
3
+ export { getPrices, findPrice, type Price } from './prices.js';
2
4
  export * from './sdt.js';
3
5
  export * from './tokens.js';
4
6
  export { rpcGetLastBlockTimetstamp, rpcCall, batchJsonRpc, ethGetTxsReceipts } from './utils.js';
@@ -45,6 +47,7 @@ export { fetchSnapshotUserData, getStakeDaoSnapshotSpace } from './votemarket/cu
45
47
  export { fetchBalancerUserVotes } from './votemarket/balancer/fetchBalancerUserVotes.js';
46
48
  export { fetchFxnUserVotes } from './votemarket/fxn/fetchFxnUserVotes.js';
47
49
  export { fetchPendleUserVotes } from './votemarket/pendle/fetchPendleUserVotes.js';
50
+ export { fetchYbUserVotes } from './votemarket/yb/fetchYbUserVotes.js';
48
51
  export { fetchEpochsVotes } from './votemarket/fetchEpochVotes.js';
49
52
  export { fetchClaimableData } from './votemarket/fetchClaimableData.js';
50
53
  export { fetchNeededCampaignUpdate } from './votemarket/fetchNeededCampaignUpdate.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export interface RawLockersData {
22
22
  peg: string;
23
23
  rewards: any[];
24
24
  veBoost?: {
25
+ totalDelegated?: string;
25
26
  delegated: string;
26
27
  weeklyRewards: string[];
27
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/lockers/fetch/parse.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,eAAO,MAAM,oBAAoB,WAAY,MAAM,eAAe,GAAG;;;;;CAYpE,CAAA;AAED,eAAO,MAAM,QAAQ,WAAY,MAAM,UAAU,GAAG,WAOnD,CAAA;AAED,eAAO,MAAM,cAAc,WAAY,MAAM,UAAU,GAAG,QA4BzD,CAAA;AAED,eAAO,MAAM,eAAe,kBAAmB,GAAG,mBAAmB,MAAM,yBAAyB,MAAM,WAuBzG,CAAA;AAED,eAAO,MAAM,eAAe,6CAkB3B,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,GAAG,EAAE,CAAA;IACd,OAAO,CAAC,EAAE;QACR,SAAS,EAAE,MAAM,CAAA;QACjB,aAAa,EAAE,MAAM,EAAE,CAAA;KACxB,CAAA;IACD,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,GAAG,CAAA;IACX,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE;QACN,UAAU,EAAE;YAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;QACxC,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,MAAM,EAAE,GAAG,EAAE,CAAA;CACd;AAED,eAAO,MAAM,KAAK,oCAA2C,YAAY,iBAmHxE,CAAA"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/lockers/fetch/parse.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,eAAO,MAAM,oBAAoB,WAAY,MAAM,eAAe,GAAG;;;;;CAYpE,CAAA;AAED,eAAO,MAAM,QAAQ,WAAY,MAAM,UAAU,GAAG,WAOnD,CAAA;AAED,eAAO,MAAM,cAAc,WAAY,MAAM,UAAU,GAAG,QA4BzD,CAAA;AAED,eAAO,MAAM,eAAe,kBAAmB,GAAG,mBAAmB,MAAM,yBAAyB,MAAM,WAuBzG,CAAA;AAED,eAAO,MAAM,eAAe,6CAkB3B,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,GAAG,EAAE,CAAA;IACd,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,SAAS,EAAE,MAAM,CAAA;QACjB,aAAa,EAAE,MAAM,EAAE,CAAA;KACxB,CAAA;IACD,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,GAAG,CAAA;IACX,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE;QACN,UAAU,EAAE;YAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;QACxC,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,MAAM,EAAE,GAAG,EAAE,CAAA;CACd;AAED,eAAO,MAAM,KAAK,oCAA2C,YAAY,iBAoHxE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"balancer.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/fetch/protocols/balancer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,eAAO,MAAM,MAAM,EAAE,MAkEpB,CAAA;AAED,QAAA,MAAM,cAAc,iCAAwC;IAAE,QAAQ,MAAC;IAAC,MAAM,MAAC;IAAC,MAAM,MAAA;CAAE,iBAoHvF,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"balancer.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/fetch/protocols/balancer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,eAAO,MAAM,MAAM,EAAE,MAkEpB,CAAA;AAED,QAAA,MAAM,cAAc,iCAAwC;IAAE,QAAQ,MAAC;IAAC,MAAM,MAAC;IAAC,MAAM,MAAA;CAAE,iBAuHvF,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../src/prices.ts"],"names":[],"mappings":"AAOA,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,MA2BjD,CAAA;AAED,eAAO,MAAM,kBAAkB,WAAkB,GAAG,EAAE,wCAAmC,GAAG,KAAG,OAAO,CAAC,KAAK,EAAE,CAgC7G,CAAA;AAED,eAAO,MAAM,kBAAkB,YAAmB,MAAM,iBAKvD,CAAA;AAED,eAAO,MAAM,2BAA2B,wBAAkB,MA2BzD,CAAA;AAED,eAAO,MAAM,0BAA0B,WAC7B,GAAG,EAAE,wCAEO,GAAG,KACtB,OAAO,CAAC,KAAK,EAAE,CA4BjB,CAAA;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,SAAS,WAAkB,YAAY,EAAE,uBAAgB,OAAO,CAAC,KAAK,EAAE,CAmBpF,CAAA;AAED,eAAO,MAAM,WAAW,eAAsB,KAAK,EAAE,UAAU,YAAY,EAAE,uBAAgB,OAAO,CAAC,KAAK,EAAE,CAO3G,CAAA;AAED,eAAO,MAAM,SAAS,WAAY,KAAK,EAAE,gBAAgB,MAAM,KAAG,MAEjE,CAAA"}
1
+ {"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../src/prices.ts"],"names":[],"mappings":"AAOA,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,MA6BjD,CAAA;AAED,eAAO,MAAM,kBAAkB,WAAkB,GAAG,EAAE,wCAAmC,GAAG,KAAG,OAAO,CAAC,KAAK,EAAE,CAgC7G,CAAA;AAED,eAAO,MAAM,kBAAkB,YAAmB,MAAM,iBAKvD,CAAA;AAED,eAAO,MAAM,2BAA2B,wBAAkB,MA6BzD,CAAA;AAED,eAAO,MAAM,0BAA0B,WAC7B,GAAG,EAAE,wCAEO,GAAG,KACtB,OAAO,CAAC,KAAK,EAAE,CA4BjB,CAAA;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,SAAS,WAAkB,YAAY,EAAE,uBAAgB,OAAO,CAAC,KAAK,EAAE,CAmBpF,CAAA;AAED,eAAO,MAAM,WAAW,eAAsB,KAAK,EAAE,UAAU,YAAY,EAAE,uBAAgB,OAAO,CAAC,KAAK,EAAE,CAO3G,CAAA;AAED,eAAO,MAAM,SAAS,WAAY,KAAK,EAAE,gBAAgB,MAAM,KAAG,MAEjE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/strategies/v2/parse.ts"],"names":[],"mappings":"AAsCA,eAAO,MAAM,aAAa,WAAY,GAAG,aAAa,GAAG,EAAE,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8KtE,CAAA"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/strategies/v2/parse.ts"],"names":[],"mappings":"AAuCA,eAAO,MAAM,aAAa,WAAY,GAAG,aAAa,GAAG,EAAE,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8KtE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchEpochVotes.d.ts","sourceRoot":"","sources":["../../../src/votemarket/fetchEpochVotes.ts"],"names":[],"mappings":"AAUA,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAe,IAAI,mBAAmB,MAAM,QAAQ,MAAM,UAAU,MAAM,EAAE;;;IAwDxG,CAAA"}
1
+ {"version":3,"file":"fetchEpochVotes.d.ts","sourceRoot":"","sources":["../../../src/votemarket/fetchEpochVotes.ts"],"names":[],"mappings":"AAYA,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAe,IAAI,mBAAmB,MAAM,QAAQ,MAAM,UAAU,MAAM,EAAE;;;IAgExG,CAAA"}
@@ -20,12 +20,18 @@ export declare const GaugeControllerConstants: {
20
20
  lastUserVote: number;
21
21
  voteUserSlope: number;
22
22
  };
23
+ yb: {
24
+ pointWeights: number;
25
+ lastUserVote: number;
26
+ voteUserSlope: number;
27
+ };
23
28
  };
24
29
  GAUGE_CONTROLLER: {
25
30
  curve: string;
26
31
  balancer: string;
27
32
  frax: string;
28
33
  fxn: string;
34
+ yb: string;
29
35
  };
30
36
  };
31
37
  export declare const BLOCK_HEADER: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/generateProofs/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BpC,CAAA;AAED,eAAO,MAAM,YAAY,UAsBxB,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/generateProofs/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCpC,CAAA;AAED,eAAO,MAAM,YAAY,UAsBxB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getGaugeProof.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/generateProofs/getGaugeProof.ts"],"names":[],"mappings":"AAIA,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAwBD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,IAAI,EACT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,KAAK,MAAM,EAAE,EAC3B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAsC3B"}
1
+ {"version":3,"file":"getGaugeProof.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/generateProofs/getGaugeProof.ts"],"names":[],"mappings":"AAIA,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AA+BD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,IAAI,EACT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,KAAK,MAAM,EAAE,EAC3B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAuC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"getUserProof.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/generateProofs/getUserProof.ts"],"names":[],"mappings":"AAIA,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAwBD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,IAAI,EACT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,KAAK,MAAM,EAAE,EAC3B,IAAI,EAAE,KAAK,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqC3B"}
1
+ {"version":3,"file":"getUserProof.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/generateProofs/getUserProof.ts"],"names":[],"mappings":"AAIA,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAwBD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,IAAI,EACT,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,KAAK,MAAM,EAAE,EAC3B,IAAI,EAAE,KAAK,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkD3B"}
@@ -0,0 +1,16 @@
1
+ export type Vote = {
2
+ gauge: string;
3
+ slope: string;
4
+ relativeWeight: number;
5
+ weight: number;
6
+ start: number;
7
+ end: number;
8
+ };
9
+ export type GaugesUserData = {
10
+ veBalance: string;
11
+ unusedVeBalance: string;
12
+ unusedRelativeWeight: number;
13
+ votes: Vote[];
14
+ };
15
+ export declare const fetchYbUserVotes: (rpc: string, user: string) => Promise<GaugesUserData>;
16
+ //# sourceMappingURL=fetchYbUserVotes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchYbUserVotes.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/yb/fetchYbUserVotes.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,IAAI,GAAG;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,CAAA;AAExH,eAAO,MAAM,gBAAgB,QAAe,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,cAAc,CA0CxF,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stake-dao/reader",
3
3
  "description": "",
4
- "version": "0.5.2",
4
+ "version": "0.5.4",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",
@@ -244,7 +244,11 @@ const lockersMulticallAbi = (lockerId = '', chainId = 1) => [
244
244
  components: [
245
245
  { internalType: 'address', name: 'sender', type: 'address' },
246
246
  { internalType: 'bool', name: 'fromInternalBalance', type: 'bool' },
247
- { internalType: 'address payable', name: 'recipient', type: 'address' },
247
+ {
248
+ internalType: 'address payable',
249
+ name: 'recipient',
250
+ type: 'address',
251
+ },
248
252
  { internalType: 'bool', name: 'toInternalBalance', type: 'bool' },
249
253
  ],
250
254
  internalType: 'struct IVault.FundManagement',
@@ -339,7 +343,11 @@ const lockersMulticallAbi = (lockerId = '', chainId = 1) => [
339
343
  { internalType: 'address', name: 'tokenOut', type: 'address' },
340
344
  { internalType: 'uint256', name: 'amountIn', type: 'uint256' },
341
345
  { internalType: 'uint24', name: 'fee', type: 'uint24' },
342
- { internalType: 'uint160', name: 'sqrtPriceLimitX96', type: 'uint160' },
346
+ {
347
+ internalType: 'uint160',
348
+ name: 'sqrtPriceLimitX96',
349
+ type: 'uint160',
350
+ },
343
351
  ],
344
352
  internalType: 'struct IQuoterV2.QuoteExactInputSingleParams',
345
353
  name: 'params',
@@ -350,7 +358,11 @@ const lockersMulticallAbi = (lockerId = '', chainId = 1) => [
350
358
  outputs: [
351
359
  { internalType: 'uint256', name: 'amountOut', type: 'uint256' },
352
360
  { internalType: 'uint160', name: 'sqrtPriceX96After', type: 'uint160' },
353
- { internalType: 'uint32', name: 'initializedTicksCrossed', type: 'uint32' },
361
+ {
362
+ internalType: 'uint32',
363
+ name: 'initializedTicksCrossed',
364
+ type: 'uint32',
365
+ },
354
366
  { internalType: 'uint256', name: 'gasEstimate', type: 'uint256' },
355
367
  ],
356
368
  stateMutability: 'view',
@@ -387,7 +399,11 @@ const lockersMulticallAbi = (lockerId = '', chainId = 1) => [
387
399
  outputs: [
388
400
  {
389
401
  components: [
390
- { internalType: 'address[]', name: 'receivers', type: 'address[]' },
402
+ {
403
+ internalType: 'address[]',
404
+ name: 'receivers',
405
+ type: 'address[]',
406
+ },
391
407
  { internalType: 'uint256[]', name: 'fees', type: 'uint256[]' },
392
408
  ],
393
409
  internalType: 'struct AccumulatorV2.Split',
@@ -408,6 +424,13 @@ const lockersMulticallAbi = (lockerId = '', chainId = 1) => [
408
424
  stateMutability: 'view',
409
425
  type: 'function',
410
426
  },
427
+ {
428
+ inputs: [{ name: '_user', type: 'address' }],
429
+ name: 'received_balance',
430
+ outputs: [{ name: '', type: 'uint256' }],
431
+ stateMutability: 'view',
432
+ type: 'function',
433
+ },
411
434
  ]
412
435
 
413
436
  export default lockersMulticallAbi
@@ -0,0 +1,41 @@
1
+ import type { BatchMetaData } from '../types.js'
2
+
3
+ const batchYbUserVotes: BatchMetaData = {
4
+ bytecode: {
5
+ 1: '0x608060405234801561000f575f5ffd5b506040516109dd3803806109dd833981810160405281019061003191906105e8565b5f8290505f8173ffffffffffffffffffffffffffffffffffffffff1663e93841d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561007f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a3919061066b565b90506100ad610531565b8373ffffffffffffffffffffffffffffffffffffffff16639ab24eb0876040518263ffffffff1660e01b81526004016100e691906106a5565b602060405180830381865afa158015610101573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610125919061066b565b815f0181815250505f5f90505f5f90505b838110156103be575f8573ffffffffffffffffffffffffffffffffffffffff1663b0539187836040518263ffffffff1660e01b815260040161017891906106cd565b602060405180830381865afa158015610193573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101b791906106e6565b90506101c161054a565b8673ffffffffffffffffffffffffffffffffffffffff16630f467f988b846040518363ffffffff1660e01b81526004016101fc929190610711565b608060405180830381865afa158015610217573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061023b9190610738565b9091508360200184604001856080018381525083815250838152505050505f816040015111156103af5781815f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508673ffffffffffffffffffffffffffffffffffffffff16637e418fa08b846040518363ffffffff1660e01b81526004016102d7929190610711565b602060405180830381865afa1580156102f2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610316919061066b565b816060018181525050805f5f8681526020019081526020015f205f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002015560608201518160030155608082015181600401559050506001846103ac91906107c9565b93505b50508080600101915050610136565b506103ce8161040460201b60201c565b82602001819052505f826040516020016103e89190610962565b6040516020818303038152906040529050602081018059038082f35b60608167ffffffffffffffff8111156104205761041f610982565b5b60405190808252806020026020018201604052801561045957816020015b61044661054a565b81526020019060019003908161043e5790505b5090505f5f90505b8281101561052b575f5f8281526020019081526020015f206040518060a00160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015481526020016002820154815260200160038201548152602001600482015481525050828281518110610513576105126109af565b5b60200260200101819052508080600101915050610461565b50919050565b60405180604001604052805f8152602001606081525090565b6040518060a001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81525090565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105b78261058e565b9050919050565b6105c7816105ad565b81146105d1575f5ffd5b50565b5f815190506105e2816105be565b92915050565b5f5f5f606084860312156105ff576105fe61058a565b5b5f61060c868287016105d4565b935050602061061d868287016105d4565b925050604061062e868287016105d4565b9150509250925092565b5f819050919050565b61064a81610638565b8114610654575f5ffd5b50565b5f8151905061066581610641565b92915050565b5f602082840312156106805761067f61058a565b5b5f61068d84828501610657565b91505092915050565b61069f816105ad565b82525050565b5f6020820190506106b85f830184610696565b92915050565b6106c781610638565b82525050565b5f6020820190506106e05f8301846106be565b92915050565b5f602082840312156106fb576106fa61058a565b5b5f610708848285016105d4565b91505092915050565b5f6040820190506107245f830185610696565b6107316020830184610696565b9392505050565b5f5f5f5f608085870312156107505761074f61058a565b5b5f61075d87828801610657565b945050602061076e87828801610657565b935050604061077f87828801610657565b925050606061079087828801610657565b91505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6107d382610638565b91506107de83610638565b92508282019050808211156107f6576107f561079c565b5b92915050565b61080581610638565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61083d816105ad565b82525050565b60a082015f8201516108575f850182610834565b50602082015161086a60208501826107fc565b50604082015161087d60408501826107fc565b50606082015161089060608501826107fc565b5060808201516108a360808501826107fc565b50505050565b5f6108b48383610843565b60a08301905092915050565b5f602082019050919050565b5f6108d68261080b565b6108e08185610815565b93506108eb83610825565b805f5b8381101561091b57815161090288826108a9565b975061090d836108c0565b9250506001810190506108ee565b5085935050505092915050565b5f604083015f83015161093d5f8601826107fc565b506020830151848203602086015261095582826108cc565b9150508091505092915050565b5f6020820190508181035f83015261097a8184610928565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfe',
6
+ },
7
+ inputType: {
8
+ 1: ['address user', 'address gaugeController', 'address veToken'],
9
+ },
10
+ outputTypeHr: {
11
+ 1: [
12
+ 'ReturnData memory returnData',
13
+ 'struct ReturnData { uint256 veBalance; Vote[] votes; }',
14
+ 'struct Vote { address gauge; uint256 slope; uint256 power; uint256 start; uint256 end; }',
15
+ ],
16
+ },
17
+ outputType: {
18
+ 1: [
19
+ {
20
+ type: 'tuple',
21
+ name: 'returnData',
22
+ components: [
23
+ { type: 'uint256', name: 'veBalance' },
24
+ {
25
+ type: 'tuple[]',
26
+ name: 'votes',
27
+ components: [
28
+ { type: 'address', name: 'gauge' },
29
+ { type: 'uint256', name: 'slope' },
30
+ { type: 'uint256', name: 'power' },
31
+ { type: 'uint256', name: 'start' },
32
+ { type: 'uint256', name: 'end' },
33
+ ],
34
+ },
35
+ ],
36
+ },
37
+ ],
38
+ },
39
+ }
40
+
41
+ export default batchYbUserVotes
@@ -0,0 +1,15 @@
1
+ import type { BatchMetaData } from '../types.js'
2
+
3
+ const batchYbVotes: BatchMetaData = {
4
+ bytecode: {
5
+ 1: '0x608060405234801561000f575f5ffd5b50604051610af3380380610af38339818101604052810190610031919061058f565b5f8290505f8173ffffffffffffffffffffffffffffffffffffffff1663e93841d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561007f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a39190610603565b6fffffffffffffffffffffffffffffffff1690505f8167ffffffffffffffff8111156100d2576100d161062e565b5b60405190808252806020026020018201604052801561010b57816020015b6100f86104f4565b8152602001906001900390816100f05790505b5090505f5f5f90505b838110156103e4575f8573ffffffffffffffffffffffffffffffffffffffff1663b0539187836040518263ffffffff1660e01b81526004016101569190610673565b602060405180830381865afa158015610171573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610195919061068c565b90505f8673ffffffffffffffffffffffffffffffffffffffff16630f467f9889846040518363ffffffff1660e01b81526004016101d39291906106c6565b608060405180830381865afa1580156101ee573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061021291906107eb565b90505f62093a8080426102259190610870565b61022f91906108a0565b90505f826040015114806102465750808260600151105b15610253575050506103d7565b5f5f90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83606001510361028e57826020015190506102af565b81836060015161029e91906108e1565b835f01516102ac91906108a0565b90505b5f8973ffffffffffffffffffffffffffffffffffffffff16634e791a3a866040518263ffffffff1660e01b81526004016102e99190610914565b602060405180830381865afa158015610304573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610328919061092d565b90508488878151811061033e5761033d610958565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508188878151811061038f5761038e610958565b5b60200260200101516020018181525050808887815181106103b3576103b2610958565b5b6020026020010151604001818152505086806103ce90610985565b97505050505050505b8080600101915050610114565b505f8167ffffffffffffffff811115610400576103ff61062e565b5b60405190808252806020026020018201604052801561043957816020015b6104266104f4565b81526020019060019003908161041e5790505b5090505f5f5f90505b858110156104c5575f85828151811061045e5761045d610958565b5b60200260200101516020015111156104b85784818151811061048357610482610958565b5b602002602001015183838151811061049e5761049d610958565b5b602002602001018190525081806104b490610985565b9250505b8080600101915050610442565b505f826040516020016104d89190610ad2565b6040516020818303038152906040529050602081018059038082f35b60405180606001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81525090565b5f604051905090565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61055e82610535565b9050919050565b61056e81610554565b8114610578575f5ffd5b50565b5f8151905061058981610565565b92915050565b5f5f604083850312156105a5576105a4610531565b5b5f6105b28582860161057b565b92505060206105c38582860161057b565b9150509250929050565b5f81600f0b9050919050565b6105e2816105cd565b81146105ec575f5ffd5b50565b5f815190506105fd816105d9565b92915050565b5f6020828403121561061857610617610531565b5b5f610625848285016105ef565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f819050919050565b61066d8161065b565b82525050565b5f6020820190506106865f830184610664565b92915050565b5f602082840312156106a1576106a0610531565b5b5f6106ae8482850161057b565b91505092915050565b6106c081610554565b82525050565b5f6040820190506106d95f8301856106b7565b6106e660208301846106b7565b9392505050565b5f5ffd5b5f601f19601f8301169050919050565b61070a826106f1565b810181811067ffffffffffffffff821117156107295761072861062e565b5b80604052505050565b5f61073b610528565b90506107478282610701565b919050565b6107558161065b565b811461075f575f5ffd5b50565b5f815190506107708161074c565b92915050565b5f6080828403121561078b5761078a6106ed565b5b6107956080610732565b90505f6107a484828501610762565b5f8301525060206107b784828501610762565b60208301525060406107cb84828501610762565b60408301525060606107df84828501610762565b60608301525092915050565b5f60808284031215610800576107ff610531565b5b5f61080d84828501610776565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61087a8261065b565b91506108858361065b565b92508261089557610894610816565b5b828204905092915050565b5f6108aa8261065b565b91506108b58361065b565b92508282026108c38161065b565b915082820484148315176108da576108d9610843565b5b5092915050565b5f6108eb8261065b565b91506108f68361065b565b925082820390508181111561090e5761090d610843565b5b92915050565b5f6020820190506109275f8301846106b7565b92915050565b5f6020828403121561094257610941610531565b5b5f61094f84828501610762565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61098f8261065b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036109c1576109c0610843565b5b600182019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6109fe81610554565b82525050565b610a0d8161065b565b82525050565b606082015f820151610a275f8501826109f5565b506020820151610a3a6020850182610a04565b506040820151610a4d6040850182610a04565b50505050565b5f610a5e8383610a13565b60608301905092915050565b5f602082019050919050565b5f610a80826109cc565b610a8a81856109d6565b9350610a95836109e6565b805f5b83811015610ac5578151610aac8882610a53565b9750610ab783610a6a565b925050600181019050610a98565b5085935050505092915050565b5f6020820190508181035f830152610aea8184610a76565b90509291505056fe',
6
+ },
7
+ inputType: {
8
+ 1: ['address _gaugeController, address _user'],
9
+ },
10
+ outputTypeHr: {
11
+ 1: ['VoteData[] reurnData', 'struct VoteData { address gauge; uint256 userVote; uint256 totalVotes;}'],
12
+ },
13
+ }
14
+
15
+ export default batchYbVotes
package/src/index.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  ////////////////////////////////////////////////////////////////
2
2
  /// --- GLOBAL
3
3
  ///////////////////////////////////////////////////////////////
4
- export { getPricesFromLlama, getPricesFromGeckoTerminal, getPrices, findPrice, type Price } from './prices.js'
4
+ export { getLlamaTokenPrefix, getPricesFromLlama } from './prices.js'
5
+ export { getGeckoTerminalTokenPrefix, getPricesFromGeckoTerminal } from './prices.js'
6
+ export { getPrices, findPrice, type Price } from './prices.js'
5
7
  export * from './sdt.js'
6
8
  export * from './tokens.js'
7
9
  export { rpcGetLastBlockTimetstamp, rpcCall, batchJsonRpc, ethGetTxsReceipts } from './utils.js'
@@ -101,6 +103,9 @@ export { fetchFxnUserVotes } from './votemarket/fxn/fetchFxnUserVotes.js'
101
103
  // Pendle
102
104
  export { fetchPendleUserVotes } from './votemarket/pendle/fetchPendleUserVotes.js'
103
105
 
106
+ // YB
107
+ export { fetchYbUserVotes } from './votemarket/yb/fetchYbUserVotes.js'
108
+
104
109
  // Campaign data
105
110
  export { fetchEpochsVotes } from './votemarket/fetchEpochVotes.js'
106
111
  export { fetchClaimableData } from './votemarket/fetchClaimableData.js'
@@ -117,6 +117,7 @@ export interface RawLockersData {
117
117
  peg: string
118
118
  rewards: any[]
119
119
  veBoost?: {
120
+ totalDelegated?: string
120
121
  delegated: string
121
122
  weeklyRewards: string[]
122
123
  }
@@ -252,6 +253,7 @@ export const parse = async ({ locker, raw, common, prices }: ParseLockers) => {
252
253
  locker.veBoost && raw.veBoost
253
254
  ? {
254
255
  ...locker.veBoost,
256
+ totalDelegated: raw.veBoost.totalDelegated,
255
257
  delegated: raw.veBoost.delegated,
256
258
  apr: veBoostApr,
257
259
  }
@@ -153,6 +153,8 @@ const balancerLocker = async ({ provider, common, prices }: { provider; common;
153
153
  *** veBoost
154
154
  *********************************************************************************/
155
155
 
156
+ // Total veBoost delegated
157
+ { address: veBoost.address, name: 'received_balance', params: [locker.modules.locker] },
156
158
  // Total veBoost delegated through delegator
157
159
  { address: veBoost.delegator, name: 'totalSupply' },
158
160
  // veBoost 5 last weeks rewards
@@ -176,6 +178,7 @@ const balancerLocker = async ({ provider, common, prices }: { provider; common;
176
178
  peg: getRes(res.shift()),
177
179
  rewards: rewards.map(() => getRes(res.shift())),
178
180
  veBoost: {
181
+ totalDelegated: formatRes(res.shift()),
179
182
  delegated: formatRes(res.shift()),
180
183
  weeklyRewards: range(0, 5).map(() => getRes(res.shift())),
181
184
  },
package/src/prices.ts CHANGED
@@ -35,6 +35,8 @@ export const getLlamaTokenPrefix = (chainId = 1): string => {
35
35
  return 'avax'
36
36
  case 59144:
37
37
  return 'linea'
38
+ case 42793:
39
+ return 'etherlink'
38
40
  default:
39
41
  return 'ethereum'
40
42
  }
@@ -105,6 +107,8 @@ export const getGeckoTerminalTokenPrefix = (chainId = 1): string => {
105
107
  return 'avax'
106
108
  case 59144:
107
109
  return 'linea'
110
+ case 42793:
111
+ return 'etherlink'
108
112
  default:
109
113
  return 'eth'
110
114
  }
@@ -1,6 +1,6 @@
1
1
  import { getOnlyboostData } from '@stake-dao/reader'
2
2
  import { formatUnits, zeroAddress } from 'viem'
3
- import { arbitrum, base, fraxtal, gnosis, mainnet, optimism, sonic } from 'viem/chains'
3
+ import { arbitrum, base, etherlink, fraxtal, gnosis, mainnet, optimism, sonic } from 'viem/chains'
4
4
  import { withTwoDec } from '../../number.js'
5
5
  import { equalTlc } from '../../utils.js'
6
6
  import getTokenTypes from '../utils/getTokenTypes.js'
@@ -24,6 +24,7 @@ const baseTokens = {
24
24
  [arbitrum.id]: '0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978',
25
25
  [base.id]: '0x8Ee73c484A26e0A5df2Ee2a4960B789967dd0415',
26
26
  [optimism.id]: '0x0994206dfE8De6Ec6920FF4D779B0d950605Fb53',
27
+ [etherlink.id]: '0x004A476B5B76738E34c86C7144554B9d34402F13',
27
28
  },
28
29
  balancer: {
29
30
  [mainnet.id]: '0xba100000625a3754423978a60c9317c58a424e3D',
@@ -4,7 +4,7 @@ import batchClaimableData from '../bytecodes/votemarket/batchClaimableData.js'
4
4
  import { concatBytecode } from '../index.js'
5
5
  import { batchJsonRpc } from '../utils.js'
6
6
 
7
- const MAX_VOTES_PER_CHUNK = 50
7
+ const MAX_VOTES_PER_CHUNK = 25
8
8
  const MAX_CAMPAIGNS_PER_CHUNKS = 5
9
9
 
10
10
  const chunkCampaignsWithVoteLimit = (campaigns: number[], userVotes: any[]) => {
@@ -2,11 +2,13 @@ import { contracts } from '@stake-dao/constants'
2
2
  import { chunk } from 'lodash-es'
3
3
  import { encodeAbiParameters, parseAbiParameters } from 'viem'
4
4
  import { mainnet } from 'viem/chains'
5
+ import type { BatchMetaData } from '../bytecodes/types.js'
5
6
  import batchPendleVotes from '../bytecodes/votemarket/batchPendleVotes.js'
6
7
  import batchVotes from '../bytecodes/votemarket/batchVotes.js'
8
+ import batchYbVotes from '../bytecodes/votemarket/batchYbVotes.js'
7
9
  import { STAKE_DAO_API } from '../endpoints.js'
8
10
  import { concatBytecode } from '../index.js'
9
- import { batchJsonRpcWithBlocks, equalTlc } from '../utils.js'
11
+ import { batchJsonRpcWithBlocks } from '../utils.js'
10
12
 
11
13
  type Rpcs = {
12
14
  [chainId: number]: string
@@ -37,9 +39,17 @@ export const fetchEpochsVotes = async (rpc: Rpcs, gaugeController: string, user:
37
39
  // Merge blocks
38
40
  const blocksForEpoch = [...cachedBlocks, ...missingBlocks]
39
41
 
40
- const batchVotesProtocol = equalTlc(gaugeController, contracts.pendleGaugeController?.[1] || '')
41
- ? batchPendleVotes
42
- : batchVotes
42
+ let batchVotesProtocol: BatchMetaData = batchVotes
43
+ switch (gaugeController.toLowerCase()) {
44
+ case (contracts.pendleGaugeController?.[1] || '').toLowerCase():
45
+ batchVotesProtocol = batchPendleVotes
46
+ break
47
+ case (contracts.ybGaugeController?.[1] || '').toLowerCase():
48
+ batchVotesProtocol = batchYbVotes
49
+ break
50
+ default:
51
+ batchVotesProtocol = batchVotes
52
+ }
43
53
 
44
54
  const inputData = encodeAbiParameters(parseAbiParameters(batchVotesProtocol.inputType[mainnet.id]!) as any, [
45
55
  gaugeController,
@@ -20,12 +20,18 @@ export const GaugeControllerConstants = {
20
20
  lastUserVote: 1000000010,
21
21
  voteUserSlope: 1000000008,
22
22
  },
23
+ yb: {
24
+ pointWeights: 1000000006,
25
+ lastUserVote: 1000000005,
26
+ voteUserSlope: 1000000003,
27
+ },
23
28
  },
24
29
  GAUGE_CONTROLLER: {
25
30
  curve: '0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB',
26
31
  balancer: '0xC128468b7Ce63eA702C1f104D55A2566b13D3ABD',
27
32
  frax: '0x3669C421b77340B2979d1A00a792CC2ee0FcE737',
28
33
  fxn: '0xe60eB8098B34eD775ac44B1ddE864e098C6d7f37',
34
+ yb: '0x1Be14811A3a06F6aF4fA64310a636e1Df04c1c21',
29
35
  },
30
36
  }
31
37
 
@@ -20,6 +20,13 @@ function getGaugeTimeStorageSlot(gauge: `0x${string}`, time: bigint, baseSlot: n
20
20
  return BigInt(finalSlot)
21
21
  }
22
22
 
23
+ function getGaugeTimeStorageSlotYb(gauge: `0x${string}`, _: bigint, baseSlot: number): bigint {
24
+ const gaugeEncoded = keccak256(
25
+ encodeAbiParameters([{ type: 'uint256' }, { type: 'address' }], [BigInt(baseSlot), gauge]),
26
+ )
27
+ return BigInt(gaugeEncoded)
28
+ }
29
+
23
30
  // Function to get storage slot for Curve protocol (pre-Vyper 0.3)
24
31
  function getGaugeTimeStorageSlotPreVyper03(gauge: `0x${string}`, time: bigint, baseSlot: number): bigint {
25
32
  const intermediateHash = _encodeGaugeTime(gauge, time, baseSlot)
@@ -44,6 +51,7 @@ export async function generateGaugeProof(
44
51
 
45
52
  const positionFunctions: Record<string, any> = {
46
53
  curve: getGaugeTimeStorageSlotPreVyper03,
54
+ yb: getGaugeTimeStorageSlotYb,
47
55
  default: getGaugeTimeStorageSlot,
48
56
  }
49
57
 
@@ -53,10 +53,23 @@ export async function generateUserProof(
53
53
  const getPosition = positionFunctions[protocol] || positionFunctions.default
54
54
  const voteUserSlopeSlot = getPosition(user, gaugeAddress, voteUserSlopeBaseSlot)
55
55
 
56
+ let index_additionnal_slots = [2n]
57
+ switch (protocol.toLowerCase()) {
58
+ case 'yb':
59
+ index_additionnal_slots = [1n, 3n]
60
+ break
61
+ default:
62
+ index_additionnal_slots = [2n]
63
+ break
64
+ }
65
+
56
66
  const voteUserSlopeSlope = voteUserSlopeSlot
57
- const voteUserSlopeEnd = voteUserSlopeSlot + 2n
58
67
 
59
- const slots = [toHex(lastUserVoteSlot), toHex(voteUserSlopeSlope), toHex(voteUserSlopeEnd)]
68
+ const slots = [toHex(lastUserVoteSlot), toHex(voteUserSlopeSlope)]
69
+
70
+ for (const index_additionnal_slot of index_additionnal_slots) {
71
+ slots.push(toHex(voteUserSlopeSlot + index_additionnal_slot))
72
+ }
60
73
 
61
74
  const proof = await publicClient.getProof({
62
75
  address: GaugeControllerConstants.GAUGE_CONTROLLER[protocol] as `0x${string}`,