@gearbox-protocol/sdk 0.0.1

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 (640) hide show
  1. package/.idea/gearbox-sdk.iml +12 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.idea/vcs.xml +6 -0
  4. package/.prettierrc +10 -0
  5. package/README.md +4 -0
  6. package/lib/config.d.ts +1 -0
  7. package/lib/config.js +4 -0
  8. package/lib/core/constants.d.ts +17 -0
  9. package/lib/core/constants.js +36 -0
  10. package/lib/core/contracts.d.ts +64 -0
  11. package/lib/core/contracts.js +104 -0
  12. package/lib/core/contractsRegister.d.ts +2 -0
  13. package/lib/core/contractsRegister.js +43 -0
  14. package/lib/core/creditAccount.d.ts +35 -0
  15. package/lib/core/creditAccount.js +98 -0
  16. package/lib/core/creditCard.d.ts +13 -0
  17. package/lib/core/creditCard.js +2 -0
  18. package/lib/core/creditManager.d.ts +37 -0
  19. package/lib/core/creditManager.js +118 -0
  20. package/lib/core/creditOperation.d.ts +9 -0
  21. package/lib/core/creditOperation.js +2 -0
  22. package/lib/core/creditSession.d.ts +26 -0
  23. package/lib/core/creditSession.js +44 -0
  24. package/lib/core/errors.d.ts +26 -0
  25. package/lib/core/errors.js +74 -0
  26. package/lib/core/event.d.ts +42 -0
  27. package/lib/core/event.js +2 -0
  28. package/lib/core/eventOrTx.d.ts +36 -0
  29. package/lib/core/eventOrTx.js +97 -0
  30. package/lib/core/events.d.ts +369 -0
  31. package/lib/core/events.js +730 -0
  32. package/lib/core/history.d.ts +42 -0
  33. package/lib/core/history.js +2 -0
  34. package/lib/core/operations.d.ts +22 -0
  35. package/lib/core/operations.js +20 -0
  36. package/lib/core/oracles.d.ts +6 -0
  37. package/lib/core/oracles.js +2 -0
  38. package/lib/core/pool.d.ts +28 -0
  39. package/lib/core/pool.js +32 -0
  40. package/lib/core/swap.d.ts +4 -0
  41. package/lib/core/swap.js +8 -0
  42. package/lib/core/token.d.ts +3 -0
  43. package/lib/core/token.js +229 -0
  44. package/lib/core/tokenData.d.ts +28 -0
  45. package/lib/core/tokenData.js +58 -0
  46. package/lib/core/tokenDistributor.d.ts +12 -0
  47. package/lib/core/tokenDistributor.js +9 -0
  48. package/lib/core/trade.d.ts +35 -0
  49. package/lib/core/trade.js +62 -0
  50. package/lib/core/transactions.d.ts +127 -0
  51. package/lib/core/transactions.js +306 -0
  52. package/lib/index.d.ts +33 -0
  53. package/lib/index.js +47 -0
  54. package/lib/payload/creditAccount.d.ts +26 -0
  55. package/lib/payload/creditAccount.js +2 -0
  56. package/lib/payload/creditManager.d.ts +43 -0
  57. package/lib/payload/creditManager.js +2 -0
  58. package/lib/payload/creditSession.d.ts +23 -0
  59. package/lib/payload/creditSession.js +2 -0
  60. package/lib/payload/graphPayload.d.ts +9 -0
  61. package/lib/payload/graphPayload.js +2 -0
  62. package/lib/payload/pool.d.ts +17 -0
  63. package/lib/payload/pool.js +3 -0
  64. package/lib/payload/token.d.ts +5 -0
  65. package/lib/payload/token.js +2 -0
  66. package/lib/types/ACL.d.ts +491 -0
  67. package/lib/types/ACLTrait.d.ts +148 -0
  68. package/lib/types/ACLTraitTest.d.ts +209 -0
  69. package/lib/types/AbstractAccountMiner.d.ts +143 -0
  70. package/lib/types/AccountFactory.d.ts +716 -0
  71. package/lib/types/AccountMinerAuction.d.ts +391 -0
  72. package/lib/types/AccountMinerMock.d.ts +241 -0
  73. package/lib/types/AccountMinerNonReceivableTest.d.ts +127 -0
  74. package/lib/types/AccountMinerOwnFunds.d.ts +218 -0
  75. package/lib/types/AccountMining.d.ts +222 -0
  76. package/lib/types/AdaptersDeployer.d.ts +262 -0
  77. package/lib/types/AddressProvider.d.ts +912 -0
  78. package/lib/types/AggregatorV3Interface.d.ts +234 -0
  79. package/lib/types/ChainlinkPriceFeedMock.d.ts +215 -0
  80. package/lib/types/ContractsRegister.d.ts +398 -0
  81. package/lib/types/CoreDeployer.d.ts +394 -0
  82. package/lib/types/CreditAccount.d.ts +443 -0
  83. package/lib/types/CreditFilter.d.ts +1609 -0
  84. package/lib/types/CreditFilterMock.d.ts +1687 -0
  85. package/lib/types/CreditManager.d.ts +1285 -0
  86. package/lib/types/CreditManagerMockForFilter.d.ts +605 -0
  87. package/lib/types/CreditManagerMockForPoolTest.d.ts +204 -0
  88. package/lib/types/CurveMock.d.ts +298 -0
  89. package/lib/types/CurveV1Adapter.d.ts +349 -0
  90. package/lib/types/DataCompressor.d.ts +1331 -0
  91. package/lib/types/Deployer.d.ts +224 -0
  92. package/lib/types/DieselToken.d.ts +567 -0
  93. package/lib/types/ERC165.d.ts +116 -0
  94. package/lib/types/ERC20.d.ts +411 -0
  95. package/lib/types/ERC20BlockingMock.d.ts +568 -0
  96. package/lib/types/ERC721.d.ts +625 -0
  97. package/lib/types/Errors.d.ts +1854 -0
  98. package/lib/types/ExecutorMock.d.ts +140 -0
  99. package/lib/types/FlashLoanAttacker.d.ts +170 -0
  100. package/lib/types/FuzzHarness.d.ts +124 -0
  101. package/lib/types/GearBeta.d.ts +745 -0
  102. package/lib/types/GearToken.d.ts +888 -0
  103. package/lib/types/GenesisDeployer.d.ts +282 -0
  104. package/lib/types/IAccountFactory.d.ts +317 -0
  105. package/lib/types/IAccountMiner.d.ts +124 -0
  106. package/lib/types/IAppAddressProvider.d.ts +198 -0
  107. package/lib/types/IAppCreditManager.d.ts +408 -0
  108. package/lib/types/IAppERC20.d.ts +309 -0
  109. package/lib/types/IAppPoolService.d.ts +166 -0
  110. package/lib/types/ICreditAccount.d.ts +430 -0
  111. package/lib/types/ICreditAccountData.d.ts +347 -0
  112. package/lib/types/ICreditFilter.d.ts +1162 -0
  113. package/lib/types/ICreditManager.d.ts +971 -0
  114. package/lib/types/ICurvePool.d.ts +298 -0
  115. package/lib/types/IDataCompressor.d.ts +1231 -0
  116. package/lib/types/IERC165.d.ts +116 -0
  117. package/lib/types/IERC20.d.ts +294 -0
  118. package/lib/types/IERC721.d.ts +472 -0
  119. package/lib/types/IERC721Enumerable.d.ts +564 -0
  120. package/lib/types/IERC721Metadata.d.ts +523 -0
  121. package/lib/types/IERC721Receiver.d.ts +132 -0
  122. package/lib/types/IGearToken.d.ts +527 -0
  123. package/lib/types/IInterestRateModel.d.ts +121 -0
  124. package/lib/types/IMerkleDistributor.d.ts +190 -0
  125. package/lib/types/IPoolService.d.ts +772 -0
  126. package/lib/types/IPriceOracle.d.ts +211 -0
  127. package/lib/types/IQuoter.d.ts +269 -0
  128. package/lib/types/ISwapRouter.d.ts +404 -0
  129. package/lib/types/IUniswapV2Migrator.d.ts +134 -0
  130. package/lib/types/IUniswapV2Router01.d.ts +1119 -0
  131. package/lib/types/IUniswapV2Router02.d.ts +1432 -0
  132. package/lib/types/IUniswapV3SwapCallback.d.ts +127 -0
  133. package/lib/types/IWETH.d.ts +169 -0
  134. package/lib/types/IWETHGateway.d.ts +335 -0
  135. package/lib/types/IYVault.d.ts +558 -0
  136. package/lib/types/LeveragedActions.d.ts +772 -0
  137. package/lib/types/LinearInterestRateModel.d.ts +279 -0
  138. package/lib/types/MockPoolService.d.ts +1271 -0
  139. package/lib/types/Multicall2.d.ts +449 -0
  140. package/lib/types/Ownable.d.ts +169 -0
  141. package/lib/types/PathFinder.d.ts +379 -0
  142. package/lib/types/Pausable.d.ts +105 -0
  143. package/lib/types/PercentageMathTest.d.ts +154 -0
  144. package/lib/types/PoolDeployer.d.ts +282 -0
  145. package/lib/types/PoolService.d.ts +1174 -0
  146. package/lib/types/PriceOracle.d.ts +387 -0
  147. package/lib/types/Proxy.d.ts +78 -0
  148. package/lib/types/StepVesting.d.ts +411 -0
  149. package/lib/types/TestPoolService.d.ts +1294 -0
  150. package/lib/types/TokenDistributor.d.ts +640 -0
  151. package/lib/types/TokenFeeMock.d.ts +544 -0
  152. package/lib/types/TokenMock.d.ts +531 -0
  153. package/lib/types/TreasuryMock.d.ts +86 -0
  154. package/lib/types/UniswapRouterMock.d.ts +1520 -0
  155. package/lib/types/UniswapV2Adapter.d.ts +1463 -0
  156. package/lib/types/UniswapV3Adapter.d.ts +455 -0
  157. package/lib/types/VestingDeployer.d.ts +247 -0
  158. package/lib/types/WETHGateway.d.ts +376 -0
  159. package/lib/types/WETHMock.d.ts +433 -0
  160. package/lib/types/WadRayMathTest.d.ts +316 -0
  161. package/lib/types/YearnAdapter.d.ts +609 -0
  162. package/lib/types/YearnMock.d.ts +795 -0
  163. package/lib/types/YearnPriceFeed.d.ts +399 -0
  164. package/lib/types/commons.d.ts +16 -0
  165. package/lib/types/commons.js +5 -0
  166. package/lib/types/factories/ACLTraitTest__factory.d.ts +52 -0
  167. package/lib/types/factories/ACLTraitTest__factory.js +138 -0
  168. package/lib/types/factories/ACLTrait__factory.d.ts +31 -0
  169. package/lib/types/factories/ACLTrait__factory.js +75 -0
  170. package/lib/types/factories/ACL__factory.d.ts +45 -0
  171. package/lib/types/factories/ACL__factory.js +317 -0
  172. package/lib/types/factories/AbstractAccountMiner__factory.d.ts +30 -0
  173. package/lib/types/factories/AbstractAccountMiner__factory.js +61 -0
  174. package/lib/types/factories/AccountFactory__factory.d.ts +72 -0
  175. package/lib/types/factories/AccountFactory__factory.js +508 -0
  176. package/lib/types/factories/AccountMinerAuction__factory.js +304 -0
  177. package/lib/types/factories/AccountMinerMock__factory.js +196 -0
  178. package/lib/types/factories/AccountMinerNonReceivableTest__factory.js +84 -0
  179. package/lib/types/factories/AccountMinerOwnFunds__factory.js +181 -0
  180. package/lib/types/factories/AccountMining__factory.d.ts +56 -0
  181. package/lib/types/factories/AccountMining__factory.js +192 -0
  182. package/lib/types/factories/AdaptersDeployer__factory.d.ts +85 -0
  183. package/lib/types/factories/AdaptersDeployer__factory.js +202 -0
  184. package/lib/types/factories/AddressProvider__factory.d.ts +52 -0
  185. package/lib/types/factories/AddressProvider__factory.js +582 -0
  186. package/lib/types/factories/AggregatorV3Interface__factory.d.ts +22 -0
  187. package/lib/types/factories/AggregatorV3Interface__factory.js +133 -0
  188. package/lib/types/factories/ChainlinkPriceFeedMock__factory.d.ts +42 -0
  189. package/lib/types/factories/ChainlinkPriceFeedMock__factory.js +193 -0
  190. package/lib/types/factories/ContractsRegister__factory.d.ts +56 -0
  191. package/lib/types/factories/ContractsRegister__factory.js +310 -0
  192. package/lib/types/factories/CoreDeployer__factory.js +331 -0
  193. package/lib/types/factories/CreditAccount__factory.d.ts +32 -0
  194. package/lib/types/factories/CreditAccount__factory.js +262 -0
  195. package/lib/types/factories/CreditFilterMock__factory.d.ts +56 -0
  196. package/lib/types/factories/CreditFilterMock__factory.js +1083 -0
  197. package/lib/types/factories/CreditFilter__factory.d.ts +56 -0
  198. package/lib/types/factories/CreditFilter__factory.js +1047 -0
  199. package/lib/types/factories/CreditManagerMockForFilter__factory.d.ts +38 -0
  200. package/lib/types/factories/CreditManagerMockForFilter__factory.js +324 -0
  201. package/lib/types/factories/CreditManagerMockForPoolTest__factory.d.ts +48 -0
  202. package/lib/types/factories/CreditManagerMockForPoolTest__factory.js +131 -0
  203. package/lib/types/factories/CreditManager__factory.d.ts +77 -0
  204. package/lib/types/factories/CreditManager__factory.js +1030 -0
  205. package/lib/types/factories/CurveMock__factory.d.ts +42 -0
  206. package/lib/types/factories/CurveMock__factory.js +210 -0
  207. package/lib/types/factories/CurveV1Adapter__factory.d.ts +42 -0
  208. package/lib/types/factories/CurveV1Adapter__factory.js +254 -0
  209. package/lib/types/factories/DataCompressor__factory.d.ts +71 -0
  210. package/lib/types/factories/DataCompressor__factory.js +944 -0
  211. package/lib/types/factories/Deployer__factory.js +248 -0
  212. package/lib/types/factories/DieselToken__factory.d.ts +56 -0
  213. package/lib/types/factories/DieselToken__factory.js +432 -0
  214. package/lib/types/factories/ERC165__factory.d.ts +22 -0
  215. package/lib/types/factories/ERC165__factory.js +41 -0
  216. package/lib/types/factories/ERC20BlockingMock__factory.d.ts +56 -0
  217. package/lib/types/factories/ERC20BlockingMock__factory.js +429 -0
  218. package/lib/types/factories/ERC20__factory.d.ts +56 -0
  219. package/lib/types/factories/ERC20__factory.js +339 -0
  220. package/lib/types/factories/ERC721__factory.d.ts +56 -0
  221. package/lib/types/factories/ERC721__factory.js +468 -0
  222. package/lib/types/factories/Errors__factory.d.ts +28 -0
  223. package/lib/types/factories/Errors__factory.js +1015 -0
  224. package/lib/types/factories/ExecutorMock__factory.d.ts +38 -0
  225. package/lib/types/factories/ExecutorMock__factory.js +103 -0
  226. package/lib/types/factories/FlashLoanAttacker__factory.d.ts +48 -0
  227. package/lib/types/factories/FlashLoanAttacker__factory.js +117 -0
  228. package/lib/types/factories/FuzzHarness__factory.d.ts +38 -0
  229. package/lib/types/factories/FuzzHarness__factory.js +92 -0
  230. package/lib/types/factories/GearBeta__factory.d.ts +52 -0
  231. package/lib/types/factories/GearBeta__factory.js +527 -0
  232. package/lib/types/factories/GearToken__factory.d.ts +56 -0
  233. package/lib/types/factories/GearToken__factory.js +708 -0
  234. package/lib/types/factories/GenesisDeployer__factory.d.ts +108 -0
  235. package/lib/types/factories/GenesisDeployer__factory.js +231 -0
  236. package/lib/types/factories/IAccountFactory__factory.d.ts +35 -0
  237. package/lib/types/factories/IAccountFactory__factory.js +226 -0
  238. package/lib/types/factories/IAccountMiner__factory.d.ts +28 -0
  239. package/lib/types/factories/IAccountMiner__factory.js +48 -0
  240. package/lib/types/factories/IAppAddressProvider__factory.d.ts +18 -0
  241. package/lib/types/factories/IAppAddressProvider__factory.js +100 -0
  242. package/lib/types/factories/IAppCreditManager__factory.d.ts +42 -0
  243. package/lib/types/factories/IAppCreditManager__factory.js +204 -0
  244. package/lib/types/factories/IAppERC20__factory.d.ts +22 -0
  245. package/lib/types/factories/IAppERC20__factory.js +194 -0
  246. package/lib/types/factories/IAppPoolService__factory.d.ts +22 -0
  247. package/lib/types/factories/IAppPoolService__factory.js +69 -0
  248. package/lib/types/factories/ICreditAccountData__factory.d.ts +35 -0
  249. package/lib/types/factories/ICreditAccountData__factory.js +216 -0
  250. package/lib/types/factories/ICreditAccount__factory.d.ts +22 -0
  251. package/lib/types/factories/ICreditAccount__factory.js +218 -0
  252. package/lib/types/factories/ICreditFilter__factory.d.ts +35 -0
  253. package/lib/types/factories/ICreditFilter__factory.js +700 -0
  254. package/lib/types/factories/ICreditManager__factory.d.ts +56 -0
  255. package/lib/types/factories/ICreditManager__factory.js +720 -0
  256. package/lib/types/factories/ICurvePool__factory.d.ts +22 -0
  257. package/lib/types/factories/ICurvePool__factory.js +168 -0
  258. package/lib/types/factories/IDataCompressor__factory.d.ts +51 -0
  259. package/lib/types/factories/IDataCompressor__factory.js +826 -0
  260. package/lib/types/factories/IERC165__factory.d.ts +22 -0
  261. package/lib/types/factories/IERC165__factory.js +41 -0
  262. package/lib/types/factories/IERC20__factory.d.ts +35 -0
  263. package/lib/types/factories/IERC20__factory.js +205 -0
  264. package/lib/types/factories/IERC721Enumerable__factory.d.ts +35 -0
  265. package/lib/types/factories/IERC721Enumerable__factory.js +363 -0
  266. package/lib/types/factories/IERC721Metadata__factory.d.ts +35 -0
  267. package/lib/types/factories/IERC721Metadata__factory.js +352 -0
  268. package/lib/types/factories/IERC721Receiver__factory.d.ts +22 -0
  269. package/lib/types/factories/IERC721Receiver__factory.js +56 -0
  270. package/lib/types/factories/IERC721__factory.d.ts +35 -0
  271. package/lib/types/factories/IERC721__factory.js +307 -0
  272. package/lib/types/factories/IGearToken__factory.d.ts +35 -0
  273. package/lib/types/factories/IGearToken__factory.js +342 -0
  274. package/lib/types/factories/IInterestRateModel__factory.d.ts +22 -0
  275. package/lib/types/factories/IInterestRateModel__factory.js +46 -0
  276. package/lib/types/factories/IMerkleDistributor__factory.d.ts +35 -0
  277. package/lib/types/factories/IMerkleDistributor__factory.js +109 -0
  278. package/lib/types/factories/IPoolService__factory.d.ts +35 -0
  279. package/lib/types/factories/IPoolService__factory.js +580 -0
  280. package/lib/types/factories/IPriceOracle__factory.d.ts +35 -0
  281. package/lib/types/factories/IPriceOracle__factory.js +112 -0
  282. package/lib/types/factories/IQuoter__factory.d.ts +22 -0
  283. package/lib/types/factories/IQuoter__factory.js +148 -0
  284. package/lib/types/factories/ISwapRouter__factory.d.ts +27 -0
  285. package/lib/types/factories/ISwapRouter__factory.js +236 -0
  286. package/lib/types/factories/IUniswapV2Migrator__factory.d.ts +18 -0
  287. package/lib/types/factories/IUniswapV2Migrator__factory.js +55 -0
  288. package/lib/types/factories/IUniswapV2Router01__factory.d.ts +22 -0
  289. package/lib/types/factories/IUniswapV2Router01__factory.js +771 -0
  290. package/lib/types/factories/IUniswapV2Router02__factory.d.ts +22 -0
  291. package/lib/types/factories/IUniswapV2Router02__factory.js +973 -0
  292. package/lib/types/factories/IUniswapV3SwapCallback__factory.d.ts +18 -0
  293. package/lib/types/factories/IUniswapV3SwapCallback__factory.js +45 -0
  294. package/lib/types/factories/IWETHGateway__factory.d.ts +18 -0
  295. package/lib/types/factories/IWETHGateway__factory.js +150 -0
  296. package/lib/types/factories/IWETH__factory.d.ts +22 -0
  297. package/lib/types/factories/IWETH__factory.js +66 -0
  298. package/lib/types/factories/IYVault__factory.d.ts +35 -0
  299. package/lib/types/factories/IYVault__factory.js +411 -0
  300. package/lib/types/factories/LeveragedActions__factory.d.ts +84 -0
  301. package/lib/types/factories/LeveragedActions__factory.js +569 -0
  302. package/lib/types/factories/LinearInterestRateModel__factory.d.ts +42 -0
  303. package/lib/types/factories/LinearInterestRateModel__factory.js +209 -0
  304. package/lib/types/factories/MockPoolService__factory.d.ts +56 -0
  305. package/lib/types/factories/MockPoolService__factory.js +889 -0
  306. package/lib/types/factories/Multicall2__factory.d.ts +52 -0
  307. package/lib/types/factories/Multicall2__factory.js +364 -0
  308. package/lib/types/factories/Ownable__factory.d.ts +42 -0
  309. package/lib/types/factories/Ownable__factory.js +74 -0
  310. package/lib/types/factories/PathFinder__factory.d.ts +61 -0
  311. package/lib/types/factories/PathFinder__factory.js +302 -0
  312. package/lib/types/factories/Pausable__factory.d.ts +31 -0
  313. package/lib/types/factories/Pausable__factory.js +61 -0
  314. package/lib/types/factories/PercentageMathTest__factory.d.ts +32 -0
  315. package/lib/types/factories/PercentageMathTest__factory.js +101 -0
  316. package/lib/types/factories/PoolDeployer__factory.d.ts +113 -0
  317. package/lib/types/factories/PoolDeployer__factory.js +257 -0
  318. package/lib/types/factories/PoolService__factory.d.ts +56 -0
  319. package/lib/types/factories/PoolService__factory.js +873 -0
  320. package/lib/types/factories/PriceOracle__factory.d.ts +56 -0
  321. package/lib/types/factories/PriceOracle__factory.js +290 -0
  322. package/lib/types/factories/Proxy__factory.d.ts +13 -0
  323. package/lib/types/factories/Proxy__factory.js +30 -0
  324. package/lib/types/factories/StepVesting__factory.d.ts +52 -0
  325. package/lib/types/factories/StepVesting__factory.js +296 -0
  326. package/lib/types/factories/TestPoolService__factory.d.ts +56 -0
  327. package/lib/types/factories/TestPoolService__factory.js +932 -0
  328. package/lib/types/factories/TokenDistributor__factory.d.ts +82 -0
  329. package/lib/types/factories/TokenDistributor__factory.js +481 -0
  330. package/lib/types/factories/TokenFeeMock__factory.d.ts +56 -0
  331. package/lib/types/factories/TokenFeeMock__factory.js +427 -0
  332. package/lib/types/factories/TokenMock__factory.d.ts +56 -0
  333. package/lib/types/factories/TokenMock__factory.js +409 -0
  334. package/lib/types/factories/TreasuryMock__factory.d.ts +35 -0
  335. package/lib/types/factories/TreasuryMock__factory.js +70 -0
  336. package/lib/types/factories/UniswapRouterMock__factory.d.ts +32 -0
  337. package/lib/types/factories/UniswapRouterMock__factory.js +1046 -0
  338. package/lib/types/factories/UniswapV2Adapter__factory.d.ts +42 -0
  339. package/lib/types/factories/UniswapV2Adapter__factory.js +1059 -0
  340. package/lib/types/factories/UniswapV3Adapter__factory.d.ts +47 -0
  341. package/lib/types/factories/UniswapV3Adapter__factory.js +322 -0
  342. package/lib/types/factories/VestingDeployer__factory.js +216 -0
  343. package/lib/types/factories/WETHGateway__factory.d.ts +70 -0
  344. package/lib/types/factories/WETHGateway__factory.js +241 -0
  345. package/lib/types/factories/WETHMock__factory.d.ts +52 -0
  346. package/lib/types/factories/WETHMock__factory.js +355 -0
  347. package/lib/types/factories/WadRayMathTest__factory.d.ts +32 -0
  348. package/lib/types/factories/WadRayMathTest__factory.js +239 -0
  349. package/lib/types/factories/YearnAdapter__factory.d.ts +56 -0
  350. package/lib/types/factories/YearnAdapter__factory.js +497 -0
  351. package/lib/types/factories/YearnMock__factory.d.ts +56 -0
  352. package/lib/types/factories/YearnMock__factory.js +598 -0
  353. package/lib/types/factories/YearnPriceFeed__factory.d.ts +56 -0
  354. package/lib/types/factories/YearnPriceFeed__factory.js +350 -0
  355. package/lib/types/hardhat.d.ts +343 -0
  356. package/lib/types/index.d.ts +152 -0
  357. package/lib/types/index.js +156 -0
  358. package/lib/utils/events.d.ts +2 -0
  359. package/lib/utils/events.js +13 -0
  360. package/lib/utils/formatter.d.ts +13 -0
  361. package/lib/utils/formatter.js +125 -0
  362. package/lib/utils/loading.d.ts +1 -0
  363. package/lib/utils/loading.js +17 -0
  364. package/lib/utils/math.d.ts +6 -0
  365. package/lib/utils/math.js +44 -0
  366. package/lib/utils/multicall.d.ts +15 -0
  367. package/lib/utils/multicall.js +84 -0
  368. package/lib/utils/repeater.d.ts +1 -0
  369. package/lib/utils/repeater.js +72 -0
  370. package/lib/utils/validate.d.ts +1 -0
  371. package/lib/utils/validate.js +13 -0
  372. package/package.json +27 -0
  373. package/src/abi/adapters/YearnV2.sol/YearnAdapter.dbg.json +4 -0
  374. package/src/abi/adapters/YearnV2.sol/YearnAdapter.json +455 -0
  375. package/src/abi/core/ACL.sol/ACL.dbg.json +4 -0
  376. package/src/abi/core/ACL.sol/ACL.json +262 -0
  377. package/src/abi/core/ACLTrait.sol/ACLTrait.dbg.json +4 -0
  378. package/src/abi/core/ACLTrait.sol/ACLTrait.json +64 -0
  379. package/src/abi/core/AccountMining.sol/AccountMining.dbg.json +4 -0
  380. package/src/abi/core/AccountMining.sol/AccountMining.json +150 -0
  381. package/src/abi/core/AddressProvider.sol/AddressProvider.dbg.json +4 -0
  382. package/src/abi/core/AddressProvider.sol/AddressProvider.json +496 -0
  383. package/src/abi/core/ContractsRegister.sol/ContractsRegister.dbg.json +4 -0
  384. package/src/abi/core/ContractsRegister.sol/ContractsRegister.json +255 -0
  385. package/src/abi/credit/LeverageActions.sol/LeveragedActions.dbg.json +4 -0
  386. package/src/abi/credit/LeverageActions.sol/LeveragedActions.json +514 -0
  387. package/src/abi/deployer/AdaptersDeployer.sol/AdaptersDeployer.dbg.json +4 -0
  388. package/src/abi/deployer/AdaptersDeployer.sol/AdaptersDeployer.json +160 -0
  389. package/src/abi/deployer/GenesisDeployer.sol/GenesisDeployer.dbg.json +4 -0
  390. package/src/abi/deployer/GenesisDeployer.sol/GenesisDeployer.json +189 -0
  391. package/src/abi/deployer/PoolDeployer.sol/PoolDeployer.dbg.json +4 -0
  392. package/src/abi/deployer/PoolDeployer.sol/PoolDeployer.json +215 -0
  393. package/src/abi/fuzzing/FuzzHarness.sol/FuzzHarness.dbg.json +4 -0
  394. package/src/abi/fuzzing/FuzzHarness.sol/FuzzHarness.json +50 -0
  395. package/src/abi/integrations/yearn/IYVault.sol/IYVault.dbg.json +4 -0
  396. package/src/abi/integrations/yearn/IYVault.sol/IYVault.json +400 -0
  397. package/src/abi/interfaces/IGearToken.sol/IGearToken.dbg.json +4 -0
  398. package/src/abi/interfaces/IGearToken.sol/IGearToken.json +331 -0
  399. package/src/abi/interfaces/IMerkleDistributor.sol/IMerkleDistributor.dbg.json +4 -0
  400. package/src/abi/interfaces/IMerkleDistributor.sol/IMerkleDistributor.json +98 -0
  401. package/src/abi/mocks/core/ACLTraitTest.sol/ACLTraitTest.dbg.json +4 -0
  402. package/src/abi/mocks/core/ACLTraitTest.sol/ACLTraitTest.json +96 -0
  403. package/src/abi/mocks/credit/ExecutorMock.sol/ExecutorMock.dbg.json +4 -0
  404. package/src/abi/mocks/credit/ExecutorMock.sol/ExecutorMock.json +61 -0
  405. package/src/abi/mocks/integrations/CurveMock.sol/CurveMock.dbg.json +4 -0
  406. package/src/abi/mocks/integrations/CurveMock.sol/CurveMock.json +168 -0
  407. package/src/abi/mocks/integrations/YearnMock.sol/YearnMock.dbg.json +4 -0
  408. package/src/abi/mocks/integrations/YearnMock.sol/YearnMock.json +556 -0
  409. package/src/abi/mocks/oracles/ChainlinkPriceFeedMock.sol/ChainlinkPriceFeedMock.dbg.json +4 -0
  410. package/src/abi/mocks/oracles/ChainlinkPriceFeedMock.sol/ChainlinkPriceFeedMock.json +151 -0
  411. package/src/abi/mocks/pool/CreditManagerMockForPoolTest.sol/CreditManagerMockForPoolTest.dbg.json +4 -0
  412. package/src/abi/mocks/pool/CreditManagerMockForPoolTest.sol/CreditManagerMockForPoolTest.json +89 -0
  413. package/src/abi/mocks/tokens/ERC20Blocking.sol/ERC20BlockingMock.dbg.json +4 -0
  414. package/src/abi/mocks/tokens/ERC20Blocking.sol/ERC20BlockingMock.json +387 -0
  415. package/src/abi/mocks/tokens/ERC20Fee.sol/TokenFeeMock.dbg.json +4 -0
  416. package/src/abi/mocks/tokens/ERC20Fee.sol/TokenFeeMock.json +385 -0
  417. package/src/abi/oracles/YearnPriceFeed.sol/YearnPriceFeed.dbg.json +4 -0
  418. package/src/abi/oracles/YearnPriceFeed.sol/YearnPriceFeed.json +321 -0
  419. package/src/abi/support/PathFinder.sol/PathFinder.dbg.json +4 -0
  420. package/src/abi/support/PathFinder.sol/PathFinder.json +189 -0
  421. package/src/abi/tokens/GearNFT.sol/GearBeta.dbg.json +4 -0
  422. package/src/abi/tokens/GearNFT.sol/GearBeta.json +485 -0
  423. package/src/abi/tokens/TokenDistributor.sol/TokenDistributor.dbg.json +4 -0
  424. package/src/abi/tokens/TokenDistributor.sol/TokenDistributor.json +439 -0
  425. package/src/abi/tokens/Vesting.sol/StepVesting.dbg.json +4 -0
  426. package/src/abi/tokens/Vesting.sol/StepVesting.json +254 -0
  427. package/src/config.ts +1 -0
  428. package/src/core/constants.ts +44 -0
  429. package/src/core/contracts.ts +151 -0
  430. package/src/core/contractsRegister.ts +51 -0
  431. package/src/core/creditAccount.ts +105 -0
  432. package/src/core/creditCard.ts +15 -0
  433. package/src/core/creditManager.ts +171 -0
  434. package/src/core/creditOperation.ts +9 -0
  435. package/src/core/creditSession.ts +67 -0
  436. package/src/core/errors.ts +45 -0
  437. package/src/core/eventOrTx.ts +94 -0
  438. package/src/core/events.ts +1167 -0
  439. package/src/core/history.ts +55 -0
  440. package/src/core/operations.ts +35 -0
  441. package/src/core/oracles.ts +7 -0
  442. package/src/core/pool.ts +60 -0
  443. package/src/core/swap.ts +4 -0
  444. package/src/core/token.ts +275 -0
  445. package/src/core/tokenData.ts +84 -0
  446. package/src/core/tokenDistributor.ts +14 -0
  447. package/src/core/trade.ts +83 -0
  448. package/src/core/transactions.ts +407 -0
  449. package/src/index.ts +42 -0
  450. package/src/payload/creditAccount.ts +29 -0
  451. package/src/payload/creditManager.ts +46 -0
  452. package/src/payload/creditSession.ts +24 -0
  453. package/src/payload/graphPayload.ts +10 -0
  454. package/src/payload/pool.ts +20 -0
  455. package/src/payload/token.ts +5 -0
  456. package/src/types/ACL.d.ts +491 -0
  457. package/src/types/ACLTrait.d.ts +148 -0
  458. package/src/types/ACLTraitTest.d.ts +209 -0
  459. package/src/types/AccountFactory.d.ts +716 -0
  460. package/src/types/AccountMining.d.ts +222 -0
  461. package/src/types/AddressProvider.d.ts +912 -0
  462. package/src/types/AggregatorV3Interface.d.ts +234 -0
  463. package/src/types/ChainlinkPriceFeedMock.d.ts +215 -0
  464. package/src/types/ContractsRegister.d.ts +398 -0
  465. package/src/types/CreditAccount.d.ts +443 -0
  466. package/src/types/CreditFilter.d.ts +1609 -0
  467. package/src/types/CreditFilterMock.d.ts +1687 -0
  468. package/src/types/CreditManager.d.ts +1285 -0
  469. package/src/types/CreditManagerMockForFilter.d.ts +605 -0
  470. package/src/types/CreditManagerMockForPoolTest.d.ts +204 -0
  471. package/src/types/CurveMock.d.ts +298 -0
  472. package/src/types/CurveV1Adapter.d.ts +349 -0
  473. package/src/types/DataCompressor.d.ts +1331 -0
  474. package/src/types/DieselToken.d.ts +567 -0
  475. package/src/types/ERC165.d.ts +116 -0
  476. package/src/types/ERC20.d.ts +411 -0
  477. package/src/types/ERC20BlockingMock.d.ts +568 -0
  478. package/src/types/ERC721.d.ts +625 -0
  479. package/src/types/Errors.d.ts +1854 -0
  480. package/src/types/ExecutorMock.d.ts +140 -0
  481. package/src/types/FlashLoanAttacker.d.ts +170 -0
  482. package/src/types/FuzzHarness.d.ts +124 -0
  483. package/src/types/GearBeta.d.ts +745 -0
  484. package/src/types/GearToken.d.ts +888 -0
  485. package/src/types/IAccountFactory.d.ts +317 -0
  486. package/src/types/IAccountMiner.d.ts +124 -0
  487. package/src/types/IAppAddressProvider.d.ts +198 -0
  488. package/src/types/IAppCreditManager.d.ts +408 -0
  489. package/src/types/IAppERC20.d.ts +309 -0
  490. package/src/types/IAppPoolService.d.ts +166 -0
  491. package/src/types/ICreditAccount.d.ts +430 -0
  492. package/src/types/ICreditFilter.d.ts +1162 -0
  493. package/src/types/ICreditManager.d.ts +971 -0
  494. package/src/types/ICurvePool.d.ts +298 -0
  495. package/src/types/IDataCompressor.d.ts +1231 -0
  496. package/src/types/IERC165.d.ts +116 -0
  497. package/src/types/IERC20.d.ts +294 -0
  498. package/src/types/IERC721.d.ts +472 -0
  499. package/src/types/IERC721Enumerable.d.ts +564 -0
  500. package/src/types/IERC721Metadata.d.ts +523 -0
  501. package/src/types/IERC721Receiver.d.ts +132 -0
  502. package/src/types/IGearToken.d.ts +527 -0
  503. package/src/types/IInterestRateModel.d.ts +121 -0
  504. package/src/types/IMerkleDistributor.d.ts +190 -0
  505. package/src/types/IPoolService.d.ts +772 -0
  506. package/src/types/IPriceOracle.d.ts +211 -0
  507. package/src/types/IQuoter.d.ts +269 -0
  508. package/src/types/ISwapRouter.d.ts +404 -0
  509. package/src/types/IUniswapV2Migrator.d.ts +134 -0
  510. package/src/types/IUniswapV2Router01.d.ts +1119 -0
  511. package/src/types/IUniswapV2Router02.d.ts +1432 -0
  512. package/src/types/IUniswapV3SwapCallback.d.ts +127 -0
  513. package/src/types/IWETH.d.ts +169 -0
  514. package/src/types/IWETHGateway.d.ts +335 -0
  515. package/src/types/IYVault.d.ts +558 -0
  516. package/src/types/LeveragedActions.d.ts +772 -0
  517. package/src/types/LinearInterestRateModel.d.ts +279 -0
  518. package/src/types/MockPoolService.d.ts +1271 -0
  519. package/src/types/Multicall2.d.ts +449 -0
  520. package/src/types/Ownable.d.ts +169 -0
  521. package/src/types/PathFinder.d.ts +379 -0
  522. package/src/types/Pausable.d.ts +105 -0
  523. package/src/types/PercentageMathTest.d.ts +154 -0
  524. package/src/types/PoolService.d.ts +1174 -0
  525. package/src/types/PriceOracle.d.ts +387 -0
  526. package/src/types/StepVesting.d.ts +411 -0
  527. package/src/types/TestPoolService.d.ts +1294 -0
  528. package/src/types/TokenDistributor.d.ts +640 -0
  529. package/src/types/TokenFeeMock.d.ts +544 -0
  530. package/src/types/TokenMock.d.ts +531 -0
  531. package/src/types/TreasuryMock.d.ts +86 -0
  532. package/src/types/UniswapRouterMock.d.ts +1520 -0
  533. package/src/types/UniswapV2Adapter.d.ts +1463 -0
  534. package/src/types/UniswapV3Adapter.d.ts +455 -0
  535. package/src/types/WETHGateway.d.ts +376 -0
  536. package/src/types/WETHMock.d.ts +433 -0
  537. package/src/types/WadRayMathTest.d.ts +316 -0
  538. package/src/types/YearnAdapter.d.ts +609 -0
  539. package/src/types/YearnMock.d.ts +795 -0
  540. package/src/types/YearnPriceFeed.d.ts +399 -0
  541. package/src/types/commons.d.ts +16 -0
  542. package/src/types/commons.js +5 -0
  543. package/src/types/commons.ts +37 -0
  544. package/src/types/factories/ACLTraitTest__factory.ts +137 -0
  545. package/src/types/factories/ACLTrait__factory.ts +76 -0
  546. package/src/types/factories/ACL__factory.ts +308 -0
  547. package/src/types/factories/AccountFactory__factory.ts +510 -0
  548. package/src/types/factories/AccountMining__factory.ts +214 -0
  549. package/src/types/factories/AddressProvider__factory.ts +579 -0
  550. package/src/types/factories/AggregatorV3Interface__factory.ts +141 -0
  551. package/src/types/factories/ChainlinkPriceFeedMock__factory.ts +209 -0
  552. package/src/types/factories/ContractsRegister__factory.ts +312 -0
  553. package/src/types/factories/CreditAccount__factory.ts +256 -0
  554. package/src/types/factories/CreditFilterMock__factory.ts +1092 -0
  555. package/src/types/factories/CreditFilter__factory.ts +1053 -0
  556. package/src/types/factories/CreditManagerMockForFilter__factory.ts +325 -0
  557. package/src/types/factories/CreditManagerMockForPoolTest__factory.ts +137 -0
  558. package/src/types/factories/CreditManager__factory.ts +1063 -0
  559. package/src/types/factories/CurveMock__factory.ts +206 -0
  560. package/src/types/factories/CurveV1Adapter__factory.ts +263 -0
  561. package/src/types/factories/DataCompressor__factory.ts +946 -0
  562. package/src/types/factories/DieselToken__factory.ts +449 -0
  563. package/src/types/factories/ERC165__factory.ts +39 -0
  564. package/src/types/factories/ERC20BlockingMock__factory.ts +434 -0
  565. package/src/types/factories/ERC20__factory.ts +334 -0
  566. package/src/types/factories/ERC721__factory.ts +463 -0
  567. package/src/types/factories/Errors__factory.ts +1006 -0
  568. package/src/types/factories/ExecutorMock__factory.ts +97 -0
  569. package/src/types/factories/FlashLoanAttacker__factory.ts +119 -0
  570. package/src/types/factories/FuzzHarness__factory.ts +94 -0
  571. package/src/types/factories/GearBeta__factory.ts +521 -0
  572. package/src/types/factories/GearToken__factory.ts +704 -0
  573. package/src/types/factories/IAccountFactory__factory.ts +230 -0
  574. package/src/types/factories/IAccountMiner__factory.ts +49 -0
  575. package/src/types/factories/IAppAddressProvider__factory.ts +104 -0
  576. package/src/types/factories/IAppCreditManager__factory.ts +208 -0
  577. package/src/types/factories/IAppERC20__factory.ts +195 -0
  578. package/src/types/factories/IAppPoolService__factory.ts +73 -0
  579. package/src/types/factories/ICreditAccount__factory.ts +222 -0
  580. package/src/types/factories/ICreditFilter__factory.ts +701 -0
  581. package/src/types/factories/ICreditManager__factory.ts +724 -0
  582. package/src/types/factories/ICurvePool__factory.ts +169 -0
  583. package/src/types/factories/IDataCompressor__factory.ts +830 -0
  584. package/src/types/factories/IERC165__factory.ts +42 -0
  585. package/src/types/factories/IERC20__factory.ts +203 -0
  586. package/src/types/factories/IERC721Enumerable__factory.ts +367 -0
  587. package/src/types/factories/IERC721Metadata__factory.ts +356 -0
  588. package/src/types/factories/IERC721Receiver__factory.ts +60 -0
  589. package/src/types/factories/IERC721__factory.ts +308 -0
  590. package/src/types/factories/IGearToken__factory.ts +343 -0
  591. package/src/types/factories/IInterestRateModel__factory.ts +50 -0
  592. package/src/types/factories/IMerkleDistributor__factory.ts +113 -0
  593. package/src/types/factories/IPoolService__factory.ts +581 -0
  594. package/src/types/factories/IPriceOracle__factory.ts +113 -0
  595. package/src/types/factories/IQuoter__factory.ts +149 -0
  596. package/src/types/factories/ISwapRouter__factory.ts +237 -0
  597. package/src/types/factories/IUniswapV2Migrator__factory.ts +59 -0
  598. package/src/types/factories/IUniswapV2Router01__factory.ts +775 -0
  599. package/src/types/factories/IUniswapV2Router02__factory.ts +977 -0
  600. package/src/types/factories/IUniswapV3SwapCallback__factory.ts +53 -0
  601. package/src/types/factories/IWETHGateway__factory.ts +151 -0
  602. package/src/types/factories/IWETH__factory.ts +64 -0
  603. package/src/types/factories/IYVault__factory.ts +412 -0
  604. package/src/types/factories/LeveragedActions__factory.ts +571 -0
  605. package/src/types/factories/LinearInterestRateModel__factory.ts +237 -0
  606. package/src/types/factories/MockPoolService__factory.ts +891 -0
  607. package/src/types/factories/Multicall2__factory.ts +358 -0
  608. package/src/types/factories/Ownable__factory.ts +75 -0
  609. package/src/types/factories/PathFinder__factory.ts +301 -0
  610. package/src/types/factories/Pausable__factory.ts +62 -0
  611. package/src/types/factories/PercentageMathTest__factory.ts +98 -0
  612. package/src/types/factories/PoolService__factory.ts +898 -0
  613. package/src/types/factories/PriceOracle__factory.ts +289 -0
  614. package/src/types/factories/StepVesting__factory.ts +290 -0
  615. package/src/types/factories/TestPoolService__factory.ts +960 -0
  616. package/src/types/factories/TokenDistributor__factory.ts +483 -0
  617. package/src/types/factories/TokenFeeMock__factory.ts +439 -0
  618. package/src/types/factories/TokenMock__factory.ts +407 -0
  619. package/src/types/factories/TreasuryMock__factory.ts +64 -0
  620. package/src/types/factories/UniswapRouterMock__factory.ts +1043 -0
  621. package/src/types/factories/UniswapV2Adapter__factory.ts +1064 -0
  622. package/src/types/factories/UniswapV3Adapter__factory.ts +327 -0
  623. package/src/types/factories/WETHGateway__factory.ts +240 -0
  624. package/src/types/factories/WETHMock__factory.ts +349 -0
  625. package/src/types/factories/WadRayMathTest__factory.ts +236 -0
  626. package/src/types/factories/YearnAdapter__factory.ts +499 -0
  627. package/src/types/factories/YearnMock__factory.ts +594 -0
  628. package/src/types/factories/YearnPriceFeed__factory.ts +378 -0
  629. package/src/types/hardhat.d.ts +343 -0
  630. package/src/types/index.d.ts +174 -0
  631. package/src/types/index.js +178 -0
  632. package/src/types/index.ts +156 -0
  633. package/src/utils/events.ts +10 -0
  634. package/src/utils/formatter.ts +138 -0
  635. package/src/utils/loading.ts +9 -0
  636. package/src/utils/math.ts +42 -0
  637. package/src/utils/multicall.ts +54 -0
  638. package/src/utils/repeater.ts +18 -0
  639. package/src/utils/validate.ts +8 -0
  640. package/tsconfig.json +62 -0
@@ -0,0 +1,898 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import {
6
+ Signer,
7
+ utils,
8
+ BigNumberish,
9
+ Contract,
10
+ ContractFactory,
11
+ Overrides,
12
+ } from "ethers";
13
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
14
+ import type { PoolService, PoolServiceInterface } from "../PoolService";
15
+
16
+ const _abi = [
17
+ {
18
+ inputs: [
19
+ {
20
+ internalType: "address",
21
+ name: "_addressProvider",
22
+ type: "address",
23
+ },
24
+ {
25
+ internalType: "address",
26
+ name: "_underlyingToken",
27
+ type: "address",
28
+ },
29
+ {
30
+ internalType: "address",
31
+ name: "_dieselAddress",
32
+ type: "address",
33
+ },
34
+ {
35
+ internalType: "address",
36
+ name: "_interestRateModelAddress",
37
+ type: "address",
38
+ },
39
+ {
40
+ internalType: "uint256",
41
+ name: "_expectedLiquidityLimit",
42
+ type: "uint256",
43
+ },
44
+ ],
45
+ stateMutability: "nonpayable",
46
+ type: "constructor",
47
+ },
48
+ {
49
+ anonymous: false,
50
+ inputs: [
51
+ {
52
+ indexed: true,
53
+ internalType: "address",
54
+ name: "sender",
55
+ type: "address",
56
+ },
57
+ {
58
+ indexed: true,
59
+ internalType: "address",
60
+ name: "onBehalfOf",
61
+ type: "address",
62
+ },
63
+ {
64
+ indexed: false,
65
+ internalType: "uint256",
66
+ name: "amount",
67
+ type: "uint256",
68
+ },
69
+ {
70
+ indexed: false,
71
+ internalType: "uint256",
72
+ name: "referralCode",
73
+ type: "uint256",
74
+ },
75
+ ],
76
+ name: "AddLiquidity",
77
+ type: "event",
78
+ },
79
+ {
80
+ anonymous: false,
81
+ inputs: [
82
+ {
83
+ indexed: true,
84
+ internalType: "address",
85
+ name: "creditManager",
86
+ type: "address",
87
+ },
88
+ {
89
+ indexed: true,
90
+ internalType: "address",
91
+ name: "creditAccount",
92
+ type: "address",
93
+ },
94
+ {
95
+ indexed: false,
96
+ internalType: "uint256",
97
+ name: "amount",
98
+ type: "uint256",
99
+ },
100
+ ],
101
+ name: "Borrow",
102
+ type: "event",
103
+ },
104
+ {
105
+ anonymous: false,
106
+ inputs: [
107
+ {
108
+ indexed: true,
109
+ internalType: "address",
110
+ name: "creditManager",
111
+ type: "address",
112
+ },
113
+ ],
114
+ name: "BorrowForbidden",
115
+ type: "event",
116
+ },
117
+ {
118
+ anonymous: false,
119
+ inputs: [
120
+ {
121
+ indexed: true,
122
+ internalType: "address",
123
+ name: "creditManager",
124
+ type: "address",
125
+ },
126
+ ],
127
+ name: "NewCreditManagerConnected",
128
+ type: "event",
129
+ },
130
+ {
131
+ anonymous: false,
132
+ inputs: [
133
+ {
134
+ indexed: false,
135
+ internalType: "uint256",
136
+ name: "newLimit",
137
+ type: "uint256",
138
+ },
139
+ ],
140
+ name: "NewExpectedLiquidityLimit",
141
+ type: "event",
142
+ },
143
+ {
144
+ anonymous: false,
145
+ inputs: [
146
+ {
147
+ indexed: true,
148
+ internalType: "address",
149
+ name: "newInterestRateModel",
150
+ type: "address",
151
+ },
152
+ ],
153
+ name: "NewInterestRateModel",
154
+ type: "event",
155
+ },
156
+ {
157
+ anonymous: false,
158
+ inputs: [
159
+ {
160
+ indexed: false,
161
+ internalType: "uint256",
162
+ name: "fee",
163
+ type: "uint256",
164
+ },
165
+ ],
166
+ name: "NewWithdrawFee",
167
+ type: "event",
168
+ },
169
+ {
170
+ anonymous: false,
171
+ inputs: [
172
+ {
173
+ indexed: false,
174
+ internalType: "address",
175
+ name: "account",
176
+ type: "address",
177
+ },
178
+ ],
179
+ name: "Paused",
180
+ type: "event",
181
+ },
182
+ {
183
+ anonymous: false,
184
+ inputs: [
185
+ {
186
+ indexed: true,
187
+ internalType: "address",
188
+ name: "sender",
189
+ type: "address",
190
+ },
191
+ {
192
+ indexed: true,
193
+ internalType: "address",
194
+ name: "to",
195
+ type: "address",
196
+ },
197
+ {
198
+ indexed: false,
199
+ internalType: "uint256",
200
+ name: "amount",
201
+ type: "uint256",
202
+ },
203
+ ],
204
+ name: "RemoveLiquidity",
205
+ type: "event",
206
+ },
207
+ {
208
+ anonymous: false,
209
+ inputs: [
210
+ {
211
+ indexed: true,
212
+ internalType: "address",
213
+ name: "creditManager",
214
+ type: "address",
215
+ },
216
+ {
217
+ indexed: false,
218
+ internalType: "uint256",
219
+ name: "borrowedAmount",
220
+ type: "uint256",
221
+ },
222
+ {
223
+ indexed: false,
224
+ internalType: "uint256",
225
+ name: "profit",
226
+ type: "uint256",
227
+ },
228
+ {
229
+ indexed: false,
230
+ internalType: "uint256",
231
+ name: "loss",
232
+ type: "uint256",
233
+ },
234
+ ],
235
+ name: "Repay",
236
+ type: "event",
237
+ },
238
+ {
239
+ anonymous: false,
240
+ inputs: [
241
+ {
242
+ indexed: true,
243
+ internalType: "address",
244
+ name: "creditManager",
245
+ type: "address",
246
+ },
247
+ {
248
+ indexed: false,
249
+ internalType: "uint256",
250
+ name: "loss",
251
+ type: "uint256",
252
+ },
253
+ ],
254
+ name: "UncoveredLoss",
255
+ type: "event",
256
+ },
257
+ {
258
+ anonymous: false,
259
+ inputs: [
260
+ {
261
+ indexed: false,
262
+ internalType: "address",
263
+ name: "account",
264
+ type: "address",
265
+ },
266
+ ],
267
+ name: "Unpaused",
268
+ type: "event",
269
+ },
270
+ {
271
+ inputs: [],
272
+ name: "_cumulativeIndex_RAY",
273
+ outputs: [
274
+ {
275
+ internalType: "uint256",
276
+ name: "",
277
+ type: "uint256",
278
+ },
279
+ ],
280
+ stateMutability: "view",
281
+ type: "function",
282
+ },
283
+ {
284
+ inputs: [],
285
+ name: "_expectedLiquidityLU",
286
+ outputs: [
287
+ {
288
+ internalType: "uint256",
289
+ name: "",
290
+ type: "uint256",
291
+ },
292
+ ],
293
+ stateMutability: "view",
294
+ type: "function",
295
+ },
296
+ {
297
+ inputs: [],
298
+ name: "_timestampLU",
299
+ outputs: [
300
+ {
301
+ internalType: "uint256",
302
+ name: "",
303
+ type: "uint256",
304
+ },
305
+ ],
306
+ stateMutability: "view",
307
+ type: "function",
308
+ },
309
+ {
310
+ inputs: [
311
+ {
312
+ internalType: "uint256",
313
+ name: "amount",
314
+ type: "uint256",
315
+ },
316
+ {
317
+ internalType: "address",
318
+ name: "onBehalfOf",
319
+ type: "address",
320
+ },
321
+ {
322
+ internalType: "uint256",
323
+ name: "referralCode",
324
+ type: "uint256",
325
+ },
326
+ ],
327
+ name: "addLiquidity",
328
+ outputs: [],
329
+ stateMutability: "nonpayable",
330
+ type: "function",
331
+ },
332
+ {
333
+ inputs: [],
334
+ name: "addressProvider",
335
+ outputs: [
336
+ {
337
+ internalType: "contract AddressProvider",
338
+ name: "",
339
+ type: "address",
340
+ },
341
+ ],
342
+ stateMutability: "view",
343
+ type: "function",
344
+ },
345
+ {
346
+ inputs: [],
347
+ name: "availableLiquidity",
348
+ outputs: [
349
+ {
350
+ internalType: "uint256",
351
+ name: "",
352
+ type: "uint256",
353
+ },
354
+ ],
355
+ stateMutability: "view",
356
+ type: "function",
357
+ },
358
+ {
359
+ inputs: [],
360
+ name: "borrowAPY_RAY",
361
+ outputs: [
362
+ {
363
+ internalType: "uint256",
364
+ name: "",
365
+ type: "uint256",
366
+ },
367
+ ],
368
+ stateMutability: "view",
369
+ type: "function",
370
+ },
371
+ {
372
+ inputs: [
373
+ {
374
+ internalType: "uint256",
375
+ name: "amount",
376
+ type: "uint256",
377
+ },
378
+ {
379
+ internalType: "uint256",
380
+ name: "dAmount",
381
+ type: "uint256",
382
+ },
383
+ {
384
+ internalType: "uint256",
385
+ name: "cumulativeIndexAtOpen",
386
+ type: "uint256",
387
+ },
388
+ ],
389
+ name: "calcCumulativeIndexAtBorrowMore",
390
+ outputs: [
391
+ {
392
+ internalType: "uint256",
393
+ name: "",
394
+ type: "uint256",
395
+ },
396
+ ],
397
+ stateMutability: "view",
398
+ type: "function",
399
+ },
400
+ {
401
+ inputs: [],
402
+ name: "calcLinearCumulative_RAY",
403
+ outputs: [
404
+ {
405
+ internalType: "uint256",
406
+ name: "",
407
+ type: "uint256",
408
+ },
409
+ ],
410
+ stateMutability: "view",
411
+ type: "function",
412
+ },
413
+ {
414
+ inputs: [
415
+ {
416
+ internalType: "uint256",
417
+ name: "cumulativeIndex_RAY",
418
+ type: "uint256",
419
+ },
420
+ {
421
+ internalType: "uint256",
422
+ name: "currentBorrowRate_RAY",
423
+ type: "uint256",
424
+ },
425
+ {
426
+ internalType: "uint256",
427
+ name: "timeDifference",
428
+ type: "uint256",
429
+ },
430
+ ],
431
+ name: "calcLinearIndex_RAY",
432
+ outputs: [
433
+ {
434
+ internalType: "uint256",
435
+ name: "",
436
+ type: "uint256",
437
+ },
438
+ ],
439
+ stateMutability: "pure",
440
+ type: "function",
441
+ },
442
+ {
443
+ inputs: [
444
+ {
445
+ internalType: "address",
446
+ name: "_creditManager",
447
+ type: "address",
448
+ },
449
+ ],
450
+ name: "connectCreditManager",
451
+ outputs: [],
452
+ stateMutability: "nonpayable",
453
+ type: "function",
454
+ },
455
+ {
456
+ inputs: [
457
+ {
458
+ internalType: "uint256",
459
+ name: "",
460
+ type: "uint256",
461
+ },
462
+ ],
463
+ name: "creditManagers",
464
+ outputs: [
465
+ {
466
+ internalType: "address",
467
+ name: "",
468
+ type: "address",
469
+ },
470
+ ],
471
+ stateMutability: "view",
472
+ type: "function",
473
+ },
474
+ {
475
+ inputs: [
476
+ {
477
+ internalType: "address",
478
+ name: "",
479
+ type: "address",
480
+ },
481
+ ],
482
+ name: "creditManagersCanBorrow",
483
+ outputs: [
484
+ {
485
+ internalType: "bool",
486
+ name: "",
487
+ type: "bool",
488
+ },
489
+ ],
490
+ stateMutability: "view",
491
+ type: "function",
492
+ },
493
+ {
494
+ inputs: [
495
+ {
496
+ internalType: "address",
497
+ name: "",
498
+ type: "address",
499
+ },
500
+ ],
501
+ name: "creditManagersCanRepay",
502
+ outputs: [
503
+ {
504
+ internalType: "bool",
505
+ name: "",
506
+ type: "bool",
507
+ },
508
+ ],
509
+ stateMutability: "view",
510
+ type: "function",
511
+ },
512
+ {
513
+ inputs: [],
514
+ name: "creditManagersCount",
515
+ outputs: [
516
+ {
517
+ internalType: "uint256",
518
+ name: "",
519
+ type: "uint256",
520
+ },
521
+ ],
522
+ stateMutability: "view",
523
+ type: "function",
524
+ },
525
+ {
526
+ inputs: [],
527
+ name: "dieselToken",
528
+ outputs: [
529
+ {
530
+ internalType: "address",
531
+ name: "",
532
+ type: "address",
533
+ },
534
+ ],
535
+ stateMutability: "view",
536
+ type: "function",
537
+ },
538
+ {
539
+ inputs: [],
540
+ name: "expectedLiquidity",
541
+ outputs: [
542
+ {
543
+ internalType: "uint256",
544
+ name: "",
545
+ type: "uint256",
546
+ },
547
+ ],
548
+ stateMutability: "view",
549
+ type: "function",
550
+ },
551
+ {
552
+ inputs: [],
553
+ name: "expectedLiquidityLimit",
554
+ outputs: [
555
+ {
556
+ internalType: "uint256",
557
+ name: "",
558
+ type: "uint256",
559
+ },
560
+ ],
561
+ stateMutability: "view",
562
+ type: "function",
563
+ },
564
+ {
565
+ inputs: [
566
+ {
567
+ internalType: "address",
568
+ name: "_creditManager",
569
+ type: "address",
570
+ },
571
+ ],
572
+ name: "forbidCreditManagerToBorrow",
573
+ outputs: [],
574
+ stateMutability: "nonpayable",
575
+ type: "function",
576
+ },
577
+ {
578
+ inputs: [
579
+ {
580
+ internalType: "uint256",
581
+ name: "amount",
582
+ type: "uint256",
583
+ },
584
+ ],
585
+ name: "fromDiesel",
586
+ outputs: [
587
+ {
588
+ internalType: "uint256",
589
+ name: "",
590
+ type: "uint256",
591
+ },
592
+ ],
593
+ stateMutability: "view",
594
+ type: "function",
595
+ },
596
+ {
597
+ inputs: [],
598
+ name: "getDieselRate_RAY",
599
+ outputs: [
600
+ {
601
+ internalType: "uint256",
602
+ name: "",
603
+ type: "uint256",
604
+ },
605
+ ],
606
+ stateMutability: "view",
607
+ type: "function",
608
+ },
609
+ {
610
+ inputs: [],
611
+ name: "interestRateModel",
612
+ outputs: [
613
+ {
614
+ internalType: "contract IInterestRateModel",
615
+ name: "",
616
+ type: "address",
617
+ },
618
+ ],
619
+ stateMutability: "view",
620
+ type: "function",
621
+ },
622
+ {
623
+ inputs: [
624
+ {
625
+ internalType: "uint256",
626
+ name: "borrowedAmount",
627
+ type: "uint256",
628
+ },
629
+ {
630
+ internalType: "address",
631
+ name: "creditAccount",
632
+ type: "address",
633
+ },
634
+ ],
635
+ name: "lendCreditAccount",
636
+ outputs: [],
637
+ stateMutability: "nonpayable",
638
+ type: "function",
639
+ },
640
+ {
641
+ inputs: [],
642
+ name: "pause",
643
+ outputs: [],
644
+ stateMutability: "nonpayable",
645
+ type: "function",
646
+ },
647
+ {
648
+ inputs: [],
649
+ name: "paused",
650
+ outputs: [
651
+ {
652
+ internalType: "bool",
653
+ name: "",
654
+ type: "bool",
655
+ },
656
+ ],
657
+ stateMutability: "view",
658
+ type: "function",
659
+ },
660
+ {
661
+ inputs: [
662
+ {
663
+ internalType: "uint256",
664
+ name: "amount",
665
+ type: "uint256",
666
+ },
667
+ {
668
+ internalType: "address",
669
+ name: "to",
670
+ type: "address",
671
+ },
672
+ ],
673
+ name: "removeLiquidity",
674
+ outputs: [
675
+ {
676
+ internalType: "uint256",
677
+ name: "",
678
+ type: "uint256",
679
+ },
680
+ ],
681
+ stateMutability: "nonpayable",
682
+ type: "function",
683
+ },
684
+ {
685
+ inputs: [
686
+ {
687
+ internalType: "uint256",
688
+ name: "borrowedAmount",
689
+ type: "uint256",
690
+ },
691
+ {
692
+ internalType: "uint256",
693
+ name: "profit",
694
+ type: "uint256",
695
+ },
696
+ {
697
+ internalType: "uint256",
698
+ name: "loss",
699
+ type: "uint256",
700
+ },
701
+ ],
702
+ name: "repayCreditAccount",
703
+ outputs: [],
704
+ stateMutability: "nonpayable",
705
+ type: "function",
706
+ },
707
+ {
708
+ inputs: [
709
+ {
710
+ internalType: "uint256",
711
+ name: "newLimit",
712
+ type: "uint256",
713
+ },
714
+ ],
715
+ name: "setExpectedLiquidityLimit",
716
+ outputs: [],
717
+ stateMutability: "nonpayable",
718
+ type: "function",
719
+ },
720
+ {
721
+ inputs: [
722
+ {
723
+ internalType: "uint256",
724
+ name: "fee",
725
+ type: "uint256",
726
+ },
727
+ ],
728
+ name: "setWithdrawFee",
729
+ outputs: [],
730
+ stateMutability: "nonpayable",
731
+ type: "function",
732
+ },
733
+ {
734
+ inputs: [
735
+ {
736
+ internalType: "uint256",
737
+ name: "amount",
738
+ type: "uint256",
739
+ },
740
+ ],
741
+ name: "toDiesel",
742
+ outputs: [
743
+ {
744
+ internalType: "uint256",
745
+ name: "",
746
+ type: "uint256",
747
+ },
748
+ ],
749
+ stateMutability: "view",
750
+ type: "function",
751
+ },
752
+ {
753
+ inputs: [],
754
+ name: "totalBorrowed",
755
+ outputs: [
756
+ {
757
+ internalType: "uint256",
758
+ name: "",
759
+ type: "uint256",
760
+ },
761
+ ],
762
+ stateMutability: "view",
763
+ type: "function",
764
+ },
765
+ {
766
+ inputs: [],
767
+ name: "treasuryAddress",
768
+ outputs: [
769
+ {
770
+ internalType: "address",
771
+ name: "",
772
+ type: "address",
773
+ },
774
+ ],
775
+ stateMutability: "view",
776
+ type: "function",
777
+ },
778
+ {
779
+ inputs: [],
780
+ name: "underlyingToken",
781
+ outputs: [
782
+ {
783
+ internalType: "address",
784
+ name: "",
785
+ type: "address",
786
+ },
787
+ ],
788
+ stateMutability: "view",
789
+ type: "function",
790
+ },
791
+ {
792
+ inputs: [],
793
+ name: "unpause",
794
+ outputs: [],
795
+ stateMutability: "nonpayable",
796
+ type: "function",
797
+ },
798
+ {
799
+ inputs: [
800
+ {
801
+ internalType: "address",
802
+ name: "_interestRateModel",
803
+ type: "address",
804
+ },
805
+ ],
806
+ name: "updateInterestRateModel",
807
+ outputs: [],
808
+ stateMutability: "nonpayable",
809
+ type: "function",
810
+ },
811
+ {
812
+ inputs: [],
813
+ name: "version",
814
+ outputs: [
815
+ {
816
+ internalType: "uint256",
817
+ name: "",
818
+ type: "uint256",
819
+ },
820
+ ],
821
+ stateMutability: "view",
822
+ type: "function",
823
+ },
824
+ {
825
+ inputs: [],
826
+ name: "withdrawFee",
827
+ outputs: [
828
+ {
829
+ internalType: "uint256",
830
+ name: "",
831
+ type: "uint256",
832
+ },
833
+ ],
834
+ stateMutability: "view",
835
+ type: "function",
836
+ },
837
+ ];
838
+
839
+ const _bytecode =
840
+ "0x60806040523480156200001157600080fd5b506040516200515a3803806200515a833981810160405260a08110156200003757600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508460008060006101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600281526020017f5a30000000000000000000000000000000000000000000000000000000000000815250906200019c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200016057808201518184015260208101905062000143565b50505050905090810190601f1680156200018e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508073ffffffffffffffffffffffffffffffffffffffff1663087376956040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e457600080fd5b505afa158015620001f9573d6000803e3d6000fd5b505050506040513d60208110156200021057600080fd5b8101908080519060200190929190505050600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060018081905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015620002d45750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156200030e5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015620003485750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6040518060400160405280600281526020017f5a300000000000000000000000000000000000000000000000000000000000008152509062000428576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620003ec578082015181840152602081019050620003cf565b50505050905090810190601f1680156200041a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166326c74fc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156200055557600080fd5b505afa1580156200056a573d6000803e3d6000fd5b505050506040513d60208110156200058157600080fd5b8101908080519060200190929190505050600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506b033b2e3c9fd0803ce8000000600d81905550620005f6826200060860201b60201c565b80600381905550505050505062000ecb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600281526020017f5a300000000000000000000000000000000000000000000000000000000000008152509062000719576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620006dd578082015181840152602081019050620006c0565b50505050905090810190601f1680156200070b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200076d6000620007b360201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff167f0ec6cb7631d36954a05ffd646135bfd9995c71e7fa36d26abb1ad9f24a040ea160405160405180910390a250565b620007dc81620007c8620008d260201b60201c565b6200099360201b6200335f1790919060201c565b600281905550620007f262000a1760201b60201c565b600d81905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342568d446002546200084962000a5560201b60201c565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156200088557600080fd5b505afa1580156200089a573d6000803e3d6000fd5b505050506040513d6020811015620008b157600080fd5b8101908080519060200190929190505050600e8190555042600f8190555050565b600080620008f1600f54426200099360201b6200335f1790919060201c565b905060006200096e6301e133806200095a6b033b2e3c9fd0803ce8000000620009468662000932600e5460045462000b2360201b620033e21790919060201c565b62000b2360201b620033e21790919060201c565b62000bae60201b620034681790919060201c565b62000bae60201b620034681790919060201c565b90506200098c8160025462000c3960201b620034f11790919060201c565b9250505090565b60008282111562000a0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b60008062000a36600f54426200099360201b6200335f1790919060201c565b905062000a4f600d54600e548362000cc260201b60201c565b91505090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801562000ae157600080fd5b505afa15801562000af6573d6000803e3d6000fd5b505050506040513d602081101562000b0d57600080fd5b8101908080519060200190929190505050905090565b60008083141562000b38576000905062000ba8565b600082840290508284828162000b4a57fe5b041462000ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180620051396021913960400191505060405180910390fd5b809150505b92915050565b600080821162000c26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b81838162000c3057fe5b04905092915050565b60008082840190508381101562000cb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008062000d2162000d006301e1338062000cec868862000b2360201b620033e21790919060201c565b62000bae60201b620034681790919060201c565b6b033b2e3c9fd0803ce800000062000c3960201b620034f11790919060201c565b905062000d3d818662000d4760201b620035791790919060201c565b9150509392505050565b60008083148062000d585750600082145b1562000d68576000905062000ec5565b8160026b033b2e3c9fd0803ce80000008162000d8057fe5b047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038162000dab57fe5b048311156040518060400160405280600281526020017f4d310000000000000000000000000000000000000000000000000000000000008152509062000e8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000e5357808201518184015260208101905062000e36565b50505050905090810190601f16801562000e815780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506b033b2e3c9fd0803ce800000060026b033b2e3c9fd0803ce80000008162000eb457fe5b04838502018162000ec157fe5b0490505b92915050565b61425e8062000edb6000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80635c975abb11610130578063bf28068b116100b8578063dbcb313b1161007c578063dbcb313b146108ec578063e941fa781461090a578063ef8d960314610928578063f3fdb15a14610946578063fe14112d1461097a57610227565b8063bf28068b1461078e578063c00495a1146107dc578063c5f956af14610832578063ca9505e414610866578063cf33d955146108a857610227565b80638456cb59116100ff5780638456cb59146106b25780639aa5d462146106bc578063a4e8273e14610714578063b6ac642a14610732578063bb04b1931461076057610227565b80635c975abb14610638578063609ae317146106585780637437535914610676578063788c6bfe1461069457610227565b806336dda7d5116101b35780634c19386c116101825780634c19386c146105345780634d778ad1146105525780635427c9381461059457806354fd4d50146105d65780635664cacf146105f457610227565b806336dda7d51461047e5780633e163df0146104b25780633f4ba83a1461050c57806345d31f9d1461051657610227565b80631e16e4fc116101fa5780631e16e4fc1461030e5780632495a599146103665780632954018c1461039a5780632e97ca21146103ce57806331d8bc271461042857610227565b8063030dbb041461022c57806305fe138b1461024a578063078c4781146102ac5780630fce70fb146102f0575b600080fd5b610234610998565b6040518082815260200191505060405180910390f35b6102966004803603604081101561026057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061099e565b6040518082815260200191505060405180910390f35b6102ee600480360360208110156102c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610df5565b005b6102f8611034565b6040518082815260200191505060405180910390f35b61033a6004803603602081101561032457600080fd5b8101908080359060200190929190505050611063565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61036e6110a2565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103a26110c8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610410600480360360208110156103e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110ee565b60405180821515815260200191505060405180910390f35b6104686004803603606081101561043e57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919050505061110e565b6040518082815260200191505060405180910390f35b610486611177565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104f4600480360360208110156104c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061119d565b60405180821515815260200191505060405180910390f35b6105146111bd565b005b61051e611368565b6040518082815260200191505060405180910390f35b61053c61136e565b6040518082815260200191505060405180910390f35b61057e6004803603602081101561056857600080fd5b8101908080359060200190929190505050611374565b6040518082815260200191505060405180910390f35b6105c0600480360360208110156105aa57600080fd5b81019080803590602001909291905050506113b5565b6040518082815260200191505060405180910390f35b6105de6113f6565b6040518082815260200191505060405180910390f35b6106366004803603602081101561060a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113fb565b005b6106406115a8565b60405180821515815260200191505060405180910390f35b6106606115be565b6040518082815260200191505060405180910390f35b61067e6115c4565b6040518082815260200191505060405180910390f35b61069c61168f565b6040518082815260200191505060405180910390f35b6106ba611794565b005b610712600480360360608110156106d257600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061193f565b005b61071c611f86565b6040518082815260200191505060405180910390f35b61075e6004803603602081101561074857600080fd5b8101908080359060200190929190505050611f93565b005b61078c6004803603602081101561077657600080fd5b810190808035906020019092919050505061225a565b005b6107da600480360360408110156107a457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061243c565b005b61081c600480360360608110156107f257600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506126bc565b6040518082815260200191505060405180910390f35b61083a612754565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108a66004803603606081101561087c57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919050505061277a565b005b6108ea600480360360208110156108be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cdf565b005b6108f4613290565b6040518082815260200191505060405180910390f35b610912613296565b6040518082815260200191505060405180910390f35b61093061329c565b6040518082815260200191505060405180910390f35b61094e6132a2565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109826132c8565b6040518082815260200191505060405180910390f35b60025481565b60006109a86115a8565b15610a1b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b60026001541415610a94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600181905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600281526020017f5a3000000000000000000000000000000000000000000000000000000000000081525090610ba9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b6e578082015181840152602081019050610b53565b50505050905090810190601f168015610b9b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000610bb5846113b5565b90506000610bce601054836136f290919063ffffffff16565b90506000610be5828461335f90919063ffffffff16565b9050610c348582600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661384d9092919063ffffffff16565b6000821115610cad57610cac600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661384d9092919063ffffffff16565b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac33886040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610d4057600080fd5b505af1158015610d54573d6000803e3d6000fd5b50505050610d6d8360025461335f90919063ffffffff16565b600281905550610d7d60006138ef565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd8ae9b9ba89e637bcb66a69ac91e8f688018e81d6f92c57e02226425c8efbdf6886040518082815260200191505060405180910390a38093505050506001808190555092915050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635f259aba336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610e7e57600080fd5b505afa158015610e92573d6000803e3d6000fd5b505050506040513d6020811015610ea857600080fd5b81019080805190602001909291905050506040518060400160405280600481526020017f41434c320000000000000000000000000000000000000000000000000000000081525090610f95576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f5a578082015181840152602081019050610f3f565b50505050905090810190601f168015610f875780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f9181736fce85d2d4cca2e4406f10679302ae5c387180fdb62963af3cd9a24fd660405160405180910390a250565b60008061104c600f544261335f90919063ffffffff16565b905061105d600d54600e548361110e565b91505090565b600b818154811061107357600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915054906101000a900460ff1681565b60008061115861113d6301e1338061112f86886133e290919063ffffffff16565b61346890919063ffffffff16565b6b033b2e3c9fd0803ce80000006134f190919063ffffffff16565b905061116d818661357990919063ffffffff16565b9150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a6020528060005260406000206000915054906101000a900460ff1681565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d4eb5db0336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561124657600080fd5b505afa15801561125a573d6000803e3d6000fd5b505050506040513d602081101561127057600080fd5b81019080805190602001909291905050506040518060400160405280600481526020017f41434c31000000000000000000000000000000000000000000000000000000008152509061135d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611322578082015181840152602081019050611307565b50505050905090810190601f16801561134f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506113666139ec565b565b600e5481565b60045481565b60006113ae61138161168f565b6113a06b033b2e3c9fd0803ce8000000856133e290919063ffffffff16565b61346890919063ffffffff16565b9050919050565b60006113ef6b033b2e3c9fd0803ce80000006113e16113d261168f565b856133e290919063ffffffff16565b61346890919063ffffffff16565b9050919050565b600181565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635f259aba336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561148457600080fd5b505afa158015611498573d6000803e3d6000fd5b505050506040513d60208110156114ae57600080fd5b81019080805190602001909291905050506040518060400160405280600481526020017f41434c32000000000000000000000000000000000000000000000000000000008152509061159b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611560578082015181840152602081019050611545565b50505050905090810190601f16801561158d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506115a581613ad6565b50565b60008060009054906101000a900460ff16905090565b600f5481565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561164f57600080fd5b505afa158015611663573d6000803e3d6000fd5b505050506040513d602081101561167957600080fd5b8101908080519060200190929190505050905090565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116fa57600080fd5b505afa15801561170e573d6000803e3d6000fd5b505050506040513d602081101561172457600080fd5b810190808051906020019092919050505090506000811415611755576b033b2e3c9fd0803ce8000000915050611791565b61178d8161177f6b033b2e3c9fd0803ce80000006117716132c8565b6133e290919063ffffffff16565b61346890919063ffffffff16565b9150505b90565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633a41ec64336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561181d57600080fd5b505afa158015611831573d6000803e3d6000fd5b505050506040513d602081101561184757600080fd5b81019080805190602001909291905050506040518060400160405280600481526020017f41434c310000000000000000000000000000000000000000000000000000000081525090611934576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118f95780820151818401526020810190506118de565b50505050905090810190601f1680156119265780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061193d613c75565b565b6119476115a8565b156119ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b60026001541415611a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600181905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600281526020017f5a3000000000000000000000000000000000000000000000000000000000000081525090611b48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b0d578082015181840152602081019050611af2565b50505050905090810190601f168015611b3a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600354611b6684611b586132c8565b6134f190919063ffffffff16565b11156040518060400160405280600381526020017f505332000000000000000000000000000000000000000000000000000000000081525090611c44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c09578082015181840152602081019050611bee565b50505050905090810190601f168015611c365780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cd057600080fd5b505afa158015611ce4573d6000803e3d6000fd5b505050506040513d6020811015611cfa57600080fd5b81019080805190602001909291905050509050611d5c333086600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16613d60909392919063ffffffff16565b611e3281600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611de957600080fd5b505afa158015611dfd573d6000803e3d6000fd5b505050506040513d6020811015611e1357600080fd5b810190808051906020019092919050505061335f90919063ffffffff16565b9350600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984611e7c87611374565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611ecf57600080fd5b505af1158015611ee3573d6000803e3d6000fd5b50505050611efc846002546134f190919063ffffffff16565b600281905550611f0c60006138ef565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd2491a9b4fe81a7cd4511e8b7b7743951b061dad5bed7da8a7795b080ee08c7e8685604051808381526020018281526020019250505060405180910390a35060018081905550505050565b6000600b80549050905090565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635f259aba336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561201c57600080fd5b505afa158015612030573d6000803e3d6000fd5b505050506040513d602081101561204657600080fd5b81019080805190602001909291905050506040518060400160405280600481526020017f41434c320000000000000000000000000000000000000000000000000000000081525090612133576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120f85780820151818401526020810190506120dd565b50505050905090810190601f1680156121255780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50606460ff168111156040518060400160405280600381526020017f505333000000000000000000000000000000000000000000000000000000000081525090612218576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156121dd5780820151818401526020810190506121c2565b50505050905090810190601f16801561220a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50806010819055507fd5fe46099fa396290a7f57e36c3c3c8774e2562c18ed5d1dcc0fa75071e03f1d816040518082815260200191505060405180910390a150565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635f259aba336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156122e357600080fd5b505afa1580156122f7573d6000803e3d6000fd5b505050506040513d602081101561230d57600080fd5b81019080805190602001909291905050506040518060400160405280600481526020017f41434c3200000000000000000000000000000000000000000000000000000000815250906123fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123bf5780820151818401526020810190506123a4565b50505050905090810190601f1680156123ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50806003819055507fd7a183c9fe85b604c25d54bd676e0866f6c13bcca9fb9b0850213de118fdc99c816040518082815260200191505060405180910390a150565b6124446115a8565b156124b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166040518060400160405280600381526020017f5053300000000000000000000000000000000000000000000000000000000000815250906125e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156125a557808201518184015260208101905061258a565b50505050905090810190601f1680156125d25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061262e8183600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661384d9092919063ffffffff16565b61263860006138ef565b61264d826004546134f190919063ffffffff16565b6004819055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f312a5e5e1079f5dda4e95dbbd0b908b291fd5b992ef22073643ab691572c5b52846040518082815260200191505060405180910390a35050565b600061274b6126ff6126d784866133e290919063ffffffff16565b6126f1876126e3611034565b6133e290919063ffffffff16565b6134f190919063ffffffff16565b61273d61271586886134f190919063ffffffff16565b61272f86612721611034565b6133e290919063ffffffff16565b6133e290919063ffffffff16565b61346890919063ffffffff16565b90509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6127826115a8565b156127f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166040518060400160405280600381526020017f50533000000000000000000000000000000000000000000000000000000000008152509061291e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156128e35780820151818401526020810190506128c8565b50505050905090810190601f1680156129105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000821115612a1d57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661299285611374565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156129e557600080fd5b505af11580156129f9573d6000803e3d6000fd5b50505050612a12826002546134f190919063ffffffff16565b600281905550612c58565b6000612a2882611374565b90506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612ad757600080fd5b505afa158015612aeb573d6000803e3d6000fd5b505050506040513d6020811015612b0157600080fd5b8101908080519060200190929190505050905081811015612b88578091503373ffffffffffffffffffffffffffffffffffffffff167fef3653ded679720ab04913b6f3820be7cedc8286d42ff5dd8dff17e91bd2964c612b72612b63846113b5565b8661335f90919063ffffffff16565b6040518082815260200191505060405180910390a25b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015612c3d57600080fd5b505af1158015612c51573d6000803e3d6000fd5b5050505050505b612c61816138ef565b612c768360045461335f90919063ffffffff16565b6004819055503373ffffffffffffffffffffffffffffffffffffffff167f2fe77b1c99aca6b022b8efc6e3e8dd1b48b30748709339b65c50ef3263443e0984848460405180848152602001838152602001828152602001935050505060405180910390a2505050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635f259aba336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612d6857600080fd5b505afa158015612d7c573d6000803e3d6000fd5b505050506040513d6020811015612d9257600080fd5b81019080805190602001909291905050506040518060400160405280600481526020017f41434c320000000000000000000000000000000000000000000000000000000081525090612e7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e44578082015181840152602081019050612e29565b50505050905090810190601f168015612e715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508073ffffffffffffffffffffffffffffffffffffffff1663570a7af26040518163ffffffff1660e01b815260040160206040518083038186803b158015612ec657600080fd5b505afa158015612eda573d6000803e3d6000fd5b505050506040513d6020811015612ef057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600381526020017f50533100000000000000000000000000000000000000000000000000000000008152509061300b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612fd0578082015181840152602081019050612fb5565b50505050905090810190601f168015612ffd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156040518060400160405280600381526020017f505334000000000000000000000000000000000000000000000000000000000081525090613136576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156130fb5780820151818401526020810190506130e0565b50505050905090810190601f1680156131285780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fe076020e7eac3915d33aec40c24f95e73eb6c9921ff89747d50aa8fd934d2c0160405160405180910390a250565b600d5481565b60105481565b60035481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806132e0600f544261335f90919063ffffffff16565b905060006133416301e133806133336b033b2e3c9fd0803ce800000061332586613317600e546004546133e290919063ffffffff16565b6133e290919063ffffffff16565b61346890919063ffffffff16565b61346890919063ffffffff16565b9050613358816002546134f190919063ffffffff16565b9250505090565b6000828211156133d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b6000808314156133f55760009050613462565b600082840290508284828161340657fe5b041461345d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806141de6021913960400191505060405180910390fd5b809150505b92915050565b60008082116134df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b8183816134e857fe5b04905092915050565b60008082840190508381101561356f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000808314806135895750600082145b1561359757600090506136ec565b8160026b033b2e3c9fd0803ce8000000816135ae57fe5b047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03816135d857fe5b048311156040518060400160405280600281526020017f4d31000000000000000000000000000000000000000000000000000000000000815250906136b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561367d578082015181840152602081019050613662565b50505050905090810190601f1680156136aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506b033b2e3c9fd0803ce800000060026b033b2e3c9fd0803ce8000000816136dc57fe5b0483850201816136e857fe5b0490505b92915050565b6000808314806137025750600082145b156137105760009050613847565b8160026127108161371d57fe5b047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038161374757fe5b048311156040518060400160405280600281526020017f4d3100000000000000000000000000000000000000000000000000000000000081525090613827576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137ec5780820151818401526020810190506137d1565b50505050905090810190601f1680156138195780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5061271060026127108161383757fe5b04838502018161384357fe5b0490505b92915050565b6138ea8363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613e21565b505050565b613909816138fb6132c8565b61335f90919063ffffffff16565b600281905550613917611034565b600d81905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342568d446002546139666115c4565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156139a157600080fd5b505afa1580156139b5573d6000803e3d6000fd5b505050506040513d60208110156139cb57600080fd5b8101908080519060200190929190505050600e8190555042600f8190555050565b6139f46115a8565b613a66576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b60008060006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa613aa9613f10565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600281526020017f5a3000000000000000000000000000000000000000000000000000000000000081525090613be3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613ba8578082015181840152602081019050613b8d565b50505050905090810190601f168015613bd55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613c2f60006138ef565b8073ffffffffffffffffffffffffffffffffffffffff167f0ec6cb7631d36954a05ffd646135bfd9995c71e7fa36d26abb1ad9f24a040ea160405160405180910390a250565b613c7d6115a8565b15613cf0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b60016000806101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613d33613f10565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b613e1b846323b872dd60e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613e21565b50505050565b6000613e83826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613f189092919063ffffffff16565b9050600081511115613f0b57808060200190516020811015613ea457600080fd5b8101908080519060200190929190505050613f0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806141ff602a913960400191505060405180910390fd5b5b505050565b600033905090565b6060613f278484600085613f30565b90509392505050565b606082471015613f8b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806141b86026913960400191505060405180910390fd5b613f94856140d8565b614006576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081525060200191505060405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106140555780518252602082019150602081019050602083039250614032565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146140b7576040519150601f19603f3d011682016040523d82523d6000602084013e6140bc565b606091505b50915091506140cc8282866140eb565b92505050949350505050565b600080823b905060008111915050919050565b606083156140fb578290506141b0565b60008351111561410e5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561417557808201518184015260208101905061415a565b50505050905090810190601f1680156141a25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b939250505056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220555dcec2a4fb94fd2eaeb4e1f5acd69c84dee1c4fe9f244d0b7b2bc083e7301264736f6c63430007060033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77";
841
+
842
+ export class PoolService__factory extends ContractFactory {
843
+ constructor(signer?: Signer) {
844
+ super(_abi, _bytecode, signer);
845
+ }
846
+
847
+ deploy(
848
+ _addressProvider: string,
849
+ _underlyingToken: string,
850
+ _dieselAddress: string,
851
+ _interestRateModelAddress: string,
852
+ _expectedLiquidityLimit: BigNumberish,
853
+ overrides?: Overrides & { from?: string | Promise<string> }
854
+ ): Promise<PoolService> {
855
+ return super.deploy(
856
+ _addressProvider,
857
+ _underlyingToken,
858
+ _dieselAddress,
859
+ _interestRateModelAddress,
860
+ _expectedLiquidityLimit,
861
+ overrides || {}
862
+ ) as Promise<PoolService>;
863
+ }
864
+ getDeployTransaction(
865
+ _addressProvider: string,
866
+ _underlyingToken: string,
867
+ _dieselAddress: string,
868
+ _interestRateModelAddress: string,
869
+ _expectedLiquidityLimit: BigNumberish,
870
+ overrides?: Overrides & { from?: string | Promise<string> }
871
+ ): TransactionRequest {
872
+ return super.getDeployTransaction(
873
+ _addressProvider,
874
+ _underlyingToken,
875
+ _dieselAddress,
876
+ _interestRateModelAddress,
877
+ _expectedLiquidityLimit,
878
+ overrides || {}
879
+ );
880
+ }
881
+ attach(address: string): PoolService {
882
+ return super.attach(address) as PoolService;
883
+ }
884
+ connect(signer: Signer): PoolService__factory {
885
+ return super.connect(signer) as PoolService__factory;
886
+ }
887
+ static readonly bytecode = _bytecode;
888
+ static readonly abi = _abi;
889
+ static createInterface(): PoolServiceInterface {
890
+ return new utils.Interface(_abi) as PoolServiceInterface;
891
+ }
892
+ static connect(
893
+ address: string,
894
+ signerOrProvider: Signer | Provider
895
+ ): PoolService {
896
+ return new Contract(address, _abi, signerOrProvider) as PoolService;
897
+ }
898
+ }