@stake-dao/reader 0.4.27 → 0.4.28

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 (84) hide show
  1. package/dist/esm/bytecodes/votemarket/batchCampaigns.js +11 -1
  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 +4 -3
  10. package/dist/esm/bytecodes/votemarket/curve/batchCurveGaugesMetadata.js.map +1 -1
  11. package/dist/esm/index.js +7 -0
  12. package/dist/esm/index.js.map +1 -1
  13. package/dist/esm/strategies/pancakeswap/endpoints.js +1 -1
  14. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  15. package/dist/esm/utils.js +43 -1
  16. package/dist/esm/utils.js.map +1 -1
  17. package/dist/esm/votemarket/curve/config.js +1 -1
  18. package/dist/esm/votemarket/curve/fetchCurveGauges.js +2 -0
  19. package/dist/esm/votemarket/curve/fetchCurveGauges.js.map +1 -1
  20. package/dist/esm/votemarket/curve/fetchSnapshotUserData.js.map +1 -1
  21. package/dist/esm/votemarket/fetchCampaigns.js +95 -10
  22. package/dist/esm/votemarket/fetchCampaigns.js.map +1 -1
  23. package/dist/esm/votemarket/fetchClaimableData.js +36 -0
  24. package/dist/esm/votemarket/fetchClaimableData.js.map +1 -0
  25. package/dist/esm/votemarket/fetchEpochVotes.js +30 -0
  26. package/dist/esm/votemarket/fetchEpochVotes.js.map +1 -0
  27. package/dist/esm/votemarket/generateProofs/config.js +53 -0
  28. package/dist/esm/votemarket/generateProofs/config.js.map +1 -0
  29. package/dist/esm/votemarket/generateProofs/getBlockProof.js +33 -0
  30. package/dist/esm/votemarket/generateProofs/getBlockProof.js.map +1 -0
  31. package/dist/esm/votemarket/generateProofs/getGaugeProof.js +50 -0
  32. package/dist/esm/votemarket/generateProofs/getGaugeProof.js.map +1 -0
  33. package/dist/esm/votemarket/generateProofs/getUserProof.js +49 -0
  34. package/dist/esm/votemarket/generateProofs/getUserProof.js.map +1 -0
  35. package/dist/types/bytecodes/votemarket/batchCampaigns.d.ts.map +1 -1
  36. package/dist/types/bytecodes/votemarket/batchClaimableData.d.ts +4 -0
  37. package/dist/types/bytecodes/votemarket/batchClaimableData.d.ts.map +1 -0
  38. package/dist/types/bytecodes/votemarket/batchGaugesWeight.d.ts +4 -0
  39. package/dist/types/bytecodes/votemarket/batchGaugesWeight.d.ts.map +1 -0
  40. package/dist/types/bytecodes/votemarket/batchVotes.d.ts +4 -0
  41. package/dist/types/bytecodes/votemarket/batchVotes.d.ts.map +1 -0
  42. package/dist/types/bytecodes/votemarket/curve/batchCurveGaugesMetadata.d.ts.map +1 -1
  43. package/dist/types/index.d.ts +5 -0
  44. package/dist/types/index.d.ts.map +1 -1
  45. package/dist/types/utils.d.ts +13 -0
  46. package/dist/types/utils.d.ts.map +1 -1
  47. package/dist/types/votemarket/curve/config.d.ts +1 -1
  48. package/dist/types/votemarket/curve/fetchCurveGauges.d.ts.map +1 -1
  49. package/dist/types/votemarket/curve/fetchSnapshotUserData.d.ts.map +1 -1
  50. package/dist/types/votemarket/fetchCampaigns.d.ts.map +1 -1
  51. package/dist/types/votemarket/fetchClaimableData.d.ts +6 -0
  52. package/dist/types/votemarket/fetchClaimableData.d.ts.map +1 -0
  53. package/dist/types/votemarket/fetchEpochVotes.d.ts +9 -0
  54. package/dist/types/votemarket/fetchEpochVotes.d.ts.map +1 -0
  55. package/dist/types/votemarket/generateProofs/config.d.ts +32 -0
  56. package/dist/types/votemarket/generateProofs/config.d.ts.map +1 -0
  57. package/dist/types/votemarket/generateProofs/getBlockProof.d.ts +6 -0
  58. package/dist/types/votemarket/generateProofs/getBlockProof.d.ts.map +1 -0
  59. package/dist/types/votemarket/generateProofs/getGaugeProof.d.ts +6 -0
  60. package/dist/types/votemarket/generateProofs/getGaugeProof.d.ts.map +1 -0
  61. package/dist/types/votemarket/generateProofs/getUserProof.d.ts +6 -0
  62. package/dist/types/votemarket/generateProofs/getUserProof.d.ts.map +1 -0
  63. package/dist/types/votemarket/types.d.ts +31 -8
  64. package/dist/types/votemarket/types.d.ts.map +1 -1
  65. package/package.json +1 -1
  66. package/src/bytecodes/votemarket/batchCampaigns.ts +11 -1
  67. package/src/bytecodes/votemarket/batchClaimableData.ts +24 -0
  68. package/src/bytecodes/votemarket/batchGaugesWeight.ts +15 -0
  69. package/src/bytecodes/votemarket/batchVotes.ts +15 -0
  70. package/src/bytecodes/votemarket/curve/batchCurveGaugesMetadata.ts +4 -3
  71. package/src/index.ts +10 -0
  72. package/src/strategies/pancakeswap/endpoints.ts +1 -1
  73. package/src/utils.ts +66 -1
  74. package/src/votemarket/curve/config.ts +1 -1
  75. package/src/votemarket/curve/fetchCurveGauges.ts +3 -0
  76. package/src/votemarket/curve/fetchSnapshotUserData.ts +1 -0
  77. package/src/votemarket/fetchCampaigns.ts +125 -11
  78. package/src/votemarket/fetchClaimableData.ts +50 -0
  79. package/src/votemarket/fetchEpochVotes.ts +48 -0
  80. package/src/votemarket/generateProofs/config.ts +53 -0
  81. package/src/votemarket/generateProofs/getBlockProof.ts +48 -0
  82. package/src/votemarket/generateProofs/getGaugeProof.ts +75 -0
  83. package/src/votemarket/generateProofs/getUserProof.ts +74 -0
  84. package/src/votemarket/types.ts +36 -8
@@ -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,aAkErB,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;AAiDnD,QAAA,MAAM,wBAAwB,EAAE,aAgB/B,CAAA;AAED,eAAe,wBAAwB,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"}
@@ -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,6 +27,15 @@ 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;
@@ -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;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,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,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,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;
@@ -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":"AAUA,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,CAwJpE,CAAA"}
@@ -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,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,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,CA6JxG,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.28",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",
@@ -2,7 +2,7 @@ import type { BatchMetaData } from '../types.js'
2
2
 
3
3
  const batchCampaigns: BatchMetaData = {
4
4
  bytecode: {
5
- 1: '0x608060405234801561000f575f80fd5b5060405161123a38038061123a83398181016040528101906100319190610879565b5f8390505f821461004257816100b0565b8073ffffffffffffffffffffffffffffffffffffffff16637274e30d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100af91906108c9565b5b91505f83836100bf9190610921565b67ffffffffffffffff8111156100d8576100d7610954565b5b60405190808252806020026020018201604052801561011157816020015b6100fe6106c2565b8152602001906001900390816100f65790505b5090505f8490505b83811015610693576101296106c2565b81815f0181815250508373ffffffffffffffffffffffffffffffffffffffff16635598f8cc836040518263ffffffff1660e01b815260040161016b9190610990565b61016060405180830381865afa158015610187573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ab9190610b47565b81602001819052508373ffffffffffffffffffffffffffffffffffffffff166355b88ff6836040518263ffffffff1660e01b81526004016101ec9190610990565b602060405180830381865afa158015610207573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022b9190610ba8565b8160400190151590811515815250508373ffffffffffffffffffffffffffffffffffffffff1663df4c3d10836040518263ffffffff1660e01b81526004016102739190610990565b602060405180830381865afa15801561028e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b29190610ba8565b8160600190151590811515815250508373ffffffffffffffffffffffffffffffffffffffff16636fb08df2836040518263ffffffff1660e01b81526004016102fa9190610990565b5f60405180830381865afa158015610314573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061033c9190610c9b565b81608001819052505f62093a808573ffffffffffffffffffffffffffffffffffffffff1663766718086040518163ffffffff1660e01b8152600401602060405180830381865afa158015610392573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b691906108c9565b6103c09190610ce2565b90505f82604001516103d257816103dd565b826020015161012001515b90508573ffffffffffffffffffffffffffffffffffffffff166352aed57885836040518363ffffffff1660e01b815260040161041a929190610d15565b608060405180830381865afa158015610435573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104599190610db1565b8360a001819052508573ffffffffffffffffffffffffffffffffffffffff16639dd5359785846040518363ffffffff1660e01b815260040161049c929190610d15565b602060405180830381865afa1580156104b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104db91906108c9565b8360c00181815250505f8290505b83602001516101000151811115610658575f8773ffffffffffffffffffffffffffffffffffffffff166317f3a72287846040518363ffffffff1660e01b8152600401610536929190610d15565b608060405180830381865afa158015610551573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105759190610e51565b90505f8160200151146105d857805f015185602001516080019060ff16908160ff16815250508060200151856020015160c00181815250508060400151856020015160a00181815250508060600151856020015161012001818152505050610658565b8773ffffffffffffffffffffffffffffffffffffffff1663ac4746ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610621573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064591906108c9565b826106509190610921565b9150506104e9565b83868a876106669190610921565b8151811061067757610676610e7c565b5b6020026020010181905250505050508080600101915050610119565b505f816040516020016106a69190611219565b6040516020818303038152906040529050602081018059038082f35b6040518060e001604052805f81526020016106db61070b565b81526020015f151581526020015f15158152602001606081526020016106ff6107b5565b81526020015f81525090565b6040518061016001604052805f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f60ff1681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b60405180608001604052805f81526020015f81526020015f81526020015f151581525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610815826107ec565b9050919050565b6108258161080b565b811461082f575f80fd5b50565b5f815190506108408161081c565b92915050565b5f819050919050565b61085881610846565b8114610862575f80fd5b50565b5f815190506108738161084f565b92915050565b5f805f606084860312156108905761088f6107e4565b5b5f61089d86828701610832565b93505060206108ae86828701610865565b92505060406108bf86828701610865565b9150509250925092565b5f602082840312156108de576108dd6107e4565b5b5f6108eb84828501610865565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61092b82610846565b915061093683610846565b925082820390508181111561094e5761094d6108f4565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61098a81610846565b82525050565b5f6020820190506109a35f830184610981565b92915050565b5f80fd5b5f601f19601f8301169050919050565b6109c6826109ad565b810181811067ffffffffffffffff821117156109e5576109e4610954565b5b80604052505050565b5f6109f76107db565b9050610a0382826109bd565b919050565b5f60ff82169050919050565b610a1d81610a08565b8114610a27575f80fd5b50565b5f81519050610a3881610a14565b92915050565b5f6101608284031215610a5457610a536109a9565b5b610a5f6101606109ee565b90505f610a6e84828501610865565b5f830152506020610a8184828501610832565b6020830152506040610a9584828501610832565b6040830152506060610aa984828501610832565b6060830152506080610abd84828501610a2a565b60808301525060a0610ad184828501610865565b60a08301525060c0610ae584828501610865565b60c08301525060e0610af984828501610865565b60e083015250610100610b0e84828501610865565b61010083015250610120610b2484828501610865565b61012083015250610140610b3a84828501610832565b6101408301525092915050565b5f6101608284031215610b5d57610b5c6107e4565b5b5f610b6a84828501610a3e565b91505092915050565b5f8115159050919050565b610b8781610b73565b8114610b91575f80fd5b50565b5f81519050610ba281610b7e565b92915050565b5f60208284031215610bbd57610bbc6107e4565b5b5f610bca84828501610b94565b91505092915050565b5f80fd5b5f67ffffffffffffffff821115610bf157610bf0610954565b5b602082029050602081019050919050565b5f80fd5b5f610c18610c1384610bd7565b6109ee565b90508083825260208201905060208402830185811115610c3b57610c3a610c02565b5b835b81811015610c645780610c508882610832565b845260208401935050602081019050610c3d565b5050509392505050565b5f82601f830112610c8257610c81610bd3565b5b8151610c92848260208601610c06565b91505092915050565b5f60208284031215610cb057610caf6107e4565b5b5f82015167ffffffffffffffff811115610ccd57610ccc6107e8565b5b610cd984828501610c6e565b91505092915050565b5f610cec82610846565b9150610cf783610846565b9250828201905080821115610d0f57610d0e6108f4565b5b92915050565b5f604082019050610d285f830185610981565b610d356020830184610981565b9392505050565b5f60808284031215610d5157610d506109a9565b5b610d5b60806109ee565b90505f610d6a84828501610865565b5f830152506020610d7d84828501610865565b6020830152506040610d9184828501610865565b6040830152506060610da584828501610b94565b60608301525092915050565b5f60808284031215610dc657610dc56107e4565b5b5f610dd384828501610d3c565b91505092915050565b5f60808284031215610df157610df06109a9565b5b610dfb60806109ee565b90505f610e0a84828501610a2a565b5f830152506020610e1d84828501610865565b6020830152506040610e3184828501610865565b6040830152506060610e4584828501610865565b60608301525092915050565b5f60808284031215610e6657610e656107e4565b5b5f610e7384828501610ddc565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610edb81610846565b82525050565b610eea8161080b565b82525050565b610ef981610a08565b82525050565b61016082015f820151610f145f850182610ed2565b506020820151610f276020850182610ee1565b506040820151610f3a6040850182610ee1565b506060820151610f4d6060850182610ee1565b506080820151610f606080850182610ef0565b5060a0820151610f7360a0850182610ed2565b5060c0820151610f8660c0850182610ed2565b5060e0820151610f9960e0850182610ed2565b50610100820151610fae610100850182610ed2565b50610120820151610fc3610120850182610ed2565b50610140820151610fd8610140850182610ee1565b50505050565b610fe781610b73565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6110218383610ee1565b60208301905092915050565b5f602082019050919050565b5f61104382610fed565b61104d8185610ff7565b935061105883611007565b805f5b8381101561108857815161106f8882611016565b975061107a8361102d565b92505060018101905061105b565b5085935050505092915050565b608082015f8201516110a95f850182610ed2565b5060208201516110bc6020850182610ed2565b5060408201516110cf6040850182610ed2565b5060608201516110e26060850182610fde565b50505050565b5f61028083015f8301516110fe5f860182610ed2565b5060208301516111116020860182610eff565b506040830151611125610180860182610fde565b5060608301516111396101a0860182610fde565b5060808301518482036101c08601526111528282611039565b91505060a08301516111686101e0860182611095565b5060c083015161117c610260860182610ed2565b508091505092915050565b5f61119283836110e8565b905092915050565b5f602082019050919050565b5f6111b082610ea9565b6111ba8185610eb3565b9350836020820285016111cc85610ec3565b805f5b8581101561120757848403895281516111e88582611187565b94506111f38361119a565b925060208a019950506001810190506111cf565b50829750879550505050505092915050565b5f6020820190508181035f83015261123181846111a6565b90509291505056fe',
5
+ 1: '0x608060405234801561000f575f80fd5b5060405161130c38038061130c83398181016040528101906100319190610937565b5f8390505f821461004257816100b0565b8073ffffffffffffffffffffffffffffffffffffffff16637274e30d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100af9190610987565b5b91505f83836100bf91906109df565b67ffffffffffffffff8111156100d8576100d7610a12565b5b60405190808252806020026020018201604052801561011157816020015b6100fe610772565b8152602001906001900390816100f65790505b5090505f8490505b8381101561074357610129610772565b81815f0181815250508373ffffffffffffffffffffffffffffffffffffffff16635598f8cc836040518263ffffffff1660e01b815260040161016b9190610a4e565b61016060405180830381865afa158015610187573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ab9190610c05565b81602001819052508373ffffffffffffffffffffffffffffffffffffffff166355b88ff6836040518263ffffffff1660e01b81526004016101ec9190610a4e565b602060405180830381865afa158015610207573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022b9190610c66565b8160400190151590811515815250508373ffffffffffffffffffffffffffffffffffffffff1663df4c3d10836040518263ffffffff1660e01b81526004016102739190610a4e565b602060405180830381865afa15801561028e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b29190610c66565b8160600190151590811515815250508373ffffffffffffffffffffffffffffffffffffffff16636fb08df2836040518263ffffffff1660e01b81526004016102fa9190610a4e565b5f60405180830381865afa158015610314573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061033c9190610d59565b81608001819052505f4282602001516101000151116103d55762093a808573ffffffffffffffffffffffffffffffffffffffff1663766718086040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c69190610987565b6103d09190610da0565b6103e0565b816020015161010001515b90505f82604001516103f257816103fd565b826020015161012001515b90508573ffffffffffffffffffffffffffffffffffffffff166352aed5788562093a808561042b91906109df565b6040518363ffffffff1660e01b8152600401610448929190610dd3565b608060405180830381865afa158015610463573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104879190610e6f565b8360a001819052508573ffffffffffffffffffffffffffffffffffffffff166352aed57885836040518363ffffffff1660e01b81526004016104ca929190610dd3565b608060405180830381865afa1580156104e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105099190610e6f565b8360c001819052508573ffffffffffffffffffffffffffffffffffffffff16639dd5359785846040518363ffffffff1660e01b815260040161054c929190610dd3565b602060405180830381865afa158015610567573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058b9190610987565b8360e00181815250505f8290505b83602001516101000151811115610708575f8773ffffffffffffffffffffffffffffffffffffffff166317f3a72287846040518363ffffffff1660e01b81526004016105e6929190610dd3565b608060405180830381865afa158015610601573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106259190610f0f565b90505f81602001511461068857805f015185602001516080019060ff16908160ff16815250508060200151856020015160c00181815250508060400151856020015160a00181815250508060600151856020015161012001818152505050610708565b8773ffffffffffffffffffffffffffffffffffffffff1663ac4746ab6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f59190610987565b8261070091906109df565b915050610599565b83868a8761071691906109df565b8151811061072757610726610f3a565b5b6020026020010181905250505050508080600101915050610119565b505f8160405160200161075691906112eb565b6040516020818303038152906040529050602081018059038082f35b6040518061010001604052805f815260200161078c6107c9565b81526020015f151581526020015f15158152602001606081526020016107b0610873565b81526020016107bd610873565b81526020015f81525090565b6040518061016001604052805f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f60ff1681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b60405180608001604052805f81526020015f81526020015f81526020015f151581525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6108d3826108aa565b9050919050565b6108e3816108c9565b81146108ed575f80fd5b50565b5f815190506108fe816108da565b92915050565b5f819050919050565b61091681610904565b8114610920575f80fd5b50565b5f815190506109318161090d565b92915050565b5f805f6060848603121561094e5761094d6108a2565b5b5f61095b868287016108f0565b935050602061096c86828701610923565b925050604061097d86828701610923565b9150509250925092565b5f6020828403121561099c5761099b6108a2565b5b5f6109a984828501610923565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6109e982610904565b91506109f483610904565b9250828203905081811115610a0c57610a0b6109b2565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610a4881610904565b82525050565b5f602082019050610a615f830184610a3f565b92915050565b5f80fd5b5f601f19601f8301169050919050565b610a8482610a6b565b810181811067ffffffffffffffff82111715610aa357610aa2610a12565b5b80604052505050565b5f610ab5610899565b9050610ac18282610a7b565b919050565b5f60ff82169050919050565b610adb81610ac6565b8114610ae5575f80fd5b50565b5f81519050610af681610ad2565b92915050565b5f6101608284031215610b1257610b11610a67565b5b610b1d610160610aac565b90505f610b2c84828501610923565b5f830152506020610b3f848285016108f0565b6020830152506040610b53848285016108f0565b6040830152506060610b67848285016108f0565b6060830152506080610b7b84828501610ae8565b60808301525060a0610b8f84828501610923565b60a08301525060c0610ba384828501610923565b60c08301525060e0610bb784828501610923565b60e083015250610100610bcc84828501610923565b61010083015250610120610be284828501610923565b61012083015250610140610bf8848285016108f0565b6101408301525092915050565b5f6101608284031215610c1b57610c1a6108a2565b5b5f610c2884828501610afc565b91505092915050565b5f8115159050919050565b610c4581610c31565b8114610c4f575f80fd5b50565b5f81519050610c6081610c3c565b92915050565b5f60208284031215610c7b57610c7a6108a2565b5b5f610c8884828501610c52565b91505092915050565b5f80fd5b5f67ffffffffffffffff821115610caf57610cae610a12565b5b602082029050602081019050919050565b5f80fd5b5f610cd6610cd184610c95565b610aac565b90508083825260208201905060208402830185811115610cf957610cf8610cc0565b5b835b81811015610d225780610d0e88826108f0565b845260208401935050602081019050610cfb565b5050509392505050565b5f82601f830112610d4057610d3f610c91565b5b8151610d50848260208601610cc4565b91505092915050565b5f60208284031215610d6e57610d6d6108a2565b5b5f82015167ffffffffffffffff811115610d8b57610d8a6108a6565b5b610d9784828501610d2c565b91505092915050565b5f610daa82610904565b9150610db583610904565b9250828201905080821115610dcd57610dcc6109b2565b5b92915050565b5f604082019050610de65f830185610a3f565b610df36020830184610a3f565b9392505050565b5f60808284031215610e0f57610e0e610a67565b5b610e196080610aac565b90505f610e2884828501610923565b5f830152506020610e3b84828501610923565b6020830152506040610e4f84828501610923565b6040830152506060610e6384828501610c52565b60608301525092915050565b5f60808284031215610e8457610e836108a2565b5b5f610e9184828501610dfa565b91505092915050565b5f60808284031215610eaf57610eae610a67565b5b610eb96080610aac565b90505f610ec884828501610ae8565b5f830152506020610edb84828501610923565b6020830152506040610eef84828501610923565b6040830152506060610f0384828501610923565b60608301525092915050565b5f60808284031215610f2457610f236108a2565b5b5f610f3184828501610e9a565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610f9981610904565b82525050565b610fa8816108c9565b82525050565b610fb781610ac6565b82525050565b61016082015f820151610fd25f850182610f90565b506020820151610fe56020850182610f9f565b506040820151610ff86040850182610f9f565b50606082015161100b6060850182610f9f565b50608082015161101e6080850182610fae565b5060a082015161103160a0850182610f90565b5060c082015161104460c0850182610f90565b5060e082015161105760e0850182610f90565b5061010082015161106c610100850182610f90565b50610120820151611081610120850182610f90565b50610140820151611096610140850182610f9f565b50505050565b6110a581610c31565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6110df8383610f9f565b60208301905092915050565b5f602082019050919050565b5f611101826110ab565b61110b81856110b5565b9350611116836110c5565b805f5b8381101561114657815161112d88826110d4565b9750611138836110eb565b925050600181019050611119565b5085935050505092915050565b608082015f8201516111675f850182610f90565b50602082015161117a6020850182610f90565b50604082015161118d6040850182610f90565b5060608201516111a0606085018261109c565b50505050565b5f61030083015f8301516111bc5f860182610f90565b5060208301516111cf6020860182610fbd565b5060408301516111e361018086018261109c565b5060608301516111f76101a086018261109c565b5060808301518482036101c086015261121082826110f7565b91505060a08301516112266101e0860182611153565b5060c083015161123a610260860182611153565b5060e083015161124e6102e0860182610f90565b508091505092915050565b5f61126483836111a6565b905092915050565b5f602082019050919050565b5f61128282610f67565b61128c8185610f71565b93508360208202850161129e85610f81565b805f5b858110156112d957848403895281516112ba8582611259565b94506112c58361126c565b925060208a019950506001810190506112a1565b50829750879550505050505092915050565b5f6020820190508181035f8301526113038184611278565b90509291505056fe',
6
6
  },
7
7
  inputType: {
8
8
  1: ['address platform, uint256 skip, uint256 limit'],
@@ -41,6 +41,16 @@ const batchCampaigns: BatchMetaData = {
41
41
  { type: 'bool', name: 'isKilled' },
42
42
  { type: 'bool', name: 'isWhitelistOnly' },
43
43
  { type: 'address[]', name: 'addresses' },
44
+ {
45
+ type: 'tuple',
46
+ name: 'previousPeriod',
47
+ components: [
48
+ { type: 'uint256', name: 'rewardPerPeriod' },
49
+ { type: 'uint256', name: 'rewardPerVote' },
50
+ { type: 'uint256', name: 'leftover' },
51
+ { type: 'bool', name: 'updated' },
52
+ ],
53
+ },
44
54
  {
45
55
  type: 'tuple',
46
56
  name: 'currentPeriod',
@@ -0,0 +1,24 @@
1
+ import type { BatchMetaData } from '../types.js'
2
+
3
+ const batchClaimableData: BatchMetaData = {
4
+ bytecode: {
5
+ 42161:
6
+ '0x608060405234801561000f575f80fd5b50604051611fb2380380611fb28339818101604052810190610031919061139f565b5f825167ffffffffffffffff81111561004d5761004c61102d565b5b60405190808252806020026020018201604052801561008657816020015b610073610f28565b81526020019060019003908161006b5790505b509050845f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f62093a8090505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338013f026040518163ffffffff1660e01b8152600401602060405180830381865afa158015610137573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015b919061143b565b73ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c7919061143b565b60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f5b8451811015610287575f85828151811061022557610224611466565b5b6020026020010151905061025b878287858151811061024757610246611466565b5b6020026020010151866102b660201b60201c565b84838151811061026e5761026d611466565b5b6020026020010181905250508080600101915050610208565b505f8260405160200161029a91906117e9565b6040516020818303038152906040529050602081018059038082f35b6102be610f28565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635598f8cc866040518263ffffffff1660e01b81526004016103189190611818565b61016060405180830381865afa158015610334573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103589190611970565b90505f81610100015190505f826080015160ff1667ffffffffffffffff8111156103855761038461102d565b5b6040519080825280602002602001820160405280156103be57816020015b6103ab610f41565b8152602001906001900390816103a35790505b5090505f5b815181101561059f575f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166317f3a7228a866040518363ffffffff1660e01b815260040161042892919061199c565b608060405180830381865afa158015610443573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104679190611a38565b90505f8160200151146104ac5780602001518560c001818152505080604001518560a00181815250508460800151856080019060ff16908160ff16815250505061059f565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fb08df28b6040518263ffffffff1660e01b81526004016105069190611818565b5f60405180830381865afa158015610520573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906105489190611b23565b905061055e868c8b888e866105c260201b60201c565b84848151811061057157610570611466565b5b602002602001018190525087856105889190611b97565b9450828061059590611bca565b93505050506103c3565b604051806040016040528089815260200183815250945050505050949350505050565b6105ca610f41565b5f806105dc87876108a560201b60201c565b915091505f8214806105ed57505f81145b15610687576040518060e001604052808781526020015f81526020015f151581526020015f151581526020015f151581526020015f81526020015f67ffffffffffffffff8111156106415761064061102d565b5b60405190808252806020026020018201604052801561067a57816020015b610667610f7e565b81526020019060019003908161065f5790505b508152509250505061089b565b5f805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166303f17e568c604001516040518263ffffffff1660e01b81526004016106e59190611c20565b602060405180830381865afa158015610700573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107249190611c39565b116107ba575f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015610791573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b59190611c39565b610856565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166303f17e568b604001516040518263ffffffff1660e01b81526004016108169190611c20565b602060405180830381865afa158015610831573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108559190611c39565b5b90505f61086e8b8b86868c8c8861093a60201b60201c565b90505f865111156108935761088a8b878a610c8760201b60201c565b8160c001819052505b809450505050505b9695505050505050565b5f805f5b845181101561092b57838582815181106108c6576108c5611466565b5b60200260200101515f01510361091e578481815181106108e9576108e8611466565b5b60200260200101516020015185828151811061090857610907611466565b5b6020026020010151604001519250925050610933565b80806001019150506108a9565b505f80915091505b9250929050565b610942610f41565b5f80805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166366629f1286888c6040518463ffffffff1660e01b81526004016109a193929190611c64565b602060405180830381865afa1580156109bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e09190611c39565b036109fa576109f789888886610e5a60201b60201c565b90505b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329597009876040518263ffffffff1660e01b8152600401610a559190611818565b608060405180830381865afa158015610a70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a949190611d41565b90506040518060e001604052808781526020018381526020015f801b83602001511415151581526020015f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e31c6a638e602001518b6040518363ffffffff1660e01b8152600401610b1f929190611d6c565b6040805180830381865afa158015610b39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5d9190611de0565b6020015111151581526020015f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bef3ba998d8f602001518c6040518463ffffffff1660e01b8152600401610bcc93929190611e0b565b608060405180830381865afa158015610be7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c0b9190611eb5565b606001511115158152602001826040015181526020015f67ffffffffffffffff811115610c3b57610c3a61102d565b5b604051908082528060200260200182016040528015610c7457816020015b610c61610f7e565b815260200190600190039081610c595790505b5081525092505050979650505050505050565b60605f835167ffffffffffffffff811115610ca557610ca461102d565b5b604051908082528060200260200182016040528015610cde57816020015b610ccb610f7e565b815260200190600190039081610cc35790505b5090505f5b8451811015610e4e57848181518110610cff57610cfe611466565b5b6020026020010151828281518110610d1a57610d19611466565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bef3ba99878481518110610da857610da7611466565b5b60200260200101518960200151886040518463ffffffff1660e01b8152600401610dd493929190611e0b565b608060405180830381865afa158015610def573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e139190611eb5565b6060015111828281518110610e2b57610e2a611466565b5b602002602001015160200190151590811515815250508080600101915050610ce3565b50809150509392505050565b5f805f90505f84670de0b6b3a7640000886080015160ff168960c00151610e819190611f0d565b610e8b9190611f3d565b610e959190611f0d565b90508660a00151811115610ecd57670de0b6b3a76400008760a0015187610ebc9190611f3d565b610ec69190611f0d565b9150610eef565b670de0b6b3a76400008187610ee29190611f3d565b610eec9190611f0d565b91505b670de0b6b3a76400008483610f049190611f3d565b610f0e9190611f0d565b82610f199190611f7e565b91508192505050949350505050565b60405180604001604052805f8152602001606081525090565b6040518060e001604052805f81526020015f81526020015f151581526020015f151581526020015f151581526020015f8152602001606081525090565b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f151581525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610fe882610fbf565b9050919050565b610ff881610fde565b8114611002575f80fd5b50565b5f8151905061101381610fef565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6110638261101d565b810181811067ffffffffffffffff821117156110825761108161102d565b5b80604052505050565b5f611094610fae565b90506110a0828261105a565b919050565b5f67ffffffffffffffff8211156110bf576110be61102d565b5b602082029050602081019050919050565b5f80fd5b5f819050919050565b6110e6816110d4565b81146110f0575f80fd5b50565b5f81519050611101816110dd565b92915050565b5f611119611114846110a5565b61108b565b9050808382526020820190506020840283018581111561113c5761113b6110d0565b5b835b81811015611165578061115188826110f3565b84526020840193505060208101905061113e565b5050509392505050565b5f82601f83011261118357611182611019565b5b8151611193848260208601611107565b91505092915050565b5f67ffffffffffffffff8211156111b6576111b561102d565b5b602082029050602081019050919050565b5f67ffffffffffffffff8211156111e1576111e061102d565b5b602082029050602081019050919050565b5f80fd5b5f6060828403121561120b5761120a6111f2565b5b611215606061108b565b90505f611224848285016110f3565b5f830152506020611237848285016110f3565b602083015250604061124b848285016110f3565b60408301525092915050565b5f611269611264846111c7565b61108b565b9050808382526020820190506060840283018581111561128c5761128b6110d0565b5b835b818110156112b557806112a188826111f6565b84526020840193505060608101905061128e565b5050509392505050565b5f82601f8301126112d3576112d2611019565b5b81516112e3848260208601611257565b91505092915050565b5f6112fe6112f98461119c565b61108b565b90508083825260208201905060208402830185811115611321576113206110d0565b5b835b8181101561136857805167ffffffffffffffff81111561134657611345611019565b5b80860161135389826112bf565b85526020850194505050602081019050611323565b5050509392505050565b5f82601f83011261138657611385611019565b5b81516113968482602086016112ec565b91505092915050565b5f805f80608085870312156113b7576113b6610fb7565b5b5f6113c487828801611005565b94505060206113d587828801611005565b935050604085015167ffffffffffffffff8111156113f6576113f5610fbb565b5b6114028782880161116f565b925050606085015167ffffffffffffffff81111561142357611422610fbb565b5b61142f87828801611372565b91505092959194509250565b5f602082840312156114505761144f610fb7565b5b5f61145d84828501611005565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6114c5816110d4565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f8115159050919050565b611508816114f4565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61154081610fde565b82525050565b604082015f82015161155a5f850182611537565b50602082015161156d60208501826114ff565b50505050565b5f61157e8383611546565b60408301905092915050565b5f602082019050919050565b5f6115a08261150e565b6115aa8185611518565b93506115b583611528565b805f5b838110156115e55781516115cc8882611573565b97506115d78361158a565b9250506001810190506115b8565b5085935050505092915050565b5f60e083015f8301516116075f8601826114bc565b50602083015161161a60208601826114bc565b50604083015161162d60408601826114ff565b50606083015161164060608601826114ff565b50608083015161165360808601826114ff565b5060a083015161166660a08601826114bc565b5060c083015184820360c086015261167e8282611596565b9150508091505092915050565b5f61169683836115f2565b905092915050565b5f602082019050919050565b5f6116b4826114cb565b6116be81856114d5565b9350836020820285016116d0856114e5565b805f5b8581101561170b57848403895281516116ec858261168b565b94506116f78361169e565b925060208a019950506001810190506116d3565b50829750879550505050505092915050565b5f604083015f8301516117325f8601826114bc565b506020830151848203602086015261174a82826116aa565b9150508091505092915050565b5f611762838361171d565b905092915050565b5f602082019050919050565b5f61178082611493565b61178a818561149d565b93508360208202850161179c856114ad565b805f5b858110156117d757848403895281516117b88582611757565b94506117c38361176a565b925060208a0199505060018101905061179f565b50829750879550505050505092915050565b5f6020820190508181035f8301526118018184611776565b905092915050565b611812816110d4565b82525050565b5f60208201905061182b5f830184611809565b92915050565b5f60ff82169050919050565b61184681611831565b8114611850575f80fd5b50565b5f815190506118618161183d565b92915050565b5f610160828403121561187d5761187c6111f2565b5b61188861016061108b565b90505f611897848285016110f3565b5f8301525060206118aa84828501611005565b60208301525060406118be84828501611005565b60408301525060606118d284828501611005565b60608301525060806118e684828501611853565b60808301525060a06118fa848285016110f3565b60a08301525060c061190e848285016110f3565b60c08301525060e0611922848285016110f3565b60e083015250610100611937848285016110f3565b6101008301525061012061194d848285016110f3565b6101208301525061014061196384828501611005565b6101408301525092915050565b5f610160828403121561198657611985610fb7565b5b5f61199384828501611867565b91505092915050565b5f6040820190506119af5f830185611809565b6119bc6020830184611809565b9392505050565b5f608082840312156119d8576119d76111f2565b5b6119e2608061108b565b90505f6119f184828501611853565b5f830152506020611a04848285016110f3565b6020830152506040611a18848285016110f3565b6040830152506060611a2c848285016110f3565b60608301525092915050565b5f60808284031215611a4d57611a4c610fb7565b5b5f611a5a848285016119c3565b91505092915050565b5f67ffffffffffffffff821115611a7d57611a7c61102d565b5b602082029050602081019050919050565b5f611aa0611a9b84611a63565b61108b565b90508083825260208201905060208402830185811115611ac357611ac26110d0565b5b835b81811015611aec5780611ad88882611005565b845260208401935050602081019050611ac5565b5050509392505050565b5f82601f830112611b0a57611b09611019565b5b8151611b1a848260208601611a8e565b91505092915050565b5f60208284031215611b3857611b37610fb7565b5b5f82015167ffffffffffffffff811115611b5557611b54610fbb565b5b611b6184828501611af6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611ba1826110d4565b9150611bac836110d4565b9250828201905080821115611bc457611bc3611b6a565b5b92915050565b5f611bd4826110d4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c0657611c05611b6a565b5b600182019050919050565b611c1a81610fde565b82525050565b5f602082019050611c335f830184611c11565b92915050565b5f60208284031215611c4e57611c4d610fb7565b5b5f611c5b848285016110f3565b91505092915050565b5f606082019050611c775f830186611809565b611c846020830185611809565b611c916040830184611c11565b949350505050565b5f819050919050565b611cab81611c99565b8114611cb5575f80fd5b50565b5f81519050611cc681611ca2565b92915050565b5f60808284031215611ce157611ce06111f2565b5b611ceb608061108b565b90505f611cfa84828501611cb8565b5f830152506020611d0d84828501611cb8565b6020830152506040611d21848285016110f3565b6040830152506060611d35848285016110f3565b60608301525092915050565b5f60808284031215611d5657611d55610fb7565b5b5f611d6384828501611ccc565b91505092915050565b5f604082019050611d7f5f830185611c11565b611d8c6020830184611809565b9392505050565b5f60408284031215611da857611da76111f2565b5b611db2604061108b565b90505f611dc1848285016110f3565b5f830152506020611dd4848285016110f3565b60208301525092915050565b5f60408284031215611df557611df4610fb7565b5b5f611e0284828501611d93565b91505092915050565b5f606082019050611e1e5f830186611c11565b611e2b6020830185611c11565b611e386040830184611809565b949350505050565b5f60808284031215611e5557611e546111f2565b5b611e5f608061108b565b90505f611e6e848285016110f3565b5f830152506020611e81848285016110f3565b6020830152506040611e95848285016110f3565b6040830152506060611ea9848285016110f3565b60608301525092915050565b5f60808284031215611eca57611ec9610fb7565b5b5f611ed784828501611e40565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611f17826110d4565b9150611f22836110d4565b925082611f3257611f31611ee0565b5b828204905092915050565b5f611f47826110d4565b9150611f52836110d4565b9250828202611f60816110d4565b91508282048414831517611f7757611f76611b6a565b5b5092915050565b5f611f88826110d4565b9150611f93836110d4565b9250828203905081811115611fab57611faa611b6a565b5b9291505056fe',
7
+ },
8
+ inputType: {
9
+ 42161: [
10
+ 'address platform, address user, uint256[] campaigns, UserVote[][] userVotesData',
11
+ 'struct UserVote { uint256 epoch; uint256 userVote; uint256 totalVotes;}',
12
+ ],
13
+ },
14
+ outputTypeHr: {
15
+ 42161: [
16
+ 'ClaimableData[] claimableData',
17
+ 'struct ClaimableData { uint256 campaignId; ClaimInfo[] claimInfo; }',
18
+ 'struct ClaimInfo { uint256 epoch; uint256 claimable; bool hasBlockData; bool hasGaugeData; bool hasUserData; uint256 blockNumber; AddressesData[] addressesData}',
19
+ 'struct AddressesData { address listed; bool hasData; }',
20
+ ],
21
+ },
22
+ }
23
+
24
+ export default batchClaimableData
@@ -0,0 +1,15 @@
1
+ import type { BatchMetaData } from '../types.js'
2
+
3
+ const batchGaugesWeight: BatchMetaData = {
4
+ bytecode: {
5
+ 1: '0x608060405234801561000f575f80fd5b506040516105d93803806105d9833981810160405281019061003191906103b8565b5f815167ffffffffffffffff81111561004d5761004c61027c565b5b60405190808252806020026020018201604052801561008657816020015b6100736101cf565b81526020019060019003908161006b5790505b5090505f5b82518110156101a0575f8382815181106100a8576100a7610412565b5b602002602001015190506100ba6101cf565b81815f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508573ffffffffffffffffffffffffffffffffffffffff16634e791a3a836040518263ffffffff1660e01b815260040161012a919061044e565b602060405180830381865afa158015610145573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610169919061049a565b8160200181815250508084848151811061018657610185610412565b5b60200260200101819052505050808060010191505061008b565b505f816040516020016101b391906105b8565b6040516020818303038152906040529050602081018059038082f35b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102378261020e565b9050919050565b6102478161022d565b8114610251575f80fd5b50565b5f815190506102628161023e565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102b28261026c565b810181811067ffffffffffffffff821117156102d1576102d061027c565b5b80604052505050565b5f6102e36101fd565b90506102ef82826102a9565b919050565b5f67ffffffffffffffff82111561030e5761030d61027c565b5b602082029050602081019050919050565b5f80fd5b5f610335610330846102f4565b6102da565b905080838252602082019050602084028301858111156103585761035761031f565b5b835b81811015610381578061036d8882610254565b84526020840193505060208101905061035a565b5050509392505050565b5f82601f83011261039f5761039e610268565b5b81516103af848260208601610323565b91505092915050565b5f80604083850312156103ce576103cd610206565b5b5f6103db85828601610254565b925050602083015167ffffffffffffffff8111156103fc576103fb61020a565b5b6104088582860161038b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6104488161022d565b82525050565b5f6020820190506104615f83018461043f565b92915050565b5f819050919050565b61047981610467565b8114610483575f80fd5b50565b5f8151905061049481610470565b92915050565b5f602082840312156104af576104ae610206565b5b5f6104bc84828501610486565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6104f78161022d565b82525050565b61050681610467565b82525050565b604082015f8201516105205f8501826104ee565b50602082015161053360208501826104fd565b50505050565b5f610544838361050c565b60408301905092915050565b5f602082019050919050565b5f610566826104c5565b61057081856104cf565b935061057b836104df565b805f5b838110156105ab5781516105928882610539565b975061059d83610550565b92505060018101905061057e565b5085935050505092915050565b5f6020820190508181035f8301526105d0818461055c565b90509291505056fe',
6
+ },
7
+ inputType: {
8
+ 1: ['address _gaugeController, address[] memory gauges'],
9
+ },
10
+ outputTypeHr: {
11
+ 1: ['Weight[] returnData', 'struct Weight { address gauge; uint256 weight; }'],
12
+ },
13
+ }
14
+
15
+ export default batchGaugesWeight
@@ -0,0 +1,15 @@
1
+ import type { BatchMetaData } from '../types.js'
2
+
3
+ const batchVotes: BatchMetaData = {
4
+ bytecode: {
5
+ 1: '0x608060405234801561000f575f80fd5b50604051610aa4380380610aa483398181016040528101906100319190610554565b5f8290505f8173ffffffffffffffffffffffffffffffffffffffff1663e93841d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561007f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a391906105c8565b6fffffffffffffffffffffffffffffffff1690505f8167ffffffffffffffff8111156100d2576100d16105f3565b5b60405190808252806020026020018201604052801561010b57816020015b6100f86104b9565b8152602001906001900390816100f05790505b5090505f805f90505b838110156103a9575f8573ffffffffffffffffffffffffffffffffffffffff1663b0539187836040518263ffffffff1660e01b81526004016101569190610638565b602060405180830381865afa158015610171573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101959190610651565b90505f8673ffffffffffffffffffffffffffffffffffffffff16630f467f9889846040518363ffffffff1660e01b81526004016101d392919061068b565b606060405180830381865afa1580156101ee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610212919061079c565b90505f62093a8080426102259190610821565b61022f9190610851565b90505f826020015114806102465750808260400151105b156102535750505061039c565b5f8183604001516102649190610892565b835f01516102729190610851565b90505f8973ffffffffffffffffffffffffffffffffffffffff16634e791a3a866040518263ffffffff1660e01b81526004016102ae91906108c5565b602060405180830381865afa1580156102c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ed91906108de565b90508488878151811061030357610302610909565b5b60200260200101515f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508188878151811061035457610353610909565b5b602002602001015160200181815250508088878151811061037857610377610909565b5b60200260200101516040018181525050868061039390610936565b97505050505050505b8080600101915050610114565b505f8167ffffffffffffffff8111156103c5576103c46105f3565b5b6040519080825280602002602001820160405280156103fe57816020015b6103eb6104b9565b8152602001906001900390816103e35790505b5090505f805f90505b8581101561048a575f85828151811061042357610422610909565b5b602002602001015160200151111561047d5784818151811061044857610447610909565b5b602002602001015183838151811061046357610462610909565b5b6020026020010181905250818061047990610936565b9250505b8080600101915050610407565b505f8260405160200161049d9190610a83565b6040516020818303038152906040529050602081018059038082f35b60405180606001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81525090565b5f604051905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610523826104fa565b9050919050565b61053381610519565b811461053d575f80fd5b50565b5f8151905061054e8161052a565b92915050565b5f806040838503121561056a576105696104f6565b5b5f61057785828601610540565b925050602061058885828601610540565b9150509250929050565b5f81600f0b9050919050565b6105a781610592565b81146105b1575f80fd5b50565b5f815190506105c28161059e565b92915050565b5f602082840312156105dd576105dc6104f6565b5b5f6105ea848285016105b4565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f819050919050565b61063281610620565b82525050565b5f60208201905061064b5f830184610629565b92915050565b5f60208284031215610666576106656104f6565b5b5f61067384828501610540565b91505092915050565b61068581610519565b82525050565b5f60408201905061069e5f83018561067c565b6106ab602083018461067c565b9392505050565b5f80fd5b5f601f19601f8301169050919050565b6106cf826106b6565b810181811067ffffffffffffffff821117156106ee576106ed6105f3565b5b80604052505050565b5f6107006104ed565b905061070c82826106c6565b919050565b61071a81610620565b8114610724575f80fd5b50565b5f8151905061073581610711565b92915050565b5f606082840312156107505761074f6106b2565b5b61075a60606106f7565b90505f61076984828501610727565b5f83015250602061077c84828501610727565b602083015250604061079084828501610727565b60408301525092915050565b5f606082840312156107b1576107b06104f6565b5b5f6107be8482850161073b565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61082b82610620565b915061083683610620565b925082610846576108456107c7565b5b828204905092915050565b5f61085b82610620565b915061086683610620565b925082820261087481610620565b9150828204841483151761088b5761088a6107f4565b5b5092915050565b5f61089c82610620565b91506108a783610620565b92508282039050818111156108bf576108be6107f4565b5b92915050565b5f6020820190506108d85f83018461067c565b92915050565b5f602082840312156108f3576108f26104f6565b5b5f61090084828501610727565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61094082610620565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610972576109716107f4565b5b600182019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6109af81610519565b82525050565b6109be81610620565b82525050565b606082015f8201516109d85f8501826109a6565b5060208201516109eb60208501826109b5565b5060408201516109fe60408501826109b5565b50505050565b5f610a0f83836109c4565b60608301905092915050565b5f602082019050919050565b5f610a318261097d565b610a3b8185610987565b9350610a4683610997565b805f5b83811015610a76578151610a5d8882610a04565b9750610a6883610a1b565b925050600181019050610a49565b5085935050505092915050565b5f6020820190508181035f830152610a9b8184610a27565b90509291505056fe',
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 batchVotes