@gearbox-protocol/sdk 3.0.0-next.5 → 3.0.0-next.50

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 (264) hide show
  1. package/contracts/IAirdropDistributor.sol +55 -0
  2. package/contracts/IDegenDistributor.sol +28 -0
  3. package/contracts/IOffchainOracle.sol +17 -0
  4. package/contracts/IWETHGateway.sol +33 -0
  5. package/contracts/IwstETHGateway.sol +24 -0
  6. package/contracts/index.sol +11 -3
  7. package/lib/apy/curveAPY.js +2 -1
  8. package/lib/apy/index.d.ts +2 -2
  9. package/lib/apy/yearnAPY.js +1 -1
  10. package/lib/config.d.ts +0 -1
  11. package/lib/config.js +1 -2
  12. package/lib/core/assets.d.ts +4 -4
  13. package/lib/core/assets.js +28 -17
  14. package/lib/core/creditAccount.d.ts +31 -6
  15. package/lib/core/creditAccount.js +101 -37
  16. package/lib/core/creditAccount.spec.js +693 -10
  17. package/lib/core/creditManager.d.ts +22 -8
  18. package/lib/core/creditManager.js +86 -30
  19. package/lib/core/events.js +14 -14
  20. package/lib/core/gauge.d.ts +26 -0
  21. package/lib/core/gauge.js +63 -0
  22. package/lib/core/gaugeMath.d.ts +40 -0
  23. package/lib/core/gaugeMath.js +108 -0
  24. package/lib/core/gaugeMath.spec.d.ts +1 -0
  25. package/lib/core/gaugeMath.spec.js +388 -0
  26. package/lib/core/{pool/data.d.ts → pool.d.ts} +18 -10
  27. package/lib/core/{pool/data.js → pool.js} +69 -24
  28. package/lib/core/strategy.js +2 -2
  29. package/lib/core/trade.d.ts +5 -23
  30. package/lib/core/trade.js +4 -61
  31. package/lib/core/transactions.d.ts +50 -3
  32. package/lib/core/transactions.js +136 -105
  33. package/lib/index.d.ts +3 -0
  34. package/lib/index.js +3 -0
  35. package/lib/parsers/abstractParser.js +1 -2
  36. package/lib/parsers/creditFacadeParser.d.ts +2 -1
  37. package/lib/parsers/creditFacadeParser.js +17 -5
  38. package/lib/parsers/creditFacadeParser.spec.js +2 -3
  39. package/lib/parsers/curveAdapterParser.js +2 -3
  40. package/lib/parsers/txParser.d.ts +4 -4
  41. package/lib/parsers/txParser.js +9 -3
  42. package/lib/parsers/uniV2AdapterParser.js +2 -2
  43. package/lib/parsers/uniV3AdapterParser.js +3 -3
  44. package/lib/pathfinder/core.d.ts +4 -4
  45. package/lib/pathfinder/pathOptions.d.ts +2 -1
  46. package/lib/pathfinder/pathOptions.js +20 -1
  47. package/lib/pathfinder/pathOptions.spec.js +2 -2
  48. package/lib/pathfinder/pathfinder.js +4 -3
  49. package/lib/pathfinder/pathfinder.spec.js +3 -1
  50. package/lib/payload/creditAccount.d.ts +2 -2
  51. package/lib/payload/gauge.d.ts +12 -0
  52. package/lib/payload/pool.d.ts +6 -1
  53. package/lib/types/IAirdropDistributor.sol/IAirdropDistributor.d.ts +124 -0
  54. package/lib/types/IAirdropDistributor.sol/IAirdropDistributorEvents.d.ts +73 -0
  55. package/lib/types/IAirdropDistributor.sol/index.d.ts +2 -0
  56. package/lib/types/IConvexToken.d.ts +9 -1
  57. package/lib/types/IConvexV1BaseRewardPoolAdapter.d.ts +17 -1
  58. package/lib/types/{IConvexV1BoosterAdapter.d.ts → IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter.d.ts} +19 -4
  59. package/lib/types/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents.d.ts +43 -0
  60. package/lib/types/IConvexV1BoosterAdapter.sol/index.d.ts +2 -0
  61. package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3.d.ts +716 -0
  62. package/lib/types/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events.d.ts +275 -0
  63. package/lib/types/ICreditConfiguratorV3.sol/index.d.ts +2 -0
  64. package/lib/types/ICreditFacadeV2.sol/ICreditFacadeV2Extended.d.ts +7 -11
  65. package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3.d.ts +165 -20
  66. package/lib/types/ICreditFacadeV3.sol/ICreditFacadeV3Events.d.ts +5 -7
  67. package/lib/types/ICreditFacadeV3Multicall.d.ts +35 -12
  68. package/lib/types/ICreditManagerV3.sol/ICreditManagerV3.d.ts +273 -39
  69. package/lib/types/IDataCompressorV2_10.d.ts +43 -9
  70. package/lib/types/IDataCompressorV3_00.d.ts +140 -10
  71. package/lib/types/IDegenDistributor.sol/IDegenDistributor.d.ts +96 -0
  72. package/lib/types/IDegenDistributor.sol/IDegenDistributorEvents.d.ts +53 -0
  73. package/lib/types/IDegenDistributor.sol/index.d.ts +2 -0
  74. package/lib/types/{draft-IERC20Permit.sol/IERC20Permit.d.ts → IERC20Permit.d.ts} +1 -1
  75. package/lib/types/IERC20ZapperDeposits.d.ts +117 -0
  76. package/lib/types/IETHZapperDeposits.d.ts +66 -0
  77. package/lib/types/IGasPricer.d.ts +44 -0
  78. package/lib/types/IGearStakingV3.sol/IGearStakingV3.d.ts +408 -0
  79. package/lib/types/IGearStakingV3.sol/IGearStakingV3Events.d.ts +117 -0
  80. package/lib/types/IGearStakingV3.sol/index.d.ts +2 -0
  81. package/lib/types/{ILidoV1Adapter.sol/ILidoV1Adapter.d.ts → ILidoV1Adapter.d.ts} +5 -40
  82. package/lib/types/ILidoV1Adapter.js +2 -0
  83. package/lib/types/IOffchainOracle.d.ts +58 -0
  84. package/lib/types/IOffchainOracle.js +2 -0
  85. package/lib/types/IPoolV3.sol/IPoolV3.d.ts +43 -11
  86. package/lib/types/IPoolV3.sol/index.d.ts +0 -1
  87. package/lib/types/IWETHGateway.d.ts +90 -0
  88. package/lib/types/IWETHGateway.js +2 -0
  89. package/lib/types/IZapper.d.ts +130 -0
  90. package/lib/types/IZapper.js +2 -0
  91. package/lib/types/IwstETHGateway.sol/IwstETHGateWay.d.ts +70 -0
  92. package/lib/types/IwstETHGateway.sol/IwstETHGateWay.js +2 -0
  93. package/lib/types/IwstETHGateway.sol/index.d.ts +1 -0
  94. package/lib/types/IwstETHGateway.sol/index.js +2 -0
  95. package/lib/types/factories/AddressProvider__factory.d.ts +1 -1
  96. package/lib/types/factories/AddressProvider__factory.js +1 -1
  97. package/lib/types/factories/Balances.sol/BalanceOps__factory.d.ts +1 -1
  98. package/lib/types/factories/Balances.sol/BalanceOps__factory.js +1 -1
  99. package/lib/types/factories/Claimable__factory.d.ts +1 -1
  100. package/lib/types/factories/Claimable__factory.js +1 -1
  101. package/lib/types/factories/Errors__factory.d.ts +1 -1
  102. package/lib/types/factories/Errors__factory.js +1 -1
  103. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.d.ts +63 -0
  104. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory.js +88 -0
  105. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributor__factory.d.ts +119 -0
  106. package/lib/types/factories/IAirdropDistributor.sol/IAirdropDistributor__factory.js +161 -0
  107. package/lib/types/factories/IAirdropDistributor.sol/index.d.ts +2 -0
  108. package/lib/types/factories/IAirdropDistributor.sol/index.js +10 -0
  109. package/lib/types/factories/IConvexToken__factory.d.ts +10 -0
  110. package/lib/types/factories/IConvexToken__factory.js +13 -0
  111. package/lib/types/factories/IConvexV1BaseRewardPoolAdapter__factory.d.ts +20 -0
  112. package/lib/types/factories/IConvexV1BaseRewardPoolAdapter__factory.js +26 -0
  113. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory.d.ts +23 -0
  114. package/lib/types/factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory.js +38 -0
  115. package/lib/types/factories/{IConvexV1BoosterAdapter__factory.d.ts → IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory.d.ts} +16 -1
  116. package/lib/types/factories/{IConvexV1BoosterAdapter__factory.js → IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory.js} +19 -0
  117. package/lib/types/factories/IConvexV1BoosterAdapter.sol/index.d.ts +2 -0
  118. package/lib/types/factories/IConvexV1BoosterAdapter.sol/index.js +10 -0
  119. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory.d.ts +273 -0
  120. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory.js +357 -0
  121. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory.d.ts +605 -0
  122. package/lib/types/factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory.js +785 -0
  123. package/lib/types/factories/ICreditConfiguratorV3.sol/index.d.ts +2 -0
  124. package/lib/types/factories/ICreditConfiguratorV3.sol/index.js +10 -0
  125. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Extended__factory.d.ts +0 -4
  126. package/lib/types/factories/ICreditFacadeV2.sol/ICreditFacadeV2Extended__factory.js +0 -5
  127. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.d.ts +1 -6
  128. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3Events__factory.js +1 -7
  129. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.d.ts +144 -13
  130. package/lib/types/factories/ICreditFacadeV3.sol/ICreditFacadeV3__factory.js +185 -15
  131. package/lib/types/factories/ICreditFacadeV3Multicall__factory.d.ts +35 -5
  132. package/lib/types/factories/ICreditFacadeV3Multicall__factory.js +43 -5
  133. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.d.ts +199 -25
  134. package/lib/types/factories/ICreditManagerV3.sol/ICreditManagerV3__factory.js +252 -28
  135. package/lib/types/factories/IDataCompressorV2_10__factory.d.ts +110 -12
  136. package/lib/types/factories/IDataCompressorV2_10__factory.js +138 -14
  137. package/lib/types/factories/IDataCompressorV3_00__factory.d.ts +400 -16
  138. package/lib/types/factories/IDataCompressorV3_00__factory.js +508 -19
  139. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributorEvents__factory.d.ts +38 -0
  140. package/lib/types/factories/{AaveV2_WrappedAToken.sol/IWrappedATokenEvents__factory.js → IDegenDistributor.sol/IDegenDistributorEvents__factory.js} +13 -25
  141. package/lib/types/factories/IDegenDistributor.sol/IDegenDistributor__factory.d.ts +84 -0
  142. package/lib/types/factories/{IPoolV3.sol/IPoolBase__factory.js → IDegenDistributor.sol/IDegenDistributor__factory.js} +46 -41
  143. package/lib/types/factories/IDegenDistributor.sol/index.d.ts +2 -0
  144. package/lib/types/factories/IDegenDistributor.sol/index.js +10 -0
  145. package/lib/types/factories/{draft-IERC20Permit.sol/IERC20Permit__factory.d.ts → IERC20Permit__factory.d.ts} +1 -1
  146. package/lib/types/factories/IERC20ZapperDeposits__factory.d.ts +120 -0
  147. package/lib/types/factories/IERC20ZapperDeposits__factory.js +165 -0
  148. package/lib/types/factories/IETHZapperDeposits__factory.d.ts +40 -0
  149. package/lib/types/factories/IETHZapperDeposits__factory.js +62 -0
  150. package/lib/types/factories/IGasPricer__factory.d.ts +22 -0
  151. package/lib/types/factories/{ILidoV1Adapter.sol/ILidoV1AdapterEvents__factory.js → IGasPricer__factory.js} +14 -8
  152. package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3Events__factory.d.ts +113 -0
  153. package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3Events__factory.js +152 -0
  154. package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3__factory.d.ts +504 -0
  155. package/lib/types/factories/IGearStakingV3.sol/IGearStakingV3__factory.js +660 -0
  156. package/lib/types/factories/IGearStakingV3.sol/index.d.ts +2 -0
  157. package/lib/types/factories/IGearStakingV3.sol/index.js +10 -0
  158. package/lib/types/factories/{ILidoV1Adapter.sol/ILidoV1Adapter__factory.d.ts → ILidoV1Adapter__factory.d.ts} +1 -35
  159. package/lib/types/factories/{ILidoV1Adapter.sol/ILidoV1Adapter__factory.js → ILidoV1Adapter__factory.js} +0 -44
  160. package/lib/types/factories/IOffchainOracle__factory.d.ts +48 -0
  161. package/lib/types/factories/IOffchainOracle__factory.js +72 -0
  162. package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.d.ts +62 -14
  163. package/lib/types/factories/IPoolV3.sol/IPoolV3__factory.js +79 -17
  164. package/lib/types/factories/IPoolV3.sol/index.d.ts +0 -1
  165. package/lib/types/factories/IPoolV3.sol/index.js +1 -3
  166. package/lib/types/factories/IWETHGateway__factory.d.ts +58 -0
  167. package/lib/types/factories/IWETHGateway__factory.js +83 -0
  168. package/lib/types/factories/{WERC20ZapperBase__factory.d.ts → IZapper__factory.d.ts} +57 -61
  169. package/lib/types/factories/{WERC20ZapperBase__factory.js → IZapper__factory.js} +65 -71
  170. package/lib/types/factories/{ZapperBase__factory.d.ts → IwstETHGateway.sol/IwstETHGateWay__factory.d.ts} +22 -34
  171. package/lib/types/factories/{ZapperBase__factory.js → IwstETHGateway.sol/IwstETHGateWay__factory.js} +22 -39
  172. package/lib/types/factories/IwstETHGateway.sol/index.d.ts +1 -0
  173. package/lib/types/factories/IwstETHGateway.sol/index.js +8 -0
  174. package/lib/types/factories/SafeERC20__factory.d.ts +1 -1
  175. package/lib/types/factories/SafeERC20__factory.js +1 -1
  176. package/lib/types/factories/index.d.ts +15 -13
  177. package/lib/types/factories/index.js +25 -25
  178. package/lib/types/factories/{IRouter__factory.d.ts → interfaces/IRouter__factory.d.ts} +15 -1
  179. package/lib/types/factories/{IRouter__factory.js → interfaces/IRouter__factory.js} +19 -0
  180. package/lib/types/factories/interfaces/index.d.ts +1 -0
  181. package/lib/types/factories/interfaces/index.js +8 -0
  182. package/lib/types/index.d.ts +62 -48
  183. package/lib/types/index.js +52 -46
  184. package/lib/types/{IRouter.d.ts → interfaces/IRouter.d.ts} +12 -2
  185. package/lib/types/interfaces/IRouter.js +2 -0
  186. package/lib/types/interfaces/index.d.ts +1 -0
  187. package/lib/types/interfaces/index.js +2 -0
  188. package/lib/utils/formatter.d.ts +0 -3
  189. package/lib/utils/formatter.js +1 -67
  190. package/lib/utils/math.d.ts +2 -0
  191. package/lib/utils/math.js +2 -0
  192. package/lib/utils/types.d.ts +1 -0
  193. package/lib/watchers/creditAccountWatcher.d.ts +3 -2
  194. package/lib/watchers/creditAccountWatcher.js +19 -13
  195. package/lib/watchers/creditAccountWatcher.spec.js +18 -18
  196. package/lib/watchers/creditManagerWatcher.d.ts +5 -3
  197. package/lib/watchers/creditManagerWatcher.js +32 -10
  198. package/lib/watchers/creditManagerWatcher.spec.js +12 -4
  199. package/package.json +10 -9
  200. package/contracts/IRouter.sol +0 -100
  201. package/lib/core/pool/index.d.ts +0 -1
  202. package/lib/core/pool/index.js +0 -17
  203. package/lib/types/AaveV2_WrappedAToken.sol/IWrappedATokenEvents.d.ts +0 -60
  204. package/lib/types/AaveV2_WrappedAToken.sol/WrappedAToken.d.ts +0 -332
  205. package/lib/types/AaveV2_WrappedAToken.sol/index.d.ts +0 -2
  206. package/lib/types/ERC20.d.ts +0 -198
  207. package/lib/types/IAToken.d.ts +0 -182
  208. package/lib/types/ILendingPool.d.ts +0 -140
  209. package/lib/types/ILidoV1Adapter.sol/ILidoV1AdapterEvents.d.ts +0 -39
  210. package/lib/types/ILidoV1Adapter.sol/ILidoV1AdapterExceptions.d.ts +0 -27
  211. package/lib/types/ILidoV1Adapter.sol/index.d.ts +0 -3
  212. package/lib/types/IPoolV3.sol/IPoolBase.d.ts +0 -102
  213. package/lib/types/WATokenZapper.d.ts +0 -134
  214. package/lib/types/WERC20ZapperBase.d.ts +0 -134
  215. package/lib/types/WETHZapper.d.ts +0 -122
  216. package/lib/types/WstETHZapper.d.ts +0 -134
  217. package/lib/types/ZapperBase.d.ts +0 -70
  218. package/lib/types/draft-IERC20Permit.sol/index.d.ts +0 -1
  219. package/lib/types/factories/AaveV2_WrappedAToken.sol/IWrappedATokenEvents__factory.d.ts +0 -48
  220. package/lib/types/factories/AaveV2_WrappedAToken.sol/WrappedAToken__factory.d.ts +0 -397
  221. package/lib/types/factories/AaveV2_WrappedAToken.sol/WrappedAToken__factory.js +0 -535
  222. package/lib/types/factories/AaveV2_WrappedAToken.sol/index.d.ts +0 -2
  223. package/lib/types/factories/AaveV2_WrappedAToken.sol/index.js +0 -10
  224. package/lib/types/factories/ERC20__factory.d.ts +0 -239
  225. package/lib/types/factories/ERC20__factory.js +0 -328
  226. package/lib/types/factories/IAToken__factory.d.ts +0 -198
  227. package/lib/types/factories/IAToken__factory.js +0 -267
  228. package/lib/types/factories/ILendingPool__factory.d.ts +0 -134
  229. package/lib/types/factories/ILendingPool__factory.js +0 -183
  230. package/lib/types/factories/ILidoV1Adapter.sol/ILidoV1AdapterEvents__factory.d.ts +0 -18
  231. package/lib/types/factories/ILidoV1Adapter.sol/ILidoV1AdapterExceptions__factory.d.ts +0 -12
  232. package/lib/types/factories/ILidoV1Adapter.sol/ILidoV1AdapterExceptions__factory.js +0 -24
  233. package/lib/types/factories/ILidoV1Adapter.sol/index.d.ts +0 -3
  234. package/lib/types/factories/ILidoV1Adapter.sol/index.js +0 -12
  235. package/lib/types/factories/IPoolV3.sol/IPoolBase__factory.d.ts +0 -80
  236. package/lib/types/factories/WATokenZapper__factory.d.ts +0 -161
  237. package/lib/types/factories/WATokenZapper__factory.js +0 -227
  238. package/lib/types/factories/WETHZapper__factory.d.ts +0 -138
  239. package/lib/types/factories/WETHZapper__factory.js +0 -198
  240. package/lib/types/factories/WstETHZapper__factory.d.ts +0 -161
  241. package/lib/types/factories/WstETHZapper__factory.js +0 -227
  242. package/lib/types/factories/draft-IERC20Permit.sol/index.d.ts +0 -1
  243. package/lib/types/factories/draft-IERC20Permit.sol/index.js +0 -8
  244. /package/lib/{types/AaveV2_WrappedAToken.sol/IWrappedATokenEvents.js → payload/gauge.js} +0 -0
  245. /package/lib/types/{AaveV2_WrappedAToken.sol/WrappedAToken.js → IAirdropDistributor.sol/IAirdropDistributor.js} +0 -0
  246. /package/lib/types/{AaveV2_WrappedAToken.sol/index.js → IAirdropDistributor.sol/IAirdropDistributorEvents.js} +0 -0
  247. /package/lib/types/{ILidoV1Adapter.sol → IAirdropDistributor.sol}/index.js +0 -0
  248. /package/lib/types/{IConvexV1BoosterAdapter.js → IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter.js} +0 -0
  249. /package/lib/types/{ERC20.js → IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents.js} +0 -0
  250. /package/lib/types/{draft-IERC20Permit.sol → IConvexV1BoosterAdapter.sol}/index.js +0 -0
  251. /package/lib/types/{IAToken.js → ICreditConfiguratorV3.sol/ICreditConfiguratorV3.js} +0 -0
  252. /package/lib/types/{ILendingPool.js → ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events.js} +0 -0
  253. /package/lib/types/{ILidoV1Adapter.sol/ILidoV1Adapter.js → ICreditConfiguratorV3.sol/index.js} +0 -0
  254. /package/lib/types/{ILidoV1Adapter.sol/ILidoV1AdapterEvents.js → IDegenDistributor.sol/IDegenDistributor.js} +0 -0
  255. /package/lib/types/{ILidoV1Adapter.sol/ILidoV1AdapterExceptions.js → IDegenDistributor.sol/IDegenDistributorEvents.js} +0 -0
  256. /package/lib/types/{IPoolV3.sol/IPoolBase.js → IDegenDistributor.sol/index.js} +0 -0
  257. /package/lib/types/{draft-IERC20Permit.sol/IERC20Permit.js → IERC20Permit.js} +0 -0
  258. /package/lib/types/{IRouter.js → IERC20ZapperDeposits.js} +0 -0
  259. /package/lib/types/{WATokenZapper.js → IETHZapperDeposits.js} +0 -0
  260. /package/lib/types/{WERC20ZapperBase.js → IGasPricer.js} +0 -0
  261. /package/lib/types/{WETHZapper.js → IGearStakingV3.sol/IGearStakingV3.js} +0 -0
  262. /package/lib/types/{WstETHZapper.js → IGearStakingV3.sol/IGearStakingV3Events.js} +0 -0
  263. /package/lib/types/{ZapperBase.js → IGearStakingV3.sol/index.js} +0 -0
  264. /package/lib/types/factories/{draft-IERC20Permit.sol/IERC20Permit__factory.js → IERC20Permit__factory.js} +0 -0
@@ -23,25 +23,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.ILendingPool__factory = exports.IInterestRateModel__factory = exports.IERC4626__factory = exports.IERC20Metadata__factory = exports.IERC20__factory = exports.IDataCompressorV3_00__factory = exports.IDataCompressorV2_10__factory = exports.IDaiLikePermit__factory = exports.ICurveV1_4AssetsAdapter__factory = exports.ICurveV1_3AssetsAdapter__factory = exports.ICurveV1_2AssetsAdapter__factory = exports.ICurveV1Adapter__factory = exports.ICurvePool4Assets__factory = exports.ICurvePool3Assets__factory = exports.ICurvePool2Assets__factory = exports.ICurvePool__factory = exports.ICreditManagerV3Events__factory = exports.ICreditManagerV3__factory = exports.ICreditManagerV2Exceptions__factory = exports.ICreditManagerV2Events__factory = exports.ICreditManagerV2__factory = exports.ICreditFacadeV3Multicall__factory = exports.ICreditFacadeV3Events__factory = exports.ICreditFacadeV3__factory = exports.ICreditFacadeV2V2__factory = exports.ICreditFacadeV2Extended__factory = exports.ICreditFacadeV2Exceptions__factory = exports.ICreditFacadeV2Events__factory = exports.ICreditFacadeV2__factory = exports.ICreditConfiguratorV2Exceptions__factory = exports.ICreditConfiguratorV2Events__factory = exports.ICreditConfiguratorV2__factory = exports.IConvexV1BoosterAdapter__factory = exports.IConvexV1BaseRewardPoolAdapter__factory = exports.IConvexToken__factory = exports.IBaseRewardPool__factory = exports.IAddressProviderV3Events__factory = exports.IAddressProviderV3__factory = exports.IAddressProviderEvents__factory = exports.IAddressProvider__factory = exports.IAdapter__factory = exports.IAToken__factory = exports.Errors__factory = exports.ERC20__factory = exports.Claimable__factory = exports.BalanceOps__factory = exports.AddressProvider__factory = exports.WrappedAToken__factory = exports.IWrappedATokenEvents__factory = exports.factories = void 0;
27
- exports.IERC20Permit__factory = exports.ZapperBase__factory = exports.WstETHZapper__factory = exports.WETHZapper__factory = exports.WERC20ZapperBase__factory = exports.WATokenZapper__factory = exports.SafeERC20__factory = exports.Ownable__factory = exports.IwstETHV1Adapter__factory = exports.IwstETHGetters__factory = exports.IwstETH__factory = exports.IstETHGetters__factory = exports.IstETH__factory = exports.IYearnV2Adapter__factory = exports.IYVault__factory = exports.IWithdrawalManagerV3Events__factory = exports.IWithdrawalManagerV3__factory = exports.IWETH__factory = exports.IVersion__factory = exports.IUniswapV3AdapterExceptions__factory = exports.IUniswapV3AdapterEvents__factory = exports.IUniswapV3Adapter__factory = exports.ISwapRouter__factory = exports.IUniswapV2AdapterExceptions__factory = exports.IUniswapV2AdapterEvents__factory = exports.IUniswapV2Adapter__factory = exports.IRouter__factory = exports.IPriceOracleBase__factory = exports.IPoolV3Events__factory = exports.IPoolV3__factory = exports.IPoolBase__factory = exports.IPoolServiceEvents__factory = exports.IPoolService__factory = exports.IPermit2__factory = exports.ILidoV1AdapterExceptions__factory = exports.ILidoV1AdapterEvents__factory = exports.ILidoV1Adapter__factory = void 0;
26
+ exports.IERC20Metadata__factory = exports.IERC20__factory = exports.IDegenDistributorEvents__factory = exports.IDegenDistributor__factory = exports.IDataCompressorV3_00__factory = exports.IDataCompressorV2_10__factory = exports.IDaiLikePermit__factory = exports.ICurveV1Adapter__factory = exports.ICurveV1_4AssetsAdapter__factory = exports.ICurveV1_3AssetsAdapter__factory = exports.ICurveV1_2AssetsAdapter__factory = exports.ICurvePool__factory = exports.ICurvePool4Assets__factory = exports.ICurvePool3Assets__factory = exports.ICurvePool2Assets__factory = exports.ICreditManagerV3Events__factory = exports.ICreditManagerV3__factory = exports.ICreditManagerV2Exceptions__factory = exports.ICreditManagerV2Events__factory = exports.ICreditManagerV2__factory = exports.ICreditFacadeV3Multicall__factory = exports.ICreditFacadeV3Events__factory = exports.ICreditFacadeV3__factory = exports.ICreditFacadeV2V2__factory = exports.ICreditFacadeV2Extended__factory = exports.ICreditFacadeV2Exceptions__factory = exports.ICreditFacadeV2Events__factory = exports.ICreditFacadeV2__factory = exports.ICreditConfiguratorV3Events__factory = exports.ICreditConfiguratorV3__factory = exports.ICreditConfiguratorV2Exceptions__factory = exports.ICreditConfiguratorV2Events__factory = exports.ICreditConfiguratorV2__factory = exports.IConvexV1BoosterAdapterEvents__factory = exports.IConvexV1BoosterAdapter__factory = exports.IConvexV1BaseRewardPoolAdapter__factory = exports.IConvexToken__factory = exports.IBaseRewardPool__factory = exports.IAirdropDistributorEvents__factory = exports.IAirdropDistributor__factory = exports.IAddressProviderV3Events__factory = exports.IAddressProviderV3__factory = exports.IAddressProviderEvents__factory = exports.IAddressProvider__factory = exports.IAdapter__factory = exports.Errors__factory = exports.Claimable__factory = exports.BalanceOps__factory = exports.AddressProvider__factory = exports.factories = void 0;
27
+ exports.SafeERC20__factory = exports.Ownable__factory = exports.IZapper__factory = exports.IYVault__factory = exports.IYearnV2Adapter__factory = exports.IwstETHV1Adapter__factory = exports.IwstETHGateWay__factory = exports.IwstETHGetters__factory = exports.IwstETH__factory = exports.IWithdrawalManagerV3Events__factory = exports.IWithdrawalManagerV3__factory = exports.IWETHGateway__factory = exports.IWETH__factory = exports.IVersion__factory = exports.IUniswapV3AdapterExceptions__factory = exports.IUniswapV3AdapterEvents__factory = exports.IUniswapV3Adapter__factory = exports.ISwapRouter__factory = exports.IUniswapV2AdapterExceptions__factory = exports.IUniswapV2AdapterEvents__factory = exports.IUniswapV2Adapter__factory = exports.IstETHGetters__factory = exports.IstETH__factory = exports.IPriceOracleBase__factory = exports.IPoolV3Events__factory = exports.IPoolV3__factory = exports.IPoolServiceEvents__factory = exports.IPoolService__factory = exports.IPermit2__factory = exports.IOffchainOracle__factory = exports.IRouter__factory = exports.ILidoV1Adapter__factory = exports.IInterestRateModel__factory = exports.IGearStakingV3Events__factory = exports.IGearStakingV3__factory = exports.IGasPricer__factory = exports.IETHZapperDeposits__factory = exports.IERC4626__factory = exports.IERC20ZapperDeposits__factory = exports.IERC20Permit__factory = void 0;
28
28
  exports.factories = __importStar(require("./factories"));
29
- var IWrappedATokenEvents__factory_1 = require("./factories/AaveV2_WrappedAToken.sol/IWrappedATokenEvents__factory");
30
- Object.defineProperty(exports, "IWrappedATokenEvents__factory", { enumerable: true, get: function () { return IWrappedATokenEvents__factory_1.IWrappedATokenEvents__factory; } });
31
- var WrappedAToken__factory_1 = require("./factories/AaveV2_WrappedAToken.sol/WrappedAToken__factory");
32
- Object.defineProperty(exports, "WrappedAToken__factory", { enumerable: true, get: function () { return WrappedAToken__factory_1.WrappedAToken__factory; } });
33
29
  var AddressProvider__factory_1 = require("./factories/AddressProvider__factory");
34
30
  Object.defineProperty(exports, "AddressProvider__factory", { enumerable: true, get: function () { return AddressProvider__factory_1.AddressProvider__factory; } });
35
31
  var BalanceOps__factory_1 = require("./factories/Balances.sol/BalanceOps__factory");
36
32
  Object.defineProperty(exports, "BalanceOps__factory", { enumerable: true, get: function () { return BalanceOps__factory_1.BalanceOps__factory; } });
37
33
  var Claimable__factory_1 = require("./factories/Claimable__factory");
38
34
  Object.defineProperty(exports, "Claimable__factory", { enumerable: true, get: function () { return Claimable__factory_1.Claimable__factory; } });
39
- var ERC20__factory_1 = require("./factories/ERC20__factory");
40
- Object.defineProperty(exports, "ERC20__factory", { enumerable: true, get: function () { return ERC20__factory_1.ERC20__factory; } });
41
35
  var Errors__factory_1 = require("./factories/Errors__factory");
42
36
  Object.defineProperty(exports, "Errors__factory", { enumerable: true, get: function () { return Errors__factory_1.Errors__factory; } });
43
- var IAToken__factory_1 = require("./factories/IAToken__factory");
44
- Object.defineProperty(exports, "IAToken__factory", { enumerable: true, get: function () { return IAToken__factory_1.IAToken__factory; } });
45
37
  var IAdapter__factory_1 = require("./factories/IAdapter__factory");
46
38
  Object.defineProperty(exports, "IAdapter__factory", { enumerable: true, get: function () { return IAdapter__factory_1.IAdapter__factory; } });
47
39
  var IAddressProvider__factory_1 = require("./factories/IAddressProvider.sol/IAddressProvider__factory");
@@ -52,20 +44,30 @@ var IAddressProviderV3__factory_1 = require("./factories/IAddressProviderV3.sol/
52
44
  Object.defineProperty(exports, "IAddressProviderV3__factory", { enumerable: true, get: function () { return IAddressProviderV3__factory_1.IAddressProviderV3__factory; } });
53
45
  var IAddressProviderV3Events__factory_1 = require("./factories/IAddressProviderV3.sol/IAddressProviderV3Events__factory");
54
46
  Object.defineProperty(exports, "IAddressProviderV3Events__factory", { enumerable: true, get: function () { return IAddressProviderV3Events__factory_1.IAddressProviderV3Events__factory; } });
47
+ var IAirdropDistributor__factory_1 = require("./factories/IAirdropDistributor.sol/IAirdropDistributor__factory");
48
+ Object.defineProperty(exports, "IAirdropDistributor__factory", { enumerable: true, get: function () { return IAirdropDistributor__factory_1.IAirdropDistributor__factory; } });
49
+ var IAirdropDistributorEvents__factory_1 = require("./factories/IAirdropDistributor.sol/IAirdropDistributorEvents__factory");
50
+ Object.defineProperty(exports, "IAirdropDistributorEvents__factory", { enumerable: true, get: function () { return IAirdropDistributorEvents__factory_1.IAirdropDistributorEvents__factory; } });
55
51
  var IBaseRewardPool__factory_1 = require("./factories/IBaseRewardPool__factory");
56
52
  Object.defineProperty(exports, "IBaseRewardPool__factory", { enumerable: true, get: function () { return IBaseRewardPool__factory_1.IBaseRewardPool__factory; } });
57
53
  var IConvexToken__factory_1 = require("./factories/IConvexToken__factory");
58
54
  Object.defineProperty(exports, "IConvexToken__factory", { enumerable: true, get: function () { return IConvexToken__factory_1.IConvexToken__factory; } });
59
55
  var IConvexV1BaseRewardPoolAdapter__factory_1 = require("./factories/IConvexV1BaseRewardPoolAdapter__factory");
60
56
  Object.defineProperty(exports, "IConvexV1BaseRewardPoolAdapter__factory", { enumerable: true, get: function () { return IConvexV1BaseRewardPoolAdapter__factory_1.IConvexV1BaseRewardPoolAdapter__factory; } });
61
- var IConvexV1BoosterAdapter__factory_1 = require("./factories/IConvexV1BoosterAdapter__factory");
57
+ var IConvexV1BoosterAdapter__factory_1 = require("./factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapter__factory");
62
58
  Object.defineProperty(exports, "IConvexV1BoosterAdapter__factory", { enumerable: true, get: function () { return IConvexV1BoosterAdapter__factory_1.IConvexV1BoosterAdapter__factory; } });
59
+ var IConvexV1BoosterAdapterEvents__factory_1 = require("./factories/IConvexV1BoosterAdapter.sol/IConvexV1BoosterAdapterEvents__factory");
60
+ Object.defineProperty(exports, "IConvexV1BoosterAdapterEvents__factory", { enumerable: true, get: function () { return IConvexV1BoosterAdapterEvents__factory_1.IConvexV1BoosterAdapterEvents__factory; } });
63
61
  var ICreditConfiguratorV2__factory_1 = require("./factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2__factory");
64
62
  Object.defineProperty(exports, "ICreditConfiguratorV2__factory", { enumerable: true, get: function () { return ICreditConfiguratorV2__factory_1.ICreditConfiguratorV2__factory; } });
65
63
  var ICreditConfiguratorV2Events__factory_1 = require("./factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Events__factory");
66
64
  Object.defineProperty(exports, "ICreditConfiguratorV2Events__factory", { enumerable: true, get: function () { return ICreditConfiguratorV2Events__factory_1.ICreditConfiguratorV2Events__factory; } });
67
65
  var ICreditConfiguratorV2Exceptions__factory_1 = require("./factories/ICreditConfiguratorV2.sol/ICreditConfiguratorV2Exceptions__factory");
68
66
  Object.defineProperty(exports, "ICreditConfiguratorV2Exceptions__factory", { enumerable: true, get: function () { return ICreditConfiguratorV2Exceptions__factory_1.ICreditConfiguratorV2Exceptions__factory; } });
67
+ var ICreditConfiguratorV3__factory_1 = require("./factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3__factory");
68
+ Object.defineProperty(exports, "ICreditConfiguratorV3__factory", { enumerable: true, get: function () { return ICreditConfiguratorV3__factory_1.ICreditConfiguratorV3__factory; } });
69
+ var ICreditConfiguratorV3Events__factory_1 = require("./factories/ICreditConfiguratorV3.sol/ICreditConfiguratorV3Events__factory");
70
+ Object.defineProperty(exports, "ICreditConfiguratorV3Events__factory", { enumerable: true, get: function () { return ICreditConfiguratorV3Events__factory_1.ICreditConfiguratorV3Events__factory; } });
69
71
  var ICreditFacadeV2__factory_1 = require("./factories/ICreditFacadeV2.sol/ICreditFacadeV2__factory");
70
72
  Object.defineProperty(exports, "ICreditFacadeV2__factory", { enumerable: true, get: function () { return ICreditFacadeV2__factory_1.ICreditFacadeV2__factory; } });
71
73
  var ICreditFacadeV2Events__factory_1 = require("./factories/ICreditFacadeV2.sol/ICreditFacadeV2Events__factory");
@@ -92,60 +94,74 @@ var ICreditManagerV3__factory_1 = require("./factories/ICreditManagerV3.sol/ICre
92
94
  Object.defineProperty(exports, "ICreditManagerV3__factory", { enumerable: true, get: function () { return ICreditManagerV3__factory_1.ICreditManagerV3__factory; } });
93
95
  var ICreditManagerV3Events__factory_1 = require("./factories/ICreditManagerV3.sol/ICreditManagerV3Events__factory");
94
96
  Object.defineProperty(exports, "ICreditManagerV3Events__factory", { enumerable: true, get: function () { return ICreditManagerV3Events__factory_1.ICreditManagerV3Events__factory; } });
95
- var ICurvePool__factory_1 = require("./factories/ICurvePool__factory");
96
- Object.defineProperty(exports, "ICurvePool__factory", { enumerable: true, get: function () { return ICurvePool__factory_1.ICurvePool__factory; } });
97
97
  var ICurvePool2Assets__factory_1 = require("./factories/ICurvePool_2.sol/ICurvePool2Assets__factory");
98
98
  Object.defineProperty(exports, "ICurvePool2Assets__factory", { enumerable: true, get: function () { return ICurvePool2Assets__factory_1.ICurvePool2Assets__factory; } });
99
99
  var ICurvePool3Assets__factory_1 = require("./factories/ICurvePool_3.sol/ICurvePool3Assets__factory");
100
100
  Object.defineProperty(exports, "ICurvePool3Assets__factory", { enumerable: true, get: function () { return ICurvePool3Assets__factory_1.ICurvePool3Assets__factory; } });
101
101
  var ICurvePool4Assets__factory_1 = require("./factories/ICurvePool_4.sol/ICurvePool4Assets__factory");
102
102
  Object.defineProperty(exports, "ICurvePool4Assets__factory", { enumerable: true, get: function () { return ICurvePool4Assets__factory_1.ICurvePool4Assets__factory; } });
103
- var ICurveV1Adapter__factory_1 = require("./factories/ICurveV1Adapter__factory");
104
- Object.defineProperty(exports, "ICurveV1Adapter__factory", { enumerable: true, get: function () { return ICurveV1Adapter__factory_1.ICurveV1Adapter__factory; } });
103
+ var ICurvePool__factory_1 = require("./factories/ICurvePool__factory");
104
+ Object.defineProperty(exports, "ICurvePool__factory", { enumerable: true, get: function () { return ICurvePool__factory_1.ICurvePool__factory; } });
105
105
  var ICurveV1_2AssetsAdapter__factory_1 = require("./factories/ICurveV1_2AssetsAdapter__factory");
106
106
  Object.defineProperty(exports, "ICurveV1_2AssetsAdapter__factory", { enumerable: true, get: function () { return ICurveV1_2AssetsAdapter__factory_1.ICurveV1_2AssetsAdapter__factory; } });
107
107
  var ICurveV1_3AssetsAdapter__factory_1 = require("./factories/ICurveV1_3AssetsAdapter__factory");
108
108
  Object.defineProperty(exports, "ICurveV1_3AssetsAdapter__factory", { enumerable: true, get: function () { return ICurveV1_3AssetsAdapter__factory_1.ICurveV1_3AssetsAdapter__factory; } });
109
109
  var ICurveV1_4AssetsAdapter__factory_1 = require("./factories/ICurveV1_4AssetsAdapter__factory");
110
110
  Object.defineProperty(exports, "ICurveV1_4AssetsAdapter__factory", { enumerable: true, get: function () { return ICurveV1_4AssetsAdapter__factory_1.ICurveV1_4AssetsAdapter__factory; } });
111
+ var ICurveV1Adapter__factory_1 = require("./factories/ICurveV1Adapter__factory");
112
+ Object.defineProperty(exports, "ICurveV1Adapter__factory", { enumerable: true, get: function () { return ICurveV1Adapter__factory_1.ICurveV1Adapter__factory; } });
111
113
  var IDaiLikePermit__factory_1 = require("./factories/IDaiLikePermit__factory");
112
114
  Object.defineProperty(exports, "IDaiLikePermit__factory", { enumerable: true, get: function () { return IDaiLikePermit__factory_1.IDaiLikePermit__factory; } });
113
115
  var IDataCompressorV2_10__factory_1 = require("./factories/IDataCompressorV2_10__factory");
114
116
  Object.defineProperty(exports, "IDataCompressorV2_10__factory", { enumerable: true, get: function () { return IDataCompressorV2_10__factory_1.IDataCompressorV2_10__factory; } });
115
117
  var IDataCompressorV3_00__factory_1 = require("./factories/IDataCompressorV3_00__factory");
116
118
  Object.defineProperty(exports, "IDataCompressorV3_00__factory", { enumerable: true, get: function () { return IDataCompressorV3_00__factory_1.IDataCompressorV3_00__factory; } });
119
+ var IDegenDistributor__factory_1 = require("./factories/IDegenDistributor.sol/IDegenDistributor__factory");
120
+ Object.defineProperty(exports, "IDegenDistributor__factory", { enumerable: true, get: function () { return IDegenDistributor__factory_1.IDegenDistributor__factory; } });
121
+ var IDegenDistributorEvents__factory_1 = require("./factories/IDegenDistributor.sol/IDegenDistributorEvents__factory");
122
+ Object.defineProperty(exports, "IDegenDistributorEvents__factory", { enumerable: true, get: function () { return IDegenDistributorEvents__factory_1.IDegenDistributorEvents__factory; } });
117
123
  var IERC20__factory_1 = require("./factories/IERC20__factory");
118
124
  Object.defineProperty(exports, "IERC20__factory", { enumerable: true, get: function () { return IERC20__factory_1.IERC20__factory; } });
119
125
  var IERC20Metadata__factory_1 = require("./factories/IERC20Metadata__factory");
120
126
  Object.defineProperty(exports, "IERC20Metadata__factory", { enumerable: true, get: function () { return IERC20Metadata__factory_1.IERC20Metadata__factory; } });
127
+ var IERC20Permit__factory_1 = require("./factories/IERC20Permit__factory");
128
+ Object.defineProperty(exports, "IERC20Permit__factory", { enumerable: true, get: function () { return IERC20Permit__factory_1.IERC20Permit__factory; } });
129
+ var IERC20ZapperDeposits__factory_1 = require("./factories/IERC20ZapperDeposits__factory");
130
+ Object.defineProperty(exports, "IERC20ZapperDeposits__factory", { enumerable: true, get: function () { return IERC20ZapperDeposits__factory_1.IERC20ZapperDeposits__factory; } });
121
131
  var IERC4626__factory_1 = require("./factories/IERC4626__factory");
122
132
  Object.defineProperty(exports, "IERC4626__factory", { enumerable: true, get: function () { return IERC4626__factory_1.IERC4626__factory; } });
133
+ var IETHZapperDeposits__factory_1 = require("./factories/IETHZapperDeposits__factory");
134
+ Object.defineProperty(exports, "IETHZapperDeposits__factory", { enumerable: true, get: function () { return IETHZapperDeposits__factory_1.IETHZapperDeposits__factory; } });
135
+ var IGasPricer__factory_1 = require("./factories/IGasPricer__factory");
136
+ Object.defineProperty(exports, "IGasPricer__factory", { enumerable: true, get: function () { return IGasPricer__factory_1.IGasPricer__factory; } });
137
+ var IGearStakingV3__factory_1 = require("./factories/IGearStakingV3.sol/IGearStakingV3__factory");
138
+ Object.defineProperty(exports, "IGearStakingV3__factory", { enumerable: true, get: function () { return IGearStakingV3__factory_1.IGearStakingV3__factory; } });
139
+ var IGearStakingV3Events__factory_1 = require("./factories/IGearStakingV3.sol/IGearStakingV3Events__factory");
140
+ Object.defineProperty(exports, "IGearStakingV3Events__factory", { enumerable: true, get: function () { return IGearStakingV3Events__factory_1.IGearStakingV3Events__factory; } });
123
141
  var IInterestRateModel__factory_1 = require("./factories/IInterestRateModel__factory");
124
142
  Object.defineProperty(exports, "IInterestRateModel__factory", { enumerable: true, get: function () { return IInterestRateModel__factory_1.IInterestRateModel__factory; } });
125
- var ILendingPool__factory_1 = require("./factories/ILendingPool__factory");
126
- Object.defineProperty(exports, "ILendingPool__factory", { enumerable: true, get: function () { return ILendingPool__factory_1.ILendingPool__factory; } });
127
- var ILidoV1Adapter__factory_1 = require("./factories/ILidoV1Adapter.sol/ILidoV1Adapter__factory");
143
+ var ILidoV1Adapter__factory_1 = require("./factories/ILidoV1Adapter__factory");
128
144
  Object.defineProperty(exports, "ILidoV1Adapter__factory", { enumerable: true, get: function () { return ILidoV1Adapter__factory_1.ILidoV1Adapter__factory; } });
129
- var ILidoV1AdapterEvents__factory_1 = require("./factories/ILidoV1Adapter.sol/ILidoV1AdapterEvents__factory");
130
- Object.defineProperty(exports, "ILidoV1AdapterEvents__factory", { enumerable: true, get: function () { return ILidoV1AdapterEvents__factory_1.ILidoV1AdapterEvents__factory; } });
131
- var ILidoV1AdapterExceptions__factory_1 = require("./factories/ILidoV1Adapter.sol/ILidoV1AdapterExceptions__factory");
132
- Object.defineProperty(exports, "ILidoV1AdapterExceptions__factory", { enumerable: true, get: function () { return ILidoV1AdapterExceptions__factory_1.ILidoV1AdapterExceptions__factory; } });
145
+ var IRouter__factory_1 = require("./factories/interfaces/IRouter__factory");
146
+ Object.defineProperty(exports, "IRouter__factory", { enumerable: true, get: function () { return IRouter__factory_1.IRouter__factory; } });
147
+ var IOffchainOracle__factory_1 = require("./factories/IOffchainOracle__factory");
148
+ Object.defineProperty(exports, "IOffchainOracle__factory", { enumerable: true, get: function () { return IOffchainOracle__factory_1.IOffchainOracle__factory; } });
133
149
  var IPermit2__factory_1 = require("./factories/IPermit2__factory");
134
150
  Object.defineProperty(exports, "IPermit2__factory", { enumerable: true, get: function () { return IPermit2__factory_1.IPermit2__factory; } });
135
151
  var IPoolService__factory_1 = require("./factories/IPoolService.sol/IPoolService__factory");
136
152
  Object.defineProperty(exports, "IPoolService__factory", { enumerable: true, get: function () { return IPoolService__factory_1.IPoolService__factory; } });
137
153
  var IPoolServiceEvents__factory_1 = require("./factories/IPoolService.sol/IPoolServiceEvents__factory");
138
154
  Object.defineProperty(exports, "IPoolServiceEvents__factory", { enumerable: true, get: function () { return IPoolServiceEvents__factory_1.IPoolServiceEvents__factory; } });
139
- var IPoolBase__factory_1 = require("./factories/IPoolV3.sol/IPoolBase__factory");
140
- Object.defineProperty(exports, "IPoolBase__factory", { enumerable: true, get: function () { return IPoolBase__factory_1.IPoolBase__factory; } });
141
155
  var IPoolV3__factory_1 = require("./factories/IPoolV3.sol/IPoolV3__factory");
142
156
  Object.defineProperty(exports, "IPoolV3__factory", { enumerable: true, get: function () { return IPoolV3__factory_1.IPoolV3__factory; } });
143
157
  var IPoolV3Events__factory_1 = require("./factories/IPoolV3.sol/IPoolV3Events__factory");
144
158
  Object.defineProperty(exports, "IPoolV3Events__factory", { enumerable: true, get: function () { return IPoolV3Events__factory_1.IPoolV3Events__factory; } });
145
159
  var IPriceOracleBase__factory_1 = require("./factories/IPriceOracleBase__factory");
146
160
  Object.defineProperty(exports, "IPriceOracleBase__factory", { enumerable: true, get: function () { return IPriceOracleBase__factory_1.IPriceOracleBase__factory; } });
147
- var IRouter__factory_1 = require("./factories/IRouter__factory");
148
- Object.defineProperty(exports, "IRouter__factory", { enumerable: true, get: function () { return IRouter__factory_1.IRouter__factory; } });
161
+ var IstETH__factory_1 = require("./factories/IstETH.sol/IstETH__factory");
162
+ Object.defineProperty(exports, "IstETH__factory", { enumerable: true, get: function () { return IstETH__factory_1.IstETH__factory; } });
163
+ var IstETHGetters__factory_1 = require("./factories/IstETH.sol/IstETHGetters__factory");
164
+ Object.defineProperty(exports, "IstETHGetters__factory", { enumerable: true, get: function () { return IstETHGetters__factory_1.IstETHGetters__factory; } });
149
165
  var IUniswapV2Adapter__factory_1 = require("./factories/IUniswapV2Adapter.sol/IUniswapV2Adapter__factory");
150
166
  Object.defineProperty(exports, "IUniswapV2Adapter__factory", { enumerable: true, get: function () { return IUniswapV2Adapter__factory_1.IUniswapV2Adapter__factory; } });
151
167
  var IUniswapV2AdapterEvents__factory_1 = require("./factories/IUniswapV2Adapter.sol/IUniswapV2AdapterEvents__factory");
@@ -164,37 +180,27 @@ var IVersion__factory_1 = require("./factories/IVersion__factory");
164
180
  Object.defineProperty(exports, "IVersion__factory", { enumerable: true, get: function () { return IVersion__factory_1.IVersion__factory; } });
165
181
  var IWETH__factory_1 = require("./factories/IWETH__factory");
166
182
  Object.defineProperty(exports, "IWETH__factory", { enumerable: true, get: function () { return IWETH__factory_1.IWETH__factory; } });
183
+ var IWETHGateway__factory_1 = require("./factories/IWETHGateway__factory");
184
+ Object.defineProperty(exports, "IWETHGateway__factory", { enumerable: true, get: function () { return IWETHGateway__factory_1.IWETHGateway__factory; } });
167
185
  var IWithdrawalManagerV3__factory_1 = require("./factories/IWithdrawalManagerV3.sol/IWithdrawalManagerV3__factory");
168
186
  Object.defineProperty(exports, "IWithdrawalManagerV3__factory", { enumerable: true, get: function () { return IWithdrawalManagerV3__factory_1.IWithdrawalManagerV3__factory; } });
169
187
  var IWithdrawalManagerV3Events__factory_1 = require("./factories/IWithdrawalManagerV3.sol/IWithdrawalManagerV3Events__factory");
170
188
  Object.defineProperty(exports, "IWithdrawalManagerV3Events__factory", { enumerable: true, get: function () { return IWithdrawalManagerV3Events__factory_1.IWithdrawalManagerV3Events__factory; } });
171
- var IYVault__factory_1 = require("./factories/IYVault__factory");
172
- Object.defineProperty(exports, "IYVault__factory", { enumerable: true, get: function () { return IYVault__factory_1.IYVault__factory; } });
173
- var IYearnV2Adapter__factory_1 = require("./factories/IYearnV2Adapter__factory");
174
- Object.defineProperty(exports, "IYearnV2Adapter__factory", { enumerable: true, get: function () { return IYearnV2Adapter__factory_1.IYearnV2Adapter__factory; } });
175
- var IstETH__factory_1 = require("./factories/IstETH.sol/IstETH__factory");
176
- Object.defineProperty(exports, "IstETH__factory", { enumerable: true, get: function () { return IstETH__factory_1.IstETH__factory; } });
177
- var IstETHGetters__factory_1 = require("./factories/IstETH.sol/IstETHGetters__factory");
178
- Object.defineProperty(exports, "IstETHGetters__factory", { enumerable: true, get: function () { return IstETHGetters__factory_1.IstETHGetters__factory; } });
179
189
  var IwstETH__factory_1 = require("./factories/IwstETH.sol/IwstETH__factory");
180
190
  Object.defineProperty(exports, "IwstETH__factory", { enumerable: true, get: function () { return IwstETH__factory_1.IwstETH__factory; } });
181
191
  var IwstETHGetters__factory_1 = require("./factories/IwstETH.sol/IwstETHGetters__factory");
182
192
  Object.defineProperty(exports, "IwstETHGetters__factory", { enumerable: true, get: function () { return IwstETHGetters__factory_1.IwstETHGetters__factory; } });
193
+ var IwstETHGateWay__factory_1 = require("./factories/IwstETHGateway.sol/IwstETHGateWay__factory");
194
+ Object.defineProperty(exports, "IwstETHGateWay__factory", { enumerable: true, get: function () { return IwstETHGateWay__factory_1.IwstETHGateWay__factory; } });
183
195
  var IwstETHV1Adapter__factory_1 = require("./factories/IwstETHV1Adapter__factory");
184
196
  Object.defineProperty(exports, "IwstETHV1Adapter__factory", { enumerable: true, get: function () { return IwstETHV1Adapter__factory_1.IwstETHV1Adapter__factory; } });
197
+ var IYearnV2Adapter__factory_1 = require("./factories/IYearnV2Adapter__factory");
198
+ Object.defineProperty(exports, "IYearnV2Adapter__factory", { enumerable: true, get: function () { return IYearnV2Adapter__factory_1.IYearnV2Adapter__factory; } });
199
+ var IYVault__factory_1 = require("./factories/IYVault__factory");
200
+ Object.defineProperty(exports, "IYVault__factory", { enumerable: true, get: function () { return IYVault__factory_1.IYVault__factory; } });
201
+ var IZapper__factory_1 = require("./factories/IZapper__factory");
202
+ Object.defineProperty(exports, "IZapper__factory", { enumerable: true, get: function () { return IZapper__factory_1.IZapper__factory; } });
185
203
  var Ownable__factory_1 = require("./factories/Ownable__factory");
186
204
  Object.defineProperty(exports, "Ownable__factory", { enumerable: true, get: function () { return Ownable__factory_1.Ownable__factory; } });
187
205
  var SafeERC20__factory_1 = require("./factories/SafeERC20__factory");
188
206
  Object.defineProperty(exports, "SafeERC20__factory", { enumerable: true, get: function () { return SafeERC20__factory_1.SafeERC20__factory; } });
189
- var WATokenZapper__factory_1 = require("./factories/WATokenZapper__factory");
190
- Object.defineProperty(exports, "WATokenZapper__factory", { enumerable: true, get: function () { return WATokenZapper__factory_1.WATokenZapper__factory; } });
191
- var WERC20ZapperBase__factory_1 = require("./factories/WERC20ZapperBase__factory");
192
- Object.defineProperty(exports, "WERC20ZapperBase__factory", { enumerable: true, get: function () { return WERC20ZapperBase__factory_1.WERC20ZapperBase__factory; } });
193
- var WETHZapper__factory_1 = require("./factories/WETHZapper__factory");
194
- Object.defineProperty(exports, "WETHZapper__factory", { enumerable: true, get: function () { return WETHZapper__factory_1.WETHZapper__factory; } });
195
- var WstETHZapper__factory_1 = require("./factories/WstETHZapper__factory");
196
- Object.defineProperty(exports, "WstETHZapper__factory", { enumerable: true, get: function () { return WstETHZapper__factory_1.WstETHZapper__factory; } });
197
- var ZapperBase__factory_1 = require("./factories/ZapperBase__factory");
198
- Object.defineProperty(exports, "ZapperBase__factory", { enumerable: true, get: function () { return ZapperBase__factory_1.ZapperBase__factory; } });
199
- var IERC20Permit__factory_1 = require("./factories/draft-IERC20Permit.sol/IERC20Permit__factory");
200
- Object.defineProperty(exports, "IERC20Permit__factory", { enumerable: true, get: function () { return IERC20Permit__factory_1.IERC20Permit__factory; } });
@@ -1,7 +1,7 @@
1
1
  import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
2
2
  import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
3
  import type { Listener, Provider } from "@ethersproject/providers";
4
- import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../common";
5
5
  export type SwapTaskStruct = {
6
6
  swapOperation: PromiseOrValue<BigNumberish>;
7
7
  creditAccount: PromiseOrValue<string>;
@@ -78,11 +78,12 @@ export interface IRouterInterface extends utils.Interface {
78
78
  "findBestClosePath(address,address[],uint256,(address,uint8,uint8)[],uint256,bool)": FunctionFragment;
79
79
  "findOneTokenPath(address,uint256,address,address,address[],uint256)": FunctionFragment;
80
80
  "findOpenStrategyPath(address,(address,uint256)[],address,address[],uint256)": FunctionFragment;
81
+ "getGasPriceTokenOutRAY(address)": FunctionFragment;
81
82
  "isRouterConfigurator(address)": FunctionFragment;
82
83
  "tokenTypes(address)": FunctionFragment;
83
84
  "version()": FunctionFragment;
84
85
  };
85
- getFunction(nameOrSignatureOrTopic: "componentAddressById" | "findAllSwaps" | "findBestClosePath" | "findOneTokenPath" | "findOpenStrategyPath" | "isRouterConfigurator" | "tokenTypes" | "version"): FunctionFragment;
86
+ getFunction(nameOrSignatureOrTopic: "componentAddressById" | "findAllSwaps" | "findBestClosePath" | "findOneTokenPath" | "findOpenStrategyPath" | "getGasPriceTokenOutRAY" | "isRouterConfigurator" | "tokenTypes" | "version"): FunctionFragment;
86
87
  encodeFunctionData(functionFragment: "componentAddressById", values: [PromiseOrValue<BigNumberish>]): string;
87
88
  encodeFunctionData(functionFragment: "findAllSwaps", values: [SwapTaskStruct]): string;
88
89
  encodeFunctionData(functionFragment: "findBestClosePath", values: [
@@ -108,6 +109,7 @@ export interface IRouterInterface extends utils.Interface {
108
109
  PromiseOrValue<string>[],
109
110
  PromiseOrValue<BigNumberish>
110
111
  ]): string;
112
+ encodeFunctionData(functionFragment: "getGasPriceTokenOutRAY", values: [PromiseOrValue<string>]): string;
111
113
  encodeFunctionData(functionFragment: "isRouterConfigurator", values: [PromiseOrValue<string>]): string;
112
114
  encodeFunctionData(functionFragment: "tokenTypes", values: [PromiseOrValue<string>]): string;
113
115
  encodeFunctionData(functionFragment: "version", values?: undefined): string;
@@ -116,6 +118,7 @@ export interface IRouterInterface extends utils.Interface {
116
118
  decodeFunctionResult(functionFragment: "findBestClosePath", data: BytesLike): Result;
117
119
  decodeFunctionResult(functionFragment: "findOneTokenPath", data: BytesLike): Result;
118
120
  decodeFunctionResult(functionFragment: "findOpenStrategyPath", data: BytesLike): Result;
121
+ decodeFunctionResult(functionFragment: "getGasPriceTokenOutRAY", data: BytesLike): Result;
119
122
  decodeFunctionResult(functionFragment: "isRouterConfigurator", data: BytesLike): Result;
120
123
  decodeFunctionResult(functionFragment: "tokenTypes", data: BytesLike): Result;
121
124
  decodeFunctionResult(functionFragment: "version", data: BytesLike): Result;
@@ -185,6 +188,9 @@ export interface IRouter extends BaseContract {
185
188
  findOpenStrategyPath(creditManager: PromiseOrValue<string>, balances: BalanceStruct[], target: PromiseOrValue<string>, connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
186
189
  from?: PromiseOrValue<string>;
187
190
  }): Promise<ContractTransaction>;
191
+ getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber] & {
192
+ gasPrice: BigNumber;
193
+ }>;
188
194
  isRouterConfigurator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
189
195
  tokenTypes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[number]>;
190
196
  version(overrides?: CallOverrides): Promise<[BigNumber]>;
@@ -202,6 +208,7 @@ export interface IRouter extends BaseContract {
202
208
  findOpenStrategyPath(creditManager: PromiseOrValue<string>, balances: BalanceStruct[], target: PromiseOrValue<string>, connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
203
209
  from?: PromiseOrValue<string>;
204
210
  }): Promise<ContractTransaction>;
211
+ getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
205
212
  isRouterConfigurator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
206
213
  tokenTypes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
207
214
  version(overrides?: CallOverrides): Promise<BigNumber>;
@@ -217,6 +224,7 @@ export interface IRouter extends BaseContract {
217
224
  }>;
218
225
  findOneTokenPath(tokenIn: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, tokenOut: PromiseOrValue<string>, creditAccount: PromiseOrValue<string>, connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<RouterResultStructOutput>;
219
226
  findOpenStrategyPath(creditManager: PromiseOrValue<string>, balances: BalanceStruct[], target: PromiseOrValue<string>, connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BalanceStructOutput[], RouterResultStructOutput]>;
227
+ getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
220
228
  isRouterConfigurator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
221
229
  tokenTypes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<number>;
222
230
  version(overrides?: CallOverrides): Promise<BigNumber>;
@@ -243,6 +251,7 @@ export interface IRouter extends BaseContract {
243
251
  findOpenStrategyPath(creditManager: PromiseOrValue<string>, balances: BalanceStruct[], target: PromiseOrValue<string>, connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
244
252
  from?: PromiseOrValue<string>;
245
253
  }): Promise<BigNumber>;
254
+ getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
246
255
  isRouterConfigurator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
247
256
  tokenTypes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
248
257
  version(overrides?: CallOverrides): Promise<BigNumber>;
@@ -261,6 +270,7 @@ export interface IRouter extends BaseContract {
261
270
  findOpenStrategyPath(creditManager: PromiseOrValue<string>, balances: BalanceStruct[], target: PromiseOrValue<string>, connectors: PromiseOrValue<string>[], slippage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
262
271
  from?: PromiseOrValue<string>;
263
272
  }): Promise<PopulatedTransaction>;
273
+ getGasPriceTokenOutRAY(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
264
274
  isRouterConfigurator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
265
275
  tokenTypes(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
266
276
  version(overrides?: CallOverrides): Promise<PopulatedTransaction>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type { IRouter } from "./IRouter";
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,9 +1,6 @@
1
1
  import { BigNumberish } from "ethers";
2
2
  export declare function rayToNumber(num: BigNumberish): number;
3
3
  export declare function formatRAY(num?: bigint): string;
4
- export declare function formatBN(num: BigNumberish | undefined, decimals: number, precision?: number): string;
5
- export declare function formatBn4dig(num: bigint, precision?: number): string;
6
- export declare function toHumanFormat(num: bigint, precision?: number): string;
7
4
  export declare function toSignificant(num: bigint, decimals: number): string;
8
5
  export declare function toBN(num: string, decimals: number): bigint;
9
6
  export declare function shortAddress(address?: string): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatDateTime = exports.formatLeverage = exports.formatPercentage = exports.formatDate = exports.shortHash = exports.shortAddress = exports.toBN = exports.toSignificant = exports.toHumanFormat = exports.formatBn4dig = exports.formatBN = exports.formatRAY = exports.rayToNumber = void 0;
3
+ exports.formatDateTime = exports.formatLeverage = exports.formatPercentage = exports.formatDate = exports.shortHash = exports.shortAddress = exports.toBN = exports.toSignificant = exports.formatRAY = exports.rayToNumber = void 0;
4
4
  const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
5
5
  const decimal_js_light_1 = require("decimal.js-light");
6
6
  const moment_1 = require("moment");
@@ -12,72 +12,6 @@ function formatRAY(num = 0n) {
12
12
  return toSignificant(num, 27);
13
13
  }
14
14
  exports.formatRAY = formatRAY;
15
- const limitPrecision = (n, p) => {
16
- const notZero = n !== 0n;
17
- if (n <= 10n && notZero) {
18
- return 6;
19
- }
20
- if (n <= 100n && notZero) {
21
- return 5;
22
- }
23
- if (n <= 1000n && notZero) {
24
- return 4;
25
- }
26
- if (n <= 10000n && notZero) {
27
- return 3;
28
- }
29
- if (p === undefined && n > 10n ** 21n) {
30
- return 2;
31
- }
32
- if (p === undefined && n > 10n ** 24n) {
33
- return 0;
34
- }
35
- return p;
36
- };
37
- const limitNum = (n, d = 18) => {
38
- let limited = n <= 2n ? 0n : n;
39
- if (d <= 6) {
40
- return limited * 10n ** BigInt(6 - d);
41
- }
42
- else {
43
- return limited / 10n ** BigInt(d - 6);
44
- }
45
- };
46
- function formatBN(num, decimals, precision) {
47
- if (num === undefined)
48
- return "-";
49
- const numBInt = (0, sdk_gov_1.toBigInt)(num);
50
- // GUSD: 2 decimals
51
- const limitedNum = limitNum(numBInt, decimals);
52
- const limitedPrecision = limitPrecision(limitedNum, precision);
53
- return toHumanFormat(limitedNum, limitedPrecision);
54
- }
55
- exports.formatBN = formatBN;
56
- function formatBn4dig(num, precision = 2) {
57
- if (precision > 6) {
58
- throw new Error("Precision is too high, try <= 6");
59
- }
60
- const numStr = num.toString();
61
- if (numStr.length <= 6) {
62
- const completed = "0".repeat(6 - numStr.length) + numStr;
63
- return `0.${completed.slice(0, precision)}`;
64
- }
65
- return `${numStr.slice(0, numStr.length - 6)}.${numStr.slice(numStr.length - 6, numStr.length - 6 + precision)}`;
66
- }
67
- exports.formatBn4dig = formatBn4dig;
68
- function toHumanFormat(num, precision = 2) {
69
- if (num >= BigInt(1e15)) {
70
- return `${formatBn4dig(num / BigInt(1e9), precision)}Bn`;
71
- }
72
- if (num >= BigInt(1e12)) {
73
- return `${formatBn4dig(num / BigInt(1e6), precision)}M`;
74
- }
75
- if (num >= BigInt(1e9)) {
76
- return `${formatBn4dig(num / BigInt(1e3), precision)}K`;
77
- }
78
- return formatBn4dig(num, precision);
79
- }
80
- exports.toHumanFormat = toHumanFormat;
81
15
  function toSignificant(num, decimals) {
82
16
  if (num === 1n)
83
17
  return "0";
@@ -7,4 +7,6 @@ export declare const nonNegativeBn: (v: bigint) => bigint;
7
7
  export declare class BigIntMath {
8
8
  static abs: (x: bigint) => bigint;
9
9
  static toHexString: (x: bigint) => string;
10
+ static max: (a: bigint, b: bigint) => bigint;
11
+ static min: (a: bigint, b: bigint) => bigint;
10
12
  }
package/lib/utils/math.js CHANGED
@@ -41,5 +41,7 @@ exports.nonNegativeBn = nonNegativeBn;
41
41
  class BigIntMath {
42
42
  static abs = (x) => (x < 0n ? -x : x);
43
43
  static toHexString = (x) => ethers_1.BigNumber.from(x).toHexString();
44
+ static max = (a, b) => (a > b ? a : b);
45
+ static min = (a, b) => (a < b ? a : b);
44
46
  }
45
47
  exports.BigIntMath = BigIntMath;
@@ -2,3 +2,4 @@ import { BigNumber } from "ethers";
2
2
  export type BigintifyProps<T extends {}> = {
3
3
  [K in keyof T]: T[K] extends BigNumber ? bigint : T[K];
4
4
  };
5
+ export type PartialKeys<T, K extends keyof T> = Partial<Pick<T, K>> & Omit<T, K>;
@@ -10,7 +10,7 @@ interface BatchCreditAccountLoadOptions {
10
10
  atBlock?: number;
11
11
  chunkSize?: number;
12
12
  }
13
- export declare class CreditAccountWatcher {
13
+ export declare class CreditAccountWatcherV2 {
14
14
  static IERC20: import("../types/IERC20").IERC20Interface;
15
15
  static creditManagerInterface: import("../types/ICreditManagerV2.sol/ICreditManagerV2").ICreditManagerV2Interface;
16
16
  static creditConfiguratorInterface: import("../types/ICreditConfiguratorV2.sol/ICreditConfiguratorV2").ICreditConfiguratorV2Interface;
@@ -23,7 +23,7 @@ export declare class CreditAccountWatcher {
23
23
  * @returns Arrays of hashes for opened accounts
24
24
  */
25
25
  static getOpenAccounts(creditManager: CreditManagerData, provider: providers.Provider, toBlock?: number): Promise<Array<CreditAccountHash>>;
26
- static batchCreditAccountLoad(accs: Array<CreditAccountHash>, dataCompressor: string, signer: Signer | providers.Provider, options?: BatchCreditAccountLoadOptions | number): Promise<Array<CreditAccountData>>;
26
+ static batchCreditAccountLoad(accs: Array<CreditAccountHash>, dataCompressor210: string, signer: Signer | providers.Provider, options?: BatchCreditAccountLoadOptions | number): Promise<Array<CreditAccountData>>;
27
27
  /**
28
28
  * Tracks block logs and detects whichj acccounts were changed (created / modified) and which were deleted
29
29
  * @param logs Logs from last N blocks
@@ -32,5 +32,6 @@ export declare class CreditAccountWatcher {
32
32
  */
33
33
  static detectChanges(logs: Array<providers.Log>, creditManagers: Array<CreditManagerData>): CreditManagerUpdate;
34
34
  static trackDirectTransfers(freshLogs: Array<providers.Log>, tokensToTrack: Array<string>, accounts: Array<CreditAccountData>): Array<CreditAccountHash>;
35
+ private static assertCMSupported;
35
36
  }
36
37
  export {};
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CreditAccountWatcher = void 0;
3
+ exports.CreditAccountWatcherV2 = void 0;
4
4
  const sdk_gov_1 = require("@gearbox-protocol/sdk-gov");
5
5
  const creditAccount_1 = require("../core/creditAccount");
6
6
  const types_1 = require("../types");
7
- class CreditAccountWatcher {
7
+ class CreditAccountWatcherV2 {
8
8
  static IERC20 = types_1.IERC20__factory.createInterface();
9
9
  static creditManagerInterface = types_1.ICreditManagerV2__factory.createInterface();
10
10
  static creditConfiguratorInterface = types_1.ICreditConfiguratorV2__factory.createInterface();
@@ -17,9 +17,7 @@ class CreditAccountWatcher {
17
17
  * @returns Arrays of hashes for opened accounts
18
18
  */
19
19
  static async getOpenAccounts(creditManager, provider, toBlock) {
20
- if (!(creditManager.version === 2 || creditManager.version === 210)) {
21
- throw new Error("Works for V2 only");
22
- }
20
+ CreditAccountWatcherV2.assertCMSupported(creditManager);
23
21
  const eventsByDate = [];
24
22
  const addToEvents = (e, address, operation) => {
25
23
  eventsByDate.push({
@@ -83,7 +81,7 @@ class CreditAccountWatcher {
83
81
  });
84
82
  return Array.from(accounts.values()).map(borrower => creditAccount_1.CreditAccountData.hash(creditManager.address, borrower));
85
83
  }
86
- static async batchCreditAccountLoad(accs, dataCompressor, signer, options) {
84
+ static async batchCreditAccountLoad(accs, dataCompressor210, signer, options) {
87
85
  let chunkSize = 1000;
88
86
  let atBlock;
89
87
  if (typeof options === "object") {
@@ -94,7 +92,7 @@ class CreditAccountWatcher {
94
92
  atBlock = options;
95
93
  }
96
94
  const dcInterface = types_1.IDataCompressorV2_10__factory.createInterface();
97
- const dcmc = new sdk_gov_1.MultiCallContract(dataCompressor, dcInterface, signer);
95
+ const dcmc = new sdk_gov_1.MultiCallContract(dataCompressor210, dcInterface, signer);
98
96
  const calls = [];
99
97
  for (let i = 0; i < accs.length; i++) {
100
98
  const chunk = accs.slice(i * chunkSize, (i + 1) * chunkSize);
@@ -119,7 +117,10 @@ class CreditAccountWatcher {
119
117
  * @returns CreditManagerUpdate which contains updated (created / modified) and deleted accounts
120
118
  */
121
119
  static detectChanges(logs, creditManagers) {
122
- const cms = creditManagers.map(c => c.address.toLowerCase());
120
+ const cms = creditManagers.map(cm => {
121
+ CreditAccountWatcherV2.assertCMSupported(cm);
122
+ return cm.address.toLowerCase();
123
+ });
123
124
  const cfToCm = {};
124
125
  const ccToCm = {};
125
126
  // maps credit manager addr to credit configurator addresses
@@ -135,7 +136,7 @@ class CreditAccountWatcher {
135
136
  for (let log of logs) {
136
137
  const logAddr = log.address.toLowerCase();
137
138
  if (cms.includes(logAddr)) {
138
- const { name, args } = CreditAccountWatcher.creditManagerInterface.parseLog(log);
139
+ const { name, args } = CreditAccountWatcherV2.creditManagerInterface.parseLog(log);
139
140
  if (name === "ExecuteOrder") {
140
141
  const { borrower } = args;
141
142
  if (!borrower)
@@ -151,14 +152,14 @@ class CreditAccountWatcher {
151
152
  }
152
153
  }
153
154
  else if (logAddr in ccToCm) {
154
- const { name, args } = CreditAccountWatcher.creditConfiguratorInterface.parseLog(log);
155
+ const { name, args } = CreditAccountWatcherV2.creditConfiguratorInterface.parseLog(log);
155
156
  if (name === "CreditFacadeUpgraded") {
156
157
  const newCreditFacade = args.newCreditFacade.toLowerCase();
157
158
  cfToCm[newCreditFacade] = ccToCm[logAddr];
158
159
  }
159
160
  }
160
161
  else if (logAddr in cfToCm) {
161
- const { name, args } = CreditAccountWatcher.creditFacadeInterface.parseLog(log);
162
+ const { name, args } = CreditAccountWatcherV2.creditFacadeInterface.parseLog(log);
162
163
  switch (name) {
163
164
  case "OpenCreditAccount":
164
165
  case "AddCollateral": {
@@ -225,7 +226,7 @@ class CreditAccountWatcher {
225
226
  });
226
227
  for (let log of freshLogs) {
227
228
  if (tkns.includes(log.address.toLocaleLowerCase())) {
228
- const { name, args } = CreditAccountWatcher.IERC20.parseLog(log);
229
+ const { name, args } = CreditAccountWatcherV2.IERC20.parseLog(log);
229
230
  if (name === "Transfer" &&
230
231
  accAddresses.includes(args.to.toLowerCase())) {
231
232
  modified.add(accToCa[args.to.toLowerCase()].hash());
@@ -234,5 +235,10 @@ class CreditAccountWatcher {
234
235
  }
235
236
  return Array.from(modified);
236
237
  }
238
+ static assertCMSupported(cm) {
239
+ if (cm.version < 2 || cm.version > 299) {
240
+ throw new Error(`CreditAccountWatcherV2 does not support credit manager version ${cm.version}`);
241
+ }
242
+ }
237
243
  }
238
- exports.CreditAccountWatcher = CreditAccountWatcher;
244
+ exports.CreditAccountWatcherV2 = CreditAccountWatcherV2;