@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,348 +0,0 @@
1
- import { AaveOracleAbi } from '../../abis/oracle/AaveOracle';
2
- import { UniswapV2PairAbi } from '../../abis/oracle/UniswapV2Pair';
3
- import { ChainLinkAggregatorAbi } from '../../abis/oracle/ChainLinkAggregator';
4
- import { Api3OracleAbi } from '../../abis/oracle/Api3Oracle';
5
- import { RWADynamicOracleAbi } from '../../abis/oracle/RWADynamicOracle';
6
- import { api3OracleAddresses } from './addresses/api3';
7
- import { AAVE_V2_LENDERS, ASSET_META, Chain } from '@1delta/asset-registry';
8
- import { formatEther } from 'viem';
9
- import { getAaveAssets } from '../../assets';
10
- import { chainlinkOracles, getChainLinkKeys, ChainlinkAggregatorIndexes, } from './addresses/chainlink';
11
- import { fetchDefillamaData } from '../defillama';
12
- import { multicallViemAbiArray } from '../../utils/multicall';
13
- import { AAVE_STYLE_ORACLES } from './addresses/aaveOracles';
14
- import { AAVES_PER_CHAIN } from '../../utils';
15
- import { parseRawAmount } from '../../utils/parsing';
16
- export const formatAavePrice = (price, isV2 = false) => {
17
- return Number(formatEther(BigInt(price ?? '0') *
18
- // 10^(18 - decimals)
19
- 10n ** (isV2 ? 0n : 10n)));
20
- };
21
- const LENDLE_PAIR_MANTLE = '0x4c57BE599d0e0414785943569E9B6A66dA79Aa6b';
22
- const AU_PAIR_MANTLE = '0x709503fbb50b10f921e812c48fbd5c5522a0b20c';
23
- const WMNT_USDT_PAIR = '0x3e5922cd0cec71dc2d60ec8b36aa4c05b7c1672f';
24
- const RWA_DYNAMIC_ORACLE = '0xA96abbe61AfEdEB0D14a20440Ae7100D9aB4882f';
25
- /**
26
- * Fetches Aave and uniswap V2 oracle data
27
- */
28
- export const fetchMainPrices = async (chainIds, getEvmClient) => {
29
- let promises = chainIds.map((chainId) => {
30
- const aaveForks = AAVES_PER_CHAIN[chainId];
31
- let reservesToQuery = aaveForks.map((a) => ({ fork: a, assets: getAaveAssets(chainId, a) }));
32
- let handled = [];
33
- let queries = [];
34
- reservesToQuery.forEach((e) => {
35
- const newOnes = e.assets.filter((a) => !handled.includes(a));
36
- if (newOnes.length > 0) {
37
- queries.push({
38
- assets: newOnes,
39
- // @ts-ignore
40
- oracle: AAVE_STYLE_ORACLES[e.fork][chainId],
41
- fork: e.fork,
42
- });
43
- handled = [...handled, ...newOnes];
44
- }
45
- });
46
- const callAave = getAaveCalls(queries);
47
- const [callsChainLink, chainLinkNames] = getChainLinkCalls(chainId);
48
- const uniswapV2Calls = getUniswapV2Calls(chainId);
49
- const [api3Calls, api3Names] = getApi3Calls(chainId);
50
- const [rwaCalls, rwaNames] = getRWADynamicOracleCalls(chainId);
51
- return multicallViemAbiArray(chainId, [
52
- ...ChainLinkAggregatorAbi,
53
- ...UniswapV2PairAbi,
54
- ...AaveOracleAbi,
55
- ...Api3OracleAbi,
56
- ...RWADynamicOracleAbi,
57
- ], [
58
- ...callsChainLink,
59
- ...callAave,
60
- ...uniswapV2Calls,
61
- ...api3Calls,
62
- ...rwaCalls,
63
- ], getEvmClient).then((multicallResult) => {
64
- const chainLinkResults = multicallResult.slice(0, callsChainLink.length);
65
- const aaveResult = multicallResult.slice(callsChainLink.length, callsChainLink.length + callAave.length);
66
- const chainLinkData = parseChainLinkResults(chainId, chainLinkResults, chainLinkNames);
67
- // @ts-ignore
68
- const aaveData = parseAaveResults(chainId, aaveResult, queries);
69
- const uniswapResult = multicallResult.slice(callsChainLink.length + callAave.length, callsChainLink.length + callAave.length + uniswapV2Calls.length);
70
- const api3Result = multicallResult.slice(callsChainLink.length + callAave.length + uniswapV2Calls.length, callsChainLink.length +
71
- callAave.length +
72
- uniswapV2Calls.length +
73
- api3Calls.length);
74
- const uniswapData = parseUniswapV2results(uniswapResult, chainId);
75
- const api3Data = parseApi3Results(chainId, api3Result, api3Names);
76
- const rwaResult = multicallResult.slice(callsChainLink.length +
77
- callAave.length +
78
- uniswapV2Calls.length +
79
- api3Calls.length, callsChainLink.length +
80
- callAave.length +
81
- uniswapV2Calls.length +
82
- api3Calls.length +
83
- rwaCalls.length);
84
- const rwaData = parseRWADynamicOracleResults(chainId, rwaResult, rwaNames);
85
- return {
86
- ...uniswapData,
87
- ...aaveData,
88
- ...chainLinkData,
89
- ...api3Data,
90
- ...rwaData,
91
- };
92
- });
93
- });
94
- promises.push(fetchDefillamaData());
95
- const result = await Promise.all(promises);
96
- let data = {};
97
- result.forEach((r) => {
98
- data = { ...data, ...r };
99
- });
100
- return data;
101
- };
102
- /**
103
- * Gets the calls foir the uniswap pools
104
- * @param chainId network id
105
- * @returns array of calls
106
- */
107
- const getUniswapV2Calls = (chainId) => {
108
- switch (chainId) {
109
- case Chain.MANTLE:
110
- return [
111
- {
112
- address: WMNT_USDT_PAIR,
113
- name: 'getReserves',
114
- params: [],
115
- },
116
- {
117
- address: LENDLE_PAIR_MANTLE,
118
- name: 'getReserves',
119
- params: [],
120
- },
121
- {
122
- address: AU_PAIR_MANTLE,
123
- name: 'getReserves',
124
- params: [],
125
- },
126
- ];
127
- default:
128
- return [];
129
- }
130
- };
131
- /**
132
- * Create calldata for aave oracles
133
- * @param chainId network
134
- * @param addressesAaveUnderlyings address array
135
- * @returns call data
136
- */
137
- const getAaveCalls = (query) => {
138
- if (query.length === 0)
139
- return [];
140
- return query
141
- .map(({ oracle, assets }) => ({
142
- address: oracle,
143
- name: 'getAssetsPrices',
144
- params: [assets],
145
- }))
146
- .flat();
147
- };
148
- /**
149
- * Create calldata for chainLink oracles
150
- * @param chainId network
151
- * @param addressesAaveUnderlyings address array
152
- * @returns call data
153
- */
154
- const getChainLinkCalls = (chainId) => {
155
- switch (chainId) {
156
- case Chain.MANTLE:
157
- return [[], []];
158
- default: {
159
- const keys = getChainLinkKeys(chainId).filter((k) => k.split('-')[1] === 'USD');
160
- // @ts-ignore
161
- const addresses = keys.map((k) => chainlinkOracles[k][chainId]);
162
- return [
163
- addresses.map((tk) => {
164
- return {
165
- address: tk,
166
- name: 'latestRoundData',
167
- params: [],
168
- };
169
- }),
170
- keys.map((k) => k.split('-')[0]),
171
- ];
172
- }
173
- }
174
- };
175
- /**
176
- * Processes data creeated from fetch through 'getUniswapV2Calls
177
- * @param data the result data array slice from the multicall
178
- * @param chainId network id
179
- * @returns price dictionary asset->number
180
- */
181
- const parseUniswapV2results = (data, chainId) => {
182
- switch (chainId) {
183
- case Chain.MANTLE: {
184
- let uniswapData = {};
185
- if (data.length > 0) {
186
- const reserves = data[1];
187
- // lendle and wmnt are respective token0s
188
- const lendleReserve = Number(parseRawAmount(reserves[0].toString(), 18));
189
- const wmntReserve = Number(parseRawAmount(reserves[1].toString(), 18));
190
- const auReserves = data[2];
191
- const auReserve = Number(parseRawAmount(auReserves[1].toString(), 18));
192
- const wmntReserve_au = Number(parseRawAmount(auReserves[0].toString(), 18));
193
- const reservesWmntUsdt = data[0];
194
- const usdtReserve = Number(parseRawAmount(reservesWmntUsdt[0].toString(), 6));
195
- const wmnt2Reserve = Number(parseRawAmount(reservesWmntUsdt[1].toString(), 18));
196
- const lendPrice = (wmntReserve / lendleReserve / wmnt2Reserve) * usdtReserve;
197
- const auPrice = (wmntReserve_au / auReserve / wmnt2Reserve) * usdtReserve;
198
- uniswapData['LEND'] = lendPrice;
199
- uniswapData['AU'] = auPrice;
200
- }
201
- return uniswapData;
202
- }
203
- default:
204
- return {};
205
- }
206
- };
207
- function lowDecimalOracle(chainId, fork) {
208
- // some chains only have high decimal oracles
209
- if (chainId === Chain.AVALANCHE_C_CHAIN || chainId === Chain.MODE) {
210
- return false;
211
- }
212
- // otherwise, it depends on whether it is aave V3
213
- return AAVE_V2_LENDERS.includes(fork);
214
- }
215
- /**
216
- * Parser for aave results in ulticall slice
217
- * @param chainId network
218
- * @param data result array slice
219
- * @param assetName asset names (aligned with the originall addresses called)
220
- * @returns price mapping asset->number
221
- */
222
- const parseAaveResults = (chainId, data, queries) => {
223
- let prices = {};
224
- data.forEach((d, i) => {
225
- const details = queries[i];
226
- details.assets.forEach((a, j) => {
227
- const oracleId = ASSET_META[chainId][a]?.assetGroup ??
228
- ASSET_META[chainId]?.[a]?.symbol ??
229
- chainId + '-' + a;
230
- prices[oracleId] = formatAavePrice(d[j].toString(), lowDecimalOracle(chainId, details.fork));
231
- });
232
- });
233
- return prices;
234
- };
235
- /**
236
- * Parser for aave results in ulticall slice
237
- * @param chainId network
238
- * @param data result array slice
239
- * @param assetName asset names (aligned with the originall addresses called)
240
- * @returns price mapping asset->number
241
- */
242
- const parseChainLinkResults = (chainId, data, assetName) => {
243
- switch (chainId) {
244
- default: {
245
- return Object.assign({}, ...data.map((entry, index) => {
246
- return {
247
- [assetName[index]]: Number(parseRawAmount(entry?.[ChainlinkAggregatorIndexes.answer]?.toString() ?? '0', 8)),
248
- };
249
- }));
250
- }
251
- }
252
- };
253
- /**
254
- * Create calldata for api3 oracles
255
- * @param chainId network
256
- * @returns call data
257
- */
258
- const getApi3Calls = (chainId) => {
259
- switch (chainId) {
260
- case Chain.MANTLE: {
261
- const keys = ['WETH', 'METH', 'FBTC', 'CMETH'];
262
- const addresses = keys.map((k) => api3OracleAddresses[chainId][k]);
263
- return [
264
- addresses.map((tk) => {
265
- return {
266
- address: tk,
267
- name: 'read',
268
- params: [],
269
- };
270
- }),
271
- keys,
272
- ];
273
- }
274
- default:
275
- return [[], []];
276
- }
277
- };
278
- /**
279
- * Parser for api3 results in multicall slice
280
- * @param chainId network
281
- * @param data result array slice
282
- * @param assetName asset names (aligned with the originall addresses called)
283
- * @returns price mapping asset->number
284
- */
285
- const parseApi3Results = (chainId, data, assetName) => {
286
- switch (chainId) {
287
- case Chain.MANTLE: {
288
- let prices = Object.assign({}, ...data.map((entry, index) => {
289
- return {
290
- [assetName[index]]: Number(parseRawAmount(entry?.[0]?.toString() ?? '0', 18)),
291
- };
292
- }));
293
- // METH is given in mETH/WETH
294
- prices['METH'] = prices['METH'] * prices['WETH'];
295
- prices['CMETH'] = prices['CMETH'] * prices['METH'];
296
- return prices;
297
- }
298
- default: {
299
- return {};
300
- }
301
- }
302
- };
303
- /**
304
- * Create calldata for RWADynamicOracle (wrap rate for musd/usdy)
305
- * @param chainId network
306
- * @returns call data
307
- */
308
- const getRWADynamicOracleCalls = (chainId) => {
309
- switch (chainId) {
310
- case Chain.MANTLE: {
311
- const keys = ['USDY_MUSD'];
312
- return [
313
- [
314
- {
315
- address: RWA_DYNAMIC_ORACLE,
316
- name: 'getPrice',
317
- params: [],
318
- },
319
- ],
320
- keys,
321
- ];
322
- }
323
- default:
324
- return [[], []];
325
- }
326
- };
327
- /**
328
- * Parser for RWADynamicOracle (wrap rate for musd/usdy) results in multicall slice
329
- * @param chainId network
330
- * @param data result array slice
331
- * @param assetName asset names (aligned with the originall addresses called)
332
- * @returns price mapping asset->number
333
- */
334
- const parseRWADynamicOracleResults = (chainId, data, assetName) => {
335
- switch (chainId) {
336
- case Chain.MANTLE: {
337
- let prices = Object.assign({}, ...data.map((entry, index) => {
338
- return {
339
- [assetName[index]]: Number(parseRawAmount(entry?.toString() ?? '0', 18)),
340
- };
341
- }));
342
- return prices;
343
- }
344
- default: {
345
- return {};
346
- }
347
- }
348
- };
@@ -1 +0,0 @@
1
- export * from "./fetchOracleData";
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- export * from "./apiReturnType";
2
- export var ChainlinkAggregatorIndexes;
3
- (function (ChainlinkAggregatorIndexes) {
4
- ChainlinkAggregatorIndexes[ChainlinkAggregatorIndexes["roundId"] = 0] = "roundId";
5
- ChainlinkAggregatorIndexes[ChainlinkAggregatorIndexes["answer"] = 1] = "answer";
6
- ChainlinkAggregatorIndexes[ChainlinkAggregatorIndexes["startedAt"] = 2] = "startedAt";
7
- ChainlinkAggregatorIndexes[ChainlinkAggregatorIndexes["updatedAt"] = 3] = "updatedAt";
8
- ChainlinkAggregatorIndexes[ChainlinkAggregatorIndexes["answeredInRound"] = 4] = "answeredInRound";
9
- })(ChainlinkAggregatorIndexes || (ChainlinkAggregatorIndexes = {}));
10
- export * from "./providers";
@@ -1 +0,0 @@
1
- export {};
@@ -1,97 +0,0 @@
1
- import { Chain } from '@1delta/asset-registry';
2
- // Uniswap interface Multicalls
3
- const CELO_MULTICALL_ADDRESS = '0x633987602DE5C4F337e3DbF265303A1080324204';
4
- const BNB_MULTICALL_ADDRESS = '0x963Df249eD09c358A4819E39d9Cd5736c3087184';
5
- const MANTLE_MULTICALL_ADDRESS = '0x2A51f2F647E1883F88C992244dEd171238693107';
6
- const ARBITRUM_ONE_MULTICALL_ADDRESS = '0xadF885960B47eA2CD9B55E6DAc6B42b7Cb2806dB';
7
- const LINEA_MULTICALL_ADDRESS = '0xac1cE734566f390A94b00eb9bf561c2625BF44ea';
8
- const AVALANCHE_MULTICALL_ADDRESS = '0x0139141Cd4Ee88dF3Cdb65881D411bAE271Ef0C2';
9
- const BASE_MULTICALL_ADDRESS = '0x091e99cb1C49331a94dD62755D168E941AbD0693';
10
- const BLAST_MULTICALL_ADDRESS = '0xdC7f370de7631cE9e2c2e1DCDA6B3B5744Cf4705';
11
- const TAIKO_MULTICALL_ADDRESS = '0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201';
12
- const HEMI_MULTICALL_ADDRESS = '0x352A86168e6988A1aDF9A15Cb00017AAd3B67155';
13
- const GNOSIS_MULTICALL_ADDRESS = '0x4dfa9a980efE4802E969AC33968E3d6E59B8a19e';
14
- const MODE_MULTICALL_ADDRESS = '0xAB39cE30D98a59DFDa40A630b074170800bfF179';
15
- const FANTOM_MULTICALL_ADDRESS = '0xDb51CffFf3B989d0cB6b58AbF173371b6F2d0D24';
16
- const SCROLL_MULTICALL_ADDRESS = '0x3b615B1AC55bc34e51a81D3dea67467F32bcb8C2';
17
- const SHAPE_MULTICALL_ADDRESS = '0x356A450B32f5030ae7083702b86FaFbBe7490411';
18
- const SONIC_MULTICALL_ADDRESS = '0x5d6b0f5335ec95cD2aB7E52f2A0750dd86502435';
19
- const INK_MULTICALL_ADDRESS = '0xA0fCec583AeE6176527C07B198e5561722332014';
20
- const METIS_MULTICALL_ADDRESS = '0x7a59ddbB76521E8982Fa3A08598C9a83b14A6C07';
21
- const IOTA_MULTICALL_ADDRESS = '0x9683D433621A83aA7dd290106e1da85251317F55';
22
- const KAVA_MULTICALL_ADDRESS = '0x8B741B0D79BE80E135C880F7583d427B4D41F015';
23
- const CORN_MULTICALL_ADDRESS = '0x5d6b0f5335ec95cD2aB7E52f2A0750dd86502435';
24
- const SAGA_MULTICALL_ADDRESS = '0x743E03cceB4af2efA3CC76838f6E8B50B63F184c';
25
- const CYBER_MULTICALL_ADDRESS = '0x906d6eB9CF8f64e100e44f8f491b833a8d40B530';
26
- const METAL_MULTICALL_ADDRESS = '0x5d6b0f5335ec95cD2aB7E52f2A0750dd86502435';
27
- const ZERO_MULTICALL_ADDRESS = '0x9CA4dcb2505fbf536F6c54AA0a77C79f4fBC35C0';
28
- const BOB_MULTICALL_ADDRESS = '0x5d6b0f5335ec95cD2aB7E52f2A0750dd86502435';
29
- const WORLDCHAIN_MULTICALL_ADDRESS = '0x0a22c04215c97E3F532F4eF30e0aD9458792dAB9';
30
- const LISK_MULTICALL_ADDRESS = '0xE3dbcD53f4Ce1b06Ab200f4912BD35672e68f1FA';
31
- const REDSTONE_MULTICALL_ADDRESS = '0xd57B52452a0FDfE3ff8e0A40Bd10D00D0bfe0723';
32
- const MANTA_MULTICALL_ADDRESS = '0x52dFC0D9960F11A9Ca9FF616e791B91188446a60';
33
- const ZORA_MULTICALL_ADDRESS = '0xA51c76bEE6746cB487a7e9312E43e2b8f4A37C15';
34
- const CORE_MULTICALL_ADDRESS = '0xFe9F82D820757787895Da00B1dBD35c3B8b04894';
35
- /**
36
- * Uniswap Interface Multicall
37
- */
38
- export const MULTICALL_ADDRESS = {
39
- [Chain.OP_MAINNET]: '0x1F98415757620B543A52E61c46B32eB19261F984',
40
- [Chain.POLYGON_MAINNET]: '0x1F98415757620B543A52E61c46B32eB19261F984',
41
- [Chain.ETHEREUM_MAINNET]: '0x1F98415757620B543A52E61c46B32eB19261F984',
42
- [Chain.ARBITRUM_ONE]: ARBITRUM_ONE_MULTICALL_ADDRESS,
43
- [Chain.BASE]: BASE_MULTICALL_ADDRESS,
44
- [Chain.CELO_MAINNET]: CELO_MULTICALL_ADDRESS,
45
- [Chain.BNB_SMART_CHAIN_MAINNET]: BNB_MULTICALL_ADDRESS,
46
- [Chain.MANTLE]: MANTLE_MULTICALL_ADDRESS,
47
- [Chain.BLAST]: BLAST_MULTICALL_ADDRESS,
48
- [Chain.LINEA]: LINEA_MULTICALL_ADDRESS,
49
- [Chain.AVALANCHE_C_CHAIN]: AVALANCHE_MULTICALL_ADDRESS,
50
- [Chain.TAIKO_ALETHIA]: TAIKO_MULTICALL_ADDRESS,
51
- [Chain.HEMI_NETWORK]: HEMI_MULTICALL_ADDRESS,
52
- [Chain.GNOSIS]: GNOSIS_MULTICALL_ADDRESS,
53
- [Chain.CORE_BLOCKCHAIN_MAINNET]: CORE_MULTICALL_ADDRESS,
54
- [Chain.METIS_ANDROMEDA_MAINNET]: METIS_MULTICALL_ADDRESS,
55
- [Chain.MODE]: MODE_MULTICALL_ADDRESS,
56
- [Chain.INK]: INK_MULTICALL_ADDRESS,
57
- [Chain.IOTA_EVM]: IOTA_MULTICALL_ADDRESS,
58
- [Chain.CORN]: CORN_MULTICALL_ADDRESS,
59
- [Chain.SONIC_MAINNET]: SONIC_MULTICALL_ADDRESS,
60
- [Chain.FANTOM_OPERA]: FANTOM_MULTICALL_ADDRESS,
61
- [Chain.SCROLL]: SCROLL_MULTICALL_ADDRESS,
62
- [Chain.SHAPE]: SHAPE_MULTICALL_ADDRESS,
63
- [Chain.CYBER_MAINNET]: CYBER_MULTICALL_ADDRESS,
64
- [Chain.ZORA]: ZORA_MULTICALL_ADDRESS,
65
- [Chain.MANTA_PACIFIC_MAINNET]: MANTA_MULTICALL_ADDRESS,
66
- [Chain.REDSTONE]: REDSTONE_MULTICALL_ADDRESS,
67
- [Chain.KAVA]: KAVA_MULTICALL_ADDRESS,
68
- [Chain.METAL_L2]: METAL_MULTICALL_ADDRESS,
69
- [Chain.LISK]: LISK_MULTICALL_ADDRESS,
70
- [Chain.BOB]: BOB_MULTICALL_ADDRESS,
71
- [Chain.ZERO_NETWORK]: ZERO_MULTICALL_ADDRESS,
72
- [Chain.SAGA]: SAGA_MULTICALL_ADDRESS,
73
- [Chain.WORLD_CHAIN]: WORLDCHAIN_MULTICALL_ADDRESS,
74
- };
75
- /**
76
- * 1Delta Composer Addresses
77
- */
78
- export const COMPOSERS = {
79
- [Chain.ARBITRUM_ONE]: "0x05f3f58716a88A52493Be45aA0871c55b3748f18",
80
- [Chain.OP_MAINNET]: "0xCDef0A216fcEF809258aA4f341dB1A5aB296ea72",
81
- [Chain.POLYGON_MAINNET]: "0xFd245e732b40b6BF2038e42b476bD06580585326",
82
- [Chain.BASE]: "0xB7ea94340e65CC68d1274aE483dfBE593fD6f21e",
83
- [Chain.SONIC_MAINNET]: "0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201",
84
- [Chain.HEMI_NETWORK]: "0x79f4061BF049c5c6CAC6bfe2415c2460815F4ac7",
85
- [Chain.TAIKO_ALETHIA]: "0x594cE4B82A81930cC637f1A59afdFb0D70054232",
86
- [Chain.METIS_ANDROMEDA_MAINNET]: "0xCe434378adacC51d54312c872113D687Ac19B516",
87
- [Chain.GNOSIS]: "0xcb6eb8df68153cebf60e1872273ef52075a5c297",
88
- [Chain.AVALANCHE_C_CHAIN]: '0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201',
89
- [Chain.MODE]: '0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201',
90
- [Chain.SCROLL]: '0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201',
91
- [Chain.CORE_BLOCKCHAIN_MAINNET]: "0x816EBC5cb8A5651C902Cb06659907A93E574Db0B",
92
- [Chain.FANTOM_OPERA]: "0x816EBC5cb8A5651C902Cb06659907A93E574Db0B",
93
- [Chain.BNB_SMART_CHAIN_MAINNET]: "0x816EBC5cb8A5651C902Cb06659907A93E574Db0B",
94
- [Chain.MANTLE]: "0x5c019a146758287c614fe654caec1ba1caf05f4e",
95
- [Chain.LINEA]: "0x816EBC5cb8A5651C902Cb06659907A93E574Db0B",
96
- [Chain.BLAST]: "0x816EBC5cb8A5651C902Cb06659907A93E574Db0B",
97
- };
@@ -1,106 +0,0 @@
1
- import { AAVE_FORK_POOL_DATA, AAVE_STYLE_RESERVE_ASSETS, AAVE_V2_LENDERS, AAVE_V3_LENDERS, COMPOUND_BASE_TOKENS, COMPOUND_STYLE_RESERVE_ASSETS, INIT_STYLE_RESERVE_ASSETS, Lender, SWAYLEND_RESERVE_ASSETS, INIT_CONFIG_DATA, MORPHO_BLUE_POOL_DATA, } from "@1delta/asset-registry";
2
- import { uniq } from "lodash";
3
- import { COMPOSERS } from "./constants";
4
- const AAVE_V3_KEY = "AAVE_V3";
5
- const COMPOUND_V3_KEY = "COMPOUND_V3";
6
- export function isCompoundV3(lender) { return lender.startsWith(COMPOUND_V3_KEY); }
7
- export function isCompoundV3Type(lender) { return lender.startsWith(COMPOUND_V3_KEY); }
8
- export function isInit(lender) { return lender === Lender.INIT; }
9
- export function isMorphoType(lender) {
10
- return [
11
- Lender.MORPHO_BLUE
12
- ].includes(lender);
13
- }
14
- const SWAYLEND_KEY = "SWAYLEND";
15
- export const AAVE_V3_2_PROTOCOLS = [Lender.AAVE_V3, Lender.AAVE_V3_ETHER_FI, Lender.AAVE_V3_PRIME];
16
- export function isAaveV3Type(lender) {
17
- return AAVE_V3_LENDERS.includes(lender);
18
- }
19
- export function isAaveV3Original(lender) {
20
- return lender.startsWith(AAVE_V3_KEY);
21
- }
22
- export function isAaveV2Type(lender) {
23
- return AAVE_V2_LENDERS.includes(lender);
24
- }
25
- export function isYLDR(lender) {
26
- return lender === Lender.YLDR;
27
- }
28
- export function isAaveV32Type(lender) {
29
- return AAVE_V3_2_PROTOCOLS.includes(lender);
30
- }
31
- export function isAaveType(lender) {
32
- return [...AAVE_V3_LENDERS, ...AAVE_V2_LENDERS].includes(lender);
33
- }
34
- export function isSwaylend(lender) {
35
- return lender.startsWith(SWAYLEND_KEY);
36
- }
37
- export const getLendersForChain = (c) => {
38
- let lenders = [];
39
- // aaves
40
- Object.entries(AAVE_FORK_POOL_DATA).forEach(([l, data]) => {
41
- const chains = Object.keys(data);
42
- if (chains.includes(c))
43
- lenders.push(l);
44
- });
45
- // compound V3s
46
- Object.entries(COMPOUND_BASE_TOKENS).forEach(([l, data]) => {
47
- const chains = Object.keys(data);
48
- if (chains.includes(c))
49
- lenders.push(l);
50
- });
51
- // init
52
- Object.entries(INIT_CONFIG_DATA).forEach(([l, data]) => {
53
- const chains = Object.keys(data);
54
- if (chains.includes(c))
55
- lenders.push(l);
56
- });
57
- // morpho
58
- Object.entries(MORPHO_BLUE_POOL_DATA).forEach(([l, data]) => {
59
- const chains = Object.keys(data);
60
- if (chains.includes(c))
61
- lenders.push(l);
62
- });
63
- return lenders;
64
- };
65
- /** Filter lenders by protocol list */
66
- export const filterLendersByProtocol = (allLenders, protocolList) => {
67
- // return all lenders if no filter is provided
68
- if (!protocolList || protocolList.length === 0) {
69
- return allLenders;
70
- }
71
- const hasMorpho = protocolList.includes(Lender.MORPHO_BLUE);
72
- // Filter lenders based on protocol list
73
- return allLenders.filter((lender) => protocolList.includes(lender) || (hasMorpho && lender.startsWith("MORPHO_BLUE")));
74
- };
75
- const getAavesForChain = () => {
76
- let lenders = {};
77
- Object.entries(AAVE_FORK_POOL_DATA).forEach(([l, data]) => {
78
- Object.entries(data).forEach(([chain, data]) => {
79
- if (!lenders[chain])
80
- lenders[chain] = [];
81
- lenders[chain] = uniq([...lenders[chain], l]);
82
- });
83
- });
84
- return lenders;
85
- };
86
- /** All aave protocols per chain */
87
- export const AAVES_PER_CHAIN = getAavesForChain();
88
- export const getComposerAddress = (chainId) => {
89
- return COMPOSERS[chainId];
90
- };
91
- export const getLenderAssets = (chainId, lendingProtocol = Lender.AAVE_V3) => {
92
- if (!chainId)
93
- return [];
94
- if (isAaveType(lendingProtocol))
95
- return AAVE_STYLE_RESERVE_ASSETS[lendingProtocol]?.[chainId] ?? [];
96
- if (isCompoundV3(lendingProtocol))
97
- return COMPOUND_STYLE_RESERVE_ASSETS[lendingProtocol]?.[chainId] ?? [];
98
- if (isInit(lendingProtocol))
99
- return INIT_STYLE_RESERVE_ASSETS[lendingProtocol]?.[chainId] ?? [];
100
- if (isSwaylend(lendingProtocol))
101
- return SWAYLEND_RESERVE_ASSETS[lendingProtocol]?.[chainId ?? 0] ?? [];
102
- return [];
103
- };
104
- export function isMultiMarket(lender) {
105
- return lender.startsWith("MORPHO_BLUE");
106
- }
@@ -1,30 +0,0 @@
1
- import { isArray } from 'lodash';
2
- const MULTICALL_DEFAULT_BATCH_SIZE = 4096;
3
- const maxRetries = 3;
4
- /** Same as Multicall viem except that the abi param is supposed to be the abi per call */
5
- export const multicallViemAbiArray = async (chainId, abi, calls, getEvmClient, retry = true, providerId = 0, retries = maxRetries) => {
6
- try {
7
- const provider = getEvmClient(chainId, providerId);
8
- const abiIsArray = isArray(abi[0]);
9
- const returnData = await provider.multicall({
10
- allowFailure: true,
11
- batchSize: MULTICALL_DEFAULT_BATCH_SIZE,
12
- contracts: calls.map(({ address, name, params }, i) => ({
13
- abi: abiIsArray ? abi?.[i] : abi,
14
- address: address,
15
- functionName: name,
16
- args: params,
17
- })),
18
- });
19
- const res = returnData.map(({ result, status }) => status !== "success" ? '0x' : result);
20
- return res;
21
- }
22
- catch (error) {
23
- console.log("error in multicall", error);
24
- retries--;
25
- if (retries < 0)
26
- throw new Error("Failed too often");
27
- providerId++;
28
- return multicallViemAbiArray(chainId, abi, calls, getEvmClient, retry, providerId, retries);
29
- }
30
- };
@@ -1,66 +0,0 @@
1
- import { Chain, Lender } from "@1delta/asset-registry";
2
- import { formatEther, formatUnits } from "viem";
3
- import { isCompoundV3 } from ".";
4
- export const BPS = 10000;
5
- export const parseRawAmount = (answer, decimals = 18) => {
6
- if (!answer || answer === "0x")
7
- return "0";
8
- try {
9
- return formatUnits(BigInt(answer ?? "0"), decimals ?? 18);
10
- }
11
- catch (e) {
12
- return "0";
13
- }
14
- };
15
- export var TimeScale;
16
- (function (TimeScale) {
17
- TimeScale[TimeScale["BLOCK"] = 0] = "BLOCK";
18
- TimeScale[TimeScale["MS"] = 1] = "MS";
19
- })(TimeScale || (TimeScale = {}));
20
- const BLOCK_TIMES = {
21
- 5: 12,
22
- 1: 12,
23
- 56: 3,
24
- };
25
- // Converters from apy to apr and reversed
26
- const SECONDS_PER_YEAR = 31536000;
27
- export const aprToApy = (apr) => {
28
- return (1 + apr / SECONDS_PER_YEAR) ** SECONDS_PER_YEAR - 1;
29
- };
30
- export const apyToApr = (apy) => {
31
- return ((apy + 1) ** (1 / SECONDS_PER_YEAR) - 1) * SECONDS_PER_YEAR;
32
- };
33
- export const apyToAprPercent = (apy) => {
34
- return 100 * ((apy / 100 + 1) ** (1 / SECONDS_PER_YEAR) - 1) * SECONDS_PER_YEAR;
35
- };
36
- export const formatAaveYieldToNumber = (n) => {
37
- if (!n)
38
- return 0;
39
- return Number(formatEther(BigInt(n) / BigInt(1e7)));
40
- };
41
- export const calculateRateForCompound = (n, chainId, lender = Lender.COMPOUND_V3_USDCE) => {
42
- let scale = TimeScale.MS;
43
- if (isCompoundV3(lender) || Lender.COMPOUND_V2) {
44
- scale = TimeScale.BLOCK;
45
- }
46
- else if (chainId === Chain.BNB_SMART_CHAIN_MAINNET) {
47
- scale = TimeScale.BLOCK;
48
- }
49
- const rate = Number(formatEther(BigInt(n)));
50
- if (scale === TimeScale.BLOCK)
51
- return ((Math.pow((rate * 60 * 60 * 24) / (BLOCK_TIMES[chainId] ?? 1) + 1, 365) -
52
- 1) *
53
- 100);
54
- return (Math.pow(rate * 60 * 60 * 24 + 1, 365) - 1) * 100;
55
- };
56
- export const formatAaveRawApyToApr = (raw) => {
57
- const apy = formatAaveYieldToNumber(raw);
58
- return apyToApr(apy / 100) * 100;
59
- };
60
- // converts rate per second to rate per year
61
- export const convertRateToApr = (ratePerSecond) => {
62
- const rps = Number(ratePerSecond);
63
- if (isNaN(rps))
64
- return 0;
65
- return rps * 3600 * 24 * 365 * 100;
66
- };