@1delta/margin-fetcher 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/dist/abis/aave/AToken.d.ts +526 -0
  2. package/dist/abis/aave/AToken.d.ts.map +1 -0
  3. package/dist/abis/aave/AToken.js +686 -0
  4. package/dist/abis/aave/AaveOracle.d.ts +40 -0
  5. package/dist/abis/aave/AaveOracle.d.ts.map +1 -0
  6. package/dist/abis/aave/AaveOracle.js +53 -0
  7. package/dist/abis/aave/AavePoolAndDataProvider.d.ts +1618 -0
  8. package/dist/abis/aave/AavePoolAndDataProvider.d.ts.map +1 -0
  9. package/dist/abis/aave/AavePoolAndDataProvider.js +2080 -0
  10. package/dist/abis/aave/AavePoolV3.d.ts +819 -0
  11. package/dist/abis/aave/AavePoolV3.d.ts.map +1 -0
  12. package/dist/abis/aave/AavePoolV3.js +1060 -0
  13. package/dist/abis/aave/AavePoolV3Upgraded.d.ts +1134 -0
  14. package/dist/abis/aave/AavePoolV3Upgraded.d.ts.map +1 -0
  15. package/dist/abis/aave/AavePoolV3Upgraded.js +1474 -0
  16. package/dist/abis/aave/AaveV3ProtocolDataProvider.d.ts +420 -0
  17. package/dist/abis/aave/AaveV3ProtocolDataProvider.d.ts.map +1 -0
  18. package/dist/abis/aave/AaveV3ProtocolDataProvider.js +553 -0
  19. package/dist/abis/aave/VariableDebtToken.d.ts +635 -0
  20. package/dist/abis/aave/VariableDebtToken.d.ts.map +1 -0
  21. package/dist/abis/aave/VariableDebtToken.js +820 -0
  22. package/dist/abis/aave-v2/ProtocolDataProvider.d.ts +238 -0
  23. package/dist/abis/aave-v2/ProtocolDataProvider.d.ts.map +1 -0
  24. package/dist/abis/aave-v2/ProtocolDataProvider.js +312 -0
  25. package/dist/abis/aave-v2/YLDR.d.ts +209 -0
  26. package/dist/abis/aave-v2/YLDR.d.ts.map +1 -0
  27. package/dist/abis/aave-v2/YLDR.js +199 -0
  28. package/dist/abis/aave-v3/AavePoolDataProviderLegacy.d.ts +406 -0
  29. package/dist/abis/aave-v3/AavePoolDataProviderLegacy.d.ts.map +1 -0
  30. package/dist/abis/aave-v3/AavePoolDataProviderLegacy.js +460 -0
  31. package/dist/abis/aave-v3/AavePoolLegacy.d.ts +819 -0
  32. package/dist/abis/aave-v3/AavePoolLegacy.d.ts.map +1 -0
  33. package/dist/abis/aave-v3/AavePoolLegacy.js +1060 -0
  34. package/dist/abis/aurelius/Rewarder.d.ts +90 -0
  35. package/dist/abis/aurelius/Rewarder.d.ts.map +1 -0
  36. package/dist/abis/aurelius/Rewarder.js +118 -0
  37. package/dist/abis/compound-v2/CompoundLens.d.ts +656 -0
  38. package/dist/abis/compound-v2/CompoundLens.d.ts.map +1 -0
  39. package/dist/abis/compound-v2/CompoundLens.js +851 -0
  40. package/dist/abis/compound-v2/Comptroller.d.ts +1615 -0
  41. package/dist/abis/compound-v2/Comptroller.d.ts.map +1 -0
  42. package/dist/abis/compound-v2/Comptroller.js +2104 -0
  43. package/dist/abis/compound-v3/Comet.d.ts +1402 -0
  44. package/dist/abis/compound-v3/Comet.d.ts.map +1 -0
  45. package/dist/abis/compound-v3/Comet.js +1829 -0
  46. package/dist/abis/compound-v3/CometExt.d.ts +411 -0
  47. package/dist/abis/compound-v3/CometExt.d.ts.map +1 -0
  48. package/dist/abis/compound-v3/CometExt.js +536 -0
  49. package/dist/abis/compound-v3/CometLens.d.ts +152 -0
  50. package/dist/abis/compound-v3/CometLens.d.ts.map +1 -0
  51. package/dist/abis/compound-v3/CometLens.js +194 -0
  52. package/dist/abis/compound-v3/CometRewards.d.ts +253 -0
  53. package/dist/abis/compound-v3/CometRewards.d.ts.map +1 -0
  54. package/dist/abis/compound-v3/CometRewards.js +330 -0
  55. package/dist/abis/compound-v3/IrGetter.d.ts +24 -0
  56. package/dist/abis/compound-v3/IrGetter.d.ts.map +1 -0
  57. package/dist/abis/compound-v3/IrGetter.js +31 -0
  58. package/dist/abis/flashloan-united/flashAbi.d.ts +54 -0
  59. package/dist/abis/flashloan-united/flashAbi.d.ts.map +1 -0
  60. package/dist/abis/flashloan-united/flashAbi.js +72 -0
  61. package/dist/abis/init/Core.d.ts +523 -0
  62. package/dist/abis/init/Core.d.ts.map +1 -0
  63. package/dist/abis/init/Core.js +681 -0
  64. package/dist/abis/init/InitFlashAggregator.d.ts +624 -0
  65. package/dist/abis/init/InitFlashAggregator.d.ts.map +1 -0
  66. package/dist/abis/init/InitFlashAggregator.js +795 -0
  67. package/dist/abis/init/InitLens.d.ts +158 -0
  68. package/dist/abis/init/InitLens.d.ts.map +1 -0
  69. package/dist/abis/init/InitLens.js +203 -0
  70. package/dist/abis/init/PosManager.d.ts +802 -0
  71. package/dist/abis/init/PosManager.d.ts.map +1 -0
  72. package/dist/abis/init/PosManager.js +1055 -0
  73. package/dist/abis/lendle/IncentivesController.d.ts +404 -0
  74. package/dist/abis/lendle/IncentivesController.d.ts.map +1 -0
  75. package/dist/abis/lendle/IncentivesController.js +525 -0
  76. package/dist/abis/lendle/MultiFeeDistribution.d.ts +624 -0
  77. package/dist/abis/lendle/MultiFeeDistribution.d.ts.map +1 -0
  78. package/dist/abis/lendle/MultiFeeDistribution.js +820 -0
  79. package/dist/abis/meridian/PullRewardsIncentivesController.d.ts +74 -0
  80. package/dist/abis/meridian/PullRewardsIncentivesController.d.ts.map +1 -0
  81. package/dist/abis/meridian/PullRewardsIncentivesController.js +98 -0
  82. package/dist/abis/multicall/Multicall.d.ts +80 -0
  83. package/dist/abis/multicall/Multicall.d.ts.map +1 -0
  84. package/dist/abis/multicall/Multicall.js +101 -0
  85. package/dist/abis/oracle/AaveOracle.d.ts +40 -0
  86. package/dist/abis/oracle/AaveOracle.d.ts.map +1 -0
  87. package/dist/abis/oracle/AaveOracle.js +53 -0
  88. package/dist/abis/oracle/Api3Oracle.d.ts +48 -0
  89. package/dist/abis/oracle/Api3Oracle.d.ts.map +1 -0
  90. package/dist/abis/oracle/Api3Oracle.js +62 -0
  91. package/dist/abis/oracle/ChainLinkAggregator.d.ts +372 -0
  92. package/dist/abis/oracle/ChainLinkAggregator.d.ts.map +1 -0
  93. package/dist/abis/oracle/ChainLinkAggregator.js +480 -0
  94. package/dist/abis/oracle/RWADynamicOracle.d.ts +12 -0
  95. package/dist/abis/oracle/RWADynamicOracle.d.ts.map +1 -0
  96. package/dist/abis/oracle/RWADynamicOracle.js +15 -0
  97. package/dist/abis/oracle/UniswapV2Pair.d.ts +513 -0
  98. package/dist/abis/oracle/UniswapV2Pair.d.ts.map +1 -0
  99. package/dist/abis/oracle/UniswapV2Pair.js +659 -0
  100. package/dist/abis/uniswap/FeeOnTransferDetector.d.ts +102 -0
  101. package/dist/abis/uniswap/FeeOnTransferDetector.d.ts.map +1 -0
  102. package/dist/abis/uniswap/FeeOnTransferDetector.js +133 -0
  103. package/dist/abis/uniswap/UniswapV2Pair.d.ts +513 -0
  104. package/dist/abis/uniswap/UniswapV2Pair.d.ts.map +1 -0
  105. package/dist/abis/uniswap/UniswapV2Pair.js +659 -0
  106. package/dist/assets/index.d.ts +20 -0
  107. package/dist/assets/index.d.ts.map +1 -0
  108. package/dist/assets/index.js +54 -0
  109. package/dist/flash-liquidity/assets.d.ts +21 -0
  110. package/dist/flash-liquidity/assets.d.ts.map +1 -0
  111. package/dist/flash-liquidity/assets.js +45 -0
  112. package/dist/flash-liquidity/fetchLiquidity.d.ts +4 -0
  113. package/dist/flash-liquidity/fetchLiquidity.d.ts.map +1 -0
  114. package/dist/flash-liquidity/fetchLiquidity.js +235 -0
  115. package/dist/flash-liquidity/index.d.ts +2 -0
  116. package/dist/flash-liquidity/index.d.ts.map +1 -0
  117. package/dist/flash-liquidity/index.js +1 -0
  118. package/dist/flash-liquidity/types.d.ts +23 -0
  119. package/dist/flash-liquidity/types.d.ts.map +1 -0
  120. package/dist/flash-liquidity/types.js +8 -0
  121. package/dist/index.d.ts +8 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.js +6 -0
  124. package/dist/lending/aave-v2-type/misc.d.ts +14 -0
  125. package/dist/lending/aave-v2-type/misc.d.ts.map +1 -0
  126. package/dist/lending/aave-v2-type/misc.js +8 -0
  127. package/dist/lending/aave-v2-type/publicCallBuild.d.ts +7 -0
  128. package/dist/lending/aave-v2-type/publicCallBuild.d.ts.map +1 -0
  129. package/dist/lending/aave-v2-type/publicCallBuild.js +102 -0
  130. package/dist/lending/aave-v2-type/publicCallParse.d.ts +7 -0
  131. package/dist/lending/aave-v2-type/publicCallParse.d.ts.map +1 -0
  132. package/dist/lending/aave-v2-type/publicCallParse.js +254 -0
  133. package/dist/lending/aave-v2-type/types.d.ts +78 -0
  134. package/dist/lending/aave-v2-type/types.d.ts.map +1 -0
  135. package/dist/lending/aave-v2-type/types.js +46 -0
  136. package/dist/lending/aave-v3-type/publicCallBuild.d.ts +4 -0
  137. package/dist/lending/aave-v3-type/publicCallBuild.d.ts.map +1 -0
  138. package/dist/lending/aave-v3-type/publicCallBuild.js +123 -0
  139. package/dist/lending/aave-v3-type/publicCallParse.d.ts +8 -0
  140. package/dist/lending/aave-v3-type/publicCallParse.d.ts.map +1 -0
  141. package/dist/lending/aave-v3-type/publicCallParse.js +304 -0
  142. package/dist/lending/aave-v3-type/types.d.ts +149 -0
  143. package/dist/lending/aave-v3-type/types.d.ts.map +1 -0
  144. package/dist/lending/aave-v3-type/types.js +90 -0
  145. package/dist/lending/addresses/aave.d.ts +10 -0
  146. package/dist/lending/addresses/aave.d.ts.map +1 -0
  147. package/dist/lending/addresses/aave.js +10 -0
  148. package/dist/lending/addresses/aaveV2.d.ts +6 -0
  149. package/dist/lending/addresses/aaveV2.d.ts.map +1 -0
  150. package/dist/lending/addresses/aaveV2.js +6 -0
  151. package/dist/lending/addresses/aurelius.d.ts +12 -0
  152. package/dist/lending/addresses/aurelius.d.ts.map +1 -0
  153. package/dist/lending/addresses/aurelius.js +12 -0
  154. package/dist/lending/addresses/compoundV3.d.ts +10 -0
  155. package/dist/lending/addresses/compoundV3.d.ts.map +1 -0
  156. package/dist/lending/addresses/compoundV3.js +35 -0
  157. package/dist/lending/addresses/contracts.d.ts +5 -0
  158. package/dist/lending/addresses/contracts.d.ts.map +1 -0
  159. package/dist/lending/addresses/contracts.js +49 -0
  160. package/dist/lending/addresses/hana.d.ts +6 -0
  161. package/dist/lending/addresses/hana.d.ts.map +1 -0
  162. package/dist/lending/addresses/hana.js +6 -0
  163. package/dist/lending/addresses/index.d.ts +2 -0
  164. package/dist/lending/addresses/index.d.ts.map +1 -0
  165. package/dist/lending/addresses/index.js +1 -0
  166. package/dist/lending/addresses/init.d.ts +4 -0
  167. package/dist/lending/addresses/init.d.ts.map +1 -0
  168. package/dist/lending/addresses/init.js +33 -0
  169. package/dist/lending/addresses/lendle.d.ts +12 -0
  170. package/dist/lending/addresses/lendle.d.ts.map +1 -0
  171. package/dist/lending/addresses/lendle.js +12 -0
  172. package/dist/lending/addresses/meridian.d.ts +12 -0
  173. package/dist/lending/addresses/meridian.d.ts.map +1 -0
  174. package/dist/lending/addresses/meridian.js +12 -0
  175. package/dist/lending/addresses/takotako.d.ts +12 -0
  176. package/dist/lending/addresses/takotako.d.ts.map +1 -0
  177. package/dist/lending/addresses/takotako.js +12 -0
  178. package/dist/lending/compound-v3/publicCallBuild.d.ts +3 -0
  179. package/dist/lending/compound-v3/publicCallBuild.d.ts.map +1 -0
  180. package/dist/lending/compound-v3/publicCallBuild.js +63 -0
  181. package/dist/lending/compound-v3/publicCallParse.d.ts +7 -0
  182. package/dist/lending/compound-v3/publicCallParse.d.ts.map +1 -0
  183. package/dist/lending/compound-v3/publicCallParse.js +119 -0
  184. package/dist/lending/compound-v3/types.d.ts +30 -0
  185. package/dist/lending/compound-v3/types.d.ts.map +1 -0
  186. package/dist/lending/compound-v3/types.js +6 -0
  187. package/dist/lending/fetchLender.d.ts +8 -0
  188. package/dist/lending/fetchLender.d.ts.map +1 -0
  189. package/dist/lending/fetchLender.js +104 -0
  190. package/dist/lending/index.d.ts +3 -0
  191. package/dist/lending/index.d.ts.map +1 -0
  192. package/dist/lending/index.js +2 -0
  193. package/dist/lending/init/publicCallBuild.d.ts +7 -0
  194. package/dist/lending/init/publicCallBuild.d.ts.map +1 -0
  195. package/dist/lending/init/publicCallBuild.js +21 -0
  196. package/dist/lending/init/publicCallParse.d.ts +10 -0
  197. package/dist/lending/init/publicCallParse.d.ts.map +1 -0
  198. package/dist/lending/init/publicCallParse.js +75 -0
  199. package/dist/lending/init/types.d.ts +38 -0
  200. package/dist/lending/init/types.d.ts.map +1 -0
  201. package/dist/lending/init/types.js +6 -0
  202. package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts +4 -0
  203. package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts.map +1 -0
  204. package/dist/lending/user-data/aave-v2-type/userCallBuild.js +106 -0
  205. package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts +8 -0
  206. package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts.map +1 -0
  207. package/dist/lending/user-data/aave-v2-type/userCallParse.js +225 -0
  208. package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts +4 -0
  209. package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts.map +1 -0
  210. package/dist/lending/user-data/aave-v3-type/userCallBuild.js +41 -0
  211. package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts +8 -0
  212. package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts.map +1 -0
  213. package/dist/lending/user-data/aave-v3-type/userCallParse.js +76 -0
  214. package/dist/lending/user-data/abis.d.ts +8422 -0
  215. package/dist/lending/user-data/abis.d.ts.map +1 -0
  216. package/dist/lending/user-data/abis.js +46 -0
  217. package/dist/lending/user-data/compound-v3/addresses.d.ts +10 -0
  218. package/dist/lending/user-data/compound-v3/addresses.d.ts.map +1 -0
  219. package/dist/lending/user-data/compound-v3/addresses.js +32 -0
  220. package/dist/lending/user-data/compound-v3/index.d.ts +4 -0
  221. package/dist/lending/user-data/compound-v3/index.d.ts.map +1 -0
  222. package/dist/lending/user-data/compound-v3/index.js +3 -0
  223. package/dist/lending/user-data/compound-v3/userCallBuild.d.ts +4 -0
  224. package/dist/lending/user-data/compound-v3/userCallBuild.d.ts.map +1 -0
  225. package/dist/lending/user-data/compound-v3/userCallBuild.js +44 -0
  226. package/dist/lending/user-data/compound-v3/userCallParse.d.ts +8 -0
  227. package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -0
  228. package/dist/lending/user-data/compound-v3/userCallParse.js +98 -0
  229. package/dist/lending/user-data/fetchUserData.d.ts +24 -0
  230. package/dist/lending/user-data/fetchUserData.d.ts.map +1 -0
  231. package/dist/lending/user-data/fetchUserData.js +76 -0
  232. package/dist/lending/user-data/index.d.ts +3 -0
  233. package/dist/lending/user-data/index.d.ts.map +1 -0
  234. package/dist/lending/user-data/index.js +2 -0
  235. package/dist/lending/user-data/init/userCallBuild.d.ts +8 -0
  236. package/dist/lending/user-data/init/userCallBuild.d.ts.map +1 -0
  237. package/dist/lending/user-data/init/userCallBuild.js +20 -0
  238. package/dist/lending/user-data/init/userCallParse.d.ts +8 -0
  239. package/dist/lending/user-data/init/userCallParse.d.ts.map +1 -0
  240. package/dist/lending/user-data/init/userCallParse.js +87 -0
  241. package/dist/lending/user-data/types.d.ts +218 -0
  242. package/dist/lending/user-data/types.d.ts.map +1 -0
  243. package/dist/lending/user-data/types.js +26 -0
  244. package/dist/lending/user-data/utils/createGeneralUserState.d.ts +45 -0
  245. package/dist/lending/user-data/utils/createGeneralUserState.d.ts.map +1 -0
  246. package/dist/lending/user-data/utils/createGeneralUserState.js +98 -0
  247. package/dist/lending/user-data/utils/createMultiAccountStyleUserState.d.ts +16 -0
  248. package/dist/lending/user-data/utils/createMultiAccountStyleUserState.d.ts.map +1 -0
  249. package/dist/lending/user-data/utils/createMultiAccountStyleUserState.js +96 -0
  250. package/dist/lending/user-data/utils/formatting/generalFormatters.d.ts +55 -0
  251. package/dist/lending/user-data/utils/formatting/generalFormatters.d.ts.map +1 -0
  252. package/dist/lending/user-data/utils/formatting/generalFormatters.js +109 -0
  253. package/dist/lending/user-data/utils/formatting/index.d.ts +2 -0
  254. package/dist/lending/user-data/utils/formatting/index.d.ts.map +1 -0
  255. package/dist/lending/user-data/utils/formatting/index.js +1 -0
  256. package/dist/lending/user-data/utils/index.d.ts +8 -0
  257. package/dist/lending/user-data/utils/index.d.ts.map +1 -0
  258. package/dist/lending/user-data/utils/index.js +17 -0
  259. package/dist/lending-pairs/computeLendingPairs.d.ts +30 -0
  260. package/dist/lending-pairs/computeLendingPairs.d.ts.map +1 -0
  261. package/dist/lending-pairs/computeLendingPairs.js +153 -0
  262. package/dist/lending-pairs/index.d.ts +2 -0
  263. package/dist/lending-pairs/index.d.ts.map +1 -0
  264. package/dist/lending-pairs/index.js +1 -0
  265. package/dist/prices/defillama/index.d.ts +3 -0
  266. package/dist/prices/defillama/index.d.ts.map +1 -0
  267. package/dist/prices/defillama/index.js +269 -0
  268. package/dist/prices/index.d.ts +3 -0
  269. package/dist/prices/index.d.ts.map +1 -0
  270. package/dist/prices/index.js +2 -0
  271. package/dist/prices/main-prices/addresses/aaveOracles.d.ts +279 -0
  272. package/dist/prices/main-prices/addresses/aaveOracles.d.ts.map +1 -0
  273. package/dist/prices/main-prices/addresses/aaveOracles.js +278 -0
  274. package/dist/prices/main-prices/addresses/api3.d.ts +6 -0
  275. package/dist/prices/main-prices/addresses/api3.d.ts.map +1 -0
  276. package/dist/prices/main-prices/addresses/api3.js +9 -0
  277. package/dist/prices/main-prices/addresses/chainlink.d.ts +740 -0
  278. package/dist/prices/main-prices/addresses/chainlink.d.ts.map +1 -0
  279. package/dist/prices/main-prices/addresses/chainlink.js +744 -0
  280. package/dist/prices/main-prices/fetchOracleData.d.ts +12 -0
  281. package/dist/prices/main-prices/fetchOracleData.d.ts.map +1 -0
  282. package/dist/prices/main-prices/fetchOracleData.js +308 -0
  283. package/dist/prices/main-prices/index.d.ts +2 -0
  284. package/dist/prices/main-prices/index.d.ts.map +1 -0
  285. package/dist/prices/main-prices/index.js +1 -0
  286. package/dist/types/apiReturnType.d.ts +74 -0
  287. package/dist/types/apiReturnType.d.ts.map +1 -0
  288. package/dist/types/apiReturnType.js +1 -0
  289. package/dist/types/index.d.ts +42 -0
  290. package/dist/types/index.d.ts.map +1 -0
  291. package/dist/types/index.js +10 -0
  292. package/dist/types/providers.d.ts +12 -0
  293. package/dist/types/providers.d.ts.map +1 -0
  294. package/dist/types/providers.js +1 -0
  295. package/dist/utils/constants.d.ts +30 -0
  296. package/dist/utils/constants.d.ts.map +1 -0
  297. package/dist/utils/constants.js +97 -0
  298. package/dist/utils/index.d.ts +19 -0
  299. package/dist/utils/index.d.ts.map +1 -0
  300. package/dist/utils/index.js +71 -0
  301. package/dist/utils/multicall.d.ts +5 -0
  302. package/dist/utils/multicall.d.ts.map +1 -0
  303. package/dist/utils/multicall.js +30 -0
  304. package/dist/utils/parsing.d.ts +14 -0
  305. package/dist/utils/parsing.d.ts.map +1 -0
  306. package/dist/utils/parsing.js +61 -0
  307. package/dist/yields/index.d.ts +21 -0
  308. package/dist/yields/index.d.ts.map +1 -0
  309. package/dist/yields/index.js +157 -0
  310. package/package.json +26 -0
  311. package/src/abis/aave/AToken.ts +686 -0
  312. package/src/abis/aave/AaveOracle.ts +53 -0
  313. package/src/abis/aave/AavePoolAndDataProvider.ts +2080 -0
  314. package/src/abis/aave/AavePoolV3.ts +1060 -0
  315. package/src/abis/aave/AavePoolV3Upgraded.ts +1474 -0
  316. package/src/abis/aave/AaveV3ProtocolDataProvider.ts +553 -0
  317. package/src/abis/aave/VariableDebtToken.ts +820 -0
  318. package/src/abis/aave-v2/ProtocolDataProvider.ts +312 -0
  319. package/src/abis/aave-v2/YLDR.ts +199 -0
  320. package/src/abis/aave-v3/AavePoolDataProviderLegacy.ts +459 -0
  321. package/src/abis/aave-v3/AavePoolLegacy.ts +1060 -0
  322. package/src/abis/aurelius/Rewarder.ts +118 -0
  323. package/src/abis/compound-v2/CompoundLens.ts +851 -0
  324. package/src/abis/compound-v2/Comptroller.ts +2104 -0
  325. package/src/abis/compound-v3/Comet.ts +1829 -0
  326. package/src/abis/compound-v3/CometExt.ts +536 -0
  327. package/src/abis/compound-v3/CometLens.ts +194 -0
  328. package/src/abis/compound-v3/CometRewards.ts +330 -0
  329. package/src/abis/compound-v3/IrGetter.ts +31 -0
  330. package/src/abis/flashloan-united/flashAbi.ts +72 -0
  331. package/src/abis/init/Core.ts +681 -0
  332. package/src/abis/init/InitFlashAggregator.ts +795 -0
  333. package/src/abis/init/InitLens.ts +203 -0
  334. package/src/abis/init/PosManager.ts +1055 -0
  335. package/src/abis/lendle/IncentivesController.ts +525 -0
  336. package/src/abis/lendle/MultiFeeDistribution.ts +820 -0
  337. package/src/abis/meridian/PullRewardsIncentivesController.ts +98 -0
  338. package/src/abis/multicall/Multicall.ts +101 -0
  339. package/src/abis/oracle/AaveOracle.ts +53 -0
  340. package/src/abis/oracle/Api3Oracle.ts +62 -0
  341. package/src/abis/oracle/ChainLinkAggregator.ts +480 -0
  342. package/src/abis/oracle/RWADynamicOracle.ts +15 -0
  343. package/src/abis/oracle/UniswapV2Pair.ts +659 -0
  344. package/src/abis/uniswap/FeeOnTransferDetector.ts +133 -0
  345. package/src/abis/uniswap/UniswapV2Pair.ts +659 -0
  346. package/src/assets/index.ts +82 -0
  347. package/src/flash-liquidity/assets.ts +61 -0
  348. package/src/flash-liquidity/fetchLiquidity.ts +300 -0
  349. package/src/flash-liquidity/index.ts +1 -0
  350. package/src/flash-liquidity/types.ts +20 -0
  351. package/src/index.ts +7 -0
  352. package/src/lending/aave-v2-type/misc.ts +9 -0
  353. package/src/lending/aave-v2-type/publicCallBuild.ts +105 -0
  354. package/src/lending/aave-v2-type/publicCallParse.ts +300 -0
  355. package/src/lending/aave-v2-type/types.ts +98 -0
  356. package/src/lending/aave-v3-type/publicCallBuild.ts +148 -0
  357. package/src/lending/aave-v3-type/publicCallParse.ts +373 -0
  358. package/src/lending/aave-v3-type/types.ts +181 -0
  359. package/src/lending/addresses/aave.ts +12 -0
  360. package/src/lending/addresses/aaveV2.ts +8 -0
  361. package/src/lending/addresses/aurelius.ts +13 -0
  362. package/src/lending/addresses/compoundV3.ts +42 -0
  363. package/src/lending/addresses/contracts.ts +54 -0
  364. package/src/lending/addresses/hana.ts +7 -0
  365. package/src/lending/addresses/index.ts +1 -0
  366. package/src/lending/addresses/init.ts +37 -0
  367. package/src/lending/addresses/lendle.ts +13 -0
  368. package/src/lending/addresses/meridian.ts +13 -0
  369. package/src/lending/addresses/takotako.ts +14 -0
  370. package/src/lending/compound-v3/publicCallBuild.ts +74 -0
  371. package/src/lending/compound-v3/publicCallParse.ts +143 -0
  372. package/src/lending/compound-v3/types.ts +43 -0
  373. package/src/lending/fetchLender.ts +138 -0
  374. package/src/lending/index.ts +2 -0
  375. package/src/lending/init/publicCallBuild.ts +29 -0
  376. package/src/lending/init/publicCallParse.ts +90 -0
  377. package/src/lending/init/types.ts +50 -0
  378. package/src/lending/user-data/aave-v2-type/userCallBuild.ts +142 -0
  379. package/src/lending/user-data/aave-v2-type/userCallParse.ts +328 -0
  380. package/src/lending/user-data/aave-v3-type/userCallBuild.ts +58 -0
  381. package/src/lending/user-data/aave-v3-type/userCallParse.ts +115 -0
  382. package/src/lending/user-data/abis.ts +45 -0
  383. package/src/lending/user-data/compound-v3/addresses.ts +40 -0
  384. package/src/lending/user-data/compound-v3/index.ts +3 -0
  385. package/src/lending/user-data/compound-v3/userCallBuild.ts +53 -0
  386. package/src/lending/user-data/compound-v3/userCallParse.ts +123 -0
  387. package/src/lending/user-data/fetchUserData.ts +121 -0
  388. package/src/lending/user-data/index.ts +2 -0
  389. package/src/lending/user-data/init/userCallBuild.ts +26 -0
  390. package/src/lending/user-data/init/userCallParse.ts +115 -0
  391. package/src/lending/user-data/types.ts +280 -0
  392. package/src/lending/user-data/utils/createGeneralUserState.ts +118 -0
  393. package/src/lending/user-data/utils/createMultiAccountStyleUserState.ts +113 -0
  394. package/src/lending/user-data/utils/formatting/generalFormatters.ts +121 -0
  395. package/src/lending/user-data/utils/formatting/index.ts +1 -0
  396. package/src/lending/user-data/utils/index.ts +19 -0
  397. package/src/lending-pairs/computeLendingPairs.ts +213 -0
  398. package/src/lending-pairs/index.ts +1 -0
  399. package/src/prices/defillama/index.ts +306 -0
  400. package/src/prices/index.ts +2 -0
  401. package/src/prices/main-prices/addresses/aaveOracles.ts +279 -0
  402. package/src/prices/main-prices/addresses/api3.ts +10 -0
  403. package/src/prices/main-prices/addresses/chainlink.ts +750 -0
  404. package/src/prices/main-prices/fetchOracleData.ts +406 -0
  405. package/src/prices/main-prices/index.ts +1 -0
  406. package/src/types/apiReturnType.ts +80 -0
  407. package/src/types/index.ts +38 -0
  408. package/src/types/providers.ts +26 -0
  409. package/src/utils/constants.ts +100 -0
  410. package/src/utils/index.ts +87 -0
  411. package/src/utils/multicall.ts +53 -0
  412. package/src/utils/parsing.ts +75 -0
  413. package/src/yields/index.ts +198 -0
  414. package/test/index.test.ts +104 -0
  415. package/test/lenderData.test.ts +13718 -0
  416. package/test/mainPrices.test.ts +35 -0
  417. package/test/userdata.test.ts +200 -0
  418. package/tsconfig.json +28 -0
@@ -0,0 +1,12 @@
1
+ import { GetEvmClientFunction } from '../../types';
2
+ export declare const formatAavePrice: (price: string, chainId: string, isV2?: boolean) => number;
3
+ export declare const parseRawAmount: (answer?: string, decimals?: number) => number;
4
+ interface OracleData {
5
+ [key: string]: number;
6
+ }
7
+ /**
8
+ * Fetches Aave and uniswap V2 oracle data
9
+ */
10
+ export declare const fetchMainPrices: (chainIds: string[], getEvmClient: GetEvmClientFunction) => Promise<OracleData>;
11
+ export {};
12
+ //# sourceMappingURL=fetchOracleData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchOracleData.d.ts","sourceRoot":"","sources":["../../../src/prices/main-prices/fetchOracleData.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,EAAE,cAAY,KAAG,MAK9E,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,iBAAa,KAAG,MAO/D,CAAA;AAOD,UAAU,UAAU;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB;AAID;;GAEG;AACH,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,EAAE,EAAE,cAAc,oBAAoB,KAAG,OAAO,CAAC,UAAU,CA8EhH,CAAA"}
@@ -0,0 +1,308 @@
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, formatUnits } 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
+ export const formatAavePrice = (price, chainId, isV2 = false) => {
16
+ return Number(formatEther(BigInt(price ?? '0') * (
17
+ // 10^(18 - decimals)
18
+ 10n ** (isV2 ? 0n : 10n))));
19
+ };
20
+ export const parseRawAmount = (answer, decimals = 18) => {
21
+ if (!answer || answer === "0x")
22
+ return 0;
23
+ try {
24
+ return Number(formatUnits(BigInt(answer ?? '0'), decimals ?? 18));
25
+ }
26
+ catch (e) {
27
+ return 0;
28
+ }
29
+ };
30
+ const LENDLE_PAIR_MANTLE = '0x4c57BE599d0e0414785943569E9B6A66dA79Aa6b';
31
+ const AU_PAIR_MANTLE = '0x709503fbb50b10f921e812c48fbd5c5522a0b20c';
32
+ const WMNT_USDT_PAIR = '0x3e5922cd0cec71dc2d60ec8b36aa4c05b7c1672f';
33
+ const RWA_DYNAMIC_ORACLE = '0xA96abbe61AfEdEB0D14a20440Ae7100D9aB4882f';
34
+ /**
35
+ * Fetches Aave and uniswap V2 oracle data
36
+ */
37
+ export const fetchMainPrices = async (chainIds, getEvmClient) => {
38
+ let promises = chainIds.map(chainId => {
39
+ const aaveForks = AAVES_PER_CHAIN[chainId];
40
+ let reservesToQuery = aaveForks.map(a => ({ fork: a, assets: getAaveAssets(chainId, a) }));
41
+ let handled = [];
42
+ let queries = [];
43
+ reservesToQuery.forEach(e => {
44
+ const newOnes = e.assets.filter(a => !handled.includes(a));
45
+ if (newOnes.length > 0) {
46
+ // @ts-ignore
47
+ queries.push({ assets: newOnes, oracle: AAVE_STYLE_ORACLES[e.fork][chainId], fork: e.fork });
48
+ handled = [...handled, ...newOnes];
49
+ }
50
+ });
51
+ const callAave = getAaveCalls(queries);
52
+ const [callsChainLink, chainLinkNames] = getChainLinkCalls(chainId);
53
+ const uniswapV2Calls = getUniswapV2Calls(chainId);
54
+ const [api3Calls, api3Names] = getApi3Calls(chainId);
55
+ const [rwaCalls, rwaNames] = getRWADynamicOracleCalls(chainId);
56
+ return multicallViemAbiArray(chainId, [...ChainLinkAggregatorAbi, ...UniswapV2PairAbi, ...AaveOracleAbi, ...Api3OracleAbi, ...RWADynamicOracleAbi], [...callsChainLink, ...callAave, ...uniswapV2Calls, ...api3Calls, ...rwaCalls], getEvmClient).then(multicallResult => {
57
+ const chainLinkResults = multicallResult.slice(0, callsChainLink.length);
58
+ const aaveResult = multicallResult.slice(callsChainLink.length, callsChainLink.length + callAave.length);
59
+ const chainLinkData = parseChainLinkResults(chainId, chainLinkResults, chainLinkNames);
60
+ // @ts-ignore
61
+ const aaveData = parseAaveResults(chainId, aaveResult, queries);
62
+ const uniswapResult = multicallResult.slice(callsChainLink.length + callAave.length, callsChainLink.length + callAave.length + uniswapV2Calls.length);
63
+ const api3Result = multicallResult.slice(callsChainLink.length + callAave.length + uniswapV2Calls.length, callsChainLink.length + callAave.length + uniswapV2Calls.length + api3Calls.length);
64
+ const uniswapData = parseUniswapV2results(uniswapResult, chainId);
65
+ const api3Data = parseApi3Results(chainId, api3Result, api3Names);
66
+ const rwaResult = multicallResult.slice(callsChainLink.length + callAave.length + uniswapV2Calls.length + api3Calls.length, callsChainLink.length + callAave.length + uniswapV2Calls.length + api3Calls.length + rwaCalls.length);
67
+ const rwaData = parseRWADynamicOracleResults(chainId, rwaResult, rwaNames);
68
+ return { ...uniswapData, ...aaveData, ...chainLinkData, ...api3Data, ...rwaData, };
69
+ });
70
+ });
71
+ promises.push(fetchDefillamaData());
72
+ const result = await Promise.all(promises);
73
+ let data = {};
74
+ result.forEach(r => {
75
+ data = { ...data, ...r };
76
+ });
77
+ return data;
78
+ };
79
+ /**
80
+ * Gets the calls foir the uniswap pools
81
+ * @param chainId network id
82
+ * @returns array of calls
83
+ */
84
+ const getUniswapV2Calls = (chainId) => {
85
+ switch (chainId) {
86
+ case Chain.MANTLE:
87
+ return [
88
+ {
89
+ address: WMNT_USDT_PAIR,
90
+ name: 'getReserves',
91
+ params: []
92
+ },
93
+ {
94
+ address: LENDLE_PAIR_MANTLE,
95
+ name: 'getReserves',
96
+ params: []
97
+ },
98
+ {
99
+ address: AU_PAIR_MANTLE,
100
+ name: 'getReserves',
101
+ params: []
102
+ },
103
+ ];
104
+ default:
105
+ return [];
106
+ }
107
+ };
108
+ /**
109
+ * Create calldata for aave oracles
110
+ * @param chainId network
111
+ * @param addressesAaveUnderlyings address array
112
+ * @returns call data
113
+ */
114
+ const getAaveCalls = (query) => {
115
+ if (query.length === 0)
116
+ return [];
117
+ return query.map(({ oracle, assets }) => ({
118
+ address: oracle,
119
+ name: 'getAssetsPrices',
120
+ params: [assets],
121
+ })).flat();
122
+ };
123
+ /**
124
+ * Create calldata for chainLink oracles
125
+ * @param chainId network
126
+ * @param addressesAaveUnderlyings address array
127
+ * @returns call data
128
+ */
129
+ const getChainLinkCalls = (chainId) => {
130
+ switch (chainId) {
131
+ case Chain.MANTLE:
132
+ return [[], []];
133
+ default: {
134
+ const keys = getChainLinkKeys(chainId).filter(k => k.split('-')[1] === 'USD');
135
+ // @ts-ignore
136
+ const addresses = keys.map((k) => chainlinkOracles[k][chainId]);
137
+ return [
138
+ addresses.map((tk) => {
139
+ return {
140
+ address: tk,
141
+ name: 'latestRoundData',
142
+ params: [],
143
+ };
144
+ }),
145
+ keys.map(k => k.split('-')[0])
146
+ ];
147
+ }
148
+ }
149
+ };
150
+ /**
151
+ * Processes data creeated from fetch through 'getUniswapV2Calls
152
+ * @param data the result data array slice from the multicall
153
+ * @param chainId network id
154
+ * @returns price dictionary asset->number
155
+ */
156
+ const parseUniswapV2results = (data, chainId) => {
157
+ switch (chainId) {
158
+ case Chain.MANTLE: {
159
+ let uniswapData = {};
160
+ if (data.length > 0) {
161
+ const reserves = data[1];
162
+ // lendle and wmnt are respective token0s
163
+ const lendleReserve = parseRawAmount(reserves[0].toString(), 18);
164
+ const wmntReserve = parseRawAmount(reserves[1].toString(), 18);
165
+ const auReserves = data[2];
166
+ const auReserve = parseRawAmount(auReserves[1].toString(), 18);
167
+ const wmntReserve_au = parseRawAmount(auReserves[0].toString(), 18);
168
+ const reservesWmntUsdt = data[0];
169
+ const usdtReserve = parseRawAmount(reservesWmntUsdt[0].toString(), 6);
170
+ const wmnt2Reserve = parseRawAmount(reservesWmntUsdt[1].toString(), 18);
171
+ const lendPrice = wmntReserve / lendleReserve / wmnt2Reserve * usdtReserve;
172
+ const auPrice = wmntReserve_au / auReserve / wmnt2Reserve * usdtReserve;
173
+ uniswapData['LEND'] = lendPrice;
174
+ uniswapData['AU'] = auPrice;
175
+ }
176
+ return uniswapData;
177
+ }
178
+ default:
179
+ return {};
180
+ }
181
+ };
182
+ /**
183
+ * Parser for aave results in ulticall slice
184
+ * @param chainId network
185
+ * @param data result array slice
186
+ * @param assetName asset names (aligned with the originall addresses called)
187
+ * @returns price mapping asset->number
188
+ */
189
+ const parseAaveResults = (chainId, data, queries) => {
190
+ let prices = {};
191
+ data.forEach((d, i) => {
192
+ const details = queries[i];
193
+ details.assets.forEach((a, j) => {
194
+ const oracleId = ASSET_META[chainId][a]?.assetGroup ?? ASSET_META[chainId]?.[a]?.symbol ?? chainId + "-" + a;
195
+ prices[oracleId] = formatAavePrice(d[j].toString(), chainId, AAVE_V2_LENDERS.includes(details.fork));
196
+ });
197
+ });
198
+ return prices;
199
+ };
200
+ /**
201
+ * Parser for aave results in ulticall slice
202
+ * @param chainId network
203
+ * @param data result array slice
204
+ * @param assetName asset names (aligned with the originall addresses called)
205
+ * @returns price mapping asset->number
206
+ */
207
+ const parseChainLinkResults = (chainId, data, assetName) => {
208
+ switch (chainId) {
209
+ default: {
210
+ return Object.assign({}, ...data.map((entry, index) => {
211
+ return {
212
+ [assetName[index]]: parseRawAmount(entry?.[ChainlinkAggregatorIndexes.answer]?.toString() ?? '0', 8)
213
+ };
214
+ }));
215
+ }
216
+ }
217
+ };
218
+ /**
219
+ * Create calldata for api3 oracles
220
+ * @param chainId network
221
+ * @returns call data
222
+ */
223
+ const getApi3Calls = (chainId) => {
224
+ switch (chainId) {
225
+ case Chain.MANTLE: {
226
+ const keys = ["WETH", "METH", "FBTC", "CMETH"];
227
+ const addresses = keys.map((k) => api3OracleAddresses[chainId][k]);
228
+ return [
229
+ addresses.map((tk) => {
230
+ return {
231
+ address: tk,
232
+ name: 'read',
233
+ params: [],
234
+ };
235
+ }),
236
+ keys
237
+ ];
238
+ }
239
+ default:
240
+ return [[], []];
241
+ }
242
+ };
243
+ /**
244
+ * Parser for api3 results in multicall slice
245
+ * @param chainId network
246
+ * @param data result array slice
247
+ * @param assetName asset names (aligned with the originall addresses called)
248
+ * @returns price mapping asset->number
249
+ */
250
+ const parseApi3Results = (chainId, data, assetName) => {
251
+ switch (chainId) {
252
+ case Chain.MANTLE: {
253
+ let prices = Object.assign({}, ...data.map((entry, index) => {
254
+ return {
255
+ [assetName[index]]: parseRawAmount(entry?.[0]?.toString() ?? '0', 18)
256
+ };
257
+ }));
258
+ // METH is given in mETH/WETH
259
+ prices["METH"] = prices["METH"] * prices["WETH"];
260
+ prices["CMETH"] = prices["CMETH"] * prices["METH"];
261
+ return prices;
262
+ }
263
+ default: {
264
+ return {};
265
+ }
266
+ }
267
+ };
268
+ /**
269
+ * Create calldata for RWADynamicOracle (wrap rate for musd/usdy)
270
+ * @param chainId network
271
+ * @returns call data
272
+ */
273
+ const getRWADynamicOracleCalls = (chainId) => {
274
+ switch (chainId) {
275
+ case Chain.MANTLE: {
276
+ const keys = ["USDY_MUSD"];
277
+ return [[{
278
+ address: RWA_DYNAMIC_ORACLE,
279
+ name: 'getPrice',
280
+ params: [],
281
+ }], keys];
282
+ }
283
+ default:
284
+ return [[], []];
285
+ }
286
+ };
287
+ /**
288
+ * Parser for RWADynamicOracle (wrap rate for musd/usdy) results in multicall slice
289
+ * @param chainId network
290
+ * @param data result array slice
291
+ * @param assetName asset names (aligned with the originall addresses called)
292
+ * @returns price mapping asset->number
293
+ */
294
+ const parseRWADynamicOracleResults = (chainId, data, assetName) => {
295
+ switch (chainId) {
296
+ case Chain.MANTLE: {
297
+ let prices = Object.assign({}, ...data.map((entry, index) => {
298
+ return {
299
+ [assetName[index]]: parseRawAmount(entry?.toString() ?? '0', 18)
300
+ };
301
+ }));
302
+ return prices;
303
+ }
304
+ default: {
305
+ return {};
306
+ }
307
+ }
308
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./fetchOracleData";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prices/main-prices/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1 @@
1
+ export * from "./fetchOracleData";
@@ -0,0 +1,74 @@
1
+ export interface BaseYields {
2
+ variableBorrowRate: number;
3
+ stableBorrowRate: number;
4
+ depositRate: number;
5
+ }
6
+ export type RewardsMap = {
7
+ [rewardId: string]: BaseYields;
8
+ };
9
+ export interface LenderYields extends BaseYields {
10
+ stakingYield: number;
11
+ rewards?: RewardsMap;
12
+ }
13
+ export interface ConfigEntry {
14
+ category: number;
15
+ borrowCollateralFactor: number;
16
+ collateralFactor: number;
17
+ borrowFactor: number;
18
+ }
19
+ interface PoolConfig {
20
+ [category: number]: ConfigEntry;
21
+ }
22
+ interface EMode {
23
+ category: number;
24
+ label: string;
25
+ borrowCollateralFactor: number;
26
+ collateralFactor: number;
27
+ borrowFactor: number;
28
+ }
29
+ export interface PoolData {
30
+ poolId: string;
31
+ underlying: string;
32
+ totalDeposits: string;
33
+ totalDebtStable: string;
34
+ totalDebt: string;
35
+ totalLiquidity: number;
36
+ totalDepositsUSD: number;
37
+ totalDebtStableUSD: number;
38
+ totalDebtUSD: number;
39
+ totalLiquidityUSD: number;
40
+ depositRate: number;
41
+ variableBorrowRate: number;
42
+ stableBorrowRate: number;
43
+ stakingYield: number;
44
+ rewards: RewardsMap;
45
+ decimals: number;
46
+ config: PoolConfig;
47
+ collateralActive: boolean;
48
+ borrowingEnabled: boolean;
49
+ hasStable: boolean;
50
+ isActive: boolean;
51
+ isFrozen: boolean;
52
+ eMode: EMode;
53
+ borrowCap: number;
54
+ supplyCap: number;
55
+ debtCeiling: string;
56
+ }
57
+ export type LenderData = {
58
+ [chainId: string]: {
59
+ data: {
60
+ [lender: string]: {
61
+ data: {
62
+ [poolId: string]: PoolData;
63
+ };
64
+ eModes: {
65
+ [modeId: number]: EMode;
66
+ };
67
+ chainId: string;
68
+ };
69
+ };
70
+ lastFetched: number;
71
+ };
72
+ };
73
+ export {};
74
+ //# sourceMappingURL=apiReturnType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiReturnType.d.ts","sourceRoot":"","sources":["../../src/types/apiReturnType.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IAEzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IAExB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAA;AAE3D,MAAM,WAAW,YAAa,SAAQ,UAAU;IAE9C,YAAY,EAAE,MAAM,CAAA;IAGpB,OAAO,CAAC,EAAE,UAAU,CAAA;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC;CACjC;AAED,UAAU,KAAK;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,IAAI,EAAE;YACJ,CAAC,MAAM,EAAE,MAAM,GAAG;gBAChB,IAAI,EAAE;oBACJ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;iBAC3B,CAAC;gBACF,MAAM,EAAE;oBAAE,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAA;iBAAE,CAAA;gBACnC,OAAO,EAAE,MAAM,CAAA;aAChB,CAAA;SACF,CAAC;QACF,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,42 @@
1
+ export * from "./apiReturnType";
2
+ export interface ParsedResponse {
3
+ price: number;
4
+ time: number;
5
+ }
6
+ export interface ChainLinkResponse extends ParsedResponse {
7
+ roundId: number;
8
+ }
9
+ export declare enum ChainlinkAggregatorIndexes {
10
+ roundId = 0,
11
+ answer = 1,
12
+ startedAt = 2,
13
+ updatedAt = 3,
14
+ answeredInRound = 4
15
+ }
16
+ interface LenderRewardsEntry {
17
+ deposit: number;
18
+ borrow: number;
19
+ }
20
+ export type LenderRewardsMap = {
21
+ [key: string]: LenderRewardsEntry;
22
+ };
23
+ export type NumberMap = {
24
+ [key: string]: number;
25
+ };
26
+ export type FullLenderRewardsMap = {
27
+ [chainId: string]: {
28
+ [lender: string]: LenderRewardsMap;
29
+ };
30
+ };
31
+ export type AdditionalYields = {
32
+ intrinsicYields: NumberMap;
33
+ lenderRewards: FullLenderRewardsMap;
34
+ loaded: boolean;
35
+ };
36
+ export declare interface GeneralCall {
37
+ address: string;
38
+ name: string;
39
+ params?: any[];
40
+ }
41
+ export * from "./providers";
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAE/B,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AACD,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,oBAAY,0BAA0B;IACpC,OAAO,IAAI;IACX,MAAM,IAAA;IACN,SAAS,IAAA;IACT,SAAS,IAAA;IACT,eAAe,IAAA;CAChB;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,CAAA;AACpE,MAAM,MAAM,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AACjD,MAAM,MAAM,oBAAoB,GAAG;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAA;CAAE,CAAA;AAChG,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,SAAS,CAAA;IAC1B,aAAa,EAAE,oBAAoB,CAAA;IACnC,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AACD,MAAM,CAAC,OAAO,WAAW,WAAW;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;CACf;AAED,cAAc,aAAa,CAAA"}
@@ -0,0 +1,10 @@
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";
@@ -0,0 +1,12 @@
1
+ import { PublicClient } from 'viem';
2
+ export type MulticallRetryFunction = (chain: string, calls: any[], abi: any, batchSize?: number, maxRetries?: number, providerId?: number, allowFailure?: boolean) => Promise<any[]>;
3
+ export type GetEvmClientFunction = (chain: string, rpcId?: number) => PublicClient;
4
+ export interface ProviderDependencies {
5
+ multicallRetry: MulticallRetryFunction;
6
+ getEvmClient: GetEvmClientFunction;
7
+ }
8
+ export interface OptionalProviderDependencies {
9
+ multicallRetry?: MulticallRetryFunction;
10
+ getEvmClient?: GetEvmClientFunction;
11
+ }
12
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/types/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,MAAM,sBAAsB,GAAG,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,GAAG,EAAE,EACZ,GAAG,EAAE,GAAG,EACR,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,OAAO,KACnB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;AAEnB,MAAM,MAAM,oBAAoB,GAAG,CACjC,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,KACX,YAAY,CAAA;AAEjB,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,sBAAsB,CAAA;IACtC,YAAY,EAAE,oBAAoB,CAAA;CACnC;AAED,MAAM,WAAW,4BAA4B;IAC3C,cAAc,CAAC,EAAE,sBAAsB,CAAA;IACvC,YAAY,CAAC,EAAE,oBAAoB,CAAA;CACpC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Uniswap Interface Multicall
3
+ */
4
+ export declare const MULTICALL_ADDRESS: {
5
+ [c: string]: string;
6
+ };
7
+ /**
8
+ * 1Delta Composer Addresses
9
+ */
10
+ export declare const COMPOSERS: {
11
+ "42161": string;
12
+ "10": string;
13
+ "137": string;
14
+ "8453": string;
15
+ "146": string;
16
+ "43111": string;
17
+ "167000": string;
18
+ "1088": string;
19
+ "100": string;
20
+ "43114": string;
21
+ "34443": string;
22
+ "534352": string;
23
+ "1116": string;
24
+ "250": string;
25
+ "56": string;
26
+ "5000": string;
27
+ "59144": string;
28
+ "81457": string;
29
+ };
30
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAoCA;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAoCpD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;CAmBnB,CAAA"}
@@ -0,0 +1,97 @@
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
+ };
@@ -0,0 +1,19 @@
1
+ import { Lender } from "@1delta/asset-registry";
2
+ export declare const AAVE_V3_2_PROTOCOLS: Lender[];
3
+ export declare function isAaveV3Type(lender: string): boolean;
4
+ export declare function isAaveV3Original(lender: string): boolean;
5
+ export declare function isAaveV2Type(lender: string): boolean;
6
+ export declare function isAaveV32Type(lender: Lender): boolean;
7
+ export declare function isAaveType(lender: string): boolean;
8
+ export declare function isCompoundV3(lender: string): boolean;
9
+ export declare function isCompoundV3Type(lender: string): boolean;
10
+ export declare function isInit(lender: string): lender is Lender.INIT;
11
+ export declare function isSwaylend(lender: string): boolean;
12
+ export declare const getLendersForChain: (c: string) => string[];
13
+ /** All aave protocols per chain */
14
+ export declare const AAVES_PER_CHAIN: {
15
+ [c: string]: string[];
16
+ };
17
+ export declare const getComposerAddress: (chainId: string) => string;
18
+ export declare const getLenderAssets: (chainId: string | number | undefined, lendingProtocol?: Lender) => string[];
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoK,MAAM,EAA6C,MAAM,wBAAwB,CAAA;AAI5P,eAAO,MAAM,mBAAmB,UAI7B,CAAA;AAEH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,WAAoD;AAG/F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,WAA2C;AAE1F,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,WAAoD;AAE/F,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,WAAiD;AAE7F,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,WAA6E;AAItH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,WAA+C;AAE1F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,WAA+C;AAE9F,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,yBAAmC;AAIxE,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,WAA4C;AAGrF,eAAO,MAAM,kBAAkB,GAAI,GAAG,MAAM,aAqB3C,CAAA;AAcD,mCAAmC;AACnC,eAAO,MAAM,eAAe;;CAAqB,CAAA;AAEjD,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG,MAEpD,CAAA;AAED,eAAO,MAAM,eAAe,GACxB,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,EACpC,wBAAgC,KAC/B,MAAM,EAOR,CAAA"}