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,20 +1,20 @@
1
- import { IQueryBuilder } from "./interfaces/query-builder";
2
- import { ApolloQueryResult } from "apollo-client";
3
- /**
4
- * Pure utility class to create query builders and transform data
5
- */
6
- export declare class QueryBuilderFactory {
7
- /**
8
- * Gets an API's query builder given an endpoint
9
- */
10
- static getQuery(endpoint: string): IQueryBuilder;
11
- /**
12
- * Ponder does not pluralize like the graph so `factory` becomes `factorys`, etc.
13
- */
14
- static getImpermaxFactory(input: ApolloQueryResult<any>): any;
15
- /**
16
- * Helper to transform nested query results from various apis during apollo fetch.
17
- * Mainly used for Ponder as the graphql schema is different to thegraph due to pagination.
18
- */
19
- static transformData(input: ApolloQueryResult<any>): ApolloQueryResult<any>;
20
- }
1
+ import { IQueryBuilder } from "./interfaces/query-builder";
2
+ import { ApolloQueryResult } from "apollo-client";
3
+ /**
4
+ * Pure utility class to create query builders and transform data
5
+ */
6
+ export declare class QueryBuilderFactory {
7
+ /**
8
+ * Gets an API's query builder given an endpoint
9
+ */
10
+ static getQuery(endpoint: string): IQueryBuilder;
11
+ /**
12
+ * Ponder does not pluralize like the graph so `factory` becomes `factorys`, etc.
13
+ */
14
+ static getImpermaxFactory(input: ApolloQueryResult<any>): any;
15
+ /**
16
+ * Helper to transform nested query results from various apis during apollo fetch.
17
+ * Mainly used for Ponder as the graphql schema is different to thegraph due to pagination.
18
+ */
19
+ static transformData(input: ApolloQueryResult<any>): ApolloQueryResult<any>;
20
+ }
@@ -1,51 +1,51 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QueryBuilderFactory = void 0;
4
- const ponder_1 = require("./apis/ponder");
5
- const thegraph_1 = require("./apis/thegraph");
6
- /**
7
- * Pure utility class to create query builders and transform data
8
- */
9
- class QueryBuilderFactory {
10
- /**
11
- * Gets an API's query builder given an endpoint
12
- */
13
- static getQuery(endpoint) {
14
- if (!endpoint)
15
- return new thegraph_1.TheGraphQueryBuilder();
16
- // 1. Check for Ponder, thegraph for everything else as its our default
17
- if (endpoint.includes("up.railway.app"))
18
- return new ponder_1.PonderQueryBuilder();
19
- return new thegraph_1.TheGraphQueryBuilder();
20
- }
21
- /**
22
- * Ponder does not pluralize like the graph so `factory` becomes `factorys`, etc.
23
- */
24
- static getImpermaxFactory(input) {
25
- return input.data.impermaxFactories ? input.data.impermaxFactories[0] : input.data.impermaxFactorys[0];
26
- }
27
- /**
28
- * Helper to transform nested query results from various apis during apollo fetch.
29
- * Mainly used for Ponder as the graphql schema is different to thegraph due to pagination.
30
- */
31
- static transformData(input) {
32
- const transformValue = (value) => {
33
- if (!value)
34
- return value;
35
- if (Array.isArray(value))
36
- return value.map(transformValue);
37
- if (typeof value === "object") {
38
- const transformed = {};
39
- for (const [key, val] of Object.entries(value)) {
40
- if (key === "items" && Array.isArray(val))
41
- return val.map(transformValue);
42
- transformed[key] = transformValue(val);
43
- }
44
- return transformed;
45
- }
46
- return value;
47
- };
48
- return Object.assign(Object.assign({}, input), { data: transformValue(input.data) });
49
- }
50
- }
51
- exports.QueryBuilderFactory = QueryBuilderFactory;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueryBuilderFactory = void 0;
4
+ const ponder_1 = require("./apis/ponder");
5
+ const thegraph_1 = require("./apis/thegraph");
6
+ /**
7
+ * Pure utility class to create query builders and transform data
8
+ */
9
+ class QueryBuilderFactory {
10
+ /**
11
+ * Gets an API's query builder given an endpoint
12
+ */
13
+ static getQuery(endpoint) {
14
+ if (!endpoint)
15
+ return new thegraph_1.TheGraphQueryBuilder();
16
+ // 1. Check for Ponder, thegraph for everything else as its our default
17
+ if (endpoint.includes("up.railway.app"))
18
+ return new ponder_1.PonderQueryBuilder();
19
+ return new thegraph_1.TheGraphQueryBuilder();
20
+ }
21
+ /**
22
+ * Ponder does not pluralize like the graph so `factory` becomes `factorys`, etc.
23
+ */
24
+ static getImpermaxFactory(input) {
25
+ return input.data.impermaxFactories ? input.data.impermaxFactories[0] : input.data.impermaxFactorys[0];
26
+ }
27
+ /**
28
+ * Helper to transform nested query results from various apis during apollo fetch.
29
+ * Mainly used for Ponder as the graphql schema is different to thegraph due to pagination.
30
+ */
31
+ static transformData(input) {
32
+ const transformValue = (value) => {
33
+ if (!value)
34
+ return value;
35
+ if (Array.isArray(value))
36
+ return value.map(transformValue);
37
+ if (typeof value === "object") {
38
+ const transformed = {};
39
+ for (const [key, val] of Object.entries(value)) {
40
+ if (key === "items" && Array.isArray(val))
41
+ return val.map(transformValue);
42
+ transformed[key] = transformValue(val);
43
+ }
44
+ return transformed;
45
+ }
46
+ return value;
47
+ };
48
+ return Object.assign(Object.assign({}, input), { data: transformValue(input.data) });
49
+ }
50
+ }
51
+ exports.QueryBuilderFactory = QueryBuilderFactory;
@@ -1,19 +1,19 @@
1
- import { DocumentNode } from 'graphql';
2
- import { Address, Factory, Networks } from '../../../config/types';
3
- export interface IQueryBuilder {
4
- blockQuery(timestamp: number): DocumentNode;
5
- getBlockNumber: (response: any, network: Networks) => number;
6
- lendingPoolsQuery(factory: Factory, addressesFilter: Address[], network: Networks): DocumentNode;
7
- userQuery(account: Address, network: Networks, factory: Factory): DocumentNode;
8
- tvlQuery(): DocumentNode;
9
- lendingVaultsQuery(addressesFilter: Address[]): DocumentNode;
10
- lendingVaultsUserQuery(account: Address): DocumentNode;
11
- proposalsMetaQuery(rangeBegin: number, rangeLength: number, descending: boolean): DocumentNode;
12
- proposalQuery(id: number): DocumentNode;
13
- ximxQuery(): DocumentNode;
14
- lendingPoolsPastQuery?(blockNumber: number, addressesFilter: Address[]): DocumentNode;
15
- impermaxChefQuery?(): DocumentNode;
16
- whitelistQuery?(): DocumentNode;
17
- currentVolumeAndReservesQuery?(addressesFilter: Address[]): DocumentNode;
18
- pastVolumeQuery?(blockNumber: number, addressesFilter: Address[]): DocumentNode;
19
- }
1
+ import { DocumentNode } from 'graphql';
2
+ import { Address, Factory, Networks } from '../../../config/types';
3
+ export interface IQueryBuilder {
4
+ blockQuery(timestamp: number): DocumentNode;
5
+ getBlockNumber: (response: any, network: Networks) => number;
6
+ lendingPoolsQuery(factory: Factory, addressesFilter: Address[], network: Networks): DocumentNode;
7
+ userQuery(account: Address, network: Networks, factory: Factory): DocumentNode;
8
+ tvlQuery(): DocumentNode;
9
+ lendingVaultsQuery(addressesFilter: Address[]): DocumentNode;
10
+ lendingVaultsUserQuery(account: Address): DocumentNode;
11
+ proposalsMetaQuery(rangeBegin: number, rangeLength: number, descending: boolean): DocumentNode;
12
+ proposalQuery(id: number): DocumentNode;
13
+ ximxQuery(): DocumentNode;
14
+ lendingPoolsPastQuery?(blockNumber: number, addressesFilter: Address[]): DocumentNode;
15
+ impermaxChefQuery?(): DocumentNode;
16
+ whitelistQuery?(): DocumentNode;
17
+ currentVolumeAndReservesQuery?(addressesFilter: Address[]): DocumentNode;
18
+ pastVolumeQuery?(blockNumber: number, addressesFilter: Address[]): DocumentNode;
19
+ }
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,9 +1,9 @@
1
- // Make transformer for each api if needed
2
- //
3
- // export interface IResponseTransformer {
4
- // transformBlockData(data: any): any;
5
- // transformLendingPoolsData(data: any): any;
6
- // transformLendingVaultData(data: any): any;
7
- // transformTVLData(data: any): any;
8
- // transformUserData(data: any): any;
9
- // }
1
+ // Make transformer for each api if needed
2
+ //
3
+ // export interface IResponseTransformer {
4
+ // transformBlockData(data: any): any;
5
+ // transformLendingPoolsData(data: any): any;
6
+ // transformLendingVaultData(data: any): any;
7
+ // transformTVLData(data: any): any;
8
+ // transformUserData(data: any): any;
9
+ // }
@@ -0,0 +1,15 @@
1
+ import { Address, Factory } from '../config/types';
2
+ export declare function blockQuery(timestamp: number): import("graphql").DocumentNode;
3
+ export declare function lendingPoolsQuery(factory: Factory, addressesFilter: Address[]): import("graphql").DocumentNode;
4
+ export declare function lendingPoolsPastQuery(blockNumber: number, addressesFilter: Address[]): import("graphql").DocumentNode;
5
+ export declare function impermaxChefQuery(): import("graphql").DocumentNode;
6
+ export declare function pastVolumeQuery(blockNumber: number, addressesFilter: Address[]): import("graphql").DocumentNode;
7
+ export declare function currentVolumeAndReservesQuery(addressesFilter: Address[]): import("graphql").DocumentNode;
8
+ export declare function tvlQuery(): import("graphql").DocumentNode;
9
+ export declare function userQuery(account: Address): import("graphql").DocumentNode;
10
+ export declare function ximxQuery(): import("graphql").DocumentNode;
11
+ export declare function lendingVaultsQuery(addressesFilter: Address[]): import("graphql").DocumentNode;
12
+ export declare function lendingVaultsUserQuery(account: Address): import("graphql").DocumentNode;
13
+ export declare function proposalsMetaQuery(rangeBegin: any, rangeLength: any, descending: any): import("graphql").DocumentNode;
14
+ export declare function proposalQuery(id: number): import("graphql").DocumentNode;
15
+ export declare function whitelistQuery(): import("graphql").DocumentNode;
@@ -0,0 +1,323 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.whitelistQuery = exports.proposalQuery = exports.proposalsMetaQuery = exports.lendingVaultsUserQuery = exports.lendingVaultsQuery = exports.ximxQuery = exports.userQuery = exports.tvlQuery = exports.currentVolumeAndReservesQuery = exports.pastVolumeQuery = exports.impermaxChefQuery = exports.lendingPoolsPastQuery = exports.lendingPoolsQuery = exports.blockQuery = void 0;
7
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
8
+ const factories_1 = require("../config/factories");
9
+ function blockQuery(timestamp) {
10
+ return (0, graphql_tag_1.default) `{
11
+ blocks (first: 1, orderBy: timestamp, orderDirection: desc, where: { timestamp_gt: ${timestamp}, timestamp_lt: ${timestamp + 600} }) {
12
+ number
13
+ }
14
+ _meta {
15
+ block {
16
+ number
17
+ }
18
+ }
19
+ }`;
20
+ }
21
+ exports.blockQuery = blockQuery;
22
+ function lendingPoolsQuery(factory, addressesFilter) {
23
+ const tokenStr = `{
24
+ id
25
+ symbol
26
+ name
27
+ decimals
28
+ derivedUSD
29
+ }`;
30
+ const distributorStr = `{
31
+ id
32
+ }`;
33
+ const farmingPoolStr = `{
34
+ epochAmount
35
+ epochBegin
36
+ segmentLength
37
+ vestingBegin
38
+ sharePercentage
39
+ distributor ${distributorStr}
40
+ }`;
41
+ const borrowableStr = `{
42
+ id
43
+ underlying ${tokenStr}
44
+ totalBalance
45
+ totalBorrows
46
+ borrowRate
47
+ reserveFactor
48
+ kinkBorrowRate
49
+ kinkUtilizationRate
50
+ adjustSpeed
51
+ borrowIndex
52
+ accrualTimestamp
53
+ exchangeRate
54
+ totalBalanceUSD
55
+ totalSupplyUSD
56
+ totalBorrowsUSD
57
+ borrowTracker
58
+ farmingPool ${farmingPoolStr}
59
+ }`;
60
+ const collateralStr = `{
61
+ id
62
+ totalBalance
63
+ totalBalanceUSD
64
+ safetyMargin
65
+ liquidationIncentive
66
+ ${factories_1.LIQUIDATION_FEE_FACTORIES.includes(factory) ? "liquidationFee" : ""}
67
+ exchangeRate
68
+ }`;
69
+ const pairStr = `{
70
+ factory
71
+ reserve0
72
+ reserve1
73
+ totalSupply
74
+ reserveUSD
75
+ token0Price
76
+ token1Price
77
+ derivedUSD
78
+ uniswapV2PairAddress
79
+ uniswapV2Factory
80
+ isStakedLPToken
81
+ exchangeRate
82
+ stakingRewards
83
+ masterChef
84
+ pid
85
+ stakedTotalSupply
86
+ rewards {
87
+ id
88
+ rewardRate
89
+ rewardsToken ${tokenStr}
90
+ periodFinish
91
+ }
92
+ }`;
93
+ const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
94
+ return (0, graphql_tag_1.default) `{
95
+ lendingPools(first: 1000, orderBy: totalBorrowsUSD, orderDirection: desc ${id_in_string}) {
96
+ id
97
+ borrowable0 ${borrowableStr}
98
+ borrowable1 ${borrowableStr}
99
+ collateral ${collateralStr}
100
+ pair ${pairStr}
101
+ }
102
+ _meta {
103
+ block {
104
+ number
105
+ }
106
+ hasIndexingErrors
107
+ }
108
+ }`;
109
+ }
110
+ exports.lendingPoolsQuery = lendingPoolsQuery;
111
+ function lendingPoolsPastQuery(blockNumber, addressesFilter) {
112
+ const borrowablePastStr = `{
113
+ borrowIndex
114
+ accrualTimestamp
115
+ exchangeRate
116
+ }`;
117
+ const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
118
+ return (0, graphql_tag_1.default) `{
119
+ lendingPools(first: 1000, orderBy: totalBorrowsUSD, orderDirection: desc, block: {number: ${blockNumber}} ${id_in_string}) {
120
+ id
121
+ borrowable0 ${borrowablePastStr}
122
+ borrowable1 ${borrowablePastStr}
123
+ }
124
+ }`;
125
+ }
126
+ exports.lendingPoolsPastQuery = lendingPoolsPastQuery;
127
+ function impermaxChefQuery() {
128
+ return (0, graphql_tag_1.default) `{
129
+ impermaxChefs(first: 1) {
130
+ id
131
+ rewardToken
132
+ rewardPerSec
133
+ totalAllocPoint
134
+ }
135
+ pools(first: 1000) {
136
+ id
137
+ allocPoint
138
+ rewarder {id}
139
+ }
140
+ impermaxRewarders(first: 1000) {
141
+ rewardToken
142
+ rewardPerSec
143
+ totalAllocPoint
144
+ pools(first: 1000) {
145
+ borrowable
146
+ allocPoint
147
+ }
148
+ }
149
+ }`;
150
+ }
151
+ exports.impermaxChefQuery = impermaxChefQuery;
152
+ function pastVolumeQuery(blockNumber, addressesFilter) {
153
+ const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
154
+ return (0, graphql_tag_1.default) `{
155
+ pairs (block: {number: ${blockNumber}} ${id_in_string}) {
156
+ id
157
+ volumeUSD
158
+ }
159
+ }`;
160
+ }
161
+ exports.pastVolumeQuery = pastVolumeQuery;
162
+ function currentVolumeAndReservesQuery(addressesFilter) {
163
+ const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
164
+ return (0, graphql_tag_1.default) `{
165
+ pairs (${id_in_string}) {
166
+ id
167
+ reserveUSD
168
+ volumeUSD
169
+ }
170
+ }`;
171
+ }
172
+ exports.currentVolumeAndReservesQuery = currentVolumeAndReservesQuery;
173
+ function tvlQuery() {
174
+ return (0, graphql_tag_1.default) `{
175
+ impermaxFactories(first: 1) {
176
+ totalBalanceUSD
177
+ totalSupplyUSD
178
+ totalBorrowsUSD
179
+ }
180
+ }`;
181
+ }
182
+ exports.tvlQuery = tvlQuery;
183
+ function userQuery(account) {
184
+ return (0, graphql_tag_1.default) `{
185
+ user(id: "${account.toLowerCase()}") {
186
+ collateralPositions(first:1000) {
187
+ balance
188
+ collateral {
189
+ lendingPool {
190
+ id
191
+ }
192
+ }
193
+ }
194
+ supplyPositions(first:1000) {
195
+ balance
196
+ borrowable {
197
+ underlying {
198
+ id
199
+ }
200
+ lendingPool {
201
+ id
202
+ }
203
+ }
204
+ }
205
+ borrowPositions(first:1000) {
206
+ borrowBalance
207
+ borrowIndex
208
+ borrowable {
209
+ underlying {
210
+ id
211
+ }
212
+ lendingPool {
213
+ id
214
+ }
215
+ }
216
+ }
217
+ }
218
+ }`;
219
+ }
220
+ exports.userQuery = userQuery;
221
+ function ximxQuery() {
222
+ return (0, graphql_tag_1.default) `{
223
+ ximxes(first: 1) {
224
+ totalSupply
225
+ totalBalance
226
+ exchangeRate
227
+ dailyAPR
228
+ }
229
+ }`;
230
+ }
231
+ exports.ximxQuery = ximxQuery;
232
+ function lendingVaultsQuery(addressesFilter) {
233
+ const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
234
+ return (0, graphql_tag_1.default) `{
235
+ lendingVaults(first: 1000 ${id_in_string}) {
236
+ id
237
+ underlying {
238
+ id
239
+ symbol
240
+ name
241
+ decimals
242
+ }
243
+ totalBalance
244
+ totalSupply
245
+ supplyRate
246
+ reserveFactor
247
+ exchangeRate
248
+ availableLiquidity
249
+ lastUpdate
250
+ }
251
+ _meta {
252
+ block {
253
+ number
254
+ }
255
+ hasIndexingErrors
256
+ }
257
+ }`;
258
+ }
259
+ exports.lendingVaultsQuery = lendingVaultsQuery;
260
+ function lendingVaultsUserQuery(account) {
261
+ return (0, graphql_tag_1.default) `{
262
+ user(id: "${account.toLowerCase()}") {
263
+ positions(first:1000) {
264
+ tokenBalance
265
+ lastExchangeRate
266
+ cumulativeEarnings
267
+ lendingVault {
268
+ id
269
+ }
270
+ }
271
+ }
272
+ }`;
273
+ }
274
+ exports.lendingVaultsUserQuery = lendingVaultsUserQuery;
275
+ function proposalsMetaQuery(rangeBegin, rangeLength, descending) {
276
+ return (0, graphql_tag_1.default) `{
277
+ proposals(
278
+ orderBy: idInt,
279
+ orderDirection: ${descending ? "desc" : "asc"},
280
+ first: ${rangeLength},
281
+ skip: ${rangeBegin}
282
+ ) {
283
+ id
284
+ state
285
+ }
286
+ }`;
287
+ }
288
+ exports.proposalsMetaQuery = proposalsMetaQuery;
289
+ function proposalQuery(id) {
290
+ return (0, graphql_tag_1.default) `{
291
+ proposal(id:${id}) {
292
+ id
293
+ state
294
+ pairConfig {
295
+ factory
296
+ pair
297
+ safetyMarginSqrt
298
+ liquidationIncentive
299
+ liquidationFee
300
+ reserveFactor0
301
+ reserveFactor1
302
+ kinkUtilizationRate0
303
+ kinkUtilizationRate1
304
+ adjustSpeed0
305
+ adjustSpeed1
306
+ borrowTracker0
307
+ borrowTracker1
308
+ whiteListState
309
+ }
310
+ }
311
+ }`;
312
+ }
313
+ exports.proposalQuery = proposalQuery;
314
+ function whitelistQuery() {
315
+ return (0, graphql_tag_1.default) `{
316
+ whitelistStates(first:1000) {
317
+ factory
318
+ pair
319
+ state
320
+ }
321
+ }`;
322
+ }
323
+ exports.whitelistQuery = whitelistQuery;
@@ -0,0 +1,16 @@
1
+ import Offchain from "./index";
2
+ import { Address } from "../config/types";
3
+ export type SolidexLPDetails = {
4
+ [key in Address]: Array<{
5
+ APR: number;
6
+ symbol: string;
7
+ }>;
8
+ };
9
+ export default class SolidexHelper {
10
+ offchain: Offchain;
11
+ solidexLPDetails: Promise<SolidexLPDetails> | null;
12
+ constructor(offchain: Offchain);
13
+ cleanCache(): void;
14
+ private initializeSolidexLPDetails;
15
+ getSolidexLPDetails(): Promise<SolidexLPDetails>;
16
+ }
@@ -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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ class SolidexHelper {
13
+ constructor(offchain) {
14
+ this.offchain = offchain;
15
+ }
16
+ cleanCache() {
17
+ this.solidexLPDetails = null;
18
+ }
19
+ initializeSolidexLPDetails() {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ try {
22
+ const response = yield fetch("https://api.solidexfinance.com/api/getLPDetails?v=fantom");
23
+ if (response.status != 200)
24
+ return {};
25
+ const data = yield response.json();
26
+ if (!data || !data.success)
27
+ return {};
28
+ const solidexLPDetails = {};
29
+ for (const pool of data.data.poolDetailsAll) {
30
+ if (!pool.solidexTVL)
31
+ continue;
32
+ solidexLPDetails[pool.poolAddress.toLowerCase()] = [
33
+ {
34
+ APR: pool.solidexTVL.realsolidAPR / 100,
35
+ symbol: "SOLID",
36
+ },
37
+ {
38
+ APR: pool.solidexTVL.realsexAPR / 100,
39
+ symbol: "SEX",
40
+ },
41
+ ];
42
+ }
43
+ return solidexLPDetails;
44
+ }
45
+ catch (e) {
46
+ return {};
47
+ }
48
+ });
49
+ }
50
+ getSolidexLPDetails() {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ if (!this.solidexLPDetails)
53
+ this.solidexLPDetails = this.initializeSolidexLPDetails();
54
+ return this.solidexLPDetails;
55
+ });
56
+ }
57
+ }
58
+ exports.default = SolidexHelper;