@1delta/margin-fetcher 0.0.13 → 0.0.15-0.1

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 (510) hide show
  1. package/dist/_esm-2UAQOYNJ.js +3898 -0
  2. package/dist/_esm-2UAQOYNJ.js.map +1 -0
  3. package/dist/abis/aave-v2/YLDR.d.ts.map +1 -1
  4. package/dist/abis/aave-v3/AavePoolDataProviderLegacy.d.ts.map +1 -1
  5. package/dist/abis/compound-v2/CollateralToken.d.ts +58 -0
  6. package/dist/abis/compound-v2/CollateralToken.d.ts.map +1 -0
  7. package/dist/abis/compound-v2/Comptroller.d.ts +1 -1600
  8. package/dist/abis/compound-v2/Comptroller.d.ts.map +1 -1
  9. package/dist/abis/compound-v2/VenusLens.d.ts +1007 -0
  10. package/dist/abis/{aave/AavePoolV3.d.ts.map → compound-v2/VenusLens.d.ts.map} +1 -1
  11. package/dist/abis/compound-v2/VenusLensLegacy.d.ts +109 -0
  12. package/dist/abis/compound-v2/VenusLensLegacy.d.ts.map +1 -0
  13. package/dist/abis/compound-v3/Comet.d.ts +0 -20
  14. package/dist/abis/compound-v3/Comet.d.ts.map +1 -1
  15. package/dist/abis/morpho/lens.d.ts +127 -15
  16. package/dist/abis/morpho/lens.d.ts.map +1 -1
  17. package/dist/abis/multicall/Multicall.d.ts.map +1 -1
  18. package/dist/abis/oracle/ChainLinkAggregator.d.ts +5 -223
  19. package/dist/abis/oracle/ChainLinkAggregator.d.ts.map +1 -1
  20. package/dist/abis/oracle/ProxyOracle.d.ts +26 -0
  21. package/dist/abis/oracle/ProxyOracle.d.ts.map +1 -0
  22. package/dist/abis/oracle/UniV3.d.ts +12 -0
  23. package/dist/abis/oracle/UniV3.d.ts.map +1 -0
  24. package/dist/assets/index.d.ts +3 -8
  25. package/dist/assets/index.d.ts.map +1 -1
  26. package/dist/assets/liquidityThresholds.d.ts +10 -0
  27. package/dist/assets/liquidityThresholds.d.ts.map +1 -1
  28. package/dist/ccip-NAPFCFLK.js +5 -0
  29. package/dist/ccip-NAPFCFLK.js.map +1 -0
  30. package/dist/chunk-BYTNVMX7.js +369 -0
  31. package/dist/chunk-BYTNVMX7.js.map +1 -0
  32. package/dist/chunk-JJRW5HVN.js +4133 -0
  33. package/dist/chunk-JJRW5HVN.js.map +1 -0
  34. package/dist/chunk-PR4QN5HX.js +39 -0
  35. package/dist/chunk-PR4QN5HX.js.map +1 -0
  36. package/dist/flash-liquidity/assets.d.ts +2 -2
  37. package/dist/flash-liquidity/assets.d.ts.map +1 -1
  38. package/dist/flash-liquidity/fetchLiquidity.d.ts +3 -3
  39. package/dist/flash-liquidity/fetchLiquidity.d.ts.map +1 -1
  40. package/dist/flash-liquidity/index.d.ts +2 -2
  41. package/dist/flash-liquidity/types.d.ts +1 -0
  42. package/dist/flash-liquidity/types.d.ts.map +1 -1
  43. package/dist/flash-liquidity/utils.d.ts +3 -2
  44. package/dist/flash-liquidity/utils.d.ts.map +1 -1
  45. package/dist/index.d.ts +9 -7
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +23868 -6
  48. package/dist/index.js.map +1 -0
  49. package/dist/lending/aave-v2-type/misc.d.ts +3 -9
  50. package/dist/lending/aave-v2-type/misc.d.ts.map +1 -1
  51. package/dist/lending/aave-v2-type/publicCallBuild.d.ts +3 -4
  52. package/dist/lending/aave-v2-type/publicCallBuild.d.ts.map +1 -1
  53. package/dist/lending/aave-v2-type/publicCallParse.d.ts +4 -5
  54. package/dist/lending/aave-v2-type/publicCallParse.d.ts.map +1 -1
  55. package/dist/lending/aave-v3-type/publicCallBuild.d.ts +3 -3
  56. package/dist/lending/aave-v3-type/publicCallBuild.d.ts.map +1 -1
  57. package/dist/lending/aave-v3-type/publicCallParse.d.ts +5 -6
  58. package/dist/lending/aave-v3-type/publicCallParse.d.ts.map +1 -1
  59. package/dist/lending/addresses/aave.d.ts.map +1 -1
  60. package/dist/lending/addresses/aaveV2.d.ts.map +1 -1
  61. package/dist/lending/addresses/compoundV2.d.ts +13 -0
  62. package/dist/lending/addresses/compoundV2.d.ts.map +1 -0
  63. package/dist/lending/addresses/compoundV3.d.ts +2 -4
  64. package/dist/lending/addresses/compoundV3.d.ts.map +1 -1
  65. package/dist/lending/addresses/meridian.d.ts +3 -0
  66. package/dist/lending/addresses/meridian.d.ts.map +1 -1
  67. package/dist/lending/addresses/takotako.d.ts.map +1 -1
  68. package/dist/lending/compound-v2/getters/moonwell.d.ts +32 -0
  69. package/dist/lending/compound-v2/getters/moonwell.d.ts.map +1 -0
  70. package/dist/lending/compound-v2/getters/types.d.ts +12 -0
  71. package/dist/lending/compound-v2/getters/types.d.ts.map +1 -0
  72. package/dist/lending/compound-v2/getters/venus.d.ts +86 -0
  73. package/dist/lending/compound-v2/getters/venus.d.ts.map +1 -0
  74. package/dist/lending/compound-v2/publicCallBuild.d.ts +2 -0
  75. package/dist/lending/compound-v2/publicCallBuild.d.ts.map +1 -0
  76. package/dist/lending/compound-v2/publicCallParse.d.ts +6 -0
  77. package/dist/lending/compound-v2/publicCallParse.d.ts.map +1 -0
  78. package/dist/lending/compound-v3/publicCallBuild.d.ts +1 -2
  79. package/dist/lending/compound-v3/publicCallBuild.d.ts.map +1 -1
  80. package/dist/lending/compound-v3/publicCallParse.d.ts +3 -4
  81. package/dist/lending/compound-v3/publicCallParse.d.ts.map +1 -1
  82. package/dist/lending/fetchLender.d.ts +5 -3
  83. package/dist/lending/fetchLender.d.ts.map +1 -1
  84. package/dist/lending/fetchLenderAll.d.ts +2 -2
  85. package/dist/lending/fetchLenderAll.d.ts.map +1 -1
  86. package/dist/lending/fetchLenderExt.d.ts +2 -2
  87. package/dist/lending/fetchLenderExt.d.ts.map +1 -1
  88. package/dist/lending/index.d.ts +6 -5
  89. package/dist/lending/index.d.ts.map +1 -1
  90. package/dist/lending/init/publicCallBuild.d.ts +1 -1
  91. package/dist/lending/init/publicCallBuild.d.ts.map +1 -1
  92. package/dist/lending/init/publicCallParse.d.ts +4 -4
  93. package/dist/lending/init/publicCallParse.d.ts.map +1 -1
  94. package/dist/lending/lista/getMarketsFromChain.d.ts +4 -0
  95. package/dist/lending/lista/getMarketsFromChain.d.ts.map +1 -0
  96. package/dist/lending/lista/getMarketsOnChain.d.ts +6 -0
  97. package/dist/lending/lista/getMarketsOnChain.d.ts.map +1 -0
  98. package/dist/lending/lista/publicCallBuild.d.ts +10 -0
  99. package/dist/lending/lista/publicCallBuild.d.ts.map +1 -0
  100. package/dist/lending/meta/index.d.ts +20 -0
  101. package/dist/lending/meta/index.d.ts.map +1 -0
  102. package/dist/lending/morpho/convertPublic.d.ts +2 -2
  103. package/dist/lending/morpho/convertPublic.d.ts.map +1 -1
  104. package/dist/lending/morpho/fetchPublic.d.ts.map +1 -1
  105. package/dist/lending/morpho/getMarketsFromChain.d.ts +4 -0
  106. package/dist/lending/morpho/getMarketsFromChain.d.ts.map +1 -0
  107. package/dist/lending/morpho/index.d.ts +3 -0
  108. package/dist/lending/morpho/index.d.ts.map +1 -0
  109. package/dist/lending/morpho/publicCallBuild.d.ts +12 -2
  110. package/dist/lending/morpho/publicCallBuild.d.ts.map +1 -1
  111. package/dist/lending/morpho/utils/evmParser.d.ts +48 -0
  112. package/dist/lending/morpho/utils/evmParser.d.ts.map +1 -0
  113. package/dist/lending/morpho/utils/mathLib.d.ts +125 -0
  114. package/dist/lending/morpho/utils/mathLib.d.ts.map +1 -0
  115. package/dist/lending/morpho/utils/parsers.d.ts +10 -0
  116. package/dist/lending/morpho/utils/parsers.d.ts.map +1 -0
  117. package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts +3 -3
  118. package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts.map +1 -1
  119. package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts +2 -2
  120. package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts.map +1 -1
  121. package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts +3 -3
  122. package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts.map +1 -1
  123. package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts +2 -2
  124. package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts.map +1 -1
  125. package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts +2 -2
  126. package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts.map +1 -1
  127. package/dist/lending/user-data/abis.d.ts +179 -34
  128. package/dist/lending/user-data/abis.d.ts.map +1 -1
  129. package/dist/lending/user-data/compound-v2/index.d.ts +3 -0
  130. package/dist/lending/user-data/compound-v2/index.d.ts.map +1 -0
  131. package/dist/lending/user-data/compound-v2/userCallBuild.d.ts +4 -0
  132. package/dist/lending/user-data/compound-v2/userCallBuild.d.ts.map +1 -0
  133. package/dist/lending/user-data/compound-v2/userCallParse.d.ts +8 -0
  134. package/dist/lending/user-data/compound-v2/userCallParse.d.ts.map +1 -0
  135. package/dist/lending/user-data/compound-v3/index.d.ts +2 -3
  136. package/dist/lending/user-data/compound-v3/index.d.ts.map +1 -1
  137. package/dist/lending/user-data/compound-v3/userCallBuild.d.ts +3 -3
  138. package/dist/lending/user-data/compound-v3/userCallBuild.d.ts.map +1 -1
  139. package/dist/lending/user-data/compound-v3/userCallParse.d.ts +2 -2
  140. package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -1
  141. package/dist/lending/user-data/fetchUserData.d.ts +114 -5
  142. package/dist/lending/user-data/fetchUserData.d.ts.map +1 -1
  143. package/dist/lending/user-data/index.d.ts +2 -2
  144. package/dist/lending/user-data/index.d.ts.map +1 -1
  145. package/dist/lending/user-data/init/userCallBuild.d.ts +2 -2
  146. package/dist/lending/user-data/init/userCallBuild.d.ts.map +1 -1
  147. package/dist/lending/user-data/init/userCallParse.d.ts +2 -2
  148. package/dist/lending/user-data/init/userCallParse.d.ts.map +1 -1
  149. package/dist/lending/user-data/morpho/decoder.d.ts +20 -1
  150. package/dist/lending/user-data/morpho/decoder.d.ts.map +1 -1
  151. package/dist/lending/user-data/morpho/index.d.ts +4 -0
  152. package/dist/lending/user-data/morpho/index.d.ts.map +1 -0
  153. package/dist/lending/user-data/morpho/morphoLib.d.ts.map +1 -1
  154. package/dist/lending/user-data/morpho/types.d.ts.map +1 -1
  155. package/dist/lending/user-data/morpho/userCallBuild.d.ts +6 -3
  156. package/dist/lending/user-data/morpho/userCallBuild.d.ts.map +1 -1
  157. package/dist/lending/user-data/morpho/userCallParse.d.ts +16 -2
  158. package/dist/lending/user-data/morpho/userCallParse.d.ts.map +1 -1
  159. package/dist/lending/user-data/utils/createGeneralUserState.d.ts +4 -1
  160. package/dist/lending/user-data/utils/createGeneralUserState.d.ts.map +1 -1
  161. package/dist/lending/user-data/utils/createMultiAccountStyleUserState.d.ts +1 -1
  162. package/dist/lending/user-data/utils/createMultiAccountStyleUserState.d.ts.map +1 -1
  163. package/dist/lending/user-data/utils/formatting/generalFormatters.d.ts +1 -1
  164. package/dist/lending/user-data/utils/formatting/generalFormatters.d.ts.map +1 -1
  165. package/dist/lending/user-data/utils/formatting/index.d.ts +1 -1
  166. package/dist/lending/user-data/utils/index.d.ts +4 -4
  167. package/dist/lending/user-data/utils/index.d.ts.map +1 -1
  168. package/dist/lending-pairs/computeLendingPairs.d.ts +10 -1
  169. package/dist/lending-pairs/computeLendingPairs.d.ts.map +1 -1
  170. package/dist/lending-pairs/index.d.ts +1 -1
  171. package/dist/lending-pairs/index.d.ts.map +1 -1
  172. package/dist/lending-pools/computeLenderDataFromPools.d.ts +10 -0
  173. package/dist/lending-pools/computeLenderDataFromPools.d.ts.map +1 -0
  174. package/dist/lending-pools/computeLendingPools.d.ts +23 -0
  175. package/dist/lending-pools/computeLendingPools.d.ts.map +1 -0
  176. package/dist/lending-pools/index.d.ts +3 -0
  177. package/dist/lending-pools/index.d.ts.map +1 -0
  178. package/dist/prices/defillama/index.d.ts.map +1 -1
  179. package/dist/prices/index.d.ts +3 -2
  180. package/dist/prices/index.d.ts.map +1 -1
  181. package/dist/prices/main-prices/addresses/api3.d.ts.map +1 -1
  182. package/dist/prices/main-prices/addresses/chainlink.d.ts +0 -7
  183. package/dist/prices/main-prices/addresses/chainlink.d.ts.map +1 -1
  184. package/dist/prices/main-prices/fetchOracleData.d.ts +9 -3
  185. package/dist/prices/main-prices/fetchOracleData.d.ts.map +1 -1
  186. package/dist/prices/main-prices/index.d.ts +1 -1
  187. package/dist/prices/main-prices/index.d.ts.map +1 -1
  188. package/dist/prices/pendle/fetchPendlePrices.d.ts +47 -0
  189. package/dist/prices/pendle/fetchPendlePrices.d.ts.map +1 -0
  190. package/dist/prices/pendle/index.d.ts +2 -0
  191. package/dist/prices/pendle/index.d.ts.map +1 -0
  192. package/dist/secp256k1-XP7IUONI.js +2208 -0
  193. package/dist/secp256k1-XP7IUONI.js.map +1 -0
  194. package/dist/types/apiReturnType.d.ts +4 -4
  195. package/dist/types/apiReturnType.d.ts.map +1 -1
  196. package/dist/{lending/types/index.d.ts → types/general.d.ts} +1 -1
  197. package/dist/types/general.d.ts.map +1 -0
  198. package/dist/types/index.d.ts +5 -41
  199. package/dist/types/index.d.ts.map +1 -1
  200. package/dist/{lending/aave-v2-type/types.d.ts → types/lender/aave-v2-types.d.ts} +5 -9
  201. package/dist/types/lender/aave-v2-types.d.ts.map +1 -0
  202. package/dist/{lending/aave-v3-type/types.d.ts → types/lender/aave-v3-types.d.ts} +5 -9
  203. package/dist/types/lender/aave-v3-types.d.ts.map +1 -0
  204. package/dist/types/lender/compound-v2-types.d.ts +41 -0
  205. package/dist/types/lender/compound-v2-types.d.ts.map +1 -0
  206. package/dist/{lending/compound-v3/types.d.ts → types/lender/compound-v3-types.d.ts} +5 -9
  207. package/dist/types/lender/compound-v3-types.d.ts.map +1 -0
  208. package/dist/{lending/init/types.d.ts → types/lender/init-types.d.ts} +5 -9
  209. package/dist/types/lender/init-types.d.ts.map +1 -0
  210. package/dist/{lending/morpho/types.d.ts → types/lender/morpho-types.d.ts} +12 -2
  211. package/dist/types/lender/morpho-types.d.ts.map +1 -0
  212. package/dist/{lending/user-data/types.d.ts → types/lenderTypes.d.ts} +30 -20
  213. package/dist/types/lenderTypes.d.ts.map +1 -0
  214. package/dist/types/misc.d.ts +47 -0
  215. package/dist/types/misc.d.ts.map +1 -0
  216. package/dist/types/providers.d.ts +1 -9
  217. package/dist/types/providers.d.ts.map +1 -1
  218. package/dist/utils/constants.d.ts +0 -23
  219. package/dist/utils/constants.d.ts.map +1 -1
  220. package/dist/utils/index.d.ts +6 -7
  221. package/dist/utils/index.d.ts.map +1 -1
  222. package/dist/utils/multicall.d.ts +2 -1
  223. package/dist/utils/multicall.d.ts.map +1 -1
  224. package/dist/utils/parsing.d.ts +6 -3
  225. package/dist/utils/parsing.d.ts.map +1 -1
  226. package/dist/yields/index.d.ts.map +1 -1
  227. package/dist/yields/yieldTypes.d.ts +76 -0
  228. package/dist/yields/yieldTypes.d.ts.map +1 -0
  229. package/package.json +16 -8
  230. package/dist/abis/aave/AToken.d.ts +0 -526
  231. package/dist/abis/aave/AToken.d.ts.map +0 -1
  232. package/dist/abis/aave/AToken.js +0 -686
  233. package/dist/abis/aave/AaveOracle.js +0 -66
  234. package/dist/abis/aave/AavePoolAndDataProvider.js +0 -2080
  235. package/dist/abis/aave/AavePoolV3.d.ts +0 -819
  236. package/dist/abis/aave/AavePoolV3.js +0 -1060
  237. package/dist/abis/aave/AavePoolV3Upgraded.js +0 -1474
  238. package/dist/abis/aave/AaveV3ProtocolDataProvider.js +0 -553
  239. package/dist/abis/aave/VariableDebtToken.js +0 -820
  240. package/dist/abis/aave-v2/ProtocolDataProvider.js +0 -312
  241. package/dist/abis/aave-v2/YLDR.js +0 -199
  242. package/dist/abis/aave-v3/AavePoolDataProviderLegacy.js +0 -460
  243. package/dist/abis/aave-v3/AavePoolLegacy.js +0 -1060
  244. package/dist/abis/aave-v3/YLDR.js +0 -46
  245. package/dist/abis/aurelius/Rewarder.js +0 -118
  246. package/dist/abis/compound-v2/CompoundLens.js +0 -851
  247. package/dist/abis/compound-v2/Comptroller.js +0 -2104
  248. package/dist/abis/compound-v3/Comet.js +0 -1829
  249. package/dist/abis/compound-v3/CometExt.js +0 -536
  250. package/dist/abis/compound-v3/CometLens.js +0 -194
  251. package/dist/abis/compound-v3/CometRewards.js +0 -330
  252. package/dist/abis/compound-v3/IrGetter.js +0 -31
  253. package/dist/abis/flashloan-united/flashAbi.js +0 -72
  254. package/dist/abis/init/Core.d.ts +0 -523
  255. package/dist/abis/init/Core.d.ts.map +0 -1
  256. package/dist/abis/init/Core.js +0 -681
  257. package/dist/abis/init/InitFlashAggregator.d.ts +0 -624
  258. package/dist/abis/init/InitFlashAggregator.d.ts.map +0 -1
  259. package/dist/abis/init/InitFlashAggregator.js +0 -795
  260. package/dist/abis/init/InitLens.js +0 -203
  261. package/dist/abis/init/PosManager.d.ts +0 -802
  262. package/dist/abis/init/PosManager.d.ts.map +0 -1
  263. package/dist/abis/init/PosManager.js +0 -1055
  264. package/dist/abis/lendle/IncentivesController.js +0 -525
  265. package/dist/abis/lendle/MultiFeeDistribution.js +0 -820
  266. package/dist/abis/meridian/PullRewardsIncentivesController.js +0 -98
  267. package/dist/abis/morpho/blue.js +0 -99
  268. package/dist/abis/morpho/lens.js +0 -31
  269. package/dist/abis/multicall/Multicall.js +0 -101
  270. package/dist/abis/oracle/AaveOracle.js +0 -66
  271. package/dist/abis/oracle/Api3Oracle.js +0 -62
  272. package/dist/abis/oracle/ChainLinkAggregator.js +0 -480
  273. package/dist/abis/oracle/RWADynamicOracle.js +0 -15
  274. package/dist/abis/oracle/UniswapV2Pair.js +0 -659
  275. package/dist/abis/uniswap/FeeOnTransferDetector.d.ts +0 -102
  276. package/dist/abis/uniswap/FeeOnTransferDetector.d.ts.map +0 -1
  277. package/dist/abis/uniswap/FeeOnTransferDetector.js +0 -133
  278. package/dist/abis/uniswap/UniswapV2Pair.d.ts +0 -513
  279. package/dist/abis/uniswap/UniswapV2Pair.d.ts.map +0 -1
  280. package/dist/abis/uniswap/UniswapV2Pair.js +0 -659
  281. package/dist/assets/index.js +0 -54
  282. package/dist/assets/liquidityThresholds.js +0 -51
  283. package/dist/flash-liquidity/assets.js +0 -45
  284. package/dist/flash-liquidity/fetchLiquidity.js +0 -235
  285. package/dist/flash-liquidity/index.js +0 -2
  286. package/dist/flash-liquidity/types.js +0 -8
  287. package/dist/flash-liquidity/utils.js +0 -17
  288. package/dist/lending/aave-v2-type/misc.js +0 -8
  289. package/dist/lending/aave-v2-type/publicCallBuild.js +0 -102
  290. package/dist/lending/aave-v2-type/publicCallParse.js +0 -257
  291. package/dist/lending/aave-v2-type/types.d.ts.map +0 -1
  292. package/dist/lending/aave-v2-type/types.js +0 -46
  293. package/dist/lending/aave-v3-type/publicCallBuild.js +0 -123
  294. package/dist/lending/aave-v3-type/publicCallParse.js +0 -307
  295. package/dist/lending/aave-v3-type/types.d.ts.map +0 -1
  296. package/dist/lending/aave-v3-type/types.js +0 -98
  297. package/dist/lending/addresses/aave.js +0 -10
  298. package/dist/lending/addresses/aaveV2.js +0 -6
  299. package/dist/lending/addresses/aurelius.js +0 -12
  300. package/dist/lending/addresses/compoundV3.js +0 -36
  301. package/dist/lending/addresses/contracts.d.ts +0 -5
  302. package/dist/lending/addresses/contracts.d.ts.map +0 -1
  303. package/dist/lending/addresses/contracts.js +0 -49
  304. package/dist/lending/addresses/hana.js +0 -6
  305. package/dist/lending/addresses/index.d.ts +0 -2
  306. package/dist/lending/addresses/index.d.ts.map +0 -1
  307. package/dist/lending/addresses/index.js +0 -1
  308. package/dist/lending/addresses/init.js +0 -33
  309. package/dist/lending/addresses/lendle.js +0 -12
  310. package/dist/lending/addresses/meridian.js +0 -12
  311. package/dist/lending/addresses/takotako.js +0 -12
  312. package/dist/lending/compound-v3/publicCallBuild.js +0 -63
  313. package/dist/lending/compound-v3/publicCallParse.js +0 -135
  314. package/dist/lending/compound-v3/types.d.ts.map +0 -1
  315. package/dist/lending/compound-v3/types.js +0 -6
  316. package/dist/lending/fetchLender.js +0 -104
  317. package/dist/lending/fetchLenderAll.js +0 -12
  318. package/dist/lending/fetchLenderExt.js +0 -42
  319. package/dist/lending/index.js +0 -5
  320. package/dist/lending/init/publicCallBuild.js +0 -21
  321. package/dist/lending/init/publicCallParse.js +0 -76
  322. package/dist/lending/init/types.d.ts.map +0 -1
  323. package/dist/lending/init/types.js +0 -6
  324. package/dist/lending/morpho/convertPublic.js +0 -119
  325. package/dist/lending/morpho/fetchPublic.js +0 -72
  326. package/dist/lending/morpho/publicCallBuild.js +0 -6
  327. package/dist/lending/morpho/types.d.ts.map +0 -1
  328. package/dist/lending/morpho/types.js +0 -1
  329. package/dist/lending/types/index.d.ts.map +0 -1
  330. package/dist/lending/types/index.js +0 -1
  331. package/dist/lending/user-data/aave-v2-type/userCallBuild.js +0 -87
  332. package/dist/lending/user-data/aave-v2-type/userCallParse.js +0 -239
  333. package/dist/lending/user-data/aave-v3-type/userCallBuild.js +0 -26
  334. package/dist/lending/user-data/aave-v3-type/userCallParse.js +0 -84
  335. package/dist/lending/user-data/aave-v3-type/userCallParseYldr.js +0 -81
  336. package/dist/lending/user-data/abis.js +0 -56
  337. package/dist/lending/user-data/compound-v3/addresses.d.ts +0 -10
  338. package/dist/lending/user-data/compound-v3/addresses.d.ts.map +0 -1
  339. package/dist/lending/user-data/compound-v3/addresses.js +0 -33
  340. package/dist/lending/user-data/compound-v3/index.js +0 -3
  341. package/dist/lending/user-data/compound-v3/userCallBuild.js +0 -44
  342. package/dist/lending/user-data/compound-v3/userCallParse.js +0 -103
  343. package/dist/lending/user-data/fetchUserData.js +0 -100
  344. package/dist/lending/user-data/index.js +0 -2
  345. package/dist/lending/user-data/init/userCallBuild.js +0 -20
  346. package/dist/lending/user-data/init/userCallParse.js +0 -88
  347. package/dist/lending/user-data/morpho/decoder.js +0 -52
  348. package/dist/lending/user-data/morpho/morphoLib.js +0 -21
  349. package/dist/lending/user-data/morpho/types.js +0 -13
  350. package/dist/lending/user-data/morpho/userCallBuild.js +0 -42
  351. package/dist/lending/user-data/morpho/userCallParse.js +0 -102
  352. package/dist/lending/user-data/morpho/userCallParseNoDeploy.d.ts +0 -11
  353. package/dist/lending/user-data/morpho/userCallParseNoDeploy.d.ts.map +0 -1
  354. package/dist/lending/user-data/morpho/userCallParseNoDeploy.js +0 -112
  355. package/dist/lending/user-data/types.d.ts.map +0 -1
  356. package/dist/lending/user-data/types.js +0 -38
  357. package/dist/lending/user-data/utils/createGeneralUserState.js +0 -105
  358. package/dist/lending/user-data/utils/createMultiAccountStyleUserState.js +0 -96
  359. package/dist/lending/user-data/utils/formatting/generalFormatters.js +0 -109
  360. package/dist/lending/user-data/utils/formatting/index.js +0 -1
  361. package/dist/lending/user-data/utils/index.js +0 -17
  362. package/dist/lending-pairs/computeLendingPairs.js +0 -259
  363. package/dist/lending-pairs/index.js +0 -1
  364. package/dist/prices/defillama/index.js +0 -269
  365. package/dist/prices/index.js +0 -2
  366. package/dist/prices/main-prices/addresses/aaveOracles.d.ts +0 -278
  367. package/dist/prices/main-prices/addresses/aaveOracles.d.ts.map +0 -1
  368. package/dist/prices/main-prices/addresses/aaveOracles.js +0 -277
  369. package/dist/prices/main-prices/addresses/api3.js +0 -9
  370. package/dist/prices/main-prices/addresses/chainlink.js +0 -744
  371. package/dist/prices/main-prices/fetchOracleData.js +0 -348
  372. package/dist/prices/main-prices/index.js +0 -1
  373. package/dist/types/apiReturnType.js +0 -1
  374. package/dist/types/index.js +0 -10
  375. package/dist/types/providers.js +0 -1
  376. package/dist/utils/constants.js +0 -97
  377. package/dist/utils/index.js +0 -106
  378. package/dist/utils/multicall.js +0 -30
  379. package/dist/utils/parsing.js +0 -66
  380. package/dist/yields/index.js +0 -164
  381. package/src/abis/aave/AToken.ts +0 -686
  382. package/src/abis/aave/AaveOracle.ts +0 -66
  383. package/src/abis/aave/AavePoolAndDataProvider.ts +0 -2080
  384. package/src/abis/aave/AavePoolV3.ts +0 -1060
  385. package/src/abis/aave/AavePoolV3Upgraded.ts +0 -1474
  386. package/src/abis/aave/AaveV3ProtocolDataProvider.ts +0 -553
  387. package/src/abis/aave/VariableDebtToken.ts +0 -820
  388. package/src/abis/aave-v2/ProtocolDataProvider.ts +0 -312
  389. package/src/abis/aave-v2/YLDR.ts +0 -199
  390. package/src/abis/aave-v3/AavePoolDataProviderLegacy.ts +0 -459
  391. package/src/abis/aave-v3/AavePoolLegacy.ts +0 -1060
  392. package/src/abis/aave-v3/YLDR.ts +0 -46
  393. package/src/abis/aurelius/Rewarder.ts +0 -118
  394. package/src/abis/compound-v2/CompoundLens.ts +0 -851
  395. package/src/abis/compound-v2/Comptroller.ts +0 -2104
  396. package/src/abis/compound-v3/Comet.ts +0 -1829
  397. package/src/abis/compound-v3/CometExt.ts +0 -536
  398. package/src/abis/compound-v3/CometLens.ts +0 -194
  399. package/src/abis/compound-v3/CometRewards.ts +0 -330
  400. package/src/abis/compound-v3/IrGetter.ts +0 -31
  401. package/src/abis/flashloan-united/flashAbi.ts +0 -72
  402. package/src/abis/init/Core.ts +0 -681
  403. package/src/abis/init/InitFlashAggregator.ts +0 -795
  404. package/src/abis/init/InitLens.ts +0 -203
  405. package/src/abis/init/PosManager.ts +0 -1055
  406. package/src/abis/lendle/IncentivesController.ts +0 -525
  407. package/src/abis/lendle/MultiFeeDistribution.ts +0 -820
  408. package/src/abis/meridian/PullRewardsIncentivesController.ts +0 -98
  409. package/src/abis/morpho/blue.ts +0 -99
  410. package/src/abis/morpho/lens.ts +0 -31
  411. package/src/abis/multicall/Multicall.ts +0 -101
  412. package/src/abis/oracle/AaveOracle.ts +0 -66
  413. package/src/abis/oracle/Api3Oracle.ts +0 -62
  414. package/src/abis/oracle/ChainLinkAggregator.ts +0 -480
  415. package/src/abis/oracle/RWADynamicOracle.ts +0 -15
  416. package/src/abis/oracle/UniswapV2Pair.ts +0 -659
  417. package/src/abis/uniswap/FeeOnTransferDetector.ts +0 -133
  418. package/src/abis/uniswap/UniswapV2Pair.ts +0 -659
  419. package/src/assets/index.ts +0 -101
  420. package/src/assets/liquidityThresholds.ts +0 -83
  421. package/src/flash-liquidity/assets.ts +0 -61
  422. package/src/flash-liquidity/fetchLiquidity.ts +0 -300
  423. package/src/flash-liquidity/index.ts +0 -2
  424. package/src/flash-liquidity/types.ts +0 -20
  425. package/src/flash-liquidity/utils.ts +0 -22
  426. package/src/index.ts +0 -7
  427. package/src/lending/aave-v2-type/misc.ts +0 -9
  428. package/src/lending/aave-v2-type/publicCallBuild.ts +0 -105
  429. package/src/lending/aave-v2-type/publicCallParse.ts +0 -305
  430. package/src/lending/aave-v2-type/types.ts +0 -100
  431. package/src/lending/aave-v3-type/publicCallBuild.ts +0 -148
  432. package/src/lending/aave-v3-type/publicCallParse.ts +0 -378
  433. package/src/lending/aave-v3-type/types.ts +0 -191
  434. package/src/lending/addresses/aave.ts +0 -12
  435. package/src/lending/addresses/aaveV2.ts +0 -8
  436. package/src/lending/addresses/aurelius.ts +0 -13
  437. package/src/lending/addresses/compoundV3.ts +0 -56
  438. package/src/lending/addresses/contracts.ts +0 -54
  439. package/src/lending/addresses/hana.ts +0 -7
  440. package/src/lending/addresses/index.ts +0 -1
  441. package/src/lending/addresses/init.ts +0 -37
  442. package/src/lending/addresses/lendle.ts +0 -13
  443. package/src/lending/addresses/meridian.ts +0 -13
  444. package/src/lending/addresses/takotako.ts +0 -14
  445. package/src/lending/compound-v3/publicCallBuild.ts +0 -74
  446. package/src/lending/compound-v3/publicCallParse.ts +0 -202
  447. package/src/lending/compound-v3/types.ts +0 -45
  448. package/src/lending/fetchLender.ts +0 -181
  449. package/src/lending/fetchLenderAll.ts +0 -30
  450. package/src/lending/fetchLenderExt.ts +0 -82
  451. package/src/lending/index.ts +0 -5
  452. package/src/lending/init/publicCallBuild.ts +0 -29
  453. package/src/lending/init/publicCallParse.ts +0 -93
  454. package/src/lending/init/types.ts +0 -53
  455. package/src/lending/morpho/convertPublic.ts +0 -153
  456. package/src/lending/morpho/fetchPublic.ts +0 -80
  457. package/src/lending/morpho/publicCallBuild.ts +0 -11
  458. package/src/lending/morpho/types.ts +0 -129
  459. package/src/lending/types/index.ts +0 -16
  460. package/src/lending/user-data/aave-v2-type/userCallBuild.ts +0 -118
  461. package/src/lending/user-data/aave-v2-type/userCallParse.ts +0 -343
  462. package/src/lending/user-data/aave-v3-type/userCallBuild.ts +0 -42
  463. package/src/lending/user-data/aave-v3-type/userCallParse.ts +0 -126
  464. package/src/lending/user-data/aave-v3-type/userCallParseYldr.ts +0 -124
  465. package/src/lending/user-data/abis.ts +0 -53
  466. package/src/lending/user-data/compound-v3/addresses.ts +0 -59
  467. package/src/lending/user-data/compound-v3/index.ts +0 -3
  468. package/src/lending/user-data/compound-v3/userCallBuild.ts +0 -53
  469. package/src/lending/user-data/compound-v3/userCallParse.ts +0 -126
  470. package/src/lending/user-data/fetchUserData.ts +0 -205
  471. package/src/lending/user-data/index.ts +0 -2
  472. package/src/lending/user-data/init/userCallBuild.ts +0 -26
  473. package/src/lending/user-data/init/userCallParse.ts +0 -115
  474. package/src/lending/user-data/morpho/decoder.ts +0 -71
  475. package/src/lending/user-data/morpho/morphoLib.ts +0 -61
  476. package/src/lending/user-data/morpho/types.ts +0 -12
  477. package/src/lending/user-data/morpho/userCallBuild.ts +0 -63
  478. package/src/lending/user-data/morpho/userCallParse.ts +0 -150
  479. package/src/lending/user-data/morpho/userCallParseNoDeploy.ts +0 -168
  480. package/src/lending/user-data/types.ts +0 -300
  481. package/src/lending/user-data/utils/createGeneralUserState.ts +0 -142
  482. package/src/lending/user-data/utils/createMultiAccountStyleUserState.ts +0 -113
  483. package/src/lending/user-data/utils/formatting/generalFormatters.ts +0 -121
  484. package/src/lending/user-data/utils/formatting/index.ts +0 -1
  485. package/src/lending/user-data/utils/index.ts +0 -19
  486. package/src/lending-pairs/computeLendingPairs.ts +0 -445
  487. package/src/lending-pairs/index.ts +0 -1
  488. package/src/prices/defillama/index.ts +0 -306
  489. package/src/prices/index.ts +0 -2
  490. package/src/prices/main-prices/addresses/aaveOracles.ts +0 -278
  491. package/src/prices/main-prices/addresses/api3.ts +0 -10
  492. package/src/prices/main-prices/addresses/chainlink.ts +0 -750
  493. package/src/prices/main-prices/fetchOracleData.ts +0 -496
  494. package/src/prices/main-prices/index.ts +0 -1
  495. package/src/types/apiReturnType.ts +0 -80
  496. package/src/types/index.ts +0 -38
  497. package/src/types/providers.ts +0 -26
  498. package/src/utils/constants.ts +0 -100
  499. package/src/utils/index.ts +0 -139
  500. package/src/utils/multicall.ts +0 -53
  501. package/src/utils/parsing.ts +0 -80
  502. package/src/yields/index.ts +0 -207
  503. package/test/index.test.ts +0 -112
  504. package/test/lenderData.test.ts +0 -13320
  505. package/test/mainPrices.test.ts +0 -23
  506. package/test/morpho.test.ts +0 -20
  507. package/test/userDataMorpho.test.ts +0 -79
  508. package/test/userdata.test.ts +0 -261
  509. package/test/utils.ts +0 -13
  510. package/tsconfig.json +0 -28
@@ -1,115 +0,0 @@
1
- import { Lender } from "@1delta/asset-registry"
2
- import { InitUserReserveResponse } from "../types"
3
- import { getInitFlashAggregatorAddress } from "./userCallBuild"
4
- import { InitGetUserPositionDataIndexes } from "../../init/types"
5
- import { getLenderAssets } from "../../../utils"
6
- import { getAssetMeta, toOracleKey } from "../../../assets"
7
- import { parseRawAmount } from "../../../utils/parsing"
8
- import { createMultiAccountTypeUserState } from "../utils/createMultiAccountStyleUserState"
9
-
10
- export const getInitUserDataConverter = (
11
- lender: Lender,
12
- chainId: string,
13
- account: string,
14
- prices: { [asset: string]: number },
15
- pricesHist: { [asset: string]: number },
16
- lenderData: any
17
- ): [(data: any[]) => InitUserReserveResponse | undefined, number] => {
18
- const validOwner = account.toLowerCase()
19
- const brokerAddress = getInitFlashAggregatorAddress(chainId) ?? ''
20
- const expectedNumberOfCalls = 1
21
- return [
22
- (_data: any[]) => {
23
- if (_data.length !== expectedNumberOfCalls) {
24
- return undefined
25
- }
26
- const [data] = _data
27
- // filter for owner
28
- const indexes = data[InitGetUserPositionDataIndexes.posMeta].map(
29
- (e: any, i: number) => { return { e, i } }
30
- ).filter((a: any) => a.e.owner.toLowerCase() === validOwner).map((a: any) => a.i)
31
- const assets = getLenderAssets(chainId, lender)
32
-
33
- let histData: any = {}
34
-
35
- // map data
36
- const result: any = Object.assign(
37
- {},
38
- ...indexes.map((index: any) => {
39
- const entry = data[InitGetUserPositionDataIndexes.posMeta][index]
40
- const mode = entry.mode
41
- const id = entry.posId.toString()
42
- const collatData = Object.assign({}, ...data[InitGetUserPositionDataIndexes.collaterals][index].map((c: any) => {
43
- const asset = c.underlying.toLowerCase()
44
- const decimals = getAssetMeta(chainId, asset)?.decimals ?? 18
45
- const depositsRaw = c.amount.toString()
46
- return { [asset]: { deposits: parseRawAmount(depositsRaw, decimals), depositsRaw } }
47
- })
48
- )
49
- const debtData = Object.assign({}, ...data[InitGetUserPositionDataIndexes.debts][index].map((c: any) => {
50
- const asset = c.underlying.toLowerCase()
51
- const decimals = getAssetMeta(chainId, asset)?.decimals ?? 18
52
- return { [asset]: { debt: parseRawAmount(c.amount.toString(), decimals) } }
53
- })
54
- )
55
- // sub account to asset data
56
- return {
57
- [id]: {
58
- mode,
59
- ...Object.assign({}, ...assets.map(a => {
60
- const ams = toOracleKey(getAssetMeta(chainId, a)?.assetGroup!)
61
- const price = prices[ams] ?? 1
62
- const priceHist = pricesHist?.[ams] ?? price
63
- if (!histData[id]) histData[id] = {
64
- totalDebt24h: 0,
65
- totalDeposits24h: 0,
66
- }
67
- const debt = debtData[a]?.debt ?? 0
68
- const deposits = collatData[a]?.deposits ?? 0
69
- const depositsRaw = collatData[a]?.depositsRaw ?? "0"
70
-
71
- histData[id].totalDebt24h += Number(debt) * priceHist
72
- histData[id].totalDeposits24h += Number(deposits) * priceHist
73
-
74
- // asset to data
75
- return {
76
- [a]: {
77
- poolId: a,
78
- underlying: a,
79
- deposits: deposits,
80
- depositsRaw,
81
- debt: debt,
82
- debtStable: "0",
83
- debtStableUSD: 0,
84
- depositsUSD: price * Number(deposits),
85
- debtUSD: price * Number(debt),
86
- collateralActive: true,
87
- isAllowed: entry.approved.toLowerCase() === brokerAddress.toLowerCase(),
88
- }
89
- }
90
- })
91
- )
92
- }
93
- }
94
- })
95
- )
96
-
97
- const payload = {
98
- chainId,
99
- lendingPositions: result,
100
- account
101
- }
102
-
103
- const userState = createMultiAccountTypeUserState(
104
- { ...payload, assets },
105
- lenderData,
106
- histData
107
- )
108
- return {
109
- ...payload,
110
- ...userState
111
- } as any
112
- },
113
- expectedNumberOfCalls,
114
- ]
115
- }
@@ -1,71 +0,0 @@
1
- export interface BalanceInfo {
2
- index: number; // uint16 (2 bytes)
3
- supplyShares: bigint; // uint256 (32 bytes)
4
- borrowShares: bigint; // uint128 (16 bytes)
5
- supplyAssets: bigint; // uint256 (32 bytes)
6
- borrowAssets: bigint; // uint256 (32 bytes)
7
- collateral: bigint; // uint128 (16 bytes)
8
- }
9
-
10
- const WORD = 32;
11
- const HALF = 16;
12
-
13
- /** Read `len` bytes at `off` as a big‐endian BigInt. */
14
- function readBigIntBE(buf: Uint8Array, off: number, len: number): bigint {
15
- let v = 0n;
16
- for (let i = 0; i < len; i++) {
17
- v = (v << 8n) | BigInt(buf[off + i]);
18
- }
19
- return v;
20
- }
21
-
22
- /**
23
- * Decode:
24
- * [ uint256 count (32 bytes) ]
25
- * then for each of `count` records:
26
- * uint16 index (2 bytes),
27
- * uint256 supplyShares (32 bytes),
28
- * uint128 borrowShares (16 bytes),
29
- * uint256 supplyAssets (32 bytes),
30
- * uint256 borrowAssets (32 bytes),
31
- * uint128 collateral (16 bytes)
32
- */
33
- export function decodePackedDataset(hex: string): BalanceInfo[] {
34
- if (hex.startsWith("0x")) hex = hex.slice(2);
35
- const buf = Uint8Array.from(hex.match(/.{1,2}/g)!.map((b) => parseInt(b, 16)));
36
-
37
- // 1) count (uint256)
38
- const count = Number(readBigIntBE(buf, 0, 2));
39
- const out: BalanceInfo[] = [];
40
-
41
- let off = 2;
42
- for (let i = 0; i < count; i++) {
43
- // 2) index (uint16)
44
- const index = Number(readBigIntBE(buf, off, 2));
45
- off += 2;
46
-
47
- // 3) supplyShares (uint256)
48
- const supplyShares = readBigIntBE(buf, off, WORD);
49
- off += WORD;
50
-
51
- // 4) borrowShares (uint128)
52
- const borrowShares = readBigIntBE(buf, off, HALF);
53
- off += HALF;
54
-
55
- // 5) supplyAssets (uint256)
56
- const supplyAssets = readBigIntBE(buf, off, WORD);
57
- off += WORD;
58
-
59
- // 6) borrowAssets (uint256)
60
- const borrowAssets = readBigIntBE(buf, off, WORD);
61
- off += WORD;
62
-
63
- // 7) collateral (uint128)
64
- const collateral = readBigIntBE(buf, off, HALF);
65
- off += HALF;
66
-
67
- out.push({ index, supplyShares, borrowShares, supplyAssets, borrowAssets, collateral });
68
- }
69
-
70
- return out;
71
- }
@@ -1,61 +0,0 @@
1
- // Constants
2
- const VIRTUAL_SHARES = 10n ** 6n;
3
- const VIRTUAL_ASSETS = 1n;
4
-
5
-
6
- function mulDivDown(x: bigint, y: bigint, d: bigint): bigint {
7
- return (x * y) / d;
8
- }
9
-
10
- function mulDivUp(x: bigint, y: bigint, d: bigint): bigint {
11
- return (x * y + (d - 1n)) / d;
12
- }
13
-
14
-
15
- export function toSharesDown(
16
- assets: bigint,
17
- totalAssets: bigint,
18
- totalShares: bigint
19
- ): bigint {
20
- return mulDivDown(
21
- assets,
22
- totalShares + VIRTUAL_SHARES,
23
- totalAssets + VIRTUAL_ASSETS
24
- );
25
- }
26
-
27
- export function toAssetsDown(
28
- shares: bigint,
29
- totalAssets: bigint,
30
- totalShares: bigint
31
- ): bigint {
32
- return mulDivDown(
33
- shares,
34
- totalAssets + VIRTUAL_ASSETS,
35
- totalShares + VIRTUAL_SHARES
36
- );
37
- }
38
-
39
- export function toSharesUp(
40
- assets: bigint,
41
- totalAssets: bigint,
42
- totalShares: bigint
43
- ): bigint {
44
- return mulDivUp(
45
- assets,
46
- totalShares + VIRTUAL_SHARES,
47
- totalAssets + VIRTUAL_ASSETS
48
- );
49
- }
50
-
51
- export function toAssetsUp(
52
- shares: bigint,
53
- totalAssets: bigint,
54
- totalShares: bigint
55
- ): bigint {
56
- return mulDivUp(
57
- shares,
58
- totalAssets + VIRTUAL_ASSETS,
59
- totalShares + VIRTUAL_SHARES
60
- );
61
- }
@@ -1,12 +0,0 @@
1
- export enum MorphoPositionParams {
2
- supplyShares = 0,
3
- borrowShares,
4
- collateral,
5
- }
6
-
7
- export enum MorphoMarketParams {
8
- totalSupplyAssets = 0,
9
- totalSupplyShares,
10
- totalBorrowAssets,
11
- totalBorrowShares,
12
- }
@@ -1,63 +0,0 @@
1
- import { Chain, Lender, MORPHO_BLUE_POOL_DATA } from '@1delta/asset-registry'
2
- import { Call } from '../../../utils/multicall'
3
- import { chunk } from 'lodash'
4
-
5
- const MORPHO_LENS: { [c: string]: string } = {
6
- [Chain.BASE]: '0x98542B95B44a4732EffB1F4F01A696F1546236d3',
7
- [Chain.POLYGON_MAINNET]: '0x105eb87D2b3127f43B1b4C0F125dbEb0EDF3d6C6',
8
- [Chain.OP_MAINNET]: '0xd184c5315B728c1C990f59dDD275c8155f8e255c',
9
- [Chain.ARBITRUM_ONE]: '0xF64F862Fb7D687411585e06C08711B612e156530',
10
- }
11
-
12
- const getBaseMorphoCalls = (
13
- lender: string,
14
- chainId: string,
15
- account: string,
16
- marketsToQuery: string[],
17
- ) => {
18
- return marketsToQuery.flatMap(id => [
19
- {
20
- // @ts-ignore
21
- address: MORPHO_BLUE_POOL_DATA[lender][chainId],
22
- name: 'position',
23
- params: ["0x" + id.split("_")[1], account],
24
- },
25
- {
26
- // @ts-ignore
27
- address: MORPHO_BLUE_POOL_DATA[lender][chainId],
28
- name: 'market',
29
- params: ["0x" + id.split("_")[1]],
30
- },
31
- ])
32
- }
33
-
34
- export const buildMorphoUserCall = (
35
- chainId: string,
36
- account: string,
37
- lender: Lender,
38
- marketsToQuery: string[],
39
- ): Call[] => {
40
- const calls = getBaseMorphoCalls(lender, chainId, account, marketsToQuery)
41
-
42
- return calls
43
- }
44
-
45
- export const buildMorphoUserCallWithLens = (
46
- chainId: string,
47
- account: string,
48
- lender: Lender,
49
- marketsToQuery: string[],
50
- ): Call[] => {
51
- // 100 per call
52
- const marketSlices = chunk(marketsToQuery, 100)
53
- return marketSlices.flatMap((marketsInChunk) => ({
54
- address: MORPHO_LENS[chainId],
55
- name: 'getUserDataCompact',
56
- params: [
57
- marketsInChunk.map(a=> a.replace("MORPHO_BLUE_", "0x")),
58
- account,
59
- // @ts-ignore
60
- MORPHO_BLUE_POOL_DATA[lender][chainId],
61
- ],
62
- }))
63
- }
@@ -1,150 +0,0 @@
1
- import { Lender } from "@1delta/asset-registry"
2
- import { getAssetMeta, toGenericPriceKey, toOracleKey } from "../../../assets"
3
- import { MorphoUserReserveResponse } from "../types"
4
- import { createBaseTypeUserState } from "../utils"
5
- import { parseRawAmount } from "../../../utils/parsing"
6
- import { MorphoMarket } from "../../morpho/types"
7
- import { BalanceInfo, decodePackedDataset } from "./decoder"
8
-
9
- export const getMorphoUserDataConverterWithlens = (
10
- lender: Lender,
11
- chainId: string,
12
- account: string,
13
- markets: string[],
14
- prices: { [asset: string]: number },
15
- pricesHist: { [asset: string]: number },
16
- lenderData: any
17
- ): [(data: any[]) => { [market: string]: MorphoUserReserveResponse } | undefined, number] => {
18
-
19
- const expectedNumberOfCalls = markets.length * 2
20
- return [
21
- (data: any[]) => {
22
- // chunksizes depend on markets
23
- const slices = Math.ceil(markets.length / 100)
24
- if (data.length !== slices) {
25
- return undefined
26
- }
27
- // de-chunk the calldata
28
- const returnDatas = data.flatMap(d => decodePackedDataset(d))
29
-
30
- let datas: { [market: string]: MorphoUserReserveResponse } = {}
31
- for (let i = 0; i < returnDatas.length; i++) {
32
-
33
- let totalDebt24h = 0
34
- let totalDeposits24h = 0
35
- const balanceData = returnDatas[i]
36
- const markeId = markets[balanceData.index]
37
- const market = lenderData[markeId]?.params?.market
38
- const {
39
- dataForMarket,
40
- addedDebt,
41
- addedDeposits
42
- } = createMorphoEntryFromMarketWithLens(
43
- i,
44
- balanceData,
45
- chainId,
46
- market,
47
- prices,
48
- pricesHist,
49
- )
50
- if (!dataForMarket) continue;
51
-
52
- totalDebt24h += addedDebt
53
- totalDeposits24h += addedDeposits
54
-
55
- const payload = {
56
- chainId,
57
- account,
58
- lendingPositions: { "0": dataForMarket },
59
- rewards: {},
60
- userEMode : 0,
61
- }
62
-
63
- const userData = createBaseTypeUserState(payload, lenderData[markeId].data, totalDeposits24h, totalDebt24h)
64
-
65
- datas[market.lender] = {
66
- ...payload,
67
- ...userData,
68
- id: market.id
69
- }
70
-
71
- }
72
- return datas
73
- },
74
- expectedNumberOfCalls,
75
- ]
76
- }
77
-
78
- function createMorphoEntryFromMarketWithLens(
79
- i: number,
80
- balanceInfo: BalanceInfo,
81
- chainId: string,
82
- market: MorphoMarket,
83
- prices: any,
84
- pricesHist: any,
85
- ) {
86
-
87
- const loanAddress = market.loanAddress.toLowerCase()
88
- const loanMeta = getAssetMeta(chainId, loanAddress)
89
-
90
- const loanKey = toOracleKey(loanMeta?.assetGroup) ?? toGenericPriceKey(loanAddress, chainId)
91
- // prices
92
- const priceLoan = prices[loanKey] ?? 1
93
- const priceHistLoan = pricesHist?.[loanKey] ?? priceLoan
94
-
95
- const deposits = balanceInfo.supplyAssets
96
- const borrow = balanceInfo.borrowAssets
97
- const depositDec = parseRawAmount(deposits.toString(), market.loanDecimals ?? loanMeta?.decimals ?? 18)
98
- const borrowDec = parseRawAmount(borrow.toString(), market.loanDecimals ?? loanMeta?.decimals ?? 18)
99
-
100
- const dataForLoanAsset = {
101
- poolId: loanAddress,
102
- underlying: loanAddress,
103
- deposits: parseRawAmount(deposits.toString(), market.loanDecimals ?? loanMeta?.decimals ?? 18),
104
- depositsRaw: deposits.toString(),
105
- debtStable: "0",
106
- debt: borrowDec,
107
- depositsUSD: Number(depositDec) * priceLoan,
108
- debtStableUSD: 0,
109
- debtUSD: Number(borrowDec) * priceLoan,
110
- stableBorrowRate: "0",
111
- collateralActive: true,
112
- claimableRewards: 0,
113
- }
114
-
115
-
116
- const collateralAddress = market.collateralAddress.toLowerCase()
117
- const assetMeta = getAssetMeta(chainId, collateralAddress)
118
- const decimals = market.collateralDecimals ?? assetMeta?.decimals ?? 18
119
-
120
- const collateralDec = parseRawAmount(balanceInfo.collateral.toString(), decimals)
121
-
122
- const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(collateralAddress, chainId)
123
- // prices
124
- const price = prices[key] ?? 1
125
- const priceHist = pricesHist?.[key] ?? price
126
-
127
- const dataForCollateralAsset = {
128
- poolId: collateralAddress,
129
- underlying: collateralAddress,
130
- deposits: collateralDec,
131
- depositsRaw: balanceInfo.collateral.toString(),
132
- debtStable: "0",
133
- debt: "0",
134
- depositsUSD: Number(collateralDec) * price,
135
- debtStableUSD: 0,
136
- debtUSD: 0,
137
- stableBorrowRate: "0",
138
- collateralActive: true,
139
- claimableRewards: 0,
140
- }
141
-
142
- return {
143
- dataForMarket: {
144
- [loanAddress]: dataForLoanAsset,
145
- [collateralAddress]: dataForCollateralAsset
146
- },
147
- addedDeposits: Number(depositDec) * priceHistLoan + Number(collateralDec) * priceHist,
148
- addedDebt: Number(borrowDec) * priceHistLoan
149
- }
150
- }
@@ -1,168 +0,0 @@
1
- import { Lender } from "@1delta/asset-registry"
2
- import { getAssetMeta, toGenericPriceKey, toOracleKey } from "../../../assets"
3
- import { MorphoUserReserveResponse } from "../types"
4
- import { createBaseTypeUserState } from "../utils"
5
- import { MorphoPositionParams } from "./types"
6
- import { parseRawAmount } from "../../../utils/parsing"
7
- import { MorphoMarket } from "../../morpho/types"
8
- import { toAssetsDown } from "./morphoLib"
9
-
10
- export const getMorphoUserDataConverter = (
11
- lender: Lender,
12
- chainId: string,
13
- account: string,
14
- markets: MorphoMarket[],
15
- prices: { [asset: string]: number },
16
- pricesHist: { [asset: string]: number },
17
- lenderData: any
18
- ): [(data: any[]) => { [market: string]: MorphoUserReserveResponse } | undefined, number] => {
19
-
20
- const expectedNumberOfCalls = markets.length * 2
21
- return [
22
- (data: any[]) => {
23
- if (data.length !== expectedNumberOfCalls) {
24
- return undefined
25
- }
26
-
27
- let datas: { [market: string]: MorphoUserReserveResponse } = {}
28
- for (let i = 0; i < markets.length; i++) {
29
-
30
- let totalDebt24h = 0
31
- let totalDeposits24h = 0
32
- const market = markets[i]
33
- const {
34
- dataForMarket,
35
- addedDebt,
36
- addedDeposits
37
- } = createMorphoEntryFromMarket(
38
- i,
39
- data,
40
- chainId,
41
- market,
42
- prices,
43
- pricesHist,
44
- )
45
- if (!dataForMarket) continue;
46
-
47
- totalDebt24h += addedDebt
48
- totalDeposits24h += addedDeposits
49
-
50
- const payload = {
51
- chainId,
52
- account,
53
- lendingPositions: { "0": dataForMarket },
54
- rewards: {},
55
- }
56
-
57
- const userData = createBaseTypeUserState(payload, lenderData, totalDeposits24h, totalDebt24h)
58
-
59
- datas[market.lender] = {
60
- ...payload,
61
- ...userData,
62
- id: market.id
63
- }
64
-
65
- }
66
- return datas
67
- },
68
- expectedNumberOfCalls,
69
- ]
70
- }
71
-
72
- function createMorphoEntryFromMarket(
73
- i: number,
74
- data: any[],
75
- chainId: string,
76
- market: MorphoMarket,
77
- prices: any,
78
- pricesHist: any,
79
- ) {
80
- const userPosition = data[2 * i]
81
- const marketData = data[2 * i + 1]
82
- const collateralBalance = userPosition[MorphoPositionParams.collateral]?.toString()
83
- const currentLendShares = userPosition[MorphoPositionParams.supplyShares]?.toString()
84
- const currentBorrowShares = userPosition[MorphoPositionParams.borrowShares]?.toString()
85
-
86
- const totalSupplyShares = BigInt(marketData[MorphoPositionParams.collateral]?.toString() ?? 0n)
87
- const totalSupplyAssets = BigInt(marketData[MorphoPositionParams.supplyShares]?.toString() ?? 0n)
88
- const totalBorrowShares = BigInt(marketData[MorphoPositionParams.borrowShares]?.toString() ?? 0n)
89
- const totalBorrowAssets = BigInt(marketData[MorphoPositionParams.borrowShares]?.toString() ?? 0n)
90
-
91
- if (
92
- currentLendShares === "0" &&
93
- currentBorrowShares === "0" &&
94
- collateralBalance === "0"
95
- ) {
96
- return {
97
- dataForMarket: undefined,
98
- addedDeposits: 0,
99
- addedDebt: 0
100
- }
101
- }
102
-
103
- const loanMeta = getAssetMeta(chainId, market.loanAddress)
104
-
105
- const loanKey = toOracleKey(loanMeta?.assetGroup) ?? toGenericPriceKey(market.loanAddress, chainId)
106
- // prices
107
- const priceLoan = prices[loanKey] ?? 1
108
- const priceHistLoan = pricesHist?.[loanKey] ?? priceLoan
109
-
110
- const deposits = toAssetsDown(currentLendShares, totalSupplyAssets, totalSupplyShares)
111
- const borrow = toAssetsDown(currentBorrowShares, totalBorrowAssets, totalBorrowShares)
112
- const depositDec = parseRawAmount(deposits.toString(), market.loanDecimals ?? loanMeta?.decimals ?? 18)
113
- const borrowDec = parseRawAmount(borrow.toString(), market.loanDecimals ?? loanMeta?.decimals ?? 18)
114
-
115
-
116
- const dataForLoanAsset = {
117
- poolId: market.loanAddress,
118
- underlying: market.loanAddress,
119
- deposits: parseRawAmount(deposits.toString(), market.loanDecimals ?? loanMeta?.decimals ?? 18),
120
- depositsRaw: deposits.toString(),
121
- debtStable: "0",
122
- debt: borrowDec,
123
- depositsUSD: Number(depositDec) * priceLoan,
124
- debtStableUSD: 0,
125
- debtUSD: Number(borrowDec) * priceLoan,
126
- stableBorrowRate: "0",
127
- collateralActive: true,
128
- claimableRewards: 0,
129
- }
130
-
131
-
132
- const assetMeta = getAssetMeta(chainId, market.collateralAddress)
133
- const decimals = market.collateralDecimals ?? assetMeta?.decimals ?? 18
134
-
135
- const collateralDec = parseRawAmount(collateralBalance, decimals)
136
-
137
- const key = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(market.collateralAddress, chainId)
138
- // prices
139
- const price = prices[key] ?? 1
140
- const priceHist = pricesHist?.[key] ?? price
141
-
142
- const dataForCollateralAsset = {
143
- poolId: market.collateralAddress,
144
- underlying: market.collateralAddress,
145
- deposits: collateralDec,
146
- depositsRaw: collateralBalance,
147
- debtStable: "0",
148
- debt: "0",
149
- depositsUSD: Number(collateralDec) * price,
150
- debtStableUSD: 0,
151
- debtUSD: 0,
152
- stableBorrowRate: "0",
153
- collateralActive: true,
154
- claimableRewards: 0,
155
- }
156
-
157
- return {
158
- dataForMarket: {
159
- [market.loanAddress]: dataForLoanAsset,
160
- [market.collateralAddress]: dataForCollateralAsset
161
- },
162
- addedDeposits: Number(depositDec) * priceHistLoan + Number(collateralDec) * priceHist,
163
- addedDebt: Number(borrowDec) * priceHistLoan
164
- }
165
- }
166
-
167
-
168
-