@stake-dao/reader 0.2.2 → 0.2.4

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 (33) hide show
  1. package/dist/esm/strategies/balancer/fetch.js +1 -0
  2. package/dist/esm/strategies/balancer/fetch.js.map +1 -1
  3. package/dist/esm/strategies/curve/fetch/curveApiData/config.js +4 -0
  4. package/dist/esm/strategies/curve/fetch/curveApiData/config.js.map +1 -1
  5. package/dist/esm/strategies/curve/fetch/index.js +3 -1
  6. package/dist/esm/strategies/curve/fetch/index.js.map +1 -1
  7. package/dist/esm/strategies/pancakeswap/fetch/getPancakeErc20Vaults.js +1 -0
  8. package/dist/esm/strategies/pancakeswap/fetch/getPancakeErc20Vaults.js.map +1 -1
  9. package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js +1 -0
  10. package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js.map +1 -1
  11. package/dist/esm/strategies/pendle/fetch.js +1 -0
  12. package/dist/esm/strategies/pendle/fetch.js.map +1 -1
  13. package/dist/esm/strategies/yearn/fetch/index.js +9 -3
  14. package/dist/esm/strategies/yearn/fetch/index.js.map +1 -1
  15. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  16. package/dist/types/strategies/balancer/fetch.d.ts.map +1 -1
  17. package/dist/types/strategies/curve/fetch/curveApiData/config.d.ts +4 -0
  18. package/dist/types/strategies/curve/fetch/curveApiData/config.d.ts.map +1 -1
  19. package/dist/types/strategies/curve/fetch/index.d.ts.map +1 -1
  20. package/dist/types/strategies/pancakeswap/fetch/getPancakeErc20Vaults.d.ts +1 -0
  21. package/dist/types/strategies/pancakeswap/fetch/getPancakeErc20Vaults.d.ts.map +1 -1
  22. package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Vaults.d.ts.map +1 -1
  23. package/dist/types/strategies/pendle/fetch.d.ts +1 -0
  24. package/dist/types/strategies/pendle/fetch.d.ts.map +1 -1
  25. package/dist/types/strategies/yearn/fetch/index.d.ts.map +1 -1
  26. package/package.json +1 -1
  27. package/src/strategies/balancer/fetch.ts +1 -0
  28. package/src/strategies/curve/fetch/curveApiData/config.ts +6 -0
  29. package/src/strategies/curve/fetch/index.ts +5 -1
  30. package/src/strategies/pancakeswap/fetch/getPancakeErc20Vaults.ts +1 -0
  31. package/src/strategies/pancakeswap/fetch/getPancakeV3Vaults.ts +1 -0
  32. package/src/strategies/pendle/fetch.ts +1 -0
  33. package/src/strategies/yearn/fetch/index.ts +10 -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,CAoOvC,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,CAqOvC,CAAA"}
@@ -19,6 +19,10 @@ export declare const GAUGES_CHUNK_SIZE: {
19
19
  export declare const TOKENS_CHUNK_SIZE = 100;
20
20
  export declare const GAUGES_WEIGHTS_CHUNK_SIZE = 100;
21
21
  export declare const GAUGES_REGISTRY_CHUNK_SIZE = 30;
22
+ export declare const BROKEN_VAULTS: {
23
+ 1: string[];
24
+ 42161: never[];
25
+ };
22
26
  export declare const BROKEN_GAUGES: {
23
27
  1: string[];
24
28
  42161: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/strategies/curve/fetch/curveApiData/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAA;CAoBvD,CAAA;AAED,eAAO,MAAM,iBAAiB;;;CAG7B,CAAA;AAED,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,eAAO,MAAM,iBAAiB;;;CAAuB,CAAA;AACrD,eAAO,MAAM,iBAAiB,MAAM,CAAA;AACpC,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAC5C,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAC5C,eAAO,MAAM,aAAa;;;CAGzB,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;CAWzB,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/strategies/curve/fetch/curveApiData/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAA;CAoBvD,CAAA;AAED,eAAO,MAAM,iBAAiB;;;CAG7B,CAAA;AAED,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,eAAO,MAAM,iBAAiB;;;CAAuB,CAAA;AACrD,eAAO,MAAM,iBAAiB,MAAM,CAAA;AACpC,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAC5C,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAE5C,eAAO,MAAM,aAAa;;;CAGzB,CAAA;AAED,eAAO,MAAM,aAAa;;;CAGzB,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;CAWzB,CAAA"}
@@ -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;AAE/C,OAAO,KAAK,EAIV,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,gBAAgB,CAAA;AAKvB,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,oBAAoB,CAAA;AAIpE,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,CAsPpC,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;AAE/C,OAAO,KAAK,EAIV,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,gBAAgB,CAAA;AAKvB,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,oBAAoB,CAAA;AAKpE,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"}
@@ -23,6 +23,7 @@ export declare const getPancakeErc20Vaults: (rpc: string, chainId: number, baseP
23
23
  workingSupply: string;
24
24
  };
25
25
  lpPriceInUsd: number;
26
+ streaming: any;
26
27
  tvl: number;
27
28
  apr: {
28
29
  boost: number;
@@ -1 +1 @@
1
- {"version":3,"file":"getPancakeErc20Vaults.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/getPancakeErc20Vaults.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,oBAAoB,CAAA;AAI5D,eAAO,MAAM,qBAAqB,QAC3B,MAAM,WACF,MAAM,cACH,KAAK,EAAE,WACV,GAAG,eACC,GAAG,UACR,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqKZ,CAAA"}
1
+ {"version":3,"file":"getPancakeErc20Vaults.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/getPancakeErc20Vaults.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,oBAAoB,CAAA;AAI5D,eAAO,MAAM,qBAAqB,QAC3B,MAAM,WACF,MAAM,cACH,KAAK,EAAE,WACV,GAAG,eACC,GAAG,UACR,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsKZ,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;;;EAyKhB,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;;;EA0KhB,CAAA"}
@@ -18,6 +18,7 @@ export declare const fetchPendle: ({ prices, provider, rpc, explorerApiKey, expl
18
18
  vault: any;
19
19
  lpToken: any;
20
20
  coins: any;
21
+ streaming: boolean;
21
22
  sdGauge: {
22
23
  relativeWeight: string;
23
24
  weight: string;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoT3G,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqT3G,CAAA"}
@@ -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,KAAK,EAAe,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE5F,OAAO,EAAE,KAAK,eAAe,EAAoC,MAAM,sBAAsB,CAAA;AAiC7F,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,CAuKpC,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,KAAK,EAAe,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE5F,OAAO,EAAE,KAAK,eAAe,EAAoC,MAAM,sBAAsB,CAAA;AAiC7F,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,CA8KpC,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stake-dao/reader",
3
3
  "description": "",
4
- "version": "0.2.2",
4
+ "version": "0.2.4",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",
@@ -231,6 +231,7 @@ export const fetchBalancer = async ({
231
231
  coins: strat.coins,
232
232
  sdGauge,
233
233
  lpPriceInUsd: lpPriceInUsd ? lpPriceInUsd.usdPrice : 0,
234
+ streaming: rewardsData.every((r) => Math.floor(Date.now() / 1000) > Number(r.periodFinish)),
234
235
  tvl,
235
236
  apr: {
236
237
  boost,
@@ -37,6 +37,12 @@ export const GAUGES_CHUNK_SIZE = { 1: 60, 42161: 40 }
37
37
  export const TOKENS_CHUNK_SIZE = 100
38
38
  export const GAUGES_WEIGHTS_CHUNK_SIZE = 100
39
39
  export const GAUGES_REGISTRY_CHUNK_SIZE = 30
40
+
41
+ export const BROKEN_VAULTS = {
42
+ 1: ['0xb385321d34f7a53979E253d70b8F79C82609116E'],
43
+ 42161: [],
44
+ }
45
+
40
46
  export const BROKEN_GAUGES = {
41
47
  1: ['0x210A1c8E5663CC328F799e1c91215B5dba2F4458', '0xd3dFD8f308c9e6d88d7C09c9a6575C691c810407'],
42
48
  42161: ['0x0304F3aAdcc16597D277c12f4b12213e1F075F80'],
@@ -19,6 +19,7 @@ import { type SdtEmissionData, getSdtApr } from '../../utils/sdt.js'
19
19
  import { buildCurveStrategies } from '../build.js'
20
20
  import { getCurveHttpCalls } from '../httpCalls.js'
21
21
  import { getOnChainSdCurveData } from '../onChainCalls.js'
22
+ import { BROKEN_VAULTS } from './curveApiData/config.js'
22
23
  import type { GaugesWeightsData } from './curveApiData/getGaugesWeights.js'
23
24
  import { getCvxApr } from './getCvxApr.js'
24
25
  import getOnlyboostData from './getOnlyboostData.js'
@@ -54,7 +55,9 @@ export const fetchCurve = async ({
54
55
  ? decodeNewFactoryEvent(apisData.explorerData)
55
56
  : decodeEtherscanFactoryEvent(apisData.explorerData)
56
57
 
57
- const allVaultAndLp = curveStrats.strats[chainId]!.concat(newVaultAndLp)
58
+ const allVaultAndLp = curveStrats.strats[chainId]!.concat(newVaultAndLp).filter(
59
+ (s) => !BROKEN_VAULTS[chainId].includes(s.vault),
60
+ )
58
61
 
59
62
  const strats: any[] = await buildCurveStrategies(provider, allVaultAndLp, chainId, apisData.curveApiData)
60
63
 
@@ -212,6 +215,7 @@ export const fetchCurve = async ({
212
215
  underlyingCoins: strat.underlyingCoins,
213
216
  sdGauge,
214
217
  lpPriceInUsd: strat.lpPriceInUsd,
218
+ streaming: rewardsData.every((r) => Math.floor(Date.now() / 1000) > Number(r.periodFinish)),
215
219
  tvl,
216
220
  apr: {
217
221
  boost,
@@ -165,6 +165,7 @@ export const getPancakeErc20Vaults = async (
165
165
  coins: strat.coins,
166
166
  sdGauge,
167
167
  lpPriceInUsd,
168
+ streaming: rewardsData.every((r) => Math.floor(Date.now() / 1000) > Number(r.periodFinish)),
168
169
  tvl,
169
170
  apr: { ...apr, boost },
170
171
  rewards: rewardsData,
@@ -167,6 +167,7 @@ export const getPancakeV3Vaults = async (
167
167
  fee: strat.fee,
168
168
  coins: strat.coins,
169
169
  coinsPrice: [token0PriceInUsd, token1PriceInUsd],
170
+ streaming: true,
170
171
  tvl,
171
172
  apr: { ...apr, boost },
172
173
  rewards,
@@ -255,6 +255,7 @@ export const fetchPendle = async ({ prices, provider, rpc, explorerApiKey, explo
255
255
  vault: s.vault,
256
256
  lpToken: s.lpToken,
257
257
  coins: s.coins,
258
+ streaming: rewardsData.every((r) => Math.floor(Date.now() / 1000) > Number(r.periodFinish)),
258
259
  sdGauge,
259
260
  lpPriceInUsd,
260
261
  tvl,
@@ -144,10 +144,16 @@ export const fetchYearn = async ({
144
144
  const boost = getBoost('yearn', chunkedRawData[index][2].result, chunkedRawData[index][3].result)
145
145
 
146
146
  const lpPriceInUsd = yearnGauge.lpPriceInUsd
147
- const underlyingApy = yearnGauge.underlyingApr
148
147
  const minApr = yearnGauge.minApr
149
148
  const maxApr = yearnGauge.maxApr
150
149
 
150
+ const underlyingReward = [
151
+ {
152
+ ...s.underlyingReward,
153
+ apy: yearnGauge.underlyingApr,
154
+ },
155
+ ]
156
+
151
157
  const sdGaugeTotalSupply = chunkedRawData[index][10].result
152
158
  const tvl = Number(formatEther(sdGaugeTotalSupply)) * lpPriceInUsd
153
159
 
@@ -187,7 +193,7 @@ export const fetchYearn = async ({
187
193
  }
188
194
 
189
195
  const sdtApr = getSdtApr(rewardsData, sdtEmissionData, sdGauge, lpPriceInUsd, undefined)
190
- const apr = getAprBreakdown(s, rewardsData, boost, sdtApr)
196
+ const apr = getAprBreakdown({ ...s, underlyingReward }, rewardsData, boost, sdtApr)
191
197
 
192
198
  return {
193
199
  key: s.key,
@@ -202,9 +208,10 @@ export const fetchYearn = async ({
202
208
  underlyingCoins: [],
203
209
  sdGauge,
204
210
  rewards: rewardsData,
211
+ streaming: rewardsData.every((r) => Math.floor(Date.now() / 1000) > Number(r.periodFinish)),
205
212
  name: s.coins.reduce((res: string, current) => `${res}/${current.symbol}`, '').slice(1),
206
213
  tradingApy: 0,
207
- underlyingApy,
214
+ underlyingReward,
208
215
  gaugesProjectedApr: [],
209
216
  minApr,
210
217
  maxApr,