@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.
Files changed (34) hide show
  1. package/dist/esm/index.js +1 -0
  2. package/dist/esm/index.js.map +1 -1
  3. package/dist/esm/lockers/fetch/index.js +1 -1
  4. package/dist/esm/lockers/fetch/index.js.map +1 -1
  5. package/dist/esm/strategies/angle/fetch.js +1 -1
  6. package/dist/esm/strategies/angle/fetch.js.map +1 -1
  7. package/dist/esm/strategies/curve/fetch/getStratsWithApr.js +2 -2
  8. package/dist/esm/strategies/curve/fetch/getStratsWithApr.js.map +1 -1
  9. package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Positions.js +17 -0
  10. package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Positions.js.map +1 -0
  11. package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js +4 -10
  12. package/dist/esm/strategies/pancakeswap/fetch/getPancakeV3Vaults.js.map +1 -1
  13. package/dist/esm/strategies/pendle/fetch.js +1 -1
  14. package/dist/esm/strategies/pendle/fetch.js.map +1 -1
  15. package/dist/esm/strategies/yearn/fetch/fetchAllYearnGauges.js +1 -1
  16. package/dist/esm/strategies/yearn/fetch/fetchAllYearnGauges.js.map +1 -1
  17. package/dist/esm/strategies/yearn/fetch/index.js +1 -1
  18. package/dist/esm/strategies/yearn/fetch/index.js.map +1 -1
  19. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  20. package/dist/types/index.d.ts +1 -0
  21. package/dist/types/index.d.ts.map +1 -1
  22. package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Positions.d.ts +2 -0
  23. package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Positions.d.ts.map +1 -0
  24. package/dist/types/strategies/pancakeswap/fetch/getPancakeV3Vaults.d.ts.map +1 -1
  25. package/package.json +1 -1
  26. package/src/index.ts +1 -0
  27. package/src/lockers/fetch/index.ts +1 -1
  28. package/src/strategies/angle/fetch.ts +1 -1
  29. package/src/strategies/curve/fetch/getStratsWithApr.ts +2 -2
  30. package/src/strategies/pancakeswap/fetch/getPancakeV3Positions.ts +24 -0
  31. package/src/strategies/pancakeswap/fetch/getPancakeV3Vaults.ts +4 -14
  32. package/src/strategies/pendle/fetch.ts +1 -1
  33. package/src/strategies/yearn/fetch/fetchAllYearnGauges.ts +1 -1
  34. package/src/strategies/yearn/fetch/index.ts +1 -1
@@ -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;AAGxF,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"}
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,2 @@
1
+ export declare const getPancakeV3Positions: (rpc: string, chainId: number) => Promise<any>;
2
+ //# sourceMappingURL=getPancakeV3Positions.d.ts.map
@@ -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;;;EA2LhB,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;;;EAiLhB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stake-dao/reader",
3
3
  "description": "",
4
- "version": "0.2.14",
4
+ "version": "0.2.16",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",
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("lending-oneway-", "")
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 { batchPancakeSwapPositions, batchPancakeSwapStrats } from '../../../bytecodes/index.js'
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 positionsInputData = encodeAbiParameters(
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'