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,69 +1,69 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const onchainPoolToken_1 = __importDefault(require("./onchainPoolToken"));
16
- const lending_vault_watcher_1 = require("../config/contracts/lending-vault-watcher");
17
- class OnchainLendingVault extends onchainPoolToken_1.default {
18
- constructor(onchain, vaultAddress) {
19
- super();
20
- this.lendingVaultCache = {};
21
- this.getOnchain = () => this.onchain;
22
- this.getVaultAddress = () => this.vaultAddress;
23
- this.getContractHelper = () => this.onchain.getContractHelper();
24
- this.getOffchainLendingVault = this.getOffchainPoolToken;
25
- this.onchain = onchain;
26
- this.vaultAddress = vaultAddress;
27
- }
28
- cleanCache() {
29
- this.cache = {};
30
- this.lendingVaultCache = {};
31
- }
32
- getPoolTokenAddress() {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- return this.vaultAddress;
35
- });
36
- }
37
- getOffchainPoolToken() {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- return yield this.onchain.getOffchain().getLendingVault(this.vaultAddress);
40
- });
41
- }
42
- initializePoolToken() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- return this.getContractHelper().newLendingVault(yield this.getPoolTokenAddress());
45
- });
46
- }
47
- initializeToken() {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- const poolToken = yield this.getPoolToken();
50
- return this.getContractHelper().newERC20(yield poolToken.methods.underlying().call());
51
- });
52
- }
53
- // Available Liquidity
54
- initializeAvailableLiquidity() {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- const lendingVaultWatcher = this.onchain.getContractHelper().newLendingVaultWatcher(lending_vault_watcher_1.LENDING_VAULT_WATCHER[this.onchain.network]);
57
- const amount = yield lendingVaultWatcher.methods.getAvailableLiquidity(this.vaultAddress).call();
58
- return this.normalize(amount);
59
- });
60
- }
61
- getAvailableLiquidity() {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- if (!this.lendingVaultCache.availableLiquidity)
64
- this.lendingVaultCache.availableLiquidity = this.initializeAvailableLiquidity();
65
- return this.lendingVaultCache.availableLiquidity;
66
- });
67
- }
68
- }
69
- exports.default = OnchainLendingVault;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const onchainPoolToken_1 = __importDefault(require("./onchainPoolToken"));
16
+ const lending_vault_watcher_1 = require("../config/contracts/lending-vault-watcher");
17
+ class OnchainLendingVault extends onchainPoolToken_1.default {
18
+ constructor(onchain, vaultAddress) {
19
+ super();
20
+ this.lendingVaultCache = {};
21
+ this.getOnchain = () => this.onchain;
22
+ this.getVaultAddress = () => this.vaultAddress;
23
+ this.getContractHelper = () => this.onchain.getContractHelper();
24
+ this.getOffchainLendingVault = this.getOffchainPoolToken;
25
+ this.onchain = onchain;
26
+ this.vaultAddress = vaultAddress;
27
+ }
28
+ cleanCache() {
29
+ this.cache = {};
30
+ this.lendingVaultCache = {};
31
+ }
32
+ getPoolTokenAddress() {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ return this.vaultAddress;
35
+ });
36
+ }
37
+ getOffchainPoolToken() {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ return yield this.onchain.getOffchain().getLendingVault(this.vaultAddress);
40
+ });
41
+ }
42
+ initializePoolToken() {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ return this.getContractHelper().newLendingVault(yield this.getPoolTokenAddress());
45
+ });
46
+ }
47
+ initializeToken() {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ const poolToken = yield this.getPoolToken();
50
+ return this.getContractHelper().newERC20(yield poolToken.methods.underlying().call());
51
+ });
52
+ }
53
+ // Available Liquidity
54
+ initializeAvailableLiquidity() {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const lendingVaultWatcher = this.onchain.getContractHelper().newLendingVaultWatcher(lending_vault_watcher_1.LENDING_VAULT_WATCHER[this.onchain.network]);
57
+ const amount = yield lendingVaultWatcher.methods.getAvailableLiquidity(this.vaultAddress).call();
58
+ return this.normalize(amount);
59
+ });
60
+ }
61
+ getAvailableLiquidity() {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ if (!this.lendingVaultCache.availableLiquidity)
64
+ this.lendingVaultCache.availableLiquidity = this.initializeAvailableLiquidity();
65
+ return this.lendingVaultCache.availableLiquidity;
66
+ });
67
+ }
68
+ }
69
+ exports.default = OnchainLendingVault;
@@ -0,0 +1,21 @@
1
+ import { Contract, Permit, Permits } from "./onchainTypes";
2
+ import Onchain from "./index";
3
+ import { Address } from '../config/types';
4
+ import { BigNumber } from "ethers";
5
+ export default class OnchainPermitHelper {
6
+ private readonly onchain;
7
+ private readonly permit2;
8
+ private readonly deadline;
9
+ constructor(onchain: Onchain);
10
+ encodePermits(permits: Permits): string;
11
+ private getDomainPermit1;
12
+ private getDomainPermit2;
13
+ private getTokenPermitJSONData;
14
+ private getBorrowPermitJSONData;
15
+ private getNftPermitJSONData;
16
+ private getPermit2SingleJSONData;
17
+ private getSignature;
18
+ getTokenPermit(token: Contract, owner: Address, spender: Address, value: BigNumber, callBack: (permit: Permit | null) => void): Promise<void>;
19
+ getNftPermit(token: Contract, owner: Address, spender: Address, tokenId: BigNumber, callBack: (permit: Permit | null) => void): Promise<void>;
20
+ getPermit2Single(token: Contract, owner: Address, spender: Address, value: BigNumber, callBack: (permit: Permit | null) => void): Promise<void>;
21
+ }
@@ -0,0 +1,198 @@
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
+ const ethers_1 = require("ethers");
13
+ const general_1 = require("../config/general");
14
+ const PERMIT2_ADDRESS = "0x000000000022D473030F116dDEE9F6B43aC78BA3";
15
+ const EIP712_DOMAIN = [
16
+ { name: "name", type: "string" },
17
+ { name: "version", type: "string" },
18
+ { name: "chainId", type: "uint256" },
19
+ { name: "verifyingContract", type: "address" },
20
+ ];
21
+ const PERMIT2_DOMAIN = [
22
+ { name: "name", type: "string" },
23
+ { name: "chainId", type: "uint256" },
24
+ { name: "verifyingContract", type: "address" },
25
+ ];
26
+ const PERMIT = [
27
+ { name: "owner", type: "address" },
28
+ { name: "spender", type: "address" },
29
+ { name: "value", type: "uint256" },
30
+ { name: "nonce", type: "uint256" },
31
+ { name: "deadline", type: "uint256" },
32
+ ];
33
+ const NFT_PERMIT = [
34
+ { name: "spender", type: "address" },
35
+ { name: "tokenId", type: "uint256" },
36
+ { name: "nonce", type: "uint256" },
37
+ { name: "deadline", type: "uint256" },
38
+ ];
39
+ const PERMIT2_DETAILS = [
40
+ { name: "token", type: "address" },
41
+ { name: "amount", type: "uint160" },
42
+ { name: "expiration", type: "uint48" },
43
+ { name: "nonce", type: "uint48" },
44
+ ];
45
+ const PERMIT2_SINGLE = [
46
+ { name: "details", type: PERMIT2_DETAILS },
47
+ { name: "spender", type: "address" },
48
+ { name: "sigDeadline", type: "uint256" },
49
+ ];
50
+ const TYPES = {
51
+ EIP712Domain: EIP712_DOMAIN,
52
+ Permit2Domain: PERMIT2_DOMAIN,
53
+ TokenPermit: PERMIT,
54
+ BorrowPermit: PERMIT,
55
+ NftPermit: NFT_PERMIT,
56
+ PermitDetails: PERMIT2_DETAILS,
57
+ PermitSingle: PERMIT2_SINGLE,
58
+ };
59
+ class OnchainPermitHelper {
60
+ // TODO crate new router for V2 otherwise borrowPermit will stop working
61
+ constructor(onchain) {
62
+ this.deadline = general_1.DEADLINE.toString();
63
+ this.getDomainPermit1 = (contract) => __awaiter(this, void 0, void 0, function* () {
64
+ return ({
65
+ name: yield contract.methods.name().call(),
66
+ version: "1",
67
+ chainId: this.onchain.chainId,
68
+ verifyingContract: contract._address,
69
+ });
70
+ });
71
+ this.getDomainPermit2 = () => ({
72
+ name: 'Permit2',
73
+ chainId: this.onchain.chainId,
74
+ verifyingContract: this.permit2._address,
75
+ });
76
+ this.onchain = onchain;
77
+ this.permit2 = onchain.getContractHelper().newPermit2(PERMIT2_ADDRESS);
78
+ }
79
+ encodePermits(permits) {
80
+ if (permits.length == 0 || !permits[0].signature)
81
+ permits = [];
82
+ return ethers_1.ethers.utils.defaultAbiCoder.encode(['tuple(uint256 permitType, bytes permitData, bytes signature)[]'], [permits]);
83
+ }
84
+ getTokenPermitJSONData(contract, message) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const domain = yield this.getDomainPermit1(contract);
87
+ const primaryType = "TokenPermit";
88
+ return JSON.stringify({ types: TYPES, domain, primaryType, message });
89
+ });
90
+ }
91
+ getBorrowPermitJSONData(contract, message) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ const domain = yield this.getDomainPermit1(contract);
94
+ const primaryType = "BorrowPermit";
95
+ return JSON.stringify({ types: TYPES, domain, primaryType, message });
96
+ });
97
+ }
98
+ getNftPermitJSONData(contract, message) {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ const domain = yield this.getDomainPermit1(contract);
101
+ const primaryType = "NftPermit";
102
+ return JSON.stringify({ types: TYPES, domain, primaryType, message });
103
+ });
104
+ }
105
+ getPermit2SingleJSONData(message) {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ const domain = this.getDomainPermit2();
108
+ const primaryType = "PermitSingle";
109
+ return JSON.stringify({ types: TYPES, domain, primaryType, message });
110
+ });
111
+ }
112
+ getSignature(owner, jsonData, callBack) {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ this.onchain.web3.currentProvider.send({
115
+ method: "eth_signTypedData_v4",
116
+ params: [owner, jsonData],
117
+ from: owner
118
+ }, (err, data) => {
119
+ if (err) {
120
+ console.error(err);
121
+ return callBack(null);
122
+ }
123
+ callBack(data.result);
124
+ });
125
+ });
126
+ }
127
+ getTokenPermit(token, owner, spender, value, callBack) {
128
+ return __awaiter(this, void 0, void 0, function* () {
129
+ const nonce = yield token.methods.nonces(owner).call();
130
+ const jsonData = yield this.getTokenPermitJSONData(token, {
131
+ owner,
132
+ spender,
133
+ value: value.toString(),
134
+ nonce: ethers_1.BigNumber.from(nonce).toHexString(),
135
+ deadline: this.deadline,
136
+ });
137
+ this.getSignature(owner, jsonData, (signature) => {
138
+ if (!signature)
139
+ return callBack(null);
140
+ callBack({
141
+ permitType: '0',
142
+ permitData: ethers_1.ethers.utils.defaultAbiCoder.encode(['address', 'uint256', 'uint256'], [token.address, value.toString(), this.deadline]),
143
+ signature
144
+ });
145
+ });
146
+ });
147
+ }
148
+ getNftPermit(token, owner, spender, tokenId, callBack) {
149
+ return __awaiter(this, void 0, void 0, function* () {
150
+ const nonce = yield token.methods.nonces(tokenId).call();
151
+ const jsonData = yield this.getNftPermitJSONData(token, {
152
+ spender,
153
+ tokenId: tokenId.toString(),
154
+ nonce: ethers_1.BigNumber.from(nonce).toHexString(),
155
+ deadline: this.deadline,
156
+ });
157
+ this.getSignature(owner, jsonData, (signature) => {
158
+ if (!signature)
159
+ return callBack(null);
160
+ callBack({
161
+ permitType: '1',
162
+ permitData: ethers_1.ethers.utils.defaultAbiCoder.encode(['address', 'uint256', 'uint256'], [token.address, tokenId.toString(), this.deadline]),
163
+ signature
164
+ });
165
+ });
166
+ });
167
+ }
168
+ getPermit2Single(token, owner, spender, value, callBack) {
169
+ return __awaiter(this, void 0, void 0, function* () {
170
+ const allowanceData = yield this.permit2.methods.allowance(owner, token.address, spender);
171
+ if (!allowanceData)
172
+ return callBack(null);
173
+ const nonce = allowanceData.nonce;
174
+ const permitDetailsType = 'tuple(address tokenAddress, uint160 amount, uint48 expiration, uint48 nonce)';
175
+ const details = {
176
+ token: token._address,
177
+ amount: value.toString(),
178
+ expiration: this.deadline,
179
+ nonce: ethers_1.BigNumber.from(nonce).toHexString(),
180
+ };
181
+ const jsonData = yield this.getPermit2SingleJSONData({
182
+ details,
183
+ spender,
184
+ sigDeadline: this.deadline,
185
+ });
186
+ this.getSignature(owner, jsonData, (signature) => {
187
+ if (!signature)
188
+ return callBack(null);
189
+ callBack({
190
+ permitType: '2',
191
+ permitData: ethers_1.ethers.utils.defaultAbiCoder.encode([permitDetailsType, 'address', 'uint256'], [token, spender, this.deadline]),
192
+ signature
193
+ });
194
+ });
195
+ });
196
+ }
197
+ }
198
+ exports.default = OnchainPermitHelper;
@@ -1,35 +1,35 @@
1
- import { BigNumber } from "ethers";
2
- import { Contract } from "./onchainTypes";
3
- import { Address } from '../config/types';
4
- import OffchainPoolToken from '../offchain/offchainPoolToken';
5
- export default abstract class OnchainPoolToken {
6
- protected cache: {
7
- token?: Promise<Contract>;
8
- poolToken?: Promise<Contract>;
9
- exchangeRate?: Promise<number>;
10
- totalBalance?: Promise<number>;
11
- };
12
- protected lockedCache: {
13
- exchangeRate?: Promise<number>;
14
- };
15
- cleanCache(): void;
16
- abstract getOffchainPoolToken(): Promise<OffchainPoolToken>;
17
- abstract getPoolTokenAddress(): Promise<Address>;
18
- protected abstract initializePoolToken(): Promise<Contract>;
19
- getPoolToken(): Promise<any>;
20
- protected abstract initializeToken(): Promise<Contract>;
21
- getToken(): Promise<any>;
22
- getTokenAddress(): Promise<any>;
23
- getDecimals(): Promise<number>;
24
- normalize(amount: number): Promise<number>;
25
- toBigNumber(amount: number): Promise<BigNumber | null>;
26
- toNumber(amount: BigNumber): Promise<number | null>;
27
- toTokens(amount: number): Promise<BigNumber | null>;
28
- fromTokens(amount: BigNumber): Promise<number | null>;
29
- private initializeTotalBalance;
30
- getTotalBalance(): Promise<number>;
31
- getTotalBalanceUSD(): Promise<number>;
32
- protected initializeExchangeRate(): Promise<number>;
33
- getExchangeRate(): Promise<number>;
34
- getLockedExchangeRate(): Promise<number>;
35
- }
1
+ import { BigNumber } from "ethers";
2
+ import { Contract } from "./onchainTypes";
3
+ import { Address } from '../config/types';
4
+ import OffchainPoolToken from '../offchain/offchainPoolToken';
5
+ export default abstract class OnchainPoolToken {
6
+ protected cache: {
7
+ token?: Promise<Contract>;
8
+ poolToken?: Promise<Contract>;
9
+ exchangeRate?: Promise<number>;
10
+ totalBalance?: Promise<number>;
11
+ };
12
+ protected lockedCache: {
13
+ exchangeRate?: Promise<number>;
14
+ };
15
+ cleanCache(): void;
16
+ abstract getOffchainPoolToken(): Promise<OffchainPoolToken>;
17
+ abstract getPoolTokenAddress(): Promise<Address>;
18
+ protected abstract initializePoolToken(): Promise<Contract>;
19
+ getPoolToken(): Promise<any>;
20
+ protected abstract initializeToken(): Promise<Contract>;
21
+ getToken(): Promise<any>;
22
+ getTokenAddress(): Promise<any>;
23
+ getDecimals(): Promise<number>;
24
+ normalize(amount: number): Promise<number>;
25
+ toBigNumber(amount: number): Promise<BigNumber | null>;
26
+ toNumber(amount: BigNumber): Promise<number | null>;
27
+ toTokens(amount: number): Promise<BigNumber | null>;
28
+ fromTokens(amount: BigNumber): Promise<number | null>;
29
+ private initializeTotalBalance;
30
+ getTotalBalance(): Promise<number>;
31
+ getTotalBalanceUSD(): Promise<number>;
32
+ protected initializeExchangeRate(): Promise<number>;
33
+ getExchangeRate(): Promise<number>;
34
+ getLockedExchangeRate(): Promise<number>;
35
+ }