@stake-dao/reader 0.2.3 → 0.2.5
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.
- package/dist/esm/strategies/balancer/fetch.js +1 -0
- package/dist/esm/strategies/balancer/fetch.js.map +1 -1
- package/dist/esm/strategies/curve/fetch/index.js +1 -0
- package/dist/esm/strategies/curve/fetch/index.js.map +1 -1
- package/dist/esm/strategies/pancakeswap/fetch/getPancakeErc20Vaults.js +1 -0
- package/dist/esm/strategies/pancakeswap/fetch/getPancakeErc20Vaults.js.map +1 -1
- package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js +21 -8
- package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js.map +1 -1
- package/dist/esm/strategies/pancakeswap/fetch/pancakePositions.js +3 -26
- package/dist/esm/strategies/pancakeswap/fetch/pancakePositions.js.map +1 -1
- package/dist/esm/strategies/pendle/fetch.js +1 -0
- package/dist/esm/strategies/pendle/fetch.js.map +1 -1
- package/dist/esm/strategies/yearn/fetch/index.js +1 -0
- package/dist/esm/strategies/yearn/fetch/index.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/strategies/balancer/fetch.d.ts.map +1 -1
- package/dist/types/strategies/curve/fetch/index.d.ts.map +1 -1
- package/dist/types/strategies/pancakeswap/fetch/getPancakeErc20Vaults.d.ts +1 -0
- package/dist/types/strategies/pancakeswap/fetch/getPancakeErc20Vaults.d.ts.map +1 -1
- package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Vaults.d.ts.map +1 -1
- package/dist/types/strategies/pancakeswap/fetch/pancakePositions.d.ts +10 -6
- package/dist/types/strategies/pancakeswap/fetch/pancakePositions.d.ts.map +1 -1
- package/dist/types/strategies/pendle/fetch.d.ts +1 -0
- package/dist/types/strategies/pendle/fetch.d.ts.map +1 -1
- package/dist/types/strategies/yearn/fetch/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/strategies/balancer/fetch.ts +1 -0
- package/src/strategies/curve/fetch/index.ts +1 -0
- package/src/strategies/pancakeswap/fetch/getPancakeErc20Vaults.ts +1 -0
- package/src/strategies/pancakeswap/fetch/getPancakeV3Vaults.ts +21 -8
- package/src/strategies/pancakeswap/fetch/pancakePositions.ts +13 -55
- package/src/strategies/pendle/fetch.ts +1 -0
- package/src/strategies/yearn/fetch/index.ts +1 -0
- package/dist/esm/strategies/pancakeswap/abis/PancakeSwapMasterchef.json +0 -1575
|
@@ -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,
|
|
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 +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;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,
|
|
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"}
|
|
@@ -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
|
|
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;;;
|
|
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;;;EAsLhB,CAAA"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
type StratParsedData = {
|
|
2
|
+
allocPoint: number;
|
|
3
|
+
tick: number;
|
|
4
|
+
sqrtPriceX96: string;
|
|
5
|
+
totalLiquidity: string;
|
|
6
|
+
totalBoostLiquidity: string;
|
|
7
|
+
poolLiquidity: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const computePositionData: (s: any, p: any, stratParsedData: StratParsedData, fees24H: number, prices: any[], token0PriceInUsd: number, token1PriceInUsd: number, totalAllocPoint: string, inflationRate: string) => {
|
|
2
10
|
positionData: any;
|
|
3
11
|
boost: number;
|
|
4
12
|
tvlToAdd: number;
|
|
5
13
|
};
|
|
6
|
-
export
|
|
7
|
-
tokenIdPositionData: any;
|
|
8
|
-
tvlToAdd: number;
|
|
9
|
-
boost: number;
|
|
10
|
-
}>;
|
|
14
|
+
export {};
|
|
11
15
|
//# sourceMappingURL=pancakePositions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pancakePositions.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/pancakePositions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pancakePositions.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/pancakePositions.ts"],"names":[],"mappings":"AAWA,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,mBAAmB,MAC3B,GAAG,KACH,GAAG,mBACW,eAAe,WACvB,MAAM,UACP,GAAG,EAAE,oBACK,MAAM,oBACN,MAAM,mBACP,MAAM,iBACR,MAAM;;;;CA2EtB,CAAA"}
|
|
@@ -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
|
|
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,
|
|
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
|
@@ -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,
|
|
@@ -215,6 +215,7 @@ export const fetchCurve = async ({
|
|
|
215
215
|
underlyingCoins: strat.underlyingCoins,
|
|
216
216
|
sdGauge,
|
|
217
217
|
lpPriceInUsd: strat.lpPriceInUsd,
|
|
218
|
+
streaming: rewardsData.every((r) => Math.floor(Date.now() / 1000) > Number(r.periodFinish)),
|
|
218
219
|
tvl,
|
|
219
220
|
apr: {
|
|
220
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,
|
|
@@ -90,11 +90,11 @@ export const getPancakeV3Vaults = async (
|
|
|
90
90
|
const stratParsedData = {
|
|
91
91
|
poolId: Number(stratData.id),
|
|
92
92
|
allocPoint: Number(stratData.allocPoint),
|
|
93
|
-
tick: stratData.tick,
|
|
94
|
-
sqrtPriceX96: stratData.sqrtPriceX96
|
|
95
|
-
totalLiquidity: stratData.totalLiquidity
|
|
96
|
-
totalBoostLiquidity: stratData.totalBoostLiquidity
|
|
97
|
-
poolLiquidity: stratData.poolLiquidity
|
|
93
|
+
tick: Number(stratData.tick),
|
|
94
|
+
sqrtPriceX96: formatUnits(stratData.sqrtPriceX96, 0),
|
|
95
|
+
totalLiquidity: formatUnits(stratData.totalLiquidity, 0),
|
|
96
|
+
totalBoostLiquidity: formatUnits(stratData.totalBoostLiquidity, 0),
|
|
97
|
+
poolLiquidity: formatUnits(stratData.poolLiquidity, 0),
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
const strat = pools.find((p) => p.poolId === stratParsedData.poolId)
|
|
@@ -111,7 +111,14 @@ export const getPancakeV3Vaults = async (
|
|
|
111
111
|
const computedPositionData = computePositionData(
|
|
112
112
|
strat,
|
|
113
113
|
p,
|
|
114
|
-
|
|
114
|
+
{
|
|
115
|
+
allocPoint: stratParsedData.allocPoint,
|
|
116
|
+
tick: stratParsedData.tick,
|
|
117
|
+
sqrtPriceX96: stratParsedData.sqrtPriceX96,
|
|
118
|
+
totalLiquidity: stratParsedData.totalLiquidity,
|
|
119
|
+
totalBoostLiquidity: stratParsedData.totalBoostLiquidity,
|
|
120
|
+
poolLiquidity: stratParsedData.poolLiquidity,
|
|
121
|
+
},
|
|
115
122
|
fees24H,
|
|
116
123
|
prices,
|
|
117
124
|
token0PriceInUsd,
|
|
@@ -167,6 +174,7 @@ export const getPancakeV3Vaults = async (
|
|
|
167
174
|
fee: strat.fee,
|
|
168
175
|
coins: strat.coins,
|
|
169
176
|
coinsPrice: [token0PriceInUsd, token1PriceInUsd],
|
|
177
|
+
streaming: true,
|
|
170
178
|
tvl,
|
|
171
179
|
apr: { ...apr, boost },
|
|
172
180
|
rewards,
|
|
@@ -178,9 +186,14 @@ export const getPancakeV3Vaults = async (
|
|
|
178
186
|
minApr: farmApr,
|
|
179
187
|
maxApr: farmApr * 2,
|
|
180
188
|
// Raw data
|
|
181
|
-
tick: Number(stratParsedData.tick),
|
|
182
|
-
sqrtPriceX96: stratParsedData.sqrtPriceX96.toString(),
|
|
183
189
|
allocPoint: stratParsedData.allocPoint,
|
|
190
|
+
tick: stratParsedData.tick,
|
|
191
|
+
sqrtPriceX96: stratParsedData.sqrtPriceX96,
|
|
192
|
+
totalLiquidity: stratParsedData.totalLiquidity,
|
|
193
|
+
totalBoostLiquidity: stratParsedData.totalBoostLiquidity,
|
|
194
|
+
poolLiquidity: stratParsedData.poolLiquidity,
|
|
195
|
+
totalAllocPoint: global.totalAllocPoint,
|
|
196
|
+
inflationRate: global.inflationRate,
|
|
184
197
|
}
|
|
185
198
|
|
|
186
199
|
stratsData = stratsData.concat(parsedData)
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { formatUnits } from 'viem'
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import { contracts, tokenWithId } from '@stake-dao/constants'
|
|
3
|
+
import { tokenWithId } from '@stake-dao/constants'
|
|
6
4
|
import {
|
|
7
5
|
getPositionFarmApr,
|
|
8
6
|
getPositionTradingFee,
|
|
@@ -11,10 +9,19 @@ import {
|
|
|
11
9
|
tickToPrice,
|
|
12
10
|
} from './pancakeswapMath.js'
|
|
13
11
|
|
|
12
|
+
type StratParsedData = {
|
|
13
|
+
allocPoint: number
|
|
14
|
+
tick: number
|
|
15
|
+
sqrtPriceX96: string
|
|
16
|
+
totalLiquidity: string
|
|
17
|
+
totalBoostLiquidity: string
|
|
18
|
+
poolLiquidity: string
|
|
19
|
+
}
|
|
20
|
+
|
|
14
21
|
export const computePositionData = (
|
|
15
22
|
s: any,
|
|
16
23
|
p: any,
|
|
17
|
-
stratParsedData:
|
|
24
|
+
stratParsedData: StratParsedData,
|
|
18
25
|
fees24H: number,
|
|
19
26
|
prices: any[],
|
|
20
27
|
token0PriceInUsd: number,
|
|
@@ -25,11 +32,11 @@ export const computePositionData = (
|
|
|
25
32
|
const bnSqrtPriceX96 = BigInt(stratParsedData.sqrtPriceX96)
|
|
26
33
|
|
|
27
34
|
const token0Amount = formatUnits(
|
|
28
|
-
getToken0Amount(
|
|
35
|
+
getToken0Amount(stratParsedData.tick, p.tickLower, p.tickUpper, bnSqrtPriceX96, p.liquidity),
|
|
29
36
|
s.coins[0].decimals,
|
|
30
37
|
)
|
|
31
38
|
const token1Amount = formatUnits(
|
|
32
|
-
getToken1Amount(
|
|
39
|
+
getToken1Amount(stratParsedData.tick, p.tickLower, p.tickUpper, bnSqrtPriceX96, p.liquidity),
|
|
33
40
|
s.coins[1].decimals,
|
|
34
41
|
)
|
|
35
42
|
|
|
@@ -96,52 +103,3 @@ export const computePositionData = (
|
|
|
96
103
|
tvlToAdd,
|
|
97
104
|
}
|
|
98
105
|
}
|
|
99
|
-
|
|
100
|
-
export const getPositionData = async (
|
|
101
|
-
chainId: number,
|
|
102
|
-
tokenId: number,
|
|
103
|
-
tickLower: number,
|
|
104
|
-
tickUpper: number,
|
|
105
|
-
user: string,
|
|
106
|
-
strat: any,
|
|
107
|
-
prices: any[],
|
|
108
|
-
provider: any,
|
|
109
|
-
) => {
|
|
110
|
-
const positionData = await provider.readContract({
|
|
111
|
-
address: contracts.pancakeMasterchef![chainId],
|
|
112
|
-
abi: pancakeMasterchefAbi,
|
|
113
|
-
functionName: 'userPositionInfos',
|
|
114
|
-
args: [tokenId],
|
|
115
|
-
})
|
|
116
|
-
|
|
117
|
-
const p = {
|
|
118
|
-
tokenId,
|
|
119
|
-
liquidity: positionData[0],
|
|
120
|
-
boostLiquidity: positionData[1],
|
|
121
|
-
tickLower,
|
|
122
|
-
tickUpper,
|
|
123
|
-
rewardGrowthInside: positionData[4],
|
|
124
|
-
reward: positionData[5],
|
|
125
|
-
owner: user,
|
|
126
|
-
pid: positionData[7],
|
|
127
|
-
boostMultiplier: positionData[8],
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
const {
|
|
131
|
-
positionData: tokenIdPositionData,
|
|
132
|
-
tvlToAdd,
|
|
133
|
-
boost,
|
|
134
|
-
} = computePositionData(
|
|
135
|
-
strat,
|
|
136
|
-
p,
|
|
137
|
-
strat.stratsData,
|
|
138
|
-
strat.stratsData.fees24H,
|
|
139
|
-
prices,
|
|
140
|
-
strat.token0PriceInUsd,
|
|
141
|
-
strat.token1PriceInUsd,
|
|
142
|
-
strat.stratsData.totalAllocPoint || strat.stratsData.allocPoints,
|
|
143
|
-
strat.stratsData.inflationRate,
|
|
144
|
-
)
|
|
145
|
-
|
|
146
|
-
return { tokenIdPositionData, tvlToAdd, boost }
|
|
147
|
-
}
|
|
@@ -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,
|
|
@@ -208,6 +208,7 @@ export const fetchYearn = async ({
|
|
|
208
208
|
underlyingCoins: [],
|
|
209
209
|
sdGauge,
|
|
210
210
|
rewards: rewardsData,
|
|
211
|
+
streaming: rewardsData.every((r) => Math.floor(Date.now() / 1000) > Number(r.periodFinish)),
|
|
211
212
|
name: s.coins.reduce((res: string, current) => `${res}/${current.symbol}`, '').slice(1),
|
|
212
213
|
tradingApy: 0,
|
|
213
214
|
underlyingReward,
|