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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/dist/_esm-2UAQOYNJ.js +3898 -0
  2. package/dist/_esm-2UAQOYNJ.js.map +1 -0
  3. package/dist/abis/aave-v2/YLDR.d.ts.map +1 -1
  4. package/dist/abis/aave-v3/AavePoolDataProviderLegacy.d.ts.map +1 -1
  5. package/dist/abis/compound-v2/CollateralToken.d.ts +58 -0
  6. package/dist/abis/compound-v2/CollateralToken.d.ts.map +1 -0
  7. package/dist/abis/compound-v2/Comptroller.d.ts +1 -1600
  8. package/dist/abis/compound-v2/Comptroller.d.ts.map +1 -1
  9. package/dist/abis/compound-v2/VenusLens.d.ts +1007 -0
  10. package/dist/abis/{aave/AavePoolV3.d.ts.map → compound-v2/VenusLens.d.ts.map} +1 -1
  11. package/dist/abis/compound-v2/VenusLensLegacy.d.ts +109 -0
  12. package/dist/abis/compound-v2/VenusLensLegacy.d.ts.map +1 -0
  13. package/dist/abis/compound-v3/Comet.d.ts +0 -20
  14. package/dist/abis/compound-v3/Comet.d.ts.map +1 -1
  15. package/dist/abis/morpho/lens.d.ts +127 -15
  16. package/dist/abis/morpho/lens.d.ts.map +1 -1
  17. package/dist/abis/multicall/Multicall.d.ts.map +1 -1
  18. package/dist/abis/oracle/ChainLinkAggregator.d.ts +5 -223
  19. package/dist/abis/oracle/ChainLinkAggregator.d.ts.map +1 -1
  20. package/dist/abis/oracle/ProxyOracle.d.ts +26 -0
  21. package/dist/abis/oracle/ProxyOracle.d.ts.map +1 -0
  22. package/dist/abis/oracle/UniV3.d.ts +12 -0
  23. package/dist/abis/oracle/UniV3.d.ts.map +1 -0
  24. package/dist/assets/index.d.ts +3 -8
  25. package/dist/assets/index.d.ts.map +1 -1
  26. package/dist/assets/liquidityThresholds.d.ts +10 -0
  27. package/dist/assets/liquidityThresholds.d.ts.map +1 -1
  28. package/dist/ccip-NAPFCFLK.js +5 -0
  29. package/dist/ccip-NAPFCFLK.js.map +1 -0
  30. package/dist/chunk-BYTNVMX7.js +369 -0
  31. package/dist/chunk-BYTNVMX7.js.map +1 -0
  32. package/dist/chunk-JJRW5HVN.js +4133 -0
  33. package/dist/chunk-JJRW5HVN.js.map +1 -0
  34. package/dist/chunk-PR4QN5HX.js +39 -0
  35. package/dist/chunk-PR4QN5HX.js.map +1 -0
  36. package/dist/flash-liquidity/assets.d.ts +2 -2
  37. package/dist/flash-liquidity/assets.d.ts.map +1 -1
  38. package/dist/flash-liquidity/fetchLiquidity.d.ts +3 -3
  39. package/dist/flash-liquidity/fetchLiquidity.d.ts.map +1 -1
  40. package/dist/flash-liquidity/index.d.ts +2 -2
  41. package/dist/flash-liquidity/types.d.ts +1 -0
  42. package/dist/flash-liquidity/types.d.ts.map +1 -1
  43. package/dist/flash-liquidity/utils.d.ts +3 -2
  44. package/dist/flash-liquidity/utils.d.ts.map +1 -1
  45. package/dist/index.d.ts +9 -7
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +23868 -6
  48. package/dist/index.js.map +1 -0
  49. package/dist/lending/aave-v2-type/misc.d.ts +3 -9
  50. package/dist/lending/aave-v2-type/misc.d.ts.map +1 -1
  51. package/dist/lending/aave-v2-type/publicCallBuild.d.ts +3 -4
  52. package/dist/lending/aave-v2-type/publicCallBuild.d.ts.map +1 -1
  53. package/dist/lending/aave-v2-type/publicCallParse.d.ts +4 -5
  54. package/dist/lending/aave-v2-type/publicCallParse.d.ts.map +1 -1
  55. package/dist/lending/aave-v3-type/publicCallBuild.d.ts +3 -3
  56. package/dist/lending/aave-v3-type/publicCallBuild.d.ts.map +1 -1
  57. package/dist/lending/aave-v3-type/publicCallParse.d.ts +5 -6
  58. package/dist/lending/aave-v3-type/publicCallParse.d.ts.map +1 -1
  59. package/dist/lending/addresses/aave.d.ts.map +1 -1
  60. package/dist/lending/addresses/aaveV2.d.ts.map +1 -1
  61. package/dist/lending/addresses/compoundV2.d.ts +13 -0
  62. package/dist/lending/addresses/compoundV2.d.ts.map +1 -0
  63. package/dist/lending/addresses/compoundV3.d.ts +2 -4
  64. package/dist/lending/addresses/compoundV3.d.ts.map +1 -1
  65. package/dist/lending/addresses/meridian.d.ts +3 -0
  66. package/dist/lending/addresses/meridian.d.ts.map +1 -1
  67. package/dist/lending/addresses/takotako.d.ts.map +1 -1
  68. package/dist/lending/compound-v2/getters/moonwell.d.ts +32 -0
  69. package/dist/lending/compound-v2/getters/moonwell.d.ts.map +1 -0
  70. package/dist/lending/compound-v2/getters/types.d.ts +12 -0
  71. package/dist/lending/compound-v2/getters/types.d.ts.map +1 -0
  72. package/dist/lending/compound-v2/getters/venus.d.ts +86 -0
  73. package/dist/lending/compound-v2/getters/venus.d.ts.map +1 -0
  74. package/dist/lending/compound-v2/publicCallBuild.d.ts +2 -0
  75. package/dist/lending/compound-v2/publicCallBuild.d.ts.map +1 -0
  76. package/dist/lending/compound-v2/publicCallParse.d.ts +6 -0
  77. package/dist/lending/compound-v2/publicCallParse.d.ts.map +1 -0
  78. package/dist/lending/compound-v3/publicCallBuild.d.ts +1 -2
  79. package/dist/lending/compound-v3/publicCallBuild.d.ts.map +1 -1
  80. package/dist/lending/compound-v3/publicCallParse.d.ts +3 -4
  81. package/dist/lending/compound-v3/publicCallParse.d.ts.map +1 -1
  82. package/dist/lending/fetchLender.d.ts +5 -3
  83. package/dist/lending/fetchLender.d.ts.map +1 -1
  84. package/dist/lending/fetchLenderAll.d.ts +2 -2
  85. package/dist/lending/fetchLenderAll.d.ts.map +1 -1
  86. package/dist/lending/fetchLenderExt.d.ts +2 -2
  87. package/dist/lending/fetchLenderExt.d.ts.map +1 -1
  88. package/dist/lending/index.d.ts +6 -5
  89. package/dist/lending/index.d.ts.map +1 -1
  90. package/dist/lending/init/publicCallBuild.d.ts +1 -1
  91. package/dist/lending/init/publicCallBuild.d.ts.map +1 -1
  92. package/dist/lending/init/publicCallParse.d.ts +4 -4
  93. package/dist/lending/init/publicCallParse.d.ts.map +1 -1
  94. package/dist/lending/lista/getMarketsFromChain.d.ts +4 -0
  95. package/dist/lending/lista/getMarketsFromChain.d.ts.map +1 -0
  96. package/dist/lending/lista/getMarketsOnChain.d.ts +6 -0
  97. package/dist/lending/lista/getMarketsOnChain.d.ts.map +1 -0
  98. package/dist/lending/lista/publicCallBuild.d.ts +10 -0
  99. package/dist/lending/lista/publicCallBuild.d.ts.map +1 -0
  100. package/dist/lending/meta/index.d.ts +20 -0
  101. package/dist/lending/meta/index.d.ts.map +1 -0
  102. package/dist/lending/morpho/convertPublic.d.ts +2 -2
  103. package/dist/lending/morpho/convertPublic.d.ts.map +1 -1
  104. package/dist/lending/morpho/fetchPublic.d.ts.map +1 -1
  105. package/dist/lending/morpho/getMarketsFromChain.d.ts +4 -0
  106. package/dist/lending/morpho/getMarketsFromChain.d.ts.map +1 -0
  107. package/dist/lending/morpho/index.d.ts +3 -0
  108. package/dist/lending/morpho/index.d.ts.map +1 -0
  109. package/dist/lending/morpho/publicCallBuild.d.ts +12 -2
  110. package/dist/lending/morpho/publicCallBuild.d.ts.map +1 -1
  111. package/dist/lending/morpho/utils/evmParser.d.ts +48 -0
  112. package/dist/lending/morpho/utils/evmParser.d.ts.map +1 -0
  113. package/dist/lending/morpho/utils/mathLib.d.ts +125 -0
  114. package/dist/lending/morpho/utils/mathLib.d.ts.map +1 -0
  115. package/dist/lending/morpho/utils/parsers.d.ts +10 -0
  116. package/dist/lending/morpho/utils/parsers.d.ts.map +1 -0
  117. package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts +3 -3
  118. package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts.map +1 -1
  119. package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts +2 -2
  120. package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts.map +1 -1
  121. package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts +3 -3
  122. package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts.map +1 -1
  123. package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts +2 -2
  124. package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts.map +1 -1
  125. package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts +2 -2
  126. package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts.map +1 -1
  127. package/dist/lending/user-data/abis.d.ts +179 -34
  128. package/dist/lending/user-data/abis.d.ts.map +1 -1
  129. package/dist/lending/user-data/compound-v2/index.d.ts +3 -0
  130. package/dist/lending/user-data/compound-v2/index.d.ts.map +1 -0
  131. package/dist/lending/user-data/compound-v2/userCallBuild.d.ts +4 -0
  132. package/dist/lending/user-data/compound-v2/userCallBuild.d.ts.map +1 -0
  133. package/dist/lending/user-data/compound-v2/userCallParse.d.ts +8 -0
  134. package/dist/lending/user-data/compound-v2/userCallParse.d.ts.map +1 -0
  135. package/dist/lending/user-data/compound-v3/index.d.ts +2 -3
  136. package/dist/lending/user-data/compound-v3/index.d.ts.map +1 -1
  137. package/dist/lending/user-data/compound-v3/userCallBuild.d.ts +3 -3
  138. package/dist/lending/user-data/compound-v3/userCallBuild.d.ts.map +1 -1
  139. package/dist/lending/user-data/compound-v3/userCallParse.d.ts +2 -2
  140. package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -1
  141. package/dist/lending/user-data/fetchUserData.d.ts +114 -5
  142. package/dist/lending/user-data/fetchUserData.d.ts.map +1 -1
  143. package/dist/lending/user-data/index.d.ts +2 -2
  144. package/dist/lending/user-data/index.d.ts.map +1 -1
  145. package/dist/lending/user-data/init/userCallBuild.d.ts +2 -2
  146. package/dist/lending/user-data/init/userCallBuild.d.ts.map +1 -1
  147. package/dist/lending/user-data/init/userCallParse.d.ts +2 -2
  148. package/dist/lending/user-data/init/userCallParse.d.ts.map +1 -1
  149. package/dist/lending/user-data/morpho/decoder.d.ts +20 -1
  150. package/dist/lending/user-data/morpho/decoder.d.ts.map +1 -1
  151. package/dist/lending/user-data/morpho/index.d.ts +4 -0
  152. package/dist/lending/user-data/morpho/index.d.ts.map +1 -0
  153. package/dist/lending/user-data/morpho/morphoLib.d.ts.map +1 -1
  154. package/dist/lending/user-data/morpho/types.d.ts.map +1 -1
  155. package/dist/lending/user-data/morpho/userCallBuild.d.ts +6 -3
  156. package/dist/lending/user-data/morpho/userCallBuild.d.ts.map +1 -1
  157. package/dist/lending/user-data/morpho/userCallParse.d.ts +16 -2
  158. package/dist/lending/user-data/morpho/userCallParse.d.ts.map +1 -1
  159. package/dist/lending/user-data/utils/createGeneralUserState.d.ts +4 -1
  160. package/dist/lending/user-data/utils/createGeneralUserState.d.ts.map +1 -1
  161. package/dist/lending/user-data/utils/createMultiAccountStyleUserState.d.ts +1 -1
  162. package/dist/lending/user-data/utils/createMultiAccountStyleUserState.d.ts.map +1 -1
  163. package/dist/lending/user-data/utils/formatting/generalFormatters.d.ts +1 -1
  164. package/dist/lending/user-data/utils/formatting/generalFormatters.d.ts.map +1 -1
  165. package/dist/lending/user-data/utils/formatting/index.d.ts +1 -1
  166. package/dist/lending/user-data/utils/index.d.ts +4 -4
  167. package/dist/lending/user-data/utils/index.d.ts.map +1 -1
  168. package/dist/lending-pairs/computeLendingPairs.d.ts +10 -1
  169. package/dist/lending-pairs/computeLendingPairs.d.ts.map +1 -1
  170. package/dist/lending-pairs/index.d.ts +1 -1
  171. package/dist/lending-pairs/index.d.ts.map +1 -1
  172. package/dist/lending-pools/computeLenderDataFromPools.d.ts +10 -0
  173. package/dist/lending-pools/computeLenderDataFromPools.d.ts.map +1 -0
  174. package/dist/lending-pools/computeLendingPools.d.ts +23 -0
  175. package/dist/lending-pools/computeLendingPools.d.ts.map +1 -0
  176. package/dist/lending-pools/index.d.ts +3 -0
  177. package/dist/lending-pools/index.d.ts.map +1 -0
  178. package/dist/prices/defillama/index.d.ts.map +1 -1
  179. package/dist/prices/index.d.ts +3 -2
  180. package/dist/prices/index.d.ts.map +1 -1
  181. package/dist/prices/main-prices/addresses/api3.d.ts.map +1 -1
  182. package/dist/prices/main-prices/addresses/chainlink.d.ts +0 -7
  183. package/dist/prices/main-prices/addresses/chainlink.d.ts.map +1 -1
  184. package/dist/prices/main-prices/fetchOracleData.d.ts +9 -3
  185. package/dist/prices/main-prices/fetchOracleData.d.ts.map +1 -1
  186. package/dist/prices/main-prices/index.d.ts +1 -1
  187. package/dist/prices/main-prices/index.d.ts.map +1 -1
  188. package/dist/prices/pendle/fetchPendlePrices.d.ts +47 -0
  189. package/dist/prices/pendle/fetchPendlePrices.d.ts.map +1 -0
  190. package/dist/prices/pendle/index.d.ts +2 -0
  191. package/dist/prices/pendle/index.d.ts.map +1 -0
  192. package/dist/secp256k1-XP7IUONI.js +2208 -0
  193. package/dist/secp256k1-XP7IUONI.js.map +1 -0
  194. package/dist/types/apiReturnType.d.ts +4 -4
  195. package/dist/types/apiReturnType.d.ts.map +1 -1
  196. package/dist/{lending/types/index.d.ts → types/general.d.ts} +1 -1
  197. package/dist/types/general.d.ts.map +1 -0
  198. package/dist/types/index.d.ts +5 -41
  199. package/dist/types/index.d.ts.map +1 -1
  200. package/dist/{lending/aave-v2-type/types.d.ts → types/lender/aave-v2-types.d.ts} +5 -9
  201. package/dist/types/lender/aave-v2-types.d.ts.map +1 -0
  202. package/dist/{lending/aave-v3-type/types.d.ts → types/lender/aave-v3-types.d.ts} +5 -9
  203. package/dist/types/lender/aave-v3-types.d.ts.map +1 -0
  204. package/dist/types/lender/compound-v2-types.d.ts +41 -0
  205. package/dist/types/lender/compound-v2-types.d.ts.map +1 -0
  206. package/dist/{lending/compound-v3/types.d.ts → types/lender/compound-v3-types.d.ts} +5 -9
  207. package/dist/types/lender/compound-v3-types.d.ts.map +1 -0
  208. package/dist/{lending/init/types.d.ts → types/lender/init-types.d.ts} +5 -9
  209. package/dist/types/lender/init-types.d.ts.map +1 -0
  210. package/dist/{lending/morpho/types.d.ts → types/lender/morpho-types.d.ts} +12 -2
  211. package/dist/types/lender/morpho-types.d.ts.map +1 -0
  212. package/dist/{lending/user-data/types.d.ts → types/lenderTypes.d.ts} +30 -20
  213. package/dist/types/lenderTypes.d.ts.map +1 -0
  214. package/dist/types/misc.d.ts +47 -0
  215. package/dist/types/misc.d.ts.map +1 -0
  216. package/dist/types/providers.d.ts +1 -9
  217. package/dist/types/providers.d.ts.map +1 -1
  218. package/dist/utils/constants.d.ts +0 -23
  219. package/dist/utils/constants.d.ts.map +1 -1
  220. package/dist/utils/index.d.ts +6 -7
  221. package/dist/utils/index.d.ts.map +1 -1
  222. package/dist/utils/multicall.d.ts +2 -1
  223. package/dist/utils/multicall.d.ts.map +1 -1
  224. package/dist/utils/parsing.d.ts +6 -3
  225. package/dist/utils/parsing.d.ts.map +1 -1
  226. package/dist/yields/index.d.ts.map +1 -1
  227. package/dist/yields/yieldTypes.d.ts +76 -0
  228. package/dist/yields/yieldTypes.d.ts.map +1 -0
  229. package/package.json +16 -8
  230. package/dist/abis/aave/AToken.d.ts +0 -526
  231. package/dist/abis/aave/AToken.d.ts.map +0 -1
  232. package/dist/abis/aave/AToken.js +0 -686
  233. package/dist/abis/aave/AaveOracle.js +0 -66
  234. package/dist/abis/aave/AavePoolAndDataProvider.js +0 -2080
  235. package/dist/abis/aave/AavePoolV3.d.ts +0 -819
  236. package/dist/abis/aave/AavePoolV3.js +0 -1060
  237. package/dist/abis/aave/AavePoolV3Upgraded.js +0 -1474
  238. package/dist/abis/aave/AaveV3ProtocolDataProvider.js +0 -553
  239. package/dist/abis/aave/VariableDebtToken.js +0 -820
  240. package/dist/abis/aave-v2/ProtocolDataProvider.js +0 -312
  241. package/dist/abis/aave-v2/YLDR.js +0 -199
  242. package/dist/abis/aave-v3/AavePoolDataProviderLegacy.js +0 -460
  243. package/dist/abis/aave-v3/AavePoolLegacy.js +0 -1060
  244. package/dist/abis/aave-v3/YLDR.js +0 -46
  245. package/dist/abis/aurelius/Rewarder.js +0 -118
  246. package/dist/abis/compound-v2/CompoundLens.js +0 -851
  247. package/dist/abis/compound-v2/Comptroller.js +0 -2104
  248. package/dist/abis/compound-v3/Comet.js +0 -1829
  249. package/dist/abis/compound-v3/CometExt.js +0 -536
  250. package/dist/abis/compound-v3/CometLens.js +0 -194
  251. package/dist/abis/compound-v3/CometRewards.js +0 -330
  252. package/dist/abis/compound-v3/IrGetter.js +0 -31
  253. package/dist/abis/flashloan-united/flashAbi.js +0 -72
  254. package/dist/abis/init/Core.d.ts +0 -523
  255. package/dist/abis/init/Core.d.ts.map +0 -1
  256. package/dist/abis/init/Core.js +0 -681
  257. package/dist/abis/init/InitFlashAggregator.d.ts +0 -624
  258. package/dist/abis/init/InitFlashAggregator.d.ts.map +0 -1
  259. package/dist/abis/init/InitFlashAggregator.js +0 -795
  260. package/dist/abis/init/InitLens.js +0 -203
  261. package/dist/abis/init/PosManager.d.ts +0 -802
  262. package/dist/abis/init/PosManager.d.ts.map +0 -1
  263. package/dist/abis/init/PosManager.js +0 -1055
  264. package/dist/abis/lendle/IncentivesController.js +0 -525
  265. package/dist/abis/lendle/MultiFeeDistribution.js +0 -820
  266. package/dist/abis/meridian/PullRewardsIncentivesController.js +0 -98
  267. package/dist/abis/morpho/blue.js +0 -99
  268. package/dist/abis/morpho/lens.js +0 -31
  269. package/dist/abis/multicall/Multicall.js +0 -101
  270. package/dist/abis/oracle/AaveOracle.js +0 -66
  271. package/dist/abis/oracle/Api3Oracle.js +0 -62
  272. package/dist/abis/oracle/ChainLinkAggregator.js +0 -480
  273. package/dist/abis/oracle/RWADynamicOracle.js +0 -15
  274. package/dist/abis/oracle/UniswapV2Pair.js +0 -659
  275. package/dist/abis/uniswap/FeeOnTransferDetector.d.ts +0 -102
  276. package/dist/abis/uniswap/FeeOnTransferDetector.d.ts.map +0 -1
  277. package/dist/abis/uniswap/FeeOnTransferDetector.js +0 -133
  278. package/dist/abis/uniswap/UniswapV2Pair.d.ts +0 -513
  279. package/dist/abis/uniswap/UniswapV2Pair.d.ts.map +0 -1
  280. package/dist/abis/uniswap/UniswapV2Pair.js +0 -659
  281. package/dist/assets/index.js +0 -54
  282. package/dist/assets/liquidityThresholds.js +0 -51
  283. package/dist/flash-liquidity/assets.js +0 -45
  284. package/dist/flash-liquidity/fetchLiquidity.js +0 -235
  285. package/dist/flash-liquidity/index.js +0 -2
  286. package/dist/flash-liquidity/types.js +0 -8
  287. package/dist/flash-liquidity/utils.js +0 -17
  288. package/dist/lending/aave-v2-type/misc.js +0 -8
  289. package/dist/lending/aave-v2-type/publicCallBuild.js +0 -102
  290. package/dist/lending/aave-v2-type/publicCallParse.js +0 -257
  291. package/dist/lending/aave-v2-type/types.d.ts.map +0 -1
  292. package/dist/lending/aave-v2-type/types.js +0 -46
  293. package/dist/lending/aave-v3-type/publicCallBuild.js +0 -123
  294. package/dist/lending/aave-v3-type/publicCallParse.js +0 -307
  295. package/dist/lending/aave-v3-type/types.d.ts.map +0 -1
  296. package/dist/lending/aave-v3-type/types.js +0 -98
  297. package/dist/lending/addresses/aave.js +0 -10
  298. package/dist/lending/addresses/aaveV2.js +0 -6
  299. package/dist/lending/addresses/aurelius.js +0 -12
  300. package/dist/lending/addresses/compoundV3.js +0 -36
  301. package/dist/lending/addresses/contracts.d.ts +0 -5
  302. package/dist/lending/addresses/contracts.d.ts.map +0 -1
  303. package/dist/lending/addresses/contracts.js +0 -49
  304. package/dist/lending/addresses/hana.js +0 -6
  305. package/dist/lending/addresses/index.d.ts +0 -2
  306. package/dist/lending/addresses/index.d.ts.map +0 -1
  307. package/dist/lending/addresses/index.js +0 -1
  308. package/dist/lending/addresses/init.js +0 -33
  309. package/dist/lending/addresses/lendle.js +0 -12
  310. package/dist/lending/addresses/meridian.js +0 -12
  311. package/dist/lending/addresses/takotako.js +0 -12
  312. package/dist/lending/compound-v3/publicCallBuild.js +0 -63
  313. package/dist/lending/compound-v3/publicCallParse.js +0 -135
  314. package/dist/lending/compound-v3/types.d.ts.map +0 -1
  315. package/dist/lending/compound-v3/types.js +0 -6
  316. package/dist/lending/fetchLender.js +0 -104
  317. package/dist/lending/fetchLenderAll.js +0 -12
  318. package/dist/lending/fetchLenderExt.js +0 -42
  319. package/dist/lending/index.js +0 -5
  320. package/dist/lending/init/publicCallBuild.js +0 -21
  321. package/dist/lending/init/publicCallParse.js +0 -76
  322. package/dist/lending/init/types.d.ts.map +0 -1
  323. package/dist/lending/init/types.js +0 -6
  324. package/dist/lending/morpho/convertPublic.js +0 -119
  325. package/dist/lending/morpho/fetchPublic.js +0 -72
  326. package/dist/lending/morpho/publicCallBuild.js +0 -6
  327. package/dist/lending/morpho/types.d.ts.map +0 -1
  328. package/dist/lending/morpho/types.js +0 -1
  329. package/dist/lending/types/index.d.ts.map +0 -1
  330. package/dist/lending/types/index.js +0 -1
  331. package/dist/lending/user-data/aave-v2-type/userCallBuild.js +0 -87
  332. package/dist/lending/user-data/aave-v2-type/userCallParse.js +0 -239
  333. package/dist/lending/user-data/aave-v3-type/userCallBuild.js +0 -26
  334. package/dist/lending/user-data/aave-v3-type/userCallParse.js +0 -84
  335. package/dist/lending/user-data/aave-v3-type/userCallParseYldr.js +0 -81
  336. package/dist/lending/user-data/abis.js +0 -56
  337. package/dist/lending/user-data/compound-v3/addresses.d.ts +0 -10
  338. package/dist/lending/user-data/compound-v3/addresses.d.ts.map +0 -1
  339. package/dist/lending/user-data/compound-v3/addresses.js +0 -33
  340. package/dist/lending/user-data/compound-v3/index.js +0 -3
  341. package/dist/lending/user-data/compound-v3/userCallBuild.js +0 -44
  342. package/dist/lending/user-data/compound-v3/userCallParse.js +0 -103
  343. package/dist/lending/user-data/fetchUserData.js +0 -100
  344. package/dist/lending/user-data/index.js +0 -2
  345. package/dist/lending/user-data/init/userCallBuild.js +0 -20
  346. package/dist/lending/user-data/init/userCallParse.js +0 -88
  347. package/dist/lending/user-data/morpho/decoder.js +0 -52
  348. package/dist/lending/user-data/morpho/morphoLib.js +0 -21
  349. package/dist/lending/user-data/morpho/types.js +0 -13
  350. package/dist/lending/user-data/morpho/userCallBuild.js +0 -42
  351. package/dist/lending/user-data/morpho/userCallParse.js +0 -102
  352. package/dist/lending/user-data/morpho/userCallParseNoDeploy.d.ts +0 -11
  353. package/dist/lending/user-data/morpho/userCallParseNoDeploy.d.ts.map +0 -1
  354. package/dist/lending/user-data/morpho/userCallParseNoDeploy.js +0 -112
  355. package/dist/lending/user-data/types.d.ts.map +0 -1
  356. package/dist/lending/user-data/types.js +0 -38
  357. package/dist/lending/user-data/utils/createGeneralUserState.js +0 -105
  358. package/dist/lending/user-data/utils/createMultiAccountStyleUserState.js +0 -96
  359. package/dist/lending/user-data/utils/formatting/generalFormatters.js +0 -109
  360. package/dist/lending/user-data/utils/formatting/index.js +0 -1
  361. package/dist/lending/user-data/utils/index.js +0 -17
  362. package/dist/lending-pairs/computeLendingPairs.js +0 -259
  363. package/dist/lending-pairs/index.js +0 -1
  364. package/dist/prices/defillama/index.js +0 -269
  365. package/dist/prices/index.js +0 -2
  366. package/dist/prices/main-prices/addresses/aaveOracles.d.ts +0 -278
  367. package/dist/prices/main-prices/addresses/aaveOracles.d.ts.map +0 -1
  368. package/dist/prices/main-prices/addresses/aaveOracles.js +0 -277
  369. package/dist/prices/main-prices/addresses/api3.js +0 -9
  370. package/dist/prices/main-prices/addresses/chainlink.js +0 -744
  371. package/dist/prices/main-prices/fetchOracleData.js +0 -348
  372. package/dist/prices/main-prices/index.js +0 -1
  373. package/dist/types/apiReturnType.js +0 -1
  374. package/dist/types/index.js +0 -10
  375. package/dist/types/providers.js +0 -1
  376. package/dist/utils/constants.js +0 -97
  377. package/dist/utils/index.js +0 -106
  378. package/dist/utils/multicall.js +0 -30
  379. package/dist/utils/parsing.js +0 -66
  380. package/dist/yields/index.js +0 -164
  381. package/src/abis/aave/AToken.ts +0 -686
  382. package/src/abis/aave/AaveOracle.ts +0 -66
  383. package/src/abis/aave/AavePoolAndDataProvider.ts +0 -2080
  384. package/src/abis/aave/AavePoolV3.ts +0 -1060
  385. package/src/abis/aave/AavePoolV3Upgraded.ts +0 -1474
  386. package/src/abis/aave/AaveV3ProtocolDataProvider.ts +0 -553
  387. package/src/abis/aave/VariableDebtToken.ts +0 -820
  388. package/src/abis/aave-v2/ProtocolDataProvider.ts +0 -312
  389. package/src/abis/aave-v2/YLDR.ts +0 -199
  390. package/src/abis/aave-v3/AavePoolDataProviderLegacy.ts +0 -459
  391. package/src/abis/aave-v3/AavePoolLegacy.ts +0 -1060
  392. package/src/abis/aave-v3/YLDR.ts +0 -46
  393. package/src/abis/aurelius/Rewarder.ts +0 -118
  394. package/src/abis/compound-v2/CompoundLens.ts +0 -851
  395. package/src/abis/compound-v2/Comptroller.ts +0 -2104
  396. package/src/abis/compound-v3/Comet.ts +0 -1829
  397. package/src/abis/compound-v3/CometExt.ts +0 -536
  398. package/src/abis/compound-v3/CometLens.ts +0 -194
  399. package/src/abis/compound-v3/CometRewards.ts +0 -330
  400. package/src/abis/compound-v3/IrGetter.ts +0 -31
  401. package/src/abis/flashloan-united/flashAbi.ts +0 -72
  402. package/src/abis/init/Core.ts +0 -681
  403. package/src/abis/init/InitFlashAggregator.ts +0 -795
  404. package/src/abis/init/InitLens.ts +0 -203
  405. package/src/abis/init/PosManager.ts +0 -1055
  406. package/src/abis/lendle/IncentivesController.ts +0 -525
  407. package/src/abis/lendle/MultiFeeDistribution.ts +0 -820
  408. package/src/abis/meridian/PullRewardsIncentivesController.ts +0 -98
  409. package/src/abis/morpho/blue.ts +0 -99
  410. package/src/abis/morpho/lens.ts +0 -31
  411. package/src/abis/multicall/Multicall.ts +0 -101
  412. package/src/abis/oracle/AaveOracle.ts +0 -66
  413. package/src/abis/oracle/Api3Oracle.ts +0 -62
  414. package/src/abis/oracle/ChainLinkAggregator.ts +0 -480
  415. package/src/abis/oracle/RWADynamicOracle.ts +0 -15
  416. package/src/abis/oracle/UniswapV2Pair.ts +0 -659
  417. package/src/abis/uniswap/FeeOnTransferDetector.ts +0 -133
  418. package/src/abis/uniswap/UniswapV2Pair.ts +0 -659
  419. package/src/assets/index.ts +0 -101
  420. package/src/assets/liquidityThresholds.ts +0 -83
  421. package/src/flash-liquidity/assets.ts +0 -61
  422. package/src/flash-liquidity/fetchLiquidity.ts +0 -300
  423. package/src/flash-liquidity/index.ts +0 -2
  424. package/src/flash-liquidity/types.ts +0 -20
  425. package/src/flash-liquidity/utils.ts +0 -22
  426. package/src/index.ts +0 -7
  427. package/src/lending/aave-v2-type/misc.ts +0 -9
  428. package/src/lending/aave-v2-type/publicCallBuild.ts +0 -105
  429. package/src/lending/aave-v2-type/publicCallParse.ts +0 -305
  430. package/src/lending/aave-v2-type/types.ts +0 -100
  431. package/src/lending/aave-v3-type/publicCallBuild.ts +0 -148
  432. package/src/lending/aave-v3-type/publicCallParse.ts +0 -378
  433. package/src/lending/aave-v3-type/types.ts +0 -191
  434. package/src/lending/addresses/aave.ts +0 -12
  435. package/src/lending/addresses/aaveV2.ts +0 -8
  436. package/src/lending/addresses/aurelius.ts +0 -13
  437. package/src/lending/addresses/compoundV3.ts +0 -56
  438. package/src/lending/addresses/contracts.ts +0 -54
  439. package/src/lending/addresses/hana.ts +0 -7
  440. package/src/lending/addresses/index.ts +0 -1
  441. package/src/lending/addresses/init.ts +0 -37
  442. package/src/lending/addresses/lendle.ts +0 -13
  443. package/src/lending/addresses/meridian.ts +0 -13
  444. package/src/lending/addresses/takotako.ts +0 -14
  445. package/src/lending/compound-v3/publicCallBuild.ts +0 -74
  446. package/src/lending/compound-v3/publicCallParse.ts +0 -202
  447. package/src/lending/compound-v3/types.ts +0 -45
  448. package/src/lending/fetchLender.ts +0 -181
  449. package/src/lending/fetchLenderAll.ts +0 -30
  450. package/src/lending/fetchLenderExt.ts +0 -82
  451. package/src/lending/index.ts +0 -5
  452. package/src/lending/init/publicCallBuild.ts +0 -29
  453. package/src/lending/init/publicCallParse.ts +0 -93
  454. package/src/lending/init/types.ts +0 -53
  455. package/src/lending/morpho/convertPublic.ts +0 -153
  456. package/src/lending/morpho/fetchPublic.ts +0 -80
  457. package/src/lending/morpho/publicCallBuild.ts +0 -11
  458. package/src/lending/morpho/types.ts +0 -129
  459. package/src/lending/types/index.ts +0 -16
  460. package/src/lending/user-data/aave-v2-type/userCallBuild.ts +0 -118
  461. package/src/lending/user-data/aave-v2-type/userCallParse.ts +0 -343
  462. package/src/lending/user-data/aave-v3-type/userCallBuild.ts +0 -42
  463. package/src/lending/user-data/aave-v3-type/userCallParse.ts +0 -126
  464. package/src/lending/user-data/aave-v3-type/userCallParseYldr.ts +0 -124
  465. package/src/lending/user-data/abis.ts +0 -53
  466. package/src/lending/user-data/compound-v3/addresses.ts +0 -59
  467. package/src/lending/user-data/compound-v3/index.ts +0 -3
  468. package/src/lending/user-data/compound-v3/userCallBuild.ts +0 -53
  469. package/src/lending/user-data/compound-v3/userCallParse.ts +0 -126
  470. package/src/lending/user-data/fetchUserData.ts +0 -205
  471. package/src/lending/user-data/index.ts +0 -2
  472. package/src/lending/user-data/init/userCallBuild.ts +0 -26
  473. package/src/lending/user-data/init/userCallParse.ts +0 -115
  474. package/src/lending/user-data/morpho/decoder.ts +0 -71
  475. package/src/lending/user-data/morpho/morphoLib.ts +0 -61
  476. package/src/lending/user-data/morpho/types.ts +0 -12
  477. package/src/lending/user-data/morpho/userCallBuild.ts +0 -63
  478. package/src/lending/user-data/morpho/userCallParse.ts +0 -150
  479. package/src/lending/user-data/morpho/userCallParseNoDeploy.ts +0 -168
  480. package/src/lending/user-data/types.ts +0 -300
  481. package/src/lending/user-data/utils/createGeneralUserState.ts +0 -142
  482. package/src/lending/user-data/utils/createMultiAccountStyleUserState.ts +0 -113
  483. package/src/lending/user-data/utils/formatting/generalFormatters.ts +0 -121
  484. package/src/lending/user-data/utils/formatting/index.ts +0 -1
  485. package/src/lending/user-data/utils/index.ts +0 -19
  486. package/src/lending-pairs/computeLendingPairs.ts +0 -445
  487. package/src/lending-pairs/index.ts +0 -1
  488. package/src/prices/defillama/index.ts +0 -306
  489. package/src/prices/index.ts +0 -2
  490. package/src/prices/main-prices/addresses/aaveOracles.ts +0 -278
  491. package/src/prices/main-prices/addresses/api3.ts +0 -10
  492. package/src/prices/main-prices/addresses/chainlink.ts +0 -750
  493. package/src/prices/main-prices/fetchOracleData.ts +0 -496
  494. package/src/prices/main-prices/index.ts +0 -1
  495. package/src/types/apiReturnType.ts +0 -80
  496. package/src/types/index.ts +0 -38
  497. package/src/types/providers.ts +0 -26
  498. package/src/utils/constants.ts +0 -100
  499. package/src/utils/index.ts +0 -139
  500. package/src/utils/multicall.ts +0 -53
  501. package/src/utils/parsing.ts +0 -80
  502. package/src/yields/index.ts +0 -207
  503. package/test/index.test.ts +0 -112
  504. package/test/lenderData.test.ts +0 -13320
  505. package/test/mainPrices.test.ts +0 -23
  506. package/test/morpho.test.ts +0 -20
  507. package/test/userDataMorpho.test.ts +0 -79
  508. package/test/userdata.test.ts +0 -261
  509. package/test/utils.ts +0 -13
  510. package/tsconfig.json +0 -28
@@ -1,101 +0,0 @@
1
- import {
2
- AAVE_FORK_POOL_DATA,
3
- AAVE_STYLE_RESERVE_ASSETS,
4
- AAVE_STYLE_TOKENS,
5
- ASSET_META,
6
- COMPOUND_STYLE_RESERVE_ASSETS,
7
- COMPOUND_V2_STYLE_RESERVE_ASSETS,
8
- INIT_STYLE_RESERVE_ASSETS,
9
- Lender,
10
- SWAYLEND_RESERVE_ASSETS,
11
- } from "@1delta/asset-registry";
12
- import { isAaveType, isCompoundV3, isInit, isSwaylend } from "../utils";
13
-
14
- /** No specific configuration */
15
- export const LENDER_MODE_NO_MODE = 0;
16
-
17
- export function getAaveStyleProtocolTokenMap(chainId: string, lender: string) {
18
- return AAVE_STYLE_TOKENS[lender]?.[chainId] as any;
19
- }
20
-
21
- export const getAaveAssets = (
22
- chainId: string | undefined,
23
- lendingProtocol: string = Lender.AAVE_V3
24
- ): string[] => {
25
- if (isAaveType(lendingProtocol))
26
- return AAVE_STYLE_RESERVE_ASSETS[lendingProtocol]?.[chainId ?? "0"] ?? [];
27
- return [];
28
- };
29
-
30
- export const getInitAssets = (
31
- chainId: string | undefined,
32
- lendingProtocol = Lender.INIT
33
- ): string[] => {
34
- if (isInit(lendingProtocol))
35
- return INIT_STYLE_RESERVE_ASSETS[lendingProtocol]?.[chainId ?? "0"] ?? [];
36
- return [];
37
- };
38
-
39
- export const getCompoundV3Assets = (
40
- chainId: string | undefined,
41
- lendingProtocol = Lender.COMPOUND_V3_USDCE
42
- ): string[] => {
43
- if (isCompoundV3(lendingProtocol))
44
- return (
45
- COMPOUND_STYLE_RESERVE_ASSETS[lendingProtocol]?.[chainId ?? "0"] ?? []
46
- );
47
- return [];
48
- };
49
-
50
- export const getCompoundV2Assets = (
51
- chainId: string | undefined,
52
- lendingProtocol = Lender.VENUS
53
- ): string[] => {
54
- if (isCompoundV3(lendingProtocol))
55
- return (
56
- COMPOUND_V2_STYLE_RESERVE_ASSETS[lendingProtocol]?.[chainId ?? "0"] ?? []
57
- );
58
- return [];
59
- };
60
-
61
- export const getSwaylendAssets = (
62
- chainId: string | undefined,
63
- lendingProtocol = Lender.SWAYLEND_USDC
64
- ): string[] => {
65
- if (isSwaylend(lendingProtocol))
66
- return SWAYLEND_RESERVE_ASSETS[lendingProtocol]?.[chainId ?? "0"] ?? [];
67
- return [];
68
- };
69
-
70
- export function getAaveTypePoolDataProviderAddress(
71
- chainId: string,
72
- lender: string
73
- ) {
74
- // @ts-ignore
75
- return AAVE_FORK_POOL_DATA[lender]?.[chainId]?.protocolDataProvider;
76
- }
77
-
78
- export function getAaveTypePoolAddress(
79
- chainId: string,
80
- lender: string
81
- ): string {
82
- // @ts-ignore
83
- return AAVE_FORK_POOL_DATA[lender]?.[chainId]?.pool;
84
- }
85
-
86
- export function getAssetMeta(chainId: string, asset: string | undefined) {
87
- return ASSET_META[chainId ?? "0"]?.[asset?.toLowerCase() ?? ""] as any;
88
- }
89
-
90
- /**
91
- * Convert a string (asset symbol) to a Supported asset, considering also naming conflicts
92
- * @param a string
93
- * @returns SupportedAsset
94
- */
95
- export const toOracleKey = (a: string) => {
96
- return a;
97
- };
98
-
99
- export const toGenericPriceKey = (assetAddress: string, chainId: string) => {
100
- return chainId + "-" + assetAddress;
101
- };
@@ -1,83 +0,0 @@
1
- import { Chain } from "@1delta/asset-registry";
2
-
3
- export interface LiquidityThresholds {
4
- /** Minimum total deposits in USD */
5
- minDepositsUSD: number;
6
- /** Minimum total debt/borrows in USD */
7
- minDebtUSD: number;
8
- /** Minimum total liquidity in USD */
9
- minLiquidityUSD: number;
10
- }
11
-
12
- export const DEFAULT_LIQUIDITY_THRESHOLDS: LiquidityThresholds = {
13
- minDepositsUSD: 50_000,
14
- minDebtUSD: 10_000,
15
- minLiquidityUSD: 25_000,
16
- };
17
-
18
- export const ASSET_GROUP_LIQUIDITY_THRESHOLDS: { [assetGroup: string]: LiquidityThresholds } = {
19
- 'USDC': {
20
- minDepositsUSD: 25_000,
21
- minDebtUSD: 5_000,
22
- minLiquidityUSD: 15_000,
23
- },
24
- };
25
-
26
- export const CHAIN_THRESHOLD_MULTIPLIERS: { [chainId: string]: number } = {
27
- [Chain.POLYGON_MAINNET]: 1.0,
28
- [Chain.ARBITRUM_ONE]: 1.0,
29
- [Chain.OP_MAINNET]: 1.0,
30
- [Chain.BASE]: 1.0,
31
- [Chain.MANTLE]: 0.8,
32
- [Chain.LINEA]: 0.8,
33
- [Chain.ZKSYNC_MAINNET]: 0.8,
34
- [Chain.SCROLL]: 0.8,
35
- [Chain.TAIKO_ALETHIA]: 0.6,
36
- [Chain.HEMI_NETWORK]: 0.6,
37
- };
38
-
39
- /**
40
- * Asset based overrides (per chain)
41
- * assetKey format: "chainId-assetAddress" (lowercase)
42
- */
43
- export const ASSET_SPECIFIC_THRESHOLDS: { [assetKey: string]: LiquidityThresholds } = {
44
-
45
- };
46
-
47
-
48
-
49
-
50
- export function getLiquidityThresholds(
51
- chainId: string,
52
- assetAddress: string,
53
- assetGroup?:string,
54
- ): LiquidityThresholds {
55
- // Check for asset overrides
56
- const assetKey = `${chainId}-${assetAddress.toLowerCase()}`;
57
- if (ASSET_SPECIFIC_THRESHOLDS[assetKey]) {
58
- return ASSET_SPECIFIC_THRESHOLDS[assetKey];
59
- }
60
-
61
- let baseThresholds = assetGroup && ASSET_GROUP_LIQUIDITY_THRESHOLDS[assetGroup]
62
- ? ASSET_GROUP_LIQUIDITY_THRESHOLDS[assetGroup]
63
- : DEFAULT_LIQUIDITY_THRESHOLDS;
64
-
65
- const chainMultiplier = CHAIN_THRESHOLD_MULTIPLIERS[chainId] ?? 1.0;
66
-
67
- return {
68
- minDepositsUSD: Math.floor(baseThresholds.minDepositsUSD * chainMultiplier),
69
- minDebtUSD: Math.floor(baseThresholds.minDebtUSD * chainMultiplier),
70
- minLiquidityUSD: Math.floor(baseThresholds.minLiquidityUSD * chainMultiplier),
71
- };
72
- }
73
-
74
- export function meetsLiquidityThresholds(
75
- pool: { totalDepositsUSD: number; totalDebtUSD: number; totalLiquidityUSD: number },
76
- thresholds: LiquidityThresholds
77
- ): boolean {
78
- return (
79
- pool.totalDepositsUSD >= thresholds.minDepositsUSD &&
80
- pool.totalDebtUSD >= thresholds.minDebtUSD &&
81
- pool.totalLiquidityUSD >= thresholds.minLiquidityUSD
82
- );
83
- }
@@ -1,61 +0,0 @@
1
- import { AAVE_STYLE_RESERVE_ASSETS, COMPOUND_STYLE_RESERVE_ASSETS, COMPOUND_V2_STYLE_RESERVE_ASSETS, MORPHO_BLUE_POOL_DATA } from "@1delta/asset-registry"
2
- import { BALANCER_V2_FORKS, BALANCER_V3_FORKS, UNISWAP_V4_FORKS } from "@1delta/dex-registry"
3
- import { uniq } from "lodash"
4
-
5
- function createAssetArrayPerChain() {
6
- let assetsPerChain: { [chainId: string]: string[] } = {}
7
- Object.entries(COMPOUND_STYLE_RESERVE_ASSETS).forEach(([lender, data]) => {
8
-
9
- Object.entries(data).forEach(([chainId, assetArray]) => {
10
- if (!assetsPerChain[chainId]) assetsPerChain[chainId] = []
11
- assetsPerChain[chainId] = uniq([...assetsPerChain[chainId], ...assetArray])
12
- })
13
- })
14
-
15
- Object.entries(AAVE_STYLE_RESERVE_ASSETS).forEach(([lender, data]) => {
16
- Object.entries(data).forEach(([chainId, assetArray]) => {
17
- if (!assetsPerChain[chainId]) assetsPerChain[chainId] = []
18
- assetsPerChain[chainId] = uniq([...assetsPerChain[chainId], ...assetArray])
19
- })
20
- })
21
-
22
- Object.entries(COMPOUND_V2_STYLE_RESERVE_ASSETS).forEach(([lender, data]) => {
23
- Object.entries(data).forEach(([chainId, assetArray]) => {
24
- if (!assetsPerChain[chainId]) assetsPerChain[chainId] = []
25
- assetsPerChain[chainId] = uniq([...assetsPerChain[chainId], ...assetArray])
26
- })
27
- })
28
- return assetsPerChain
29
- }
30
-
31
- export const RELEVANT_LENDING_ASSETS = createAssetArrayPerChain()
32
-
33
-
34
- interface PoolData {
35
- pool: string
36
- address: string
37
- }
38
-
39
- function createSimpleArrayPerChain(fork: any, field: undefined | string = undefined) {
40
- let pools: { [chainId: string]: PoolData[] } = {}
41
- Object.entries(fork).forEach(([b2, data]: [string, any]) => {
42
- // @ts-ignore
43
- Object.entries(field ? data[field] : data).forEach(([chainId, address]: [string, any]) => {
44
- if (!pools[chainId]) pools[chainId] = []
45
- pools[chainId] = uniq([...pools[chainId], { address, pool: b2 }])
46
- })
47
- })
48
- return pools
49
- }
50
-
51
-
52
- export const RELEVANT_BALANCER_V2_FORKS = createSimpleArrayPerChain(BALANCER_V2_FORKS)
53
-
54
-
55
- export const RELEVANT_MORPHOB_FORKS = createSimpleArrayPerChain(MORPHO_BLUE_POOL_DATA)
56
-
57
-
58
- export const RELEVANT_BALANCER_V3_FORKS = createSimpleArrayPerChain(BALANCER_V3_FORKS, "vault")
59
-
60
-
61
- export const RELEVANT_UNISWAP_V4_FORKS = createSimpleArrayPerChain(UNISWAP_V4_FORKS, "pm")
@@ -1,300 +0,0 @@
1
- import { getAaveStyleProtocolTokenMap, getAaveTypePoolAddress, getAssetMeta } from "../assets";
2
- import { AAVES_PER_CHAIN } from "../utils";
3
- import {
4
- RELEVANT_BALANCER_V2_FORKS,
5
- RELEVANT_BALANCER_V3_FORKS,
6
- RELEVANT_LENDING_ASSETS,
7
- RELEVANT_MORPHOB_FORKS,
8
- RELEVANT_UNISWAP_V4_FORKS
9
- } from "./assets";
10
- import { Call } from "../utils/multicall";
11
- import { MulticallRetryFunction } from "../types";
12
- import { FlashAbi } from "../abis/flashloan-united/flashAbi";
13
- import { FlashLiquiditiesOnChain, FlashLoanIds } from "./types";
14
- import { FLASH_LOAN_IDS } from "@1delta/dex-registry";
15
- import { formatUnits, zeroAddress } from "viem";
16
- import { AAVE_V2_LENDERS, AAVE_V3_LENDERS } from "@1delta/asset-registry";
17
- import _ from "lodash"
18
- import { MULTICALL_ADDRESS } from "../utils/constants";
19
-
20
- const DEFAULT_BATCH_SIZE = 4096;
21
-
22
- enum BalanceFetchCall {
23
- balanceOf = "balanceOf",
24
- getEthBalance = "getEthBalance"
25
- }
26
-
27
- // Aave V3 flash loan flag enabled flag
28
- const FLASHLOAN_ENABLED_MASK = BigInt('0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFF');
29
- function getFlashLoanEnabled(data: bigint): boolean {
30
- return (data & ~FLASHLOAN_ENABLED_MASK) !== BigInt(0);
31
- }
32
-
33
- export async function fetchFlashLiquidityForChain(
34
- chain: string,
35
- multicallRetry: MulticallRetryFunction
36
- ) {
37
-
38
- let callLengths: { [l: string]: number } = {}
39
- let aaveAssets: { [l: string]: string[] } = {}
40
-
41
- let aaveCalls: Call[] = []
42
-
43
- const aaveProtocols = AAVES_PER_CHAIN[chain] ?? []
44
-
45
- // we only ned to check aave flash liquidity for aave assets
46
- aaveProtocols.forEach(aaveFork => {
47
- const underlyingsAndATokens = Object.entries(getAaveStyleProtocolTokenMap(chain, aaveFork))
48
-
49
- const pool = getAaveTypePoolAddress(chain, aaveFork)
50
-
51
- const tokenCalls = underlyingsAndATokens
52
- .map(([a, b]: [string, any]) => [
53
- { name: BalanceFetchCall.balanceOf, address: a, args: [b.aToken] },
54
- { name: "getConfiguration", address: pool, args: [a] }
55
- ])
56
- .reduce((acc, b) => [...acc, ...b], [])
57
-
58
- aaveAssets[aaveFork] = underlyingsAndATokens.map(a => a[0])
59
-
60
- callLengths[aaveFork] = tokenCalls.length * 2 + 1
61
-
62
-
63
- aaveCalls = [
64
- ...aaveCalls,
65
- ...tokenCalls,
66
- { name: "FLASHLOAN_PREMIUM_TOTAL", address: pool },
67
- ]
68
- })
69
-
70
- // @ts-ignore
71
- const morphoBs = RELEVANT_MORPHOB_FORKS[chain] ?? []
72
-
73
- const otherAssets = RELEVANT_LENDING_ASSETS[chain] ?? []
74
-
75
- let morphoCalls: Call[] = []
76
-
77
- if (morphoBs && morphoBs.length > 0) {
78
- morphoBs.forEach(bFork => {
79
- callLengths[bFork.pool] = otherAssets.length
80
- morphoCalls = [
81
- ...morphoCalls,
82
- ...otherAssets.map(address => address === zeroAddress ? ({
83
- name: BalanceFetchCall.getEthBalance,
84
- address: MULTICALL_ADDRESS[chain],
85
- args: [bFork.address],
86
- }) : ({ name: BalanceFetchCall.balanceOf, address, args: [bFork.address] }))
87
- ]
88
- })
89
- }
90
-
91
- const balancerV2s = RELEVANT_BALANCER_V2_FORKS[chain] ?? []
92
-
93
- let balancerV2Calls: Call[] = []
94
- if (balancerV2s && balancerV2s.length > 0) {
95
- balancerV2s.forEach(bFork => {
96
- callLengths[bFork.pool] = otherAssets.length
97
- balancerV2Calls = [
98
- ...balancerV2Calls,
99
- ...otherAssets.map(address => address === zeroAddress ? ({
100
- name: BalanceFetchCall.getEthBalance,
101
- address: MULTICALL_ADDRESS[chain],
102
- args: [bFork.address],
103
- }) : ({ name: BalanceFetchCall.balanceOf, address, args: [bFork.address] }))
104
- ]
105
- })
106
- }
107
-
108
- const balancerV3s = RELEVANT_BALANCER_V3_FORKS[chain] ?? []
109
- let balancerV3Calls: Call[] = []
110
- if (balancerV3s && balancerV3s.length > 0) {
111
- balancerV3s.forEach(bFork => {
112
- callLengths[bFork.pool] = otherAssets.length
113
- balancerV3Calls = [
114
- ...balancerV3Calls,
115
- ...otherAssets.map(address => address === zeroAddress ? ({
116
- name: BalanceFetchCall.getEthBalance,
117
- address: MULTICALL_ADDRESS[chain],
118
- args: [bFork.address],
119
- }) : ({ name: BalanceFetchCall.balanceOf, address, args: [bFork.address] }))
120
- ]
121
- })
122
- }
123
-
124
- const uniswapV4s = RELEVANT_UNISWAP_V4_FORKS[chain] ?? []
125
- let uniswapV4Calls: Call[] = []
126
- if (uniswapV4s && uniswapV4s.length > 0) {
127
- uniswapV4s.forEach(u4Fork => {
128
- callLengths[u4Fork.pool] = otherAssets.length
129
- uniswapV4Calls = [
130
- ...uniswapV4Calls,
131
- ...otherAssets.map(address => address === zeroAddress ? ({
132
- name: BalanceFetchCall.getEthBalance,
133
- address: MULTICALL_ADDRESS[chain],
134
- args: [u4Fork.address],
135
- }) : ({ name: BalanceFetchCall.balanceOf, address, args: [u4Fork.address] }))
136
- ]
137
- })
138
- }
139
-
140
- const calls = [
141
- ...aaveCalls,
142
- ...balancerV2Calls,
143
- ...morphoCalls,
144
- ...balancerV3Calls,
145
- ...uniswapV4Calls,
146
- ]
147
-
148
- const rawResults = await multicallRetry(
149
- chain,
150
- calls,
151
- FlashAbi,
152
- DEFAULT_BATCH_SIZE,
153
- 3,
154
- 0,
155
- false
156
- )
157
-
158
- let liquidity: FlashLiquiditiesOnChain = {}
159
-
160
- let currentOffset = 0
161
- aaveProtocols.forEach(aave => {
162
- const callLen = aaveAssets[aave].length * 2 + 1
163
-
164
- const data: any[] = rawResults.slice(currentOffset, callLen + currentOffset)
165
- const fee = data[callLen - 1]
166
- // update offset
167
- currentOffset += callLen;
168
-
169
-
170
- aaveAssets[aave].forEach((asset, i) => {
171
- const decimals = getAssetMeta(chain, asset)?.decimals
172
- const rawAmount = data[2 * i]
173
-
174
- const config = data[2 * i + 1]
175
- const enabled = !AAVE_V3_LENDERS.includes(aave as any) || getFlashLoanEnabled(config)
176
- if (enabled && rawAmount > 0n) {
177
- if (!liquidity[asset]) liquidity[asset] = []
178
- liquidity[asset].push({
179
- id: FLASH_LOAN_IDS[aave],
180
- name: aave,
181
- type: AAVE_V2_LENDERS.includes(aave as any) ? FlashLoanIds.AAVE_V2 : FlashLoanIds.AAVE_V3,
182
- source: getAaveTypePoolAddress(chain, aave),
183
- fee: fee.toString(),
184
- availableRaw: rawAmount.toString(),
185
- available: Number(formatUnits(rawAmount, decimals ?? 18))
186
- })
187
- }
188
- })
189
- })
190
-
191
-
192
- balancerV2s.forEach(balancer => {
193
- const callLen = otherAssets.length
194
-
195
- const data: any[] = rawResults.slice(currentOffset, callLen + currentOffset)
196
- // update offset
197
- currentOffset += callLen;
198
-
199
-
200
- otherAssets.forEach((asset, i) => {
201
- const decimals = getAssetMeta(chain, asset)?.decimals
202
- const rawAmount = data[i]
203
- if (rawAmount > 0n) {
204
- if (!liquidity[asset]) liquidity[asset] = []
205
- liquidity[asset].push({
206
- id: FLASH_LOAN_IDS[balancer.pool],
207
- name: balancer.pool,
208
- type: FlashLoanIds.BALANCER_V2,
209
- source: balancer.address,
210
- fee: "0",
211
- availableRaw: rawAmount.toString(),
212
- available: Number(formatUnits(rawAmount, decimals ?? 18))
213
- })
214
- }
215
- })
216
- })
217
-
218
-
219
-
220
- morphoBs.forEach(morpho => {
221
- const callLen = otherAssets.length
222
-
223
- const data: any[] = rawResults.slice(currentOffset, callLen + currentOffset)
224
- // update offset
225
- currentOffset += callLen;
226
-
227
-
228
- otherAssets.forEach((asset, i) => {
229
- const decimals = getAssetMeta(chain, asset)?.decimals
230
- const rawAmount = data[i]
231
- if (rawAmount > 0n) {
232
- if (!liquidity[asset]) liquidity[asset] = []
233
- liquidity[asset].push({
234
- id: FLASH_LOAN_IDS[morpho.pool],
235
- name: morpho.pool,
236
- type: FlashLoanIds.MORPHO,
237
- source: morpho.address,
238
- fee: "0",
239
- availableRaw: rawAmount.toString(),
240
- available: Number(formatUnits(rawAmount, decimals ?? 18))
241
- })
242
- }
243
- })
244
- })
245
-
246
- balancerV3s.forEach(balancerV3 => {
247
- const callLen = otherAssets.length
248
-
249
- const data: any[] = rawResults.slice(currentOffset, callLen + currentOffset)
250
- // update offset
251
- currentOffset += callLen;
252
-
253
-
254
- otherAssets.forEach((asset, i) => {
255
- const decimals = getAssetMeta(chain, asset)?.decimals
256
- const rawAmount = data[i]
257
- if (rawAmount > 0n) {
258
- if (!liquidity[asset]) liquidity[asset] = []
259
- liquidity[asset].push({
260
- id: FLASH_LOAN_IDS[balancerV3.pool],
261
- name: balancerV3.pool,
262
- type: FlashLoanIds.SINGLETON,
263
- source: balancerV3.address,
264
- fee: "0",
265
- availableRaw: rawAmount.toString(),
266
- available: Number(formatUnits(rawAmount, decimals ?? 18))
267
- })
268
- }
269
- })
270
- })
271
-
272
- uniswapV4s.forEach(uniV4 => {
273
- const callLen = otherAssets.length
274
-
275
- const data: any[] = rawResults.slice(currentOffset, callLen + currentOffset)
276
- // update offset
277
- currentOffset += callLen;
278
-
279
-
280
- otherAssets.forEach((asset, i) => {
281
- const decimals = getAssetMeta(chain, asset)?.decimals
282
- const rawAmount = data[i]
283
- if (rawAmount > 0n) {
284
- if (!liquidity[asset]) liquidity[asset] = []
285
- liquidity[asset].push({
286
- id: FLASH_LOAN_IDS[uniV4.pool],
287
- name: uniV4.pool,
288
- type: FlashLoanIds.SINGLETON,
289
- source: uniV4.address,
290
- fee: "0",
291
- availableRaw: rawAmount.toString(),
292
- available: Number(formatUnits(rawAmount, decimals ?? 18))
293
- })
294
- }
295
- })
296
- })
297
-
298
- return liquidity;
299
-
300
- }
@@ -1,2 +0,0 @@
1
- export * from "./fetchLiquidity"
2
- export * from "./utils"
@@ -1,20 +0,0 @@
1
- export enum FlashLoanIds {
2
- MORPHO = 0,
3
- BALANCER_V2 = 1,
4
- AAVE_V3 = 2,
5
- AAVE_V2 = 3,
6
- SINGLETON = "SINGLETON"
7
- }
8
- export interface FlashLoanLiquidityForAsset {
9
- id: number
10
- type: FlashLoanIds
11
- name: string
12
- source: string
13
- fee: string
14
- availableRaw: string
15
- available: number
16
- }
17
-
18
- export type FlashLiquiditiesOnChain = { [asset: string]: FlashLoanLiquidityForAsset[] }
19
-
20
- export type FlashLiquidity = { [chain: string]: FlashLiquiditiesOnChain }
@@ -1,22 +0,0 @@
1
- import { getAssetMeta, toGenericPriceKey } from "../assets";
2
- import { FlashLiquiditiesOnChain } from "./types";
3
-
4
- /**
5
- * Add prices to get dollar flash liquidties
6
- * Ideal for de-based flash loans
7
- */
8
- export function attachPricesToFlashLiquidity(chainId: string, liq: FlashLiquiditiesOnChain, prices: { [k: string]: number }) {
9
-
10
- let liqCopy = { ...liq }
11
-
12
- Object.entries(liq).forEach(([asset, entry]) => {
13
- const priceKey = getAssetMeta(chainId, asset)?.assetGroup ?? toGenericPriceKey(asset, chainId)
14
- const price = prices[priceKey] ?? 0
15
- liqCopy[asset] = entry.map(e => ({
16
- ...e,
17
- availableUSD: e.available * price
18
- }))
19
- })
20
-
21
- return liqCopy
22
- }
package/src/index.ts DELETED
@@ -1,7 +0,0 @@
1
- export * from "./lending"
2
- export * from "./lending-pairs"
3
- export * from "./yields"
4
- export * from "./prices"
5
- export * from "./utils"
6
- export * from "./flash-liquidity"
7
- export type { MulticallRetryFunction, GetEvmClientFunction, ProviderDependencies, OptionalProviderDependencies } from "./types/providers"
@@ -1,9 +0,0 @@
1
- import { Chain, WRAPPED_NATIVE_INFO } from "@1delta/asset-registry";
2
-
3
- export const AURELIUS_REWARD_ASSETS = [WRAPPED_NATIVE_INFO[Chain.MANTLE], {
4
- chainId: Chain.MANTLE,
5
- address: '0x6e20E155819f0ee08d1291b0b9889b0e011b8224',
6
- decimals: 18,
7
- symbol: 'oAU',
8
- name: 'Aurelius Call Option Token',
9
- }]