@stake-dao/reader 0.4.96 → 0.4.98

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 (38) hide show
  1. package/dist/esm/index.js +1 -0
  2. package/dist/esm/index.js.map +1 -1
  3. package/dist/esm/number.js +64 -16
  4. package/dist/esm/number.js.map +1 -1
  5. package/dist/esm/strategies/curve/fetch/getOnlyboostData.js +6 -0
  6. package/dist/esm/strategies/curve/fetch/getOnlyboostData.js.map +1 -1
  7. package/dist/esm/strategies/curve/fetch/index.js +13 -15
  8. package/dist/esm/strategies/curve/fetch/index.js.map +1 -1
  9. package/dist/esm/strategies/curve/httpCalls.js +31 -35
  10. package/dist/esm/strategies/curve/httpCalls.js.map +1 -1
  11. package/dist/esm/strategies/v2/parse.js +174 -0
  12. package/dist/esm/strategies/v2/parse.js.map +1 -0
  13. package/dist/esm/votemarket/curve/fetchSnapshotUserData.js +2 -0
  14. package/dist/esm/votemarket/curve/fetchSnapshotUserData.js.map +1 -1
  15. package/dist/types/index.d.ts +1 -0
  16. package/dist/types/index.d.ts.map +1 -1
  17. package/dist/types/number.d.ts +17 -2
  18. package/dist/types/number.d.ts.map +1 -1
  19. package/dist/types/strategies/curve/fetch/getOnlyboostData.d.ts.map +1 -1
  20. package/dist/types/strategies/curve/fetch/index.d.ts +1 -2
  21. package/dist/types/strategies/curve/fetch/index.d.ts.map +1 -1
  22. package/dist/types/strategies/curve/httpCalls.d.ts +2 -2
  23. package/dist/types/strategies/curve/httpCalls.d.ts.map +1 -1
  24. package/dist/types/strategies/types.d.ts +2 -0
  25. package/dist/types/strategies/types.d.ts.map +1 -1
  26. package/dist/types/strategies/v2/parse.d.ts +51 -0
  27. package/dist/types/strategies/v2/parse.d.ts.map +1 -0
  28. package/dist/types/votemarket/curve/fetchSnapshotUserData.d.ts.map +1 -1
  29. package/package.json +3 -3
  30. package/src/index.ts +1 -0
  31. package/src/number.ts +77 -19
  32. package/src/strategies/curve/fetch/getOnlyboostData.ts +7 -0
  33. package/src/strategies/curve/fetch/index.ts +12 -23
  34. package/src/strategies/curve/httpCalls.ts +31 -48
  35. package/src/strategies/types.ts +2 -0
  36. package/src/strategies/v2/parse.ts +197 -0
  37. package/src/votemarket/curve/fetchSnapshotUserData.ts +2 -0
  38. package/dist/esm/tsconfig.build.tsbuildinfo +0 -1
@@ -63,6 +63,8 @@ export const getStakeDaoSnapshotSpace = (protocolId) => {
63
63
  return 'sdfxn.eth';
64
64
  case 'balancer':
65
65
  return 'sdbal.eth';
66
+ case 'pendle':
67
+ return 'sdpendle.eth';
66
68
  default:
67
69
  return undefined;
68
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetchSnapshotUserData.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchSnapshotUserData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetchSnapshotUserData.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchSnapshotUserData.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export { getVeNFTUser } from './lockers/utils/getVeNFTUser.js';
11
11
  export { default as pegCalls } from './lockers/utils/callsForLockers/pegCalls.js';
12
12
  export { parsePeg } from './lockers/fetch/parsePeg.js';
13
13
  export * from './strategies/utils/index.js';
14
+ export { parseV2Strats } from './strategies/v2/parse.js';
14
15
  export { buildCurveStrategies } from './strategies/curve/build.js';
15
16
  export { fetchCurve } from './strategies/curve/fetch/index.js';
16
17
  export { getCurveApiData } from './strategies/curve/fetch/curveApiData/getCurveApiData.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,21 @@
1
+ export declare const USD_PROPS: any;
1
2
  export declare const getString: (data: any, nbDecimals?: number) => string | 0;
2
- export declare const getFixedNumber: (amount: string, reduce?: boolean) => number;
3
+ export declare const getApr: (data: any) => string;
4
+ export declare const getFixedNumber: (amount: string | number, reduce?: boolean) => number;
5
+ export declare const getSubNumber: (nb: string, decimals?: number) => {
6
+ prefix: string;
7
+ sub: number;
8
+ suffix: string;
9
+ decimals: number;
10
+ } | {
11
+ prefix: string;
12
+ decimals: number;
13
+ sub?: undefined;
14
+ suffix?: undefined;
15
+ };
3
16
  export declare const fixed: (nb: string, decimals?: number) => string;
4
- export declare const formatUsd: (number: string | number) => string;
17
+ export declare const fixedNb: (nb: number, decimals?: number) => string;
18
+ export declare const reducedNb: (number: any, addNegative?: boolean) => string;
19
+ export declare const formatUsd: (number: any) => string;
5
20
  export declare const withTwoDec: (num: number) => string;
6
21
  //# sourceMappingURL=number.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/number.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,SAAU,GAAG,oCAKlC,CAAA;AAED,eAAO,MAAM,cAAc,WAAY,MAAM,6BAa5C,CAAA;AAED,eAAO,MAAM,KAAK,OAAQ,MAAM,aAAa,MAAM,WAMlD,CAAA;AAED,eAAO,MAAM,SAAS,WAAY,MAAM,GAAG,MAAM,WAchD,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,MAAM,WAErC,CAAA"}
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/number.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,EAKjB,GAAG,CAAA;AAER,eAAO,MAAM,SAAS,gDAKrB,CAAA;AAED,eAAO,MAAM,MAAM,uBAAqC,CAAA;AAExD,eAAO,MAAM,cAAc,WAAY,MAAM,GAAG,MAAM,6BAYrD,CAAA;AAED,eAAO,MAAM,YAAY,OAAQ,MAAM,aAAa,MAAM;;;;;;;;;;CAmBzD,CAAA;AAED,eAAO,MAAM,KAAK,OAAQ,MAAM,aAAa,MAAM,WAUlD,CAAA;AAED,eAAO,MAAM,OAAO,OAAQ,MAAM,aAAa,MAAM,WAMpD,CAAA;AAED,eAAO,MAAM,SAAS,8BAA0B,OAAO,WAatD,CAAA;AAED,eAAO,MAAM,SAAS,yBAgBrB,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,MAAM,WAErC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOnlyboostData.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/getOnlyboostData.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,QAAA,MAAM,gBAAgB,SACd,GAAG,mBACQ,MAAM,iBACR,MAAM,oBACH,MAAM,yBACD,MAAM,oBACX,MAAM,kBACR,MAAM,mBACL,MAAM,gBACT,MAAM,KACnB,aA6FF,CAAA;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"getOnlyboostData.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/getOnlyboostData.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,QAAA,MAAM,gBAAgB,SACd,GAAG,mBACQ,MAAM,iBACR,MAAM,oBACH,MAAM,yBACD,MAAM,oBACX,MAAM,kBACR,MAAM,mBACL,MAAM,gBACT,MAAM,KACnB,aAoGF,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -6,11 +6,10 @@ interface TFetchCurve {
6
6
  prices: Price[];
7
7
  provider: any;
8
8
  rpc: string;
9
- explorerApiKey: string;
10
9
  chainId: ValidChainId;
11
10
  sdtEmissionData: SdtEmissionData;
12
11
  gaugesWeights: GaugesWeightsData;
13
12
  }
14
- export declare const fetchCurve: ({ prices, provider, rpc, explorerApiKey, chainId, sdtEmissionData, gaugesWeights, }: TFetchCurve) => Promise<StrategyData>;
13
+ export declare const fetchCurve: ({ prices, provider, rpc, chainId, sdtEmissionData, gaugesWeights, }: TFetchCurve) => 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/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,EAA+C,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAQ7G,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,OAAO,EAAE,YAAY,CAAA;IACrB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,iBAAiB,CAAA;CACjC;AAED,eAAO,MAAM,UAAU,wFAQpB,WAAW,KAAG,OAAO,CAAC,YAAY,CAsOpC,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,EAA+C,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAO7G,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,OAAO,EAAE,YAAY,CAAA;IACrB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,iBAAiB,CAAA;CACjC;AAED,eAAO,MAAM,UAAU,wEAOpB,WAAW,KAAG,OAAO,CAAC,YAAY,CA8NpC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { type GaugesWeightsData } from './fetch/curveApiData/getGaugesWeights.js';
2
- export declare const getCurveHttpCalls: (explorerApiKey: string, rpc: string, chainId: number, fromBlock: number, toBlock: number, gaugesWeights: GaugesWeightsData) => Promise<{
3
- explorerData: any;
2
+ export declare const getCurveHttpCalls: (rpc: string, chainId: number, gaugesWeights: GaugesWeightsData) => Promise<{
3
+ explorerData: undefined;
4
4
  curveSubgraphData: any;
5
5
  convexPools: any;
6
6
  convexLendingVaults: any;
@@ -1 +1 @@
1
- {"version":3,"file":"httpCalls.d.ts","sourceRoot":"","sources":["../../../../src/strategies/curve/httpCalls.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAEjF,eAAO,MAAM,iBAAiB,mBACZ,MAAM,OACjB,MAAM,WACF,MAAM,aACJ,MAAM,WACR,MAAM,iBACA,iBAAiB;;;;;;;;;;;;EAoFjC,CAAA"}
1
+ {"version":3,"file":"httpCalls.d.ts","sourceRoot":"","sources":["../../../../src/strategies/curve/httpCalls.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAEjF,eAAO,MAAM,iBAAiB,QAAe,MAAM,WAAW,MAAM,iBAAiB,iBAAiB;;;;;;;;;;;;EAiFrG,CAAA"}
@@ -21,9 +21,11 @@ export type OnlyBoostProtocolData = {
21
21
  tvl: number;
22
22
  supply: string;
23
23
  boost: number;
24
+ share: number;
24
25
  workingBalance: string;
25
26
  workingBalanceShare: string;
26
27
  optimal: {
28
+ tvl: number;
27
29
  supply: string;
28
30
  boost: number;
29
31
  share: number;
@@ -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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"}
@@ -0,0 +1,51 @@
1
+ export declare const parseV2Strats: (global: any, rawStrats: any[], extra: any) => {
2
+ key: any;
3
+ isLending: any;
4
+ name: any;
5
+ type: string;
6
+ version: number;
7
+ protocol: string;
8
+ chainId: any;
9
+ vault: any;
10
+ lpToken: {
11
+ id: any;
12
+ name: any;
13
+ symbol: any;
14
+ address: any;
15
+ decimals: any;
16
+ };
17
+ gaugeAddress: any;
18
+ gauge: {
19
+ address: any;
20
+ totalSupply: any;
21
+ totalSupplyUsd: any;
22
+ extraRewards: never[];
23
+ };
24
+ coins: any;
25
+ underlyingCoins: never[];
26
+ lpPriceInUsd: number;
27
+ streaming: boolean;
28
+ tvl: number;
29
+ apr: {
30
+ boost: number;
31
+ current: {
32
+ total: number;
33
+ details: {
34
+ label: string;
35
+ value: number[];
36
+ }[];
37
+ };
38
+ };
39
+ rewards: any;
40
+ tradingApy: number;
41
+ minApr: number;
42
+ maxApr: any;
43
+ totalSupply: any;
44
+ workingBalance: any;
45
+ onlyboost: import("../types.js").OnlyBoostData;
46
+ convexPool: {
47
+ id: number;
48
+ crvRewards: any;
49
+ } | undefined;
50
+ }[];
51
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/strategies/v2/parse.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,aAAa,WAAY,GAAG,aAAa,GAAG,EAAE,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgKtE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchSnapshotUserData.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchSnapshotUserData.ts"],"names":[],"mappings":"AAMA,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE;QACL,UAAU,EAAE,gBAAgB,EAAE,CAAA;KAC/B,CAAA;CACF;AAED,UAAU,iBAAiB;IACzB,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAC7E;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,GAAG,CAAA;CACZ;AAyDD,eAAO,MAAM,wBAAwB,eAAgB,MAAM,KAAG,MAAM,GAAG,SAWtE,CAAA;AAED,eAAO,MAAM,qBAAqB,gBACnB,MAAM,UACX,MAAM,EAAE,gBACF,GAAG,KAChB,OAAO,CAAC,iBAAiB,EAAE,GAAG,SAAS,CA+DzC,CAAA"}
1
+ {"version":3,"file":"fetchSnapshotUserData.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchSnapshotUserData.ts"],"names":[],"mappings":"AAMA,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE;QACL,UAAU,EAAE,gBAAgB,EAAE,CAAA;KAC/B,CAAA;CACF;AAED,UAAU,iBAAiB;IACzB,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAC7E;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,GAAG,CAAA;CACZ;AAyDD,eAAO,MAAM,wBAAwB,eAAgB,MAAM,KAAG,MAAM,GAAG,SAatE,CAAA;AAED,eAAO,MAAM,qBAAqB,gBACnB,MAAM,UACX,MAAM,EAAE,gBACF,GAAG,KAChB,OAAO,CAAC,iBAAiB,EAAE,GAAG,SAAS,CA+DzC,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stake-dao/reader",
3
3
  "description": "",
4
- "version": "0.4.96",
4
+ "version": "0.4.98",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",
@@ -35,7 +35,7 @@
35
35
  "graphql-request": "^6.0.0",
36
36
  "lodash-es": "^4.17.21",
37
37
  "viem": "2.35.0",
38
- "@stake-dao/constants": "0.4.50"
38
+ "@stake-dao/constants": "0.4.51"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/lodash-es": "^4.17.12",
@@ -49,7 +49,7 @@
49
49
  "scripts": {
50
50
  "build": "pnpm run clean && pnpm run build:esm+types",
51
51
  "build:esm+types": "tsc --project tsconfig.build.json --outDir ./dist/esm --declaration --declarationMap --declarationDir ./dist/types",
52
- "clean": "rm -rf dist",
52
+ "clean": "pnpm exec rimraf dist",
53
53
  "test:build": "publint --strict",
54
54
  "typecheck": "tsc --noEmit"
55
55
  }
package/src/index.ts CHANGED
@@ -26,6 +26,7 @@ export { parsePeg } from './lockers/fetch/parsePeg.js'
26
26
  /// --- STATEGIES
27
27
 
28
28
  export * from './strategies/utils/index.js'
29
+ export { parseV2Strats } from './strategies/v2/parse.js'
29
30
 
30
31
  // Curve
31
32
  export { buildCurveStrategies } from './strategies/curve/build.js'
package/src/number.ts CHANGED
@@ -1,51 +1,109 @@
1
1
  import { formatUnits } from 'viem'
2
2
 
3
- export const getString = (data: any, nbDecimals = 2) => {
3
+ export const USD_PROPS = {
4
+ minimumFractionDigits: 2,
5
+ maximumFractionDigits: 2,
6
+ notation: 'compact',
7
+ compactDisplay: 'short',
8
+ } as any
9
+
10
+ export const getString = (data, nbDecimals = 2) => {
4
11
  if (typeof data === 'string') {
5
12
  return data
6
13
  }
7
14
  return data ? Number(data).toFixed(nbDecimals) : 0
8
15
  }
9
16
 
10
- export const getFixedNumber = (amount: string, reduce = false) => {
11
- const earningsNumber = reduce ? Number(formatUnits(BigInt(amount), 18)) : Number(amount)
12
- if (earningsNumber > 0 && earningsNumber < 1) {
13
- const indexNotZero = earningsNumber.toString().match('[1-9]')
17
+ export const getApr = (data) => `${getString(data, 2)}%`
18
+
19
+ export const getFixedNumber = (amount: string | number, reduce = false) => {
20
+ const earningsNumber = reduce ? formatUnits(BigInt(amount), 18) : `${amount}`
21
+ const nbEarningsNumber = Number(earningsNumber) > 0 ? Number(earningsNumber) : Number(earningsNumber) * -1
22
+
23
+ if (nbEarningsNumber > 0 && nbEarningsNumber < 1) {
24
+ const indexNotZero = earningsNumber.match('[1-9]')
14
25
  return indexNotZero?.index ? indexNotZero.index - 2 + 4 : 4
15
26
  }
16
- if (earningsNumber >= 1 && earningsNumber < 100) {
17
- return 2
18
- }
19
- if (earningsNumber >= 100 && earningsNumber < 1000) {
27
+ if (nbEarningsNumber >= 1 && nbEarningsNumber < 1000) {
20
28
  return 2
21
29
  }
22
30
  return 0
23
31
  }
24
32
 
33
+ export const getSubNumber = (nb: string, decimals?: number) => {
34
+ const numberNb = Number(nb)
35
+
36
+ if (numberNb > 0 && numberNb < 1) {
37
+ const indexNotZero = nb.match('[1-9]')
38
+ const indexNotZeroIndex = indexNotZero?.index || 2
39
+ const nbWithoutZero = nb.replace(`0.${new Array(indexNotZeroIndex - 2).fill(0).join('')}`, '')
40
+ return indexNotZeroIndex - 2 > 2
41
+ ? {
42
+ prefix: '0.0',
43
+ sub: indexNotZeroIndex - 2,
44
+ suffix: nbWithoutZero.slice(0, 2),
45
+ decimals: 1,
46
+ }
47
+ : { prefix: nb, decimals: 3 }
48
+ }
49
+
50
+ const fixedTo = decimals ? decimals : getFixedNumber(nb)
51
+ return { prefix: nb, decimals: fixedTo }
52
+ }
53
+
25
54
  export const fixed = (nb: string, decimals?: number) => {
26
55
  const fixedTo = decimals ? decimals : getFixedNumber(nb)
27
- return Number(nb).toLocaleString('en-US', {
56
+ const fixed = Number(nb).toLocaleString('en-US', {
28
57
  minimumFractionDigits: fixedTo,
29
58
  maximumFractionDigits: fixedTo,
30
59
  })
60
+
61
+ // Remove trailing zeros after the decimal point
62
+ // Remove trailing decimal point if there is no fractional part
63
+ return fixed.replace(/(\.\d*?)0+$/, '$1').replace(/\.$/, '')
31
64
  }
32
65
 
33
- export const formatUsd = (number: string | number) => {
34
- const nb = typeof number === 'string' ? Number(number) : number
66
+ export const fixedNb = (nb: number, decimals?: number) => {
67
+ const fixedTo = decimals ? decimals : getFixedNumber(nb)
68
+ return nb.toLocaleString('en-US', {
69
+ minimumFractionDigits: fixedTo,
70
+ maximumFractionDigits: fixedTo,
71
+ })
72
+ }
73
+
74
+ export const reducedNb = (number, addNegative?: boolean) => {
75
+ let isNegative = false
76
+
77
+ if (typeof number === 'string') number = Number(number)
78
+ if (number < 0) {
79
+ number *= -1
80
+ isNegative = true
81
+ }
82
+
83
+ let res = fixed(number.toString())
84
+ if (number > 1000) res = number.toLocaleString('en-US', USD_PROPS)
85
+
86
+ return `${isNegative && addNegative ? '-' : ''}${res}`
87
+ }
88
+
89
+ export const formatUsd = (number) => {
90
+ if (typeof number === 'string') {
91
+ number = Number(number)
92
+ }
35
93
 
36
- if (nb > 1000000000) {
37
- return `${getString(nb / 1000000000, 2)}B`
94
+ if (number > 1000000000) {
95
+ return `${getString(number / 1000000000, 2)}B`
38
96
  }
39
- if (nb > 1000000) {
40
- return `${getString(nb / 1000000, 2)}M`
97
+ if (number > 1000000) {
98
+ return `${getString(number / 1000000, 2)}M`
41
99
  }
42
- if (nb > 1000) {
43
- return `${getString(nb / 1000, 2)}k`
100
+ if (number > 1000) {
101
+ return `${getString(number / 1000, 2)}k`
44
102
  }
45
103
 
46
104
  return fixed(number.toString())
47
105
  }
48
106
 
49
107
  export const withTwoDec = (num: number) => {
50
- return (Math.floor(num * 100) / 100).toFixed(2)
108
+ return fixedNb(num, 2)
51
109
  }
@@ -44,6 +44,9 @@ const getOnlyboostData = (
44
44
  const stakeDaoOptSupply = formatUnits(data.stakeDaoOptSupply, 0)
45
45
  const convexOptSupply = formatUnits(data.convexOptSupply, 0)
46
46
 
47
+ const stakeDaoOptTvl = Number(formatUnits(data.stakeDaoOptSupply, 18)) * lpPriceInUsd
48
+ const convexOptTvl = Number(formatUnits(data.convexOptSupply, 18)) * lpPriceInUsd
49
+
47
50
  const stakeDaoOptShare = Number(stakeDaoOptSupply) / Number(totalSupply)
48
51
  const convexOptShare = Number(convexOptSupply) / Number(totalSupply)
49
52
 
@@ -82,9 +85,11 @@ const getOnlyboostData = (
82
85
  tvl: stakeDaoTvl,
83
86
  supply: stakeDaoSupply,
84
87
  boost: stakeDaoBoost,
88
+ share: stakeDaoShare,
85
89
  workingBalance: stakeDaoWorkingBalanceShare,
86
90
  workingBalanceShare: stakeDaoWorkingBalanceShare,
87
91
  optimal: {
92
+ tvl: stakeDaoOptTvl,
88
93
  supply: stakeDaoOptSupply,
89
94
  boost: stakeDaoOptBoost,
90
95
  share: stakeDaoOptShare,
@@ -94,9 +99,11 @@ const getOnlyboostData = (
94
99
  tvl: convexTvl,
95
100
  supply: convexSupply,
96
101
  boost: convexBoost,
102
+ share: convexShare,
97
103
  workingBalance: formatUnits(data.convexWorkingBalance, 0),
98
104
  workingBalanceShare: formatUnits(convexWorkingBalanceShare, 0),
99
105
  optimal: {
106
+ tvl: convexOptTvl,
100
107
  supply: convexOptSupply,
101
108
  boost: convexOptBoost,
102
109
  share: convexOptShare,
@@ -1,12 +1,11 @@
1
1
  import { formatUnits } from 'viem'
2
2
 
3
- import { ONE_YEAR, OneEther, Zero, curveStrats, mainnet, tokenWithId } from '@stake-dao/constants'
3
+ import { ONE_YEAR, OneEther, curveStrats, mainnet } from '@stake-dao/constants'
4
4
  import type { Price } from '../../../prices.js'
5
5
  import { type SdtEmissionData, getSdtApr } from '../../../sdt.js'
6
6
  import { equalTlc } from '../../../utils.js'
7
7
  import type { CurveGlobalData, OnlyBoostData, RewardsData, StrategyData, ValidChainId } from '../../types.js'
8
8
  import { getBoost } from '../../utils/boost.js'
9
- import decodeEtherscanFactoryEvent, { decodeNewFactoryEvent } from '../../utils/decodeEtherscanFactoryEvent.js'
10
9
  import { getAprBreakdown } from '../../utils/getAprBreakdown.js'
11
10
  import { buildCurveStrategies } from '../build.js'
12
11
  import { getCurveHttpCalls } from '../httpCalls.js'
@@ -21,7 +20,6 @@ interface TFetchCurve {
21
20
  prices: Price[]
22
21
  provider: any
23
22
  rpc: string
24
- explorerApiKey: string
25
23
  chainId: ValidChainId
26
24
  sdtEmissionData: SdtEmissionData
27
25
  gaugesWeights: GaugesWeightsData
@@ -31,23 +29,14 @@ export const fetchCurve = async ({
31
29
  prices,
32
30
  provider,
33
31
  rpc,
34
- explorerApiKey,
35
32
  chainId,
36
33
  sdtEmissionData,
37
34
  gaugesWeights,
38
35
  }: TFetchCurve): Promise<StrategyData> => {
39
- const fromBlock = curveStrats.meta.lastSyncBlock[chainId]! + 1
40
- const toBlock = Number(await provider.getBlockNumber())
41
- const apisData = await getCurveHttpCalls(explorerApiKey, rpc, chainId, fromBlock, toBlock, gaugesWeights)
36
+ const lastSyncBlock = curveStrats.meta.lastSyncBlock[chainId]!
37
+ const apisData = await getCurveHttpCalls(rpc, chainId, gaugesWeights)
42
38
 
43
- const newVaultAndLp =
44
- chainId === mainnet.id
45
- ? decodeNewFactoryEvent(apisData.explorerData)
46
- : decodeEtherscanFactoryEvent(apisData.explorerData)
47
-
48
- const allVaultAndLp = curveStrats.strats[chainId]!.concat(newVaultAndLp).filter(
49
- (s) => !BROKEN_VAULTS[chainId].includes(s.vault),
50
- )
39
+ const allVaultAndLp = curveStrats.strats[chainId]!.filter((s) => !BROKEN_VAULTS[chainId].includes(s.vault))
51
40
 
52
41
  const strats: any[] = await buildCurveStrategies(provider, allVaultAndLp, chainId, apisData.curveApiData)
53
42
 
@@ -66,7 +55,7 @@ export const fetchCurve = async ({
66
55
  veCrvTotalSupply: '0',
67
56
  stakeDaoVeBoost: '0',
68
57
  convexVeBoost: '0',
69
- lastSyncBlock: toBlock,
58
+ lastSyncBlock,
70
59
  fees: {
71
60
  veSdt: 5,
72
61
  perf: 2,
@@ -78,7 +67,6 @@ export const fetchCurve = async ({
78
67
  // TODO stratsData type
79
68
  let stratsData: any[] = []
80
69
 
81
- const crv = tokenWithId('crv', chainId)
82
70
  decodedPromise.forEach((d: any, index: number) => {
83
71
  if (index === 0) {
84
72
  if (chainId === mainnet.id) {
@@ -162,12 +150,13 @@ export const fetchCurve = async ({
162
150
  periodFinish,
163
151
  rate: formatUnits(r.rate, 0),
164
152
  lastUpdate: formatUnits(r.last_update, 0),
165
- claimablePendingRewards: equalTlc(v.rewardsTokens[rewardIndex], crv?.address!)
166
- ? formatUnits(v.claimablePendingRewards, 0)
167
- : formatUnits(
168
- v.claimableData.find((c: any) => c.token === v.rewardsTokens[rewardIndex])?.claimable || Zero,
169
- 0,
170
- ),
153
+ claimablePendingRewards: '0',
154
+ // claimablePendingRewards: equalTlc(v.rewardsTokens[rewardIndex], crv?.address!)
155
+ // ? formatUnits(v.claimablePendingRewards, 0)
156
+ // : formatUnits(
157
+ // v.claimableData.find((c: any) => c.token === v.rewardsTokens[rewardIndex])?.claimable || Zero,
158
+ // 0,
159
+ // ),
171
160
  }
172
161
  })
173
162
 
@@ -1,38 +1,23 @@
1
- import { contract } from '@stake-dao/constants'
2
- import { getLogsFromEtherscan } from '../../utils/etherscan.js'
3
1
  import { handlePromise } from '../utils/promise.js'
4
- import {
5
- CONVEX_LENDING_VAULTS_URL,
6
- CONVEX_POOLS_URL,
7
- CURVE_API_URL,
8
- FACTORY_EVENT_TOPIC,
9
- NEW_FACTORY_EVENT_TOPIC,
10
- } from './endpoints.js'
2
+ import { CONVEX_LENDING_VAULTS_URL, CONVEX_POOLS_URL, CURVE_API_URL } from './endpoints.js'
11
3
  import { getCurveApiData } from './fetch/curveApiData/getCurveApiData.js'
12
4
  import { type GaugesWeightsData } from './fetch/curveApiData/getGaugesWeights.js'
13
5
 
14
- export const getCurveHttpCalls = async (
15
- explorerApiKey: string,
16
- rpc: string,
17
- chainId: number,
18
- fromBlock: number,
19
- toBlock: number,
20
- gaugesWeights: GaugesWeightsData,
21
- ) => {
6
+ export const getCurveHttpCalls = async (rpc: string, chainId: number, gaugesWeights: GaugesWeightsData) => {
22
7
  switch (chainId) {
23
8
  case 1: {
24
9
  const ethHttpCalls = [
25
10
  // Etherscan Events
26
- getLogsFromEtherscan({
27
- chainId,
28
- address: contract('curveVaultFactory', chainId),
29
- apikey: explorerApiKey,
30
- extraQueryParams: {
31
- topic0: NEW_FACTORY_EVENT_TOPIC,
32
- fromBlock: `${fromBlock}`,
33
- toBlock: `${toBlock}`,
34
- },
35
- }),
11
+ // getLogsFromEtherscan({
12
+ // chainId,
13
+ // address: contract('curveVaultFactory', chainId),
14
+ // apikey: explorerApiKey,
15
+ // extraQueryParams: {
16
+ // topic0: NEW_FACTORY_EVENT_TOPIC,
17
+ // fromBlock: `${fromBlock}`,
18
+ // toBlock: `${toBlock}`,
19
+ // },
20
+ // }),
36
21
  // Curve Data (replace APIs calls)
37
22
  getCurveApiData(rpc, chainId, gaugesWeights.gauges),
38
23
  // Curve Trading Apy API
@@ -44,14 +29,13 @@ export const getCurveHttpCalls = async (
44
29
 
45
30
  const ethHttpResponses = await handlePromise(ethHttpCalls, 'curveEthHttpCalls')
46
31
 
47
- const etherscanData = ethHttpResponses[0]
48
- const ethCurveData = ethHttpResponses[1]
49
- const ethCurveSubgraph = ethHttpResponses[2].success ? ethHttpResponses[2].data.poolList : undefined
50
- const convexPools = ethHttpResponses[3].pools
51
- const convexLendingVaults = ethHttpResponses[4].lendingVaults
32
+ const ethCurveData = ethHttpResponses[0]
33
+ const ethCurveSubgraph = ethHttpResponses[1].success ? ethHttpResponses[1].data.poolList : undefined
34
+ const convexPools = ethHttpResponses[2].pools
35
+ const convexLendingVaults = ethHttpResponses[3].lendingVaults
52
36
 
53
37
  return {
54
- explorerData: etherscanData,
38
+ explorerData: undefined,
55
39
  curveSubgraphData: ethCurveSubgraph,
56
40
  convexPools,
57
41
  convexLendingVaults,
@@ -61,16 +45,16 @@ export const getCurveHttpCalls = async (
61
45
  case 42161: {
62
46
  const arbitrumHttpCalls = [
63
47
  // Etherscan Events
64
- getLogsFromEtherscan({
65
- chainId,
66
- address: contract('curveVaultFactory', chainId),
67
- apikey: explorerApiKey,
68
- extraQueryParams: {
69
- topic0: FACTORY_EVENT_TOPIC,
70
- fromBlock: `${fromBlock}`,
71
- toBlock: `${toBlock}`,
72
- },
73
- }),
48
+ // getLogsFromEtherscan({
49
+ // chainId,
50
+ // address: contract('curveVaultFactory', chainId),
51
+ // apikey: explorerApiKey,
52
+ // extraQueryParams: {
53
+ // topic0: FACTORY_EVENT_TOPIC,
54
+ // fromBlock: `${fromBlock}`,
55
+ // toBlock: `${toBlock}`,
56
+ // },
57
+ // }),
74
58
  // Curve Data (replace APIs calls)
75
59
  getCurveApiData(rpc, chainId, gaugesWeights.gauges),
76
60
  // Curve Trading Apy API
@@ -79,14 +63,13 @@ export const getCurveHttpCalls = async (
79
63
 
80
64
  const arbitrumHttpResponses = await handlePromise(arbitrumHttpCalls, 'curveArbitrumHttpCalls')
81
65
 
82
- const arbiscanData = arbitrumHttpResponses[0]
83
- const arbitrumCurveData = arbitrumHttpResponses[1]
84
- const arbitrumCurveSubgraph = arbitrumHttpResponses[2].success
85
- ? arbitrumHttpResponses[2].data.poolList
66
+ const arbitrumCurveData = arbitrumHttpResponses[0]
67
+ const arbitrumCurveSubgraph = arbitrumHttpResponses[1].success
68
+ ? arbitrumHttpResponses[1].data.poolList
86
69
  : undefined
87
70
 
88
71
  return {
89
- explorerData: arbiscanData,
72
+ explorerData: undefined,
90
73
  curveSubgraphData: arbitrumCurveSubgraph,
91
74
  convexPools: [],
92
75
  convexLendingVaults: [],
@@ -25,9 +25,11 @@ export type OnlyBoostProtocolData = {
25
25
  tvl: number
26
26
  supply: string
27
27
  boost: number
28
+ share: number
28
29
  workingBalance: string
29
30
  workingBalanceShare: string
30
31
  optimal: {
32
+ tvl: number
31
33
  supply: string
32
34
  boost: number
33
35
  share: number