@stake-dao/reader 0.4.26 → 0.4.27

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 (40) hide show
  1. package/dist/esm/bytecodes/gaugeManager/curveGaugeRewardsData.js +36 -0
  2. package/dist/esm/bytecodes/gaugeManager/curveGaugeRewardsData.js.map +1 -0
  3. package/dist/esm/bytecodes/strategies/batches/batchPancakeSwapPositions.js +2 -2
  4. package/dist/esm/bytecodes/strategies/batches/batchPancakeSwapPositions.js.map +1 -1
  5. package/dist/esm/bytecodes/votemarket/batchCampaigns.js +1 -1
  6. package/dist/esm/bytecodes/votemarket/batchCampaigns.js.map +1 -1
  7. package/dist/esm/gaugeManager/curve/gmFetchGauge.js +34 -0
  8. package/dist/esm/gaugeManager/curve/gmFetchGauge.js.map +1 -0
  9. package/dist/esm/index.js +7 -0
  10. package/dist/esm/index.js.map +1 -1
  11. package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Positions.js +24 -5
  12. package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Positions.js.map +1 -1
  13. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  14. package/dist/esm/votemarket/fetchCampaigns.js +24 -6
  15. package/dist/esm/votemarket/fetchCampaigns.js.map +1 -1
  16. package/dist/esm/votemarket/types.js +2 -0
  17. package/dist/esm/votemarket/types.js.map +1 -0
  18. package/dist/types/bytecodes/gaugeManager/curveGaugeRewardsData.d.ts +4 -0
  19. package/dist/types/bytecodes/gaugeManager/curveGaugeRewardsData.d.ts.map +1 -0
  20. package/dist/types/gaugeManager/curve/gmFetchGauge.d.ts +25 -0
  21. package/dist/types/gaugeManager/curve/gmFetchGauge.d.ts.map +1 -0
  22. package/dist/types/index.d.ts +5 -0
  23. package/dist/types/index.d.ts.map +1 -1
  24. package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Positions.d.ts.map +1 -1
  25. package/dist/types/utils.d.ts +1 -1
  26. package/dist/types/utils.d.ts.map +1 -1
  27. package/dist/types/votemarket/fetchCampaigns.d.ts +4 -11
  28. package/dist/types/votemarket/fetchCampaigns.d.ts.map +1 -1
  29. package/dist/types/votemarket/types.d.ts +40 -0
  30. package/dist/types/votemarket/types.d.ts.map +1 -0
  31. package/package.json +1 -1
  32. package/src/bytecodes/gaugeManager/curveGaugeRewardsData.ts +39 -0
  33. package/src/bytecodes/strategies/batches/batchPancakeSwapPositions.ts +2 -2
  34. package/src/bytecodes/votemarket/batchCampaigns.ts +1 -1
  35. package/src/gaugeManager/curve/gmFetchGauge.ts +68 -0
  36. package/src/index.ts +13 -0
  37. package/src/strategies/pancakeswap/fetch/getPancakeV3Positions.ts +33 -8
  38. package/src/utils.ts +1 -1
  39. package/src/votemarket/fetchCampaigns.ts +31 -20
  40. package/src/votemarket/types.ts +39 -0
@@ -1,10 +1,13 @@
1
- import { tokenWithAddress, tokens } from '@stake-dao/constants';
2
- import { chunk, range, remove, uniq } from 'lodash-es';
1
+ import { ONE_WEEK, tokenWithAddress, tokens } from '@stake-dao/constants';
2
+ import { chunk, filter, range, remove, uniq } from 'lodash-es';
3
3
  import { decodeAbiParameters, encodeAbiParameters, formatUnits, parseAbiParameters } from 'viem';
4
4
  import { batchTokenData } from '../bytecodes/index.js';
5
5
  import batchCampaigns from '../bytecodes/votemarket/batchCampaigns.js';
6
+ import { getPrices } from '../prices.js';
6
7
  import { batchJsonRpc, concatBytecode, equalTlc, rpcCall } from '../utils.js';
7
8
  export const CAMPAIGNS_CHUNK_SIZE = 10;
9
+ export const CLAIM_WINDOW_LENGTH = 24; // weeks
10
+ export const CLOSE_WINDOW_LENGTH = 4; // weeks
8
11
  export const fetchCampaigns = async ({ platform, chainId, rpc }) => {
9
12
  const nCampaignsRequest = await rpcCall(rpc, [{ to: platform, data: '0x7274e30d' }]); // campaignCount
10
13
  const nCampaigns = Number(decodeAbiParameters([{ type: 'uint256', name: 'campaignCount' }], nCampaignsRequest[0].result));
@@ -24,7 +27,8 @@ export const fetchCampaigns = async ({ platform, chainId, rpc }) => {
24
27
  parse: false,
25
28
  callsKey: `votemarket/fetchCampaigns.ts: rawCampaigns - chainId ${chainId} - rpc ${rpc}`,
26
29
  });
27
- const tokensToFetch = remove(uniq(rawCampaigns.map((rc) => rc.campaign.rewardToken)), (t) => !tokenWithAddress(t, chainId));
30
+ const campaignsTokens = uniq(rawCampaigns.map((rc) => rc.campaign.rewardToken));
31
+ const tokensToFetch = remove(campaignsTokens, (t) => !tokenWithAddress(t, chainId));
28
32
  let rawTokensData = [];
29
33
  if (tokensToFetch.length > 0) {
30
34
  const tokensChunks = chunk(tokensToFetch, 40);
@@ -40,7 +44,7 @@ export const fetchCampaigns = async ({ platform, chainId, rpc }) => {
40
44
  });
41
45
  }
42
46
  const fetchedTokens = [
43
- ...tokens,
47
+ ...filter(tokens, (t) => campaignsTokens.find((ct) => equalTlc(ct, t.address))),
44
48
  ...rawTokensData.map((t) => ({
45
49
  name: t.name,
46
50
  symbol: t.symbol,
@@ -49,21 +53,27 @@ export const fetchCampaigns = async ({ platform, chainId, rpc }) => {
49
53
  chainId,
50
54
  })),
51
55
  ];
56
+ const prices = await getPrices(fetchedTokens, chainId);
57
+ const currentTimestamp = Math.floor(Date.now() / 1000);
52
58
  const campaigns = rawCampaigns.map((rc) => {
53
59
  const rewardToken = fetchedTokens.find((t) => equalTlc(t.address, rc.campaign.rewardToken) && t.chainId === chainId);
54
60
  const decimals = rewardToken ? rewardToken.decimals : 18;
61
+ const rewardTokenPrice = prices.find((p) => equalTlc(rc.campaign.rewardToken, p.address))?.usdPrice || 0;
62
+ const startTimestamp = Number(rc.campaign.startTimestamp);
63
+ const endTimestamp = Number(rc.campaign.endTimestamp);
55
64
  return {
56
65
  id: Number(rc.id),
57
66
  chainId: Number(rc.campaign.chainId),
58
67
  gauge: rc.campaign.gauge,
59
68
  manager: rc.campaign.manager,
60
69
  rewardToken,
70
+ rewardTokenPrice,
61
71
  numberOfPeriods: Number(rc.campaign.numberOfPeriods),
62
72
  maxRewardPerVote: formatUnits(rc.campaign.maxRewardPerVote, decimals),
63
73
  totalRewardAmount: formatUnits(rc.campaign.totalRewardAmount, decimals),
64
74
  totalDistributed: formatUnits(rc.campaign.totalDistributed, decimals),
65
- startTimestamp: Number(rc.campaign.startTimestamp),
66
- endTimestamp: Number(rc.campaign.endTimestamp),
75
+ startTimestamp,
76
+ endTimestamp,
67
77
  hook: rc.campaign.hook,
68
78
  isKilled: rc.isKilled,
69
79
  addresses: rc.addresses,
@@ -75,7 +85,15 @@ export const fetchCampaigns = async ({ platform, chainId, rpc }) => {
75
85
  leftover: formatUnits(rc.currentPeriod.leftover, decimals),
76
86
  updated: rc.currentPeriod.updated,
77
87
  },
88
+ totalPeriods: (endTimestamp - startTimestamp) / ONE_WEEK,
78
89
  periodLeft: Number(rc.periodLeft),
90
+ status: {
91
+ voteOpen: endTimestamp - ONE_WEEK > currentTimestamp,
92
+ voteClosed: currentTimestamp > endTimestamp - ONE_WEEK,
93
+ claimOpen: currentTimestamp > startTimestamp,
94
+ claimClosed: currentTimestamp > endTimestamp + CLAIM_WINDOW_LENGTH * ONE_WEEK,
95
+ expired: currentTimestamp > endTimestamp + (CLAIM_WINDOW_LENGTH + CLOSE_WINDOW_LENGTH) * ONE_WEEK,
96
+ },
79
97
  };
80
98
  });
81
99
  return campaigns;
@@ -1 +1 @@
1
- {"version":3,"file":"fetchCampaigns.js","sourceRoot":"","sources":["../../../src/votemarket/fetchCampaigns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetchCampaigns.js","sourceRoot":"","sources":["../../../src/votemarket/fetchCampaigns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/votemarket/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { BatchMetaDataCommon } from '../types.js';
2
+ declare const curveGaugeRewardsData: BatchMetaDataCommon;
3
+ export default curveGaugeRewardsData;
4
+ //# sourceMappingURL=curveGaugeRewardsData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curveGaugeRewardsData.d.ts","sourceRoot":"","sources":["../../../../src/bytecodes/gaugeManager/curveGaugeRewardsData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD,QAAA,MAAM,qBAAqB,EAAE,mBAkC5B,CAAA;AAED,eAAe,qBAAqB,CAAA"}
@@ -0,0 +1,25 @@
1
+ export type GmGaugeData = {
2
+ name: string;
3
+ symbol: string;
4
+ manager: string;
5
+ managerFromGaugeManager: string;
6
+ transferringManager: string;
7
+ rewardCount: number;
8
+ rewardTokens: {
9
+ token: string;
10
+ distributor: string;
11
+ periodFinish: number;
12
+ rate: string;
13
+ lastUpdate: number;
14
+ integral: string;
15
+ }[];
16
+ };
17
+ interface GmFetchGaugeProps {
18
+ gaugeManager: string;
19
+ gauge: string;
20
+ chainId: number;
21
+ rpc: string;
22
+ }
23
+ export declare const gmFetchGauge: ({ gaugeManager, gauge, chainId, rpc, }: GmFetchGaugeProps) => Promise<GmGaugeData | undefined>;
24
+ export {};
25
+ //# sourceMappingURL=gmFetchGauge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmFetchGauge.d.ts","sourceRoot":"","sources":["../../../../src/gaugeManager/curve/gmFetchGauge.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,uBAAuB,EAAE,MAAM,CAAA;IAC/B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;QACpB,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;KACjB,EAAE,CAAA;CACJ,CAAA;AAED,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,YAAY,2CAKtB,iBAAiB,KAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAkCrD,CAAA"}
@@ -1,5 +1,7 @@
1
1
  export { getPricesFromLlama, getPricesFromGeckoTerminal } from './prices.js';
2
2
  export * from './sdt.js';
3
+ export { rpcCall, batchJsonRpc } from './utils.js';
4
+ export type { BatchJsonRpcArgs } from './utils.js';
3
5
  export { fetchSdt } from './sdt/fetch.js';
4
6
  export { fetchLockers } from './lockers/fetch/index.js';
5
7
  export { getUserCherries, getCherriesLeaderBoard, getUserSnapshotCherries } from './lockers/utils/getCherries.js';
@@ -23,7 +25,10 @@ export { fetchPendle } from './strategies/pendle/fetch.js';
23
25
  export { buildPendleStrategies } from './strategies/pendle/build.js';
24
26
  export { default as getPendleApiData } from './strategies/pendle/getPendleApiData.js';
25
27
  export { fetchCampaigns } from './votemarket/fetchCampaigns.js';
28
+ export type { Campaign } from './votemarket/types.js';
26
29
  export { fetchCurveGauges } from './votemarket/curve/fetchCurveGauges.js';
27
30
  export { fetchCurveUserVotes } from './votemarket/curve/fetchCurveUserVotes.js';
28
31
  export { fetchSnapshotUserData } from './votemarket/curve/fetchSnapshotUserData.js';
32
+ export { gmFetchGauge } from './gaugeManager/curve/gmFetchGauge.js';
33
+ export type { GmGaugeData } from './gaugeManager/curve/gmFetchGauge.js';
29
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5E,cAAc,UAAU,CAAA;AAKxB,OAAO,EAAE,QAAQ,EAAE,MAAM,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;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,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;AASnF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPancakeV3Positions.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/getPancakeV3Positions.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB,QAAe,MAAM,WAAW,MAAM,iBAevE,CAAA"}
1
+ {"version":3,"file":"getPancakeV3Positions.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/getPancakeV3Positions.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,qBAAqB,QAAe,MAAM,WAAW,MAAM,iBAqCvE,CAAA"}
@@ -15,7 +15,7 @@ interface RpcCallArgs {
15
15
  data: string;
16
16
  }
17
17
  export declare const rpcCall: (rpc: string, params: RpcCallArgs[]) => Promise<any>;
18
- interface BatchJsonRpcArgs {
18
+ export interface BatchJsonRpcArgs {
19
19
  rpc: string;
20
20
  calls: string[];
21
21
  outputTypeAbi: any | any[];
@@ -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,UAAU,gBAAgB;IACxB,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,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,19 +1,12 @@
1
+ import type { Campaign } from './types.js';
1
2
  export declare const CAMPAIGNS_CHUNK_SIZE = 10;
3
+ export declare const CLAIM_WINDOW_LENGTH = 24;
4
+ export declare const CLOSE_WINDOW_LENGTH = 4;
2
5
  interface FetchCampaignsProps {
3
6
  platform: string;
4
7
  chainId: number;
5
8
  rpc: string;
6
9
  }
7
- export type Gauge = {
8
- gauge: string;
9
- inflationRate: string;
10
- relativeWeight: string;
11
- futureRelativeWeight: string;
12
- };
13
- export type GaugesData = {
14
- totalGaugesWeight: string;
15
- gauges: Gauge[];
16
- };
17
- export declare const fetchCampaigns: ({ platform, chainId, rpc }: FetchCampaignsProps) => Promise<any>;
10
+ export declare const fetchCampaigns: ({ platform, chainId, rpc }: FetchCampaignsProps) => Promise<Campaign[]>;
18
11
  export {};
19
12
  //# sourceMappingURL=fetchCampaigns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchCampaigns.d.ts","sourceRoot":"","sources":["../../../src/votemarket/fetchCampaigns.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB,KAAK,CAAA;AAEtC,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,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,eAAO,MAAM,cAAc,+BAAsC,mBAAmB,KAAG,OAAO,CAAC,GAAG,CA0FjG,CAAA"}
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"}
@@ -0,0 +1,40 @@
1
+ export type Campaign = {
2
+ id: number;
3
+ chainId: number;
4
+ gauge: string;
5
+ manager: string;
6
+ rewardToken: {
7
+ name: string;
8
+ symbol: string;
9
+ address: string;
10
+ decimals: number;
11
+ chainId: number;
12
+ };
13
+ numberOfPeriods: number;
14
+ maxRewardPerVote: string;
15
+ totalRewardAmount: string;
16
+ totalDistributed: string;
17
+ startTimestamp: number;
18
+ endTimestamp: number;
19
+ hook: string;
20
+ isKilled: boolean;
21
+ addresses: string[];
22
+ isWhitelist: boolean;
23
+ isBlacklist: boolean;
24
+ currentPeriod: {
25
+ rewardPerPeriod: string;
26
+ rewardPerVote: string;
27
+ leftover: string;
28
+ updated: boolean;
29
+ };
30
+ totalPeriods: number;
31
+ periodLeft: number;
32
+ status: {
33
+ voteOpen: boolean;
34
+ voteClosed: boolean;
35
+ claimOpen: boolean;
36
+ claimClosed: boolean;
37
+ expired: boolean;
38
+ };
39
+ };
40
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stake-dao/reader",
3
3
  "description": "",
4
- "version": "0.4.26",
4
+ "version": "0.4.27",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",
@@ -0,0 +1,39 @@
1
+ import type { BatchMetaDataCommon } from '../types.js'
2
+
3
+ const curveGaugeRewardsData: BatchMetaDataCommon = {
4
+ bytecode:
5
+ '0x608060405234801561000f575f80fd5b50604051610e98380380610e9883398181016040528101906100319190610819565b5f8290505f8490505f8273ffffffffffffffffffffffffffffffffffffffff1663963c94b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610083573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a79190610869565b90506100b16106a4565b8373ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156100f9573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061012191906109d0565b815f01819052508373ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610170573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061019891906109d0565b8160200181905250818160400181815250508373ffffffffffffffffffffffffffffffffffffffff1663481c6a756040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102179190610a17565b816060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1663f72332d9876040518263ffffffff1660e01b81526004016102879190610a51565b602060405180830381865afa1580156102a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c69190610a17565b8160a0019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1663fdff9b4d876040518263ffffffff1660e01b81526004016103369190610a51565b602060405180830381865afa158015610351573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103759190610a17565b8160c0019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508167ffffffffffffffff8111156103c6576103c56108ac565b5b6040519080825280602002602001820160405280156103ff57816020015b6103ec61071f565b8152602001906001900390816103e45790505b5081608001819052505f5b828110156106755761041a61071f565b5f8673ffffffffffffffffffffffffffffffffffffffff166354c49fe9846040518263ffffffff1660e01b81526004016104549190610a79565b602060405180830381865afa15801561046f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104939190610a17565b90506001880361051c578673ffffffffffffffffffffffffffffffffffffffff166348e9c65e826040518263ffffffff1660e01b81526004016104d69190610a51565b60c060405180830381865afa1580156104f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105159190610b33565b915061060c565b5f8973ffffffffffffffffffffffffffffffffffffffff166348e9c65e836040518263ffffffff1660e01b81526004016105569190610a51565b60a060405180830381865afa158015610571573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105959190610be7565b9050805f0151836020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080602001518360400181815250508060400151836060018181525050806060015183608001818152505080608001518360a0018181525050505b80825f019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050818460800151848151811061065b5761065a610c12565b5b60200260200101819052505050808060010191505061040a565b505f816040516020016106889190610e77565b6040516020818303038152906040529050602081018059038082f35b6040518060e0016040528060608152602001606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060c001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6107b58261078c565b9050919050565b6107c5816107ab565b81146107cf575f80fd5b50565b5f815190506107e0816107bc565b92915050565b5f819050919050565b6107f8816107e6565b8114610802575f80fd5b50565b5f81519050610813816107ef565b92915050565b5f805f606084860312156108305761082f610784565b5b5f61083d868287016107d2565b935050602061084e868287016107d2565b925050604061085f86828701610805565b9150509250925092565b5f6020828403121561087e5761087d610784565b5b5f61088b84828501610805565b91505092915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108e28261089c565b810181811067ffffffffffffffff82111715610901576109006108ac565b5b80604052505050565b5f61091361077b565b905061091f82826108d9565b919050565b5f67ffffffffffffffff82111561093e5761093d6108ac565b5b6109478261089c565b9050602081019050919050565b8281835e5f83830152505050565b5f61097461096f84610924565b61090a565b9050828152602081018484840111156109905761098f610898565b5b61099b848285610954565b509392505050565b5f82601f8301126109b7576109b6610894565b5b81516109c7848260208601610962565b91505092915050565b5f602082840312156109e5576109e4610784565b5b5f82015167ffffffffffffffff811115610a0257610a01610788565b5b610a0e848285016109a3565b91505092915050565b5f60208284031215610a2c57610a2b610784565b5b5f610a39848285016107d2565b91505092915050565b610a4b816107ab565b82525050565b5f602082019050610a645f830184610a42565b92915050565b610a73816107e6565b82525050565b5f602082019050610a8c5f830184610a6a565b92915050565b5f80fd5b5f60c08284031215610aab57610aaa610a92565b5b610ab560c061090a565b90505f610ac4848285016107d2565b5f830152506020610ad7848285016107d2565b6020830152506040610aeb84828501610805565b6040830152506060610aff84828501610805565b6060830152506080610b1384828501610805565b60808301525060a0610b2784828501610805565b60a08301525092915050565b5f60c08284031215610b4857610b47610784565b5b5f610b5584828501610a96565b91505092915050565b5f60a08284031215610b7357610b72610a92565b5b610b7d60a061090a565b90505f610b8c848285016107d2565b5f830152506020610b9f84828501610805565b6020830152506040610bb384828501610805565b6040830152506060610bc784828501610805565b6060830152506080610bdb84828501610805565b60808301525092915050565b5f60a08284031215610bfc57610bfb610784565b5b5f610c0984828501610b5e565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f610c6382610c3f565b610c6d8185610c49565b9350610c7d818560208601610954565b610c868161089c565b840191505092915050565b610c9a816107e6565b82525050565b610ca9816107ab565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b60c082015f820151610cec5f850182610ca0565b506020820151610cff6020850182610ca0565b506040820151610d126040850182610c91565b506060820151610d256060850182610c91565b506080820151610d386080850182610c91565b5060a0820151610d4b60a0850182610c91565b50505050565b5f610d5c8383610cd8565b60c08301905092915050565b5f602082019050919050565b5f610d7e82610caf565b610d888185610cb9565b9350610d9383610cc9565b805f5b83811015610dc3578151610daa8882610d51565b9750610db583610d68565b925050600181019050610d96565b5085935050505092915050565b5f60e083015f8301518482035f860152610dea8282610c59565b91505060208301518482036020860152610e048282610c59565b9150506040830151610e196040860182610c91565b506060830151610e2c6060860182610ca0565b5060808301518482036080860152610e448282610d74565b91505060a0830151610e5960a0860182610ca0565b5060c0830151610e6c60c0860182610ca0565b508091505092915050565b5f6020820190508181035f830152610e8f8184610dd0565b90509291505056fe',
6
+ inputType: ['address _gaugeManager, address _gauge, uint256 _chainId'],
7
+ outputTypeHr: [
8
+ 'struct ReturnData { uint256 rewardCount; address manager; Reward[] rewardTokens; address transferringManager; address managerFromGaugeManager; }',
9
+ 'struct Reward { address token; address distributor; uint256 period_finish; uint256 rate; uint256 last_update; uint256 integral; }',
10
+ ],
11
+ outputType: [
12
+ {
13
+ type: 'tuple',
14
+ name: 'returnData',
15
+ components: [
16
+ { type: 'string', name: 'name' },
17
+ { type: 'string', name: 'symbol' },
18
+ { type: 'uint256', name: 'rewardCount' },
19
+ { type: 'address', name: 'manager' },
20
+ {
21
+ type: 'tuple[]',
22
+ name: 'rewardTokens',
23
+ components: [
24
+ { type: 'address', name: 'token' },
25
+ { type: 'address', name: 'distributor' },
26
+ { type: 'uint256', name: 'period_finish' },
27
+ { type: 'uint256', name: 'rate' },
28
+ { type: 'uint256', name: 'last_update' },
29
+ { type: 'uint256', name: 'integral' },
30
+ ],
31
+ },
32
+ { type: 'address', name: 'transferringManager' },
33
+ { type: 'address', name: 'managerFromGaugeManager' },
34
+ ],
35
+ },
36
+ ],
37
+ }
38
+
39
+ export default curveGaugeRewardsData
@@ -1,9 +1,9 @@
1
1
  import type { BatchMetaData } from '../../types.js'
2
2
 
3
3
  const commonBytecode =
4
- '0x608060405234801561000f575f80fd5b50604051610a47380380610a47833981810160405281019061003191906104ea565b5f8390505f8390505f8273ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b81526004016100739190610549565b602060405180830381865afa15801561008e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100b29190610595565b90505f8167ffffffffffffffff8111156100cf576100ce6105c0565b5b60405190808252806020026020018201604052801561010857816020015b6100f56103fa565b8152602001906001900390816100ed5790505b5090505f5b828110156103cb575f8573ffffffffffffffffffffffffffffffffffffffff16632f745c5988846040518363ffffffff1660e01b81526004016101519291906105fc565b602060405180830381865afa15801561016c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101909190610595565b90505f8673ffffffffffffffffffffffffffffffffffffffff16633b1acf74836040518263ffffffff1660e01b81526004016101cc9190610623565b61012060405180830381865afa1580156101e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020c91906107f3565b90506102166103fa565b8281610100018181525050815f0151815f01906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff1681525050816020015181602001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508160400151816040019060020b908160020b815250508160600151816060019060020b908160020b8152505081608001518160800181815250508160a001518160a00181815250508160e001518160c00181815250508161010001518160e00181815250508673ffffffffffffffffffffffffffffffffffffffff1663b3060d36846040518263ffffffff1660e01b81526004016103259190610623565b602060405180830381865afa158015610340573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610364919061081f565b81610120019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808585815181106103b0576103af61084a565b5b6020026020010181905250505050808060010191505061010d565b505f816040516020016103de9190610a26565b6040516020818303038152906040529050602081018059038082f35b6040518061014001604052805f6fffffffffffffffffffffffffffffffff1681526020015f6fffffffffffffffffffffffffffffffff1681526020015f60020b81526020015f60020b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104b982610490565b9050919050565b6104c9816104af565b81146104d3575f80fd5b50565b5f815190506104e4816104c0565b92915050565b5f805f606084860312156105015761050061048c565b5b5f61050e868287016104d6565b935050602061051f868287016104d6565b9250506040610530868287016104d6565b9150509250925092565b610543816104af565b82525050565b5f60208201905061055c5f83018461053a565b92915050565b5f819050919050565b61057481610562565b811461057e575f80fd5b50565b5f8151905061058f8161056b565b92915050565b5f602082840312156105aa576105a961048c565b5b5f6105b784828501610581565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6105f681610562565b82525050565b5f60408201905061060f5f83018561053a565b61061c60208301846105ed565b9392505050565b5f6020820190506106365f8301846105ed565b92915050565b5f80fd5b5f601f19601f8301169050919050565b61065982610640565b810181811067ffffffffffffffff82111715610678576106776105c0565b5b80604052505050565b5f61068a610483565b90506106968282610650565b919050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b6106bf8161069b565b81146106c9575f80fd5b50565b5f815190506106da816106b6565b92915050565b5f8160020b9050919050565b6106f5816106e0565b81146106ff575f80fd5b50565b5f81519050610710816106ec565b92915050565b5f610120828403121561072c5761072b61063c565b5b610737610120610681565b90505f610746848285016106cc565b5f830152506020610759848285016106cc565b602083015250604061076d84828501610702565b604083015250606061078184828501610702565b606083015250608061079584828501610581565b60808301525060a06107a984828501610581565b60a08301525060c06107bd848285016104d6565b60c08301525060e06107d184828501610581565b60e0830152506101006107e684828501610581565b6101008301525092915050565b5f61012082840312156108095761080861048c565b5b5f61081684828501610716565b91505092915050565b5f602082840312156108345761083361048c565b5b5f610841848285016104d6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6108a98161069b565b82525050565b6108b8816106e0565b82525050565b6108c781610562565b82525050565b6108d6816104af565b82525050565b61014082015f8201516108f15f8501826108a0565b50602082015161090460208501826108a0565b50604082015161091760408501826108af565b50606082015161092a60608501826108af565b50608082015161093d60808501826108be565b5060a082015161095060a08501826108be565b5060c082015161096360c08501826108be565b5060e082015161097660e08501826108be565b5061010082015161098b6101008501826108be565b506101208201516109a06101208501826108cd565b50505050565b5f6109b183836108dc565b6101408301905092915050565b5f602082019050919050565b5f6109d482610877565b6109de8185610881565b93506109e983610891565b805f5b83811015610a19578151610a0088826109a6565b9750610a0b836109be565b9250506001810190506109ec565b5085935050505092915050565b5f6020820190508181035f830152610a3e81846109ca565b90509291505056fe'
4
+ '0x608060405234801561000f575f80fd5b50604051610af4380380610af483398181016040528101906100319190610543565b5f8590505f8590505f831461004657826100bf565b8173ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b815260040161007f91906105c9565b602060405180830381865afa15801561009a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100be91906105e2565b5b92505f84846100ce919061063a565b67ffffffffffffffff8111156100e7576100e661066d565b5b60405190808252806020026020018201604052801561012057816020015b61010d610420565b8152602001906001900390816101055790505b5090505f8590505b848110156103f1575f8473ffffffffffffffffffffffffffffffffffffffff16632f745c5989846040518363ffffffff1660e01b815260040161016c9291906106a9565b602060405180830381865afa158015610187573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ab91906105e2565b90505f8573ffffffffffffffffffffffffffffffffffffffff16633b1acf74836040518263ffffffff1660e01b81526004016101e791906106d0565b61012060405180830381865afa158015610203573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022791906108a0565b9050610231610420565b8281610100018181525050815f0151815f01906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff1681525050816020015181602001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508160400151816040019060020b908160020b815250508160600151816060019060020b908160020b8152505081608001518160800181815250508160a001518160a00181815250508160e001518160c00181815250508161010001518160e00181815250508573ffffffffffffffffffffffffffffffffffffffff1663b3060d36846040518263ffffffff1660e01b815260040161034091906106d0565b602060405180830381865afa15801561035b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061037f91906108cc565b81610120019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080858a866103c5919061063a565b815181106103d6576103d56108f7565b5b60200260200101819052505050508080600101915050610128565b505f816040516020016104049190610ad3565b6040516020818303038152906040529050602081018059038082f35b6040518061014001604052805f6fffffffffffffffffffffffffffffffff1681526020015f6fffffffffffffffffffffffffffffffff1681526020015f60020b81526020015f60020b81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104df826104b6565b9050919050565b6104ef816104d5565b81146104f9575f80fd5b50565b5f8151905061050a816104e6565b92915050565b5f819050919050565b61052281610510565b811461052c575f80fd5b50565b5f8151905061053d81610519565b92915050565b5f805f805f60a0868803121561055c5761055b6104b2565b5b5f610569888289016104fc565b955050602061057a888289016104fc565b945050604061058b888289016104fc565b935050606061059c8882890161052f565b92505060806105ad8882890161052f565b9150509295509295909350565b6105c3816104d5565b82525050565b5f6020820190506105dc5f8301846105ba565b92915050565b5f602082840312156105f7576105f66104b2565b5b5f6106048482850161052f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61064482610510565b915061064f83610510565b92508282039050818111156106675761066661060d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6106a381610510565b82525050565b5f6040820190506106bc5f8301856105ba565b6106c9602083018461069a565b9392505050565b5f6020820190506106e35f83018461069a565b92915050565b5f80fd5b5f601f19601f8301169050919050565b610706826106ed565b810181811067ffffffffffffffff821117156107255761072461066d565b5b80604052505050565b5f6107376104a9565b905061074382826106fd565b919050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b61076c81610748565b8114610776575f80fd5b50565b5f8151905061078781610763565b92915050565b5f8160020b9050919050565b6107a28161078d565b81146107ac575f80fd5b50565b5f815190506107bd81610799565b92915050565b5f61012082840312156107d9576107d86106e9565b5b6107e461012061072e565b90505f6107f384828501610779565b5f83015250602061080684828501610779565b602083015250604061081a848285016107af565b604083015250606061082e848285016107af565b60608301525060806108428482850161052f565b60808301525060a06108568482850161052f565b60a08301525060c061086a848285016104fc565b60c08301525060e061087e8482850161052f565b60e0830152506101006108938482850161052f565b6101008301525092915050565b5f61012082840312156108b6576108b56104b2565b5b5f6108c3848285016107c3565b91505092915050565b5f602082840312156108e1576108e06104b2565b5b5f6108ee848285016104fc565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61095681610748565b82525050565b6109658161078d565b82525050565b61097481610510565b82525050565b610983816104d5565b82525050565b61014082015f82015161099e5f85018261094d565b5060208201516109b1602085018261094d565b5060408201516109c4604085018261095c565b5060608201516109d7606085018261095c565b5060808201516109ea608085018261096b565b5060a08201516109fd60a085018261096b565b5060c0820151610a1060c085018261096b565b5060e0820151610a2360e085018261096b565b50610100820151610a3861010085018261096b565b50610120820151610a4d61012085018261097a565b50505050565b5f610a5e8383610989565b6101408301905092915050565b5f602082019050919050565b5f610a8182610924565b610a8b818561092e565b9350610a968361093e565b805f5b83811015610ac6578151610aad8882610a53565b9750610ab883610a6b565b925050600181019050610a99565b5085935050505092915050565b5f6020820190508181035f830152610aeb8184610a77565b90509291505056fe'
5
5
 
6
- const commonInputType = ['address _masterChef, address _strategy, address _locker']
6
+ const commonInputType = ['address _masterChef, address _strategy, address _locker, uint256 skip, uint256 limit']
7
7
 
8
8
  const commonOutputTypeHr = [
9
9
  'PositionInfo[] returnData',
@@ -2,7 +2,7 @@ import type { BatchMetaData } from '../types.js'
2
2
 
3
3
  const batchCampaigns: BatchMetaData = {
4
4
  bytecode: {
5
- 1: '0x608060405234801561000f575f80fd5b506040516111f93803806111f98339818101604052810190610031919061086b565b5f8390505f821461004257816100b0565b8073ffffffffffffffffffffffffffffffffffffffff16637274e30d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100af91906108bb565b5b91505f83836100bf9190610913565b67ffffffffffffffff8111156100d8576100d7610946565b5b60405190808252806020026020018201604052801561011157816020015b6100fe6106b4565b8152602001906001900390816100f65790505b5090505f8490505b83811015610685576101296106b4565b81815f0181815250508373ffffffffffffffffffffffffffffffffffffffff16635598f8cc836040518263ffffffff1660e01b815260040161016b9190610982565b61016060405180830381865afa158015610187573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ab9190610b39565b81602001819052508373ffffffffffffffffffffffffffffffffffffffff166355b88ff6836040518263ffffffff1660e01b81526004016101ec9190610982565b602060405180830381865afa158015610207573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022b9190610b9a565b8160400190151590811515815250508373ffffffffffffffffffffffffffffffffffffffff1663df4c3d10836040518263ffffffff1660e01b81526004016102739190610982565b602060405180830381865afa15801561028e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b29190610b9a565b8160600190151590811515815250508373ffffffffffffffffffffffffffffffffffffffff16636fb08df2836040518263ffffffff1660e01b81526004016102fa9190610982565b5f60405180830381865afa158015610314573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061033c9190610c8d565b81608001819052505f8473ffffffffffffffffffffffffffffffffffffffff1663766718086040518163ffffffff1660e01b8152600401602060405180830381865afa15801561038e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b291906108bb565b90505f82604001516103c457816103cf565b826020015161012001515b90508573ffffffffffffffffffffffffffffffffffffffff166352aed57885836040518363ffffffff1660e01b815260040161040c929190610cd4565b608060405180830381865afa158015610427573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044b9190610d70565b8360a001819052508573ffffffffffffffffffffffffffffffffffffffff16639dd5359785846040518363ffffffff1660e01b815260040161048e929190610cd4565b602060405180830381865afa1580156104a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104cd91906108bb565b8360c00181815250505f8290505b8360200151610100015181111561064a575f8773ffffffffffffffffffffffffffffffffffffffff166317f3a72287846040518363ffffffff1660e01b8152600401610528929190610cd4565b608060405180830381865afa158015610543573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105679190610e10565b90505f8160200151146105ca57805f015185602001516080019060ff16908160ff16815250508060200151856020015160c00181815250508060400151856020015160a0018181525050806060015185602001516101200181815250505061064a565b8773ffffffffffffffffffffffffffffffffffffffff1663ac4746ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610613573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063791906108bb565b826106429190610913565b9150506104db565b83868a876106589190610913565b8151811061066957610668610e3b565b5b6020026020010181905250505050508080600101915050610119565b505f8160405160200161069891906111d8565b6040516020818303038152906040529050602081018059038082f35b6040518060e001604052805f81526020016106cd6106fd565b81526020015f151581526020015f15158152602001606081526020016106f16107a7565b81526020015f81525090565b6040518061016001604052805f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f60ff1681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b60405180608001604052805f81526020015f81526020015f81526020015f151581525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610807826107de565b9050919050565b610817816107fd565b8114610821575f80fd5b50565b5f815190506108328161080e565b92915050565b5f819050919050565b61084a81610838565b8114610854575f80fd5b50565b5f8151905061086581610841565b92915050565b5f805f60608486031215610882576108816107d6565b5b5f61088f86828701610824565b93505060206108a086828701610857565b92505060406108b186828701610857565b9150509250925092565b5f602082840312156108d0576108cf6107d6565b5b5f6108dd84828501610857565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61091d82610838565b915061092883610838565b92508282039050818111156109405761093f6108e6565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61097c81610838565b82525050565b5f6020820190506109955f830184610973565b92915050565b5f80fd5b5f601f19601f8301169050919050565b6109b88261099f565b810181811067ffffffffffffffff821117156109d7576109d6610946565b5b80604052505050565b5f6109e96107cd565b90506109f582826109af565b919050565b5f60ff82169050919050565b610a0f816109fa565b8114610a19575f80fd5b50565b5f81519050610a2a81610a06565b92915050565b5f6101608284031215610a4657610a4561099b565b5b610a516101606109e0565b90505f610a6084828501610857565b5f830152506020610a7384828501610824565b6020830152506040610a8784828501610824565b6040830152506060610a9b84828501610824565b6060830152506080610aaf84828501610a1c565b60808301525060a0610ac384828501610857565b60a08301525060c0610ad784828501610857565b60c08301525060e0610aeb84828501610857565b60e083015250610100610b0084828501610857565b61010083015250610120610b1684828501610857565b61012083015250610140610b2c84828501610824565b6101408301525092915050565b5f6101608284031215610b4f57610b4e6107d6565b5b5f610b5c84828501610a30565b91505092915050565b5f8115159050919050565b610b7981610b65565b8114610b83575f80fd5b50565b5f81519050610b9481610b70565b92915050565b5f60208284031215610baf57610bae6107d6565b5b5f610bbc84828501610b86565b91505092915050565b5f80fd5b5f67ffffffffffffffff821115610be357610be2610946565b5b602082029050602081019050919050565b5f80fd5b5f610c0a610c0584610bc9565b6109e0565b90508083825260208201905060208402830185811115610c2d57610c2c610bf4565b5b835b81811015610c565780610c428882610824565b845260208401935050602081019050610c2f565b5050509392505050565b5f82601f830112610c7457610c73610bc5565b5b8151610c84848260208601610bf8565b91505092915050565b5f60208284031215610ca257610ca16107d6565b5b5f82015167ffffffffffffffff811115610cbf57610cbe6107da565b5b610ccb84828501610c60565b91505092915050565b5f604082019050610ce75f830185610973565b610cf46020830184610973565b9392505050565b5f60808284031215610d1057610d0f61099b565b5b610d1a60806109e0565b90505f610d2984828501610857565b5f830152506020610d3c84828501610857565b6020830152506040610d5084828501610857565b6040830152506060610d6484828501610b86565b60608301525092915050565b5f60808284031215610d8557610d846107d6565b5b5f610d9284828501610cfb565b91505092915050565b5f60808284031215610db057610daf61099b565b5b610dba60806109e0565b90505f610dc984828501610a1c565b5f830152506020610ddc84828501610857565b6020830152506040610df084828501610857565b6040830152506060610e0484828501610857565b60608301525092915050565b5f60808284031215610e2557610e246107d6565b5b5f610e3284828501610d9b565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610e9a81610838565b82525050565b610ea9816107fd565b82525050565b610eb8816109fa565b82525050565b61016082015f820151610ed35f850182610e91565b506020820151610ee66020850182610ea0565b506040820151610ef96040850182610ea0565b506060820151610f0c6060850182610ea0565b506080820151610f1f6080850182610eaf565b5060a0820151610f3260a0850182610e91565b5060c0820151610f4560c0850182610e91565b5060e0820151610f5860e0850182610e91565b50610100820151610f6d610100850182610e91565b50610120820151610f82610120850182610e91565b50610140820151610f97610140850182610ea0565b50505050565b610fa681610b65565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f610fe08383610ea0565b60208301905092915050565b5f602082019050919050565b5f61100282610fac565b61100c8185610fb6565b935061101783610fc6565b805f5b8381101561104757815161102e8882610fd5565b975061103983610fec565b92505060018101905061101a565b5085935050505092915050565b608082015f8201516110685f850182610e91565b50602082015161107b6020850182610e91565b50604082015161108e6040850182610e91565b5060608201516110a16060850182610f9d565b50505050565b5f61028083015f8301516110bd5f860182610e91565b5060208301516110d06020860182610ebe565b5060408301516110e4610180860182610f9d565b5060608301516110f86101a0860182610f9d565b5060808301518482036101c08601526111118282610ff8565b91505060a08301516111276101e0860182611054565b5060c083015161113b610260860182610e91565b508091505092915050565b5f61115183836110a7565b905092915050565b5f602082019050919050565b5f61116f82610e68565b6111798185610e72565b93508360208202850161118b85610e82565b805f5b858110156111c657848403895281516111a78582611146565b94506111b283611159565b925060208a0199505060018101905061118e565b50829750879550505050505092915050565b5f6020820190508181035f8301526111f08184611165565b90509291505056fe',
5
+ 1: '0x608060405234801561000f575f80fd5b5060405161123a38038061123a83398181016040528101906100319190610879565b5f8390505f821461004257816100b0565b8073ffffffffffffffffffffffffffffffffffffffff16637274e30d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100af91906108c9565b5b91505f83836100bf9190610921565b67ffffffffffffffff8111156100d8576100d7610954565b5b60405190808252806020026020018201604052801561011157816020015b6100fe6106c2565b8152602001906001900390816100f65790505b5090505f8490505b83811015610693576101296106c2565b81815f0181815250508373ffffffffffffffffffffffffffffffffffffffff16635598f8cc836040518263ffffffff1660e01b815260040161016b9190610990565b61016060405180830381865afa158015610187573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ab9190610b47565b81602001819052508373ffffffffffffffffffffffffffffffffffffffff166355b88ff6836040518263ffffffff1660e01b81526004016101ec9190610990565b602060405180830381865afa158015610207573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022b9190610ba8565b8160400190151590811515815250508373ffffffffffffffffffffffffffffffffffffffff1663df4c3d10836040518263ffffffff1660e01b81526004016102739190610990565b602060405180830381865afa15801561028e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b29190610ba8565b8160600190151590811515815250508373ffffffffffffffffffffffffffffffffffffffff16636fb08df2836040518263ffffffff1660e01b81526004016102fa9190610990565b5f60405180830381865afa158015610314573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061033c9190610c9b565b81608001819052505f62093a808573ffffffffffffffffffffffffffffffffffffffff1663766718086040518163ffffffff1660e01b8152600401602060405180830381865afa158015610392573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b691906108c9565b6103c09190610ce2565b90505f82604001516103d257816103dd565b826020015161012001515b90508573ffffffffffffffffffffffffffffffffffffffff166352aed57885836040518363ffffffff1660e01b815260040161041a929190610d15565b608060405180830381865afa158015610435573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104599190610db1565b8360a001819052508573ffffffffffffffffffffffffffffffffffffffff16639dd5359785846040518363ffffffff1660e01b815260040161049c929190610d15565b602060405180830381865afa1580156104b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104db91906108c9565b8360c00181815250505f8290505b83602001516101000151811115610658575f8773ffffffffffffffffffffffffffffffffffffffff166317f3a72287846040518363ffffffff1660e01b8152600401610536929190610d15565b608060405180830381865afa158015610551573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105759190610e51565b90505f8160200151146105d857805f015185602001516080019060ff16908160ff16815250508060200151856020015160c00181815250508060400151856020015160a00181815250508060600151856020015161012001818152505050610658565b8773ffffffffffffffffffffffffffffffffffffffff1663ac4746ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610621573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064591906108c9565b826106509190610921565b9150506104e9565b83868a876106669190610921565b8151811061067757610676610e7c565b5b6020026020010181905250505050508080600101915050610119565b505f816040516020016106a69190611219565b6040516020818303038152906040529050602081018059038082f35b6040518060e001604052805f81526020016106db61070b565b81526020015f151581526020015f15158152602001606081526020016106ff6107b5565b81526020015f81525090565b6040518061016001604052805f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f60ff1681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b60405180608001604052805f81526020015f81526020015f81526020015f151581525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610815826107ec565b9050919050565b6108258161080b565b811461082f575f80fd5b50565b5f815190506108408161081c565b92915050565b5f819050919050565b61085881610846565b8114610862575f80fd5b50565b5f815190506108738161084f565b92915050565b5f805f606084860312156108905761088f6107e4565b5b5f61089d86828701610832565b93505060206108ae86828701610865565b92505060406108bf86828701610865565b9150509250925092565b5f602082840312156108de576108dd6107e4565b5b5f6108eb84828501610865565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61092b82610846565b915061093683610846565b925082820390508181111561094e5761094d6108f4565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61098a81610846565b82525050565b5f6020820190506109a35f830184610981565b92915050565b5f80fd5b5f601f19601f8301169050919050565b6109c6826109ad565b810181811067ffffffffffffffff821117156109e5576109e4610954565b5b80604052505050565b5f6109f76107db565b9050610a0382826109bd565b919050565b5f60ff82169050919050565b610a1d81610a08565b8114610a27575f80fd5b50565b5f81519050610a3881610a14565b92915050565b5f6101608284031215610a5457610a536109a9565b5b610a5f6101606109ee565b90505f610a6e84828501610865565b5f830152506020610a8184828501610832565b6020830152506040610a9584828501610832565b6040830152506060610aa984828501610832565b6060830152506080610abd84828501610a2a565b60808301525060a0610ad184828501610865565b60a08301525060c0610ae584828501610865565b60c08301525060e0610af984828501610865565b60e083015250610100610b0e84828501610865565b61010083015250610120610b2484828501610865565b61012083015250610140610b3a84828501610832565b6101408301525092915050565b5f6101608284031215610b5d57610b5c6107e4565b5b5f610b6a84828501610a3e565b91505092915050565b5f8115159050919050565b610b8781610b73565b8114610b91575f80fd5b50565b5f81519050610ba281610b7e565b92915050565b5f60208284031215610bbd57610bbc6107e4565b5b5f610bca84828501610b94565b91505092915050565b5f80fd5b5f67ffffffffffffffff821115610bf157610bf0610954565b5b602082029050602081019050919050565b5f80fd5b5f610c18610c1384610bd7565b6109ee565b90508083825260208201905060208402830185811115610c3b57610c3a610c02565b5b835b81811015610c645780610c508882610832565b845260208401935050602081019050610c3d565b5050509392505050565b5f82601f830112610c8257610c81610bd3565b5b8151610c92848260208601610c06565b91505092915050565b5f60208284031215610cb057610caf6107e4565b5b5f82015167ffffffffffffffff811115610ccd57610ccc6107e8565b5b610cd984828501610c6e565b91505092915050565b5f610cec82610846565b9150610cf783610846565b9250828201905080821115610d0f57610d0e6108f4565b5b92915050565b5f604082019050610d285f830185610981565b610d356020830184610981565b9392505050565b5f60808284031215610d5157610d506109a9565b5b610d5b60806109ee565b90505f610d6a84828501610865565b5f830152506020610d7d84828501610865565b6020830152506040610d9184828501610865565b6040830152506060610da584828501610b94565b60608301525092915050565b5f60808284031215610dc657610dc56107e4565b5b5f610dd384828501610d3c565b91505092915050565b5f60808284031215610df157610df06109a9565b5b610dfb60806109ee565b90505f610e0a84828501610a2a565b5f830152506020610e1d84828501610865565b6020830152506040610e3184828501610865565b6040830152506060610e4584828501610865565b60608301525092915050565b5f60808284031215610e6657610e656107e4565b5b5f610e7384828501610ddc565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610edb81610846565b82525050565b610eea8161080b565b82525050565b610ef981610a08565b82525050565b61016082015f820151610f145f850182610ed2565b506020820151610f276020850182610ee1565b506040820151610f3a6040850182610ee1565b506060820151610f4d6060850182610ee1565b506080820151610f606080850182610ef0565b5060a0820151610f7360a0850182610ed2565b5060c0820151610f8660c0850182610ed2565b5060e0820151610f9960e0850182610ed2565b50610100820151610fae610100850182610ed2565b50610120820151610fc3610120850182610ed2565b50610140820151610fd8610140850182610ee1565b50505050565b610fe781610b73565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6110218383610ee1565b60208301905092915050565b5f602082019050919050565b5f61104382610fed565b61104d8185610ff7565b935061105883611007565b805f5b8381101561108857815161106f8882611016565b975061107a8361102d565b92505060018101905061105b565b5085935050505092915050565b608082015f8201516110a95f850182610ed2565b5060208201516110bc6020850182610ed2565b5060408201516110cf6040850182610ed2565b5060608201516110e26060850182610fde565b50505050565b5f61028083015f8301516110fe5f860182610ed2565b5060208301516111116020860182610eff565b506040830151611125610180860182610fde565b5060608301516111396101a0860182610fde565b5060808301518482036101c08601526111528282611039565b91505060a08301516111686101e0860182611095565b5060c083015161117c610260860182610ed2565b508091505092915050565b5f61119283836110e8565b905092915050565b5f602082019050919050565b5f6111b082610ea9565b6111ba8185610eb3565b9350836020820285016111cc85610ec3565b805f5b8581101561120757848403895281516111e88582611187565b94506111f38361119a565b925060208a019950506001810190506111cf565b50829750879550505050505092915050565b5f6020820190508181035f83015261123181846111a6565b90509291505056fe',
6
6
  },
7
7
  inputType: {
8
8
  1: ['address platform, uint256 skip, uint256 limit'],
@@ -0,0 +1,68 @@
1
+ import { encodeAbiParameters, formatUnits, parseAbiParameters } from 'viem'
2
+ import curveGaugeRewardsData from '../../bytecodes/gaugeManager/curveGaugeRewardsData.js'
3
+ import { batchJsonRpc, concatBytecode } from '../../utils.js'
4
+
5
+ export type GmGaugeData = {
6
+ name: string
7
+ symbol: string
8
+ manager: string
9
+ managerFromGaugeManager: string
10
+ transferringManager: string
11
+ rewardCount: number
12
+ rewardTokens: {
13
+ token: string
14
+ distributor: string
15
+ periodFinish: number
16
+ rate: string
17
+ lastUpdate: number
18
+ integral: string
19
+ }[]
20
+ }
21
+
22
+ interface GmFetchGaugeProps {
23
+ gaugeManager: string
24
+ gauge: string
25
+ chainId: number
26
+ rpc: string
27
+ }
28
+
29
+ export const gmFetchGauge = async ({
30
+ gaugeManager,
31
+ gauge,
32
+ chainId,
33
+ rpc,
34
+ }: GmFetchGaugeProps): Promise<GmGaugeData | undefined> => {
35
+ const rawGaugeRewardsData = await batchJsonRpc({
36
+ rpc,
37
+ calls: [
38
+ concatBytecode(
39
+ curveGaugeRewardsData.bytecode,
40
+ encodeAbiParameters(parseAbiParameters(curveGaugeRewardsData.inputType) as any, [gaugeManager, gauge, chainId]),
41
+ ),
42
+ ],
43
+ outputTypeAbi: curveGaugeRewardsData.outputType,
44
+ parse: false,
45
+ callsKey: `gaugeManager/curve/fetchGaugeRewardsData.ts: rawGaugeRewardsData - chainId ${chainId} - rpc ${rpc}`,
46
+ })
47
+
48
+ if (rawGaugeRewardsData[0]) {
49
+ return {
50
+ name: rawGaugeRewardsData[0].name,
51
+ symbol: rawGaugeRewardsData[0].symbol,
52
+ manager: rawGaugeRewardsData[0].manager,
53
+ managerFromGaugeManager: rawGaugeRewardsData[0].managerFromGaugeManager,
54
+ transferringManager: rawGaugeRewardsData[0].transferringManager,
55
+ rewardCount: Number(rawGaugeRewardsData[0].rewardCount),
56
+ rewardTokens: rawGaugeRewardsData[0].rewardTokens.map((t) => ({
57
+ token: t.token,
58
+ distributor: t.distributor,
59
+ periodFinish: Number(t.period_finish),
60
+ rate: formatUnits(t.rate, 18),
61
+ lastUpdate: Number(t.last_update),
62
+ integral: formatUnits(t.integral, 18),
63
+ })),
64
+ }
65
+ }
66
+
67
+ return undefined
68
+ }
package/src/index.ts CHANGED
@@ -3,6 +3,8 @@
3
3
  ///////////////////////////////////////////////////////////////
4
4
  export { getPricesFromLlama, getPricesFromGeckoTerminal } from './prices.js'
5
5
  export * from './sdt.js'
6
+ export { rpcCall, batchJsonRpc } from './utils.js'
7
+ export type { BatchJsonRpcArgs } from './utils.js'
6
8
 
7
9
  ////////////////////////////////////////////////////////////////
8
10
  /// --- SDT
@@ -58,6 +60,7 @@ export { default as getPendleApiData } from './strategies/pendle/getPendleApiDat
58
60
 
59
61
  // General
60
62
  export { fetchCampaigns } from './votemarket/fetchCampaigns.js'
63
+ export type { Campaign } from './votemarket/types.js'
61
64
 
62
65
  // Curve
63
66
  export { fetchCurveGauges } from './votemarket/curve/fetchCurveGauges.js'
@@ -66,3 +69,13 @@ export { fetchSnapshotUserData } from './votemarket/curve/fetchSnapshotUserData.
66
69
 
67
70
  /// --- END VOTEMARKET
68
71
  ///////////////////////////////////////////////////////////////
72
+
73
+ ////////////////////////////////////////////////////////////////
74
+ /// --- GAUGE MANAGER
75
+
76
+ // Curve
77
+ export { gmFetchGauge } from './gaugeManager/curve/gmFetchGauge.js'
78
+ export type { GmGaugeData } from './gaugeManager/curve/gmFetchGauge.js'
79
+
80
+ /// --- END GAUGE MANAGER
81
+ ///////////////////////////////////////////////////////////////
@@ -1,21 +1,46 @@
1
- import { encodeAbiParameters, parseAbiParameters } from 'viem'
1
+ import { decodeAbiParameters, encodeAbiParameters, parseAbiParameters } from 'viem'
2
2
 
3
3
  import { batchPancakeSwapPositions } from '../../../bytecodes/index.js'
4
4
 
5
5
  import { contracts } from '@stake-dao/constants'
6
+ import { range } from 'lodash-es'
6
7
  import { concatBytecode } from '../../../index.js'
7
- import { batchJsonRpc } from '../../../utils.js'
8
+ import { batchJsonRpc, rpcCall } from '../../../utils.js'
9
+
10
+ const PCS_V3_POSITIONS_CHUNK_SIZE = 50
8
11
 
9
12
  export const getPancakeV3Positions = async (rpc: string, chainId: number) => {
10
- const positionsInputData = encodeAbiParameters(
11
- parseAbiParameters(batchPancakeSwapPositions.inputType[chainId]!) as any,
12
- [contracts.pancakeMasterchef![chainId], contracts.cakeStrategy![chainId], contracts.cakeLocker![chainId]],
13
- )
14
- const positionsCalls = concatBytecode(batchPancakeSwapPositions.bytecode[chainId]!, positionsInputData)
13
+ const nPositionsRequest = await rpcCall(rpc, [
14
+ {
15
+ to: contracts.pancakeMasterchef![chainId]!,
16
+ data: concatBytecode(
17
+ '0x70a08231', // balanceOf(address)
18
+ encodeAbiParameters(parseAbiParameters(['address user']) as any, [contracts.cakeLocker![chainId]]),
19
+ ),
20
+ },
21
+ ])
22
+
23
+ const nPositions = Number(decodeAbiParameters([{ type: 'uint256', name: 'balanceOf' }], nPositionsRequest[0].result))
24
+
25
+ const positionsCalls = range(0, nPositions, PCS_V3_POSITIONS_CHUNK_SIZE).map((skip) => {
26
+ const inputParams = [
27
+ contracts.pancakeMasterchef![chainId],
28
+ contracts.cakeStrategy![chainId],
29
+ contracts.cakeLocker![chainId],
30
+ skip,
31
+ skip + PCS_V3_POSITIONS_CHUNK_SIZE > nPositions ? nPositions : skip + PCS_V3_POSITIONS_CHUNK_SIZE,
32
+ ]
33
+
34
+ const inputData = encodeAbiParameters(
35
+ parseAbiParameters(batchPancakeSwapPositions.inputType[chainId]!) as any,
36
+ inputParams,
37
+ )
38
+ return concatBytecode(batchPancakeSwapPositions.bytecode[chainId]!, inputData)
39
+ })
15
40
 
16
41
  const positionsData = await batchJsonRpc({
17
42
  rpc,
18
- calls: [positionsCalls],
43
+ calls: positionsCalls,
19
44
  outputTypeAbi: batchPancakeSwapPositions.outputTypeHr[chainId]!,
20
45
  callsKey: `strategies/pancakeswap/fetch/getPancakeV3Positions.ts: positionsData - chainId ${chainId} - rpc ${rpc}`,
21
46
  })
package/src/utils.ts CHANGED
@@ -94,7 +94,7 @@ export const rpcCall = async (rpc: string, params: RpcCallArgs[]) => {
94
94
  return request
95
95
  }
96
96
 
97
- interface BatchJsonRpcArgs {
97
+ export interface BatchJsonRpcArgs {
98
98
  rpc: string
99
99
  calls: string[]
100
100
  outputTypeAbi: any | any[]