@stake-dao/reader 0.2.14 → 0.2.16
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/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lockers/fetch/index.js +1 -1
- package/dist/esm/lockers/fetch/index.js.map +1 -1
- package/dist/esm/strategies/angle/fetch.js +1 -1
- package/dist/esm/strategies/angle/fetch.js.map +1 -1
- package/dist/esm/strategies/curve/fetch/getStratsWithApr.js +2 -2
- package/dist/esm/strategies/curve/fetch/getStratsWithApr.js.map +1 -1
- package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Positions.js +17 -0
- package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Positions.js.map +1 -0
- package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js +4 -10
- package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js.map +1 -1
- package/dist/esm/strategies/pendle/fetch.js +1 -1
- package/dist/esm/strategies/pendle/fetch.js.map +1 -1
- package/dist/esm/strategies/yearn/fetch/fetchAllYearnGauges.js +1 -1
- package/dist/esm/strategies/yearn/fetch/fetchAllYearnGauges.js.map +1 -1
- package/dist/esm/strategies/yearn/fetch/index.js +1 -1
- package/dist/esm/strategies/yearn/fetch/index.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Positions.d.ts +2 -0
- package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Positions.d.ts.map +1 -0
- package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Vaults.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/lockers/fetch/index.ts +1 -1
- package/src/strategies/angle/fetch.ts +1 -1
- package/src/strategies/curve/fetch/getStratsWithApr.ts +2 -2
- package/src/strategies/pancakeswap/fetch/getPancakeV3Positions.ts +24 -0
- package/src/strategies/pancakeswap/fetch/getPancakeV3Vaults.ts +4 -14
- package/src/strategies/pendle/fetch.ts +1 -1
- package/src/strategies/yearn/fetch/fetchAllYearnGauges.ts +1 -1
- package/src/strategies/yearn/fetch/index.ts +1 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export { fetchPancakeswap } from './strategies/pancakeswap/fetch/index.js';
|
|
|
17
17
|
export { buildPancakeSwapStrategies } from './strategies/pancakeswap/build.js';
|
|
18
18
|
export { buildPancakeSwapErc20Strategies } from './strategies/pancakeswap/buildErc20.js';
|
|
19
19
|
export { computePositionData } from './strategies/pancakeswap/fetch/pancakePositions.js';
|
|
20
|
+
export { getPancakeV3Positions } from './strategies/pancakeswap/fetch/getPancakeV3Positions.js';
|
|
20
21
|
export { fetchPendle } from './strategies/pendle/fetch.js';
|
|
21
22
|
export { buildPendleStrategies } from './strategies/pendle/build.js';
|
|
22
23
|
export { default as getPendleApiData } from './strategies/pendle/getPendleApiData.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5E,cAAc,UAAU,CAAA;AAKxB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAKvC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,cAAc,6BAA6B,CAAA;AAG3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAA;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AAGtG,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAG9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC5E,cAAc,UAAU,CAAA;AAKxB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAKvC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,cAAc,6BAA6B,CAAA;AAG3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAA;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AAGtG,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAG9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAG9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAA;AAG/F,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yCAAyC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPancakeV3Positions.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/pancakeswap/fetch/getPancakeV3Positions.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB,QAAe,MAAM,WAAW,MAAM,iBAevE,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;;;EAiLhB,CAAA"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -42,6 +42,7 @@ export { fetchPancakeswap } from './strategies/pancakeswap/fetch/index.js'
|
|
|
42
42
|
export { buildPancakeSwapStrategies } from './strategies/pancakeswap/build.js'
|
|
43
43
|
export { buildPancakeSwapErc20Strategies } from './strategies/pancakeswap/buildErc20.js'
|
|
44
44
|
export { computePositionData } from './strategies/pancakeswap/fetch/pancakePositions.js'
|
|
45
|
+
export { getPancakeV3Positions } from './strategies/pancakeswap/fetch/getPancakeV3Positions.js'
|
|
45
46
|
|
|
46
47
|
// Pendle
|
|
47
48
|
export { fetchPendle } from './strategies/pendle/fetch.js'
|
|
@@ -9,7 +9,7 @@ import { type Call, multicall } from '../../utils.js'
|
|
|
9
9
|
import { lockedAmountCallSideChain } from '../utils/index.js'
|
|
10
10
|
|
|
11
11
|
import { type MultiChainCall, multichainMulticall } from '../../utils.js'
|
|
12
|
-
import lockersMulticallAbi from '../abis/MulticallLockers.json'
|
|
12
|
+
import lockersMulticallAbi from '../abis/MulticallLockers.json' with { type: 'json' }
|
|
13
13
|
import { getCherriesLeaderBoard } from '../utils/getCherriesLeaderBoard.js'
|
|
14
14
|
|
|
15
15
|
import { extractFees, feeCalls } from '../utils/callsForLockers/feeCalls.js'
|
|
@@ -2,7 +2,7 @@ import { STRAT_FEES, angleStrats, contracts } from '@stake-dao/constants'
|
|
|
2
2
|
import { chunk, uniq } from 'lodash-es'
|
|
3
3
|
import { encodeAbiParameters, formatUnits, parseAbiParameters } from 'viem'
|
|
4
4
|
import { mainnet } from 'viem/chains'
|
|
5
|
-
import multicallAngleVaultsAbi from '../../abis/MulticallAngleVaults.json'
|
|
5
|
+
import multicallAngleVaultsAbi from '../../abis/MulticallAngleVaults.json' with { type: 'json' }
|
|
6
6
|
import { batchAngleStrats } from '../../bytecodes/index.js'
|
|
7
7
|
import { type Price, getPricesFromLlama } from '../../prices.js'
|
|
8
8
|
import { batchJsonRpc, equalTlc, multicall } from '../../utils.js'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { STRAT_FEES } from '@stake-dao/constants'
|
|
2
|
+
import { formatUnits, parseAbi } from 'viem'
|
|
2
3
|
import { mainnet } from 'viem/chains'
|
|
3
4
|
import { equalTlc, multicall } from '../../../utils.js'
|
|
4
|
-
import { formatUnits, parseAbi } from 'viem'
|
|
5
5
|
|
|
6
6
|
const getConvexPool = (apisData: any, chainId: number, isLending: boolean, stratLpAddress: string) => {
|
|
7
7
|
if (chainId === mainnet.id) {
|
|
@@ -15,7 +15,7 @@ const getConvexPool = (apisData: any, chainId: number, isLending: boolean, strat
|
|
|
15
15
|
|
|
16
16
|
const getName = (s: any) => {
|
|
17
17
|
if (s.isLending) {
|
|
18
|
-
const id = s.key.replace(
|
|
18
|
+
const id = s.key.replace('lending-oneway-', '')
|
|
19
19
|
return `${s.coins[0].symbol}${Number(id) > 8 ? ' Leverage' : ''}`
|
|
20
20
|
}
|
|
21
21
|
return (s.isMetapool ? s.underlyingCoins : s.coins)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { encodeAbiParameters, parseAbiParameters } from 'viem'
|
|
2
|
+
|
|
3
|
+
import { batchPancakeSwapPositions } from '../../../bytecodes/index.js'
|
|
4
|
+
|
|
5
|
+
import { contracts } from '@stake-dao/constants'
|
|
6
|
+
import { concatBytecode } from '../../../index.js'
|
|
7
|
+
import { batchJsonRpc } from '../../../utils.js'
|
|
8
|
+
|
|
9
|
+
export const getPancakeV3Positions = async (rpc: string, chainId: number) => {
|
|
10
|
+
const positionsInputData = encodeAbiParameters(
|
|
11
|
+
parseAbiParameters(batchPancakeSwapPositions.inputType[chainId]!) as any,
|
|
12
|
+
[contracts.pancakeMasterchef![chainId], contracts.cakeStrategy![chainId], contracts.cakeLocker![chainId]],
|
|
13
|
+
)
|
|
14
|
+
const positionsCalls = concatBytecode(batchPancakeSwapPositions.bytecode[chainId]!, positionsInputData)
|
|
15
|
+
|
|
16
|
+
const positionsData = await batchJsonRpc({
|
|
17
|
+
rpc,
|
|
18
|
+
calls: [positionsCalls],
|
|
19
|
+
outputTypeAbi: batchPancakeSwapPositions.outputTypeHr[chainId]!,
|
|
20
|
+
callsKey: `strategies/pancakeswap/fetch/getPancakeV3Positions.ts: positionsData - chainId ${chainId} - rpc ${rpc}`,
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
return positionsData
|
|
24
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { chunk } from 'lodash-es'
|
|
2
2
|
import { encodeAbiParameters, formatUnits, parseAbiParameters } from 'viem'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { batchPancakeSwapStrats } from '../../../bytecodes/index.js'
|
|
5
5
|
|
|
6
6
|
import { getFarmApr } from './pancakeswapMath.js'
|
|
7
7
|
|
|
@@ -11,9 +11,9 @@ import { type Price, mergePrices } from '../../../prices.js'
|
|
|
11
11
|
import { batchJsonRpc, equalTlc } from '../../../utils.js'
|
|
12
12
|
import type { PancakeSwapGlobalData } from '../../types.js'
|
|
13
13
|
import { getAprBreakdown } from '../../utils/getAprBreakdown.js'
|
|
14
|
+
import { getPancakeV3Positions } from './getPancakeV3Positions.js'
|
|
14
15
|
import { computePositionData } from './pancakePositions.js'
|
|
15
16
|
|
|
16
|
-
// NOTE: Need to include mainnet SDT price and sdCAKE in prices args
|
|
17
17
|
export const getPancakeV3Vaults = async (
|
|
18
18
|
rpc: string,
|
|
19
19
|
chainId: number,
|
|
@@ -40,18 +40,7 @@ export const getPancakeV3Vaults = async (
|
|
|
40
40
|
callsKey: `strategies/pancakeswap/fetch/getPancakeV3Vaults.ts: getPancakeV3Vaults - chainId ${chainId} - rpc ${rpc}`,
|
|
41
41
|
})
|
|
42
42
|
|
|
43
|
-
const
|
|
44
|
-
parseAbiParameters(batchPancakeSwapPositions.inputType[chainId]!) as any,
|
|
45
|
-
[contracts.pancakeMasterchef![chainId], contracts.cakeStrategy![chainId], contracts.cakeLocker![chainId]],
|
|
46
|
-
)
|
|
47
|
-
const positionsCalls = concatBytecode(batchPancakeSwapPositions.bytecode[chainId]!, positionsInputData)
|
|
48
|
-
|
|
49
|
-
const positionsData = await batchJsonRpc({
|
|
50
|
-
rpc,
|
|
51
|
-
calls: [positionsCalls],
|
|
52
|
-
outputTypeAbi: batchPancakeSwapPositions.outputTypeHr[chainId]!,
|
|
53
|
-
callsKey: `strategies/pancakeswap/fetch/getPancakeV3Vaults.ts: positionsData - chainId ${chainId} - rpc ${rpc}`,
|
|
54
|
-
})
|
|
43
|
+
const positionsData = await getPancakeV3Positions(rpc, chainId)
|
|
55
44
|
|
|
56
45
|
const pricesToFetch = pools
|
|
57
46
|
.flatMap((p) =>
|
|
@@ -172,6 +161,7 @@ export const getPancakeV3Vaults = async (
|
|
|
172
161
|
version: '3',
|
|
173
162
|
chainId: strat.chainId,
|
|
174
163
|
pool: strat.pool,
|
|
164
|
+
pid: strat.poolId,
|
|
175
165
|
fee: strat.fee,
|
|
176
166
|
coins: strat.coins,
|
|
177
167
|
coinsPrice: [token0PriceInUsd, token1PriceInUsd],
|
|
@@ -12,7 +12,7 @@ import { getBoost } from '../utils/boost.js'
|
|
|
12
12
|
import decodeEtherscanFactoryEvent from '../utils/decodeEtherscanFactoryEvent.js'
|
|
13
13
|
import { getAprBreakdown } from '../utils/getAprBreakdown.js'
|
|
14
14
|
import { OneEther, Zero, concatBytecode } from '../utils/index.js'
|
|
15
|
-
import multicallPendleStratsAbi from './abis/MulticallPendleStratsAbi.json'
|
|
15
|
+
import multicallPendleStratsAbi from './abis/MulticallPendleStratsAbi.json' with { type: 'json' }
|
|
16
16
|
import { buildPendleStrategies } from './build.js'
|
|
17
17
|
import getPendleApiData from './getPendleApiData.js'
|
|
18
18
|
import pendlePoints from './pendlePoints.js'
|
|
@@ -4,7 +4,7 @@ import { encodeAbiParameters, parseAbiParameters } from 'viem'
|
|
|
4
4
|
import { contracts } from '@stake-dao/constants'
|
|
5
5
|
import { fetchYearnGauges } from '../../../bytecodes/index.js'
|
|
6
6
|
import { batchJsonRpc, multicall } from '../../../utils.js'
|
|
7
|
-
import multicallYearnStratsAbi from '../../utils/abis/MulticallYearnStratsAbi.json'
|
|
7
|
+
import multicallYearnStratsAbi from '../../utils/abis/MulticallYearnStratsAbi.json' with { type: 'json' }
|
|
8
8
|
import { concatBytecode } from '../../utils/index.js'
|
|
9
9
|
import { computeYearnApr } from './computeYearnApr.js'
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@ import { formatEther, formatUnits } from 'viem'
|
|
|
4
4
|
import { ONE_YEAR, yearnStrats } from '@stake-dao/constants'
|
|
5
5
|
import { equalTlc, multicall } from '../../../utils.js'
|
|
6
6
|
import { NEW_FACTORY_EXPLORER_EVENTS } from '../../curve/endpoints.js'
|
|
7
|
-
import multicallYearnStratsAbi from '../../utils/abis/MulticallYearnStratsAbi.json'
|
|
7
|
+
import multicallYearnStratsAbi from '../../utils/abis/MulticallYearnStratsAbi.json' with { type: 'json' }
|
|
8
8
|
import { getBoost } from '../../utils/boost.js'
|
|
9
9
|
import { buildYearnStrategies } from '../build.js'
|
|
10
10
|
import { computeYearnApr } from './computeYearnApr.js'
|