@stake-dao/reader 0.4.27 → 0.4.29

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 (111) hide show
  1. package/dist/esm/bytecodes/votemarket/batchCampaigns.js +6 -3
  2. package/dist/esm/bytecodes/votemarket/batchCampaigns.js.map +1 -1
  3. package/dist/esm/bytecodes/votemarket/batchClaimableData.js +21 -0
  4. package/dist/esm/bytecodes/votemarket/batchClaimableData.js.map +1 -0
  5. package/dist/esm/bytecodes/votemarket/batchGaugesWeight.js +13 -0
  6. package/dist/esm/bytecodes/votemarket/batchGaugesWeight.js.map +1 -0
  7. package/dist/esm/bytecodes/votemarket/batchVotes.js +13 -0
  8. package/dist/esm/bytecodes/votemarket/batchVotes.js.map +1 -0
  9. package/dist/esm/bytecodes/votemarket/curve/batchCurveGaugesMetadata.js +5 -3
  10. package/dist/esm/bytecodes/votemarket/curve/batchCurveGaugesMetadata.js.map +1 -1
  11. package/dist/esm/bytecodes/votemarket/curve/batchCurveOldLps.js +3 -2
  12. package/dist/esm/bytecodes/votemarket/curve/batchCurveOldLps.js.map +1 -1
  13. package/dist/esm/endpoints.js +0 -1
  14. package/dist/esm/endpoints.js.map +1 -1
  15. package/dist/esm/index.js +7 -0
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/lockers/fetch/index.js +10 -0
  18. package/dist/esm/lockers/fetch/index.js.map +1 -1
  19. package/dist/esm/lockers/utils/getHttpCalls.js +8 -0
  20. package/dist/esm/lockers/utils/getHttpCalls.js.map +1 -1
  21. package/dist/esm/sdt/fetch.js +20 -26
  22. package/dist/esm/sdt/fetch.js.map +1 -1
  23. package/dist/esm/strategies/pancakeswap/endpoints.js +1 -1
  24. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  25. package/dist/esm/utils.js +43 -19
  26. package/dist/esm/utils.js.map +1 -1
  27. package/dist/esm/votemarket/curve/config.js +4 -1
  28. package/dist/esm/votemarket/curve/config.js.map +1 -1
  29. package/dist/esm/votemarket/curve/fetchCurveGauges.js +6 -1
  30. package/dist/esm/votemarket/curve/fetchCurveGauges.js.map +1 -1
  31. package/dist/esm/votemarket/curve/fetchSnapshotUserData.js +14 -9
  32. package/dist/esm/votemarket/curve/fetchSnapshotUserData.js.map +1 -1
  33. package/dist/esm/votemarket/fetchCampaigns.js +115 -14
  34. package/dist/esm/votemarket/fetchCampaigns.js.map +1 -1
  35. package/dist/esm/votemarket/fetchClaimableData.js +36 -0
  36. package/dist/esm/votemarket/fetchClaimableData.js.map +1 -0
  37. package/dist/esm/votemarket/fetchEpochVotes.js +30 -0
  38. package/dist/esm/votemarket/fetchEpochVotes.js.map +1 -0
  39. package/dist/esm/votemarket/generateProofs/config.js +53 -0
  40. package/dist/esm/votemarket/generateProofs/config.js.map +1 -0
  41. package/dist/esm/votemarket/generateProofs/getBlockProof.js +33 -0
  42. package/dist/esm/votemarket/generateProofs/getBlockProof.js.map +1 -0
  43. package/dist/esm/votemarket/generateProofs/getGaugeProof.js +50 -0
  44. package/dist/esm/votemarket/generateProofs/getGaugeProof.js.map +1 -0
  45. package/dist/esm/votemarket/generateProofs/getUserProof.js +49 -0
  46. package/dist/esm/votemarket/generateProofs/getUserProof.js.map +1 -0
  47. package/dist/types/bytecodes/votemarket/batchCampaigns.d.ts.map +1 -1
  48. package/dist/types/bytecodes/votemarket/batchClaimableData.d.ts +4 -0
  49. package/dist/types/bytecodes/votemarket/batchClaimableData.d.ts.map +1 -0
  50. package/dist/types/bytecodes/votemarket/batchGaugesWeight.d.ts +4 -0
  51. package/dist/types/bytecodes/votemarket/batchGaugesWeight.d.ts.map +1 -0
  52. package/dist/types/bytecodes/votemarket/batchVotes.d.ts +4 -0
  53. package/dist/types/bytecodes/votemarket/batchVotes.d.ts.map +1 -0
  54. package/dist/types/bytecodes/votemarket/curve/batchCurveGaugesMetadata.d.ts.map +1 -1
  55. package/dist/types/bytecodes/votemarket/curve/batchCurveOldLps.d.ts.map +1 -1
  56. package/dist/types/endpoints.d.ts +0 -1
  57. package/dist/types/endpoints.d.ts.map +1 -1
  58. package/dist/types/index.d.ts +5 -0
  59. package/dist/types/index.d.ts.map +1 -1
  60. package/dist/types/lockers/fetch/index.d.ts.map +1 -1
  61. package/dist/types/lockers/utils/getHttpCalls.d.ts +3 -0
  62. package/dist/types/lockers/utils/getHttpCalls.d.ts.map +1 -1
  63. package/dist/types/sdt/fetch.d.ts +2 -2
  64. package/dist/types/sdt/fetch.d.ts.map +1 -1
  65. package/dist/types/utils.d.ts +13 -1
  66. package/dist/types/utils.d.ts.map +1 -1
  67. package/dist/types/votemarket/curve/config.d.ts +8 -1
  68. package/dist/types/votemarket/curve/config.d.ts.map +1 -1
  69. package/dist/types/votemarket/curve/fetchCurveGauges.d.ts.map +1 -1
  70. package/dist/types/votemarket/curve/fetchSnapshotUserData.d.ts +1 -0
  71. package/dist/types/votemarket/curve/fetchSnapshotUserData.d.ts.map +1 -1
  72. package/dist/types/votemarket/fetchCampaigns.d.ts.map +1 -1
  73. package/dist/types/votemarket/fetchClaimableData.d.ts +6 -0
  74. package/dist/types/votemarket/fetchClaimableData.d.ts.map +1 -0
  75. package/dist/types/votemarket/fetchEpochVotes.d.ts +9 -0
  76. package/dist/types/votemarket/fetchEpochVotes.d.ts.map +1 -0
  77. package/dist/types/votemarket/generateProofs/config.d.ts +32 -0
  78. package/dist/types/votemarket/generateProofs/config.d.ts.map +1 -0
  79. package/dist/types/votemarket/generateProofs/getBlockProof.d.ts +6 -0
  80. package/dist/types/votemarket/generateProofs/getBlockProof.d.ts.map +1 -0
  81. package/dist/types/votemarket/generateProofs/getGaugeProof.d.ts +6 -0
  82. package/dist/types/votemarket/generateProofs/getGaugeProof.d.ts.map +1 -0
  83. package/dist/types/votemarket/generateProofs/getUserProof.d.ts +6 -0
  84. package/dist/types/votemarket/generateProofs/getUserProof.d.ts.map +1 -0
  85. package/dist/types/votemarket/types.d.ts +31 -8
  86. package/dist/types/votemarket/types.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/src/bytecodes/votemarket/batchCampaigns.ts +6 -3
  89. package/src/bytecodes/votemarket/batchClaimableData.ts +24 -0
  90. package/src/bytecodes/votemarket/batchGaugesWeight.ts +15 -0
  91. package/src/bytecodes/votemarket/batchVotes.ts +15 -0
  92. package/src/bytecodes/votemarket/curve/batchCurveGaugesMetadata.ts +5 -3
  93. package/src/bytecodes/votemarket/curve/batchCurveOldLps.ts +3 -2
  94. package/src/endpoints.ts +0 -1
  95. package/src/index.ts +10 -0
  96. package/src/lockers/fetch/index.ts +13 -0
  97. package/src/lockers/utils/getHttpCalls.ts +8 -0
  98. package/src/sdt/fetch.ts +29 -27
  99. package/src/strategies/pancakeswap/endpoints.ts +1 -1
  100. package/src/utils.ts +66 -19
  101. package/src/votemarket/curve/config.ts +5 -1
  102. package/src/votemarket/curve/fetchCurveGauges.ts +15 -2
  103. package/src/votemarket/curve/fetchSnapshotUserData.ts +16 -9
  104. package/src/votemarket/fetchCampaigns.ts +148 -15
  105. package/src/votemarket/fetchClaimableData.ts +50 -0
  106. package/src/votemarket/fetchEpochVotes.ts +48 -0
  107. package/src/votemarket/generateProofs/config.ts +53 -0
  108. package/src/votemarket/generateProofs/getBlockProof.ts +48 -0
  109. package/src/votemarket/generateProofs/getGaugeProof.ts +75 -0
  110. package/src/votemarket/generateProofs/getUserProof.ts +74 -0
  111. package/src/votemarket/types.ts +36 -8
@@ -0,0 +1,33 @@
1
+ import { http, createPublicClient, toHex, toRlp } from 'viem';
2
+ import { mainnet } from 'viem/chains';
3
+ import { BLOCK_HEADER } from './config.js';
4
+ import { generateGaugeProof } from './getGaugeProof.js';
5
+ function encodeRlpBlock(block) {
6
+ const blockHeader = BLOCK_HEADER.map((key) => {
7
+ if (key in block) {
8
+ if (typeof block[key] === 'bigint' && block[key] === BigInt(0)) {
9
+ return '0x';
10
+ }
11
+ if (typeof block[key] === 'string') {
12
+ return block[key];
13
+ }
14
+ return toHex(block[key]);
15
+ }
16
+ return undefined;
17
+ }).filter((value) => value !== undefined);
18
+ return toRlp(blockHeader);
19
+ }
20
+ // Main function to generate block proof
21
+ export async function generateBlockProof(rpc, protocol, gaugeAddress, currentPeriod, blockNumber) {
22
+ const publicClient = createPublicClient({
23
+ chain: mainnet,
24
+ transport: http(rpc[mainnet.id]),
25
+ });
26
+ const block = await publicClient.getBlock({
27
+ blockNumber,
28
+ });
29
+ const blockHeaderRlp = encodeRlpBlock(block);
30
+ const [proof, _] = await generateGaugeProof(rpc, protocol, gaugeAddress, currentPeriod, blockNumber);
31
+ return [blockHeaderRlp, proof];
32
+ }
33
+ //# sourceMappingURL=getBlockProof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBlockProof.js","sourceRoot":"","sources":["../../../../src/votemarket/generateProofs/getBlockProof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAMvD,SAAS,cAAc,CAAC,KAA0B;IAChD,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3C,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YACjB,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;YACnB,CAAC;YACD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1B,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA0B,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;IAEjE,OAAO,KAAK,CAAC,WAAW,CAAC,CAAA;AAC3B,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAS,EACT,QAAgB,EAChB,YAA2B,EAC3B,aAAqB,EACrB,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,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC;QACxC,WAAW;KACZ,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;IAE5C,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;IACpG,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;AAChC,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { http, createPublicClient, encodeAbiParameters, fromRlp, keccak256, toHex, toRlp } from 'viem';
2
+ import { mainnet } from 'viem/chains';
3
+ import { GaugeControllerConstants } from './config.js';
4
+ // Helper function to encode gauge time
5
+ function _encodeGaugeTime(gauge, time, baseSlot) {
6
+ const gaugeEncoded = keccak256(encodeAbiParameters([{ type: 'uint256' }, { type: 'address' }], [BigInt(baseSlot), gauge]));
7
+ return keccak256(encodeAbiParameters([{ type: 'bytes32' }, { type: 'uint256' }], [gaugeEncoded, time]));
8
+ }
9
+ // Function to get storage slot for non-Curve protocols
10
+ function getGaugeTimeStorageSlot(gauge, time, baseSlot) {
11
+ const finalSlot = _encodeGaugeTime(gauge, time, baseSlot);
12
+ return BigInt(finalSlot);
13
+ }
14
+ // Function to get storage slot for Curve protocol (pre-Vyper 0.3)
15
+ function getGaugeTimeStorageSlotPreVyper03(gauge, time, baseSlot) {
16
+ const intermediateHash = _encodeGaugeTime(gauge, time, baseSlot);
17
+ const finalSlot = keccak256(encodeAbiParameters([{ type: 'bytes32' }], [intermediateHash]));
18
+ return BigInt(finalSlot);
19
+ }
20
+ // Main function to generate gauge proof
21
+ export async function generateGaugeProof(rpc, protocol, gaugeAddress, currentPeriod, blockNumber) {
22
+ const publicClient = createPublicClient({
23
+ chain: mainnet,
24
+ transport: http(rpc[mainnet.id]),
25
+ });
26
+ const pointWeightsBaseSlot = GaugeControllerConstants.GAUGES_SLOTS[protocol].pointWeights;
27
+ const positionFunctions = {
28
+ curve: getGaugeTimeStorageSlotPreVyper03,
29
+ default: getGaugeTimeStorageSlot,
30
+ };
31
+ const getPosition = positionFunctions[protocol] || positionFunctions.default;
32
+ const pointWeightsPosition = getPosition(gaugeAddress, currentPeriod, pointWeightsBaseSlot);
33
+ const slots = [toHex(pointWeightsPosition)];
34
+ const proof = await publicClient.getProof({
35
+ address: GaugeControllerConstants.GAUGE_CONTROLLER[protocol],
36
+ storageKeys: slots,
37
+ blockNumber,
38
+ });
39
+ const decodedAccountProof = proof.accountProof.map((p) => fromRlp(p));
40
+ const accountProof = toRlp(decodedAccountProof);
41
+ const decodedStorageProof = proof.storageProof[0].proof.map((p) => fromRlp(p));
42
+ let storageProof = toRlp(decodedStorageProof);
43
+ // Add length prefix to match Python output for storage proof
44
+ const storageProofLength = (storageProof.length - 2) / 2; // subtract 2 for '0x' prefix
45
+ const storageProofLengthHex = storageProofLength.toString(16).padStart(4, '0');
46
+ // 0xf9 is the RLP prefix for a list longer than 55 bytes, followed by the length of the length (2 bytes), and then the length itself
47
+ storageProof = `0xf9${storageProofLengthHex}${storageProof.slice(2)}`;
48
+ return [accountProof, storageProof];
49
+ }
50
+ //# sourceMappingURL=getGaugeProof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGaugeProof.js","sourceRoot":"","sources":["../../../../src/votemarket/generateProofs/getGaugeProof.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { http, createPublicClient, encodeAbiParameters, fromRlp, keccak256, toHex, toRlp } from 'viem';
2
+ import { mainnet } from 'viem/chains';
3
+ import { GaugeControllerConstants } from './config.js';
4
+ // Helper function to encode user gauge data
5
+ function _encodeUserGaugeData(user, gauge, baseSlot) {
6
+ const userEncoded = keccak256(encodeAbiParameters([{ type: 'uint256' }, { type: 'address' }], [BigInt(baseSlot), user]));
7
+ return keccak256(encodeAbiParameters([{ type: 'bytes32' }, { type: 'address' }], [userEncoded, gauge]));
8
+ }
9
+ // Function to get storage slot for non-Curve protocols
10
+ function getUserGaugeStorageSlot(user, gauge, baseSlot) {
11
+ const finalSlot = _encodeUserGaugeData(user, gauge, baseSlot);
12
+ return BigInt(finalSlot);
13
+ }
14
+ // Function to get storage slot for Curve protocol (pre-Vyper 0.3)
15
+ function getUserGaugeStorageSlotPreVyper03(user, gauge, baseSlot) {
16
+ const intermediateHash = _encodeUserGaugeData(user, gauge, baseSlot);
17
+ const finalSlot = keccak256(encodeAbiParameters([{ type: 'bytes32' }], [intermediateHash]));
18
+ return BigInt(finalSlot);
19
+ }
20
+ // Main function to generate user proof
21
+ export async function generateUserProof(rpc, protocol, gaugeAddress, user, blockNumber) {
22
+ const publicClient = createPublicClient({
23
+ chain: mainnet,
24
+ transport: http(rpc[mainnet.id]),
25
+ });
26
+ const lastUserVoteBaseSlot = GaugeControllerConstants.GAUGES_SLOTS[protocol].lastUserVote;
27
+ const voteUserSlopeBaseSlot = GaugeControllerConstants.GAUGES_SLOTS[protocol].voteUserSlope;
28
+ const lastUserVoteSlot = getUserGaugeStorageSlot(user, gaugeAddress, lastUserVoteBaseSlot);
29
+ const positionFunctions = {
30
+ curve: getUserGaugeStorageSlotPreVyper03,
31
+ default: getUserGaugeStorageSlot,
32
+ };
33
+ const getPosition = positionFunctions[protocol] || positionFunctions.default;
34
+ const voteUserSlopeSlot = getPosition(user, gaugeAddress, voteUserSlopeBaseSlot);
35
+ const voteUserSlopeSlope = voteUserSlopeSlot;
36
+ const voteUserSlopeEnd = voteUserSlopeSlot + 2n;
37
+ const slots = [toHex(lastUserVoteSlot), toHex(voteUserSlopeSlope), toHex(voteUserSlopeEnd)];
38
+ const proof = await publicClient.getProof({
39
+ address: GaugeControllerConstants.GAUGE_CONTROLLER[protocol],
40
+ storageKeys: slots,
41
+ blockNumber,
42
+ });
43
+ const decodedAccountProof = proof.accountProof.map((p) => fromRlp(p));
44
+ const accountProof = toRlp(decodedAccountProof);
45
+ const decodedStorageProof = proof.storageProof.map((sp) => sp.proof.map((p) => fromRlp(p)));
46
+ const storageProof = toRlp(decodedStorageProof);
47
+ return [accountProof, storageProof];
48
+ }
49
+ //# sourceMappingURL=getUserProof.js.map
@@ -0,0 +1 @@
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,MAAM,kBAAkB,GAAG,iBAAiB,CAAA;IAC5C,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,EAAE,CAAA;IAE/C,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAE3F,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"batchCampaigns.d.ts","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchCampaigns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,QAAA,MAAM,cAAc,EAAE,aAwDrB,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"batchCampaigns.d.ts","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchCampaigns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,QAAA,MAAM,cAAc,EAAE,aA2DrB,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { BatchMetaData } from '../types.js';
2
+ declare const batchClaimableData: BatchMetaData;
3
+ export default batchClaimableData;
4
+ //# sourceMappingURL=batchClaimableData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchClaimableData.d.ts","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchClaimableData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,QAAA,MAAM,kBAAkB,EAAE,aAmBzB,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { BatchMetaData } from '../types.js';
2
+ declare const batchGaugesWeight: BatchMetaData;
3
+ export default batchGaugesWeight;
4
+ //# sourceMappingURL=batchGaugesWeight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchGaugesWeight.d.ts","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchGaugesWeight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,QAAA,MAAM,iBAAiB,EAAE,aAUxB,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { BatchMetaData } from '../types.js';
2
+ declare const batchVotes: BatchMetaData;
3
+ export default batchVotes;
4
+ //# sourceMappingURL=batchVotes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchVotes.d.ts","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchVotes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,QAAA,MAAM,UAAU,EAAE,aAUjB,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"batchCurveGaugesMetadata.d.ts","sourceRoot":"","sources":["../../../../../src/bytecodes/votemarket/curve/batchCurveGaugesMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAgDnD,QAAA,MAAM,wBAAwB,EAAE,aAgB/B,CAAA;AAED,eAAe,wBAAwB,CAAA"}
1
+ {"version":3,"file":"batchCurveGaugesMetadata.d.ts","sourceRoot":"","sources":["../../../../../src/bytecodes/votemarket/curve/batchCurveGaugesMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAkDnD,QAAA,MAAM,wBAAwB,EAAE,aAgB/B,CAAA;AAED,eAAe,wBAAwB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"batchCurveOldLps.d.ts","sourceRoot":"","sources":["../../../../../src/bytecodes/votemarket/curve/batchCurveOldLps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAoCnD,QAAA,MAAM,gBAAgB,EAAE,aAavB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"batchCurveOldLps.d.ts","sourceRoot":"","sources":["../../../../../src/bytecodes/votemarket/curve/batchCurveOldLps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAqCnD,QAAA,MAAM,gBAAgB,EAAE,aAavB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,4 +1,3 @@
1
1
  export declare const LLAMA_API_URL = "https://coins.llama.fi";
2
- export declare const AGNOSTIC_QUERY_URL = "https://proxy.eu-02.agnostic.engineering/query";
3
2
  export declare const THE_GRAPH_BASE_URL = "https://gateway-arbitrum.network.thegraph.com/api/e3c2ef8231c88703a5b450c188ce2db6/subgraphs/id";
4
3
  //# sourceMappingURL=endpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/endpoints.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,2BAA2B,CAAA;AACrD,eAAO,MAAM,kBAAkB,mDAAmD,CAAA;AAClF,eAAO,MAAM,kBAAkB,oGACoE,CAAA"}
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/endpoints.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,2BAA2B,CAAA;AACrD,eAAO,MAAM,kBAAkB,oGACoE,CAAA"}
@@ -29,6 +29,11 @@ export type { Campaign } from './votemarket/types.js';
29
29
  export { fetchCurveGauges } from './votemarket/curve/fetchCurveGauges.js';
30
30
  export { fetchCurveUserVotes } from './votemarket/curve/fetchCurveUserVotes.js';
31
31
  export { fetchSnapshotUserData } from './votemarket/curve/fetchSnapshotUserData.js';
32
+ export { fetchEpochsVotes } from './votemarket/fetchEpochVotes.js';
33
+ export { fetchClaimableData } from './votemarket/fetchClaimableData.js';
34
+ export { generateBlockProof } from './votemarket/generateProofs/getBlockProof.js';
35
+ export { generateGaugeProof } from './votemarket/generateProofs/getGaugeProof.js';
36
+ export { generateUserProof } from './votemarket/generateProofs/getUserProof.js';
32
37
  export { gmFetchGauge } from './gaugeManager/curve/gmFetchGauge.js';
33
38
  export type { GmGaugeData } from './gaugeManager/curve/gmFetchGauge.js';
34
39
  //# 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;AACxB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAKlD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAKzC,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,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AASnF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,sCAAsC,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;AACxB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAKlD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAKzC,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,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAGnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAIvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AAS/E,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA"}
@@ -1 +1 @@
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+RhG,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4ShG,CAAA"}
@@ -2,16 +2,19 @@ declare const getHttpCalls: (chainId: number) => Promise<{
2
2
  bribesData: any;
3
3
  fpisBribesData: any;
4
4
  cvgAprs: any;
5
+ spectraAprs: any;
5
6
  sdfxsWorkingData?: undefined;
6
7
  } | {
7
8
  bribesData: any;
8
9
  sdfxsWorkingData: any;
9
10
  fpisBribesData?: undefined;
10
11
  cvgAprs?: undefined;
12
+ spectraAprs?: undefined;
11
13
  } | {
12
14
  bribesData?: undefined;
13
15
  fpisBribesData?: undefined;
14
16
  cvgAprs?: undefined;
17
+ spectraAprs?: undefined;
15
18
  sdfxsWorkingData?: undefined;
16
19
  }>;
17
20
  export default getHttpCalls;
@@ -1 +1 @@
1
- {"version":3,"file":"getHttpCalls.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/getHttpCalls.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,YAAY,YAAmB,MAAM;;;;;;;;;;;;;;;EAoD1C,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;;;;;;;;;;;;;;;;;;EA4D1C,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -2,9 +2,9 @@ import { type Price } from '../prices.js';
2
2
  interface TFetchSdt {
3
3
  provider: any;
4
4
  prices: Price[];
5
- agnosticKey?: string;
5
+ explorerApiKey: string;
6
6
  }
7
- export declare const fetchSdt: ({ provider, prices, agnosticKey }: TFetchSdt) => Promise<{
7
+ export declare const fetchSdt: ({ provider, prices, explorerApiKey }: TFetchSdt) => Promise<{
8
8
  alternativeYields: {
9
9
  wardenMarket: {
10
10
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/sdt/fetch.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAA;AAiBzC,UAAU,SAAS;IACjB,QAAQ,EAAE,GAAG,CAAA;IACb,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAGD,eAAO,MAAM,QAAQ,sCAA6C,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoF1E,CAAA"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/sdt/fetch.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAA;AASzC,UAAU,SAAS;IACjB,QAAQ,EAAE,GAAG,CAAA;IACb,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;CACvB;AAGD,eAAO,MAAM,QAAQ,yCAAgD,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8F7E,CAAA"}
@@ -10,6 +10,10 @@ export declare const getTokenInfo: (coinData: any, address: string, chainId?: nu
10
10
  decimals: number;
11
11
  } | Token;
12
12
  export declare const projectWorkingBalance: (veBalance: bigint, veTotal: bigint, balance: bigint, totalSupply: bigint) => bigint;
13
+ export declare const rpcGetLastBlockTimetstamp: (rpc: string) => Promise<{
14
+ number: number;
15
+ timestamp: number;
16
+ }>;
13
17
  interface RpcCallArgs {
14
18
  to: string;
15
19
  data: string;
@@ -23,13 +27,21 @@ export interface BatchJsonRpcArgs {
23
27
  callsKey: string;
24
28
  }
25
29
  export declare const batchJsonRpc: (args: BatchJsonRpcArgs) => Promise<any>;
30
+ interface BatchJsonRpcWithBlocksArgs {
31
+ rpc: string;
32
+ call: string;
33
+ outputTypeAbi: any | any[];
34
+ parse?: boolean;
35
+ callsKey: string;
36
+ blocks: number[];
37
+ }
38
+ export declare const batchJsonRpcWithBlocks: (args: BatchJsonRpcWithBlocksArgs) => Promise<any>;
26
39
  export interface Call {
27
40
  address: string;
28
41
  name: string;
29
42
  params?: any[];
30
43
  }
31
44
  export declare const multicall: (provider: any, calls: Call[], abi: readonly any[]) => Promise<any>;
32
- export declare const agnostic: (query: string, apiKey: string, defaultErrorValue?: any) => Promise<any>;
33
45
  export declare const graphql: (url: string, query: string, params?: any, defaultErrorValue?: any) => Promise<any>;
34
46
  export interface MultiChainCall extends Call {
35
47
  chainId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAQjD,eAAO,MAAM,eAAe,aAAc,MAAM,eAAe,MAAM,YAMe,CAAA;AAEpF,eAAO,MAAM,iBAAiB,UAAW,GAAG,UAAU,GAAG,cAAc,OAAO,SAAS,MAAM,UAAU,GAAG,WAezG,CAAA;AAED,eAAO,MAAM,EAAE,YAAa,MAAM,KAAG,MAA+B,CAAA;AAEpE,eAAO,MAAM,QAAQ,eAAgB,MAAM,cAAc,MAAM,KAAG,OAA4C,CAAA;AAE9G,eAAO,MAAM,YAAY,aACb,GAAG,WACJ,MAAM,YACN,MAAM,KACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,KAiBxE,CAAA;AAED,eAAO,MAAM,qBAAqB,cAAe,MAAM,WAAW,MAAM,WAAW,MAAM,eAAe,MAAM,WAS7G,CAAA;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,OAAO,QAAe,MAAM,UAAU,WAAW,EAAE,iBAiB/D,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,aAAa,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,YAAY,SAAgB,gBAAgB,iBAkCxD,CAAA;AAED,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;CACf;AAED,eAAO,MAAM,SAAS,aAAoB,GAAG,SAAS,IAAI,EAAE,OAAO,SAAS,GAAG,EAAE,iBAWhF,CAAA;AAED,eAAO,MAAM,QAAQ,UAAiB,MAAM,UAAU,MAAM,sBAAsB,GAAG,KAAG,OAAO,CAAC,GAAG,CAelG,CAAA;AAED,eAAO,MAAM,OAAO,QAAe,MAAM,SAAS,MAAM,WAAW,GAAG,sBAAsB,GAAG,KAAG,OAAO,CAAC,GAAG,CAO5G,CAAA;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI;IAC1C,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,mBAAmB,UAAiB,cAAc,EAAE,OAAO,SAAS,GAAG,EAAE,gBAwBrF,CAAA;AAED,eAAO,MAAM,cAAc,aAAc,MAAM,QAAQ,MAAM,KAAG,MAAwC,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAOjD,eAAO,MAAM,eAAe,aAAc,MAAM,eAAe,MAAM,YAMe,CAAA;AAEpF,eAAO,MAAM,iBAAiB,UAAW,GAAG,UAAU,GAAG,cAAc,OAAO,SAAS,MAAM,UAAU,GAAG,WAezG,CAAA;AAED,eAAO,MAAM,EAAE,YAAa,MAAM,KAAG,MAA+B,CAAA;AAEpE,eAAO,MAAM,QAAQ,eAAgB,MAAM,cAAc,MAAM,KAAG,OAA4C,CAAA;AAE9G,eAAO,MAAM,YAAY,aACb,GAAG,WACJ,MAAM,YACN,MAAM,KACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,KAiBxE,CAAA;AAED,eAAO,MAAM,qBAAqB,cAAe,MAAM,WAAW,MAAM,WAAW,MAAM,eAAe,MAAM,WAS7G,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAe,MAAM;;;EAkB1D,CAAA;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,OAAO,QAAe,MAAM,UAAU,WAAW,EAAE,iBAiB/D,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,aAAa,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,YAAY,SAAgB,gBAAgB,iBAkCxD,CAAA;AAED,UAAU,0BAA0B;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,eAAO,MAAM,sBAAsB,SAAgB,0BAA0B,iBAkC5E,CAAA;AAED,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;CACf;AAED,eAAO,MAAM,SAAS,aAAoB,GAAG,SAAS,IAAI,EAAE,OAAO,SAAS,GAAG,EAAE,iBAWhF,CAAA;AAED,eAAO,MAAM,OAAO,QAAe,MAAM,SAAS,MAAM,WAAW,GAAG,sBAAsB,GAAG,KAAG,OAAO,CAAC,GAAG,CAO5G,CAAA;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI;IAC1C,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,mBAAmB,UAAiB,cAAc,EAAE,OAAO,SAAS,GAAG,EAAE,gBAwBrF,CAAA;AAED,eAAO,MAAM,cAAc,aAAc,MAAM,QAAQ,MAAM,KAAG,MAAwC,CAAA"}
@@ -1,4 +1,4 @@
1
- export declare const GAUGES_CHUNK_SIZE = 35;
1
+ export declare const GAUGES_CHUNK_SIZE = 30;
2
2
  export declare const GAUGES_METADATA_CHUNK_SIZE = 10;
3
3
  export declare const NOT_LP_GAUGES: {
4
4
  42: string;
@@ -29,4 +29,11 @@ export declare const NOT_LP_GAUGES: {
29
29
  };
30
30
  export declare const NOT_LP_GAUGES_INDEX: number[];
31
31
  export declare const BROKEN_GAUGES: string[];
32
+ export declare const CHAIN_NATIVE_COIN: {
33
+ 1: {
34
+ name: string;
35
+ symbol: string;
36
+ decimals: number;
37
+ };
38
+ };
32
39
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAE5C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BzB,CAAA;AAED,eAAO,MAAM,mBAAmB,UAAmD,CAAA;AAEnF,eAAO,MAAM,aAAa,UAOzB,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAE5C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BzB,CAAA;AAED,eAAO,MAAM,mBAAmB,UAAmD,CAAA;AAEnF,eAAO,MAAM,aAAa,UAOzB,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;;;CAE7B,CAAA"}
@@ -1 +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,CAsJpE,CAAA"}
1
+ {"version":3,"file":"fetchCurveGauges.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchCurveGauges.ts"],"names":[],"mappings":"AAgBA,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,CA4JpE,CAAA"}
@@ -5,6 +5,7 @@ interface SnapshotProposal {
5
5
  end: number;
6
6
  state: string;
7
7
  choices: string[];
8
+ scores: number[];
8
9
  snapshot: string;
9
10
  space: {
10
11
  strategies: SnapshotStrategy[];
@@ -1 +1 @@
1
- {"version":3,"file":"fetchSnapshotUserData.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchSnapshotUserData.ts"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE;QACL,UAAU,EAAE,gBAAgB,EAAE,CAAA;KAC/B,CAAA;CACF;AAED,UAAU,iBAAiB;IACzB,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,GAAG,CAAA;CACZ;AAkCD,eAAO,MAAM,qBAAqB,gBACnB,MAAM,UACX,MAAM,EAAE,KACf,OAAO,CAAC,iBAAiB,EAAE,GAAG,SAAS,CAgDzC,CAAA"}
1
+ {"version":3,"file":"fetchSnapshotUserData.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchSnapshotUserData.ts"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE;QACL,UAAU,EAAE,gBAAgB,EAAE,CAAA;KAC/B,CAAA;CACF;AAED,UAAU,iBAAiB;IACzB,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,GAAG,CAAA;CACZ;AAuCD,eAAO,MAAM,qBAAqB,gBACnB,MAAM,UACX,MAAM,EAAE,KACf,OAAO,CAAC,iBAAiB,EAAE,GAAG,SAAS,CAiDzC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchCampaigns.d.ts","sourceRoot":"","sources":["../../../src/votemarket/fetchCampaigns.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,eAAO,MAAM,oBAAoB,KAAK,CAAA;AACtC,eAAO,MAAM,mBAAmB,KAAK,CAAA;AACrC,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAEpC,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,cAAc,+BAAsC,mBAAmB,KAAG,OAAO,CAAC,QAAQ,EAAE,CA0GxG,CAAA"}
1
+ {"version":3,"file":"fetchCampaigns.d.ts","sourceRoot":"","sources":["../../../src/votemarket/fetchCampaigns.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,YAAY,CAAA;AAElE,eAAO,MAAM,oBAAoB,KAAK,CAAA;AACtC,eAAO,MAAM,mBAAmB,KAAK,CAAA;AACrC,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAEpC,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ;AA8DD,eAAO,MAAM,cAAc,+BAAsC,mBAAmB,KAAG,OAAO,CAAC,QAAQ,EAAE,CAgLxG,CAAA"}
@@ -0,0 +1,6 @@
1
+ type Rpcs = {
2
+ [chainId: number]: string;
3
+ };
4
+ export declare const fetchClaimableData: (rpc: Rpcs, platform: string, user: string, campaigns: number[], userVotes: any[][]) => Promise<any>;
5
+ export {};
6
+ //# sourceMappingURL=fetchClaimableData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchClaimableData.d.ts","sourceRoot":"","sources":["../../../src/votemarket/fetchClaimableData.ts"],"names":[],"mappings":"AAOA,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAID,eAAO,MAAM,kBAAkB,QACxB,IAAI,YACC,MAAM,QACV,MAAM,aACD,MAAM,EAAE,aACR,GAAG,EAAE,EAAE,iBA+BnB,CAAA"}
@@ -0,0 +1,9 @@
1
+ type Rpcs = {
2
+ [chainId: number]: string;
3
+ };
4
+ export declare const fetchEpochsVotes: (rpc: Rpcs, gaugeController: string, user: string, epochs: number[]) => Promise<{
5
+ votes: any;
6
+ epoch: number | undefined;
7
+ }[]>;
8
+ export {};
9
+ //# sourceMappingURL=fetchEpochVotes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchEpochVotes.d.ts","sourceRoot":"","sources":["../../../src/votemarket/fetchEpochVotes.ts"],"names":[],"mappings":"AAOA,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;;;IAoCxG,CAAA"}
@@ -0,0 +1,32 @@
1
+ export declare const GaugeControllerConstants: {
2
+ GAUGES_SLOTS: {
3
+ curve: {
4
+ pointWeights: number;
5
+ lastUserVote: number;
6
+ voteUserSlope: number;
7
+ };
8
+ balancer: {
9
+ pointWeights: number;
10
+ lastUserVote: number;
11
+ voteUserSlope: number;
12
+ };
13
+ frax: {
14
+ pointWeights: number;
15
+ lastUserVote: number;
16
+ voteUserSlope: number;
17
+ };
18
+ fxn: {
19
+ pointWeights: number;
20
+ lastUserVote: number;
21
+ voteUserSlope: number;
22
+ };
23
+ };
24
+ GAUGE_CONTROLLER: {
25
+ curve: string;
26
+ balancer: string;
27
+ frax: string;
28
+ fxn: string;
29
+ };
30
+ };
31
+ export declare const BLOCK_HEADER: string[];
32
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +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,UAqBxB,CAAA"}
@@ -0,0 +1,6 @@
1
+ type Rpcs = {
2
+ [chainId: number]: string;
3
+ };
4
+ export declare function generateBlockProof(rpc: Rpcs, protocol: string, gaugeAddress: `0x${string}`, currentPeriod: bigint, blockNumber: bigint): Promise<[string, string]>;
5
+ export {};
6
+ //# sourceMappingURL=getBlockProof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBlockProof.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/generateProofs/getBlockProof.ts"],"names":[],"mappings":"AAKA,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAoBD,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,CAc3B"}
@@ -0,0 +1,6 @@
1
+ type Rpcs = {
2
+ [chainId: number]: string;
3
+ };
4
+ export declare function generateGaugeProof(rpc: Rpcs, protocol: string, gaugeAddress: `0x${string}`, currentPeriod: bigint, blockNumber: bigint): Promise<[string, string]>;
5
+ export {};
6
+ //# sourceMappingURL=getGaugeProof.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,6 @@
1
+ type Rpcs = {
2
+ [chainId: number]: string;
3
+ };
4
+ export declare function generateUserProof(rpc: Rpcs, protocol: string, gaugeAddress: `0x${string}`, user: `0x${string}`, blockNumber: bigint): Promise<[string, string]>;
5
+ export {};
6
+ //# sourceMappingURL=getUserProof.d.ts.map
@@ -0,0 +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,7 +1,14 @@
1
+ export type Period = {
2
+ rewardPerPeriod: string;
3
+ rewardPerVote: string;
4
+ leftover: string;
5
+ updated: boolean;
6
+ };
1
7
  export type Campaign = {
2
8
  id: number;
3
9
  chainId: number;
4
10
  gauge: string;
11
+ gaugeChainId: number;
5
12
  manager: string;
6
13
  rewardToken: {
7
14
  name: string;
@@ -10,6 +17,7 @@ export type Campaign = {
10
17
  decimals: number;
11
18
  chainId: number;
12
19
  };
20
+ rewardTokenPrice: number;
13
21
  numberOfPeriods: number;
14
22
  maxRewardPerVote: string;
15
23
  totalRewardAmount: string;
@@ -17,17 +25,12 @@ export type Campaign = {
17
25
  startTimestamp: number;
18
26
  endTimestamp: number;
19
27
  hook: string;
20
- isKilled: boolean;
28
+ isClosed: boolean;
21
29
  addresses: string[];
22
30
  isWhitelist: boolean;
23
31
  isBlacklist: boolean;
24
- currentPeriod: {
25
- rewardPerPeriod: string;
26
- rewardPerVote: string;
27
- leftover: string;
28
- updated: boolean;
29
- };
30
- totalPeriods: number;
32
+ previousPeriod: Period;
33
+ currentPeriod: Period;
31
34
  periodLeft: number;
32
35
  status: {
33
36
  voteOpen: boolean;
@@ -36,5 +39,25 @@ export type Campaign = {
36
39
  claimClosed: boolean;
37
40
  expired: boolean;
38
41
  };
42
+ claimableAmount?: string;
43
+ };
44
+ export type RawPeriod = {
45
+ rewardPerPeriod: bigint;
46
+ rewardPerVote: bigint;
47
+ leftover: bigint;
48
+ updated: boolean;
49
+ };
50
+ export type RawCampaign = {
51
+ chainId: bigint;
52
+ endTimestamp: bigint;
53
+ gauge: string;
54
+ hook: string;
55
+ manager: string;
56
+ maxRewardPerVote: bigint;
57
+ numberOfPeriods: number;
58
+ rewardToken: bigint;
59
+ startTimestamp: bigint;
60
+ totalDistributed: bigint;
61
+ totalRewardAmount: bigint;
39
62
  };
40
63
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/votemarket/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,aAAa,EAAE;QACb,eAAe,EAAE,MAAM,CAAA;QACvB,aAAa,EAAE,MAAM,CAAA;QACrB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,OAAO,CAAA;KACjB,CAAA;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE;QACN,QAAQ,EAAE,OAAO,CAAA;QACjB,UAAU,EAAE,OAAO,CAAA;QACnB,SAAS,EAAE,OAAO,CAAA;QAClB,WAAW,EAAE,OAAO,CAAA;QACpB,OAAO,EAAE,OAAO,CAAA;KACjB,CAAA;CACF,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/votemarket/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE;QACN,QAAQ,EAAE,OAAO,CAAA;QACjB,UAAU,EAAE,OAAO,CAAA;QACnB,SAAS,EAAE,OAAO,CAAA;QAClB,WAAW,EAAE,OAAO,CAAA;QACpB,OAAO,EAAE,OAAO,CAAA;KACjB,CAAA;IACD,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAID,MAAM,MAAM,SAAS,GAAG;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stake-dao/reader",
3
3
  "description": "",
4
- "version": "0.4.27",
4
+ "version": "0.4.29",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",