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,167 +1,166 @@
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 lendingPool_1 = __importDefault(require("./lendingPool"));
16
- const onchainAccountLendingVault_1 = __importDefault(require("./onchainAccountLendingVault"));
17
- const merkle_distributors_1 = require("../../config/endpoints/merkle-distributors");
18
- const ethers_1 = require("ethers");
19
- class OnchainAccount {
20
- constructor(onchain, account) {
21
- this.cache = { airdropData: {}, claimableIBEX: {} };
22
- this.getOnchain = () => this.onchain;
23
- this.getAccountAddress = () => this.accountAddress;
24
- this.getInteractions = () => this.onchain.getInteractions(this.accountAddress);
25
- this.getOffchainAccount = () => this.onchain.getOffchain().getAccount(this.accountAddress);
26
- this.onchain = onchain;
27
- this.accountAddress = account;
28
- this.lendingPools = {};
29
- this.lendingVaults = {};
30
- }
31
- cleanCache() {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- this.cache = { airdropData: {}, claimableIBEX: {} };
34
- for (const factory in this.lendingPools) {
35
- for (const pairAddress in this.lendingPools[factory]) {
36
- (yield this.lendingPools[factory][pairAddress]).cleanCache();
37
- }
38
- }
39
- for (const vaultAddress in this.lendingVaults) {
40
- (yield this.lendingVaults[vaultAddress]).cleanCache();
41
- }
42
- });
43
- }
44
- initializeLendingPool(factory, pair) {
45
- const lendingPool = this.onchain.getImpermaxFactory(factory).getLendingPool(pair);
46
- return new lendingPool_1.default(this, lendingPool);
47
- }
48
- getLendingPool(factory, pair) {
49
- if (!this.lendingPools[factory])
50
- this.lendingPools[factory] = {};
51
- const accountLendingPools = this.lendingPools[factory];
52
- if (!accountLendingPools[pair])
53
- accountLendingPools[pair] = this.initializeLendingPool(factory, pair);
54
- return accountLendingPools[pair];
55
- }
56
- initializeLendingVault(vaultAddress) {
57
- const lendingPool = this.onchain.getLendingVault(vaultAddress);
58
- return new onchainAccountLendingVault_1.default(this, lendingPool);
59
- }
60
- getLendingVault(vaultAddress) {
61
- if (!this.lendingVaults[vaultAddress])
62
- this.lendingVaults[vaultAddress] = this.initializeLendingVault(vaultAddress);
63
- return this.lendingVaults[vaultAddress];
64
- }
65
- // Mass Available Reward (only supports ImpermaxChef)
66
- getMassAvailableReward(pairs) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- const result = {};
69
- if (!pairs)
70
- return result;
71
- const requests = [];
72
- for (const factory in pairs) {
73
- const requestsLocal = [];
74
- for (const pairAddress of pairs[factory]) {
75
- requestsLocal.push((yield this.getLendingPool(factory, pairAddress)).getAvailableReward());
76
- }
77
- requests.push(Promise.all(requestsLocal));
78
- }
79
- const data = yield Promise.all(requests);
80
- let i = 0;
81
- for (const factory in pairs) {
82
- result[factory] = {};
83
- for (let j = 0; j < pairs[factory].length; j++) {
84
- result[factory][pairs[factory][j]] = data[i][j];
85
- }
86
- i++;
87
- }
88
- return result;
89
- });
90
- }
91
- // Airdrop Data
92
- initializeAirdropData(airdropURL, merkleDistributor) {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- if (airdropURL && airdropURL !== '') {
95
- try {
96
- const json = yield fetch(airdropURL + '/' + this.accountAddress);
97
- const data = yield json.json();
98
- if (data) {
99
- data.amount = ethers_1.BigNumber.from(data.amount);
100
- const isClaimed = yield merkleDistributor.methods.isClaimed(data.Account).call();
101
- if (!isClaimed)
102
- return data;
103
- }
104
- }
105
- catch (e) { }
106
- }
107
- return {
108
- index: -1,
109
- amount: null,
110
- proof: [],
111
- };
112
- });
113
- }
114
- getAirdropData(airdropURL, merkleDistributor) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- if (!this.cache.airdropData[airdropURL])
117
- this.cache.airdropData[airdropURL] = this.initializeAirdropData(airdropURL, merkleDistributor);
118
- return this.cache.airdropData[airdropURL];
119
- });
120
- }
121
- getIbexAirdropData() {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- return this.getAirdropData(merkle_distributors_1.MERKLE_URL_IBEX[this.onchain.network], this.onchain.getContractHelper().merkleDistributorIbex);
124
- });
125
- }
126
- getIbex2AirdropData() {
127
- return __awaiter(this, void 0, void 0, function* () {
128
- return this.getAirdropData(merkle_distributors_1.MERKLE_URL_IBEX_2[this.onchain.network], this.onchain.getContractHelper().merkleDistributorIbex2);
129
- });
130
- }
131
- getEthAirdropData() {
132
- return __awaiter(this, void 0, void 0, function* () {
133
- return this.getAirdropData(merkle_distributors_1.MERKLE_URL_ETH[this.onchain.network], this.onchain.getContractHelper().merkleDistributorEth);
134
- });
135
- }
136
- hasIbexClaimableAirdrop() {
137
- return __awaiter(this, void 0, void 0, function* () {
138
- const airdropData = yield this.getIbexAirdropData();
139
- if (airdropData.amount)
140
- return true;
141
- return false;
142
- });
143
- }
144
- hasEthClaimableAirdrop() {
145
- return __awaiter(this, void 0, void 0, function* () {
146
- const airdropData = yield this.getEthAirdropData();
147
- if (airdropData.amount)
148
- return true;
149
- return false;
150
- });
151
- }
152
- // Claim Claimable IBEX
153
- initializeClaimableIBEX(claimableAddress) {
154
- return __awaiter(this, void 0, void 0, function* () {
155
- const claimable = this.onchain.getContractHelper().newClaimable(claimableAddress);
156
- return (yield claimable.methods.claim().call({ from: this.accountAddress })) / 1e18;
157
- });
158
- }
159
- getClaimableIBEX(claimableAddress) {
160
- return __awaiter(this, void 0, void 0, function* () {
161
- if (!this.cache.claimableIBEX[claimableAddress])
162
- this.cache.claimableIBEX[claimableAddress] = this.initializeClaimableIBEX(claimableAddress);
163
- return this.cache.claimableIBEX[claimableAddress];
164
- });
165
- }
166
- }
167
- exports.default = OnchainAccount;
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 onchainAccountLendingVault_1 = __importDefault(require("./onchainAccountLendingVault"));
16
+ const merkle_distributors_1 = require("../../config/endpoints/merkle-distributors");
17
+ const ethers_1 = require("ethers");
18
+ class OnchainAccount {
19
+ constructor(onchain, account) {
20
+ this.cache = { airdropData: {}, claimableIBEX: {} };
21
+ this.getOnchain = () => this.onchain;
22
+ this.getAccountAddress = () => this.accountAddress;
23
+ this.getInteractions = () => this.onchain.getInteractions(this.accountAddress);
24
+ this.getOffchainAccount = () => this.onchain.getOffchain().getAccount(this.accountAddress);
25
+ this.onchain = onchain;
26
+ this.accountAddress = account;
27
+ this.lendingPools = {};
28
+ this.lendingVaults = {};
29
+ }
30
+ cleanCache() {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ this.cache = { airdropData: {}, claimableIBEX: {} };
33
+ for (const factory in this.lendingPools) {
34
+ for (const pairAddress in this.lendingPools[factory]) {
35
+ (yield this.lendingPools[factory][pairAddress]).cleanCache();
36
+ }
37
+ }
38
+ for (const vaultAddress in this.lendingVaults) {
39
+ (yield this.lendingVaults[vaultAddress]).cleanCache();
40
+ }
41
+ });
42
+ }
43
+ initializeLendingPool(factory, pair) {
44
+ const lendingPool = this.onchain.getImpermaxFactory(factory).getLendingPool(pair);
45
+ return lendingPool.getNewAccountLendingPoolObject(this);
46
+ }
47
+ getLendingPool(factory, pair) {
48
+ if (!this.lendingPools[factory])
49
+ this.lendingPools[factory] = {};
50
+ const accountLendingPools = this.lendingPools[factory];
51
+ if (!accountLendingPools[pair])
52
+ accountLendingPools[pair] = this.initializeLendingPool(factory, pair);
53
+ return accountLendingPools[pair];
54
+ }
55
+ initializeLendingVault(vaultAddress) {
56
+ const lendingPool = this.onchain.getLendingVault(vaultAddress);
57
+ return new onchainAccountLendingVault_1.default(this, lendingPool);
58
+ }
59
+ getLendingVault(vaultAddress) {
60
+ if (!this.lendingVaults[vaultAddress])
61
+ this.lendingVaults[vaultAddress] = this.initializeLendingVault(vaultAddress);
62
+ return this.lendingVaults[vaultAddress];
63
+ }
64
+ // Mass Available Reward (only supports ImpermaxChef)
65
+ getMassAvailableReward(pairs) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const result = {};
68
+ if (!pairs)
69
+ return result;
70
+ const requests = [];
71
+ for (const factory in pairs) {
72
+ const requestsLocal = [];
73
+ for (const pairAddress of pairs[factory]) {
74
+ requestsLocal.push((yield this.getLendingPool(factory, pairAddress)).getAvailableReward());
75
+ }
76
+ requests.push(Promise.all(requestsLocal));
77
+ }
78
+ const data = yield Promise.all(requests);
79
+ let i = 0;
80
+ for (const factory in pairs) {
81
+ result[factory] = {};
82
+ for (let j = 0; j < pairs[factory].length; j++) {
83
+ result[factory][pairs[factory][j]] = data[i][j];
84
+ }
85
+ i++;
86
+ }
87
+ return result;
88
+ });
89
+ }
90
+ // Airdrop Data
91
+ initializeAirdropData(airdropURL, merkleDistributor) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ if (airdropURL && airdropURL !== '') {
94
+ try {
95
+ const json = yield fetch(airdropURL + '/' + this.accountAddress);
96
+ const data = yield json.json();
97
+ if (data) {
98
+ data.amount = ethers_1.BigNumber.from(data.amount);
99
+ const isClaimed = yield merkleDistributor.methods.isClaimed(data.Account).call();
100
+ if (!isClaimed)
101
+ return data;
102
+ }
103
+ }
104
+ catch (e) { }
105
+ }
106
+ return {
107
+ index: -1,
108
+ amount: null,
109
+ proof: [],
110
+ };
111
+ });
112
+ }
113
+ getAirdropData(airdropURL, merkleDistributor) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ if (!this.cache.airdropData[airdropURL])
116
+ this.cache.airdropData[airdropURL] = this.initializeAirdropData(airdropURL, merkleDistributor);
117
+ return this.cache.airdropData[airdropURL];
118
+ });
119
+ }
120
+ getIbexAirdropData() {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ return this.getAirdropData(merkle_distributors_1.MERKLE_URL_IBEX[this.onchain.network], this.onchain.getContractHelper().merkleDistributorIbex);
123
+ });
124
+ }
125
+ getIbex2AirdropData() {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ return this.getAirdropData(merkle_distributors_1.MERKLE_URL_IBEX_2[this.onchain.network], this.onchain.getContractHelper().merkleDistributorIbex2);
128
+ });
129
+ }
130
+ getEthAirdropData() {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ return this.getAirdropData(merkle_distributors_1.MERKLE_URL_ETH[this.onchain.network], this.onchain.getContractHelper().merkleDistributorEth);
133
+ });
134
+ }
135
+ hasIbexClaimableAirdrop() {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ const airdropData = yield this.getIbexAirdropData();
138
+ if (airdropData.amount)
139
+ return true;
140
+ return false;
141
+ });
142
+ }
143
+ hasEthClaimableAirdrop() {
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ const airdropData = yield this.getEthAirdropData();
146
+ if (airdropData.amount)
147
+ return true;
148
+ return false;
149
+ });
150
+ }
151
+ // Claim Claimable IBEX
152
+ initializeClaimableIBEX(claimableAddress) {
153
+ return __awaiter(this, void 0, void 0, function* () {
154
+ const claimable = this.onchain.getContractHelper().newClaimable(claimableAddress);
155
+ return (yield claimable.methods.claim().call({ from: this.accountAddress })) / 1e18;
156
+ });
157
+ }
158
+ getClaimableIBEX(claimableAddress) {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ if (!this.cache.claimableIBEX[claimableAddress])
161
+ this.cache.claimableIBEX[claimableAddress] = this.initializeClaimableIBEX(claimableAddress);
162
+ return this.cache.claimableIBEX[claimableAddress];
163
+ });
164
+ }
165
+ }
166
+ exports.default = OnchainAccount;
@@ -1,19 +1,19 @@
1
- import OnchainAccountPoolToken from './onchainAccountPoolToken';
2
- import OnchainAccount from './onchainAccount';
3
- import OnchainLendingVault from '../onchainLendingVault';
4
- import OffchainAccountLendingVault from '../../offchain/account/offchainAccountLendingVault';
5
- import OnchainInteractionsLendingVault from '../interactions/onchainInteractionsLendingVault';
6
- export default class OnchainAccountLendingVault extends OnchainAccountPoolToken {
7
- private account;
8
- protected poolToken: OnchainLendingVault;
9
- private lendingVaultCache;
10
- constructor(account: OnchainAccount, lendingVault: OnchainLendingVault);
11
- getVaultAddress: () => string;
12
- getAccount: () => OnchainAccount;
13
- getInteractionsPoolToken(): OnchainInteractionsLendingVault;
14
- getInteractionsLendingVault: () => OnchainInteractionsLendingVault;
15
- getOffchainAccountPoolToken(): Promise<OffchainAccountLendingVault>;
16
- getOffchainAccountLendingVault: () => Promise<OffchainAccountLendingVault>;
17
- cleanCache(): void;
18
- getMaxWithdrawable(): Promise<number>;
19
- }
1
+ import OnchainAccountPoolToken from './onchainAccountPoolToken';
2
+ import OnchainAccount from './onchainAccount';
3
+ import OnchainLendingVault from '../onchainLendingVault';
4
+ import OffchainAccountVault from '../../offchain/account/vault/offchainAccountVault';
5
+ import OnchainInteractionsLendingVault from '../interactions/onchainInteractionsLendingVault';
6
+ export default class OnchainAccountLendingVault extends OnchainAccountPoolToken {
7
+ private account;
8
+ protected poolToken: OnchainLendingVault;
9
+ private lendingVaultCache;
10
+ constructor(account: OnchainAccount, lendingVault: OnchainLendingVault);
11
+ getVaultAddress: () => string;
12
+ getAccount: () => OnchainAccount;
13
+ getInteractionsPoolToken(): OnchainInteractionsLendingVault;
14
+ getInteractionsLendingVault: () => OnchainInteractionsLendingVault;
15
+ getOffchainAccountPoolToken(): Promise<OffchainAccountVault>;
16
+ getOffchainAccountLendingVault: () => Promise<OffchainAccountVault>;
17
+ cleanCache(): void;
18
+ getMaxWithdrawable(): Promise<number>;
19
+ }
@@ -1,48 +1,48 @@
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 onchainAccountPoolToken_1 = __importDefault(require("./onchainAccountPoolToken"));
16
- class OnchainAccountLendingVault extends onchainAccountPoolToken_1.default {
17
- constructor(account, lendingVault) {
18
- super();
19
- this.lendingVaultCache = {};
20
- this.getVaultAddress = () => this.poolToken.getVaultAddress();
21
- this.getAccount = () => this.account;
22
- this.getInteractionsLendingVault = this.getInteractionsPoolToken;
23
- this.getOffchainAccountLendingVault = this.getOffchainAccountPoolToken;
24
- this.account = account;
25
- this.poolToken = lendingVault;
26
- }
27
- getInteractionsPoolToken() {
28
- return this.account.getInteractions().getLendingVault(this.getVaultAddress());
29
- }
30
- getOffchainAccountPoolToken() {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- return this.account.getOffchainAccount().getLendingVault(this.getVaultAddress());
33
- });
34
- }
35
- cleanCache() {
36
- this.cache = {};
37
- this.lendingVaultCache = {};
38
- }
39
- // OnchainInteractions
40
- getMaxWithdrawable() {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- const deposited = (yield this.getDeposited()) * this.getDust();
43
- const availableCash = (yield this.poolToken.getAvailableLiquidity()) * (1 - this.getLiquidityBuffer());
44
- return Math.min(deposited, availableCash);
45
- });
46
- }
47
- }
48
- exports.default = OnchainAccountLendingVault;
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 onchainAccountPoolToken_1 = __importDefault(require("./onchainAccountPoolToken"));
16
+ class OnchainAccountLendingVault extends onchainAccountPoolToken_1.default {
17
+ constructor(account, lendingVault) {
18
+ super();
19
+ this.lendingVaultCache = {};
20
+ this.getVaultAddress = () => this.poolToken.getVaultAddress();
21
+ this.getAccount = () => this.account;
22
+ this.getInteractionsLendingVault = this.getInteractionsPoolToken;
23
+ this.getOffchainAccountLendingVault = this.getOffchainAccountPoolToken;
24
+ this.account = account;
25
+ this.poolToken = lendingVault;
26
+ }
27
+ getInteractionsPoolToken() {
28
+ return this.account.getInteractions().getLendingVault(this.getVaultAddress());
29
+ }
30
+ getOffchainAccountPoolToken() {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ return this.account.getOffchainAccount().getLendingVault(this.getVaultAddress());
33
+ });
34
+ }
35
+ cleanCache() {
36
+ this.cache = {};
37
+ this.lendingVaultCache = {};
38
+ }
39
+ // OnchainInteractions
40
+ getMaxWithdrawable() {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ const deposited = (yield this.getDeposited()) * this.getDust();
43
+ const availableCash = (yield this.poolToken.getAvailableLiquidity()) * (1 - this.getLiquidityBuffer());
44
+ return Math.min(deposited, availableCash);
45
+ });
46
+ }
47
+ }
48
+ exports.default = OnchainAccountLendingVault;
@@ -1,30 +1,30 @@
1
- import OnchainPoolToken from '../onchainPoolToken';
2
- import OnchainAccount from './';
3
- import OnchainInteractionsPoolToken from '../interactions/onchainInteractionsPoolToken';
4
- import OffchainAccountPoolToken from '../../offchain/account/offchainAccountPoolToken';
5
- export default abstract class OnchainAccountPoolToken {
6
- protected poolToken: OnchainPoolToken;
7
- protected cache: {
8
- availableBalance?: Promise<number>;
9
- deposited?: Promise<number>;
10
- };
11
- getPoolToken: () => OnchainPoolToken;
12
- abstract getAccount(): OnchainAccount;
13
- abstract getInteractionsPoolToken(): OnchainInteractionsPoolToken;
14
- abstract getOffchainAccountPoolToken(): Promise<OffchainAccountPoolToken>;
15
- cleanCache(): void;
16
- getAccountAddress: () => string;
17
- getNetwork: () => import("../..").Networks;
18
- getEth: () => any;
19
- getDust: () => number;
20
- getLiquidityBuffer: () => number;
21
- getUiMargin: () => number;
22
- getTokenPriceAccurate: () => Promise<number>;
23
- private initializeAvailableBalance;
24
- getAvailableBalance(): Promise<number>;
25
- getAvailableBalanceUSD(): Promise<number>;
26
- private initializeDeposited;
27
- getDeposited(): Promise<number>;
28
- getDepositedUSD(): Promise<number>;
29
- getMaxWithdrawable(): Promise<number>;
30
- }
1
+ import OnchainPoolToken from '../onchainPoolToken';
2
+ import OnchainAccount from './';
3
+ import OnchainInteractionsPoolToken from '../interactions/onchainInteractionsPoolToken';
4
+ import OffchainAccountPoolToken from '../../offchain/account/offchainAccountPoolToken';
5
+ export default abstract class OnchainAccountPoolToken {
6
+ protected poolToken: OnchainPoolToken;
7
+ protected cache: {
8
+ availableBalance?: Promise<number>;
9
+ deposited?: Promise<number>;
10
+ };
11
+ getPoolToken: () => OnchainPoolToken;
12
+ abstract getAccount(): OnchainAccount;
13
+ abstract getInteractionsPoolToken(): OnchainInteractionsPoolToken;
14
+ abstract getOffchainAccountPoolToken(): Promise<OffchainAccountPoolToken>;
15
+ cleanCache(): void;
16
+ getAccountAddress: () => string;
17
+ getNetwork: () => import("../..").Networks;
18
+ getEth: () => any;
19
+ getDust: () => number;
20
+ getLiquidityBuffer: () => number;
21
+ getUiMargin: () => number;
22
+ getTokenPriceAccurate: () => Promise<number>;
23
+ private initializeAvailableBalance;
24
+ getAvailableBalance(): Promise<number>;
25
+ getAvailableBalanceUSD(): Promise<number>;
26
+ private initializeDeposited;
27
+ getDeposited(): Promise<number>;
28
+ getDepositedUSD(): Promise<number>;
29
+ getMaxWithdrawable(): Promise<number>;
30
+ }