@pendle/core-v2 0.6.7 → 0.6.9

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 (261) hide show
  1. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +4 -0
  2. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.json +113 -0
  3. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +4 -0
  4. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.json +43 -0
  5. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +4 -0
  6. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.json +167 -0
  7. package/build/artifacts/contracts/interfaces/IPVotingEscrowController.sol/IPVotingEscrowController.dbg.json +4 -0
  8. package/build/artifacts/contracts/interfaces/IPVotingEscrowController.sol/IPVotingEscrowController.json +61 -0
  9. package/build/artifacts/contracts/interfaces/IVePToken.sol/IVePToken.dbg.json +1 -1
  10. package/build/artifacts/contracts/interfaces/IVotingEscrowPendle.sol/IVotingEscrowPendle.dbg.json +1 -1
  11. package/contracts/interfaces/IPGauge.sol +32 -0
  12. package/contracts/interfaces/IPVeToken.sol +14 -0
  13. package/contracts/interfaces/IPVotingEscrow.sol +32 -0
  14. package/contracts/interfaces/IPVotingEscrowController.sol +14 -0
  15. package/package.json +1 -1
  16. package/typechain-types/ActionSCYAndYOBase.ts +223 -0
  17. package/typechain-types/AggregatorV2V3Interface.ts +380 -0
  18. package/typechain-types/BenqiChainlinkOracle.ts +362 -0
  19. package/typechain-types/BoringOwnable.ts +194 -0
  20. package/typechain-types/BoringOwnableData.ts +100 -0
  21. package/typechain-types/BoringOwnableUpg.ts +194 -0
  22. package/typechain-types/BoringOwnableUpgData.ts +100 -0
  23. package/typechain-types/Comptroller.ts +2860 -0
  24. package/typechain-types/ComptrollerErrorReporter.ts +70 -0
  25. package/typechain-types/ComptrollerInterface.ts +881 -0
  26. package/typechain-types/ComptrollerVXStorage.ts +781 -0
  27. package/typechain-types/CrosschainContract.ts +113 -0
  28. package/typechain-types/CrosschainReceiver.ts +347 -0
  29. package/typechain-types/CrosschainSender.ts +210 -0
  30. package/typechain-types/EIP20Interface.ts +337 -0
  31. package/typechain-types/EIP20NonStandardInterface.ts +298 -0
  32. package/typechain-types/ERC20Burnable.ts +473 -0
  33. package/typechain-types/ERC20Locker.ts +91 -0
  34. package/typechain-types/ERC20Premined.ts +473 -0
  35. package/typechain-types/ERC20PresetFixedSupply.ts +473 -0
  36. package/typechain-types/EpochController.ts +195 -0
  37. package/typechain-types/FundKeeper.ts +347 -0
  38. package/typechain-types/GaugeTypeControllerAbstract.ts +546 -0
  39. package/typechain-types/GaugeTypeControllerCrosschain.ts +733 -0
  40. package/typechain-types/GaugeTypeControllerMainchain.ts +604 -0
  41. package/typechain-types/IGaugeController.ts +99 -0
  42. package/typechain-types/ILiquidYieldToken.ts +639 -0
  43. package/typechain-types/ILiquidYieldTokenWrap.ts +790 -0
  44. package/typechain-types/IMessageBus.ts +543 -0
  45. package/typechain-types/IMessageReceiverApp.ts +110 -0
  46. package/typechain-types/IPFlashCallback.ts +115 -0
  47. package/typechain-types/IPGauge.ts +241 -0
  48. package/typechain-types/IPLiquidYieldToken.ts +641 -0
  49. package/typechain-types/IPMarketCallback.ts +107 -0
  50. package/typechain-types/IPOwnershipToken.ts +488 -0
  51. package/typechain-types/IPRouterCore.ts +769 -0
  52. package/typechain-types/IPRouterRedeem.ts +155 -0
  53. package/typechain-types/IPRouterYT.ts +489 -0
  54. package/typechain-types/IPVeToken.ts +103 -0
  55. package/typechain-types/IPVotingEscrow.ts +297 -0
  56. package/typechain-types/IPVotingEscrowController.ts +154 -0
  57. package/typechain-types/IPermissionsV2.ts +87 -0
  58. package/typechain-types/IRainbowBridge.ts +91 -0
  59. package/typechain-types/ISCYRewardIndex.ts +695 -0
  60. package/typechain-types/IVEPendleToken.ts +121 -0
  61. package/typechain-types/IXPendle.ts +114 -0
  62. package/typechain-types/InterestRateModel.ts +178 -0
  63. package/typechain-types/JumpRateModel.ts +347 -0
  64. package/typechain-types/LYTBase.ts +721 -0
  65. package/typechain-types/LYTBaseWithRewards.ts +806 -0
  66. package/typechain-types/LYTWrap.ts +872 -0
  67. package/typechain-types/LYTWrapWithRewards.ts +979 -0
  68. package/typechain-types/LiquidityMining.ts +468 -0
  69. package/typechain-types/Maximillion.ts +145 -0
  70. package/typechain-types/Ownable.ts +160 -0
  71. package/typechain-types/PendleAaveV3LYT.ts +808 -0
  72. package/typechain-types/PendleBenQiErc20LYT.ts +901 -0
  73. package/typechain-types/PendleBenqiLiquidYieldToken.ts +1013 -0
  74. package/typechain-types/PendleBtrflyLYT.ts +781 -0
  75. package/typechain-types/PendleGauge.ts +469 -0
  76. package/typechain-types/PendleJoeSwapHelper.ts +92 -0
  77. package/typechain-types/PendleLYTMockYT.ts +894 -0
  78. package/typechain-types/PendleLiquidYieldToken.ts +814 -0
  79. package/typechain-types/PendleLiquidYieldTokenBase.ts +941 -0
  80. package/typechain-types/PendleOwnershipToken.ts +598 -0
  81. package/typechain-types/PendleRouter01.ts +184 -0
  82. package/typechain-types/PendleRouter02.ts +564 -0
  83. package/typechain-types/PendleRouter03.ts +224 -0
  84. package/typechain-types/PendleRouterBase.ts +126 -0
  85. package/typechain-types/PendleRouterCore.ts +328 -0
  86. package/typechain-types/PendleRouterCoreUpg.ts +798 -0
  87. package/typechain-types/PendleRouterLytAndForge.ts +331 -0
  88. package/typechain-types/PendleRouterMarketBase.ts +82 -0
  89. package/typechain-types/PendleRouterOT.ts +463 -0
  90. package/typechain-types/PendleRouterProxy.ts +335 -0
  91. package/typechain-types/PendleRouterRawTokenOT.ts +865 -0
  92. package/typechain-types/PendleRouterRawTokenYT.ts +520 -0
  93. package/typechain-types/PendleRouterRedeemUpg.ts +125 -0
  94. package/typechain-types/PendleRouterSCYAndForgeBaseUpg.ts +98 -0
  95. package/typechain-types/PendleRouterStaticUpg.ts +399 -0
  96. package/typechain-types/PendleRouterYT.ts +227 -0
  97. package/typechain-types/PendleRouterYTBaseUpg.ts +134 -0
  98. package/typechain-types/PendleRouterYTUpg.ts +537 -0
  99. package/typechain-types/PendleYTLYTBenqi.ts +863 -0
  100. package/typechain-types/PendleYearnVaultLYT.ts +723 -0
  101. package/typechain-types/PermissionsV2.ts +87 -0
  102. package/typechain-types/PermlessAbstract.ts +57 -0
  103. package/typechain-types/PglStakingContract.ts +662 -0
  104. package/typechain-types/PglStakingContractProxy.ts +256 -0
  105. package/typechain-types/PglStakingContractProxyStorage.ts +136 -0
  106. package/typechain-types/PglStakingContractStorage.ts +397 -0
  107. package/typechain-types/PriceOracle.ts +116 -0
  108. package/typechain-types/ProtocolFakeUser.ts +105 -0
  109. package/typechain-types/Qi.ts +760 -0
  110. package/typechain-types/QiAvax.ts +1720 -0
  111. package/typechain-types/QiDelegateInterface.ts +145 -0
  112. package/typechain-types/QiDelegationStorage.ts +82 -0
  113. package/typechain-types/QiDelegatorInterface.ts +149 -0
  114. package/typechain-types/QiErc20.ts +1846 -0
  115. package/typechain-types/QiErc20Delegate.ts +1926 -0
  116. package/typechain-types/QiErc20Delegator.ts +1885 -0
  117. package/typechain-types/QiErc20Interface.ts +382 -0
  118. package/typechain-types/QiErc20Storage.ts +79 -0
  119. package/typechain-types/QiToken.ts +1475 -0
  120. package/typechain-types/QiTokenInterface.ts +1419 -0
  121. package/typechain-types/QiTokenSaleDistributor.ts +771 -0
  122. package/typechain-types/QiTokenSaleDistributorProxy.ts +256 -0
  123. package/typechain-types/QiTokenSaleDistributorProxyStorage.ts +136 -0
  124. package/typechain-types/QiTokenSaleDistributorStorage.ts +401 -0
  125. package/typechain-types/QiTokenStorage.ts +311 -0
  126. package/typechain-types/ReentrancyGuard.ts +52 -0
  127. package/typechain-types/SingleGaugeTypeController.ts +478 -0
  128. package/typechain-types/TokenErrorReporter.ts +70 -0
  129. package/typechain-types/Unitroller.ts +356 -0
  130. package/typechain-types/UnitrollerAdminStorage.ts +143 -0
  131. package/typechain-types/VePendle.ts +1156 -0
  132. package/typechain-types/VePendleCrosschain.ts +969 -0
  133. package/typechain-types/VePendleToken.ts +688 -0
  134. package/typechain-types/VotingController.ts +883 -0
  135. package/typechain-types/WETH9.ts +414 -0
  136. package/typechain-types/WhitePaperInterestRateModel.ts +304 -0
  137. package/typechain-types/XPendle.ts +618 -0
  138. package/typechain-types/factories/ActionSCYAndYOBase__factory.ts +200 -0
  139. package/typechain-types/factories/AggregatorV2V3Interface__factory.ts +288 -0
  140. package/typechain-types/factories/BenqiChainlinkOracle__factory.ts +311 -0
  141. package/typechain-types/factories/BoringOwnableData__factory.ts +90 -0
  142. package/typechain-types/factories/BoringOwnableUpgData__factory.ts +94 -0
  143. package/typechain-types/factories/BoringOwnableUpg__factory.ts +139 -0
  144. package/typechain-types/factories/BoringOwnable__factory.ts +149 -0
  145. package/typechain-types/factories/ComptrollerErrorReporter__factory.ts +93 -0
  146. package/typechain-types/factories/ComptrollerInterface__factory.ts +595 -0
  147. package/typechain-types/factories/ComptrollerVXStorage__factory.ts +610 -0
  148. package/typechain-types/factories/Comptroller__factory.ts +2189 -0
  149. package/typechain-types/factories/CrosschainContract__factory.ts +52 -0
  150. package/typechain-types/factories/CrosschainReceiver__factory.ts +187 -0
  151. package/typechain-types/factories/CrosschainSender__factory.ts +104 -0
  152. package/typechain-types/factories/EIP20Interface__factory.ts +248 -0
  153. package/typechain-types/factories/EIP20NonStandardInterface__factory.ts +213 -0
  154. package/typechain-types/factories/ERC20Burnable__factory.ts +324 -0
  155. package/typechain-types/factories/ERC20Locker__factory.ts +73 -0
  156. package/typechain-types/factories/ERC20Premined__factory.ts +393 -0
  157. package/typechain-types/factories/ERC20PresetFixedSupply__factory.ts +422 -0
  158. package/typechain-types/factories/EpochController__factory.ts +170 -0
  159. package/typechain-types/factories/FundKeeper__factory.ts +212 -0
  160. package/typechain-types/factories/GaugeTypeControllerAbstract__factory.ts +387 -0
  161. package/typechain-types/factories/GaugeTypeControllerCrosschain__factory.ts +522 -0
  162. package/typechain-types/factories/GaugeTypeControllerMainchain__factory.ts +431 -0
  163. package/typechain-types/factories/IGaugeController__factory.ts +45 -0
  164. package/typechain-types/factories/ILiquidYieldTokenWrap__factory.ts +533 -0
  165. package/typechain-types/factories/ILiquidYieldToken__factory.ts +429 -0
  166. package/typechain-types/factories/IMessageBus__factory.ts +396 -0
  167. package/typechain-types/factories/IMessageReceiverApp__factory.ts +55 -0
  168. package/typechain-types/factories/IPFlashCallback__factory.ts +49 -0
  169. package/typechain-types/factories/IPGauge__factory.ts +125 -0
  170. package/typechain-types/factories/IPLiquidYieldToken__factory.ts +433 -0
  171. package/typechain-types/factories/IPMarketCallback__factory.ts +55 -0
  172. package/typechain-types/factories/IPOwnershipToken__factory.ts +349 -0
  173. package/typechain-types/factories/IPRouterCore__factory.ts +531 -0
  174. package/typechain-types/factories/IPRouterRedeem__factory.ts +72 -0
  175. package/typechain-types/factories/IPRouterYT__factory.ts +305 -0
  176. package/typechain-types/factories/IPVeToken__factory.ts +55 -0
  177. package/typechain-types/factories/IPVotingEscrowController__factory.ts +80 -0
  178. package/typechain-types/factories/IPVotingEscrow__factory.ts +182 -0
  179. package/typechain-types/factories/IPermissionsV2__factory.ts +39 -0
  180. package/typechain-types/factories/IRainbowBridge__factory.ts +76 -0
  181. package/typechain-types/factories/ISCYRewardIndex__factory.ts +465 -0
  182. package/typechain-types/factories/IVEPendleToken__factory.ts +71 -0
  183. package/typechain-types/factories/IXPendle__factory.ts +61 -0
  184. package/typechain-types/factories/InterestRateModel__factory.ts +108 -0
  185. package/typechain-types/factories/JumpRateModel__factory.ts +334 -0
  186. package/typechain-types/factories/LYTBaseWithRewards__factory.ts +530 -0
  187. package/typechain-types/factories/LYTBase__factory.ts +474 -0
  188. package/typechain-types/factories/LYTWrapWithRewards__factory.ts +643 -0
  189. package/typechain-types/factories/LYTWrap__factory.ts +574 -0
  190. package/typechain-types/factories/LiquidityMining__factory.ts +367 -0
  191. package/typechain-types/factories/Maximillion__factory.ts +125 -0
  192. package/typechain-types/factories/Ownable__factory.ts +75 -0
  193. package/typechain-types/factories/PendleAaveV3LYT__factory.ts +657 -0
  194. package/typechain-types/factories/PendleBenQiErc20LYT__factory.ts +748 -0
  195. package/typechain-types/factories/PendleBenqiLiquidYieldToken__factory.ts +785 -0
  196. package/typechain-types/factories/PendleBtrflyLYT__factory.ts +647 -0
  197. package/typechain-types/factories/PendleGauge__factory.ts +383 -0
  198. package/typechain-types/factories/PendleJoeSwapHelper__factory.ts +52 -0
  199. package/typechain-types/factories/PendleLYTMockYT__factory.ts +732 -0
  200. package/typechain-types/factories/PendleLiquidYieldTokenBase__factory.ts +603 -0
  201. package/typechain-types/factories/PendleLiquidYieldToken__factory.ts +510 -0
  202. package/typechain-types/factories/PendleOwnershipToken__factory.ts +527 -0
  203. package/typechain-types/factories/PendleRouter01__factory.ts +152 -0
  204. package/typechain-types/factories/PendleRouter02__factory.ts +438 -0
  205. package/typechain-types/factories/PendleRouter03__factory.ts +190 -0
  206. package/typechain-types/factories/PendleRouterBase__factory.ts +68 -0
  207. package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +635 -0
  208. package/typechain-types/factories/PendleRouterCore__factory.ts +268 -0
  209. package/typechain-types/factories/PendleRouterLytAndForge__factory.ts +294 -0
  210. package/typechain-types/factories/PendleRouterMarketBase__factory.ts +43 -0
  211. package/typechain-types/factories/PendleRouterOT__factory.ts +372 -0
  212. package/typechain-types/factories/PendleRouterProxy__factory.ts +285 -0
  213. package/typechain-types/factories/PendleRouterRawTokenOT__factory.ts +697 -0
  214. package/typechain-types/factories/PendleRouterRawTokenYT__factory.ts +431 -0
  215. package/typechain-types/factories/PendleRouterRedeemUpg__factory.ts +112 -0
  216. package/typechain-types/factories/PendleRouterSCYAndForgeBaseUpg__factory.ts +56 -0
  217. package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +315 -0
  218. package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +66 -0
  219. package/typechain-types/factories/PendleRouterYTUpg__factory.ts +422 -0
  220. package/typechain-types/factories/PendleRouterYT__factory.ts +184 -0
  221. package/typechain-types/factories/PendleYTLYTBenqi__factory.ts +713 -0
  222. package/typechain-types/factories/PendleYearnVaultLYT__factory.ts +586 -0
  223. package/typechain-types/factories/PermissionsV2__factory.ts +36 -0
  224. package/typechain-types/factories/PermlessAbstract__factory.ts +30 -0
  225. package/typechain-types/factories/PglStakingContractProxyStorage__factory.ts +130 -0
  226. package/typechain-types/factories/PglStakingContractProxy__factory.ts +187 -0
  227. package/typechain-types/factories/PglStakingContractStorage__factory.ts +309 -0
  228. package/typechain-types/factories/PglStakingContract__factory.ts +446 -0
  229. package/typechain-types/factories/PriceOracle__factory.ts +59 -0
  230. package/typechain-types/factories/ProtocolFakeUser__factory.ts +87 -0
  231. package/typechain-types/factories/QiAvax__factory.ts +1471 -0
  232. package/typechain-types/factories/QiDelegateInterface__factory.ts +65 -0
  233. package/typechain-types/factories/QiDelegationStorage__factory.ts +79 -0
  234. package/typechain-types/factories/QiDelegatorInterface__factory.ts +89 -0
  235. package/typechain-types/factories/QiErc20Delegate__factory.ts +1563 -0
  236. package/typechain-types/factories/QiErc20Delegator__factory.ts +1648 -0
  237. package/typechain-types/factories/QiErc20Interface__factory.ts +239 -0
  238. package/typechain-types/factories/QiErc20Storage__factory.ts +79 -0
  239. package/typechain-types/factories/QiErc20__factory.ts +1515 -0
  240. package/typechain-types/factories/QiTokenInterface__factory.ts +1182 -0
  241. package/typechain-types/factories/QiTokenSaleDistributorProxyStorage__factory.ts +124 -0
  242. package/typechain-types/factories/QiTokenSaleDistributorProxy__factory.ts +171 -0
  243. package/typechain-types/factories/QiTokenSaleDistributorStorage__factory.ts +289 -0
  244. package/typechain-types/factories/QiTokenSaleDistributor__factory.ts +480 -0
  245. package/typechain-types/factories/QiTokenStorage__factory.ts +274 -0
  246. package/typechain-types/factories/QiToken__factory.ts +1219 -0
  247. package/typechain-types/factories/Qi__factory.ts +648 -0
  248. package/typechain-types/factories/ReentrancyGuard__factory.ts +69 -0
  249. package/typechain-types/factories/SingleGaugeTypeController__factory.ts +341 -0
  250. package/typechain-types/factories/TokenErrorReporter__factory.ts +89 -0
  251. package/typechain-types/factories/UnitrollerAdminStorage__factory.ts +128 -0
  252. package/typechain-types/factories/Unitroller__factory.ts +305 -0
  253. package/typechain-types/factories/VePendleCrosschain__factory.ts +727 -0
  254. package/typechain-types/factories/VePendleToken__factory.ts +494 -0
  255. package/typechain-types/factories/VePendle__factory.ts +800 -0
  256. package/typechain-types/factories/VotingController__factory.ts +610 -0
  257. package/typechain-types/factories/WETH9__factory.ts +342 -0
  258. package/typechain-types/factories/WhitePaperInterestRateModel__factory.ts +281 -0
  259. package/typechain-types/factories/XPendle__factory.ts +473 -0
  260. package/typechain-types/hardhat.d.ts +72 -0
  261. package/typechain-types/index.ts +16 -0
@@ -0,0 +1,1563 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type {
7
+ QiErc20Delegate,
8
+ QiErc20DelegateInterface,
9
+ } from "../QiErc20Delegate";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [],
14
+ payable: false,
15
+ stateMutability: "nonpayable",
16
+ type: "constructor",
17
+ },
18
+ {
19
+ anonymous: false,
20
+ inputs: [
21
+ {
22
+ indexed: false,
23
+ internalType: "uint256",
24
+ name: "cashPrior",
25
+ type: "uint256",
26
+ },
27
+ {
28
+ indexed: false,
29
+ internalType: "uint256",
30
+ name: "interestAccumulated",
31
+ type: "uint256",
32
+ },
33
+ {
34
+ indexed: false,
35
+ internalType: "uint256",
36
+ name: "borrowIndex",
37
+ type: "uint256",
38
+ },
39
+ {
40
+ indexed: false,
41
+ internalType: "uint256",
42
+ name: "totalBorrows",
43
+ type: "uint256",
44
+ },
45
+ ],
46
+ name: "AccrueInterest",
47
+ type: "event",
48
+ },
49
+ {
50
+ anonymous: false,
51
+ inputs: [
52
+ {
53
+ indexed: true,
54
+ internalType: "address",
55
+ name: "owner",
56
+ type: "address",
57
+ },
58
+ {
59
+ indexed: true,
60
+ internalType: "address",
61
+ name: "spender",
62
+ type: "address",
63
+ },
64
+ {
65
+ indexed: false,
66
+ internalType: "uint256",
67
+ name: "amount",
68
+ type: "uint256",
69
+ },
70
+ ],
71
+ name: "Approval",
72
+ type: "event",
73
+ },
74
+ {
75
+ anonymous: false,
76
+ inputs: [
77
+ {
78
+ indexed: false,
79
+ internalType: "address",
80
+ name: "borrower",
81
+ type: "address",
82
+ },
83
+ {
84
+ indexed: false,
85
+ internalType: "uint256",
86
+ name: "borrowAmount",
87
+ type: "uint256",
88
+ },
89
+ {
90
+ indexed: false,
91
+ internalType: "uint256",
92
+ name: "accountBorrows",
93
+ type: "uint256",
94
+ },
95
+ {
96
+ indexed: false,
97
+ internalType: "uint256",
98
+ name: "totalBorrows",
99
+ type: "uint256",
100
+ },
101
+ ],
102
+ name: "Borrow",
103
+ type: "event",
104
+ },
105
+ {
106
+ anonymous: false,
107
+ inputs: [
108
+ {
109
+ indexed: false,
110
+ internalType: "uint256",
111
+ name: "error",
112
+ type: "uint256",
113
+ },
114
+ {
115
+ indexed: false,
116
+ internalType: "uint256",
117
+ name: "info",
118
+ type: "uint256",
119
+ },
120
+ {
121
+ indexed: false,
122
+ internalType: "uint256",
123
+ name: "detail",
124
+ type: "uint256",
125
+ },
126
+ ],
127
+ name: "Failure",
128
+ type: "event",
129
+ },
130
+ {
131
+ anonymous: false,
132
+ inputs: [
133
+ {
134
+ indexed: false,
135
+ internalType: "address",
136
+ name: "liquidator",
137
+ type: "address",
138
+ },
139
+ {
140
+ indexed: false,
141
+ internalType: "address",
142
+ name: "borrower",
143
+ type: "address",
144
+ },
145
+ {
146
+ indexed: false,
147
+ internalType: "uint256",
148
+ name: "repayAmount",
149
+ type: "uint256",
150
+ },
151
+ {
152
+ indexed: false,
153
+ internalType: "address",
154
+ name: "qiTokenCollateral",
155
+ type: "address",
156
+ },
157
+ {
158
+ indexed: false,
159
+ internalType: "uint256",
160
+ name: "seizeTokens",
161
+ type: "uint256",
162
+ },
163
+ ],
164
+ name: "LiquidateBorrow",
165
+ type: "event",
166
+ },
167
+ {
168
+ anonymous: false,
169
+ inputs: [
170
+ {
171
+ indexed: false,
172
+ internalType: "address",
173
+ name: "minter",
174
+ type: "address",
175
+ },
176
+ {
177
+ indexed: false,
178
+ internalType: "uint256",
179
+ name: "mintAmount",
180
+ type: "uint256",
181
+ },
182
+ {
183
+ indexed: false,
184
+ internalType: "uint256",
185
+ name: "mintTokens",
186
+ type: "uint256",
187
+ },
188
+ ],
189
+ name: "Mint",
190
+ type: "event",
191
+ },
192
+ {
193
+ anonymous: false,
194
+ inputs: [
195
+ {
196
+ indexed: false,
197
+ internalType: "address",
198
+ name: "oldAdmin",
199
+ type: "address",
200
+ },
201
+ {
202
+ indexed: false,
203
+ internalType: "address",
204
+ name: "newAdmin",
205
+ type: "address",
206
+ },
207
+ ],
208
+ name: "NewAdmin",
209
+ type: "event",
210
+ },
211
+ {
212
+ anonymous: false,
213
+ inputs: [
214
+ {
215
+ indexed: false,
216
+ internalType: "contract ComptrollerInterface",
217
+ name: "oldComptroller",
218
+ type: "address",
219
+ },
220
+ {
221
+ indexed: false,
222
+ internalType: "contract ComptrollerInterface",
223
+ name: "newComptroller",
224
+ type: "address",
225
+ },
226
+ ],
227
+ name: "NewComptroller",
228
+ type: "event",
229
+ },
230
+ {
231
+ anonymous: false,
232
+ inputs: [
233
+ {
234
+ indexed: false,
235
+ internalType: "contract InterestRateModel",
236
+ name: "oldInterestRateModel",
237
+ type: "address",
238
+ },
239
+ {
240
+ indexed: false,
241
+ internalType: "contract InterestRateModel",
242
+ name: "newInterestRateModel",
243
+ type: "address",
244
+ },
245
+ ],
246
+ name: "NewMarketInterestRateModel",
247
+ type: "event",
248
+ },
249
+ {
250
+ anonymous: false,
251
+ inputs: [
252
+ {
253
+ indexed: false,
254
+ internalType: "address",
255
+ name: "oldPendingAdmin",
256
+ type: "address",
257
+ },
258
+ {
259
+ indexed: false,
260
+ internalType: "address",
261
+ name: "newPendingAdmin",
262
+ type: "address",
263
+ },
264
+ ],
265
+ name: "NewPendingAdmin",
266
+ type: "event",
267
+ },
268
+ {
269
+ anonymous: false,
270
+ inputs: [
271
+ {
272
+ indexed: false,
273
+ internalType: "uint256",
274
+ name: "oldProtocolSeizeShareMantissa",
275
+ type: "uint256",
276
+ },
277
+ {
278
+ indexed: false,
279
+ internalType: "uint256",
280
+ name: "newProtocolSeizeShareMantissa",
281
+ type: "uint256",
282
+ },
283
+ ],
284
+ name: "NewProtocolSeizeShare",
285
+ type: "event",
286
+ },
287
+ {
288
+ anonymous: false,
289
+ inputs: [
290
+ {
291
+ indexed: false,
292
+ internalType: "uint256",
293
+ name: "oldReserveFactorMantissa",
294
+ type: "uint256",
295
+ },
296
+ {
297
+ indexed: false,
298
+ internalType: "uint256",
299
+ name: "newReserveFactorMantissa",
300
+ type: "uint256",
301
+ },
302
+ ],
303
+ name: "NewReserveFactor",
304
+ type: "event",
305
+ },
306
+ {
307
+ anonymous: false,
308
+ inputs: [
309
+ {
310
+ indexed: false,
311
+ internalType: "address",
312
+ name: "redeemer",
313
+ type: "address",
314
+ },
315
+ {
316
+ indexed: false,
317
+ internalType: "uint256",
318
+ name: "redeemAmount",
319
+ type: "uint256",
320
+ },
321
+ {
322
+ indexed: false,
323
+ internalType: "uint256",
324
+ name: "redeemTokens",
325
+ type: "uint256",
326
+ },
327
+ ],
328
+ name: "Redeem",
329
+ type: "event",
330
+ },
331
+ {
332
+ anonymous: false,
333
+ inputs: [
334
+ {
335
+ indexed: false,
336
+ internalType: "address",
337
+ name: "payer",
338
+ type: "address",
339
+ },
340
+ {
341
+ indexed: false,
342
+ internalType: "address",
343
+ name: "borrower",
344
+ type: "address",
345
+ },
346
+ {
347
+ indexed: false,
348
+ internalType: "uint256",
349
+ name: "repayAmount",
350
+ type: "uint256",
351
+ },
352
+ {
353
+ indexed: false,
354
+ internalType: "uint256",
355
+ name: "accountBorrows",
356
+ type: "uint256",
357
+ },
358
+ {
359
+ indexed: false,
360
+ internalType: "uint256",
361
+ name: "totalBorrows",
362
+ type: "uint256",
363
+ },
364
+ ],
365
+ name: "RepayBorrow",
366
+ type: "event",
367
+ },
368
+ {
369
+ anonymous: false,
370
+ inputs: [
371
+ {
372
+ indexed: false,
373
+ internalType: "address",
374
+ name: "benefactor",
375
+ type: "address",
376
+ },
377
+ {
378
+ indexed: false,
379
+ internalType: "uint256",
380
+ name: "addAmount",
381
+ type: "uint256",
382
+ },
383
+ {
384
+ indexed: false,
385
+ internalType: "uint256",
386
+ name: "newTotalReserves",
387
+ type: "uint256",
388
+ },
389
+ ],
390
+ name: "ReservesAdded",
391
+ type: "event",
392
+ },
393
+ {
394
+ anonymous: false,
395
+ inputs: [
396
+ {
397
+ indexed: false,
398
+ internalType: "address",
399
+ name: "admin",
400
+ type: "address",
401
+ },
402
+ {
403
+ indexed: false,
404
+ internalType: "uint256",
405
+ name: "reduceAmount",
406
+ type: "uint256",
407
+ },
408
+ {
409
+ indexed: false,
410
+ internalType: "uint256",
411
+ name: "newTotalReserves",
412
+ type: "uint256",
413
+ },
414
+ ],
415
+ name: "ReservesReduced",
416
+ type: "event",
417
+ },
418
+ {
419
+ anonymous: false,
420
+ inputs: [
421
+ {
422
+ indexed: true,
423
+ internalType: "address",
424
+ name: "from",
425
+ type: "address",
426
+ },
427
+ {
428
+ indexed: true,
429
+ internalType: "address",
430
+ name: "to",
431
+ type: "address",
432
+ },
433
+ {
434
+ indexed: false,
435
+ internalType: "uint256",
436
+ name: "amount",
437
+ type: "uint256",
438
+ },
439
+ ],
440
+ name: "Transfer",
441
+ type: "event",
442
+ },
443
+ {
444
+ constant: false,
445
+ inputs: [],
446
+ name: "_acceptAdmin",
447
+ outputs: [
448
+ {
449
+ internalType: "uint256",
450
+ name: "",
451
+ type: "uint256",
452
+ },
453
+ ],
454
+ payable: false,
455
+ stateMutability: "nonpayable",
456
+ type: "function",
457
+ },
458
+ {
459
+ constant: false,
460
+ inputs: [
461
+ {
462
+ internalType: "uint256",
463
+ name: "addAmount",
464
+ type: "uint256",
465
+ },
466
+ ],
467
+ name: "_addReserves",
468
+ outputs: [
469
+ {
470
+ internalType: "uint256",
471
+ name: "",
472
+ type: "uint256",
473
+ },
474
+ ],
475
+ payable: false,
476
+ stateMutability: "nonpayable",
477
+ type: "function",
478
+ },
479
+ {
480
+ constant: false,
481
+ inputs: [
482
+ {
483
+ internalType: "bytes",
484
+ name: "data",
485
+ type: "bytes",
486
+ },
487
+ ],
488
+ name: "_becomeImplementation",
489
+ outputs: [],
490
+ payable: false,
491
+ stateMutability: "nonpayable",
492
+ type: "function",
493
+ },
494
+ {
495
+ constant: false,
496
+ inputs: [
497
+ {
498
+ internalType: "uint256",
499
+ name: "reduceAmount",
500
+ type: "uint256",
501
+ },
502
+ ],
503
+ name: "_reduceReserves",
504
+ outputs: [
505
+ {
506
+ internalType: "uint256",
507
+ name: "",
508
+ type: "uint256",
509
+ },
510
+ ],
511
+ payable: false,
512
+ stateMutability: "nonpayable",
513
+ type: "function",
514
+ },
515
+ {
516
+ constant: false,
517
+ inputs: [],
518
+ name: "_resignImplementation",
519
+ outputs: [],
520
+ payable: false,
521
+ stateMutability: "nonpayable",
522
+ type: "function",
523
+ },
524
+ {
525
+ constant: false,
526
+ inputs: [
527
+ {
528
+ internalType: "contract ComptrollerInterface",
529
+ name: "newComptroller",
530
+ type: "address",
531
+ },
532
+ ],
533
+ name: "_setComptroller",
534
+ outputs: [
535
+ {
536
+ internalType: "uint256",
537
+ name: "",
538
+ type: "uint256",
539
+ },
540
+ ],
541
+ payable: false,
542
+ stateMutability: "nonpayable",
543
+ type: "function",
544
+ },
545
+ {
546
+ constant: false,
547
+ inputs: [
548
+ {
549
+ internalType: "contract InterestRateModel",
550
+ name: "newInterestRateModel",
551
+ type: "address",
552
+ },
553
+ ],
554
+ name: "_setInterestRateModel",
555
+ outputs: [
556
+ {
557
+ internalType: "uint256",
558
+ name: "",
559
+ type: "uint256",
560
+ },
561
+ ],
562
+ payable: false,
563
+ stateMutability: "nonpayable",
564
+ type: "function",
565
+ },
566
+ {
567
+ constant: false,
568
+ inputs: [
569
+ {
570
+ internalType: "address payable",
571
+ name: "newPendingAdmin",
572
+ type: "address",
573
+ },
574
+ ],
575
+ name: "_setPendingAdmin",
576
+ outputs: [
577
+ {
578
+ internalType: "uint256",
579
+ name: "",
580
+ type: "uint256",
581
+ },
582
+ ],
583
+ payable: false,
584
+ stateMutability: "nonpayable",
585
+ type: "function",
586
+ },
587
+ {
588
+ constant: false,
589
+ inputs: [
590
+ {
591
+ internalType: "uint256",
592
+ name: "newProtocolSeizeShareMantissa",
593
+ type: "uint256",
594
+ },
595
+ ],
596
+ name: "_setProtocolSeizeShare",
597
+ outputs: [
598
+ {
599
+ internalType: "uint256",
600
+ name: "",
601
+ type: "uint256",
602
+ },
603
+ ],
604
+ payable: false,
605
+ stateMutability: "nonpayable",
606
+ type: "function",
607
+ },
608
+ {
609
+ constant: false,
610
+ inputs: [
611
+ {
612
+ internalType: "uint256",
613
+ name: "newReserveFactorMantissa",
614
+ type: "uint256",
615
+ },
616
+ ],
617
+ name: "_setReserveFactor",
618
+ outputs: [
619
+ {
620
+ internalType: "uint256",
621
+ name: "",
622
+ type: "uint256",
623
+ },
624
+ ],
625
+ payable: false,
626
+ stateMutability: "nonpayable",
627
+ type: "function",
628
+ },
629
+ {
630
+ constant: true,
631
+ inputs: [],
632
+ name: "accrualBlockTimestamp",
633
+ outputs: [
634
+ {
635
+ internalType: "uint256",
636
+ name: "",
637
+ type: "uint256",
638
+ },
639
+ ],
640
+ payable: false,
641
+ stateMutability: "view",
642
+ type: "function",
643
+ },
644
+ {
645
+ constant: false,
646
+ inputs: [],
647
+ name: "accrueInterest",
648
+ outputs: [
649
+ {
650
+ internalType: "uint256",
651
+ name: "",
652
+ type: "uint256",
653
+ },
654
+ ],
655
+ payable: false,
656
+ stateMutability: "nonpayable",
657
+ type: "function",
658
+ },
659
+ {
660
+ constant: true,
661
+ inputs: [],
662
+ name: "admin",
663
+ outputs: [
664
+ {
665
+ internalType: "address payable",
666
+ name: "",
667
+ type: "address",
668
+ },
669
+ ],
670
+ payable: false,
671
+ stateMutability: "view",
672
+ type: "function",
673
+ },
674
+ {
675
+ constant: true,
676
+ inputs: [
677
+ {
678
+ internalType: "address",
679
+ name: "owner",
680
+ type: "address",
681
+ },
682
+ {
683
+ internalType: "address",
684
+ name: "spender",
685
+ type: "address",
686
+ },
687
+ ],
688
+ name: "allowance",
689
+ outputs: [
690
+ {
691
+ internalType: "uint256",
692
+ name: "",
693
+ type: "uint256",
694
+ },
695
+ ],
696
+ payable: false,
697
+ stateMutability: "view",
698
+ type: "function",
699
+ },
700
+ {
701
+ constant: false,
702
+ inputs: [
703
+ {
704
+ internalType: "address",
705
+ name: "spender",
706
+ type: "address",
707
+ },
708
+ {
709
+ internalType: "uint256",
710
+ name: "amount",
711
+ type: "uint256",
712
+ },
713
+ ],
714
+ name: "approve",
715
+ outputs: [
716
+ {
717
+ internalType: "bool",
718
+ name: "",
719
+ type: "bool",
720
+ },
721
+ ],
722
+ payable: false,
723
+ stateMutability: "nonpayable",
724
+ type: "function",
725
+ },
726
+ {
727
+ constant: true,
728
+ inputs: [
729
+ {
730
+ internalType: "address",
731
+ name: "owner",
732
+ type: "address",
733
+ },
734
+ ],
735
+ name: "balanceOf",
736
+ outputs: [
737
+ {
738
+ internalType: "uint256",
739
+ name: "",
740
+ type: "uint256",
741
+ },
742
+ ],
743
+ payable: false,
744
+ stateMutability: "view",
745
+ type: "function",
746
+ },
747
+ {
748
+ constant: false,
749
+ inputs: [
750
+ {
751
+ internalType: "address",
752
+ name: "owner",
753
+ type: "address",
754
+ },
755
+ ],
756
+ name: "balanceOfUnderlying",
757
+ outputs: [
758
+ {
759
+ internalType: "uint256",
760
+ name: "",
761
+ type: "uint256",
762
+ },
763
+ ],
764
+ payable: false,
765
+ stateMutability: "nonpayable",
766
+ type: "function",
767
+ },
768
+ {
769
+ constant: false,
770
+ inputs: [
771
+ {
772
+ internalType: "uint256",
773
+ name: "borrowAmount",
774
+ type: "uint256",
775
+ },
776
+ ],
777
+ name: "borrow",
778
+ outputs: [
779
+ {
780
+ internalType: "uint256",
781
+ name: "",
782
+ type: "uint256",
783
+ },
784
+ ],
785
+ payable: false,
786
+ stateMutability: "nonpayable",
787
+ type: "function",
788
+ },
789
+ {
790
+ constant: false,
791
+ inputs: [
792
+ {
793
+ internalType: "address",
794
+ name: "account",
795
+ type: "address",
796
+ },
797
+ ],
798
+ name: "borrowBalanceCurrent",
799
+ outputs: [
800
+ {
801
+ internalType: "uint256",
802
+ name: "",
803
+ type: "uint256",
804
+ },
805
+ ],
806
+ payable: false,
807
+ stateMutability: "nonpayable",
808
+ type: "function",
809
+ },
810
+ {
811
+ constant: true,
812
+ inputs: [
813
+ {
814
+ internalType: "address",
815
+ name: "account",
816
+ type: "address",
817
+ },
818
+ ],
819
+ name: "borrowBalanceStored",
820
+ outputs: [
821
+ {
822
+ internalType: "uint256",
823
+ name: "",
824
+ type: "uint256",
825
+ },
826
+ ],
827
+ payable: false,
828
+ stateMutability: "view",
829
+ type: "function",
830
+ },
831
+ {
832
+ constant: true,
833
+ inputs: [],
834
+ name: "borrowIndex",
835
+ outputs: [
836
+ {
837
+ internalType: "uint256",
838
+ name: "",
839
+ type: "uint256",
840
+ },
841
+ ],
842
+ payable: false,
843
+ stateMutability: "view",
844
+ type: "function",
845
+ },
846
+ {
847
+ constant: true,
848
+ inputs: [],
849
+ name: "borrowRatePerTimestamp",
850
+ outputs: [
851
+ {
852
+ internalType: "uint256",
853
+ name: "",
854
+ type: "uint256",
855
+ },
856
+ ],
857
+ payable: false,
858
+ stateMutability: "view",
859
+ type: "function",
860
+ },
861
+ {
862
+ constant: true,
863
+ inputs: [],
864
+ name: "comptroller",
865
+ outputs: [
866
+ {
867
+ internalType: "contract ComptrollerInterface",
868
+ name: "",
869
+ type: "address",
870
+ },
871
+ ],
872
+ payable: false,
873
+ stateMutability: "view",
874
+ type: "function",
875
+ },
876
+ {
877
+ constant: true,
878
+ inputs: [],
879
+ name: "decimals",
880
+ outputs: [
881
+ {
882
+ internalType: "uint8",
883
+ name: "",
884
+ type: "uint8",
885
+ },
886
+ ],
887
+ payable: false,
888
+ stateMutability: "view",
889
+ type: "function",
890
+ },
891
+ {
892
+ constant: false,
893
+ inputs: [],
894
+ name: "exchangeRateCurrent",
895
+ outputs: [
896
+ {
897
+ internalType: "uint256",
898
+ name: "",
899
+ type: "uint256",
900
+ },
901
+ ],
902
+ payable: false,
903
+ stateMutability: "nonpayable",
904
+ type: "function",
905
+ },
906
+ {
907
+ constant: true,
908
+ inputs: [],
909
+ name: "exchangeRateStored",
910
+ outputs: [
911
+ {
912
+ internalType: "uint256",
913
+ name: "",
914
+ type: "uint256",
915
+ },
916
+ ],
917
+ payable: false,
918
+ stateMutability: "view",
919
+ type: "function",
920
+ },
921
+ {
922
+ constant: true,
923
+ inputs: [
924
+ {
925
+ internalType: "address",
926
+ name: "account",
927
+ type: "address",
928
+ },
929
+ ],
930
+ name: "getAccountSnapshot",
931
+ outputs: [
932
+ {
933
+ internalType: "uint256",
934
+ name: "",
935
+ type: "uint256",
936
+ },
937
+ {
938
+ internalType: "uint256",
939
+ name: "",
940
+ type: "uint256",
941
+ },
942
+ {
943
+ internalType: "uint256",
944
+ name: "",
945
+ type: "uint256",
946
+ },
947
+ {
948
+ internalType: "uint256",
949
+ name: "",
950
+ type: "uint256",
951
+ },
952
+ ],
953
+ payable: false,
954
+ stateMutability: "view",
955
+ type: "function",
956
+ },
957
+ {
958
+ constant: true,
959
+ inputs: [],
960
+ name: "getCash",
961
+ outputs: [
962
+ {
963
+ internalType: "uint256",
964
+ name: "",
965
+ type: "uint256",
966
+ },
967
+ ],
968
+ payable: false,
969
+ stateMutability: "view",
970
+ type: "function",
971
+ },
972
+ {
973
+ constant: true,
974
+ inputs: [],
975
+ name: "implementation",
976
+ outputs: [
977
+ {
978
+ internalType: "address",
979
+ name: "",
980
+ type: "address",
981
+ },
982
+ ],
983
+ payable: false,
984
+ stateMutability: "view",
985
+ type: "function",
986
+ },
987
+ {
988
+ constant: false,
989
+ inputs: [
990
+ {
991
+ internalType: "address",
992
+ name: "underlying_",
993
+ type: "address",
994
+ },
995
+ {
996
+ internalType: "contract ComptrollerInterface",
997
+ name: "comptroller_",
998
+ type: "address",
999
+ },
1000
+ {
1001
+ internalType: "contract InterestRateModel",
1002
+ name: "interestRateModel_",
1003
+ type: "address",
1004
+ },
1005
+ {
1006
+ internalType: "uint256",
1007
+ name: "initialExchangeRateMantissa_",
1008
+ type: "uint256",
1009
+ },
1010
+ {
1011
+ internalType: "string",
1012
+ name: "name_",
1013
+ type: "string",
1014
+ },
1015
+ {
1016
+ internalType: "string",
1017
+ name: "symbol_",
1018
+ type: "string",
1019
+ },
1020
+ {
1021
+ internalType: "uint8",
1022
+ name: "decimals_",
1023
+ type: "uint8",
1024
+ },
1025
+ ],
1026
+ name: "initialize",
1027
+ outputs: [],
1028
+ payable: false,
1029
+ stateMutability: "nonpayable",
1030
+ type: "function",
1031
+ },
1032
+ {
1033
+ constant: false,
1034
+ inputs: [
1035
+ {
1036
+ internalType: "contract ComptrollerInterface",
1037
+ name: "comptroller_",
1038
+ type: "address",
1039
+ },
1040
+ {
1041
+ internalType: "contract InterestRateModel",
1042
+ name: "interestRateModel_",
1043
+ type: "address",
1044
+ },
1045
+ {
1046
+ internalType: "uint256",
1047
+ name: "initialExchangeRateMantissa_",
1048
+ type: "uint256",
1049
+ },
1050
+ {
1051
+ internalType: "string",
1052
+ name: "name_",
1053
+ type: "string",
1054
+ },
1055
+ {
1056
+ internalType: "string",
1057
+ name: "symbol_",
1058
+ type: "string",
1059
+ },
1060
+ {
1061
+ internalType: "uint8",
1062
+ name: "decimals_",
1063
+ type: "uint8",
1064
+ },
1065
+ ],
1066
+ name: "initialize",
1067
+ outputs: [],
1068
+ payable: false,
1069
+ stateMutability: "nonpayable",
1070
+ type: "function",
1071
+ },
1072
+ {
1073
+ constant: true,
1074
+ inputs: [],
1075
+ name: "interestRateModel",
1076
+ outputs: [
1077
+ {
1078
+ internalType: "contract InterestRateModel",
1079
+ name: "",
1080
+ type: "address",
1081
+ },
1082
+ ],
1083
+ payable: false,
1084
+ stateMutability: "view",
1085
+ type: "function",
1086
+ },
1087
+ {
1088
+ constant: true,
1089
+ inputs: [],
1090
+ name: "isQiToken",
1091
+ outputs: [
1092
+ {
1093
+ internalType: "bool",
1094
+ name: "",
1095
+ type: "bool",
1096
+ },
1097
+ ],
1098
+ payable: false,
1099
+ stateMutability: "view",
1100
+ type: "function",
1101
+ },
1102
+ {
1103
+ constant: false,
1104
+ inputs: [
1105
+ {
1106
+ internalType: "address",
1107
+ name: "borrower",
1108
+ type: "address",
1109
+ },
1110
+ {
1111
+ internalType: "uint256",
1112
+ name: "repayAmount",
1113
+ type: "uint256",
1114
+ },
1115
+ {
1116
+ internalType: "contract QiTokenInterface",
1117
+ name: "qiTokenCollateral",
1118
+ type: "address",
1119
+ },
1120
+ ],
1121
+ name: "liquidateBorrow",
1122
+ outputs: [
1123
+ {
1124
+ internalType: "uint256",
1125
+ name: "",
1126
+ type: "uint256",
1127
+ },
1128
+ ],
1129
+ payable: false,
1130
+ stateMutability: "nonpayable",
1131
+ type: "function",
1132
+ },
1133
+ {
1134
+ constant: false,
1135
+ inputs: [
1136
+ {
1137
+ internalType: "uint256",
1138
+ name: "mintAmount",
1139
+ type: "uint256",
1140
+ },
1141
+ ],
1142
+ name: "mint",
1143
+ outputs: [
1144
+ {
1145
+ internalType: "uint256",
1146
+ name: "",
1147
+ type: "uint256",
1148
+ },
1149
+ ],
1150
+ payable: false,
1151
+ stateMutability: "nonpayable",
1152
+ type: "function",
1153
+ },
1154
+ {
1155
+ constant: true,
1156
+ inputs: [],
1157
+ name: "name",
1158
+ outputs: [
1159
+ {
1160
+ internalType: "string",
1161
+ name: "",
1162
+ type: "string",
1163
+ },
1164
+ ],
1165
+ payable: false,
1166
+ stateMutability: "view",
1167
+ type: "function",
1168
+ },
1169
+ {
1170
+ constant: true,
1171
+ inputs: [],
1172
+ name: "pendingAdmin",
1173
+ outputs: [
1174
+ {
1175
+ internalType: "address payable",
1176
+ name: "",
1177
+ type: "address",
1178
+ },
1179
+ ],
1180
+ payable: false,
1181
+ stateMutability: "view",
1182
+ type: "function",
1183
+ },
1184
+ {
1185
+ constant: true,
1186
+ inputs: [],
1187
+ name: "protocolSeizeShareMantissa",
1188
+ outputs: [
1189
+ {
1190
+ internalType: "uint256",
1191
+ name: "",
1192
+ type: "uint256",
1193
+ },
1194
+ ],
1195
+ payable: false,
1196
+ stateMutability: "view",
1197
+ type: "function",
1198
+ },
1199
+ {
1200
+ constant: false,
1201
+ inputs: [
1202
+ {
1203
+ internalType: "uint256",
1204
+ name: "redeemTokens",
1205
+ type: "uint256",
1206
+ },
1207
+ ],
1208
+ name: "redeem",
1209
+ outputs: [
1210
+ {
1211
+ internalType: "uint256",
1212
+ name: "",
1213
+ type: "uint256",
1214
+ },
1215
+ ],
1216
+ payable: false,
1217
+ stateMutability: "nonpayable",
1218
+ type: "function",
1219
+ },
1220
+ {
1221
+ constant: false,
1222
+ inputs: [
1223
+ {
1224
+ internalType: "uint256",
1225
+ name: "redeemAmount",
1226
+ type: "uint256",
1227
+ },
1228
+ ],
1229
+ name: "redeemUnderlying",
1230
+ outputs: [
1231
+ {
1232
+ internalType: "uint256",
1233
+ name: "",
1234
+ type: "uint256",
1235
+ },
1236
+ ],
1237
+ payable: false,
1238
+ stateMutability: "nonpayable",
1239
+ type: "function",
1240
+ },
1241
+ {
1242
+ constant: false,
1243
+ inputs: [
1244
+ {
1245
+ internalType: "uint256",
1246
+ name: "repayAmount",
1247
+ type: "uint256",
1248
+ },
1249
+ ],
1250
+ name: "repayBorrow",
1251
+ outputs: [
1252
+ {
1253
+ internalType: "uint256",
1254
+ name: "",
1255
+ type: "uint256",
1256
+ },
1257
+ ],
1258
+ payable: false,
1259
+ stateMutability: "nonpayable",
1260
+ type: "function",
1261
+ },
1262
+ {
1263
+ constant: false,
1264
+ inputs: [
1265
+ {
1266
+ internalType: "address",
1267
+ name: "borrower",
1268
+ type: "address",
1269
+ },
1270
+ {
1271
+ internalType: "uint256",
1272
+ name: "repayAmount",
1273
+ type: "uint256",
1274
+ },
1275
+ ],
1276
+ name: "repayBorrowBehalf",
1277
+ outputs: [
1278
+ {
1279
+ internalType: "uint256",
1280
+ name: "",
1281
+ type: "uint256",
1282
+ },
1283
+ ],
1284
+ payable: false,
1285
+ stateMutability: "nonpayable",
1286
+ type: "function",
1287
+ },
1288
+ {
1289
+ constant: true,
1290
+ inputs: [],
1291
+ name: "reserveFactorMantissa",
1292
+ outputs: [
1293
+ {
1294
+ internalType: "uint256",
1295
+ name: "",
1296
+ type: "uint256",
1297
+ },
1298
+ ],
1299
+ payable: false,
1300
+ stateMutability: "view",
1301
+ type: "function",
1302
+ },
1303
+ {
1304
+ constant: false,
1305
+ inputs: [
1306
+ {
1307
+ internalType: "address",
1308
+ name: "liquidator",
1309
+ type: "address",
1310
+ },
1311
+ {
1312
+ internalType: "address",
1313
+ name: "borrower",
1314
+ type: "address",
1315
+ },
1316
+ {
1317
+ internalType: "uint256",
1318
+ name: "seizeTokens",
1319
+ type: "uint256",
1320
+ },
1321
+ ],
1322
+ name: "seize",
1323
+ outputs: [
1324
+ {
1325
+ internalType: "uint256",
1326
+ name: "",
1327
+ type: "uint256",
1328
+ },
1329
+ ],
1330
+ payable: false,
1331
+ stateMutability: "nonpayable",
1332
+ type: "function",
1333
+ },
1334
+ {
1335
+ constant: true,
1336
+ inputs: [],
1337
+ name: "supplyRatePerTimestamp",
1338
+ outputs: [
1339
+ {
1340
+ internalType: "uint256",
1341
+ name: "",
1342
+ type: "uint256",
1343
+ },
1344
+ ],
1345
+ payable: false,
1346
+ stateMutability: "view",
1347
+ type: "function",
1348
+ },
1349
+ {
1350
+ constant: false,
1351
+ inputs: [
1352
+ {
1353
+ internalType: "contract EIP20NonStandardInterface",
1354
+ name: "token",
1355
+ type: "address",
1356
+ },
1357
+ ],
1358
+ name: "sweepToken",
1359
+ outputs: [],
1360
+ payable: false,
1361
+ stateMutability: "nonpayable",
1362
+ type: "function",
1363
+ },
1364
+ {
1365
+ constant: true,
1366
+ inputs: [],
1367
+ name: "symbol",
1368
+ outputs: [
1369
+ {
1370
+ internalType: "string",
1371
+ name: "",
1372
+ type: "string",
1373
+ },
1374
+ ],
1375
+ payable: false,
1376
+ stateMutability: "view",
1377
+ type: "function",
1378
+ },
1379
+ {
1380
+ constant: true,
1381
+ inputs: [],
1382
+ name: "totalBorrows",
1383
+ outputs: [
1384
+ {
1385
+ internalType: "uint256",
1386
+ name: "",
1387
+ type: "uint256",
1388
+ },
1389
+ ],
1390
+ payable: false,
1391
+ stateMutability: "view",
1392
+ type: "function",
1393
+ },
1394
+ {
1395
+ constant: false,
1396
+ inputs: [],
1397
+ name: "totalBorrowsCurrent",
1398
+ outputs: [
1399
+ {
1400
+ internalType: "uint256",
1401
+ name: "",
1402
+ type: "uint256",
1403
+ },
1404
+ ],
1405
+ payable: false,
1406
+ stateMutability: "nonpayable",
1407
+ type: "function",
1408
+ },
1409
+ {
1410
+ constant: true,
1411
+ inputs: [],
1412
+ name: "totalReserves",
1413
+ outputs: [
1414
+ {
1415
+ internalType: "uint256",
1416
+ name: "",
1417
+ type: "uint256",
1418
+ },
1419
+ ],
1420
+ payable: false,
1421
+ stateMutability: "view",
1422
+ type: "function",
1423
+ },
1424
+ {
1425
+ constant: true,
1426
+ inputs: [],
1427
+ name: "totalSupply",
1428
+ outputs: [
1429
+ {
1430
+ internalType: "uint256",
1431
+ name: "",
1432
+ type: "uint256",
1433
+ },
1434
+ ],
1435
+ payable: false,
1436
+ stateMutability: "view",
1437
+ type: "function",
1438
+ },
1439
+ {
1440
+ constant: false,
1441
+ inputs: [
1442
+ {
1443
+ internalType: "address",
1444
+ name: "dst",
1445
+ type: "address",
1446
+ },
1447
+ {
1448
+ internalType: "uint256",
1449
+ name: "amount",
1450
+ type: "uint256",
1451
+ },
1452
+ ],
1453
+ name: "transfer",
1454
+ outputs: [
1455
+ {
1456
+ internalType: "bool",
1457
+ name: "",
1458
+ type: "bool",
1459
+ },
1460
+ ],
1461
+ payable: false,
1462
+ stateMutability: "nonpayable",
1463
+ type: "function",
1464
+ },
1465
+ {
1466
+ constant: false,
1467
+ inputs: [
1468
+ {
1469
+ internalType: "address",
1470
+ name: "src",
1471
+ type: "address",
1472
+ },
1473
+ {
1474
+ internalType: "address",
1475
+ name: "dst",
1476
+ type: "address",
1477
+ },
1478
+ {
1479
+ internalType: "uint256",
1480
+ name: "amount",
1481
+ type: "uint256",
1482
+ },
1483
+ ],
1484
+ name: "transferFrom",
1485
+ outputs: [
1486
+ {
1487
+ internalType: "bool",
1488
+ name: "",
1489
+ type: "bool",
1490
+ },
1491
+ ],
1492
+ payable: false,
1493
+ stateMutability: "nonpayable",
1494
+ type: "function",
1495
+ },
1496
+ {
1497
+ constant: true,
1498
+ inputs: [],
1499
+ name: "underlying",
1500
+ outputs: [
1501
+ {
1502
+ internalType: "address",
1503
+ name: "",
1504
+ type: "address",
1505
+ },
1506
+ ],
1507
+ payable: false,
1508
+ stateMutability: "view",
1509
+ type: "function",
1510
+ },
1511
+ ];
1512
+
1513
+ const _bytecode =
1514
+ "0x608060405234801561001057600080fd5b5061566e806100206000396000f3fe608060405234801561001057600080fd5b50600436106103425760003560e01c806383030846116101b8578063bd6d894d11610104578063dd62ed3e116100a2578063f3fdb15a1161007c578063f3fdb15a14610ba0578063f5e3c46214610ba8578063f851a44014610bde578063fca7820b14610be657610342565b8063dd62ed3e14610b44578063e9c714f214610b72578063f2b3abbd14610b7a57610342565b8063cd91801c116100de578063cd91801c14610b0f578063cfa9920114610b17578063d3bd2c7214610b1f578063db006a7514610b2757610342565b8063bd6d894d14610a9e578063c37f68e214610aa6578063c5ebeaec14610af257610342565b806399d8c1b411610171578063a9059cbb1161014b578063a9059cbb14610a0e578063aa5af0fd14610a3a578063b2a02ff114610a42578063b71d1a0c14610a7857610342565b806399d8c1b41461089b578063a0712d68146109e9578063a6afed9514610a0657610342565b80638303084614610823578063840bbeac14610840578063852a12e3146108485780638f840ddd1461086557806395d89b411461086d57806395dd91931461087557610342565b8063313ce567116102925780635c60da1b116102305780636752e7021161020a5780636752e702146107e55780636f307dc3146107ed57806370a08231146107f557806373acee981461081b57610342565b80635c60da1b146107b85780635fe3b567146107c0578063601a0bf1146107c857610342565b80633e9410101161026c5780633e941010146106c95780634576b5db146106e657806347bd37181461070c57806356e677281461071457610342565b8063313ce5671461067d5780633af9e6691461069b5780633b1d21a2146106c157610342565b806318160ddd116102ff5780631be19560116102d95780631be19560146105d157806323b872dd146105f75780632608f8181461062d578063267822471461065957610342565b806318160ddd1461046b578063182df0f5146104735780631a31d4651461047b57610342565b806306fdde0314610347578063095ea7b3146103c45780630e75270214610404578063153ab50514610433578063173b99041461043d57806317bfdfbc14610445575b600080fd5b61034f610c03565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610389578181015183820152602001610371565b50505050905090810190601f1680156103b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103f0600480360360408110156103da57600080fd5b506001600160a01b038135169060200135610c90565b604080519115158252519081900360200190f35b6104216004803603602081101561041a57600080fd5b5035610cfd565b60408051918252519081900360200190f35b61043b610d13565b005b610421610d63565b6104216004803603602081101561045b57600080fd5b50356001600160a01b0316610d69565b610421610e29565b610421610e2f565b61043b600480360360e081101561049157600080fd5b6001600160a01b03823581169260208101358216926040820135909216916060820135919081019060a081016080820135600160201b8111156104d357600080fd5b8201836020820111156104e557600080fd5b803590602001918460018302840111600160201b8311171561050657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561055857600080fd5b82018360208201111561056a57600080fd5b803590602001918460018302840111600160201b8311171561058b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903560ff169150610e929050565b61043b600480360360208110156105e757600080fd5b50356001600160a01b0316610f31565b6103f06004803603606081101561060d57600080fd5b506001600160a01b0381358116916020810135909116906040013561106d565b6104216004803603604081101561064357600080fd5b506001600160a01b0381351690602001356110df565b6106616110f5565b604080516001600160a01b039092168252519081900360200190f35b610685611104565b6040805160ff9092168252519081900360200190f35b610421600480360360208110156106b157600080fd5b50356001600160a01b031661110d565b6104216111c3565b610421600480360360208110156106df57600080fd5b50356111d2565b610421600480360360208110156106fc57600080fd5b50356001600160a01b03166111dd565b610421611332565b61043b6004803603602081101561072a57600080fd5b810190602081018135600160201b81111561074457600080fd5b82018360208201111561075657600080fd5b803590602001918460018302840111600160201b8311171561077757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611338945050505050565b610661611389565b610661611398565b610421600480360360208110156107de57600080fd5b50356113a7565b610421611442565b610661611448565b6104216004803603602081101561080b57600080fd5b50356001600160a01b0316611457565b610421611472565b6104216004803603602081101561083957600080fd5b5035611528565b6103f06115a6565b6104216004803603602081101561085e57600080fd5b50356115ab565b6104216115b6565b61034f6115bc565b6104216004803603602081101561088b57600080fd5b50356001600160a01b0316611614565b61043b600480360360c08110156108b157600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b8111156108eb57600080fd5b8201836020820111156108fd57600080fd5b803590602001918460018302840111600160201b8311171561091e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561097057600080fd5b82018360208201111561098257600080fd5b803590602001918460018302840111600160201b831117156109a357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903560ff1691506116719050565b610421600480360360208110156109ff57600080fd5b5035611858565b610421611864565b6103f060048036036040811015610a2457600080fd5b506001600160a01b038135169060200135611bbc565b610421611c2d565b61042160048036036060811015610a5857600080fd5b506001600160a01b03813581169160208101359091169060400135611c33565b61042160048036036020811015610a8e57600080fd5b50356001600160a01b0316611ca4565b610421611d30565b610acc60048036036020811015610abc57600080fd5b50356001600160a01b0316611dec565b604080519485526020850193909352838301919091526060830152519081900360800190f35b61042160048036036020811015610b0857600080fd5b5035611e81565b610421611e8c565b610421611f21565b610421611f27565b61042160048036036020811015610b3d57600080fd5b5035611f95565b61042160048036036040811015610b5a57600080fd5b506001600160a01b0381358116916020013516611fa0565b610421611fcb565b61042160048036036020811015610b9057600080fd5b50356001600160a01b03166120ce565b610661612108565b61042160048036036060811015610bbe57600080fd5b506001600160a01b03813581169160208101359160409091013516612117565b61066161212f565b61042160048036036020811015610bfc57600080fd5b5035612143565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c885780601f10610c5d57610100808354040283529160200191610c88565b820191906000526020600020905b815481529060010190602001808311610c6b57829003601f168201915b505050505081565b336000818152600f602090815260408083206001600160a01b03871680855290835281842086905581518681529151939493909284927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a360019150505b92915050565b600080610d09836121c1565b509150505b919050565b60035461010090046001600160a01b03163314610d615760405162461bcd60e51b815260040180806020018281038252602d8152602001806153d8602d913960400191505060405180910390fd5b565b60085481565b6000805460ff16610dae576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155610dc0611864565b14610e0b576040805162461bcd60e51b81526020600482015260166024820152751858d8dc9d59481a5b9d195c995cdd0819985a5b195960521b604482015290519081900360640190fd5b610e1482611614565b90505b6000805460ff19166001179055919050565b600d5481565b6000806000610e3c61226a565b90925090506000826003811115610e4f57fe5b14610e8b5760405162461bcd60e51b81526004018080602001828103825260358152602001806155586035913960400191505060405180910390fd5b9150505b90565b610ea0868686868686611671565b601280546001600160a01b0319166001600160a01b038981169190911791829055604080516318160ddd60e01b8152905192909116916318160ddd91600480820192602092909190829003018186803b158015610efc57600080fd5b505afa158015610f10573d6000803e3d6000fd5b505050506040513d6020811015610f2657600080fd5b505050505050505050565b6012546001600160a01b0382811691161415610f7e5760405162461bcd60e51b81526004018080602001828103825260338152602001806155256033913960400191505060405180910390fd5b604080516370a0823160e01b815230600482015290516000916001600160a01b038416916370a0823191602480820192602092909190829003018186803b158015610fc857600080fd5b505afa158015610fdc573d6000803e3d6000fd5b505050506040513d6020811015610ff257600080fd5b50516003546040805163a9059cbb60e01b81526101009092046001600160a01b03908116600484015260248301849052905192935084169163a9059cbb9160448082019260009290919082900301818387803b15801561105157600080fd5b505af1158015611065573d6000803e3d6000fd5b505050505050565b6000805460ff166110b2576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556110c833868686612319565b1490506000805460ff191660011790559392505050565b6000806110ec84846125a5565b50949350505050565b6004546001600160a01b031681565b60035460ff1681565b6000611117615199565b604051806020016040528061112a611d30565b90526001600160a01b0384166000908152600e6020526040812054919250908190611156908490612650565b9092509050600082600381111561116957fe5b146111bb576040805162461bcd60e51b815260206004820152601f60248201527f62616c616e636520636f756c64206e6f742062652063616c63756c6174656400604482015290519081900360640190fd5b949350505050565b60006111cd6126a4565b905090565b6000610cf782612724565b60035460009061010090046001600160a01b0316331461120a576112036001603f6127b8565b9050610d0e565b60055460408051623f1ee960e11b815290516001600160a01b0392831692851691627e3dd2916004808301926020929190829003018186803b15801561124f57600080fd5b505afa158015611263573d6000803e3d6000fd5b505050506040513d602081101561127957600080fd5b50516112cc576040805162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c736500000000604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03858116918217909255604080519284168352602083019190915280517f7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d9281900390910190a160005b9392505050565b600b5481565b60035461010090046001600160a01b031633146113865760405162461bcd60e51b815260040180806020018281038252602d81526020018061560d602d913960400191505060405180910390fd5b50565b6013546001600160a01b031681565b6005546001600160a01b031681565b6000805460ff166113ec576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556113fe611864565b905080156114245761141c81601081111561141557fe5b60306127b8565b915050610e17565b61142d8361281e565b9150506000805460ff19166001179055919050565b60115481565b6012546001600160a01b031681565b6001600160a01b03166000908152600e602052604090205490565b6000805460ff166114b7576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556114c9611864565b14611514576040805162461bcd60e51b81526020600482015260166024820152751858d8dc9d59481a5b9d195c995cdd0819985a5b195960521b604482015290519081900360640190fd5b50600b546000805460ff1916600117905590565b6000805460ff1661156d576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561157f611864565b9050801561159d5761141c81601081111561159657fe5b60516127b8565b61142d83612951565b600181565b6000610cf7826129e0565b600c5481565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610c885780601f10610c5d57610100808354040283529160200191610c88565b600080600061162284612a61565b9092509050600082600381111561163557fe5b1461132b5760405162461bcd60e51b81526004018080602001828103825260378152602001806154306037913960400191505060405180910390fd5b60035461010090046001600160a01b031633146116bf5760405162461bcd60e51b815260040180806020018281038252602481526020018061533f6024913960400191505060405180910390fd5b6009541580156116cf5750600a54155b61170a5760405162461bcd60e51b81526004018080602001828103825260238152602001806153636023913960400191505060405180910390fd5b60078490558361174b5760405162461bcd60e51b81526004018080602001828103825260308152602001806153866030913960400191505060405180910390fd5b6000611756876111dd565b905080156117ab576040805162461bcd60e51b815260206004820152601a60248201527f73657474696e6720636f6d7074726f6c6c6572206661696c6564000000000000604482015290519081900360640190fd5b6117b3612b15565b600955670de0b6b3a7640000600a556117cb86612b19565b9050801561180a5760405162461bcd60e51b81526004018080602001828103825260228152602001806153b66022913960400191505060405180910390fd5b835161181d9060019060208701906151ac565b5082516118319060029060208601906151ac565b50506003805460ff90921660ff199283161790556000805490911660011790555050505050565b600080610d0983612c8e565b60008061186f612b15565b6009549091508082141561188857600092505050610e8f565b60006118926126a4565b600b54600c54600a54600654604080516315f2405360e01b815260048101879052602481018690526044810185905290519596509394929391926000926001600160a01b03909216916315f24053916064808301926020929190829003018186803b15801561190057600080fd5b505afa158015611914573d6000803e3d6000fd5b505050506040513d602081101561192a57600080fd5b5051905065048c27395000811115611989576040805162461bcd60e51b815260206004820152601c60248201527f626f72726f772072617465206973206162737572646c79206869676800000000604482015290519081900360640190fd5b6000806119968989612d0f565b909250905060008260038111156119a957fe5b146119fb576040805162461bcd60e51b815260206004820152601f60248201527f636f756c64206e6f742063616c63756c61746520626c6f636b2064656c746100604482015290519081900360640190fd5b611a03615199565b600080600080611a2160405180602001604052808a81525087612d32565b90975094506000876003811115611a3457fe5b14611a6657611a5160096006896003811115611a4c57fe5b612d9a565b9e505050505050505050505050505050610e8f565b611a70858c612650565b90975093506000876003811115611a8357fe5b14611a9b57611a5160096001896003811115611a4c57fe5b611aa5848c612e00565b90975092506000876003811115611ab857fe5b14611ad057611a5160096004896003811115611a4c57fe5b611aeb6040518060200160405280600854815250858c612e26565b90975091506000876003811115611afe57fe5b14611b1657611a5160096005896003811115611a4c57fe5b611b21858a8b612e26565b90975090506000876003811115611b3457fe5b14611b4c57611a5160096003896003811115611a4c57fe5b60098e9055600a819055600b839055600c829055604080518d8152602081018690528082018390526060810185905290517f4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc049181900360800190a160009e50505050505050505050505050505090565b6000805460ff16611c01576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155611c1733338686612319565b1490506000805460ff1916600117905592915050565b600a5481565b6000805460ff16611c78576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19169055611c8e33858585612e82565b90506000805460ff191660011790559392505050565b60035460009061010090046001600160a01b03163314611cca57611203600160456127b8565b600480546001600160a01b038481166001600160a01b0319831681179093556040805191909216808252602082019390935281517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9929181900390910190a1600061132b565b6000805460ff16611d75576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155611d87611864565b14611dd2576040805162461bcd60e51b81526020600482015260166024820152751858d8dc9d59481a5b9d195c995cdd0819985a5b195960521b604482015290519081900360640190fd5b611dda610e2f565b90506000805460ff1916600117905590565b6001600160a01b0381166000908152600e6020526040812054819081908190818080611e1789612a61565b935090506000816003811115611e2957fe5b14611e475760095b975060009650869550859450611e7a9350505050565b611e4f61226a565b925090506000816003811115611e6157fe5b14611e6d576009611e31565b5060009650919450925090505b9193509193565b6000610cf782613257565b6006546000906001600160a01b03166315f24053611ea86126a4565b600b54600c546040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015611ef057600080fd5b505afa158015611f04573d6000803e3d6000fd5b505050506040513d6020811015611f1a57600080fd5b5051905090565b60095481565b6006546000906001600160a01b031663b8168816611f436126a4565b600b54600c546008546040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b158015611ef057600080fd5b6000610cf7826132d6565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b6004546000906001600160a01b031633141580611fe6575033155b15611ffe57611ff7600160006127b8565b9050610e8f565b60038054600480546001600160a01b03818116610100818102610100600160a81b0319871617968790556001600160a01b031990931690935560408051948390048216808652929095041660208401528351909391927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc92908290030190a1600454604080516001600160a01b038085168252909216602083015280517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99281900390910190a160009250505090565b6000806120d9611864565b905080156120ff576120f78160108111156120f057fe5b60406127b8565b915050610d0e565b61132b83612b19565b6006546001600160a01b031681565b600080612125858585613350565b5095945050505050565b60035461010090046001600160a01b031681565b6000805460ff16612188576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561219a611864565b905080156121b85761141c8160108111156121b157fe5b60466127b8565b61142d83613482565b60008054819060ff16612208576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561221a611864565b905080156122455761223881601081111561223157fe5b60366127b8565b9250600091506122569050565b61225033338661352a565b92509250505b6000805460ff191660011790559092909150565b600d5460009081908061228557505060075460009150612315565b600061228f6126a4565b9050600061229b615199565b60006122ac84600b54600c54613878565b9350905060008160038111156122be57fe5b146122d3579550600094506123159350505050565b6122dd83866138b6565b9250905060008160038111156122ef57fe5b14612304579550600094506123159350505050565b505160009550935061231592505050565b9091565b600554604080516317b9b84b60e31b81523060048201526001600160a01b03868116602483015285811660448301526064820185905291516000938493169163bdcdc25891608480830192602092919082900301818787803b15801561237e57600080fd5b505af1158015612392573d6000803e3d6000fd5b505050506040513d60208110156123a857600080fd5b5051905080156123c7576123bf6003604a83612d9a565b9150506111bb565b836001600160a01b0316856001600160a01b031614156123ed576123bf6002604b6127b8565b60006001600160a01b03878116908716141561240c5750600019612434565b506001600160a01b038086166000908152600f60209081526040808320938a16835292905220545b6000806000806124448589612d0f565b9094509250600084600381111561245757fe5b14612475576124686009604b6127b8565b96505050505050506111bb565b6001600160a01b038a166000908152600e60205260409020546124989089612d0f565b909450915060008460038111156124ab57fe5b146124bc576124686009604c6127b8565b6001600160a01b0389166000908152600e60205260409020546124df9089612e00565b909450905060008460038111156124f257fe5b14612503576124686009604d6127b8565b6001600160a01b03808b166000908152600e6020526040808220859055918b16815220819055600019851461255b576001600160a01b03808b166000908152600f60209081526040808320938f168352929052208390555b886001600160a01b03168a6001600160a01b03166000805160206154a18339815191528a6040518082815260200191505060405180910390a35060009a9950505050505050505050565b60008054819060ff166125ec576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556125fe611864565b905080156126295761261c81601081111561261557fe5b60356127b8565b92506000915061263a9050565b61263433868661352a565b92509250505b6000805460ff1916600117905590939092509050565b600080600061265d615199565b6126678686612d32565b9092509050600082600381111561267a57fe5b1461268b575091506000905061269d565b600061269682613966565b9350935050505b9250929050565b601254604080516370a0823160e01b815230600482015290516000926001600160a01b03169182916370a0823191602480820192602092909190829003018186803b1580156126f257600080fd5b505afa158015612706573d6000803e3d6000fd5b505050506040513d602081101561271c57600080fd5b505191505090565b6000805460ff16612769576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561277b611864565b905080156127995761141c81601081111561279257fe5b604e6127b8565b6127a283613975565b509150506000805460ff19166001179055919050565b60007f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa08360108111156127e757fe5b8360538111156127f357fe5b604080519283526020830191909152600082820152519081900360600190a182601081111561132b57fe5b600354600090819061010090046001600160a01b03163314612846576120f7600160316127b8565b61284e612b15565b60095414612862576120f7600a60336127b8565b8261286b6126a4565b101561287d576120f7600e60326127b8565b600c54831115612893576120f7600260346127b8565b50600c54828103908111156128d95760405162461bcd60e51b81526004018080602001828103825260248152602001806155e96024913960400191505060405180910390fd5b600c8190556003546128f99061010090046001600160a01b031684613a5d565b600354604080516101009092046001600160a01b0316825260208201859052818101839052517f3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e916060908290030190a1600061132b565b600354600090819061010090046001600160a01b03163314612979576120f7600160526127b8565b612981612b15565b60095414612995576120f7600a60536127b8565b506011805490839055604080518281526020810185905281517ff5815f353a60e815cce7553e4f60c533a59d26b1b5504ea4b6db8d60da3e4da2929181900390910190a1600061132b565b6000805460ff16612a25576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155612a37611864565b90508015612a555761141c816010811115612a4e57fe5b60276127b8565b61142d33600085613b54565b6001600160a01b038116600090815260106020526040812080548291829182918291612a98575060009450849350612b1092505050565b612aa88160000154600a54614094565b90945092506000846003811115612abb57fe5b14612ad0575091935060009250612b10915050565b612ade8382600101546140d3565b90945091506000846003811115612af157fe5b14612b06575091935060009250612b10915050565b5060009450925050505b915091565b4290565b600354600090819061010090046001600160a01b03163314612b41576120f7600160426127b8565b612b49612b15565b60095414612b5d576120f7600a60416127b8565b600660009054906101000a90046001600160a01b03169050826001600160a01b0316632191f92a6040518163ffffffff1660e01b815260040160206040518083038186803b158015612bae57600080fd5b505afa158015612bc2573d6000803e3d6000fd5b505050506040513d6020811015612bd857600080fd5b5051612c2b576040805162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c736500000000604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b03858116918217909255604080519284168352602083019190915280517fedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f9269281900390910190a1600061132b565b60008054819060ff16612cd5576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155612ce7611864565b90508015612d0557612238816010811115612cfe57fe5b601e6127b8565b61225033856140fe565b600080838311612d2657506000905081830361269d565b5060039050600061269d565b6000612d3c615199565b600080612d4d866000015186614094565b90925090506000826003811115612d6057fe5b14612d7f5750604080516020810190915260008152909250905061269d565b60408051602081019091529081526000969095509350505050565b60007f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0846010811115612dc957fe5b846053811115612dd557fe5b604080519283526020830191909152818101859052519081900360600190a18360108111156111bb57fe5b600080838301848110612e185760009250905061269d565b50600291506000905061269d565b6000806000612e33615199565b612e3d8787612d32565b90925090506000826003811115612e5057fe5b14612e615750915060009050612e7a565b612e73612e6d82613966565b86612e00565b9350935050505b935093915050565b6005546040805163d02f735160e01b81523060048201526001600160a01b038781166024830152868116604483015285811660648301526084820185905291516000938493169163d02f73519160a480830192602092919082900301818787803b158015612eef57600080fd5b505af1158015612f03573d6000803e3d6000fd5b505050506040513d6020811015612f1957600080fd5b505190508015612f30576123bf6003601b83612d9a565b846001600160a01b0316846001600160a01b03161415612f56576123bf6006601c6127b8565b612f5e61522a565b6001600160a01b0385166000908152600e6020526040902054612f819085612d0f565b6020830181905282826003811115612f9557fe5b6003811115612fa057fe5b9052506000905081516003811115612fb457fe5b14612fd957612fd06009601a83600001516003811115611a4c57fe5b925050506111bb565b612ff38460405180602001604052806011548152506144ce565b608082018190526130059085906144f6565b606082015261301261226a565b60c083018190528282600381111561302657fe5b600381111561303157fe5b905250600090508151600381111561304557fe5b14613097576040805162461bcd60e51b815260206004820152601860248201527f65786368616e67652072617465206d617468206572726f720000000000000000604482015290519081900360640190fd5b6130b760405180602001604052808360c001518152508260800151614530565b60a08201819052600c546130ca9161454f565b60e0820152600d5460808201516130e191906144f6565b6101008201526001600160a01b0386166000908152600e6020526040902054606082015161310f9190612e00565b604083018190528282600381111561312357fe5b600381111561312e57fe5b905250600090508151600381111561314257fe5b1461315e57612fd06009601983600001516003811115611a4c57fe5b60e0810151600c55610100810151600d556020808201516001600160a01b038088166000818152600e855260408082209490945583860151928b168082529084902092909255606085015183519081529251919390926000805160206154a1833981519152929081900390910190a36080810151604080519182525130916001600160a01b038816916000805160206154a18339815191529181900360200190a360a081015160e082015160408051308152602081019390935282810191909152517fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc59181900360600190a16000979650505050505050565b6000805460ff1661329c576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556132ae611864565b905080156132cc5761141c8160108111156132c557fe5b60086127b8565b61142d3384614585565b6000805460ff1661331b576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561332d611864565b905080156133445761141c816010811115612a4e57fe5b61142d33846000613b54565b60008054819060ff16613397576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556133a9611864565b905080156133d4576133c78160108111156133c057fe5b600f6127b8565b92506000915061346b9050565b836001600160a01b031663a6afed956040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561340f57600080fd5b505af1158015613423573d6000803e3d6000fd5b505050506040513d602081101561343957600080fd5b505190508015613459576133c781601081111561345257fe5b60106127b8565b61346533878787614819565b92509250505b6000805460ff191660011790559094909350915050565b60035460009061010090046001600160a01b031633146134a857611203600160476127b8565b6134b0612b15565b600954146134c457611203600a60486127b8565b670de0b6b3a76400008211156134e057611203600260496127b8565b6008805490839055604080518281526020810185905281517faaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460929181900390910190a1600061132b565b60055460408051631200453160e11b81523060048201526001600160a01b0386811660248301528581166044830152606482018590529151600093849384939116916324008a629160848082019260209290919082900301818787803b15801561359357600080fd5b505af11580156135a7573d6000803e3d6000fd5b505050506040513d60208110156135bd57600080fd5b5051905080156135e1576135d46003603883612d9a565b925060009150612e7a9050565b6135e9612b15565b600954146135fd576135d4600a60396127b8565b613605615277565b6001600160a01b038616600090815260106020526040902060010154606082015261362f86612a61565b608083018190526020830182600381111561364657fe5b600381111561365157fe5b905250600090508160200151600381111561366857fe5b14613692576136846009603783602001516003811115611a4c57fe5b935060009250612e7a915050565b6000198514156136ab57608081015160408201526136b3565b604081018590525b6136c1878260400151614d0b565b60e0820181905260808201516136d691612d0f565b60a08301819052602083018260038111156136ed57fe5b60038111156136f857fe5b905250600090508160200151600381111561370f57fe5b1461374b5760405162461bcd60e51b815260040180806020018281038252603a815260200180615467603a913960400191505060405180910390fd5b61375b600b548260e00151612d0f565b60c083018190526020830182600381111561377257fe5b600381111561377d57fe5b905250600090508160200151600381111561379457fe5b146137d05760405162461bcd60e51b81526004018080602001828103825260318152602001806154c16031913960400191505060405180910390fd5b60a080820180516001600160a01b03808a16600081815260106020908152604091829020948555600a5460019095019490945560c0870151600b81905560e088015195518251948f16855294840192909252828101949094526060820192909252608081019190915290517f1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1929181900390910190a160e00151600097909650945050505050565b6000806000806138888787612e00565b9092509050600082600381111561389b57fe5b146138ac5750915060009050612e7a565b612e738186612d0f565b60006138c0615199565b6000806138d586670de0b6b3a7640000614094565b909250905060008260038111156138e857fe5b146139075750604080516020810190915260008152909250905061269d565b60008061391483886140d3565b9092509050600082600381111561392757fe5b146139495750604080516020810190915260008152909450925061269d915050565b604080516020810190915290815260009890975095505050505050565b51670de0b6b3a7640000900490565b600080600080613983612b15565b600954146139a257613997600a604f6127b8565b93509150612b109050565b6139ac3386614d0b565b905080600c54019150600c54821015613a0c576040805162461bcd60e51b815260206004820181905260248201527f61646420726573657276657320756e6578706563746564206f766572666c6f77604482015290519081900360640190fd5b600c829055604080513381526020810183905280820184905290517fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc59181900360600190a160009350915050915091565b6012546040805163a9059cbb60e01b81526001600160a01b0385811660048301526024820185905291519190921691829163a9059cbb9160448082019260009290919082900301818387803b158015613ab557600080fd5b505af1158015613ac9573d6000803e3d6000fd5b5050505060003d60008114613ae55760208114613aef57600080fd5b6000199150613afb565b60206000803e60005191505b5080613b4e576040805162461bcd60e51b815260206004820152601960248201527f544f4b454e5f5452414e534645525f4f55545f4641494c454400000000000000604482015290519081900360640190fd5b50505050565b6000821580613b61575081155b613b9c5760405162461bcd60e51b81526004018080602001828103825260348152602001806155b56034913960400191505060405180910390fd5b613ba46152bd565b613bac61226a565b6040830181905260208301826003811115613bc357fe5b6003811115613bce57fe5b9052506000905081602001516003811115613be557fe5b14613c0957613c016009602b83602001516003811115611a4c57fe5b91505061132b565b8315613cbe57600019841415613c3c576001600160a01b0385166000908152600e60205260409020546060820152613c44565b606081018490525b613c64604051806020016040528083604001518152508260600151612650565b6080830181905260208301826003811115613c7b57fe5b6003811115613c8657fe5b9052506000905081602001516003811115613c9d57fe5b14613cb957613c016009602983602001516003811115611a4c57fe5b613d7c565b600019831415613d05576001600160a01b0385166000908152600e60209081526040918290205460608401908152825191820183529183015181529051613c649190612650565b6080810183905260408051602081018252908201518152613d27908490614f55565b6060830181905260208301826003811115613d3e57fe5b6003811115613d4957fe5b9052506000905081602001516003811115613d6057fe5b14613d7c57613c016009602a83602001516003811115611a4c57fe5b60055460608201516040805163eabe7d9160e01b81523060048201526001600160a01b03898116602483015260448201939093529051600093929092169163eabe7d919160648082019260209290919082900301818787803b158015613de157600080fd5b505af1158015613df5573d6000803e3d6000fd5b505050506040513d6020811015613e0b57600080fd5b505190508015613e2b57613e226003602883612d9a565b9250505061132b565b613e33612b15565b60095414613e4757613e22600a602c6127b8565b613e57600d548360600151612d0f565b60a0840181905260208401826003811115613e6e57fe5b6003811115613e7957fe5b9052506000905082602001516003811115613e9057fe5b14613eac57613e226009602e84602001516003811115611a4c57fe5b6001600160a01b0386166000908152600e60205260409020546060830151613ed49190612d0f565b60c0840181905260208401826003811115613eeb57fe5b6003811115613ef657fe5b9052506000905082602001516003811115613f0d57fe5b14613f2957613e226009602d84602001516003811115611a4c57fe5b8160800151613f366126a4565b1015613f4857613e22600e602f6127b8565b613f56868360800151613a5d565b60a0820151600d5560c08201516001600160a01b0387166000818152600e60209081526040918290209390935560608501518151908152905130936000805160206154a1833981519152928290030190a36080820151606080840151604080516001600160a01b038b168152602081019490945283810191909152517fe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a9299281900390910190a160055460808301516060840151604080516351dff98960e01b81523060048201526001600160a01b038b81166024830152604482019490945260648101929092525191909216916351dff98991608480830192600092919082900301818387803b15801561406957600080fd5b505af115801561407d573d6000803e3d6000fd5b506000925061408a915050565b9695505050505050565b600080836140a75750600090508061269d565b838302838582816140b457fe5b04146140c85750600291506000905061269d565b60009250905061269d565b600080826140e7575060019050600061269d565b60008385816140f257fe5b04915091509250929050565b60055460408051634ef4c3e160e01b81523060048201526001600160a01b03858116602483015260448201859052915160009384938493911691634ef4c3e19160648082019260209290919082900301818787803b15801561415f57600080fd5b505af1158015614173573d6000803e3d6000fd5b505050506040513d602081101561418957600080fd5b5051905080156141ad576141a06003601f83612d9a565b92506000915061269d9050565b6141b5612b15565b600954146141c9576141a0600a60226127b8565b6141d16152bd565b6141d961226a565b60408301819052602083018260038111156141f057fe5b60038111156141fb57fe5b905250600090508160200151600381111561421257fe5b1461423c5761422e6009602183602001516003811115611a4c57fe5b93506000925061269d915050565b6142468686614d0b565b60c08201819052604080516020810182529083015181526142679190614f55565b606083018190526020830182600381111561427e57fe5b600381111561428957fe5b90525060009050816020015160038111156142a057fe5b146142f2576040805162461bcd60e51b815260206004820181905260248201527f4d494e545f45584348414e47455f43414c43554c4154494f4e5f4641494c4544604482015290519081900360640190fd5b614302600d548260600151612e00565b608083018190526020830182600381111561431957fe5b600381111561432457fe5b905250600090508160200151600381111561433b57fe5b146143775760405162461bcd60e51b815260040180806020018281038252602881526020018061558d6028913960400191505060405180910390fd5b6001600160a01b0386166000908152600e6020526040902054606082015161439f9190612e00565b60a08301819052602083018260038111156143b657fe5b60038111156143c157fe5b90525060009050816020015160038111156143d857fe5b146144145760405162461bcd60e51b815260040180806020018281038252602b815260200180615405602b913960400191505060405180910390fd5b6080810151600d5560a08101516001600160a01b0387166000818152600e60209081526040918290209390935560c084015160608086015183519485529484019190915282820193909352517f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f929181900390910190a1606081015160408051918252516001600160a01b0388169130916000805160206154a18339815191529181900360200190a360c001516000969095509350505050565b6000670de0b6b3a76400006144e7848460000151614f6c565b816144ee57fe5b049392505050565b600061132b8383604051806040016040528060158152602001747375627472616374696f6e20756e646572666c6f7760581b815250614fae565b600061453a615199565b6145448484615045565b90506111bb81613966565b600061132b8383604051806040016040528060118152602001706164646974696f6e206f766572666c6f7760781b81525061506f565b6005546040805163368f515360e21b81523060048201526001600160a01b0385811660248301526044820185905291516000938493169163da3d454c91606480830192602092919082900301818787803b1580156145e257600080fd5b505af11580156145f6573d6000803e3d6000fd5b505050506040513d602081101561460c57600080fd5b50519050801561462b576146236003600e83612d9a565b915050610cf7565b614633612b15565b6009541461464657614623600a806127b8565b8261464f6126a4565b101561466157614623600e60096127b8565b6146696152fb565b61467285612a61565b602083018190528282600381111561468657fe5b600381111561469157fe5b90525060009050815160038111156146a557fe5b146146ca576146c16009600783600001516003811115611a4c57fe5b92505050610cf7565b6146d8816020015185612e00565b60408301819052828260038111156146ec57fe5b60038111156146f757fe5b905250600090508151600381111561470b57fe5b14614727576146c16009600c83600001516003811115611a4c57fe5b614733600b5485612e00565b606083018190528282600381111561474757fe5b600381111561475257fe5b905250600090508151600381111561476657fe5b14614782576146c16009600b83600001516003811115611a4c57fe5b61478c8585613a5d565b604080820180516001600160a01b03881660008181526010602090815290859020928355600a54600190930192909255606080860151600b81905593518551928352928201899052818501929092529081019190915290517f13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab809181900360800190a1600095945050505050565b60055460408051632fe3f38f60e11b81523060048201526001600160a01b0384811660248301528781166044830152868116606483015260848201869052915160009384938493911691635fc7e71e9160a48082019260209290919082900301818787803b15801561488a57600080fd5b505af115801561489e573d6000803e3d6000fd5b505050506040513d60208110156148b457600080fd5b5051905080156148d8576148cb6003601283612d9a565b925060009150614d029050565b6148e0612b15565b600954146148f4576148cb600a60166127b8565b6148fc612b15565b846001600160a01b031663cfa992016040518163ffffffff1660e01b815260040160206040518083038186803b15801561493557600080fd5b505afa158015614949573d6000803e3d6000fd5b505050506040513d602081101561495f57600080fd5b505114614972576148cb600a60116127b8565b866001600160a01b0316866001600160a01b03161415614998576148cb600660176127b8565b846149a9576148cb600760156127b8565b6000198514156149bf576148cb600760146127b8565b6000806149cd89898961352a565b909250905081156149fd576149ee8260108111156149e757fe5b60186127b8565b945060009350614d0292505050565b6005546040805163c488847b60e01b81523060048201526001600160a01b038981166024830152604482018590528251600094859492169263c488847b926064808301939192829003018186803b158015614a5757600080fd5b505afa158015614a6b573d6000803e3d6000fd5b505050506040513d6040811015614a8157600080fd5b50805160209091015190925090508115614acc5760405162461bcd60e51b81526004018080602001828103825260338152602001806154f26033913960400191505060405180910390fd5b80886001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015614b2357600080fd5b505afa158015614b37573d6000803e3d6000fd5b505050506040513d6020811015614b4d57600080fd5b50511015614ba2576040805162461bcd60e51b815260206004820152601860248201527f4c49515549444154455f5345495a455f544f4f5f4d5543480000000000000000604482015290519081900360640190fd5b60006001600160a01b038916301415614bc857614bc1308d8d85612e82565b9050614c52565b6040805163b2a02ff160e01b81526001600160a01b038e811660048301528d81166024830152604482018590529151918b169163b2a02ff1916064808201926020929091908290030181600087803b158015614c2357600080fd5b505af1158015614c37573d6000803e3d6000fd5b505050506040513d6020811015614c4d57600080fd5b505190505b8015614c9c576040805162461bcd60e51b81526020600482015260146024820152731d1bdad95b881cd95a5e9d5c994819985a5b195960621b604482015290519081900360640190fd5b604080516001600160a01b03808f168252808e1660208301528183018790528b1660608201526080810184905290517f298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb529181900360a00190a16000975092955050505050505b94509492505050565b601254604080516370a0823160e01b815230600482015290516000926001600160a01b031691839183916370a08231916024808301926020929190829003018186803b158015614d5a57600080fd5b505afa158015614d6e573d6000803e3d6000fd5b505050506040513d6020811015614d8457600080fd5b5051604080516323b872dd60e01b81526001600160a01b038881166004830152306024830152604482018890529151929350908416916323b872dd9160648082019260009290919082900301818387803b158015614de157600080fd5b505af1158015614df5573d6000803e3d6000fd5b5050505060003d60008114614e115760208114614e1b57600080fd5b6000199150614e27565b60206000803e60005191505b5080614e7a576040805162461bcd60e51b815260206004820152601860248201527f544f4b454e5f5452414e534645525f494e5f4641494c45440000000000000000604482015290519081900360640190fd5b601254604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015614ec557600080fd5b505afa158015614ed9573d6000803e3d6000fd5b505050506040513d6020811015614eef57600080fd5b5051905082811015614f48576040805162461bcd60e51b815260206004820152601a60248201527f544f4b454e5f5452414e534645525f494e5f4f564552464c4f57000000000000604482015290519081900360640190fd5b9190910395945050505050565b6000806000614f62615199565b61266786866150c4565b600061132b83836040518060400160405280601781526020017f6d756c7469706c69636174696f6e206f766572666c6f77000000000000000000815250615123565b6000818484111561503d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015615002578181015183820152602001614fea565b50505050905090810190601f16801561502f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b61504d615199565b6040518060200160405280615066856000015185614f6c565b90529392505050565b600083830182858210156110ec5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315615002578181015183820152602001614fea565b60006150ce615199565b6000806150e3670de0b6b3a764000087614094565b909250905060008260038111156150f657fe5b146151155750604080516020810190915260008152909250905061269d565b6126968186600001516138b6565b6000831580615130575082155b1561513d5750600061132b565b8383028385828161514a57fe5b041483906110ec5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315615002578181015183820152602001614fea565b6040518060200160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106151ed57805160ff191683800117855561521a565b8280016001018555821561521a579182015b8281111561521a5782518255916020019190600101906151ff565b50615226929150615324565b5090565b604080516101208101909152806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805161010081019091528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604080516080810190915280600081526020016000815260200160008152602001600081525090565b610e8f91905b80821115615226576000815560010161532a56fe6f6e6c792061646d696e206d617920696e697469616c697a6520746865206d61726b65746d61726b6574206d6179206f6e6c7920626520696e697469616c697a6564206f6e6365696e697469616c2065786368616e67652072617465206d7573742062652067726561746572207468616e207a65726f2e73657474696e6720696e7465726573742072617465206d6f64656c206661696c65646f6e6c79207468652061646d696e206d61792063616c6c205f72657369676e496d706c656d656e746174696f6e4d494e545f4e45575f4143434f554e545f42414c414e43455f43414c43554c4154494f4e5f4641494c4544626f72726f7742616c616e636553746f7265643a20626f72726f7742616c616e636553746f726564496e7465726e616c206661696c656452455041595f424f52524f575f4e45575f4143434f554e545f424f52524f575f42414c414e43455f43414c43554c4154494f4e5f4641494c4544ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef52455041595f424f52524f575f4e45575f544f54414c5f42414c414e43455f43414c43554c4154494f4e5f4641494c45444c49515549444154455f434f4d5054524f4c4c45525f43414c43554c4154455f414d4f554e545f5345495a455f4641494c4544516945726332303a3a7377656570546f6b656e3a2063616e206e6f7420737765657020756e6465726c79696e6720746f6b656e65786368616e67655261746553746f7265643a2065786368616e67655261746553746f726564496e7465726e616c206661696c65644d494e545f4e45575f544f54414c5f535550504c595f43414c43554c4154494f4e5f4641494c45446f6e65206f662072656465656d546f6b656e73496e206f722072656465656d416d6f756e74496e206d757374206265207a65726f72656475636520726573657276657320756e657870656374656420756e646572666c6f776f6e6c79207468652061646d696e206d61792063616c6c205f6265636f6d65496d706c656d656e746174696f6ea265627a7a72315820cb8f9dca9320de48d79a57b20d19d2a1b6b65deea5adddcc87d8d5820509920264736f6c63430005110032";
1515
+
1516
+ type QiErc20DelegateConstructorParams =
1517
+ | [signer?: Signer]
1518
+ | ConstructorParameters<typeof ContractFactory>;
1519
+
1520
+ const isSuperArgs = (
1521
+ xs: QiErc20DelegateConstructorParams
1522
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1523
+
1524
+ export class QiErc20Delegate__factory extends ContractFactory {
1525
+ constructor(...args: QiErc20DelegateConstructorParams) {
1526
+ if (isSuperArgs(args)) {
1527
+ super(...args);
1528
+ } else {
1529
+ super(_abi, _bytecode, args[0]);
1530
+ }
1531
+ this.contractName = "QiErc20Delegate";
1532
+ }
1533
+
1534
+ deploy(
1535
+ overrides?: Overrides & { from?: string | Promise<string> }
1536
+ ): Promise<QiErc20Delegate> {
1537
+ return super.deploy(overrides || {}) as Promise<QiErc20Delegate>;
1538
+ }
1539
+ getDeployTransaction(
1540
+ overrides?: Overrides & { from?: string | Promise<string> }
1541
+ ): TransactionRequest {
1542
+ return super.getDeployTransaction(overrides || {});
1543
+ }
1544
+ attach(address: string): QiErc20Delegate {
1545
+ return super.attach(address) as QiErc20Delegate;
1546
+ }
1547
+ connect(signer: Signer): QiErc20Delegate__factory {
1548
+ return super.connect(signer) as QiErc20Delegate__factory;
1549
+ }
1550
+ static readonly contractName: "QiErc20Delegate";
1551
+ public readonly contractName: "QiErc20Delegate";
1552
+ static readonly bytecode = _bytecode;
1553
+ static readonly abi = _abi;
1554
+ static createInterface(): QiErc20DelegateInterface {
1555
+ return new utils.Interface(_abi) as QiErc20DelegateInterface;
1556
+ }
1557
+ static connect(
1558
+ address: string,
1559
+ signerOrProvider: Signer | Provider
1560
+ ): QiErc20Delegate {
1561
+ return new Contract(address, _abi, signerOrProvider) as QiErc20Delegate;
1562
+ }
1563
+ }