impermax-sdk 1.2.112 → 2.0.0

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 (357) hide show
  1. package/lib/abis/ImpermaxABI.d.ts +2 -2
  2. package/lib/abis/ImpermaxABI.js +3 -3
  3. package/lib/abis/contracts/ClaimAggregator.json +2015 -2015
  4. package/lib/abis/contracts/IAllowanceTransfer.json +3772 -0
  5. package/lib/abis/contracts/IBorrowable.json +13207 -13207
  6. package/lib/abis/contracts/IClaimable.json +406 -406
  7. package/lib/abis/contracts/ICollateral.json +9052 -9052
  8. package/lib/abis/contracts/IERC20.json +2376 -2376
  9. package/lib/abis/contracts/IERC721.json +3515 -0
  10. package/lib/abis/contracts/IFactory.json +3660 -3660
  11. package/lib/abis/contracts/IFarmingPool.json +3584 -3584
  12. package/lib/abis/contracts/ILendingVaultV1.json +8358 -8358
  13. package/lib/abis/contracts/IMerkleDistributor.json +1134 -1134
  14. package/lib/abis/contracts/IRouter02.json +7283 -7283
  15. package/lib/abis/contracts/ISimpleUniswapOracle.json +1469 -1469
  16. package/lib/abis/contracts/IStakedLPToken.json +7309 -7309
  17. package/lib/abis/contracts/IStakingRewards.json +1036 -1036
  18. package/lib/abis/contracts/ITokenizedUniswapV2Position.json +4167 -0
  19. package/lib/abis/contracts/ITokenizedUniswapV3Position.json +5539 -0
  20. package/lib/abis/contracts/IUniswapV2Factory.json +1690 -1690
  21. package/lib/abis/contracts/IUniswapV2Pair.json +6761 -6761
  22. package/lib/abis/contracts/IUniswapV3Pool.json +6606 -0
  23. package/lib/abis/contracts/ImpermaxChef.json +20945 -20945
  24. package/lib/abis/contracts/ImpermaxConfigManager.json +31595 -31595
  25. package/lib/abis/contracts/ImpermaxV3Borrowable.json +22131 -0
  26. package/lib/abis/contracts/ImpermaxV3Collateral.json +22988 -0
  27. package/lib/abis/contracts/ImpermaxV3Factory.json +17645 -0
  28. package/lib/abis/contracts/ImpermaxV3UniV2Router01.json +32488 -0
  29. package/lib/abis/contracts/ImpermaxV3UniV3Router01.json +37742 -0
  30. package/lib/abis/contracts/LendingVaultWatcher01.json +4076 -4076
  31. package/lib/abis/contracts/PoolTokenRouter01.json +9058 -0
  32. package/lib/config/amms.d.ts +102 -104
  33. package/lib/config/amms.js +433 -436
  34. package/lib/config/chainId.d.ts +2 -0
  35. package/lib/config/chainId.js +26 -0
  36. package/lib/config/contracts/claim-aggregators.d.ts +2 -2
  37. package/lib/config/contracts/claim-aggregators.js +26 -26
  38. package/lib/config/contracts/impermax-chef.d.ts +2 -2
  39. package/lib/config/contracts/impermax-chef.js +27 -27
  40. package/lib/config/contracts/impermax-config-manager.d.ts +2 -2
  41. package/lib/config/contracts/impermax-config-manager.js +26 -26
  42. package/lib/config/contracts/impermax-factories.d.ts +4 -4
  43. package/lib/config/contracts/impermax-factories.js +87 -87
  44. package/lib/config/contracts/imxes.d.ts +2 -2
  45. package/lib/config/contracts/imxes.js +26 -26
  46. package/lib/config/contracts/lending-vault-watcher.d.ts +2 -2
  47. package/lib/config/contracts/lending-vault-watcher.js +26 -26
  48. package/lib/config/contracts/merkle-distributors.d.ts +4 -4
  49. package/lib/config/contracts/merkle-distributors.js +70 -70
  50. package/lib/config/contracts/routers.d.ts +4 -3
  51. package/lib/config/contracts/routers.js +118 -94
  52. package/lib/config/contracts/simple-uniswap-oracles.d.ts +2 -2
  53. package/lib/config/contracts/simple-uniswap-oracles.js +49 -49
  54. package/lib/config/contracts/weths.d.ts +2 -2
  55. package/lib/config/contracts/weths.js +27 -27
  56. package/lib/config/debank-ids.d.ts +2 -2
  57. package/lib/config/debank-ids.js +26 -26
  58. package/lib/config/endpoints/merkle-distributors.d.ts +4 -4
  59. package/lib/config/endpoints/merkle-distributors.js +70 -70
  60. package/lib/config/eth.d.ts +3 -3
  61. package/lib/config/eth.js +48 -48
  62. package/lib/config/factories.d.ts +7 -7
  63. package/lib/config/factories.js +31 -30
  64. package/lib/config/farms.d.ts +109 -111
  65. package/lib/config/farms.js +207 -210
  66. package/lib/config/general.d.ts +5 -5
  67. package/lib/config/general.js +8 -8
  68. package/lib/config/subgraphs.d.ts +45 -45
  69. package/lib/config/subgraphs.js +187 -187
  70. package/lib/config/types.d.ts +85 -72
  71. package/lib/config/types.js +72 -58
  72. package/lib/index.d.ts +36 -35
  73. package/lib/index.js +159 -152
  74. package/lib/offchain/account/index.d.ts +9 -7
  75. package/lib/offchain/account/index.js +43 -39
  76. package/lib/offchain/account/lendingPool/borrowable.d.ts +14 -0
  77. package/lib/offchain/account/lendingPool/borrowable.js +73 -0
  78. package/lib/offchain/account/lendingPool/collateral.d.ts +12 -0
  79. package/lib/offchain/account/lendingPool/collateral.js +42 -0
  80. package/lib/offchain/account/lendingPool/index.d.ts +6 -5
  81. package/lib/offchain/account/lendingPool/index.js +14 -12
  82. package/lib/offchain/account/lendingPool/offchainAccountBorrowable.d.ts +14 -17
  83. package/lib/offchain/account/lendingPool/offchainAccountBorrowable.js +45 -71
  84. package/lib/offchain/account/lendingPool/offchainAccountCollateral.d.ts +11 -13
  85. package/lib/offchain/account/lendingPool/offchainAccountCollateral.js +31 -43
  86. package/lib/offchain/account/lendingPool/offchainAccountLendingPool.d.ts +28 -21
  87. package/lib/offchain/account/lendingPool/offchainAccountLendingPool.js +69 -68
  88. package/lib/offchain/account/lendingPool/offchainLeveragedPosition.d.ts +25 -0
  89. package/lib/offchain/account/lendingPool/offchainLeveragedPosition.js +116 -0
  90. package/lib/offchain/account/lendingVault.d.ts +11 -0
  91. package/lib/offchain/account/lendingVault.js +38 -0
  92. package/lib/offchain/account/offchainAccount.d.ts +25 -25
  93. package/lib/offchain/account/offchainAccount.js +129 -129
  94. package/lib/offchain/account/offchainAccountLendingVault.d.ts +16 -16
  95. package/lib/offchain/account/offchainAccountLendingVault.js +64 -64
  96. package/lib/offchain/account/offchainAccountPoolToken.d.ts +7 -7
  97. package/lib/offchain/account/offchainAccountPoolToken.js +24 -24
  98. package/lib/offchain/account/offchainMultichainAccount.d.ts +34 -0
  99. package/lib/offchain/account/offchainMultichainAccount.js +66 -0
  100. package/lib/offchain/account/poolToken.d.ts +6 -0
  101. package/lib/offchain/account/poolToken.js +21 -0
  102. package/lib/offchain/account/vault/index.d.ts +3 -0
  103. package/lib/offchain/account/vault/index.js +7 -0
  104. package/lib/offchain/account/vault/offchainAccountVault.d.ts +16 -0
  105. package/lib/offchain/account/vault/offchainAccountVault.js +64 -0
  106. package/lib/offchain/configManager/index.d.ts +5 -5
  107. package/lib/offchain/configManager/index.js +12 -12
  108. package/lib/offchain/configManager/offchainConfigManager.d.ts +25 -25
  109. package/lib/offchain/configManager/offchainConfigManager.js +76 -76
  110. package/lib/offchain/configManager/offchainConfigManagerInitializer.d.ts +6 -6
  111. package/lib/offchain/configManager/offchainConfigManagerInitializer.js +53 -53
  112. package/lib/offchain/configManager/offchainPairConfig.d.ts +40 -40
  113. package/lib/offchain/configManager/offchainPairConfig.js +86 -86
  114. package/lib/offchain/configManager/offchainProposal.d.ts +17 -17
  115. package/lib/offchain/configManager/offchainProposal.js +53 -53
  116. package/lib/offchain/index.d.ts +15 -14
  117. package/lib/offchain/index.js +55 -53
  118. package/lib/offchain/initializer.d.ts +32 -0
  119. package/lib/offchain/initializer.js +627 -0
  120. package/lib/offchain/lendingPool/borrowable.d.ts +55 -0
  121. package/lib/offchain/lendingPool/borrowable.js +351 -0
  122. package/lib/offchain/lendingPool/collateral.d.ts +17 -0
  123. package/lib/offchain/lendingPool/collateral.js +72 -0
  124. package/lib/offchain/lendingPool/index.d.ts +5 -5
  125. package/lib/offchain/lendingPool/index.js +12 -12
  126. package/lib/offchain/lendingPool/offchainBorrowable.d.ts +59 -59
  127. package/lib/offchain/lendingPool/offchainBorrowable.js +366 -366
  128. package/lib/offchain/lendingPool/offchainCollateral.d.ts +20 -19
  129. package/lib/offchain/lendingPool/offchainCollateral.js +81 -75
  130. package/lib/offchain/lendingPool/offchainLendingPool.d.ts +60 -47
  131. package/lib/offchain/lendingPool/offchainLendingPool.js +277 -230
  132. package/lib/offchain/lendingVault.d.ts +22 -0
  133. package/lib/offchain/lendingVault.js +115 -0
  134. package/lib/offchain/offchain.d.ts +106 -113
  135. package/lib/offchain/offchain.js +248 -251
  136. package/lib/offchain/offchainAPRHelper.d.ts +45 -45
  137. package/lib/offchain/offchainAPRHelper.js +239 -239
  138. package/lib/offchain/offchainEndpointManager.d.ts +25 -25
  139. package/lib/offchain/offchainEndpointManager.js +126 -126
  140. package/lib/offchain/offchainInitializer.d.ts +52 -52
  141. package/lib/offchain/offchainInitializer.js +792 -792
  142. package/lib/offchain/offchainLendingVault.d.ts +25 -25
  143. package/lib/offchain/offchainLendingVault.js +114 -114
  144. package/lib/offchain/offchainMultichain.d.ts +50 -0
  145. package/lib/offchain/offchainMultichain.js +75 -0
  146. package/lib/offchain/offchainPoolToken.d.ts +21 -21
  147. package/lib/offchain/offchainPoolToken.js +128 -128
  148. package/lib/offchain/offchainPriceHelper.d.ts +22 -22
  149. package/lib/offchain/offchainPriceHelper.js +364 -364
  150. package/lib/offchain/offchainSolidexHelper.d.ts +16 -16
  151. package/lib/offchain/offchainSolidexHelper.js +58 -58
  152. package/lib/offchain/offchainTypes.d.ts +212 -212
  153. package/lib/offchain/offchainTypes.js +3 -3
  154. package/lib/offchain/poolToken.d.ts +20 -0
  155. package/lib/offchain/poolToken.js +120 -0
  156. package/lib/offchain/priceHelper.d.ts +21 -0
  157. package/lib/offchain/priceHelper.js +195 -0
  158. package/lib/offchain/queries/apis/ponder/index.d.ts +14 -14
  159. package/lib/offchain/queries/apis/ponder/index.js +281 -281
  160. package/lib/offchain/queries/apis/thegraph/index.d.ts +19 -19
  161. package/lib/offchain/queries/apis/thegraph/index.js +355 -355
  162. package/lib/offchain/queries/index.d.ts +20 -20
  163. package/lib/offchain/queries/index.js +51 -51
  164. package/lib/offchain/queries/interfaces/query-builder.d.ts +19 -19
  165. package/lib/offchain/queries/interfaces/query-builder.js +2 -2
  166. package/lib/offchain/queries/interfaces/transformers.js +9 -9
  167. package/lib/offchain/query.d.ts +15 -0
  168. package/lib/offchain/query.js +323 -0
  169. package/lib/offchain/solidexHelper.d.ts +16 -0
  170. package/lib/offchain/solidexHelper.js +58 -0
  171. package/lib/offchain/types.d.ts +150 -0
  172. package/lib/offchain/types.js +3 -0
  173. package/lib/offchain/vault/index.d.ts +6 -0
  174. package/lib/offchain/vault/index.js +14 -0
  175. package/lib/offchain/vault/offchainHedgedVault.d.ts +9 -0
  176. package/lib/offchain/vault/offchainHedgedVault.js +57 -0
  177. package/lib/offchain/vault/offchainLendingVault.d.ts +16 -0
  178. package/lib/offchain/vault/offchainLendingVault.js +73 -0
  179. package/lib/offchain/vault/offchainLeveragedVault.d.ts +9 -0
  180. package/lib/offchain/vault/offchainLeveragedVault.js +57 -0
  181. package/lib/offchain/vault/offchainVault.d.ts +34 -0
  182. package/lib/offchain/vault/offchainVault.js +130 -0
  183. package/lib/onchain/account/index.d.ts +6 -6
  184. package/lib/onchain/account/index.js +38 -38
  185. package/lib/onchain/account/interactions/index.d.ts +28 -0
  186. package/lib/onchain/account/interactions/index.js +158 -0
  187. package/lib/onchain/account/interactions/lendingPool/borrowable.d.ts +16 -0
  188. package/lib/onchain/account/interactions/lendingPool/borrowable.js +49 -0
  189. package/lib/onchain/account/interactions/lendingPool/collateral.d.ts +15 -0
  190. package/lib/onchain/account/interactions/lendingPool/collateral.js +33 -0
  191. package/lib/onchain/account/interactions/lendingPool/index.d.ts +41 -0
  192. package/lib/onchain/account/interactions/lendingPool/index.js +120 -0
  193. package/lib/onchain/account/interactions/lendingVault.d.ts +10 -0
  194. package/lib/onchain/account/interactions/lendingVault.js +12 -0
  195. package/lib/onchain/account/interactions/poolToken.d.ts +33 -0
  196. package/lib/onchain/account/interactions/poolToken.js +180 -0
  197. package/lib/onchain/account/lendingPool/borrowable.d.ts +29 -0
  198. package/lib/onchain/account/lendingPool/borrowable.js +135 -0
  199. package/lib/onchain/account/lendingPool/collateral.d.ts +15 -0
  200. package/lib/onchain/account/lendingPool/collateral.js +66 -0
  201. package/lib/onchain/account/lendingPool/index.d.ts +12 -5
  202. package/lib/onchain/account/lendingPool/index.js +49 -12
  203. package/lib/onchain/account/lendingPool/nftlp/index.d.ts +4 -0
  204. package/lib/onchain/account/lendingPool/nftlp/index.js +11 -0
  205. package/lib/onchain/account/lendingPool/nftlp/onchainAccountNftlp.d.ts +7 -0
  206. package/lib/onchain/account/lendingPool/nftlp/onchainAccountNftlp.js +12 -0
  207. package/lib/onchain/account/lendingPool/nftlp/onchainAccountNftlpUniswapV3.d.ts +4 -0
  208. package/lib/onchain/account/lendingPool/nftlp/onchainAccountNftlpUniswapV3.js +13 -0
  209. package/lib/onchain/account/lendingPool/onchainAccountBorrowable.d.ts +39 -34
  210. package/lib/onchain/account/lendingPool/onchainAccountBorrowable.js +131 -176
  211. package/lib/onchain/account/lendingPool/onchainAccountBorrowableV2.d.ts +10 -0
  212. package/lib/onchain/account/lendingPool/onchainAccountBorrowableV2.js +55 -0
  213. package/lib/onchain/account/lendingPool/onchainAccountBorrowableV3.d.ts +10 -0
  214. package/lib/onchain/account/lendingPool/onchainAccountBorrowableV3.js +28 -0
  215. package/lib/onchain/account/lendingPool/onchainAccountCollateral.d.ts +10 -23
  216. package/lib/onchain/account/lendingPool/onchainAccountCollateral.js +26 -109
  217. package/lib/onchain/account/lendingPool/onchainAccountCollateralV2.d.ts +25 -0
  218. package/lib/onchain/account/lendingPool/onchainAccountCollateralV2.js +99 -0
  219. package/lib/onchain/account/lendingPool/onchainAccountCollateralV3.d.ts +18 -0
  220. package/lib/onchain/account/lendingPool/onchainAccountCollateralV3.js +44 -0
  221. package/lib/onchain/account/lendingPool/onchainAccountLendingPool.d.ts +42 -57
  222. package/lib/onchain/account/lendingPool/onchainAccountLendingPool.js +142 -352
  223. package/lib/onchain/account/lendingPool/onchainAccountLendingPoolV2.d.ts +44 -0
  224. package/lib/onchain/account/lendingPool/onchainAccountLendingPoolV2.js +285 -0
  225. package/lib/onchain/account/lendingPool/onchainAccountLendingPoolV3.d.ts +27 -0
  226. package/lib/onchain/account/lendingPool/onchainAccountLendingPoolV3.js +32 -0
  227. package/lib/onchain/account/lendingVault.d.ts +10 -0
  228. package/lib/onchain/account/lendingVault.js +35 -0
  229. package/lib/onchain/account/onchainAccount.d.ts +32 -32
  230. package/lib/onchain/account/onchainAccount.js +166 -167
  231. package/lib/onchain/account/onchainAccountLendingVault.d.ts +19 -19
  232. package/lib/onchain/account/onchainAccountLendingVault.js +48 -48
  233. package/lib/onchain/account/onchainAccountPoolToken.d.ts +30 -30
  234. package/lib/onchain/account/onchainAccountPoolToken.js +86 -86
  235. package/lib/onchain/account/poolToken.d.ts +24 -0
  236. package/lib/onchain/account/poolToken.js +84 -0
  237. package/lib/onchain/configManager/index.d.ts +5 -5
  238. package/lib/onchain/configManager/index.js +12 -12
  239. package/lib/onchain/configManager/onchainConfigManager.d.ts +12 -12
  240. package/lib/onchain/configManager/onchainConfigManager.js +38 -38
  241. package/lib/onchain/configManager/onchainPairConfig.d.ts +38 -38
  242. package/lib/onchain/configManager/onchainPairConfig.js +85 -85
  243. package/lib/onchain/configManager/onchainProposal.d.ts +17 -17
  244. package/lib/onchain/configManager/onchainProposal.js +55 -55
  245. package/lib/onchain/contractsHelper.d.ts +29 -0
  246. package/lib/onchain/contractsHelper.js +52 -0
  247. package/lib/onchain/impermaxFactory/index.d.ts +7 -5
  248. package/lib/onchain/impermaxFactory/index.js +39 -35
  249. package/lib/onchain/impermaxFactory/lendingPool/borrowable.d.ts +36 -0
  250. package/lib/onchain/impermaxFactory/lendingPool/borrowable.js +153 -0
  251. package/lib/onchain/impermaxFactory/lendingPool/collateral.d.ts +17 -0
  252. package/lib/onchain/impermaxFactory/lendingPool/collateral.js +59 -0
  253. package/lib/onchain/impermaxFactory/lendingPool/index.d.ts +12 -5
  254. package/lib/onchain/impermaxFactory/lendingPool/index.js +50 -12
  255. package/lib/onchain/impermaxFactory/lendingPool/nftlp/index.d.ts +4 -0
  256. package/lib/onchain/impermaxFactory/lendingPool/nftlp/index.js +11 -0
  257. package/lib/onchain/impermaxFactory/lendingPool/nftlp/onchainNftlp.d.ts +22 -0
  258. package/lib/onchain/impermaxFactory/lendingPool/nftlp/onchainNftlp.js +19 -0
  259. package/lib/onchain/impermaxFactory/lendingPool/nftlp/onchainNftlpUniswapV3.d.ts +24 -0
  260. package/lib/onchain/impermaxFactory/lendingPool/nftlp/onchainNftlpUniswapV3.js +90 -0
  261. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowable.d.ts +38 -34
  262. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowable.js +137 -156
  263. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowableV2.d.ts +9 -0
  264. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowableV2.js +36 -0
  265. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowableV3.d.ts +7 -0
  266. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowableV3.js +23 -0
  267. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateral.d.ts +8 -19
  268. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateral.js +24 -61
  269. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateralV2.d.ts +20 -0
  270. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateralV2.js +58 -0
  271. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateralV3.d.ts +13 -0
  272. package/lib/onchain/impermaxFactory/lendingPool/onchainCollateralV3.js +36 -0
  273. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPool.d.ts +43 -58
  274. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPool.js +81 -367
  275. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPoolV2.d.ts +76 -0
  276. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPoolV2.js +338 -0
  277. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPoolV3.d.ts +42 -0
  278. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPoolV3.js +39 -0
  279. package/lib/onchain/impermaxFactory/onchainImpermaxFactory.d.ts +26 -16
  280. package/lib/onchain/impermaxFactory/onchainImpermaxFactory.js +42 -52
  281. package/lib/onchain/impermaxFactory/onchainImpermaxFactoryV2.d.ts +16 -0
  282. package/lib/onchain/impermaxFactory/onchainImpermaxFactoryV2.js +81 -0
  283. package/lib/onchain/impermaxFactory/onchainImpermaxFactoryV3.d.ts +16 -0
  284. package/lib/onchain/impermaxFactory/onchainImpermaxFactoryV3.js +88 -0
  285. package/lib/onchain/index.d.ts +10 -10
  286. package/lib/onchain/index.js +49 -49
  287. package/lib/onchain/interactions/index.d.ts +8 -8
  288. package/lib/onchain/interactions/index.js +41 -41
  289. package/lib/onchain/interactions/lendingPool/borrowable.d.ts +14 -0
  290. package/lib/onchain/interactions/lendingPool/borrowable.js +47 -0
  291. package/lib/onchain/interactions/lendingPool/collateral.d.ts +13 -0
  292. package/lib/onchain/interactions/lendingPool/collateral.js +31 -0
  293. package/lib/onchain/interactions/lendingPool/index.d.ts +12 -5
  294. package/lib/onchain/interactions/lendingPool/index.js +49 -12
  295. package/lib/onchain/interactions/lendingPool/nftlp/index.d.ts +4 -0
  296. package/lib/onchain/interactions/lendingPool/nftlp/index.js +11 -0
  297. package/lib/onchain/interactions/lendingPool/nftlp/onchainInteractionsNftlp.d.ts +7 -0
  298. package/lib/onchain/interactions/lendingPool/nftlp/onchainInteractionsNftlp.js +12 -0
  299. package/lib/onchain/interactions/lendingPool/nftlp/onchainInteractionsNftlpUniswapV3.d.ts +4 -0
  300. package/lib/onchain/interactions/lendingPool/nftlp/onchainInteractionsNftlpUniswapV3.js +13 -0
  301. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowable.d.ts +17 -21
  302. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowable.js +24 -56
  303. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowableV2.d.ts +15 -0
  304. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowableV2.js +63 -0
  305. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowableV3.d.ts +9 -0
  306. package/lib/onchain/interactions/lendingPool/onchainInteractionsBorrowableV3.js +14 -0
  307. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateral.d.ts +7 -19
  308. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateral.js +11 -43
  309. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateralV2.d.ts +20 -0
  310. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateralV2.js +48 -0
  311. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateralV3.d.ts +13 -0
  312. package/lib/onchain/interactions/lendingPool/onchainInteractionsCollateralV3.js +20 -0
  313. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPool.d.ts +31 -46
  314. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPool.js +53 -135
  315. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPoolV2.d.ts +42 -0
  316. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPoolV2.js +114 -0
  317. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPoolV3.d.ts +27 -0
  318. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPoolV3.js +32 -0
  319. package/lib/onchain/interactions/lendingVault.d.ts +8 -0
  320. package/lib/onchain/interactions/lendingVault.js +15 -0
  321. package/lib/onchain/interactions/onchainInteractions.d.ts +31 -31
  322. package/lib/onchain/interactions/onchainInteractions.js +136 -137
  323. package/lib/onchain/interactions/onchainInteractionsConfigManager.d.ts +17 -17
  324. package/lib/onchain/interactions/onchainInteractionsConfigManager.js +44 -44
  325. package/lib/onchain/interactions/onchainInteractionsLendingVault.d.ts +14 -14
  326. package/lib/onchain/interactions/onchainInteractionsLendingVault.js +21 -21
  327. package/lib/onchain/interactions/onchainInteractionsPoolToken.d.ts +35 -35
  328. package/lib/onchain/interactions/onchainInteractionsPoolToken.js +134 -186
  329. package/lib/onchain/interactions/poolToken.d.ts +31 -0
  330. package/lib/onchain/interactions/poolToken.js +181 -0
  331. package/lib/onchain/lendingVault.d.ts +17 -0
  332. package/lib/onchain/lendingVault.js +56 -0
  333. package/lib/onchain/onchain.d.ts +38 -35
  334. package/lib/onchain/onchain.js +78 -70
  335. package/lib/onchain/onchainContractsHelper.d.ts +42 -31
  336. package/lib/onchain/onchainContractsHelper.js +90 -56
  337. package/lib/onchain/onchainLendingVault.d.ts +22 -22
  338. package/lib/onchain/onchainLendingVault.js +69 -69
  339. package/lib/onchain/onchainPermitHelper.d.ts +21 -0
  340. package/lib/onchain/onchainPermitHelper.js +198 -0
  341. package/lib/onchain/onchainPoolToken.d.ts +35 -35
  342. package/lib/onchain/onchainPoolToken.js +129 -129
  343. package/lib/onchain/onchainTypes.d.ts +70 -64
  344. package/lib/onchain/onchainTypes.js +14 -14
  345. package/lib/onchain/poolToken.d.ts +32 -0
  346. package/lib/onchain/poolToken.js +121 -0
  347. package/lib/onchain/types.d.ts +45 -0
  348. package/lib/onchain/types.js +14 -0
  349. package/lib/utils/ether-utils.d.ts +5 -5
  350. package/lib/utils/ether-utils.js +26 -26
  351. package/lib/utils/index.d.ts +3 -3
  352. package/lib/utils/index.js +16 -16
  353. package/lib/utils/lliquidity-math.d.ts +30 -30
  354. package/lib/utils/lliquidity-math.js +139 -139
  355. package/lib/utils/price-from-reserves.d.ts +2 -0
  356. package/lib/utils/price-from-reserves.js +19 -0
  357. package/package.json +36 -36
@@ -1,156 +1,137 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const types_1 = require("../../../config/types");
16
- const onchainPoolToken_1 = __importDefault(require("../../onchainPoolToken"));
17
- class OnchainBorrowable extends onchainPoolToken_1.default {
18
- constructor(lendingPool, poolTokenType) {
19
- super();
20
- this.borrowableCache = {};
21
- this.getLendingPool = () => this.lendingPool;
22
- this.getPoolTokenType = () => this.poolTokenType;
23
- this.getContractHelper = () => this.lendingPool.getImpermaxFactory().getOnchain().getContractHelper();
24
- this.getOffchainBorrowable = this.getOffchainPoolToken;
25
- // Impermax Chef
26
- this.getImpermaxChef = () => this.getContractHelper().impermaxChef;
27
- this.lendingPool = lendingPool;
28
- this.poolTokenType = poolTokenType;
29
- }
30
- cleanCache() {
31
- super.cleanCache();
32
- this.borrowableCache = {};
33
- }
34
- getPoolTokenAddress() {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- return (yield this.lendingPool.getPoolTokenAddresses())[this.poolTokenType];
37
- });
38
- }
39
- getOffchainPoolToken() {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- const lendingPool = yield this.lendingPool.getOffchainLendingPool();
42
- return lendingPool.getPoolToken(this.poolTokenType);
43
- });
44
- }
45
- initializePoolToken() {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- return this.getContractHelper().newBorrowable(yield this.getPoolTokenAddress());
48
- });
49
- }
50
- initializeToken() {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- const poolToken = yield this.getPoolToken();
53
- return this.getContractHelper().newERC20(yield poolToken.methods.underlying().call());
54
- });
55
- }
56
- // Price Denom LP
57
- getPriceDenomLP() {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- const prices = yield this.lendingPool.getPriceDenomLP();
60
- return prices[this.poolTokenType === types_1.PoolTokenType.BorrowableA ? 0 : 1];
61
- });
62
- }
63
- getMarketPriceDenomLP() {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- const prices = yield this.lendingPool.getMarketPriceDenomLP();
66
- return prices[this.poolTokenType === types_1.PoolTokenType.BorrowableA ? 0 : 1];
67
- });
68
- }
69
- // Farming Pool
70
- initializeBorrowTracker() {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- const borrowable = yield this.getPoolToken();
73
- return borrowable.methods.borrowTracker().call();
74
- });
75
- }
76
- getBorrowTracker() {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- if (!this.borrowableCache.borrowTracker)
79
- this.borrowableCache.borrowTracker = this.initializeBorrowTracker();
80
- return this.borrowableCache.borrowTracker;
81
- });
82
- }
83
- hasFarming() {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- // remove old farming contracts, now it only has farming if it has the impermaxChef
86
- return this.hasImpermaxChef();
87
- });
88
- }
89
- hasImpermaxChef() {
90
- var _a;
91
- return __awaiter(this, void 0, void 0, function* () {
92
- const borrowTracker = yield this.getBorrowTracker();
93
- return borrowTracker.toLowerCase() === ((_a = this.getImpermaxChef()._address) !== null && _a !== void 0 ? _a : "").toLowerCase();
94
- });
95
- }
96
- initializeFarmingTokenSymbol() {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- if (!(yield this.hasImpermaxChef()))
99
- return "";
100
- const impermaxChef = yield this.getImpermaxChef();
101
- const farmingTokenAddress = yield impermaxChef.methods.rewardToken().call();
102
- return this.getContractHelper().newERC20(farmingTokenAddress).methods.symbol().call();
103
- });
104
- }
105
- getFarmingTokenSymbol() {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- if (!this.borrowableCache.farmingTokenSymbol)
108
- this.borrowableCache.farmingTokenSymbol = this.initializeFarmingTokenSymbol();
109
- return this.borrowableCache.farmingTokenSymbol;
110
- });
111
- }
112
- // Farming Pool Rewarder
113
- initializeRewarder() {
114
- return __awaiter(this, void 0, void 0, function* () {
115
- const poolTokenAddress = yield this.getPoolTokenAddress();
116
- try {
117
- const { rewarder } = yield this.getImpermaxChef().methods.poolInfo(poolTokenAddress).call();
118
- if (rewarder == "0x0000000000000000000000000000000000000000")
119
- return null;
120
- return this.getContractHelper().newImpermaxChef(rewarder);
121
- }
122
- catch (_a) {
123
- return null;
124
- }
125
- });
126
- }
127
- getRewarder() {
128
- return __awaiter(this, void 0, void 0, function* () {
129
- if (!this.borrowableCache.rewarder)
130
- this.borrowableCache.rewarder = this.initializeRewarder();
131
- return this.borrowableCache.rewarder;
132
- });
133
- }
134
- hasRewarder() {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- return (yield this.getRewarder()) !== null;
137
- });
138
- }
139
- initializeRewarderTokenSymbol() {
140
- return __awaiter(this, void 0, void 0, function* () {
141
- if (!(yield this.hasRewarder()))
142
- return "";
143
- const rewarder = yield this.getRewarder();
144
- const rewardTokenAddress = yield rewarder.methods.rewardToken().call();
145
- return this.getContractHelper().newERC20(rewardTokenAddress).methods.symbol().call();
146
- });
147
- }
148
- getRewarderTokenSymbol() {
149
- return __awaiter(this, void 0, void 0, function* () {
150
- if (!this.borrowableCache.rewarderTokenSymbol)
151
- this.borrowableCache.rewarderTokenSymbol = this.initializeRewarderTokenSymbol();
152
- return this.borrowableCache.rewarderTokenSymbol;
153
- });
154
- }
155
- }
156
- exports.default = OnchainBorrowable;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const onchainPoolToken_1 = __importDefault(require("../../onchainPoolToken"));
16
+ class OnchainBorrowable extends onchainPoolToken_1.default {
17
+ constructor(lendingPool, borrowable) {
18
+ super();
19
+ this.borrowableCache = {};
20
+ this.getLendingPool = () => this.lendingPool;
21
+ this.getBorrowableType = () => this.borrowable;
22
+ this.getContractHelper = () => this.lendingPool.getImpermaxFactory().getOnchain().getContractHelper();
23
+ this.getOffchainBorrowable = this.getOffchainPoolToken;
24
+ // Impermax Chef
25
+ this.getImpermaxChef = () => this.getContractHelper().impermaxChef;
26
+ this.lendingPool = lendingPool;
27
+ this.borrowable = borrowable;
28
+ }
29
+ cleanCache() {
30
+ super.cleanCache();
31
+ this.borrowableCache = {};
32
+ }
33
+ getPoolTokenAddress() {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ return (yield this.lendingPool.getBorrowableAddress(this.borrowable));
36
+ });
37
+ }
38
+ getOffchainPoolToken() {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const lendingPool = yield this.lendingPool.getOffchainLendingPool();
41
+ return lendingPool.getBorrowable(this.borrowable);
42
+ });
43
+ }
44
+ initializeToken() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const poolToken = yield this.getPoolToken();
47
+ return this.getContractHelper().newERC20(yield poolToken.methods.underlying().call());
48
+ });
49
+ }
50
+ // Farming Pool
51
+ initializeBorrowTracker() {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ const borrowable = yield this.getPoolToken();
54
+ return borrowable.methods.borrowTracker().call();
55
+ });
56
+ }
57
+ getBorrowTracker() {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ if (!this.borrowableCache.borrowTracker)
60
+ this.borrowableCache.borrowTracker = this.initializeBorrowTracker();
61
+ return this.borrowableCache.borrowTracker;
62
+ });
63
+ }
64
+ hasFarming() {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ // remove old farming contracts, now it only has farming if it has the impermaxChef
67
+ return this.hasImpermaxChef();
68
+ });
69
+ }
70
+ hasImpermaxChef() {
71
+ var _a;
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ const borrowTracker = yield this.getBorrowTracker();
74
+ return borrowTracker.toLowerCase() === ((_a = this.getImpermaxChef()._address) !== null && _a !== void 0 ? _a : "").toLowerCase();
75
+ });
76
+ }
77
+ initializeFarmingTokenSymbol() {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ if (!(yield this.hasImpermaxChef()))
80
+ return "";
81
+ const impermaxChef = yield this.getImpermaxChef();
82
+ const farmingTokenAddress = yield impermaxChef.methods.rewardToken().call();
83
+ return this.getContractHelper().newERC20(farmingTokenAddress).methods.symbol().call();
84
+ });
85
+ }
86
+ getFarmingTokenSymbol() {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ if (!this.borrowableCache.farmingTokenSymbol)
89
+ this.borrowableCache.farmingTokenSymbol = this.initializeFarmingTokenSymbol();
90
+ return this.borrowableCache.farmingTokenSymbol;
91
+ });
92
+ }
93
+ // Farming Pool Rewarder
94
+ initializeRewarder() {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ const poolTokenAddress = yield this.getPoolTokenAddress();
97
+ try {
98
+ const { rewarder } = yield this.getImpermaxChef().methods.poolInfo(poolTokenAddress).call();
99
+ if (rewarder == "0x0000000000000000000000000000000000000000")
100
+ return null;
101
+ return this.getContractHelper().newImpermaxChef(rewarder);
102
+ }
103
+ catch (_a) {
104
+ return null;
105
+ }
106
+ });
107
+ }
108
+ getRewarder() {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ if (!this.borrowableCache.rewarder)
111
+ this.borrowableCache.rewarder = this.initializeRewarder();
112
+ return this.borrowableCache.rewarder;
113
+ });
114
+ }
115
+ hasRewarder() {
116
+ return __awaiter(this, void 0, void 0, function* () {
117
+ return (yield this.getRewarder()) !== null;
118
+ });
119
+ }
120
+ initializeRewarderTokenSymbol() {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ if (!(yield this.hasRewarder()))
123
+ return "";
124
+ const rewarder = yield this.getRewarder();
125
+ const rewardTokenAddress = yield rewarder.methods.rewardToken().call();
126
+ return this.getContractHelper().newERC20(rewardTokenAddress).methods.symbol().call();
127
+ });
128
+ }
129
+ getRewarderTokenSymbol() {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ if (!this.borrowableCache.rewarderTokenSymbol)
132
+ this.borrowableCache.rewarderTokenSymbol = this.initializeRewarderTokenSymbol();
133
+ return this.borrowableCache.rewarderTokenSymbol;
134
+ });
135
+ }
136
+ }
137
+ exports.default = OnchainBorrowable;
@@ -0,0 +1,9 @@
1
+ import { Contract } from "../../onchainTypes";
2
+ import OnchainBorrowable from "./onchainBorrowable";
3
+ import OnchainLendingPoolV2 from "./onchainLendingPoolV2";
4
+ export default class OnchainBorrowableV2 extends OnchainBorrowable {
5
+ protected readonly lendingPool: OnchainLendingPoolV2;
6
+ protected initializePoolToken(): Promise<Contract>;
7
+ getPriceDenomLP(): Promise<number>;
8
+ getMarketPriceDenomLP(): Promise<number>;
9
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const onchainBorrowable_1 = __importDefault(require("./onchainBorrowable"));
16
+ class OnchainBorrowableV2 extends onchainBorrowable_1.default {
17
+ initializePoolToken() {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ return this.getContractHelper().newBorrowableV2(yield this.getPoolTokenAddress());
20
+ });
21
+ }
22
+ // Price Denom LP
23
+ getPriceDenomLP() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const prices = yield this.lendingPool.getPriceDenomLP();
26
+ return prices[this.borrowable];
27
+ });
28
+ }
29
+ getMarketPriceDenomLP() {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const prices = yield this.lendingPool.getMarketPriceDenomLP();
32
+ return prices[this.borrowable];
33
+ });
34
+ }
35
+ }
36
+ exports.default = OnchainBorrowableV2;
@@ -0,0 +1,7 @@
1
+ import { Contract } from "../../onchainTypes";
2
+ import OnchainBorrowable from "./onchainBorrowable";
3
+ import OnchainLendingPoolV3 from "./onchainLendingPoolV3";
4
+ export default class OnchainBorrowableV3 extends OnchainBorrowable {
5
+ protected readonly lendingPool: OnchainLendingPoolV3;
6
+ protected initializePoolToken(): Promise<Contract>;
7
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const onchainBorrowable_1 = __importDefault(require("./onchainBorrowable"));
16
+ class OnchainBorrowableV3 extends onchainBorrowable_1.default {
17
+ initializePoolToken() {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ return this.getContractHelper().newBorrowableV3(yield this.getPoolTokenAddress());
20
+ });
21
+ }
22
+ }
23
+ exports.default = OnchainBorrowableV3;
@@ -1,19 +1,8 @@
1
- import { Contract } from "../../onchainTypes";
2
- import OnchainLendingPool from './index';
3
- import { Address } from '../../../config/types';
4
- import OnchainPoolToken from '../../onchainPoolToken';
5
- import OffchainCollateral from '../../../offchain/lendingPool/offchainCollateral';
6
- export default class OnchainCollateral extends OnchainPoolToken {
7
- private readonly lendingPool;
8
- private collateralCache;
9
- constructor(lendingPool: OnchainLendingPool);
10
- getLendingPool: () => OnchainLendingPool;
11
- cleanCache(): void;
12
- private getContractHelper;
13
- getPoolTokenAddress(): Promise<Address>;
14
- getOffchainPoolToken(): Promise<OffchainCollateral>;
15
- getOffchainCollateral: () => Promise<OffchainCollateral>;
16
- protected initializePoolToken(): Promise<Contract>;
17
- protected initializeToken(): Promise<Contract>;
18
- protected initializeExchangeRate(): Promise<number>;
19
- }
1
+ import OnchainLendingPool from './index';
2
+ import OffchainCollateral from '../../../offchain/lendingPool/offchainCollateral';
3
+ export default abstract class OnchainCollateral {
4
+ abstract getLendingPool(): OnchainLendingPool;
5
+ abstract cleanCache(): any;
6
+ getCollateralAddress: () => Promise<string>;
7
+ getOffchainCollateral(): Promise<OffchainCollateral>;
8
+ }
@@ -1,61 +1,24 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const types_1 = require("../../../config/types");
16
- const onchainPoolToken_1 = __importDefault(require("../../onchainPoolToken"));
17
- class OnchainCollateral extends onchainPoolToken_1.default {
18
- constructor(lendingPool) {
19
- super();
20
- this.collateralCache = {};
21
- this.getLendingPool = () => this.lendingPool;
22
- this.getContractHelper = () => this.lendingPool.getImpermaxFactory().getOnchain().getContractHelper();
23
- this.getOffchainCollateral = this.getOffchainPoolToken;
24
- this.lendingPool = lendingPool;
25
- }
26
- cleanCache() {
27
- super.cleanCache();
28
- this.collateralCache = {};
29
- }
30
- getPoolTokenAddress() {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- return (yield this.lendingPool.getPoolTokenAddresses())[types_1.PoolTokenType.Collateral];
33
- });
34
- }
35
- getOffchainPoolToken() {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- const lendingPool = yield this.lendingPool.getOffchainLendingPool();
38
- return lendingPool.getCollateral();
39
- });
40
- }
41
- initializePoolToken() {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- return this.getContractHelper().newCollateral(yield this.getPoolTokenAddress());
44
- });
45
- }
46
- initializeToken() {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- return this.lendingPool.getUniswapV2Pair();
49
- });
50
- }
51
- initializeExchangeRate() {
52
- const _super = Object.create(null, {
53
- initializeExchangeRate: { get: () => super.initializeExchangeRate }
54
- });
55
- return __awaiter(this, void 0, void 0, function* () {
56
- let exchangeRate = yield _super.initializeExchangeRate.call(this);
57
- return exchangeRate * (yield this.lendingPool.getStakedLPExchangeRate());
58
- });
59
- }
60
- }
61
- exports.default = OnchainCollateral;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ class OnchainCollateral {
13
+ constructor() {
14
+ // shortcuts
15
+ this.getCollateralAddress = () => __awaiter(this, void 0, void 0, function* () { return this.getLendingPool().getCollateralAddress(); });
16
+ }
17
+ getOffchainCollateral() {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ const lendingPool = yield this.getLendingPool().getOffchainLendingPool();
20
+ return lendingPool.getCollateral();
21
+ });
22
+ }
23
+ }
24
+ exports.default = OnchainCollateral;
@@ -0,0 +1,20 @@
1
+ import { Contract } from "../../onchainTypes";
2
+ import OnchainPoolToken from '../../onchainPoolToken';
3
+ import OffchainCollateral from '../../../offchain/lendingPool/offchainCollateral';
4
+ import OnchainCollateral from "./onchainCollateral";
5
+ import OnchainLendingPoolV2 from "./onchainLendingPoolV2";
6
+ export default class OnchainCollateralV2 extends OnchainPoolToken implements OnchainCollateral {
7
+ protected readonly lendingPool: OnchainLendingPoolV2;
8
+ protected collateralCache: {};
9
+ constructor(lendingPool: OnchainLendingPoolV2);
10
+ getLendingPool: () => OnchainLendingPoolV2;
11
+ cleanCache(): void;
12
+ private getContractHelper;
13
+ getCollateralAddress: () => Promise<string>;
14
+ getOffchainCollateral(): Promise<OffchainCollateral>;
15
+ getPoolTokenAddress: () => Promise<string>;
16
+ getOffchainPoolToken: () => Promise<OffchainCollateral>;
17
+ protected initializePoolToken(): Promise<Contract>;
18
+ protected initializeToken(): Promise<Contract>;
19
+ protected initializeExchangeRate(): Promise<number>;
20
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const onchainPoolToken_1 = __importDefault(require("../../onchainPoolToken"));
16
+ class OnchainCollateralV2 extends onchainPoolToken_1.default {
17
+ constructor(lendingPool) {
18
+ super();
19
+ this.collateralCache = {};
20
+ this.getLendingPool = () => this.lendingPool;
21
+ // shortcuts
22
+ this.getContractHelper = () => this.lendingPool.getImpermaxFactory().getOnchain().getContractHelper();
23
+ this.getCollateralAddress = () => __awaiter(this, void 0, void 0, function* () { return this.lendingPool.getCollateralAddress(); });
24
+ this.getPoolTokenAddress = this.getCollateralAddress;
25
+ this.getOffchainPoolToken = this.getOffchainCollateral;
26
+ this.lendingPool = lendingPool;
27
+ }
28
+ cleanCache() {
29
+ super.cleanCache();
30
+ this.collateralCache = {};
31
+ }
32
+ getOffchainCollateral() {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ const lendingPool = yield this.lendingPool.getOffchainLendingPool();
35
+ return lendingPool.getCollateral();
36
+ });
37
+ }
38
+ initializePoolToken() {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ return this.getContractHelper().newCollateralV2(yield this.getCollateralAddress());
41
+ });
42
+ }
43
+ initializeToken() {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ return this.lendingPool.getUniswapV2Pair();
46
+ });
47
+ }
48
+ initializeExchangeRate() {
49
+ const _super = Object.create(null, {
50
+ initializeExchangeRate: { get: () => super.initializeExchangeRate }
51
+ });
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ let exchangeRate = yield _super.initializeExchangeRate.call(this);
54
+ return exchangeRate * (yield this.lendingPool.getStakedLPExchangeRate());
55
+ });
56
+ }
57
+ }
58
+ exports.default = OnchainCollateralV2;
@@ -0,0 +1,13 @@
1
+ import OffchainCollateral from '../../../offchain/lendingPool/offchainCollateral';
2
+ import OnchainCollateral from "./onchainCollateral";
3
+ import OnchainLendingPoolV3 from "./onchainLendingPoolV3";
4
+ export default class OnchainCollateralV3 extends OnchainCollateral {
5
+ protected readonly lendingPool: OnchainLendingPoolV3;
6
+ protected collateralCache: {};
7
+ constructor(lendingPool: OnchainLendingPoolV3);
8
+ getLendingPool: () => OnchainLendingPoolV3;
9
+ cleanCache(): void;
10
+ private getContractHelper;
11
+ getCollateralAddress: () => Promise<string>;
12
+ getOffchainCollateral(): Promise<OffchainCollateral>;
13
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const onchainCollateral_1 = __importDefault(require("./onchainCollateral"));
16
+ class OnchainCollateralV3 extends onchainCollateral_1.default {
17
+ constructor(lendingPool) {
18
+ super();
19
+ this.collateralCache = {};
20
+ this.getLendingPool = () => this.lendingPool;
21
+ // shortcuts
22
+ this.getContractHelper = () => this.lendingPool.getImpermaxFactory().getOnchain().getContractHelper();
23
+ this.getCollateralAddress = () => __awaiter(this, void 0, void 0, function* () { return this.lendingPool.getCollateralAddress(); });
24
+ this.lendingPool = lendingPool;
25
+ }
26
+ cleanCache() {
27
+ this.collateralCache = {};
28
+ }
29
+ getOffchainCollateral() {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const lendingPool = yield this.lendingPool.getOffchainLendingPool();
32
+ return lendingPool.getCollateral();
33
+ });
34
+ }
35
+ }
36
+ exports.default = OnchainCollateralV3;