@1delta/margin-fetcher 0.0.14 → 0.0.15-0.2

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-MNAQZE7H.js +5 -0
  29. package/dist/ccip-MNAQZE7H.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-GXAEO4DI.js +4133 -0
  33. package/dist/chunk-GXAEO4DI.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 -284
  509. package/test/utils.ts +0 -13
  510. package/tsconfig.json +0 -28
@@ -1,300 +0,0 @@
1
- import { Lender } from '@1delta/asset-registry'
2
- import { BaseYields, RewardsMap } from '../aave-v3-type/types'
3
-
4
- export type SerializedBigNumber = string
5
- export type SerializedNumber = string
6
-
7
- export interface LenderUserQuery {
8
- /** the lender enum (Note that for multi-market ones, it is not the lender but the group) */
9
- lender: any
10
- /** user address */
11
- account: string
12
- /** custom parameters for fetching e.g. multi-market lenders */
13
- params?: any[]
14
- }
15
-
16
-
17
- /** Filter all morphos into one for querying */
18
- export function organizeUserQueries(queries: LenderUserQuery[]) {
19
- const morphos = queries.filter((q) => q.lender.startsWith('MORPHO_BLUE'))
20
- const nonMorphos = queries.filter((q) => !q.lender.startsWith('MORPHO_BLUE'))
21
- const morphosCollapsed = {
22
- lender: Lender.MORPHO_BLUE,
23
- account: queries[0].account,
24
- params: morphos.map((p) => p.lender),
25
- }
26
- return [...nonMorphos, morphosCollapsed]
27
- }
28
-
29
- export interface UserLendingPosition {
30
- // token amounts
31
- deposits: number
32
- debt: number
33
- debtStable: number
34
- // usd amounts
35
- depositsUSD: number
36
- debtUSD: number
37
- debtStableUSD: number
38
-
39
- collateralActive: boolean
40
- claimableRewards: number
41
- }
42
-
43
- export type UserRewardEntry = {
44
- [asset: string]: { totalRewards: number; claimableRewards: number }
45
- }
46
-
47
- export interface LenderUserResponse {
48
- chainId: string
49
- account: string
50
- lendingPositions: {
51
- [lender: string]: {
52
- [poolId: string]: UserLendingPosition
53
- }
54
- }
55
- rewards: UserRewardEntry
56
- }
57
-
58
- // Aave V2 specific enums
59
- export enum AaveV2TypeGetUserReserveData {
60
- currentATokenBalance = 0,
61
- currentStableDebt,
62
- currentVariableDebt,
63
- principalStableDebt,
64
- scaledVariableDebt,
65
- stableBorrowRate,
66
- liquidityRate,
67
- stableRateLastUpdated,
68
- usageAsCollateralEnabled,
69
- }
70
-
71
- // Aave V3 specific enums
72
- export enum AaveV3TypeGetUserReserveData {
73
- currentATokenBalance = 0,
74
- currentStableDebt,
75
- currentVariableDebt,
76
- principalStableDebt,
77
- scaledVariableDebt,
78
- stableBorrowRate,
79
- liquidityRate,
80
- stableRateLastUpdated,
81
- usageAsCollateralEnabled,
82
- }
83
-
84
- ///////
85
- export interface AaveV2UserReserveResponse {
86
- chainId: string
87
- account: string
88
- lendingPositions: {
89
- [id: string]: {
90
- [poolId: string]: AavelendingPositions
91
- }
92
- }
93
- rewards: UserRewardEntry
94
- }
95
-
96
- interface AavelendingPositions {
97
- // token amounts
98
- deposits: string
99
- debt: string
100
- debtStable: string
101
- // usd amounts
102
- depositsUSD: number
103
- debtUSD: number
104
- debtStableUSD: number
105
-
106
- collateralActive: boolean
107
- claimableRewards: number
108
- }
109
-
110
- export interface AaveV3UserReserveResponse {
111
- chainId: string
112
- lendingPositions: {
113
- [id: string]: {
114
- [poolId: string]: AavelendingPositions
115
- }
116
- }
117
- userEMode: number
118
- rewards?: any
119
- account: string
120
- }
121
-
122
- export interface MorphoUserReserveResponse {
123
- chainId: string
124
- lendingPositions: {
125
- [id: string]: {
126
- [poolId: string]: AavelendingPositions
127
- }
128
- }
129
- id: string
130
- rewards?: any
131
- account: string
132
- }
133
-
134
- export interface CompoundV3UserReserveResponse {
135
- lendingPositions: {
136
- [id: string]: {
137
- [poolId: string]: {
138
- // tokens
139
- deposits: number
140
- debt: number
141
- debtStable: number
142
- // dollars
143
- depositsUSD: number
144
- debtUSD: number
145
- debtStableUSD: number
146
-
147
- collateralActive: boolean
148
- // user collateral raw (to withdraw max)
149
- depositsRaw: SerializedBigNumber
150
- isAllowed: boolean
151
- }
152
- }
153
- }
154
- chainId: string
155
- baseAsset: string
156
- rewards: UserRewardEntry
157
- account: string
158
- }
159
-
160
- export interface AaveV3Public extends LenderPublicBase {
161
- lastUpdateTimestamp?: number
162
-
163
- // flags of reserve state
164
- usageAsCollateralEnabled?: boolean
165
- hasStable?: boolean
166
- isActive?: boolean
167
- isFrozen?: boolean
168
-
169
- // emode info
170
- // each eMode category has a custom ltv and liquidation threshold
171
- eMode?: EModeData
172
-
173
- // limits
174
- debtCeiling: number
175
- supplyCap: number
176
- borrowCap: number
177
-
178
- config: { [modeId: number]: LenderConfigData }
179
- }
180
-
181
- /**
182
- * Interface shared by all lenders
183
- */
184
- export interface LenderPublicBase extends LenderYields, LenderTotalAmounts {
185
- // borrow enabled flag
186
- borrowingEnabled: boolean
187
-
188
- config: LenderConfigMap
189
- }
190
-
191
- export interface LenderYields extends BaseYields {
192
- // staking
193
- stakingYield: number
194
-
195
- // rewards
196
- rewards?: RewardsMap
197
- }
198
-
199
- export interface LenderTotalAmounts {
200
- // debt totals
201
- totalDebt: number
202
- totalDebtStable: number
203
- // deposit total
204
- totalDeposits: number
205
- // liquidity
206
- totalLiquidity: number
207
-
208
- /** USD values */
209
-
210
- // debt totals
211
- totalDebtUSD: number
212
- totalDebtStableUSD: number
213
- // deposit total
214
- totalDepositsUSD: number
215
- // liquidity
216
- totalLiquidityUSD: number
217
- }
218
-
219
- export interface LenderConfigMap {
220
- [modeId: number]: LenderConfigData
221
- }
222
-
223
- /**
224
- * The Mode-specific configuration for a lender asset
225
- */
226
- export interface LenderConfigData {
227
- category: number
228
- borrowCollateralFactor: number
229
- collateralFactor: number
230
- borrowFactor: number
231
- }
232
-
233
- export interface ModeBase {
234
- category: number
235
- label: string
236
- }
237
-
238
- export interface EModeData extends ModeBase {
239
- borrowCollateralFactor: number
240
- collateralFactor: number
241
- priceSource: string
242
- }
243
-
244
- export interface AaveV2Public extends LenderPublicBase {
245
- // reserve market data
246
- lastUpdateTimestamp?: number
247
-
248
- // reserve config
249
- decimals?: number
250
- reserveFactor?: SerializedBigNumber
251
- usageAsCollateralEnabled?: boolean
252
- hasStable?: boolean
253
-
254
- // frozen
255
- isActive?: boolean
256
- isFrozen?: boolean
257
- }
258
-
259
- export interface CompoundV3Public extends LenderPublicBase {
260
- supplyCap: number
261
- utilization: number
262
- }
263
-
264
- export interface UserApr {
265
- apr: number
266
- borrowApr: number
267
- depositApr: number
268
- }
269
-
270
- export interface InitUserReserveResponse {
271
- chainId: string
272
- lendingPositions: {
273
- // positionId is the NFT id
274
- [posId: string]: {
275
- mode: any
276
- [poolId: string]: {
277
- deposits: number
278
- debt: number
279
- depositsUSD: number
280
- debtUSD: number
281
- debtStable: '0'
282
- debtStableUSD: 0
283
- collateralActive: boolean
284
- isAllowed: boolean
285
- }
286
- }
287
- }
288
- assets: string[]
289
- account: string
290
- }
291
-
292
- export interface InitPublic extends LenderPublicBase {
293
- // flags of reserve state
294
- usageAsCollateralEnabled?: boolean
295
-
296
- // limits
297
- debtCeiling: number
298
- supplyCap: number
299
- borrowCap: number
300
- }
@@ -1,142 +0,0 @@
1
- import { divideAccrualsToAprs } from '.'
2
- import {
3
- AaveV2Public,
4
- AaveV2UserReserveResponse,
5
- AaveV3Public,
6
- AaveV3UserReserveResponse,
7
- CompoundV3Public,
8
- CompoundV3UserReserveResponse,
9
- } from '../types'
10
- import { safeDivide } from './formatting'
11
-
12
- type LenderUserData =
13
- | AaveV3UserReserveResponse
14
- | AaveV2UserReserveResponse
15
- | CompoundV3UserReserveResponse
16
- type LenderState = AaveV3Public | AaveV2Public | CompoundV3Public
17
-
18
- export function createBaseTypeUserState(
19
- payload: LenderUserData,
20
- lenderData: { [a: string]: LenderState },
21
- totalDeposits24h: number = 0,
22
- totalDebt24h: number = 0,
23
- ) {
24
- let assetKeys = Object.keys(payload.lendingPositions['0'] ?? {})
25
- const { chainId, account } = payload
26
-
27
- const mode = Number((payload as any).userEMode ?? 0)
28
-
29
- // organic yields
30
- let depositInterest = 0
31
- let borrowInterest = 0
32
- // rewards
33
- let rewardDepositAccrual = 0
34
- let rewardBorrowAccrual = 0
35
- // staking
36
- let stakingDepositAccrual = 0
37
- let stakingBorrowAccrual = 0
38
- // amountrs
39
- let deposits = 0
40
- let debt = 0
41
- let collateral = 0
42
- let borrowDiscountedCollateral = 0
43
-
44
- let rewardsPerAsset: any = {}
45
- // main user data
46
- for (let i = 0; i < assetKeys.length; i++) {
47
- const asset = assetKeys[i]
48
- if (!lenderData?.[asset]) continue
49
- const { depositsUSD, debtStableUSD, debtUSD, collateralActive } =
50
- payload.lendingPositions['0'][asset]
51
- const {
52
- depositRate,
53
- stakingYield,
54
- variableBorrowRate,
55
- stableBorrowRate,
56
- rewards,
57
- } = lenderData[asset]
58
-
59
- // amounts
60
- deposits += depositsUSD
61
- debt += debtStableUSD
62
- debt += debtUSD
63
-
64
- // rewards
65
- Object.entries(rewards ?? {}).forEach(
66
- ([key, rewardData]: [string, any]) => {
67
- rewardDepositAccrual += rewardData.depositRate * depositsUSD
68
- rewardBorrowAccrual +=
69
- rewardData.variableBorrowRate * debtUSD +
70
- (rewardData.stableBorrowRate ?? 0) * debtStableUSD
71
-
72
- // totals
73
- const rewDepo = rewardData.depositRate * depositsUSD
74
- const rewDebt =
75
- rewardData.variableBorrowRate * debtUSD +
76
- (rewardData.stableBorrowRate ?? 0) * (debtStableUSD ?? 0)
77
-
78
- if (!rewardsPerAsset[key])
79
- rewardsPerAsset[key] = { depositApr: 0, borrowApr: 0 }
80
- if (rewDepo > 0) rewardsPerAsset[key].depositApr += rewDepo
81
- if (rewDebt > 0) rewardsPerAsset[key].borrowApr += rewDebt
82
- },
83
- )
84
-
85
- // staking
86
- stakingDepositAccrual += (stakingYield ?? 0) * depositsUSD
87
- stakingBorrowAccrual += (stakingYield ?? 0) * (debtStableUSD + debtUSD)
88
- if (collateralActive) {
89
- // risk adjusted
90
- collateral +=
91
- (lenderData[asset].config[mode]?.collateralFactor ?? 1) * depositsUSD
92
- borrowDiscountedCollateral +=
93
- (lenderData[asset].config[mode]?.borrowCollateralFactor ?? 1) *
94
- depositsUSD
95
- }
96
- // IRs
97
- depositInterest += depositRate * depositsUSD
98
- borrowInterest +=
99
- debtStableUSD * stableBorrowRate + debtUSD * variableBorrowRate
100
- }
101
- const nav = deposits - debt
102
- // aggregated balance data
103
- const balanceData = {
104
- '0': {
105
- borrowDiscountedCollateral,
106
- collateral,
107
- deposits,
108
- debt,
109
- adjustedDebt: debt,
110
- nav,
111
- deposits24h: totalDeposits24h,
112
- debt24h: totalDebt24h,
113
- nav24h: totalDeposits24h - totalDebt24h,
114
- ...(payload.rewards ? { rewards: payload.rewards } : {}),
115
- },
116
- }
117
-
118
- // aggregated apr data
119
- const aprData = {
120
- '0': {
121
- apr: safeDivide(depositInterest - borrowInterest, nav),
122
- borrowApr: safeDivide(borrowInterest, debt),
123
- depositApr: safeDivide(depositInterest, deposits),
124
- rewards: divideAccrualsToAprs(rewardsPerAsset, nav, deposits, debt),
125
- rewardApr: safeDivide(rewardDepositAccrual + rewardBorrowAccrual, nav),
126
- rewardDepositApr: safeDivide(rewardDepositAccrual, deposits),
127
- rewardBorrowApr: safeDivide(rewardBorrowAccrual, debt),
128
- stakingApr: safeDivide(stakingDepositAccrual - stakingBorrowAccrual, nav),
129
- stakingDepositApr: safeDivide(stakingDepositAccrual, deposits),
130
- stakingBorrowApr: safeDivide(stakingBorrowAccrual, debt),
131
- },
132
- }
133
- const userConfigs = { '0': { selectedMode: mode, id: account } }
134
-
135
- return {
136
- account,
137
- chainId,
138
- balanceData,
139
- aprData,
140
- userConfigs,
141
- }
142
- }
@@ -1,113 +0,0 @@
1
- import { LENDER_MODE_NO_MODE } from "../../../assets"
2
- import { InitPublic, InitUserReserveResponse } from "../types"
3
- import { safeDivide } from "./formatting"
4
-
5
- export function createMultiAccountTypeUserState(
6
- payload: InitUserReserveResponse,
7
- lenderData: { [a: string]: InitPublic },
8
- histData: {
9
- [a: string]: {
10
- totalDebt24h: number,
11
- totalDeposits24h: number
12
- }
13
- }
14
- ) {
15
- const positionKeys = Object.keys(payload.lendingPositions ?? {})
16
- let assetKeys = payload.assets
17
- const { chainId, account } = payload
18
-
19
- let userConfigs: any = {}
20
- let balanceData: any = {}
21
- let aprData: any = {}
22
- // main user data
23
- for (let j = 0; j < positionKeys.length; j++) {
24
- const posId = positionKeys[j]
25
- const position = payload.lendingPositions[posId]
26
- const { mode: posMode } = position
27
- // position mode can be undefined
28
- // in this case we default to no mode
29
- const mode = posMode ?? LENDER_MODE_NO_MODE
30
- userConfigs[posId] = {
31
- id: posId,
32
- selectedMode: mode,
33
- }
34
- // organic yields
35
- let depositInterest = 0
36
- let borrowInterest = 0
37
- // rewards
38
- let rewardDepositAccrual = 0
39
- let rewardBorrowAccrual = 0
40
- // staking
41
- let stakingDepositAccrual = 0
42
- let stakingBorrowAccrual = 0
43
- // amountrs
44
- let deposits = 0
45
- let debt = 0
46
- let collateral = 0
47
- let borrowDiscountedCollateral = 0
48
- let adjustedDebt = 0
49
- for (let i = 0; i < assetKeys.length; i++) {
50
- const asset = assetKeys[i]
51
- const { depositsUSD, debtUSD } = payload.lendingPositions[posId][asset]
52
- if (!lenderData?.[asset]) continue;
53
- const { depositRate, stakingYield, variableBorrowRate, rewards } = lenderData[asset]
54
- // amounts
55
- deposits += depositsUSD
56
- debt += debtUSD
57
- // rewards
58
- Object.entries(rewards ?? {}).map(([key, rewardData]) => {
59
- rewardDepositAccrual += rewardData.depositRate * depositsUSD
60
- rewardBorrowAccrual += rewardData.variableBorrowRate * debtUSD + rewardData.stableBorrowRate * debtUSD
61
- })
62
- // staking
63
- stakingDepositAccrual += (stakingYield ?? 0) * depositsUSD
64
- stakingBorrowAccrual += (stakingYield ?? 0) * debtUSD
65
-
66
- const config = lenderData[asset].config[mode]
67
-
68
- // risk adjusted
69
- collateral += (config?.collateralFactor ?? 1) * depositsUSD
70
- borrowDiscountedCollateral += (config?.borrowCollateralFactor ?? 1) * depositsUSD
71
- adjustedDebt += (config?.borrowFactor ?? 1) * debtUSD
72
-
73
- // IRs
74
- depositInterest += depositRate * depositsUSD
75
- borrowInterest += debtUSD * variableBorrowRate
76
-
77
- }
78
- const nav = deposits - debt
79
-
80
- // aggregated balance data
81
- balanceData[posId] = {
82
- borrowDiscountedCollateral,
83
- collateral,
84
- deposits,
85
- debt,
86
- adjustedDebt,
87
- nav,
88
- deposits24h: histData[posId]?.totalDeposits24h,
89
- debt24h: histData[posId]?.totalDebt24h,
90
- nav24h: histData[posId]?.totalDeposits24h - histData[posId]?.totalDebt24h,
91
- }
92
-
93
- // aggregated apr data
94
- aprData[posId] = {
95
- apr: safeDivide(depositInterest - borrowInterest, nav),
96
- borrowApr: safeDivide(borrowInterest, debt),
97
- depositApr: safeDivide(depositInterest, deposits),
98
- rewardApr: safeDivide(rewardDepositAccrual + rewardBorrowAccrual, nav),
99
- rewardDepositApr: safeDivide(rewardDepositAccrual, deposits),
100
- rewardBorrowApr: safeDivide(rewardBorrowAccrual, debt),
101
- stakingApr: safeDivide(stakingDepositAccrual - stakingBorrowAccrual, nav),
102
- stakingDepositApr: safeDivide(stakingDepositAccrual, deposits),
103
- stakingBorrowApr: safeDivide(stakingBorrowAccrual, debt),
104
- }
105
- }
106
- return {
107
- account,
108
- chainId,
109
- balanceData,
110
- aprData,
111
- userConfigs
112
- }
113
- }
@@ -1,121 +0,0 @@
1
- import _ from 'lodash'
2
- import { LenderConfigMap } from '../../types'
3
-
4
- export const safeDivide = (a: number, b: number) => {
5
- return a === 0 || isNaN(a) ? 0 : b !== 0 ? a / b : Infinity
6
- }
7
-
8
- export function capitalizeFirstLetter(data: string) {
9
- if (!data) return ''
10
- return data.charAt(0).toUpperCase() + data.slice(1)
11
- }
12
-
13
- /**
14
- * Formats e.g. 0.04 to 4%
15
- * @param n ratio
16
- * @param decs decimals to show
17
- * @returns percent as string
18
- */
19
- export const formatRatioToPercent = (n: number, decs: number) => {
20
- return `${n >= 0 ? '+' : ''}${roundNumber(n * 100, decs)}%`
21
- }
22
-
23
- /**
24
- * Formats e.g. 0.04 to 4%, adds a + if positive
25
- * @param n ratio
26
- * @param decs decimals to show
27
- * @returns percent as string
28
- */
29
- export const formatSignedRatioToPercent = (n: number, decs: number) => {
30
- if (n > 1e7) return '>100K%' // we ceil percentages at 100k and abbreviate
31
- return `${n > 0 ? '+' : ''}${roundNumber(n * 100, decs)}%` // we assume no lower values that -100%
32
- }
33
-
34
- export const formatSignedRatioToPercentSign = (n: number, decs: number, skipSign = false) => {
35
- if (n > 1e7) return '>100K%' // we ceil percentages at 100k and abbreviate
36
- // Skip the sign when icons are used
37
- return `${skipSign ? '' : n > 0 ? '+' : ''}${roundNumber(Math.abs(n * 100), decs)}%`
38
- }
39
-
40
- /**
41
- * Formats e.g. 4 to 4%
42
- * @param n percent number
43
- * @param decs decimals to show
44
- * @returns percent as string
45
- */
46
- export const formatNumberToPercent = (n: number | undefined, decs = 2) => {
47
- if (!n) return '0%'
48
- if (isNaN(n)) return ''
49
- return `${roundNumber(Number(n ?? 0), decs)}%`
50
- }
51
-
52
- export const formatPercentagePoints = (n: number, decs: number) => {
53
- return `${roundNumber(n * 100, decs)}pp`
54
- }
55
-
56
- export const formatNumber = (n: number, decs: number) => {
57
- if (!n) return '0'
58
- if (isNaN(n)) return ''
59
- return roundNumber(n, decs).toLocaleString()
60
- }
61
-
62
- /**
63
- * Round using lodash
64
- * @param n number to round
65
- * @param decs decimals
66
- * @returns number
67
- */
68
- export const roundNumber = (n: number, decs: number) => {
69
- return _.round(n, decs)
70
- }
71
-
72
- /**
73
- * Converts a colateral factor e.g. 0.8 to 1/(1-0.8) = 5
74
- * @param n amount
75
- * @param decs decimals to show
76
- * @returns leverage as string
77
- */
78
- export const convertCollateralFactorToLeverage = (n: number, decs: number): number => {
79
- return roundNumber(1 / (1 - n), decs)
80
- }
81
-
82
- export const parseToTimes = (n: number) => `${n}×`
83
-
84
- export const parseToTimesPrefix = (n: number) => `×${n}`
85
-
86
- export const parseLeverage = (cf: number, decs = 2) => parseToTimes(convertCollateralFactorToLeverage(cf, decs))
87
-
88
- export const parseLeverageRange = (config: LenderConfigMap) => {
89
- const levs = _.uniq(
90
- Object.values(config ?? {}).map((cfg) => convertCollateralFactorToLeverage(cfg.borrowCollateralFactor, 2)),
91
- )
92
- if (!levs) return ''
93
- if (levs.length === 1) return parseToTimes(levs[0])
94
- return `${_.min(levs)}-${parseToTimes(Number(_.max(levs)))}`
95
- }
96
-
97
- /**
98
- * Get apr from intinsic interest and reward
99
- * @param apr apr number
100
- * @param reward reward [per year] number
101
- * @returns number, validated for NaN
102
- */
103
- export const getApr = (apr: number, reward: number, staking: number) => {
104
- const aprClean = !isNaN(apr) ? apr : 0
105
- const rewardClean = !isNaN(reward) ? reward : 0
106
- const stakingClean = !isNaN(staking) ? staking : 0
107
- if (aprClean + rewardClean + stakingClean < 0.01 && aprClean + rewardClean + stakingClean > -0.01) return '-'
108
- return `${(aprClean + rewardClean + stakingClean).toFixed(2)}%`
109
- }
110
-
111
- // Converters from apy to apr and reversed
112
-
113
- const SECONDS_PER_YEAR = 31536000
114
-
115
- export const aprToApy = (apr: number) => {
116
- return (1 + apr / SECONDS_PER_YEAR) ** SECONDS_PER_YEAR - 1
117
- }
118
-
119
- export const apyToApr = (apy: number) => {
120
- return ((apy + 1) ** (1 / SECONDS_PER_YEAR) - 1) * SECONDS_PER_YEAR
121
- }
@@ -1 +0,0 @@
1
- export * from "./generalFormatters"
@@ -1,19 +0,0 @@
1
- import { UserApr } from "../types"
2
- import { safeDivide } from "./formatting"
3
-
4
- export * from "./createGeneralUserState"
5
- export * from "./formatting"
6
- export * from "./createMultiAccountStyleUserState"
7
-
8
- export function divideAccrualsToAprs(aprs: { [assets: string]: UserApr }, nav: number, deposits: number, debt: number) {
9
- if (nav === 0) return {}
10
- let d: any = {}
11
- Object.entries(aprs).map(([k, data]) => {
12
- d[k] = {
13
- apr: safeDivide(data.borrowApr + data.depositApr, nav),
14
- borrowApr: safeDivide(data.borrowApr, debt),
15
- depositApr: safeDivide(data.depositApr, deposits),
16
- }
17
- })
18
- return d
19
- }