@1delta/margin-fetcher 0.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 (418) hide show
  1. package/dist/abis/aave/AToken.d.ts +526 -0
  2. package/dist/abis/aave/AToken.d.ts.map +1 -0
  3. package/dist/abis/aave/AToken.js +686 -0
  4. package/dist/abis/aave/AaveOracle.d.ts +40 -0
  5. package/dist/abis/aave/AaveOracle.d.ts.map +1 -0
  6. package/dist/abis/aave/AaveOracle.js +53 -0
  7. package/dist/abis/aave/AavePoolAndDataProvider.d.ts +1618 -0
  8. package/dist/abis/aave/AavePoolAndDataProvider.d.ts.map +1 -0
  9. package/dist/abis/aave/AavePoolAndDataProvider.js +2080 -0
  10. package/dist/abis/aave/AavePoolV3.d.ts +819 -0
  11. package/dist/abis/aave/AavePoolV3.d.ts.map +1 -0
  12. package/dist/abis/aave/AavePoolV3.js +1060 -0
  13. package/dist/abis/aave/AavePoolV3Upgraded.d.ts +1134 -0
  14. package/dist/abis/aave/AavePoolV3Upgraded.d.ts.map +1 -0
  15. package/dist/abis/aave/AavePoolV3Upgraded.js +1474 -0
  16. package/dist/abis/aave/AaveV3ProtocolDataProvider.d.ts +420 -0
  17. package/dist/abis/aave/AaveV3ProtocolDataProvider.d.ts.map +1 -0
  18. package/dist/abis/aave/AaveV3ProtocolDataProvider.js +553 -0
  19. package/dist/abis/aave/VariableDebtToken.d.ts +635 -0
  20. package/dist/abis/aave/VariableDebtToken.d.ts.map +1 -0
  21. package/dist/abis/aave/VariableDebtToken.js +820 -0
  22. package/dist/abis/aave-v2/ProtocolDataProvider.d.ts +238 -0
  23. package/dist/abis/aave-v2/ProtocolDataProvider.d.ts.map +1 -0
  24. package/dist/abis/aave-v2/ProtocolDataProvider.js +312 -0
  25. package/dist/abis/aave-v2/YLDR.d.ts +209 -0
  26. package/dist/abis/aave-v2/YLDR.d.ts.map +1 -0
  27. package/dist/abis/aave-v2/YLDR.js +199 -0
  28. package/dist/abis/aave-v3/AavePoolDataProviderLegacy.d.ts +406 -0
  29. package/dist/abis/aave-v3/AavePoolDataProviderLegacy.d.ts.map +1 -0
  30. package/dist/abis/aave-v3/AavePoolDataProviderLegacy.js +460 -0
  31. package/dist/abis/aave-v3/AavePoolLegacy.d.ts +819 -0
  32. package/dist/abis/aave-v3/AavePoolLegacy.d.ts.map +1 -0
  33. package/dist/abis/aave-v3/AavePoolLegacy.js +1060 -0
  34. package/dist/abis/aurelius/Rewarder.d.ts +90 -0
  35. package/dist/abis/aurelius/Rewarder.d.ts.map +1 -0
  36. package/dist/abis/aurelius/Rewarder.js +118 -0
  37. package/dist/abis/compound-v2/CompoundLens.d.ts +656 -0
  38. package/dist/abis/compound-v2/CompoundLens.d.ts.map +1 -0
  39. package/dist/abis/compound-v2/CompoundLens.js +851 -0
  40. package/dist/abis/compound-v2/Comptroller.d.ts +1615 -0
  41. package/dist/abis/compound-v2/Comptroller.d.ts.map +1 -0
  42. package/dist/abis/compound-v2/Comptroller.js +2104 -0
  43. package/dist/abis/compound-v3/Comet.d.ts +1402 -0
  44. package/dist/abis/compound-v3/Comet.d.ts.map +1 -0
  45. package/dist/abis/compound-v3/Comet.js +1829 -0
  46. package/dist/abis/compound-v3/CometExt.d.ts +411 -0
  47. package/dist/abis/compound-v3/CometExt.d.ts.map +1 -0
  48. package/dist/abis/compound-v3/CometExt.js +536 -0
  49. package/dist/abis/compound-v3/CometLens.d.ts +152 -0
  50. package/dist/abis/compound-v3/CometLens.d.ts.map +1 -0
  51. package/dist/abis/compound-v3/CometLens.js +194 -0
  52. package/dist/abis/compound-v3/CometRewards.d.ts +253 -0
  53. package/dist/abis/compound-v3/CometRewards.d.ts.map +1 -0
  54. package/dist/abis/compound-v3/CometRewards.js +330 -0
  55. package/dist/abis/compound-v3/IrGetter.d.ts +24 -0
  56. package/dist/abis/compound-v3/IrGetter.d.ts.map +1 -0
  57. package/dist/abis/compound-v3/IrGetter.js +31 -0
  58. package/dist/abis/flashloan-united/flashAbi.d.ts +54 -0
  59. package/dist/abis/flashloan-united/flashAbi.d.ts.map +1 -0
  60. package/dist/abis/flashloan-united/flashAbi.js +72 -0
  61. package/dist/abis/init/Core.d.ts +523 -0
  62. package/dist/abis/init/Core.d.ts.map +1 -0
  63. package/dist/abis/init/Core.js +681 -0
  64. package/dist/abis/init/InitFlashAggregator.d.ts +624 -0
  65. package/dist/abis/init/InitFlashAggregator.d.ts.map +1 -0
  66. package/dist/abis/init/InitFlashAggregator.js +795 -0
  67. package/dist/abis/init/InitLens.d.ts +158 -0
  68. package/dist/abis/init/InitLens.d.ts.map +1 -0
  69. package/dist/abis/init/InitLens.js +203 -0
  70. package/dist/abis/init/PosManager.d.ts +802 -0
  71. package/dist/abis/init/PosManager.d.ts.map +1 -0
  72. package/dist/abis/init/PosManager.js +1055 -0
  73. package/dist/abis/lendle/IncentivesController.d.ts +404 -0
  74. package/dist/abis/lendle/IncentivesController.d.ts.map +1 -0
  75. package/dist/abis/lendle/IncentivesController.js +525 -0
  76. package/dist/abis/lendle/MultiFeeDistribution.d.ts +624 -0
  77. package/dist/abis/lendle/MultiFeeDistribution.d.ts.map +1 -0
  78. package/dist/abis/lendle/MultiFeeDistribution.js +820 -0
  79. package/dist/abis/meridian/PullRewardsIncentivesController.d.ts +74 -0
  80. package/dist/abis/meridian/PullRewardsIncentivesController.d.ts.map +1 -0
  81. package/dist/abis/meridian/PullRewardsIncentivesController.js +98 -0
  82. package/dist/abis/multicall/Multicall.d.ts +80 -0
  83. package/dist/abis/multicall/Multicall.d.ts.map +1 -0
  84. package/dist/abis/multicall/Multicall.js +101 -0
  85. package/dist/abis/oracle/AaveOracle.d.ts +40 -0
  86. package/dist/abis/oracle/AaveOracle.d.ts.map +1 -0
  87. package/dist/abis/oracle/AaveOracle.js +53 -0
  88. package/dist/abis/oracle/Api3Oracle.d.ts +48 -0
  89. package/dist/abis/oracle/Api3Oracle.d.ts.map +1 -0
  90. package/dist/abis/oracle/Api3Oracle.js +62 -0
  91. package/dist/abis/oracle/ChainLinkAggregator.d.ts +372 -0
  92. package/dist/abis/oracle/ChainLinkAggregator.d.ts.map +1 -0
  93. package/dist/abis/oracle/ChainLinkAggregator.js +480 -0
  94. package/dist/abis/oracle/RWADynamicOracle.d.ts +12 -0
  95. package/dist/abis/oracle/RWADynamicOracle.d.ts.map +1 -0
  96. package/dist/abis/oracle/RWADynamicOracle.js +15 -0
  97. package/dist/abis/oracle/UniswapV2Pair.d.ts +513 -0
  98. package/dist/abis/oracle/UniswapV2Pair.d.ts.map +1 -0
  99. package/dist/abis/oracle/UniswapV2Pair.js +659 -0
  100. package/dist/abis/uniswap/FeeOnTransferDetector.d.ts +102 -0
  101. package/dist/abis/uniswap/FeeOnTransferDetector.d.ts.map +1 -0
  102. package/dist/abis/uniswap/FeeOnTransferDetector.js +133 -0
  103. package/dist/abis/uniswap/UniswapV2Pair.d.ts +513 -0
  104. package/dist/abis/uniswap/UniswapV2Pair.d.ts.map +1 -0
  105. package/dist/abis/uniswap/UniswapV2Pair.js +659 -0
  106. package/dist/assets/index.d.ts +20 -0
  107. package/dist/assets/index.d.ts.map +1 -0
  108. package/dist/assets/index.js +54 -0
  109. package/dist/flash-liquidity/assets.d.ts +21 -0
  110. package/dist/flash-liquidity/assets.d.ts.map +1 -0
  111. package/dist/flash-liquidity/assets.js +45 -0
  112. package/dist/flash-liquidity/fetchLiquidity.d.ts +4 -0
  113. package/dist/flash-liquidity/fetchLiquidity.d.ts.map +1 -0
  114. package/dist/flash-liquidity/fetchLiquidity.js +235 -0
  115. package/dist/flash-liquidity/index.d.ts +2 -0
  116. package/dist/flash-liquidity/index.d.ts.map +1 -0
  117. package/dist/flash-liquidity/index.js +1 -0
  118. package/dist/flash-liquidity/types.d.ts +23 -0
  119. package/dist/flash-liquidity/types.d.ts.map +1 -0
  120. package/dist/flash-liquidity/types.js +8 -0
  121. package/dist/index.d.ts +8 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.js +6 -0
  124. package/dist/lending/aave-v2-type/misc.d.ts +14 -0
  125. package/dist/lending/aave-v2-type/misc.d.ts.map +1 -0
  126. package/dist/lending/aave-v2-type/misc.js +8 -0
  127. package/dist/lending/aave-v2-type/publicCallBuild.d.ts +7 -0
  128. package/dist/lending/aave-v2-type/publicCallBuild.d.ts.map +1 -0
  129. package/dist/lending/aave-v2-type/publicCallBuild.js +102 -0
  130. package/dist/lending/aave-v2-type/publicCallParse.d.ts +7 -0
  131. package/dist/lending/aave-v2-type/publicCallParse.d.ts.map +1 -0
  132. package/dist/lending/aave-v2-type/publicCallParse.js +254 -0
  133. package/dist/lending/aave-v2-type/types.d.ts +78 -0
  134. package/dist/lending/aave-v2-type/types.d.ts.map +1 -0
  135. package/dist/lending/aave-v2-type/types.js +46 -0
  136. package/dist/lending/aave-v3-type/publicCallBuild.d.ts +4 -0
  137. package/dist/lending/aave-v3-type/publicCallBuild.d.ts.map +1 -0
  138. package/dist/lending/aave-v3-type/publicCallBuild.js +123 -0
  139. package/dist/lending/aave-v3-type/publicCallParse.d.ts +8 -0
  140. package/dist/lending/aave-v3-type/publicCallParse.d.ts.map +1 -0
  141. package/dist/lending/aave-v3-type/publicCallParse.js +304 -0
  142. package/dist/lending/aave-v3-type/types.d.ts +149 -0
  143. package/dist/lending/aave-v3-type/types.d.ts.map +1 -0
  144. package/dist/lending/aave-v3-type/types.js +90 -0
  145. package/dist/lending/addresses/aave.d.ts +10 -0
  146. package/dist/lending/addresses/aave.d.ts.map +1 -0
  147. package/dist/lending/addresses/aave.js +10 -0
  148. package/dist/lending/addresses/aaveV2.d.ts +6 -0
  149. package/dist/lending/addresses/aaveV2.d.ts.map +1 -0
  150. package/dist/lending/addresses/aaveV2.js +6 -0
  151. package/dist/lending/addresses/aurelius.d.ts +12 -0
  152. package/dist/lending/addresses/aurelius.d.ts.map +1 -0
  153. package/dist/lending/addresses/aurelius.js +12 -0
  154. package/dist/lending/addresses/compoundV3.d.ts +10 -0
  155. package/dist/lending/addresses/compoundV3.d.ts.map +1 -0
  156. package/dist/lending/addresses/compoundV3.js +35 -0
  157. package/dist/lending/addresses/contracts.d.ts +5 -0
  158. package/dist/lending/addresses/contracts.d.ts.map +1 -0
  159. package/dist/lending/addresses/contracts.js +49 -0
  160. package/dist/lending/addresses/hana.d.ts +6 -0
  161. package/dist/lending/addresses/hana.d.ts.map +1 -0
  162. package/dist/lending/addresses/hana.js +6 -0
  163. package/dist/lending/addresses/index.d.ts +2 -0
  164. package/dist/lending/addresses/index.d.ts.map +1 -0
  165. package/dist/lending/addresses/index.js +1 -0
  166. package/dist/lending/addresses/init.d.ts +4 -0
  167. package/dist/lending/addresses/init.d.ts.map +1 -0
  168. package/dist/lending/addresses/init.js +33 -0
  169. package/dist/lending/addresses/lendle.d.ts +12 -0
  170. package/dist/lending/addresses/lendle.d.ts.map +1 -0
  171. package/dist/lending/addresses/lendle.js +12 -0
  172. package/dist/lending/addresses/meridian.d.ts +12 -0
  173. package/dist/lending/addresses/meridian.d.ts.map +1 -0
  174. package/dist/lending/addresses/meridian.js +12 -0
  175. package/dist/lending/addresses/takotako.d.ts +12 -0
  176. package/dist/lending/addresses/takotako.d.ts.map +1 -0
  177. package/dist/lending/addresses/takotako.js +12 -0
  178. package/dist/lending/compound-v3/publicCallBuild.d.ts +3 -0
  179. package/dist/lending/compound-v3/publicCallBuild.d.ts.map +1 -0
  180. package/dist/lending/compound-v3/publicCallBuild.js +63 -0
  181. package/dist/lending/compound-v3/publicCallParse.d.ts +7 -0
  182. package/dist/lending/compound-v3/publicCallParse.d.ts.map +1 -0
  183. package/dist/lending/compound-v3/publicCallParse.js +119 -0
  184. package/dist/lending/compound-v3/types.d.ts +30 -0
  185. package/dist/lending/compound-v3/types.d.ts.map +1 -0
  186. package/dist/lending/compound-v3/types.js +6 -0
  187. package/dist/lending/fetchLender.d.ts +8 -0
  188. package/dist/lending/fetchLender.d.ts.map +1 -0
  189. package/dist/lending/fetchLender.js +104 -0
  190. package/dist/lending/index.d.ts +3 -0
  191. package/dist/lending/index.d.ts.map +1 -0
  192. package/dist/lending/index.js +2 -0
  193. package/dist/lending/init/publicCallBuild.d.ts +7 -0
  194. package/dist/lending/init/publicCallBuild.d.ts.map +1 -0
  195. package/dist/lending/init/publicCallBuild.js +21 -0
  196. package/dist/lending/init/publicCallParse.d.ts +10 -0
  197. package/dist/lending/init/publicCallParse.d.ts.map +1 -0
  198. package/dist/lending/init/publicCallParse.js +75 -0
  199. package/dist/lending/init/types.d.ts +38 -0
  200. package/dist/lending/init/types.d.ts.map +1 -0
  201. package/dist/lending/init/types.js +6 -0
  202. package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts +4 -0
  203. package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts.map +1 -0
  204. package/dist/lending/user-data/aave-v2-type/userCallBuild.js +106 -0
  205. package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts +8 -0
  206. package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts.map +1 -0
  207. package/dist/lending/user-data/aave-v2-type/userCallParse.js +225 -0
  208. package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts +4 -0
  209. package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts.map +1 -0
  210. package/dist/lending/user-data/aave-v3-type/userCallBuild.js +41 -0
  211. package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts +8 -0
  212. package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts.map +1 -0
  213. package/dist/lending/user-data/aave-v3-type/userCallParse.js +76 -0
  214. package/dist/lending/user-data/abis.d.ts +8422 -0
  215. package/dist/lending/user-data/abis.d.ts.map +1 -0
  216. package/dist/lending/user-data/abis.js +46 -0
  217. package/dist/lending/user-data/compound-v3/addresses.d.ts +10 -0
  218. package/dist/lending/user-data/compound-v3/addresses.d.ts.map +1 -0
  219. package/dist/lending/user-data/compound-v3/addresses.js +32 -0
  220. package/dist/lending/user-data/compound-v3/index.d.ts +4 -0
  221. package/dist/lending/user-data/compound-v3/index.d.ts.map +1 -0
  222. package/dist/lending/user-data/compound-v3/index.js +3 -0
  223. package/dist/lending/user-data/compound-v3/userCallBuild.d.ts +4 -0
  224. package/dist/lending/user-data/compound-v3/userCallBuild.d.ts.map +1 -0
  225. package/dist/lending/user-data/compound-v3/userCallBuild.js +44 -0
  226. package/dist/lending/user-data/compound-v3/userCallParse.d.ts +8 -0
  227. package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -0
  228. package/dist/lending/user-data/compound-v3/userCallParse.js +98 -0
  229. package/dist/lending/user-data/fetchUserData.d.ts +24 -0
  230. package/dist/lending/user-data/fetchUserData.d.ts.map +1 -0
  231. package/dist/lending/user-data/fetchUserData.js +76 -0
  232. package/dist/lending/user-data/index.d.ts +3 -0
  233. package/dist/lending/user-data/index.d.ts.map +1 -0
  234. package/dist/lending/user-data/index.js +2 -0
  235. package/dist/lending/user-data/init/userCallBuild.d.ts +8 -0
  236. package/dist/lending/user-data/init/userCallBuild.d.ts.map +1 -0
  237. package/dist/lending/user-data/init/userCallBuild.js +20 -0
  238. package/dist/lending/user-data/init/userCallParse.d.ts +8 -0
  239. package/dist/lending/user-data/init/userCallParse.d.ts.map +1 -0
  240. package/dist/lending/user-data/init/userCallParse.js +87 -0
  241. package/dist/lending/user-data/types.d.ts +218 -0
  242. package/dist/lending/user-data/types.d.ts.map +1 -0
  243. package/dist/lending/user-data/types.js +26 -0
  244. package/dist/lending/user-data/utils/createGeneralUserState.d.ts +45 -0
  245. package/dist/lending/user-data/utils/createGeneralUserState.d.ts.map +1 -0
  246. package/dist/lending/user-data/utils/createGeneralUserState.js +98 -0
  247. package/dist/lending/user-data/utils/createMultiAccountStyleUserState.d.ts +16 -0
  248. package/dist/lending/user-data/utils/createMultiAccountStyleUserState.d.ts.map +1 -0
  249. package/dist/lending/user-data/utils/createMultiAccountStyleUserState.js +96 -0
  250. package/dist/lending/user-data/utils/formatting/generalFormatters.d.ts +55 -0
  251. package/dist/lending/user-data/utils/formatting/generalFormatters.d.ts.map +1 -0
  252. package/dist/lending/user-data/utils/formatting/generalFormatters.js +109 -0
  253. package/dist/lending/user-data/utils/formatting/index.d.ts +2 -0
  254. package/dist/lending/user-data/utils/formatting/index.d.ts.map +1 -0
  255. package/dist/lending/user-data/utils/formatting/index.js +1 -0
  256. package/dist/lending/user-data/utils/index.d.ts +8 -0
  257. package/dist/lending/user-data/utils/index.d.ts.map +1 -0
  258. package/dist/lending/user-data/utils/index.js +17 -0
  259. package/dist/lending-pairs/computeLendingPairs.d.ts +30 -0
  260. package/dist/lending-pairs/computeLendingPairs.d.ts.map +1 -0
  261. package/dist/lending-pairs/computeLendingPairs.js +153 -0
  262. package/dist/lending-pairs/index.d.ts +2 -0
  263. package/dist/lending-pairs/index.d.ts.map +1 -0
  264. package/dist/lending-pairs/index.js +1 -0
  265. package/dist/prices/defillama/index.d.ts +3 -0
  266. package/dist/prices/defillama/index.d.ts.map +1 -0
  267. package/dist/prices/defillama/index.js +269 -0
  268. package/dist/prices/index.d.ts +3 -0
  269. package/dist/prices/index.d.ts.map +1 -0
  270. package/dist/prices/index.js +2 -0
  271. package/dist/prices/main-prices/addresses/aaveOracles.d.ts +279 -0
  272. package/dist/prices/main-prices/addresses/aaveOracles.d.ts.map +1 -0
  273. package/dist/prices/main-prices/addresses/aaveOracles.js +278 -0
  274. package/dist/prices/main-prices/addresses/api3.d.ts +6 -0
  275. package/dist/prices/main-prices/addresses/api3.d.ts.map +1 -0
  276. package/dist/prices/main-prices/addresses/api3.js +9 -0
  277. package/dist/prices/main-prices/addresses/chainlink.d.ts +740 -0
  278. package/dist/prices/main-prices/addresses/chainlink.d.ts.map +1 -0
  279. package/dist/prices/main-prices/addresses/chainlink.js +744 -0
  280. package/dist/prices/main-prices/fetchOracleData.d.ts +12 -0
  281. package/dist/prices/main-prices/fetchOracleData.d.ts.map +1 -0
  282. package/dist/prices/main-prices/fetchOracleData.js +308 -0
  283. package/dist/prices/main-prices/index.d.ts +2 -0
  284. package/dist/prices/main-prices/index.d.ts.map +1 -0
  285. package/dist/prices/main-prices/index.js +1 -0
  286. package/dist/types/apiReturnType.d.ts +74 -0
  287. package/dist/types/apiReturnType.d.ts.map +1 -0
  288. package/dist/types/apiReturnType.js +1 -0
  289. package/dist/types/index.d.ts +42 -0
  290. package/dist/types/index.d.ts.map +1 -0
  291. package/dist/types/index.js +10 -0
  292. package/dist/types/providers.d.ts +12 -0
  293. package/dist/types/providers.d.ts.map +1 -0
  294. package/dist/types/providers.js +1 -0
  295. package/dist/utils/constants.d.ts +30 -0
  296. package/dist/utils/constants.d.ts.map +1 -0
  297. package/dist/utils/constants.js +97 -0
  298. package/dist/utils/index.d.ts +19 -0
  299. package/dist/utils/index.d.ts.map +1 -0
  300. package/dist/utils/index.js +71 -0
  301. package/dist/utils/multicall.d.ts +5 -0
  302. package/dist/utils/multicall.d.ts.map +1 -0
  303. package/dist/utils/multicall.js +30 -0
  304. package/dist/utils/parsing.d.ts +14 -0
  305. package/dist/utils/parsing.d.ts.map +1 -0
  306. package/dist/utils/parsing.js +61 -0
  307. package/dist/yields/index.d.ts +21 -0
  308. package/dist/yields/index.d.ts.map +1 -0
  309. package/dist/yields/index.js +157 -0
  310. package/package.json +26 -0
  311. package/src/abis/aave/AToken.ts +686 -0
  312. package/src/abis/aave/AaveOracle.ts +53 -0
  313. package/src/abis/aave/AavePoolAndDataProvider.ts +2080 -0
  314. package/src/abis/aave/AavePoolV3.ts +1060 -0
  315. package/src/abis/aave/AavePoolV3Upgraded.ts +1474 -0
  316. package/src/abis/aave/AaveV3ProtocolDataProvider.ts +553 -0
  317. package/src/abis/aave/VariableDebtToken.ts +820 -0
  318. package/src/abis/aave-v2/ProtocolDataProvider.ts +312 -0
  319. package/src/abis/aave-v2/YLDR.ts +199 -0
  320. package/src/abis/aave-v3/AavePoolDataProviderLegacy.ts +459 -0
  321. package/src/abis/aave-v3/AavePoolLegacy.ts +1060 -0
  322. package/src/abis/aurelius/Rewarder.ts +118 -0
  323. package/src/abis/compound-v2/CompoundLens.ts +851 -0
  324. package/src/abis/compound-v2/Comptroller.ts +2104 -0
  325. package/src/abis/compound-v3/Comet.ts +1829 -0
  326. package/src/abis/compound-v3/CometExt.ts +536 -0
  327. package/src/abis/compound-v3/CometLens.ts +194 -0
  328. package/src/abis/compound-v3/CometRewards.ts +330 -0
  329. package/src/abis/compound-v3/IrGetter.ts +31 -0
  330. package/src/abis/flashloan-united/flashAbi.ts +72 -0
  331. package/src/abis/init/Core.ts +681 -0
  332. package/src/abis/init/InitFlashAggregator.ts +795 -0
  333. package/src/abis/init/InitLens.ts +203 -0
  334. package/src/abis/init/PosManager.ts +1055 -0
  335. package/src/abis/lendle/IncentivesController.ts +525 -0
  336. package/src/abis/lendle/MultiFeeDistribution.ts +820 -0
  337. package/src/abis/meridian/PullRewardsIncentivesController.ts +98 -0
  338. package/src/abis/multicall/Multicall.ts +101 -0
  339. package/src/abis/oracle/AaveOracle.ts +53 -0
  340. package/src/abis/oracle/Api3Oracle.ts +62 -0
  341. package/src/abis/oracle/ChainLinkAggregator.ts +480 -0
  342. package/src/abis/oracle/RWADynamicOracle.ts +15 -0
  343. package/src/abis/oracle/UniswapV2Pair.ts +659 -0
  344. package/src/abis/uniswap/FeeOnTransferDetector.ts +133 -0
  345. package/src/abis/uniswap/UniswapV2Pair.ts +659 -0
  346. package/src/assets/index.ts +82 -0
  347. package/src/flash-liquidity/assets.ts +61 -0
  348. package/src/flash-liquidity/fetchLiquidity.ts +300 -0
  349. package/src/flash-liquidity/index.ts +1 -0
  350. package/src/flash-liquidity/types.ts +20 -0
  351. package/src/index.ts +7 -0
  352. package/src/lending/aave-v2-type/misc.ts +9 -0
  353. package/src/lending/aave-v2-type/publicCallBuild.ts +105 -0
  354. package/src/lending/aave-v2-type/publicCallParse.ts +300 -0
  355. package/src/lending/aave-v2-type/types.ts +98 -0
  356. package/src/lending/aave-v3-type/publicCallBuild.ts +148 -0
  357. package/src/lending/aave-v3-type/publicCallParse.ts +373 -0
  358. package/src/lending/aave-v3-type/types.ts +181 -0
  359. package/src/lending/addresses/aave.ts +12 -0
  360. package/src/lending/addresses/aaveV2.ts +8 -0
  361. package/src/lending/addresses/aurelius.ts +13 -0
  362. package/src/lending/addresses/compoundV3.ts +42 -0
  363. package/src/lending/addresses/contracts.ts +54 -0
  364. package/src/lending/addresses/hana.ts +7 -0
  365. package/src/lending/addresses/index.ts +1 -0
  366. package/src/lending/addresses/init.ts +37 -0
  367. package/src/lending/addresses/lendle.ts +13 -0
  368. package/src/lending/addresses/meridian.ts +13 -0
  369. package/src/lending/addresses/takotako.ts +14 -0
  370. package/src/lending/compound-v3/publicCallBuild.ts +74 -0
  371. package/src/lending/compound-v3/publicCallParse.ts +143 -0
  372. package/src/lending/compound-v3/types.ts +43 -0
  373. package/src/lending/fetchLender.ts +138 -0
  374. package/src/lending/index.ts +2 -0
  375. package/src/lending/init/publicCallBuild.ts +29 -0
  376. package/src/lending/init/publicCallParse.ts +90 -0
  377. package/src/lending/init/types.ts +50 -0
  378. package/src/lending/user-data/aave-v2-type/userCallBuild.ts +142 -0
  379. package/src/lending/user-data/aave-v2-type/userCallParse.ts +328 -0
  380. package/src/lending/user-data/aave-v3-type/userCallBuild.ts +58 -0
  381. package/src/lending/user-data/aave-v3-type/userCallParse.ts +115 -0
  382. package/src/lending/user-data/abis.ts +45 -0
  383. package/src/lending/user-data/compound-v3/addresses.ts +40 -0
  384. package/src/lending/user-data/compound-v3/index.ts +3 -0
  385. package/src/lending/user-data/compound-v3/userCallBuild.ts +53 -0
  386. package/src/lending/user-data/compound-v3/userCallParse.ts +123 -0
  387. package/src/lending/user-data/fetchUserData.ts +121 -0
  388. package/src/lending/user-data/index.ts +2 -0
  389. package/src/lending/user-data/init/userCallBuild.ts +26 -0
  390. package/src/lending/user-data/init/userCallParse.ts +115 -0
  391. package/src/lending/user-data/types.ts +280 -0
  392. package/src/lending/user-data/utils/createGeneralUserState.ts +118 -0
  393. package/src/lending/user-data/utils/createMultiAccountStyleUserState.ts +113 -0
  394. package/src/lending/user-data/utils/formatting/generalFormatters.ts +121 -0
  395. package/src/lending/user-data/utils/formatting/index.ts +1 -0
  396. package/src/lending/user-data/utils/index.ts +19 -0
  397. package/src/lending-pairs/computeLendingPairs.ts +213 -0
  398. package/src/lending-pairs/index.ts +1 -0
  399. package/src/prices/defillama/index.ts +306 -0
  400. package/src/prices/index.ts +2 -0
  401. package/src/prices/main-prices/addresses/aaveOracles.ts +279 -0
  402. package/src/prices/main-prices/addresses/api3.ts +10 -0
  403. package/src/prices/main-prices/addresses/chainlink.ts +750 -0
  404. package/src/prices/main-prices/fetchOracleData.ts +406 -0
  405. package/src/prices/main-prices/index.ts +1 -0
  406. package/src/types/apiReturnType.ts +80 -0
  407. package/src/types/index.ts +38 -0
  408. package/src/types/providers.ts +26 -0
  409. package/src/utils/constants.ts +100 -0
  410. package/src/utils/index.ts +87 -0
  411. package/src/utils/multicall.ts +53 -0
  412. package/src/utils/parsing.ts +75 -0
  413. package/src/yields/index.ts +198 -0
  414. package/test/index.test.ts +104 -0
  415. package/test/lenderData.test.ts +13718 -0
  416. package/test/mainPrices.test.ts +35 -0
  417. package/test/userdata.test.ts +200 -0
  418. package/tsconfig.json +28 -0
@@ -0,0 +1,218 @@
1
+ import { Lender } from "@1delta/asset-registry";
2
+ import { BaseYields, RewardsMap } from "../aave-v3-type/types";
3
+ export type SerializedBigNumber = string;
4
+ export type SerializedNumber = string;
5
+ export interface LenderUserQuery {
6
+ lender: Lender;
7
+ account: string;
8
+ }
9
+ export interface AllowanceData {
10
+ allowanceWithdrawal: string;
11
+ allowanceBorrowingVariable: string;
12
+ allowanceBorrowingStable: string;
13
+ }
14
+ export interface UserLendingPosition extends AllowanceData {
15
+ deposits: number;
16
+ debt: number;
17
+ debtStable: number;
18
+ depositsUSD: number;
19
+ debtUSD: number;
20
+ debtStableUSD: number;
21
+ collateralActive: boolean;
22
+ claimableRewards: number;
23
+ }
24
+ export type UserRewardEntry = {
25
+ [asset: string]: {
26
+ totalRewards: number;
27
+ claimableRewards: number;
28
+ };
29
+ };
30
+ export interface LenderUserResponse {
31
+ chainId: string;
32
+ account: string;
33
+ lendingPositions: {
34
+ [lender: string]: {
35
+ [tokenSymbol: string]: UserLendingPosition;
36
+ };
37
+ };
38
+ rewards: UserRewardEntry;
39
+ }
40
+ export declare enum AaveV2TypeGetUserReserveData {
41
+ currentATokenBalance = 0,
42
+ currentStableDebt = 1,
43
+ currentVariableDebt = 2,
44
+ principalStableDebt = 3,
45
+ scaledVariableDebt = 4,
46
+ stableBorrowRate = 5,
47
+ liquidityRate = 6,
48
+ stableRateLastUpdated = 7,
49
+ usageAsCollateralEnabled = 8
50
+ }
51
+ export declare enum AaveV3TypeGetUserReserveData {
52
+ currentATokenBalance = 0,
53
+ currentStableDebt = 1,
54
+ currentVariableDebt = 2,
55
+ principalStableDebt = 3,
56
+ scaledVariableDebt = 4,
57
+ stableBorrowRate = 5,
58
+ liquidityRate = 6,
59
+ stableRateLastUpdated = 7,
60
+ usageAsCollateralEnabled = 8
61
+ }
62
+ export interface AaveV2UserReserveResponse {
63
+ chainId: string;
64
+ account: string;
65
+ lendingPositions: {
66
+ [id: string]: {
67
+ [tokenSymbol: string]: AavelendingPositions;
68
+ };
69
+ };
70
+ rewards: UserRewardEntry;
71
+ }
72
+ interface AavelendingPositions extends AllowanceData {
73
+ deposits: number;
74
+ debt: number;
75
+ debtStable: number;
76
+ depositsUSD: number;
77
+ debtUSD: number;
78
+ debtStableUSD: number;
79
+ collateralActive: boolean;
80
+ claimableRewards: number;
81
+ }
82
+ export interface AaveV3UserReserveResponse {
83
+ chainId: string;
84
+ lendingPositions: {
85
+ [id: string]: {
86
+ [tokenSymbol: string]: AavelendingPositions;
87
+ };
88
+ };
89
+ userEMode: number;
90
+ rewards?: any;
91
+ account: string;
92
+ }
93
+ export interface CompoundV3UserReserveResponse {
94
+ lendingPositions: {
95
+ [id: string]: {
96
+ [tokenSymbol: string]: {
97
+ deposits: number;
98
+ debt: number;
99
+ debtStable: number;
100
+ depositsUSD: number;
101
+ debtUSD: number;
102
+ debtStableUSD: number;
103
+ collateralActive: boolean;
104
+ depositsRaw: SerializedBigNumber;
105
+ isAllowed: boolean;
106
+ };
107
+ };
108
+ };
109
+ chainId: string;
110
+ baseAsset: string;
111
+ rewards: UserRewardEntry;
112
+ account: string;
113
+ }
114
+ export interface AaveV3Public extends LenderPublicBase {
115
+ lastUpdateTimestamp?: number;
116
+ usageAsCollateralEnabled?: boolean;
117
+ hasStable?: boolean;
118
+ isActive?: boolean;
119
+ isFrozen?: boolean;
120
+ eMode?: EModeData;
121
+ debtCeiling: number;
122
+ supplyCap: number;
123
+ borrowCap: number;
124
+ config: {
125
+ [modeId: number]: LenderConfigData;
126
+ };
127
+ }
128
+ /**
129
+ * Interface shared by all lenders
130
+ */
131
+ export interface LenderPublicBase extends LenderYields, LenderTotalAmounts {
132
+ borrowingEnabled: boolean;
133
+ config: LenderConfigMap;
134
+ }
135
+ export interface LenderYields extends BaseYields {
136
+ stakingYield: number;
137
+ rewards?: RewardsMap;
138
+ }
139
+ export interface LenderTotalAmounts {
140
+ totalDebt: number;
141
+ totalDebtStable: number;
142
+ totalDeposits: number;
143
+ totalLiquidity: number;
144
+ /** USD values */
145
+ totalDebtUSD: number;
146
+ totalDebtStableUSD: number;
147
+ totalDepositsUSD: number;
148
+ totalLiquidityUSD: number;
149
+ }
150
+ export interface LenderConfigMap {
151
+ [modeId: number]: LenderConfigData;
152
+ }
153
+ /**
154
+ * The Mode-specific configuration for a lender asset
155
+ */
156
+ export interface LenderConfigData {
157
+ category: number;
158
+ borrowCollateralFactor: number;
159
+ collateralFactor: number;
160
+ borrowFactor: number;
161
+ }
162
+ export interface ModeBase {
163
+ category: number;
164
+ label: string;
165
+ }
166
+ export interface EModeData extends ModeBase {
167
+ borrowCollateralFactor: number;
168
+ collateralFactor: number;
169
+ priceSource: string;
170
+ }
171
+ export interface AaveV2Public extends LenderPublicBase {
172
+ lastUpdateTimestamp?: number;
173
+ decimals?: number;
174
+ reserveFactor?: SerializedBigNumber;
175
+ usageAsCollateralEnabled?: boolean;
176
+ hasStable?: boolean;
177
+ isActive?: boolean;
178
+ isFrozen?: boolean;
179
+ }
180
+ export interface CompoundV3Public extends LenderPublicBase {
181
+ supplyCap: number;
182
+ utilization: number;
183
+ }
184
+ export interface UserApr {
185
+ apr: number;
186
+ borrowApr: number;
187
+ depositApr: number;
188
+ }
189
+ export interface InitUserReserveResponse {
190
+ chainId: string;
191
+ lendingPositions: {
192
+ [posId: string]: {
193
+ mode: number;
194
+ positions: {
195
+ [tokenSymbol: string]: {
196
+ deposits: number;
197
+ debt: number;
198
+ depositsUSD: number;
199
+ debtUSD: number;
200
+ debtStable: 0;
201
+ debtStableUSD: 0;
202
+ collateralActive: boolean;
203
+ isAllowed: boolean;
204
+ };
205
+ };
206
+ };
207
+ };
208
+ assets: string[];
209
+ account: string;
210
+ }
211
+ export interface InitPublic extends LenderPublicBase {
212
+ usageAsCollateralEnabled?: boolean;
213
+ debtCeiling: number;
214
+ supplyCap: number;
215
+ borrowCap: number;
216
+ }
217
+ export {};
218
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lending/user-data/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ // Aave V2 specific enums
2
+ export var AaveV2TypeGetUserReserveData;
3
+ (function (AaveV2TypeGetUserReserveData) {
4
+ AaveV2TypeGetUserReserveData[AaveV2TypeGetUserReserveData["currentATokenBalance"] = 0] = "currentATokenBalance";
5
+ AaveV2TypeGetUserReserveData[AaveV2TypeGetUserReserveData["currentStableDebt"] = 1] = "currentStableDebt";
6
+ AaveV2TypeGetUserReserveData[AaveV2TypeGetUserReserveData["currentVariableDebt"] = 2] = "currentVariableDebt";
7
+ AaveV2TypeGetUserReserveData[AaveV2TypeGetUserReserveData["principalStableDebt"] = 3] = "principalStableDebt";
8
+ AaveV2TypeGetUserReserveData[AaveV2TypeGetUserReserveData["scaledVariableDebt"] = 4] = "scaledVariableDebt";
9
+ AaveV2TypeGetUserReserveData[AaveV2TypeGetUserReserveData["stableBorrowRate"] = 5] = "stableBorrowRate";
10
+ AaveV2TypeGetUserReserveData[AaveV2TypeGetUserReserveData["liquidityRate"] = 6] = "liquidityRate";
11
+ AaveV2TypeGetUserReserveData[AaveV2TypeGetUserReserveData["stableRateLastUpdated"] = 7] = "stableRateLastUpdated";
12
+ AaveV2TypeGetUserReserveData[AaveV2TypeGetUserReserveData["usageAsCollateralEnabled"] = 8] = "usageAsCollateralEnabled";
13
+ })(AaveV2TypeGetUserReserveData || (AaveV2TypeGetUserReserveData = {}));
14
+ // Aave V3 specific enums
15
+ export var AaveV3TypeGetUserReserveData;
16
+ (function (AaveV3TypeGetUserReserveData) {
17
+ AaveV3TypeGetUserReserveData[AaveV3TypeGetUserReserveData["currentATokenBalance"] = 0] = "currentATokenBalance";
18
+ AaveV3TypeGetUserReserveData[AaveV3TypeGetUserReserveData["currentStableDebt"] = 1] = "currentStableDebt";
19
+ AaveV3TypeGetUserReserveData[AaveV3TypeGetUserReserveData["currentVariableDebt"] = 2] = "currentVariableDebt";
20
+ AaveV3TypeGetUserReserveData[AaveV3TypeGetUserReserveData["principalStableDebt"] = 3] = "principalStableDebt";
21
+ AaveV3TypeGetUserReserveData[AaveV3TypeGetUserReserveData["scaledVariableDebt"] = 4] = "scaledVariableDebt";
22
+ AaveV3TypeGetUserReserveData[AaveV3TypeGetUserReserveData["stableBorrowRate"] = 5] = "stableBorrowRate";
23
+ AaveV3TypeGetUserReserveData[AaveV3TypeGetUserReserveData["liquidityRate"] = 6] = "liquidityRate";
24
+ AaveV3TypeGetUserReserveData[AaveV3TypeGetUserReserveData["stableRateLastUpdated"] = 7] = "stableRateLastUpdated";
25
+ AaveV3TypeGetUserReserveData[AaveV3TypeGetUserReserveData["usageAsCollateralEnabled"] = 8] = "usageAsCollateralEnabled";
26
+ })(AaveV3TypeGetUserReserveData || (AaveV3TypeGetUserReserveData = {}));
@@ -0,0 +1,45 @@
1
+ import { AaveV2Public, AaveV2UserReserveResponse, AaveV3Public, AaveV3UserReserveResponse, CompoundV3Public, CompoundV3UserReserveResponse } from "../types";
2
+ type LenderUserData = AaveV3UserReserveResponse | AaveV2UserReserveResponse | CompoundV3UserReserveResponse;
3
+ type LenderState = AaveV3Public | AaveV2Public | CompoundV3Public;
4
+ export declare function createBaseTypeUserState(payload: LenderUserData, lenderData: {
5
+ [a: string]: LenderState;
6
+ }, totalDeposits24h?: number, totalDebt24h?: number): {
7
+ account: string;
8
+ chainId: string;
9
+ balanceData: {
10
+ "0": {
11
+ rewards?: any;
12
+ borrowDiscountedCollateral: number;
13
+ collateral: number;
14
+ deposits: number;
15
+ debt: number;
16
+ adjustedDebt: number;
17
+ nav: number;
18
+ deposits24h: number;
19
+ debt24h: number;
20
+ nav24h: number;
21
+ };
22
+ };
23
+ aprData: {
24
+ "0": {
25
+ apr: number;
26
+ borrowApr: number;
27
+ depositApr: number;
28
+ rewards: any;
29
+ rewardApr: number;
30
+ rewardDepositApr: number;
31
+ rewardBorrowApr: number;
32
+ stakingApr: number;
33
+ stakingDepositApr: number;
34
+ stakingBorrowApr: number;
35
+ };
36
+ };
37
+ userConfigs: {
38
+ "0": {
39
+ selectedMode: number;
40
+ id: string;
41
+ };
42
+ };
43
+ };
44
+ export {};
45
+ //# sourceMappingURL=createGeneralUserState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createGeneralUserState.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/createGeneralUserState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,YAAY,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AAG5J,KAAK,cAAc,GAAG,yBAAyB,GAAG,yBAAyB,GAAG,6BAA6B,CAAA;AAC3G,KAAK,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,gBAAgB,CAAA;AAEjE,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,EACxC,gBAAgB,GAAE,MAAU,EAC5B,YAAY,GAAE,MAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0GzB"}
@@ -0,0 +1,98 @@
1
+ import { divideAccrualsToAprs } from ".";
2
+ import { safeDivide } from "./formatting";
3
+ export function createBaseTypeUserState(payload, lenderData, totalDeposits24h = 0, totalDebt24h = 0) {
4
+ let assetKeys = Object.keys(payload.lendingPositions["0"] ?? {});
5
+ const { chainId, account } = payload;
6
+ const mode = Number(payload.userEMode ?? 0);
7
+ // organic yields
8
+ let depositInterest = 0;
9
+ let borrowInterest = 0;
10
+ // rewards
11
+ let rewardDepositAccrual = 0;
12
+ let rewardBorrowAccrual = 0;
13
+ // staking
14
+ let stakingDepositAccrual = 0;
15
+ let stakingBorrowAccrual = 0;
16
+ // amountrs
17
+ let deposits = 0;
18
+ let debt = 0;
19
+ let collateral = 0;
20
+ let borrowDiscountedCollateral = 0;
21
+ let rewardsPerAsset = {};
22
+ // main user data
23
+ for (let i = 0; i < assetKeys.length; i++) {
24
+ const asset = assetKeys[i];
25
+ if (!lenderData?.[asset])
26
+ continue;
27
+ const { depositsUSD, debtStableUSD, debtUSD, collateralActive } = payload.lendingPositions["0"][asset];
28
+ const { depositRate, stakingYield, variableBorrowRate, stableBorrowRate, rewards } = lenderData[asset];
29
+ // amounts
30
+ deposits += depositsUSD;
31
+ debt += debtStableUSD;
32
+ debt += debtUSD;
33
+ // rewards
34
+ Object.entries(rewards ?? {}).forEach(([key, rewardData]) => {
35
+ rewardDepositAccrual += rewardData.depositRate * depositsUSD;
36
+ rewardBorrowAccrual += rewardData.variableBorrowRate * debtUSD + (rewardData.stableBorrowRate ?? 0) * debtStableUSD;
37
+ // totals
38
+ const rewDepo = rewardData.depositRate * depositsUSD;
39
+ const rewDebt = rewardData.variableBorrowRate * debtUSD + (rewardData.stableBorrowRate ?? 0) * (debtStableUSD ?? 0);
40
+ if (!rewardsPerAsset[key])
41
+ rewardsPerAsset[key] = { depositApr: 0, borrowApr: 0 };
42
+ if (rewDepo > 0)
43
+ rewardsPerAsset[key].depositApr += rewDepo;
44
+ if (rewDebt > 0)
45
+ rewardsPerAsset[key].borrowApr += rewDebt;
46
+ });
47
+ // staking
48
+ stakingDepositAccrual += (stakingYield ?? 0) * depositsUSD;
49
+ stakingBorrowAccrual += (stakingYield ?? 0) * (debtStableUSD + debtUSD);
50
+ if (collateralActive) {
51
+ // risk adjusted
52
+ collateral += (lenderData[asset].config[mode]?.collateralFactor ?? 1) * depositsUSD;
53
+ borrowDiscountedCollateral += (lenderData[asset].config[mode]?.borrowCollateralFactor ?? 1) * depositsUSD;
54
+ }
55
+ // IRs
56
+ depositInterest += depositRate * depositsUSD;
57
+ borrowInterest += debtStableUSD * stableBorrowRate + debtUSD * variableBorrowRate;
58
+ }
59
+ const nav = deposits - debt;
60
+ // aggregated balance data
61
+ const balanceData = {
62
+ "0": {
63
+ borrowDiscountedCollateral,
64
+ collateral,
65
+ deposits,
66
+ debt,
67
+ adjustedDebt: debt,
68
+ nav,
69
+ deposits24h: totalDeposits24h,
70
+ debt24h: totalDebt24h,
71
+ nav24h: totalDeposits24h - totalDebt24h,
72
+ ...(payload.rewards ? { rewards: payload.rewards } : {})
73
+ }
74
+ };
75
+ // aggregated apr data
76
+ const aprData = {
77
+ "0": {
78
+ apr: safeDivide(depositInterest - borrowInterest, nav),
79
+ borrowApr: safeDivide(borrowInterest, debt),
80
+ depositApr: safeDivide(depositInterest, deposits),
81
+ rewards: divideAccrualsToAprs(rewardsPerAsset, nav, deposits, debt),
82
+ rewardApr: safeDivide(rewardDepositAccrual + rewardBorrowAccrual, nav),
83
+ rewardDepositApr: safeDivide(rewardDepositAccrual, deposits),
84
+ rewardBorrowApr: safeDivide(rewardBorrowAccrual, debt),
85
+ stakingApr: safeDivide(stakingDepositAccrual - stakingBorrowAccrual, nav),
86
+ stakingDepositApr: safeDivide(stakingDepositAccrual, deposits),
87
+ stakingBorrowApr: safeDivide(stakingBorrowAccrual, debt),
88
+ }
89
+ };
90
+ const userConfigs = { "0": { selectedMode: mode, id: account } };
91
+ return {
92
+ account,
93
+ chainId,
94
+ balanceData,
95
+ aprData,
96
+ userConfigs,
97
+ };
98
+ }
@@ -0,0 +1,16 @@
1
+ import { InitPublic, InitUserReserveResponse } from "../types";
2
+ export declare function createMultiAccountTypeUserState(payload: InitUserReserveResponse, lenderData: {
3
+ [a: string]: InitPublic;
4
+ }, histData: {
5
+ [a: string]: {
6
+ totalDebt24h: number;
7
+ totalDeposits24h: number;
8
+ };
9
+ }): {
10
+ account: string;
11
+ chainId: string;
12
+ balanceData: any;
13
+ aprData: any;
14
+ userConfigs: any;
15
+ };
16
+ //# sourceMappingURL=createMultiAccountStyleUserState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMultiAccountStyleUserState.d.ts","sourceRoot":"","sources":["../../../../src/lending/user-data/utils/createMultiAccountStyleUserState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAG9D,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,uBAAuB,EAChC,UAAU,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,EACvC,QAAQ,EAAE;IACR,CAAC,CAAC,EAAE,MAAM,GAAG;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAA;CACF;;;;;;EAoGF"}
@@ -0,0 +1,96 @@
1
+ import { LENDER_MODE_NO_MODE } from "../../../assets";
2
+ import { safeDivide } from "./formatting";
3
+ export function createMultiAccountTypeUserState(payload, lenderData, histData) {
4
+ const positionKeys = Object.keys(payload.lendingPositions ?? {});
5
+ let assetKeys = payload.assets;
6
+ const { chainId, account } = payload;
7
+ let userConfigs = {};
8
+ let balanceData = {};
9
+ let aprData = {};
10
+ // main user data
11
+ for (let j = 0; j < positionKeys.length; j++) {
12
+ const posId = positionKeys[j];
13
+ const position = payload.lendingPositions[posId];
14
+ const { mode: posMode } = position;
15
+ // position mode can be undefined
16
+ // in this case we default to no mode
17
+ const mode = posMode ?? LENDER_MODE_NO_MODE;
18
+ userConfigs[posId] = {
19
+ id: posId,
20
+ selectedMode: mode,
21
+ };
22
+ // organic yields
23
+ let depositInterest = 0;
24
+ let borrowInterest = 0;
25
+ // rewards
26
+ let rewardDepositAccrual = 0;
27
+ let rewardBorrowAccrual = 0;
28
+ // staking
29
+ let stakingDepositAccrual = 0;
30
+ let stakingBorrowAccrual = 0;
31
+ // amountrs
32
+ let deposits = 0;
33
+ let debt = 0;
34
+ let collateral = 0;
35
+ let borrowDiscountedCollateral = 0;
36
+ let adjustedDebt = 0;
37
+ for (let i = 0; i < assetKeys.length; i++) {
38
+ const asset = assetKeys[i];
39
+ const { depositsUSD, debtUSD } = payload.lendingPositions[posId].positions[asset];
40
+ if (!lenderData?.[asset])
41
+ continue;
42
+ const { depositRate, stakingYield, variableBorrowRate, rewards } = lenderData[asset];
43
+ // amounts
44
+ deposits += depositsUSD;
45
+ debt += debtUSD;
46
+ // rewards
47
+ Object.entries(rewards ?? {}).map(([key, rewardData]) => {
48
+ rewardDepositAccrual += rewardData.depositRate * depositsUSD;
49
+ rewardBorrowAccrual += rewardData.variableBorrowRate * debtUSD + rewardData.stableBorrowRate * debtUSD;
50
+ });
51
+ // staking
52
+ stakingDepositAccrual += (stakingYield ?? 0) * depositsUSD;
53
+ stakingBorrowAccrual += (stakingYield ?? 0) * debtUSD;
54
+ const config = lenderData[asset].config[mode];
55
+ // risk adjusted
56
+ collateral += (config?.collateralFactor ?? 1) * depositsUSD;
57
+ borrowDiscountedCollateral += (config?.borrowCollateralFactor ?? 1) * depositsUSD;
58
+ adjustedDebt += (config?.borrowFactor ?? 1) * debtUSD;
59
+ // IRs
60
+ depositInterest += depositRate * depositsUSD;
61
+ borrowInterest += debtUSD * variableBorrowRate;
62
+ }
63
+ const nav = deposits - debt;
64
+ // aggregated balance data
65
+ balanceData[posId] = {
66
+ borrowDiscountedCollateral,
67
+ collateral,
68
+ deposits,
69
+ debt,
70
+ adjustedDebt,
71
+ nav,
72
+ deposits24h: histData[posId]?.totalDeposits24h,
73
+ debt24h: histData[posId]?.totalDebt24h,
74
+ nav24h: histData[posId]?.totalDeposits24h - histData[posId]?.totalDebt24h,
75
+ };
76
+ // aggregated apr data
77
+ aprData[posId] = {
78
+ apr: safeDivide(depositInterest - borrowInterest, nav),
79
+ borrowApr: safeDivide(borrowInterest, debt),
80
+ depositApr: safeDivide(depositInterest, deposits),
81
+ rewardApr: safeDivide(rewardDepositAccrual + rewardBorrowAccrual, nav),
82
+ rewardDepositApr: safeDivide(rewardDepositAccrual, deposits),
83
+ rewardBorrowApr: safeDivide(rewardBorrowAccrual, debt),
84
+ stakingApr: safeDivide(stakingDepositAccrual - stakingBorrowAccrual, nav),
85
+ stakingDepositApr: safeDivide(stakingDepositAccrual, deposits),
86
+ stakingBorrowApr: safeDivide(stakingBorrowAccrual, debt),
87
+ };
88
+ }
89
+ return {
90
+ account,
91
+ chainId,
92
+ balanceData,
93
+ aprData,
94
+ userConfigs
95
+ };
96
+ }
@@ -0,0 +1,55 @@
1
+ import { LenderConfigMap } from '../../types';
2
+ export declare const safeDivide: (a: number, b: number) => number;
3
+ export declare function capitalizeFirstLetter(data: string): string;
4
+ /**
5
+ * Formats e.g. 0.04 to 4%
6
+ * @param n ratio
7
+ * @param decs decimals to show
8
+ * @returns percent as string
9
+ */
10
+ export declare const formatRatioToPercent: (n: number, decs: number) => string;
11
+ /**
12
+ * Formats e.g. 0.04 to 4%, adds a + if positive
13
+ * @param n ratio
14
+ * @param decs decimals to show
15
+ * @returns percent as string
16
+ */
17
+ export declare const formatSignedRatioToPercent: (n: number, decs: number) => string;
18
+ export declare const formatSignedRatioToPercentSign: (n: number, decs: number, skipSign?: boolean) => string;
19
+ /**
20
+ * Formats e.g. 4 to 4%
21
+ * @param n percent number
22
+ * @param decs decimals to show
23
+ * @returns percent as string
24
+ */
25
+ export declare const formatNumberToPercent: (n: number | undefined, decs?: number) => string;
26
+ export declare const formatPercentagePoints: (n: number, decs: number) => string;
27
+ export declare const formatNumber: (n: number, decs: number) => string;
28
+ /**
29
+ * Round using lodash
30
+ * @param n number to round
31
+ * @param decs decimals
32
+ * @returns number
33
+ */
34
+ export declare const roundNumber: (n: number, decs: number) => number;
35
+ /**
36
+ * Converts a colateral factor e.g. 0.8 to 1/(1-0.8) = 5
37
+ * @param n amount
38
+ * @param decs decimals to show
39
+ * @returns leverage as string
40
+ */
41
+ export declare const convertCollateralFactorToLeverage: (n: number, decs: number) => number;
42
+ export declare const parseToTimes: (n: number) => string;
43
+ export declare const parseToTimesPrefix: (n: number) => string;
44
+ export declare const parseLeverage: (cf: number, decs?: number) => string;
45
+ export declare const parseLeverageRange: (config: LenderConfigMap) => string;
46
+ /**
47
+ * Get apr from intinsic interest and reward
48
+ * @param apr apr number
49
+ * @param reward reward [per year] number
50
+ * @returns number, validated for NaN
51
+ */
52
+ export declare const getApr: (apr: number, reward: number, staking: number) => string;
53
+ export declare const aprToApy: (apr: number) => number;
54
+ export declare const apyToApr: (apy: number) => number;
55
+ //# sourceMappingURL=generalFormatters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generalFormatters.d.ts","sourceRoot":"","sources":["../../../../../src/lending/user-data/utils/formatting/generalFormatters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,WAE9C,CAAA;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,UAGjD;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,GAAG,MAAM,EAAE,MAAM,MAAM,WAE3D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GAAI,GAAG,MAAM,EAAE,MAAM,MAAM,WAGjE,CAAA;AAED,eAAO,MAAM,8BAA8B,GAAI,GAAG,MAAM,EAAE,MAAM,MAAM,EAAE,kBAAgB,WAIvF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,GAAG,MAAM,GAAG,SAAS,EAAE,aAAQ,WAIpE,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,GAAG,MAAM,EAAE,MAAM,MAAM,WAE7D,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,EAAE,MAAM,MAAM,WAInD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,EAAE,MAAM,MAAM,WAElD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,GAAI,GAAG,MAAM,EAAE,MAAM,MAAM,KAAG,MAE3E,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,WAAY,CAAA;AAElD,eAAO,MAAM,kBAAkB,GAAI,GAAG,MAAM,WAAY,CAAA;AAExD,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,EAAE,aAAQ,WAA8D,CAAA;AAEhH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,eAAe,WAOzD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,EAAE,SAAS,MAAM,WAMlE,CAAA;AAMD,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,WAEnC,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,WAEnC,CAAA"}