@stake-dao/reader 0.2.11 → 0.2.13

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 (46) hide show
  1. package/dist/esm/bytecodes/tokenData.js +1 -1
  2. package/dist/esm/bytecodes/tokenData.js.map +1 -1
  3. package/dist/esm/strategies/balancer/fetch.js +5 -2
  4. package/dist/esm/strategies/balancer/fetch.js.map +1 -1
  5. package/dist/esm/strategies/curve/fetch/getStratsWithApr.js +14 -6
  6. package/dist/esm/strategies/curve/fetch/getStratsWithApr.js.map +1 -1
  7. package/dist/esm/strategies/curve/fetch/index.js +22 -28
  8. package/dist/esm/strategies/curve/fetch/index.js.map +1 -1
  9. package/dist/esm/strategies/curve/httpCalls.js +3 -3
  10. package/dist/esm/strategies/curve/httpCalls.js.map +1 -1
  11. package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js +1 -0
  12. package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js.map +1 -1
  13. package/dist/esm/strategies/pancakeswap/fetch/index.js +4 -3
  14. package/dist/esm/strategies/pancakeswap/fetch/index.js.map +1 -1
  15. package/dist/esm/strategies/pendle/fetch.js +4 -2
  16. package/dist/esm/strategies/pendle/fetch.js.map +1 -1
  17. package/dist/esm/strategies/yearn/fetch/index.js +5 -2
  18. package/dist/esm/strategies/yearn/fetch/index.js.map +1 -1
  19. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  20. package/dist/types/strategies/balancer/fetch.d.ts.map +1 -1
  21. package/dist/types/strategies/curve/fetch/getStratsWithApr.d.ts +2 -2
  22. package/dist/types/strategies/curve/fetch/getStratsWithApr.d.ts.map +1 -1
  23. package/dist/types/strategies/curve/fetch/index.d.ts +1 -2
  24. package/dist/types/strategies/curve/fetch/index.d.ts.map +1 -1
  25. package/dist/types/strategies/curve/httpCalls.d.ts +1 -1
  26. package/dist/types/strategies/curve/httpCalls.d.ts.map +1 -1
  27. package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Vaults.d.ts.map +1 -1
  28. package/dist/types/strategies/pancakeswap/fetch/index.d.ts +2 -1
  29. package/dist/types/strategies/pancakeswap/fetch/index.d.ts.map +1 -1
  30. package/dist/types/strategies/pendle/fetch.d.ts +1 -0
  31. package/dist/types/strategies/pendle/fetch.d.ts.map +1 -1
  32. package/dist/types/strategies/types.d.ts +4 -0
  33. package/dist/types/strategies/types.d.ts.map +1 -1
  34. package/dist/types/strategies/yearn/fetch/index.d.ts +1 -2
  35. package/dist/types/strategies/yearn/fetch/index.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/bytecodes/tokenData.ts +1 -1
  38. package/src/strategies/balancer/fetch.ts +5 -2
  39. package/src/strategies/curve/fetch/getStratsWithApr.ts +20 -6
  40. package/src/strategies/curve/fetch/index.ts +26 -30
  41. package/src/strategies/curve/httpCalls.ts +11 -3
  42. package/src/strategies/pancakeswap/fetch/getPancakeV3Vaults.ts +1 -0
  43. package/src/strategies/pancakeswap/fetch/index.ts +18 -3
  44. package/src/strategies/pendle/fetch.ts +4 -2
  45. package/src/strategies/types.ts +4 -0
  46. package/src/strategies/yearn/fetch/index.ts +11 -3
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../src/strategies/balancer/fetch.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAA6C,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAMvH,UAAU,cAAc;IACtB,QAAQ,EAAE,GAAG,CAAA;IACb,QAAQ,EAAE,aAAa,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,YAAY,CAAA;IACrB,eAAe,EAAE,GAAG,CAAA;CACrB;AAED,eAAO,MAAM,aAAa,sEAMvB,cAAc,KAAG,OAAO,CAAC,YAAY,CAqOvC,CAAA"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../src/strategies/balancer/fetch.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAA6C,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAMvH,UAAU,cAAc;IACtB,QAAQ,EAAE,GAAG,CAAA;IACb,QAAQ,EAAE,aAAa,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,YAAY,CAAA;IACrB,eAAe,EAAE,GAAG,CAAA;CACrB;AAED,eAAO,MAAM,aAAa,sEAMvB,cAAc,KAAG,OAAO,CAAC,YAAY,CAwOvC,CAAA"}
@@ -1,5 +1,5 @@
1
- export declare const getCurveStratsWithApr: (chainId: number, curveStrats: any[], apisData: any) => {
1
+ export declare const getCurveStratsWithApr: (provider: any, chainId: number, curveStrats: any[], apisData: any) => Promise<{
2
2
  curveStratsWithApr: any[];
3
3
  curveStratsDataCalls: any[];
4
- };
4
+ }>;
5
5
  //# sourceMappingURL=getStratsWithApr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getStratsWithApr.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/getStratsWithApr.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,qBAAqB,YAAa,MAAM,eAAe,GAAG,EAAE,YAAY,GAAG;;;CAwCvF,CAAA"}
1
+ {"version":3,"file":"getStratsWithApr.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/getStratsWithApr.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,qBAAqB,aAAoB,GAAG,WAAW,MAAM,eAAe,GAAG,EAAE,YAAY,GAAG;;;EAqD5G,CAAA"}
@@ -9,10 +9,9 @@ interface TFetchCurve {
9
9
  explorerApiKey: string;
10
10
  explorer: ValidExplorer;
11
11
  chainId: ValidChainId;
12
- lastBlockNumber: number;
13
12
  sdtEmissionData: SdtEmissionData;
14
13
  gaugesWeights: GaugesWeightsData;
15
14
  }
16
- export declare const fetchCurve: ({ prices, provider, rpc, explorerApiKey, explorer, chainId, lastBlockNumber, sdtEmissionData, gaugesWeights, }: TFetchCurve) => Promise<StrategyData>;
15
+ export declare const fetchCurve: ({ prices, provider, rpc, explorerApiKey, explorer, chainId, sdtEmissionData, gaugesWeights, }: TFetchCurve) => Promise<StrategyData>;
17
16
  export {};
18
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,iBAAiB,CAAA;AAEjE,OAAO,KAAK,EAIV,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,gBAAgB,CAAA;AASvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAK3E,UAAU,WAAW;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,YAAY,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,iBAAiB,CAAA;CACjC;AAED,eAAO,MAAM,UAAU,mHAUpB,WAAW,KAAG,OAAO,CAAC,YAAY,CAyPpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,iBAAiB,CAAA;AAEjE,OAAO,KAAK,EAIV,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,gBAAgB,CAAA;AASvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAK3E,UAAU,WAAW;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,YAAY,CAAA;IACrB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,iBAAiB,CAAA;CACjC;AAED,eAAO,MAAM,UAAU,kGASpB,WAAW,KAAG,OAAO,CAAC,YAAY,CAuPpC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { type GaugesWeightsData } from './fetch/curveApiData/getGaugesWeights.js';
2
- export declare const getCurveHttpCalls: (explorerApiKey: string, explorer: string, rpc: string, chainId: number, lastBlockNumber: number, gaugesWeights: GaugesWeightsData) => Promise<{
2
+ export declare const getCurveHttpCalls: (explorerApiKey: string, explorer: string, rpc: string, chainId: number, fromBlock: number, toBlock: number, gaugesWeights: GaugesWeightsData) => Promise<{
3
3
  explorerData: any;
4
4
  curveSubgraphData: any;
5
5
  convexPools: any;
@@ -1 +1 @@
1
- {"version":3,"file":"httpCalls.d.ts","sourceRoot":"","sources":["../../../../src/strategies/curve/httpCalls.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAEjF,eAAO,MAAM,iBAAiB,mBACZ,MAAM,YACZ,MAAM,OACX,MAAM,WACF,MAAM,mBACE,MAAM,iBACR,iBAAiB;;;;;;;;;;;;EAmFjC,CAAA"}
1
+ {"version":3,"file":"httpCalls.d.ts","sourceRoot":"","sources":["../../../../src/strategies/curve/httpCalls.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAEjF,eAAO,MAAM,iBAAiB,mBACZ,MAAM,YACZ,MAAM,OACX,MAAM,WACF,MAAM,aACJ,MAAM,WACR,MAAM,iBACA,iBAAiB;;;;;;;;;;;;EA0FjC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPancakeV3Vaults.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/getPancakeV3Vaults.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,oBAAoB,CAAA;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAK3D,eAAO,MAAM,kBAAkB,QACxB,MAAM,WACF,MAAM,cACH,KAAK,EAAE,WACV,GAAG,cACA,GAAG;;;EA0LhB,CAAA"}
1
+ {"version":3,"file":"getPancakeV3Vaults.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/getPancakeV3Vaults.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,oBAAoB,CAAA;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAK3D,eAAO,MAAM,kBAAkB,QACxB,MAAM,WACF,MAAM,cACH,KAAK,EAAE,WACV,GAAG,cACA,GAAG;;;EA2LhB,CAAA"}
@@ -1,13 +1,14 @@
1
1
  import type { Price } from '../../../prices.js';
2
2
  import type { ValidChainId, ValidExplorer } from '../../types.js';
3
3
  interface TFetchPancakeswap {
4
+ provider: any;
4
5
  rpc: string;
5
6
  chainId: ValidChainId;
6
7
  prices: Price[];
7
8
  explorerApiKey: string;
8
9
  explorer: ValidExplorer;
9
10
  }
10
- export declare const fetchPancakeswap: ({ rpc, chainId, prices, explorerApiKey, explorer }: TFetchPancakeswap) => Promise<{
11
+ export declare const fetchPancakeswap: ({ provider, rpc, chainId, prices, explorerApiKey, explorer, }: TFetchPancakeswap) => Promise<{
11
12
  global: import("../../types.js").PancakeSwapGlobalData;
12
13
  deployed: any[];
13
14
  notDeployed: any[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAMjE,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,YAAY,CAAA;IACrB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;CACxB;AAED,eAAO,MAAM,gBAAgB,uDAA8D,iBAAiB;;;;;EA+B3G,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAMjE,UAAU,iBAAiB;IACzB,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,YAAY,CAAA;IACrB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;CACxB;AAED,eAAO,MAAM,gBAAgB,kEAO1B,iBAAiB;;;;;EAsCnB,CAAA"}
@@ -10,6 +10,7 @@ interface TFetchPendle {
10
10
  }
11
11
  export declare const fetchPendle: ({ prices, provider, rpc, explorerApiKey, explorer, chainId }: TFetchPendle) => Promise<{
12
12
  global: {
13
+ lastSyncBlock: number;
13
14
  fees: {
14
15
  veSdt: number;
15
16
  perf: number;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../src/strategies/pendle/fetch.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,KAAK,EAAE,WAAW,EAAU,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAsBnF,UAAU,YAAY;IACpB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,YAAY,CAAA;CACtB;AAED,eAAO,MAAM,WAAW,iEAAwE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8T3G,CAAA"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../src/strategies/pendle/fetch.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,KAAK,EAAE,WAAW,EAAU,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAsBnF,UAAU,YAAY;IACpB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,YAAY,CAAA;CACtB;AAED,eAAO,MAAM,WAAW,iEAAwE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgU3G,CAAA"}
@@ -141,21 +141,25 @@ export type CurveGlobalData = {
141
141
  veCrvTotalSupply: string;
142
142
  stakeDaoVeBoost: string;
143
143
  convexVeBoost: string;
144
+ lastSyncBlock: number;
144
145
  fees: Fees;
145
146
  };
146
147
  export type YearnGlobalData = {
147
148
  totalGaugeWeights: string;
149
+ lastSyncBlock: number;
148
150
  fees: Fees;
149
151
  };
150
152
  export type BalancerGlobalData = {
151
153
  totalGaugeWeights: string;
152
154
  inflationRate: string;
153
155
  balPerWeek: string;
156
+ lastSyncBlock: number;
154
157
  fees: Fees;
155
158
  };
156
159
  export type PancakeSwapGlobalData = {
157
160
  totalAllocPoint: string;
158
161
  inflationRate: string;
162
+ lastSyncBlock: number;
159
163
  fees: Fees;
160
164
  };
161
165
  export type Global = CurveGlobalData | YearnGlobalData | BalancerGlobalData | PancakeSwapGlobalData;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/strategies/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/strategies/types.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,8 @@ interface TFetchYearn {
8
8
  explorerApiKey: string;
9
9
  explorer: ValidExplorer;
10
10
  chainId: ValidChainId;
11
- lastBlockNumber: number;
12
11
  sdtEmissionData: SdtEmissionData;
13
12
  }
14
- export declare const fetchYearn: ({ prices, provider, rpc, explorerApiKey, explorer, chainId, lastBlockNumber, sdtEmissionData, }: TFetchYearn) => Promise<StrategyData>;
13
+ export declare const fetchYearn: ({ prices, provider, rpc, explorerApiKey, explorer, chainId, sdtEmissionData, }: TFetchYearn) => Promise<StrategyData>;
15
14
  export {};
16
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/yearn/fetch/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAe,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAmC5F,UAAU,WAAW;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,YAAY,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,eAAe,CAAA;CACjC;AAED,eAAO,MAAM,UAAU,oGASpB,WAAW,KAAG,OAAO,CAAC,YAAY,CAmLpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/yearn/fetch/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAe,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAmC5F,UAAU,WAAW;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,YAAY,CAAA;IACrB,eAAe,EAAE,eAAe,CAAA;CACjC;AAED,eAAO,MAAM,UAAU,mFAQpB,WAAW,KAAG,OAAO,CAAC,YAAY,CA6LpC,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stake-dao/reader",
3
3
  "description": "",
4
- "version": "0.2.11",
4
+ "version": "0.2.13",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",
@@ -1,7 +1,7 @@
1
1
  import type { BatchMetaData } from './types.js'
2
2
 
3
3
  const commonBytecode =
4
- '0x608060405234801561001057600080fd5b5060405161094a38038061094a8339818101604052810190610032919061051d565b60008151905060008167ffffffffffffffff8111156100545761005361037c565b5b60405190808252806020026020018201604052801561008d57816020015b61007a610314565b8152602001906001900390816100725790505b50905060005b828110156102e45760008482815181106100b0576100af610566565b5b6020026020010151905060008190508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561010a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101339190610665565b84848151811061014657610145610566565b5b6020026020010151600001819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101c99190610665565b8484815181106101dc576101db610566565b5b602002602001015160200181905250818484815181106101ff576101fe610566565b5b60200260200101516040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610288573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ac91906106e4565b8484815181106102bf576102be610566565b5b60200260200101516060018181525050505080806102dc90610740565b915050610093565b506000816040516020016102f89190610927565b6040516020818303038152906040529050602081018059038082f35b60405180608001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6103b48261036b565b810181811067ffffffffffffffff821117156103d3576103d261037c565b5b80604052505050565b60006103e6610352565b90506103f282826103ab565b919050565b600067ffffffffffffffff8211156104125761041161037c565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061045382610428565b9050919050565b61046381610448565b811461046e57600080fd5b50565b6000815190506104808161045a565b92915050565b6000610499610494846103f7565b6103dc565b905080838252602082019050602084028301858111156104bc576104bb610423565b5b835b818110156104e557806104d18882610471565b8452602084019350506020810190506104be565b5050509392505050565b600082601f83011261050457610503610366565b5b8151610514848260208601610486565b91505092915050565b6000602082840312156105335761053261035c565b5b600082015167ffffffffffffffff81111561055157610550610361565b5b61055d848285016104ef565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600067ffffffffffffffff8211156105b5576105b461037c565b5b6105be8261036b565b9050602081019050919050565b60005b838110156105e95780820151818401526020810190506105ce565b60008484015250505050565b60006106086106038461059a565b6103dc565b90508281526020810184848401111561062457610623610595565b5b61062f8482856105cb565b509392505050565b600082601f83011261064c5761064b610366565b5b815161065c8482602086016105f5565b91505092915050565b60006020828403121561067b5761067a61035c565b5b600082015167ffffffffffffffff81111561069957610698610361565b5b6106a584828501610637565b91505092915050565b6000819050919050565b6106c1816106ae565b81146106cc57600080fd5b50565b6000815190506106de816106b8565b92915050565b6000602082840312156106fa576106f961035c565b5b6000610708848285016106cf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061074b826106ae565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361077d5761077c610711565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006107db826107b4565b6107e581856107bf565b93506107f58185602086016105cb565b6107fe8161036b565b840191505092915050565b61081281610448565b82525050565b610821816106ae565b82525050565b6000608083016000830151848203600086015261084482826107d0565b9150506020830151848203602086015261085e82826107d0565b91505060408301516108736040860182610809565b5060608301516108866060860182610818565b508091505092915050565b600061089d8383610827565b905092915050565b6000602082019050919050565b60006108bd82610788565b6108c78185610793565b9350836020820285016108d9856107a4565b8060005b8581101561091557848403895281516108f68582610891565b9450610901836108a5565b925060208a019950506001810190506108dd565b50829750879550505050505092915050565b6000602082019050818103600083015261094181846108b2565b90509291505056fe'
4
+ '0x608060405234801561000f575f80fd5b5060405161086f38038061086f833981810160405281019061003191906104f3565b5f815190505f8167ffffffffffffffff8111156100515761005061035d565b5b60405190808252806020026020018201604052801561008a57816020015b6100776102fc565b81526020019060019003908161006f5790505b5090505f5b828110156102cd575f8482815181106100ab576100aa61053a565b5b602002602001015190505f8190508073ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa158015610101573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906101299190610617565b84848151811061013c5761013b61053a565b5b60200260200101515f01819052508073ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610192573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906101ba9190610617565b8484815181106101cd576101cc61053a565b5b602002602001015160200181905250818484815181106101f0576101ef61053a565b5b60200260200101516040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610277573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061029b9190610691565b8484815181106102ae576102ad61053a565b5b602002602001015160600181815250505050808060010191505061008f565b505f816040516020016102e0919061084e565b6040516020818303038152906040529050602081018059038082f35b604051806080016040528060608152602001606081526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6103938261034d565b810181811067ffffffffffffffff821117156103b2576103b161035d565b5b80604052505050565b5f6103c4610338565b90506103d0828261038a565b919050565b5f67ffffffffffffffff8211156103ef576103ee61035d565b5b602082029050602081019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61042d82610404565b9050919050565b61043d81610423565b8114610447575f80fd5b50565b5f8151905061045881610434565b92915050565b5f61047061046b846103d5565b6103bb565b9050808382526020820190506020840283018581111561049357610492610400565b5b835b818110156104bc57806104a8888261044a565b845260208401935050602081019050610495565b5050509392505050565b5f82601f8301126104da576104d9610349565b5b81516104ea84826020860161045e565b91505092915050565b5f6020828403121561050857610507610341565b5b5f82015167ffffffffffffffff81111561052557610524610345565b5b610531848285016104c6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f80fd5b5f67ffffffffffffffff8211156105855761058461035d565b5b61058e8261034d565b9050602081019050919050565b8281835e5f83830152505050565b5f6105bb6105b68461056b565b6103bb565b9050828152602081018484840111156105d7576105d6610567565b5b6105e284828561059b565b509392505050565b5f82601f8301126105fe576105fd610349565b5b815161060e8482602086016105a9565b91505092915050565b5f6020828403121561062c5761062b610341565b5b5f82015167ffffffffffffffff81111561064957610648610345565b5b610655848285016105ea565b91505092915050565b5f819050919050565b6106708161065e565b811461067a575f80fd5b50565b5f8151905061068b81610667565b92915050565b5f602082840312156106a6576106a5610341565b5b5f6106b38482850161067d565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f610709826106e5565b61071381856106ef565b935061072381856020860161059b565b61072c8161034d565b840191505092915050565b61074081610423565b82525050565b61074f8161065e565b82525050565b5f608083015f8301518482035f86015261076f82826106ff565b9150506020830151848203602086015261078982826106ff565b915050604083015161079e6040860182610737565b5060608301516107b16060860182610746565b508091505092915050565b5f6107c78383610755565b905092915050565b5f602082019050919050565b5f6107e5826106bc565b6107ef81856106c6565b935083602082028501610801856106d6565b805f5b8581101561083c578484038952815161081d85826107bc565b9450610828836107cf565b925060208a01995050600181019050610804565b50829750879550505050505092915050565b5f6020820190508181035f83015261086681846107db565b90509291505056fe'
5
5
  const commonInputType = ['address[] inputs']
6
6
  const commonOutputType = [
7
7
  'Erc20Data[] erc20data',
@@ -37,13 +37,14 @@ export const fetchBalancer = async ({
37
37
  sdtEmissionData,
38
38
  }: TFetchBalancer): Promise<StrategyData> => {
39
39
  const currentBlockNumber = Number(await provider.getBlockNumber())
40
- const lastBlockNumber = balancerStrats.meta.lastSyncBlock[chainId]! + 1
40
+ const fromBlock = balancerStrats.meta.lastSyncBlock[chainId]! + 1
41
+ const toBlock = Number(await provider.getBlockNumber())
41
42
 
42
43
  const httpCalls = [
43
44
  // Etherscan Events
44
45
  (
45
46
  await fetch(
46
- FACTORY_EXPLORER_EVENTS(explorerApiKey, explorer, contracts.balancerVaultFactory![1]!, lastBlockNumber),
47
+ FACTORY_EXPLORER_EVENTS(explorerApiKey, explorer, contracts.balancerVaultFactory![1]!, fromBlock, toBlock),
47
48
  )
48
49
  ).json(),
49
50
  ]
@@ -110,6 +111,7 @@ export const fetchBalancer = async ({
110
111
  )
111
112
 
112
113
  const global: BalancerGlobalData = {
114
+ lastSyncBlock: toBlock,
113
115
  totalGaugeWeights: '0',
114
116
  inflationRate: '0',
115
117
  balPerWeek: '0',
@@ -260,6 +262,7 @@ export const fetchBalancer = async ({
260
262
  })
261
263
 
262
264
  return {
265
+ global,
263
266
  deployed: stratsData,
264
267
  notDeployed: [],
265
268
  fetched: true,
@@ -1,6 +1,7 @@
1
1
  import { STRAT_FEES } from '@stake-dao/constants'
2
2
  import { mainnet } from 'viem/chains'
3
- import { equalTlc } from '../../../utils.js'
3
+ import { equalTlc, multicall } from '../../../utils.js'
4
+ import { formatUnits, parseAbi } from 'viem'
4
5
 
5
6
  const getConvexPool = (apisData: any, chainId: number, isLending: boolean, stratLpAddress: string) => {
6
7
  if (chainId === mainnet.id) {
@@ -21,11 +22,17 @@ const getName = (s: any) => {
21
22
  .slice(1)
22
23
  }
23
24
 
24
- export const getCurveStratsWithApr = (chainId: number, curveStrats: any[], apisData: any) => {
25
+ export const getCurveStratsWithApr = async (provider: any, chainId: number, curveStrats: any[], apisData: any) => {
25
26
  const curveStratsDataCalls: any[] = []
26
27
 
27
28
  const strats = curveStrats.filter((s) => s.key && s.chainId === chainId)
28
29
 
30
+ const lendingExtraCalls = await multicall(
31
+ provider,
32
+ strats.filter((s) => s.isLending).flatMap((s) => [{ address: s.lpToken.address, name: 'lend_apr' }]),
33
+ parseAbi(['function lend_apr() external view returns (uint256)']),
34
+ )
35
+
29
36
  const curveStratsWithApr = strats.map((s) => {
30
37
  const curveApiData = apisData.curveApiData.find((el) => equalTlc(el.lp, s.lpToken.address))
31
38
 
@@ -45,13 +52,20 @@ export const getCurveStratsWithApr = (chainId: number, curveStrats: any[], apisD
45
52
  sdtLiquidityGauge: s.sdGauge,
46
53
  })
47
54
 
55
+ let tradingApy: number = 0
56
+ if (s.isLending) {
57
+ const lendingApyCallResult = lendingExtraCalls.shift()
58
+ tradingApy = Number(formatUnits(lendingApyCallResult.result, 16))
59
+ }
60
+ else {
61
+ tradingApy = subgraphData?.latestWeeklyApy || 0
62
+ }
63
+
48
64
  return {
49
65
  ...s,
50
66
  name: getName(s),
51
- // TODO LENDING
52
- // subname: curveApiData?.assets ? `${curveApiData.assets.collateral.symbol} collateral` : '',
53
- // tradingApy: curveApiData?.rates ? curveApiData.rates.lendApyPcent : 0,
54
- tradingApy: subgraphData?.latestWeeklyApy || 0,
67
+ ...(s.isLending ? { subname: `${s.underlyingCoins[0].symbol} collat.` } : {}),
68
+ tradingApy,
55
69
  gaugesProjectedApr,
56
70
  minApr: curveApiData?.crvApr ? curveApiData.crvApr[0] * ((100 - STRAT_FEES) / 100) : 0,
57
71
  maxApr: curveApiData?.crvApr ? curveApiData.crvApr[1] * ((100 - STRAT_FEES) / 100) : 0,
@@ -32,7 +32,6 @@ interface TFetchCurve {
32
32
  explorerApiKey: string
33
33
  explorer: ValidExplorer
34
34
  chainId: ValidChainId
35
- lastBlockNumber: number
36
35
  sdtEmissionData: SdtEmissionData
37
36
  gaugesWeights: GaugesWeightsData
38
37
  }
@@ -44,11 +43,12 @@ export const fetchCurve = async ({
44
43
  explorerApiKey,
45
44
  explorer,
46
45
  chainId,
47
- lastBlockNumber,
48
46
  sdtEmissionData,
49
47
  gaugesWeights,
50
48
  }: TFetchCurve): Promise<StrategyData> => {
51
- const apisData = await getCurveHttpCalls(explorerApiKey, explorer, rpc, chainId, lastBlockNumber, gaugesWeights)
49
+ const fromBlock = curveStrats.meta.lastSyncBlock[chainId]! + 1
50
+ const toBlock = Number(await provider.getBlockNumber())
51
+ const apisData = await getCurveHttpCalls(explorerApiKey, explorer, rpc, chainId, fromBlock, toBlock, gaugesWeights)
52
52
 
53
53
  const newVaultAndLp =
54
54
  chainId === mainnet.id
@@ -61,7 +61,8 @@ export const fetchCurve = async ({
61
61
 
62
62
  const strats: any[] = await buildCurveStrategies(provider, allVaultAndLp, chainId, apisData.curveApiData)
63
63
 
64
- const { curveStratsWithApr: stratsWithApr, curveStratsDataCalls: stratsDataCalls } = getCurveStratsWithApr(
64
+ const { curveStratsWithApr: stratsWithApr, curveStratsDataCalls: stratsDataCalls } = await getCurveStratsWithApr(
65
+ provider,
65
66
  chainId,
66
67
  strats,
67
68
  apisData,
@@ -76,6 +77,7 @@ export const fetchCurve = async ({
76
77
  veCrvTotalSupply: '0',
77
78
  stakeDaoVeBoost: '0',
78
79
  convexVeBoost: '0',
80
+ lastSyncBlock: toBlock,
79
81
  fees: {
80
82
  veSdt: 5,
81
83
  perf: 2,
@@ -203,6 +205,7 @@ export const fetchCurve = async ({
203
205
  return {
204
206
  key: strat.key,
205
207
  name: strat.name,
208
+ subname: strat.subname,
206
209
  type: strat.type,
207
210
  protocol: strat.protocol,
208
211
  chainId: strat.chainId,
@@ -264,36 +267,29 @@ export const fetchCurve = async ({
264
267
  stratsData = stratsData.concat(parsedData)
265
268
  })
266
269
 
267
- // const deployedStratsGauges = stratsData.map((s) => s.gaugeAddress)
268
-
269
- // const notDeployedStrats = apisData.curveApiData
270
- // .flatMap((d) => d.value)
271
- // .filter(
272
- // (curvePool) =>
273
- // curvePool?.gaugeAddress &&
274
- // !deployedStratsGauges.includes(curvePool.gaugeAddress) &&
275
- // ((curvePool.gaugeCrvApy &&
276
- // curvePool.gaugeCrvApy.length > 1 &&
277
- // curvePool.gaugeCrvApy[1] !== null &&
278
- // curvePool.gaugeCrvApy[1] > 0) ||
279
- // (curvePool.gaugeRewards && curvePool.gaugeRewards.length > 0)),
280
- // )
281
- // .map((s) => ({
282
- // ...s,
283
- // protocol: 'curve',
284
- // chainId,
285
- // convexPool:
286
- // chainId === 1
287
- // ? apisData.convexPools.find(
288
- // (pool: any) => pool.lpTokenAddress.toLowerCase() === s.lpTokenAddress.toLowerCase(),
289
- // )?.convexPoolData || undefined
290
- // : undefined,
291
- // }))
270
+ const deployedStratsGauges = stratsData.map((s) => s.gaugeAddress)
271
+ const notDeployedStrats = apisData.curveApiData
272
+ .filter(
273
+ (curvePool) =>
274
+ curvePool.gauge &&
275
+ !deployedStratsGauges.includes(curvePool.gauge.address) &&
276
+ ((curvePool.crvApr && curvePool.crvApr.length > 1 && curvePool.crvApr[1] !== null && curvePool.crvApr[1] > 0) ||
277
+ (curvePool.gauge.extraRewards && curvePool.gauge.extraRewards.length > 0)),
278
+ )
279
+ .map((s) => ({
280
+ ...s,
281
+ protocol: 'curve',
282
+ chainId,
283
+ convexPool:
284
+ chainId === 1
285
+ ? apisData.convexPools.find((pool: any) => equalTlc(pool.lpTokenAddress, s.lp))?.convexPoolData || undefined
286
+ : undefined,
287
+ }))
292
288
 
293
289
  return {
294
290
  global,
295
291
  deployed: stratsData,
296
- notDeployed: [],
292
+ notDeployed: notDeployedStrats,
297
293
  fetched: true,
298
294
  }
299
295
  }
@@ -14,7 +14,8 @@ export const getCurveHttpCalls = async (
14
14
  explorer: string,
15
15
  rpc: string,
16
16
  chainId: number,
17
- lastBlockNumber: number,
17
+ fromBlock: number,
18
+ toBlock: number,
18
19
  gaugesWeights: GaugesWeightsData,
19
20
  ) => {
20
21
  switch (chainId) {
@@ -27,7 +28,8 @@ export const getCurveHttpCalls = async (
27
28
  explorerApiKey,
28
29
  explorer,
29
30
  contract('curveVaultFactory', chainId),
30
- lastBlockNumber,
31
+ fromBlock,
32
+ toBlock,
31
33
  ),
32
34
  )
33
35
  ).json(),
@@ -63,7 +65,13 @@ export const getCurveHttpCalls = async (
63
65
  // Etherscan Events
64
66
  (
65
67
  await fetch(
66
- FACTORY_EXPLORER_EVENTS(explorerApiKey, explorer, contract('curveVaultFactory', chainId), lastBlockNumber),
68
+ FACTORY_EXPLORER_EVENTS(
69
+ explorerApiKey,
70
+ explorer,
71
+ contract('curveVaultFactory', chainId),
72
+ fromBlock,
73
+ toBlock,
74
+ ),
67
75
  )
68
76
  ).json(),
69
77
  // Curve Data (replace APIs calls)
@@ -69,6 +69,7 @@ export const getPancakeV3Vaults = async (
69
69
  const global: PancakeSwapGlobalData = {
70
70
  totalAllocPoint: '0',
71
71
  inflationRate: '0',
72
+ lastSyncBlock: 0,
72
73
  fees: {
73
74
  veSdt: 0,
74
75
  perf: 15,
@@ -9,6 +9,7 @@ import { getPancakeNotDeployed } from './getPancakeNotDeployed.js'
9
9
  import { getPancakeV3Vaults } from './getPancakeV3Vaults.js'
10
10
 
11
11
  interface TFetchPancakeswap {
12
+ provider: any
12
13
  rpc: string
13
14
  chainId: ValidChainId
14
15
  prices: Price[]
@@ -16,8 +17,16 @@ interface TFetchPancakeswap {
16
17
  explorer: ValidExplorer
17
18
  }
18
19
 
19
- export const fetchPancakeswap = async ({ rpc, chainId, prices, explorerApiKey, explorer }: TFetchPancakeswap) => {
20
- const lastBlockNumber = pancakeswapErc20Strats.meta.lastSyncBlock[chainId]! + 1
20
+ export const fetchPancakeswap = async ({
21
+ provider,
22
+ rpc,
23
+ chainId,
24
+ prices,
25
+ explorerApiKey,
26
+ explorer,
27
+ }: TFetchPancakeswap) => {
28
+ const fromBlock = pancakeswapErc20Strats.meta.lastSyncBlock[chainId]! + 1
29
+ const toBlock = Number(await provider.getBlockNumber())
21
30
 
22
31
  const [feesApr, managerFees, stakedTVLS, events] = await Promise.all([
23
32
  getPancakeSwapFeesAPR(chainId),
@@ -25,7 +34,13 @@ export const fetchPancakeswap = async ({ rpc, chainId, prices, explorerApiKey, e
25
34
  (await fetch('https://raw.githubusercontent.com/stake-dao/votemarket-data/main/tvls/cake.json')).json(),
26
35
  (
27
36
  await fetch(
28
- NEW_FACTORY_EXPLORER_EVENTS(explorerApiKey, explorer, contracts.cakeVaultFactory![chainId]!, lastBlockNumber),
37
+ NEW_FACTORY_EXPLORER_EVENTS(
38
+ explorerApiKey,
39
+ explorer,
40
+ contracts.cakeVaultFactory![chainId]!,
41
+ fromBlock,
42
+ toBlock,
43
+ ),
29
44
  )
30
45
  ).json(),
31
46
  ])
@@ -47,13 +47,14 @@ export const fetchPendle = async ({ prices, provider, rpc, explorerApiKey, explo
47
47
  address: sdt.address,
48
48
  }
49
49
 
50
- const lastBlockNumber = pendleStrats.meta.lastSyncBlock[chainId]! + 1
50
+ const fromBlock = pendleStrats.meta.lastSyncBlock[chainId]! + 1
51
+ const toBlock = Number(await provider.getBlockNumber())
51
52
 
52
53
  const httpCalls = [
53
54
  // Etherscan Events
54
55
  await (
55
56
  await fetch(
56
- FACTORY_EXPLORER_EVENTS(explorerApiKey, explorer, contracts.pendleVaultFactory![chainId]!, lastBlockNumber),
57
+ FACTORY_EXPLORER_EVENTS(explorerApiKey, explorer, contracts.pendleVaultFactory![chainId]!, fromBlock, toBlock),
57
58
  )
58
59
  ).json(),
59
60
  // Pende Api
@@ -317,6 +318,7 @@ export const fetchPendle = async ({ prices, provider, rpc, explorerApiKey, explo
317
318
 
318
319
  return {
319
320
  global: {
321
+ lastSyncBlock: toBlock,
320
322
  fees: {
321
323
  veSdt: 5,
322
324
  perf: 5,
@@ -151,11 +151,13 @@ export type CurveGlobalData = {
151
151
  veCrvTotalSupply: string
152
152
  stakeDaoVeBoost: string
153
153
  convexVeBoost: string
154
+ lastSyncBlock: number
154
155
  fees: Fees
155
156
  }
156
157
 
157
158
  export type YearnGlobalData = {
158
159
  totalGaugeWeights: string
160
+ lastSyncBlock: number
159
161
  fees: Fees
160
162
  }
161
163
 
@@ -163,12 +165,14 @@ export type BalancerGlobalData = {
163
165
  totalGaugeWeights: string
164
166
  inflationRate: string
165
167
  balPerWeek: string
168
+ lastSyncBlock: number
166
169
  fees: Fees
167
170
  }
168
171
 
169
172
  export type PancakeSwapGlobalData = {
170
173
  totalAllocPoint: string
171
174
  inflationRate: string
175
+ lastSyncBlock: number
172
176
  fees: Fees
173
177
  }
174
178
 
@@ -54,7 +54,6 @@ interface TFetchYearn {
54
54
  explorerApiKey: string
55
55
  explorer: ValidExplorer
56
56
  chainId: ValidChainId
57
- lastBlockNumber: number
58
57
  sdtEmissionData: SdtEmissionData
59
58
  }
60
59
 
@@ -65,9 +64,11 @@ export const fetchYearn = async ({
65
64
  explorerApiKey,
66
65
  explorer,
67
66
  chainId,
68
- lastBlockNumber,
69
67
  sdtEmissionData,
70
68
  }: TFetchYearn): Promise<StrategyData> => {
69
+ const fromBlock = yearnStrats.meta.lastSyncBlock[chainId]! + 1
70
+ const toBlock = Number(await provider.getBlockNumber())
71
+
71
72
  const dYfiPrice = prices.find((p) => p.symbol === 'dYFI')?.usdPrice || 0
72
73
  const stratsCalls: any[] = []
73
74
  const rewardsCalls: any[] = []
@@ -76,7 +77,13 @@ export const fetchYearn = async ({
76
77
  // Etherscan Events
77
78
  (
78
79
  await fetch(
79
- NEW_FACTORY_EXPLORER_EVENTS(explorerApiKey, explorer, contracts.yearnVaultFactory![chainId]!, lastBlockNumber),
80
+ NEW_FACTORY_EXPLORER_EVENTS(
81
+ explorerApiKey,
82
+ explorer,
83
+ contracts.yearnVaultFactory![chainId]!,
84
+ fromBlock,
85
+ toBlock,
86
+ ),
80
87
  )
81
88
  ).json(),
82
89
  // Yearn Api
@@ -239,6 +246,7 @@ export const fetchYearn = async ({
239
246
 
240
247
  return {
241
248
  global: {
249
+ lastSyncBlock: toBlock,
242
250
  totalGaugeWeights: formatUnits(yearnGlobalData[2].result, 0),
243
251
  fees: { claimer: Number(yearnGlobalData[0].result) / 100, accumulator: 5, perf: 5, veSdt: 5 },
244
252
  },