@stake-dao/reader 0.3.1 → 0.3.3

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.
@@ -36,6 +36,7 @@ export const fetchCurveGauges = async (rpc) => {
36
36
  const gaugesMetadata = [];
37
37
  const filteredGauges = gauges.filter((g) => g.chainId > 0 && !BROKEN_GAUGES.includes(g.gauge.toLowerCase()));
38
38
  const gaugesPerChain = groupBy(filteredGauges, 'chainId');
39
+ console.info('chains found:', Object.keys(gaugesPerChain));
39
40
  for (const chainId of Object.keys(gaugesPerChain)) {
40
41
  const chainGauges = gaugesPerChain[chainId];
41
42
  const chunkedChainGauges = chunk(chainGauges, GAUGES_METADATA_CHUNK_SIZE);
@@ -55,8 +56,24 @@ export const fetchCurveGauges = async (rpc) => {
55
56
  }
56
57
  const augmentedGauges = filteredGauges.map((g) => {
57
58
  const gaugeMetadata = gaugesMetadata.find((gm) => equalTlc(gm.gauge, g.gauge));
59
+ const filteredCoins = gaugeMetadata.coins
60
+ .map((c) => ({
61
+ name: c.name,
62
+ symbol: c.symbol,
63
+ address: c._address,
64
+ decimals: Number(c.decimals),
65
+ }))
66
+ .filter((c) => c.address !== zeroAddress);
67
+ const name = gaugeMetadata.lp.name
68
+ .replace('Curve.fi Factory Crypto Pool:', '')
69
+ .replace('Curve.fi Factory Pool:', '')
70
+ .replace('Curve.fi Factory USD Metapool:', '')
71
+ .replace('Curve.fi Factory Plain Pool:', '')
72
+ .replace('Curve.fi', '')
73
+ .trim();
58
74
  return {
59
75
  gauge: g.gauge,
76
+ name,
60
77
  weight: g.weight,
61
78
  relativeWeight: g.relativeWeight,
62
79
  futureRelativeWeight: g.futureRelativeWeight,
@@ -68,14 +85,7 @@ export const fetchCurveGauges = async (rpc) => {
68
85
  address: gaugeMetadata.lp._address,
69
86
  decimals: Number(gaugeMetadata.lp.decimals),
70
87
  },
71
- coins: gaugeMetadata.coins
72
- .map((c) => ({
73
- name: c.name,
74
- symbol: c.symbol,
75
- address: c._address,
76
- decimals: Number(c.decimals),
77
- }))
78
- .filter((c) => c.address !== zeroAddress),
88
+ coins: filteredCoins,
79
89
  };
80
90
  });
81
91
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"fetchCurveGauges.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchCurveGauges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAC7G,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAe1F,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAS,EAAuB,EAAE;IACvE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAE,EAAE;QACrD,EAAE,EAAE,EAAE,SAAS,CAAC,oBAAqB,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,WAAW;QAC5E,EAAE,EAAE,EAAE,SAAS,CAAC,oBAAqB,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,mBAAmB;KACrF,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9G,MAAM,iBAAiB,GAAG,WAAW,CACnC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACjG,CAAC,CACF,CAAA;IAED,MAAM,qBAAqB,GAAG,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9E,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAA;QAE5G,MAAM,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAE,CAAQ,EAAE,WAAW,CAAC,CAAA;QAC7G,OAAO,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,SAAS,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC;QACnC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAE;QACrB,KAAK,EAAE,qBAAqB;QAC5B,aAAa,EAAE,gBAAgB,CAAC,UAAW,CAAC,CAAC,CAAC;QAC9C,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,6DAA6D,OAAO,CAAC,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;KAC7G,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAChC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;QAChD,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC5D,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;KAC3B,CAAC,CAAC,CAAA;IAEH,MAAM,cAAc,GAAU,EAAE,CAAA;IAChC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IAC5G,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;IAEzD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAE,CAAA;QAC5C,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAA;QAEzE,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9D,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;YAElD,MAAM,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAE,CAAQ,EAAE,WAAW,CAAC,CAAA;YAChH,OAAO,cAAc,CACnB,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC/G,SAAS,CACV,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC;YAC3C,GAAG,EAAE,GAAG,CAAC,OAAO,CAAE;YAClB,KAAK,EAAE,mBAAmB;YAC1B,aAAa,EAAE,mBAAmB,CAAC,UAAW,CAAC,CAAC,CAAC;YACjD,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,qEAAqE,OAAO,UAAU,CAAC,OAAO,CAAC,EAAE;SAC5G,CAAC,CAAA;QAEF,cAAc,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/C,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAE9E,OAAO;YACL,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,oBAAoB,EAAE,CAAC,CAAC,oBAAoB;YAC5C,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,EAAE,EAAE;gBACF,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,IAAI;gBAC3B,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,MAAM;gBAC/B,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,QAAQ;gBAClC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC;aAC5C;YACD,KAAK,EAAE,aAAa,CAAC,KAAK;iBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,QAAQ;gBACnB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC7B,CAAC,CAAC;iBACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC;SAC5C,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,iBAAiB;QACjB,MAAM,EAAE,eAAe;KACxB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"fetchCurveGauges.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchCurveGauges.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@ import type { Call } from '../../../utils.js';
3
3
  export declare const feeCalls: (lockerId: string, accumulatorAddress: Address) => Call[];
4
4
  export interface ILockerFee {
5
5
  lockerId: string;
6
- claimerFee: bigint;
7
- daoFee: bigint;
8
- bountyFee: bigint;
9
- liquidityFee: bigint;
10
- lockerFee: bigint;
6
+ claimerFee: string;
7
+ daoFee: string;
8
+ bountyFee: string;
9
+ liquidityFee: string;
10
+ lockerFee: string;
11
11
  }
12
12
  export declare const extractFees: (lockers: any, feesData: any) => ILockerFee[];
13
13
  //# sourceMappingURL=feeCalls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feeCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/feeCalls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAe,MAAM,MAAM,CAAA;AAEhD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,eAAO,MAAM,QAAQ,aAAc,MAAM,sBAAsB,OAAO,WAoCrE,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,WAAW,YAAa,GAAG,YAAY,GAAG,KAAG,UAAU,EAoEnE,CAAA"}
1
+ {"version":3,"file":"feeCalls.d.ts","sourceRoot":"","sources":["../../../../../src/lockers/utils/callsForLockers/feeCalls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA4B,MAAM,MAAM,CAAA;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,eAAO,MAAM,QAAQ,aAAc,MAAM,sBAAsB,OAAO,WA8BrE,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,WAAW,YAAa,GAAG,YAAY,GAAG,KAAG,UAAU,EA+DnE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getFees.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/getFees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAE/D,QAAA,MAAM,OAAO,WAAY,GAAG,aAAa,UAAU,GAAG,IAAI,GAAG,SAAS,UA6BrE,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"getFees.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/getFees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAE/D,QAAA,MAAM,OAAO,WAAY,GAAG,aAAa,UAAU,GAAG,IAAI,GAAG,SAAS,UA0BrE,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"substractFees.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/substractFees.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,aAAc,MAAM,UAAU,MAAM,aAAa,GAAG,KAAG,MAuBzE,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"substractFees.d.ts","sourceRoot":"","sources":["../../../../src/lockers/utils/substractFees.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,aAAc,MAAM,UAAU,MAAM,aAAa,GAAG,KAAG,MAiBzE,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchCurveGauges.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchCurveGauges.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAE,CAAA;AAEvE,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAe,IAAI,KAAG,OAAO,CAAC,UAAU,CAgGpE,CAAA"}
1
+ {"version":3,"file":"fetchCurveGauges.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchCurveGauges.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAE,CAAA;AAEvE,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAe,IAAI,KAAG,OAAO,CAAC,UAAU,CA6GpE,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stake-dao/reader",
3
3
  "description": "",
4
- "version": "0.3.1",
4
+ "version": "0.3.3",
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.9.31",
38
- "@stake-dao/constants": "0.3.0"
38
+ "@stake-dao/constants": "0.3.1"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/lodash-es": "^4.17.12"
@@ -1,5 +1,4 @@
1
- import { type Address, zeroAddress } from 'viem'
2
- import { Zero } from '../../../index.js'
1
+ import { type Address, formatUnits, zeroAddress } from 'viem'
3
2
  import type { Call } from '../../../utils.js'
4
3
 
5
4
  export const feeCalls = (lockerId: string, accumulatorAddress: Address) => {
@@ -13,28 +12,22 @@ export const feeCalls = (lockerId: string, accumulatorAddress: Address) => {
13
12
  calls.push({ address: accumulatorAddress, name: 'claimerFee' })
14
13
 
15
14
  // Treasury
16
- if (['cake', 'yfi', 'pendle', 'fpis'].includes(lockerId)) {
15
+ if (['cake'].includes(lockerId)) {
17
16
  calls.push({ address: accumulatorAddress, name: 'daoFee' })
18
17
  }
19
18
 
20
19
  switch (lockerId) {
21
- case 'crv':
22
- calls.push({ address: accumulatorAddress, name: 'getFeeSplit' })
20
+ case 'angle':
23
21
  break
24
22
  case 'cake':
25
- case 'yfi':
26
23
  calls.push({ address: accumulatorAddress, name: 'liquidityFee' })
27
24
  break
28
- case 'pendle':
29
- calls.push({ address: accumulatorAddress, name: 'bountyFee' })
30
- break
31
- case 'fpis':
32
- calls.push({ address: accumulatorAddress, name: 'bribeFee' })
33
- break
34
- case 'apw':
35
25
  case 'bpt':
36
26
  calls.push({ address: accumulatorAddress, name: 'lockerFee' })
37
27
  break
28
+ default:
29
+ calls.push({ address: accumulatorAddress, name: 'getFeeSplit' })
30
+ break
38
31
  }
39
32
 
40
33
  return calls
@@ -42,11 +35,11 @@ export const feeCalls = (lockerId: string, accumulatorAddress: Address) => {
42
35
 
43
36
  export interface ILockerFee {
44
37
  lockerId: string
45
- claimerFee: bigint
46
- daoFee: bigint
47
- bountyFee: bigint
48
- liquidityFee: bigint
49
- lockerFee: bigint
38
+ claimerFee: string
39
+ daoFee: string
40
+ bountyFee: string
41
+ liquidityFee: string
42
+ lockerFee: string
50
43
  }
51
44
 
52
45
  export const extractFees = (lockers: any, feesData: any): ILockerFee[] => {
@@ -67,44 +60,39 @@ export const extractFees = (lockers: any, feesData: any): ILockerFee[] => {
67
60
 
68
61
  results.push({
69
62
  lockerId: locker.id,
70
- claimerFee: claimerFee ? BigInt(claimerFee.value * 100) : Zero,
71
- daoFee: daoFee ? BigInt(daoFee.value * 100) : Zero,
72
- bountyFee: bountyFee ? BigInt(bountyFee.value * 100) : Zero,
73
- liquidityFee: liquidityFee ? BigInt(liquidityFee.value * 100) : Zero,
74
- lockerFee: lockerFee ? BigInt(lockerFee.value * 100) : Zero,
63
+ claimerFee: claimerFee ? `${claimerFee.value}` : '0',
64
+ daoFee: daoFee ? `${daoFee.value}` : '0',
65
+ bountyFee: bountyFee ? `${bountyFee.value}` : '0',
66
+ liquidityFee: liquidityFee ? `${liquidityFee.value}` : '0',
67
+ lockerFee: lockerFee ? `${lockerFee.value}` : '0',
75
68
  })
76
69
  continue
77
70
  }
78
71
 
79
- let daoFee = Zero
80
- let bountyFee = Zero
81
- let liquidityFee = Zero
82
- let lockerFee = Zero
72
+ let daoFee = '0'
73
+ const bountyFee = '0'
74
+ let liquidityFee = '0'
75
+ let lockerFee = '0'
83
76
 
84
77
  switch (locker.id) {
85
- case 'crv': {
86
- const crvFees = feesData.pop()?.result
87
- daoFee = BigInt(crvFees.fees[0])
88
- liquidityFee = BigInt(crvFees.fees[1])
78
+ case 'angle':
89
79
  break
90
- }
91
80
  case 'cake':
92
- case 'yfi':
93
- liquidityFee = BigInt(feesData.pop()?.result)
94
- daoFee = BigInt(feesData.pop()?.result)
95
- break
96
- case 'pendle':
97
- case 'fpis':
98
- bountyFee = BigInt(feesData.pop()?.result)
99
- daoFee = BigInt(feesData.pop()?.result)
81
+ liquidityFee = formatUnits(feesData.pop()?.result, 2)
82
+ daoFee = formatUnits(feesData.pop()?.result, 2)
100
83
  break
101
- case 'apw':
102
84
  case 'bpt':
103
- lockerFee = BigInt(feesData.pop()?.result)
85
+ lockerFee = formatUnits(feesData.pop()?.result, 2)
104
86
  break
87
+ default: {
88
+ const fees: { fees: bigint[] } = feesData.pop()?.result
89
+ daoFee = formatUnits(fees.fees[0]!, 16)
90
+ liquidityFee = formatUnits(fees.fees[1]!, 16)
91
+ break
92
+ }
105
93
  }
106
94
 
107
- const claimerFee = BigInt(feesData.pop()?.result)
95
+ const claimerFee = formatUnits(feesData.pop()?.result, !['angle', 'cake', 'bpt'].includes(locker.id) ? 16 : 2)
108
96
 
109
97
  results.push({
110
98
  lockerId: locker.id,
@@ -8,13 +8,10 @@ const getFees = (locker: any, lockerFee: ILockerFee | null | undefined) => {
8
8
  if (!fee.static) {
9
9
  switch (fee.key) {
10
10
  case 'voteFee':
11
- value = Number(lockerFee?.bountyFee || 0) / 100
11
+ value = Number(lockerFee?.bountyFee || 0)
12
12
  break
13
- case 'claimerFee':
14
- case 'liquidityFee':
15
- case 'daoFee':
16
- case 'lockerFee':
17
- value = Number(lockerFee?.[fee.key] || 0) / 100
13
+ default:
14
+ value = Number(lockerFee?.[fee.key] || 0)
18
15
  break
19
16
  }
20
17
  }
@@ -1,21 +1,15 @@
1
1
  const substractFees = (lockerId: string, maxApr: number, lockerFee: any): number => {
2
2
  switch (lockerId) {
3
- case 'yfi':
4
- case 'bpt':
5
3
  case 'apw': {
6
4
  const totalFee = lockerFee
7
5
  ? Object.keys(lockerFee).reduce(
8
- (total, key) => (key !== 'lockerId' ? total + Number(lockerFee[key]) / 100 : total),
6
+ (total, key) => (key !== 'lockerId' ? total + Number(lockerFee[key]) : total),
9
7
  0,
10
8
  )
11
9
  : 0
12
10
 
13
11
  return (maxApr * (100 - totalFee)) / 100
14
12
  }
15
- case 'mav': {
16
- // 10% airdrop fees
17
- return (maxApr * (100 - 10)) / 100
18
- }
19
13
  default: {
20
14
  // Streaming from gauges, fees are already substracted
21
15
  return maxApr
@@ -206,7 +206,7 @@ export const fetchYearn = async ({
206
206
  }
207
207
 
208
208
  const sdtApr = getSdtApr(rewardsData, sdtEmissionData, sdGauge, lpPriceInUsd, undefined)
209
- const apr = getAprBreakdown({ ...s, underlyingReward }, rewardsData, boost, sdtApr)
209
+ const apr = getAprBreakdown({ ...s, minApr, maxApr, underlyingReward }, rewardsData, boost, sdtApr)
210
210
 
211
211
  return {
212
212
  key: s.key,
@@ -60,6 +60,8 @@ export const fetchCurveGauges = async (rpc: Rpcs): Promise<GaugesData> => {
60
60
  const filteredGauges = gauges.filter((g) => g.chainId > 0 && !BROKEN_GAUGES.includes(g.gauge.toLowerCase()))
61
61
  const gaugesPerChain = groupBy(filteredGauges, 'chainId')
62
62
 
63
+ console.info('chains found:', Object.keys(gaugesPerChain))
64
+
63
65
  for (const chainId of Object.keys(gaugesPerChain)) {
64
66
  const chainGauges = gaugesPerChain[chainId]!
65
67
  const chunkedChainGauges = chunk(chainGauges, GAUGES_METADATA_CHUNK_SIZE)
@@ -88,8 +90,26 @@ export const fetchCurveGauges = async (rpc: Rpcs): Promise<GaugesData> => {
88
90
  const augmentedGauges = filteredGauges.map((g) => {
89
91
  const gaugeMetadata = gaugesMetadata.find((gm) => equalTlc(gm.gauge, g.gauge))
90
92
 
93
+ const filteredCoins = gaugeMetadata.coins
94
+ .map((c) => ({
95
+ name: c.name,
96
+ symbol: c.symbol,
97
+ address: c._address,
98
+ decimals: Number(c.decimals),
99
+ }))
100
+ .filter((c) => c.address !== zeroAddress)
101
+
102
+ const name = gaugeMetadata.lp.name
103
+ .replace('Curve.fi Factory Crypto Pool:', '')
104
+ .replace('Curve.fi Factory Pool:', '')
105
+ .replace('Curve.fi Factory USD Metapool:', '')
106
+ .replace('Curve.fi Factory Plain Pool:', '')
107
+ .replace('Curve.fi', '')
108
+ .trim()
109
+
91
110
  return {
92
111
  gauge: g.gauge,
112
+ name,
93
113
  weight: g.weight,
94
114
  relativeWeight: g.relativeWeight,
95
115
  futureRelativeWeight: g.futureRelativeWeight,
@@ -101,14 +121,7 @@ export const fetchCurveGauges = async (rpc: Rpcs): Promise<GaugesData> => {
101
121
  address: gaugeMetadata.lp._address,
102
122
  decimals: Number(gaugeMetadata.lp.decimals),
103
123
  },
104
- coins: gaugeMetadata.coins
105
- .map((c) => ({
106
- name: c.name,
107
- symbol: c.symbol,
108
- address: c._address,
109
- decimals: Number(c.decimals),
110
- }))
111
- .filter((c) => c.address !== zeroAddress),
124
+ coins: filteredCoins,
112
125
  }
113
126
  })
114
127