@1delta/margin-fetcher 0.0.32 → 0.0.33

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 (207) hide show
  1. package/dist/abis/oracle/UniV3.d.ts +50 -0
  2. package/dist/abis/oracle/UniV3.d.ts.map +1 -0
  3. package/dist/abis/oracle/UniV3.js +63 -0
  4. package/dist/assets/index.d.ts +3 -7
  5. package/dist/assets/index.d.ts.map +1 -1
  6. package/dist/assets/index.js +12 -25
  7. package/dist/assets/liquidityThresholds.d.ts.map +1 -1
  8. package/dist/assets/liquidityThresholds.js +3 -3
  9. package/dist/flash-liquidity/assets.d.ts.map +1 -1
  10. package/dist/flash-liquidity/assets.js +22 -13
  11. package/dist/flash-liquidity/fetchLiquidity.d.ts +2 -2
  12. package/dist/flash-liquidity/fetchLiquidity.d.ts.map +1 -1
  13. package/dist/flash-liquidity/fetchLiquidity.js +11 -10
  14. package/dist/flash-liquidity/utils.d.ts +3 -2
  15. package/dist/flash-liquidity/utils.d.ts.map +1 -1
  16. package/dist/flash-liquidity/utils.js +5 -5
  17. package/dist/lending/aave-v2-type/misc.d.ts +1 -1
  18. package/dist/lending/aave-v2-type/misc.d.ts.map +1 -1
  19. package/dist/lending/aave-v2-type/misc.js +7 -3
  20. package/dist/lending/aave-v2-type/publicCallBuild.d.ts +1 -1
  21. package/dist/lending/aave-v2-type/publicCallBuild.d.ts.map +1 -1
  22. package/dist/lending/aave-v2-type/publicCallBuild.js +11 -11
  23. package/dist/lending/aave-v2-type/publicCallParse.d.ts +1 -1
  24. package/dist/lending/aave-v2-type/publicCallParse.d.ts.map +1 -1
  25. package/dist/lending/aave-v2-type/publicCallParse.js +5 -5
  26. package/dist/lending/aave-v3-type/publicCallBuild.d.ts +1 -1
  27. package/dist/lending/aave-v3-type/publicCallBuild.d.ts.map +1 -1
  28. package/dist/lending/aave-v3-type/publicCallBuild.js +1 -1
  29. package/dist/lending/aave-v3-type/publicCallParse.d.ts +1 -1
  30. package/dist/lending/aave-v3-type/publicCallParse.d.ts.map +1 -1
  31. package/dist/lending/aave-v3-type/publicCallParse.js +5 -14
  32. package/dist/lending/addresses/aave.js +1 -1
  33. package/dist/lending/addresses/aaveV2.js +1 -1
  34. package/dist/lending/addresses/aurelius.js +1 -1
  35. package/dist/lending/addresses/compoundV3.d.ts +1 -1
  36. package/dist/lending/addresses/compoundV3.d.ts.map +1 -1
  37. package/dist/lending/addresses/compoundV3.js +5 -3
  38. package/dist/lending/addresses/contracts.d.ts +1 -1
  39. package/dist/lending/addresses/contracts.d.ts.map +1 -1
  40. package/dist/lending/addresses/contracts.js +1 -1
  41. package/dist/lending/addresses/hana.js +1 -1
  42. package/dist/lending/addresses/init.js +1 -1
  43. package/dist/lending/addresses/lendle.js +1 -1
  44. package/dist/lending/addresses/meridian.js +1 -1
  45. package/dist/lending/addresses/takotako.js +1 -1
  46. package/dist/lending/compound-v3/publicCallBuild.d.ts +1 -1
  47. package/dist/lending/compound-v3/publicCallBuild.d.ts.map +1 -1
  48. package/dist/lending/compound-v3/publicCallParse.d.ts +1 -1
  49. package/dist/lending/compound-v3/publicCallParse.d.ts.map +1 -1
  50. package/dist/lending/compound-v3/publicCallParse.js +3 -9
  51. package/dist/lending/fetchLender.d.ts +1 -1
  52. package/dist/lending/fetchLender.d.ts.map +1 -1
  53. package/dist/lending/fetchLender.js +1 -1
  54. package/dist/lending/fetchLenderAll.d.ts +1 -1
  55. package/dist/lending/fetchLenderAll.d.ts.map +1 -1
  56. package/dist/lending/fetchLenderAll.js +1 -1
  57. package/dist/lending/fetchLenderExt.d.ts +1 -1
  58. package/dist/lending/fetchLenderExt.d.ts.map +1 -1
  59. package/dist/lending/index.d.ts +1 -0
  60. package/dist/lending/index.d.ts.map +1 -1
  61. package/dist/lending/index.js +1 -0
  62. package/dist/lending/init/publicCallBuild.d.ts +1 -1
  63. package/dist/lending/init/publicCallBuild.d.ts.map +1 -1
  64. package/dist/lending/init/publicCallParse.d.ts +4 -4
  65. package/dist/lending/init/publicCallParse.d.ts.map +1 -1
  66. package/dist/lending/init/publicCallParse.js +7 -7
  67. package/dist/lending/meta/index.d.ts +19 -0
  68. package/dist/lending/meta/index.d.ts.map +1 -0
  69. package/dist/lending/meta/index.js +83 -0
  70. package/dist/lending/morpho/publicCallBuild.d.ts.map +1 -1
  71. package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts +1 -1
  72. package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts.map +1 -1
  73. package/dist/lending/user-data/aave-v2-type/userCallBuild.js +1 -1
  74. package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts +2 -2
  75. package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts.map +1 -1
  76. package/dist/lending/user-data/aave-v2-type/userCallParse.js +44 -38
  77. package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts +1 -1
  78. package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts.map +1 -1
  79. package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts +1 -1
  80. package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts.map +1 -1
  81. package/dist/lending/user-data/aave-v3-type/userCallParse.js +5 -5
  82. package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts +2 -2
  83. package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts.map +1 -1
  84. package/dist/lending/user-data/aave-v3-type/userCallParseYldr.js +15 -15
  85. package/dist/lending/user-data/abis.d.ts +1 -1
  86. package/dist/lending/user-data/abis.d.ts.map +1 -1
  87. package/dist/lending/user-data/compound-v3/userCallBuild.d.ts +1 -1
  88. package/dist/lending/user-data/compound-v3/userCallBuild.d.ts.map +1 -1
  89. package/dist/lending/user-data/compound-v3/userCallParse.d.ts +1 -1
  90. package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -1
  91. package/dist/lending/user-data/compound-v3/userCallParse.js +4 -4
  92. package/dist/lending/user-data/init/userCallBuild.d.ts +2 -2
  93. package/dist/lending/user-data/init/userCallBuild.d.ts.map +1 -1
  94. package/dist/lending/user-data/init/userCallBuild.js +3 -3
  95. package/dist/lending/user-data/init/userCallParse.d.ts +1 -1
  96. package/dist/lending/user-data/init/userCallParse.d.ts.map +1 -1
  97. package/dist/lending/user-data/init/userCallParse.js +4 -4
  98. package/dist/lending/user-data/morpho/userCallBuild.d.ts +1 -1
  99. package/dist/lending/user-data/morpho/userCallBuild.d.ts.map +1 -1
  100. package/dist/lending/user-data/morpho/userCallBuild.js +6 -4
  101. package/dist/lending/user-data/morpho/userCallParse.d.ts +1 -1
  102. package/dist/lending/user-data/morpho/userCallParse.d.ts.map +1 -1
  103. package/dist/lending/user-data/morpho/userCallParse.js +5 -5
  104. package/dist/lending/user-data/types.js +1 -1
  105. package/dist/lending-pairs/computeLendingPairs.d.ts.map +1 -1
  106. package/dist/lending-pairs/computeLendingPairs.js +6 -6
  107. package/dist/prices/main-prices/addresses/api3.js +1 -1
  108. package/dist/prices/main-prices/addresses/chainlink.js +1 -1
  109. package/dist/prices/main-prices/fetchOracleData.d.ts +6 -0
  110. package/dist/prices/main-prices/fetchOracleData.d.ts.map +1 -1
  111. package/dist/prices/main-prices/fetchOracleData.js +78 -20
  112. package/dist/types/index.d.ts +8 -2
  113. package/dist/types/index.d.ts.map +1 -1
  114. package/dist/types/index.js +2 -2
  115. package/dist/utils/constants.js +1 -1
  116. package/dist/utils/index.d.ts +2 -2
  117. package/dist/utils/index.d.ts.map +1 -1
  118. package/dist/utils/index.js +11 -13
  119. package/dist/utils/parsing.d.ts +1 -1
  120. package/dist/utils/parsing.d.ts.map +1 -1
  121. package/dist/utils/parsing.js +9 -8
  122. package/dist/yields/index.d.ts.map +1 -1
  123. package/dist/yields/index.js +3 -2
  124. package/package.json +2 -2
  125. package/src/abis/oracle/UniV3.ts +63 -0
  126. package/src/assets/index.ts +26 -56
  127. package/src/assets/liquidityThresholds.ts +55 -43
  128. package/src/flash-liquidity/assets.ts +68 -44
  129. package/src/flash-liquidity/fetchLiquidity.ts +13 -14
  130. package/src/flash-liquidity/utils.ts +22 -16
  131. package/src/lending/aave-v2-type/misc.ts +7 -3
  132. package/src/lending/aave-v2-type/publicCallBuild.ts +28 -17
  133. package/src/lending/aave-v2-type/publicCallParse.ts +5 -5
  134. package/src/lending/aave-v3-type/publicCallBuild.ts +1 -1
  135. package/src/lending/aave-v3-type/publicCallParse.ts +4 -14
  136. package/src/lending/addresses/aave.ts +1 -1
  137. package/src/lending/addresses/aaveV2.ts +1 -1
  138. package/src/lending/addresses/aurelius.ts +1 -1
  139. package/src/lending/addresses/compoundV3.ts +5 -8
  140. package/src/lending/addresses/contracts.ts +1 -1
  141. package/src/lending/addresses/hana.ts +1 -1
  142. package/src/lending/addresses/init.ts +1 -1
  143. package/src/lending/addresses/lendle.ts +1 -1
  144. package/src/lending/addresses/meridian.ts +1 -1
  145. package/src/lending/addresses/takotako.ts +1 -1
  146. package/src/lending/compound-v3/publicCallBuild.ts +1 -1
  147. package/src/lending/compound-v3/publicCallParse.ts +3 -10
  148. package/src/lending/fetchLender.ts +1 -1
  149. package/src/lending/fetchLenderAll.ts +1 -1
  150. package/src/lending/fetchLenderExt.ts +1 -1
  151. package/src/lending/index.ts +1 -0
  152. package/src/lending/init/publicCallBuild.ts +1 -1
  153. package/src/lending/init/publicCallParse.ts +64 -48
  154. package/src/lending/meta/index.ts +124 -0
  155. package/src/lending/morpho/publicCallBuild.ts +0 -1
  156. package/src/lending/user-data/aave-v2-type/userCallBuild.ts +1 -1
  157. package/src/lending/user-data/aave-v2-type/userCallParse.ts +181 -122
  158. package/src/lending/user-data/aave-v3-type/userCallBuild.ts +1 -1
  159. package/src/lending/user-data/aave-v3-type/userCallParse.ts +7 -8
  160. package/src/lending/user-data/aave-v3-type/userCallParseYldr.ts +37 -34
  161. package/src/lending/user-data/abis.ts +1 -1
  162. package/src/lending/user-data/compound-v3/userCallBuild.ts +1 -1
  163. package/src/lending/user-data/compound-v3/userCallParse.ts +4 -6
  164. package/src/lending/user-data/fetchUserData.ts +1 -1
  165. package/src/lending/user-data/init/userCallBuild.ts +11 -7
  166. package/src/lending/user-data/init/userCallParse.ts +5 -5
  167. package/src/lending/user-data/morpho/userCallBuild.ts +7 -4
  168. package/src/lending/user-data/morpho/userCallParse.ts +8 -5
  169. package/src/lending/user-data/types.ts +1 -1
  170. package/src/lending-pairs/computeLendingPairs.ts +6 -12
  171. package/src/prices/main-prices/addresses/api3.ts +1 -1
  172. package/src/prices/main-prices/addresses/chainlink.ts +1 -1
  173. package/src/prices/main-prices/fetchOracleData.ts +117 -20
  174. package/src/types/index.ts +10 -4
  175. package/src/utils/constants.ts +1 -1
  176. package/src/utils/index.ts +18 -21
  177. package/src/utils/parsing.ts +37 -35
  178. package/src/yields/index.ts +3 -2
  179. package/test/flashLiquidity.test.ts +6 -6
  180. package/test/index.test.ts +1 -1
  181. package/test/lenderData.test.ts +9 -10
  182. package/test/lenderDataBasic.test.ts +1 -1
  183. package/test/mainPriceMB.test.ts +1 -1
  184. package/test/mainPrices.test.ts +14 -14
  185. package/test/morpho.test.ts +1 -1
  186. package/test/morphoPrice.test.ts +1 -1
  187. package/test/userData.test.ts +2 -1
  188. package/test/userDataAave.test.ts +1 -1
  189. package/test/userDataAaveMainnet.test.ts +1 -1
  190. package/test/userDataAll.test.ts +2 -1
  191. package/test/userDataCompound.test.ts +2 -1
  192. package/test/userDataMorpho.test.ts +2 -1
  193. package/test/userDataMorphoEthereum.test.ts +2 -1
  194. package/test/userDataMorphoKatana.test.ts +2 -1
  195. package/test/utils.ts +11 -1
  196. package/dist/lending/user-data/morpho/userCallParseNoDeploy.d.ts +0 -11
  197. package/dist/lending/user-data/morpho/userCallParseNoDeploy.d.ts.map +0 -1
  198. package/dist/lending/user-data/morpho/userCallParseNoDeploy.js +0 -112
  199. package/dist/prices/main-prices/addresses/aaveOracles.d.ts +0 -303
  200. package/dist/prices/main-prices/addresses/aaveOracles.d.ts.map +0 -1
  201. package/dist/prices/main-prices/addresses/aaveOracles.js +0 -302
  202. package/dist/prices/main-prices/addresses/morpho.d.ts +0 -11
  203. package/dist/prices/main-prices/addresses/morpho.d.ts.map +0 -1
  204. package/dist/prices/main-prices/addresses/morpho.js +0 -2554
  205. package/src/lending/user-data/morpho/userCallParseNoDeploy.ts +0 -168
  206. package/src/prices/main-prices/addresses/aaveOracles.ts +0 -302
  207. package/src/prices/main-prices/addresses/morpho.ts +0 -2563
@@ -1,9 +1,10 @@
1
- import { Lender } from "@1delta/asset-registry"
2
- import { getAaveAssets, getAssetMeta, toGenericPriceKey, toOracleKey } from "../../../assets"
3
- import { AaveV3UserReserveResponse } from "../types"
4
- import { createBaseTypeUserState } from "../utils"
5
- import { YldrTypeGetUserReserveIndexes } from "../../aave-v3-type/types"
6
- import { parseRawAmount } from "../../../utils/parsing"
1
+ import { Lender } from '@1delta/lender-registry'
2
+ import { toGenericPriceKey, toOracleKey } from '../../../assets'
3
+ import { AaveV3UserReserveResponse } from '../types'
4
+ import { createBaseTypeUserState } from '../utils'
5
+ import { YldrTypeGetUserReserveIndexes } from '../../aave-v3-type/types'
6
+ import { parseRawAmount } from '../../../utils/parsing'
7
+ import { GenericCurrency } from '../../types'
7
8
 
8
9
  /** Like Aave V3, not stable debt data and no emode */
9
10
  export const getYldrUserDataConverter = (
@@ -12,10 +13,9 @@ export const getYldrUserDataConverter = (
12
13
  account: string,
13
14
  prices: { [asset: string]: number },
14
15
  pricesHist: { [asset: string]: number },
15
- lenderData: any
16
+ lenderData: any,
16
17
  ): [(data: any[]) => AaveV3UserReserveResponse | undefined, number] => {
17
-
18
- const assetsToQuery = getAaveAssets(chainId, lender)
18
+ const assetsToQuery = Object.keys(lenderData)
19
19
  const expectedNumberOfCalls = assetsToQuery.length
20
20
  return [
21
21
  (data: any[]) => {
@@ -29,19 +29,15 @@ export const getYldrUserDataConverter = (
29
29
 
30
30
  for (let i = 0; i < assetsToQuery.length; i++) {
31
31
  const asset = assetsToQuery[i]
32
- const {
33
- dataForAsset,
34
- addedDebt,
35
- addedDeposits
36
- } = createAaveV3Entry(
32
+ const { dataForAsset, addedDebt, addedDeposits } = createAaveV3Entry(
37
33
  i,
38
34
  data,
39
35
  chainId,
40
- asset,
36
+ lenderData[asset].asset``,
41
37
  prices,
42
38
  pricesHist,
43
39
  )
44
- if (!dataForAsset) continue;
40
+ if (!dataForAsset) continue
45
41
  totalDebt24h += addedDebt
46
42
  totalDeposits24h += addedDeposits
47
43
  lendingPositions[asset] = dataForAsset
@@ -50,15 +46,20 @@ export const getYldrUserDataConverter = (
50
46
  const payload = {
51
47
  chainId,
52
48
  account,
53
- lendingPositions: { "0": lendingPositions },
49
+ lendingPositions: { '0': lendingPositions },
54
50
  rewards: {},
55
51
  userEMode: 0,
56
52
  }
57
53
 
58
- const userData = createBaseTypeUserState(payload, lenderData, totalDeposits24h, totalDebt24h)
54
+ const userData = createBaseTypeUserState(
55
+ payload,
56
+ lenderData,
57
+ totalDeposits24h,
58
+ totalDebt24h,
59
+ )
59
60
  return {
60
61
  ...payload,
61
- ...userData
62
+ ...userData,
62
63
  }
63
64
  },
64
65
  expectedNumberOfCalls,
@@ -69,34 +70,34 @@ function createAaveV3Entry(
69
70
  i: number,
70
71
  data: any[],
71
72
  chainId: string,
72
- asset: string,
73
+ asset: GenericCurrency,
73
74
  prices: any,
74
75
  pricesHist: any,
75
76
  ) {
76
77
  const reserveData = data[i]
77
78
 
78
- const currentATokenBalanceRaw = reserveData[YldrTypeGetUserReserveIndexes.currentYTokenBalance]?.toString()
79
- const currentVariableDebtRaw = reserveData[YldrTypeGetUserReserveIndexes.currentVariableDebt]?.toString()
80
-
79
+ const currentATokenBalanceRaw =
80
+ reserveData[YldrTypeGetUserReserveIndexes.currentYTokenBalance]?.toString()
81
+ const currentVariableDebtRaw =
82
+ reserveData[YldrTypeGetUserReserveIndexes.currentVariableDebt]?.toString()
81
83
 
82
- if (
83
- currentATokenBalanceRaw === "0" &&
84
- currentVariableDebtRaw === "0") {
84
+ if (currentATokenBalanceRaw === '0' && currentVariableDebtRaw === '0') {
85
85
  return {
86
86
  dataForAsset: undefined,
87
87
  addedDeposits: 0,
88
- addedDebt: 0
88
+ addedDebt: 0,
89
89
  }
90
90
  }
91
91
 
92
- const assetMeta = getAssetMeta(chainId, asset)
92
+ const assetMeta = asset
93
93
  const decimals = assetMeta?.decimals ?? 18
94
94
 
95
95
  const currentATokenBalance = parseRawAmount(currentATokenBalanceRaw, decimals)
96
96
  const currentVariableDebt = parseRawAmount(currentVariableDebtRaw, decimals)
97
97
 
98
-
99
- const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(asset, chainId)
98
+ const key =
99
+ toOracleKey(assetMeta?.assetGroup) ??
100
+ toGenericPriceKey(asset.address, chainId)
100
101
  // prices
101
102
  const price = prices[key] ?? 1
102
103
  const priceHist = pricesHist?.[key] ?? price
@@ -106,19 +107,21 @@ function createAaveV3Entry(
106
107
  underlying: asset,
107
108
  deposits: currentATokenBalance,
108
109
  depositsRaw: currentATokenBalanceRaw,
109
- debtStable: "0",
110
+ debtStable: '0',
110
111
  debt: currentVariableDebt,
111
112
  depositsUSD: Number(currentATokenBalance) * price,
112
113
  debtStableUSD: 0,
113
114
  debtUSD: Number(currentVariableDebt) * price,
114
115
  stableBorrowRate: 0,
115
- collateralActive: Boolean(reserveData[YldrTypeGetUserReserveIndexes.usageAsCollateralEnabled]),
116
+ collateralActive: Boolean(
117
+ reserveData[YldrTypeGetUserReserveIndexes.usageAsCollateralEnabled],
118
+ ),
116
119
  claimableRewards: 0,
117
120
  }
118
121
 
119
122
  return {
120
123
  dataForAsset,
121
124
  addedDeposits: Number(currentATokenBalance) * priceHist,
122
- addedDebt: Number(currentVariableDebt) * priceHist
125
+ addedDebt: Number(currentVariableDebt) * priceHist,
123
126
  }
124
- }
127
+ }
@@ -1,4 +1,4 @@
1
- import { Lender } from "@1delta/asset-registry"
1
+ import { Lender } from '@1delta/lender-registry'
2
2
  import { isAaveV2Type, isAaveV3Type, isCompoundV3, isInit, isAaveV32Type, isYLDR, isMorphoType } from "../../utils"
3
3
  import { IncentivesControllerAbi } from "../../abis/lendle/IncentivesController"
4
4
  import { RewarderAbi } from "../../abis/aurelius/Rewarder"
@@ -1,4 +1,4 @@
1
- import { Lender } from '@1delta/asset-registry'
1
+ import { Lender } from '@1delta/lender-registry'
2
2
  import { Call } from '../../../utils/multicall'
3
3
  import { getLenderAssets } from '../../../utils'
4
4
  import {
@@ -1,8 +1,6 @@
1
- import { Lender } from '@1delta/asset-registry'
1
+ import { Lender } from '@1delta/lender-registry'
2
2
  import { CompoundV3UserReserveResponse } from '../types'
3
3
  import {
4
- getAssetMeta,
5
- getCompoundV3Assets,
6
4
  toGenericPriceKey,
7
5
  toOracleKey,
8
6
  } from '../../../assets'
@@ -18,7 +16,7 @@ export const getCompoundV3UserDataConverter = (
18
16
  pricesHist: { [asset: string]: number },
19
17
  lenderData: any,
20
18
  ): [(data: any[]) => CompoundV3UserReserveResponse | undefined, number] => {
21
- const assetAddresses = getCompoundV3Assets(chainId, lender)
19
+ const assetAddresses = Object.keys(lenderData)
22
20
  const baseAsset = getCompoundV3BaseAsset(lender, chainId)?.baseAsset
23
21
  const assetsNoBase = assetAddresses.filter((a) => a !== baseAsset)
24
22
  const expectedNumberOfCalls = assetsNoBase.length + 2 + 1
@@ -34,7 +32,7 @@ export const getCompoundV3UserDataConverter = (
34
32
  let result: { [asset: string]: any } = {}
35
33
  for (let i = 0; i < assetsNoBase.length; i++) {
36
34
  const asset = assetsNoBase[i]
37
- const assetMeta = getAssetMeta(chainId, asset)
35
+ const assetMeta = lenderData[asset].asset
38
36
  const decimals = assetMeta?.decimals ?? 18
39
37
  const depositsRaw = data[i][0]?.toString()
40
38
  if (depositsRaw === '0') continue
@@ -67,7 +65,7 @@ export const getCompoundV3UserDataConverter = (
67
65
 
68
66
  const depositsRaw = data[assetsNoBase.length]?.toString()
69
67
  const debtRaw = data[assetsNoBase.length + 1]?.toString()
70
- const baseMeta = getAssetMeta(chainId, baseAsset)
68
+ const baseMeta = lenderData[baseAsset].asset
71
69
  const baseDecimals = baseMeta.decimals ?? 18
72
70
  const deposits = parseRawAmount(depositsRaw, baseDecimals)
73
71
  const debt = parseRawAmount(debtRaw, baseDecimals)
@@ -3,7 +3,7 @@ import {
3
3
  MULTICALL_DEFAULT_BATCH_SIZE,
4
4
  multicallViemAbiArray,
5
5
  } from '../../utils/multicall'
6
- import { Lender } from '@1delta/asset-registry'
6
+ import { Lender } from '@1delta/lender-registry'
7
7
  import {
8
8
  isAaveV2Type,
9
9
  isAaveV3Type,
@@ -1,9 +1,10 @@
1
- import { Chain, Lender } from "@1delta/asset-registry"
2
- import { Call } from "../../../utils/multicall"
3
- import { getInitLensAddress } from "../../addresses/init"
1
+ import { Chain } from '@1delta/chain-registry'
2
+ import { Lender } from '@1delta/lender-registry'
3
+ import { Call } from '../../../utils/multicall'
4
+ import { getInitLensAddress } from '../../addresses/init'
4
5
 
5
6
  export const initBrokerAddresses = {
6
- [Chain.MANTLE]: '0xc08BFef7E778f3519D79E96780b77066F5d4FCC0'
7
+ [Chain.MANTLE]: '0xc08BFef7E778f3519D79E96780b77066F5d4FCC0',
7
8
  }
8
9
 
9
10
  export function getInitFlashAggregatorAddress(chainId?: string) {
@@ -11,7 +12,11 @@ export function getInitFlashAggregatorAddress(chainId?: string) {
11
12
  return initBrokerAddresses[chainId as keyof typeof initBrokerAddresses]
12
13
  }
13
14
 
14
- export const buildInitUserCall = (chainId: string, lender: Lender, account: string): Call[] => {
15
+ export const buildInitUserCall = (
16
+ chainId: string,
17
+ lender: Lender,
18
+ account: string,
19
+ ): Call[] => {
15
20
  const lensContract = getInitLensAddress(chainId)
16
21
  const brokerAddress = getInitFlashAggregatorAddress(chainId)
17
22
 
@@ -22,5 +27,4 @@ export const buildInitUserCall = (chainId: string, lender: Lender, account: stri
22
27
  }
23
28
 
24
29
  return [call]
25
-
26
- }
30
+ }
@@ -1,9 +1,9 @@
1
- import { Lender } from "@1delta/asset-registry"
1
+ import { Lender } from '@1delta/lender-registry'
2
2
  import { InitUserReserveResponse } from "../types"
3
3
  import { getInitFlashAggregatorAddress } from "./userCallBuild"
4
4
  import { InitGetUserPositionDataIndexes } from "../../init/types"
5
5
  import { getLenderAssets } from "../../../utils"
6
- import { getAssetMeta, toOracleKey } from "../../../assets"
6
+ import { toOracleKey } from "../../../assets"
7
7
  import { parseRawAmount } from "../../../utils/parsing"
8
8
  import { createMultiAccountTypeUserState } from "../utils/createMultiAccountStyleUserState"
9
9
 
@@ -41,14 +41,14 @@ export const getInitUserDataConverter = (
41
41
  const id = entry.posId.toString()
42
42
  const collatData = Object.assign({}, ...data[InitGetUserPositionDataIndexes.collaterals][index].map((c: any) => {
43
43
  const asset = c.underlying.toLowerCase()
44
- const decimals = getAssetMeta(chainId, asset)?.decimals ?? 18
44
+ const decimals = lenderData[asset].asset?.decimals ?? 18
45
45
  const depositsRaw = c.amount.toString()
46
46
  return { [asset]: { deposits: parseRawAmount(depositsRaw, decimals), depositsRaw } }
47
47
  })
48
48
  )
49
49
  const debtData = Object.assign({}, ...data[InitGetUserPositionDataIndexes.debts][index].map((c: any) => {
50
50
  const asset = c.underlying.toLowerCase()
51
- const decimals = getAssetMeta(chainId, asset)?.decimals ?? 18
51
+ const decimals = lenderData[asset]?.asset?.decimals ?? 18
52
52
  return { [asset]: { debt: parseRawAmount(c.amount.toString(), decimals) } }
53
53
  })
54
54
  )
@@ -57,7 +57,7 @@ export const getInitUserDataConverter = (
57
57
  [id]: {
58
58
  mode,
59
59
  ...Object.assign({}, ...assets.map(a => {
60
- const ams = toOracleKey(getAssetMeta(chainId, a)?.assetGroup!)
60
+ const ams = toOracleKey(lenderData[a]?.asset?.assetGroup!)
61
61
  const price = prices[ams] ?? 1
62
62
  const priceHist = pricesHist?.[ams] ?? price
63
63
  if (!histData[id]) histData[id] = {
@@ -1,6 +1,8 @@
1
- import { Chain, Lender, MORPHO_BLUE_POOL_DATA } from '@1delta/asset-registry'
1
+ import { Lender } from '@1delta/lender-registry'
2
+ import { Chain } from '@1delta/chain-registry'
2
3
  import { Call } from '../../../utils/multicall'
3
4
  import { chunk } from 'lodash'
5
+ import { morphoPools } from '@1delta/data-sdk'
4
6
 
5
7
  const MORPHO_LENS: { [c: string]: string } = {
6
8
  [Chain.BASE]: '0x98542B95B44a4732EffB1F4F01A696F1546236d3',
@@ -18,16 +20,17 @@ const getBaseMorphoCalls = (
18
20
  account: string,
19
21
  marketsToQuery: string[],
20
22
  ) => {
23
+ const mbPool = morphoPools()?.[lender]?.[chainId]
21
24
  return marketsToQuery.flatMap((id) => [
22
25
  {
23
26
  // @ts-ignore
24
- address: MORPHO_BLUE_POOL_DATA[lender][chainId],
27
+ address: mbPool,
25
28
  name: 'position',
26
29
  params: ['0x' + id.split('_')[1], account],
27
30
  },
28
31
  {
29
32
  // @ts-ignore
30
- address: MORPHO_BLUE_POOL_DATA[lender][chainId],
33
+ address: mbPool,
31
34
  name: 'market',
32
35
  params: ['0x' + id.split('_')[1]],
33
36
  },
@@ -60,7 +63,7 @@ export const buildMorphoUserCallWithLens = (
60
63
  marketsInChunk.map((a) => a.replace('MORPHO_BLUE_', '0x')),
61
64
  account,
62
65
  // @ts-ignore
63
- MORPHO_BLUE_POOL_DATA[lender][chainId],
66
+ morphoPools()?.[lender]?.[chainId],
64
67
  ],
65
68
  }))
66
69
  }
@@ -1,5 +1,5 @@
1
- import { Lender } from '@1delta/asset-registry'
2
- import { getAssetMeta, toGenericPriceKey, toOracleKey } from '../../../assets'
1
+ import { Lender } from '@1delta/lender-registry'
2
+ import { toGenericPriceKey, toOracleKey } from '../../../assets'
3
3
  import { MorphoUserReserveResponse } from '../types'
4
4
  import { createBaseTypeUserState } from '../utils'
5
5
  import { parseRawAmount } from '../../../utils/parsing'
@@ -100,6 +100,7 @@ export const getMorphoUserDataConverterWithlens = (
100
100
  balanceData,
101
101
  chainId,
102
102
  market,
103
+ lenderData[markeId].data,
103
104
  prices,
104
105
  pricesHist,
105
106
  )
@@ -157,11 +158,12 @@ function createMorphoEntryFromMarketWithLens(
157
158
  balanceInfo: BalanceInfo,
158
159
  chainId: string,
159
160
  market: MorphoMarket,
161
+ lenderData: any,
160
162
  prices: any,
161
163
  pricesHist: any,
162
164
  ) {
163
165
  const loanAddress = market.loanAddress.toLowerCase()
164
- const loanMeta = getAssetMeta(chainId, loanAddress)
166
+ const loanMeta = lenderData[loanAddress].asset
165
167
 
166
168
  const loanKey =
167
169
  toOracleKey(loanMeta?.assetGroup) ?? toGenericPriceKey(loanAddress, chainId)
@@ -181,8 +183,9 @@ function createMorphoEntryFromMarketWithLens(
181
183
  }
182
184
 
183
185
  const collateralAddress = market.collateralAddress.toLowerCase()
184
- const collateralAssetMeta = getAssetMeta(chainId, collateralAddress)
185
-
186
+
187
+ const collateralAssetMeta = lenderData[collateralAddress].asset
188
+
186
189
  // loan asset deposits
187
190
  const loanDepositNumber = parseRawAmount(
188
191
  deposits.toString(),
@@ -1,4 +1,4 @@
1
- import { Lender } from '@1delta/asset-registry'
1
+ import { Lender } from '@1delta/lender-registry'
2
2
  import { BaseYields, RewardsMap } from '../aave-v3-type/types'
3
3
 
4
4
  export type SerializedBigNumber = string
@@ -1,4 +1,4 @@
1
- import { getAssetMeta, toGenericPriceKey, toOracleKey } from '../assets'
1
+ import { toGenericPriceKey, toOracleKey } from '../assets'
2
2
  import {
3
3
  getLiquidityThresholds,
4
4
  meetsLiquidityThresholdsLong,
@@ -188,14 +188,8 @@ export function generateLendingPairs(
188
188
  const depositApr = long.depositRate + long.stakingYield
189
189
  const borrowApr = short.variableBorrowRate + short.stakingYield
190
190
 
191
- const [assetGroupLong, keyLong] = getPriceKey(
192
- long.underlying,
193
- chainId,
194
- )
195
- const [assetGroupShort, keyShort] = getPriceKey(
196
- short.underlying,
197
- chainId,
198
- )
191
+ const [assetGroupLong, keyLong] = getPriceKey(long.asset)
192
+ const [assetGroupShort, keyShort] = getPriceKey(short.asset)
199
193
  const priceLong = prices[keyLong] ?? 0
200
194
  const priceShort = prices[keyShort] ?? 0
201
195
 
@@ -254,11 +248,11 @@ export function generateLendingPairs(
254
248
  return pairs
255
249
  }
256
250
 
257
- function getPriceKey(asset: string, chainId: string): [string, string] {
258
- const assetGroup = getAssetMeta(chainId, asset)?.assetGroup
251
+ function getPriceKey(asset: GenericCurrency): [string, string] {
252
+ const assetGroup = asset?.assetGroup
259
253
  return [
260
254
  assetGroup,
261
- toOracleKey(assetGroup) ?? toGenericPriceKey(asset, chainId),
255
+ toOracleKey(assetGroup) ?? toGenericPriceKey(asset.address, asset.chainId),
262
256
  ]
263
257
  }
264
258
 
@@ -1,4 +1,4 @@
1
- import { Chain } from "@1delta/asset-registry";
1
+ import { Chain } from "@1delta/chain-registry";
2
2
 
3
3
  export const api3OracleAddresses: { [chainId: string]: { [asset: string]: string } } = {
4
4
  [Chain.MANTLE]: {
@@ -1,4 +1,4 @@
1
- import { Chain } from '@1delta/asset-registry'
1
+ import { Chain } from '@1delta/chain-registry'
2
2
 
3
3
  export enum ChainlinkAggregatorIndexes {
4
4
  roundId = 0,