@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,635 @@
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
+ PendleRouterCoreUpg,
8
+ PendleRouterCoreUpgInterface,
9
+ } from "../PendleRouterCoreUpg";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "address",
16
+ name: "_joeRouter",
17
+ type: "address",
18
+ },
19
+ {
20
+ internalType: "address",
21
+ name: "_joeFactory",
22
+ type: "address",
23
+ },
24
+ {
25
+ internalType: "address",
26
+ name: "_marketFactory",
27
+ type: "address",
28
+ },
29
+ ],
30
+ stateMutability: "nonpayable",
31
+ type: "constructor",
32
+ },
33
+ {
34
+ inputs: [
35
+ {
36
+ internalType: "address",
37
+ name: "receiver",
38
+ type: "address",
39
+ },
40
+ {
41
+ internalType: "address",
42
+ name: "market",
43
+ type: "address",
44
+ },
45
+ {
46
+ internalType: "uint256",
47
+ name: "scyDesired",
48
+ type: "uint256",
49
+ },
50
+ {
51
+ internalType: "uint256",
52
+ name: "otDesired",
53
+ type: "uint256",
54
+ },
55
+ {
56
+ internalType: "uint256",
57
+ name: "minLpOut",
58
+ type: "uint256",
59
+ },
60
+ ],
61
+ name: "addLiquidity",
62
+ outputs: [
63
+ {
64
+ internalType: "uint256",
65
+ name: "",
66
+ type: "uint256",
67
+ },
68
+ {
69
+ internalType: "uint256",
70
+ name: "",
71
+ type: "uint256",
72
+ },
73
+ {
74
+ internalType: "uint256",
75
+ name: "",
76
+ type: "uint256",
77
+ },
78
+ ],
79
+ stateMutability: "nonpayable",
80
+ type: "function",
81
+ },
82
+ {
83
+ inputs: [],
84
+ name: "joeFactory",
85
+ outputs: [
86
+ {
87
+ internalType: "address",
88
+ name: "",
89
+ type: "address",
90
+ },
91
+ ],
92
+ stateMutability: "view",
93
+ type: "function",
94
+ },
95
+ {
96
+ inputs: [],
97
+ name: "joeRouter",
98
+ outputs: [
99
+ {
100
+ internalType: "address",
101
+ name: "",
102
+ type: "address",
103
+ },
104
+ ],
105
+ stateMutability: "view",
106
+ type: "function",
107
+ },
108
+ {
109
+ inputs: [
110
+ {
111
+ internalType: "uint256",
112
+ name: "netRawTokenIn",
113
+ type: "uint256",
114
+ },
115
+ {
116
+ internalType: "address",
117
+ name: "SCY",
118
+ type: "address",
119
+ },
120
+ {
121
+ internalType: "uint256",
122
+ name: "minScyOut",
123
+ type: "uint256",
124
+ },
125
+ {
126
+ internalType: "address",
127
+ name: "receiver",
128
+ type: "address",
129
+ },
130
+ {
131
+ internalType: "address[]",
132
+ name: "path",
133
+ type: "address[]",
134
+ },
135
+ ],
136
+ name: "mintScyFromRawToken",
137
+ outputs: [
138
+ {
139
+ internalType: "uint256",
140
+ name: "",
141
+ type: "uint256",
142
+ },
143
+ ],
144
+ stateMutability: "nonpayable",
145
+ type: "function",
146
+ },
147
+ {
148
+ inputs: [
149
+ {
150
+ internalType: "uint256",
151
+ name: "netRawTokenIn",
152
+ type: "uint256",
153
+ },
154
+ {
155
+ internalType: "address",
156
+ name: "YT",
157
+ type: "address",
158
+ },
159
+ {
160
+ internalType: "uint256",
161
+ name: "minYoOut",
162
+ type: "uint256",
163
+ },
164
+ {
165
+ internalType: "address",
166
+ name: "receiver",
167
+ type: "address",
168
+ },
169
+ {
170
+ internalType: "address[]",
171
+ name: "path",
172
+ type: "address[]",
173
+ },
174
+ ],
175
+ name: "mintYoFromRawToken",
176
+ outputs: [
177
+ {
178
+ internalType: "uint256",
179
+ name: "",
180
+ type: "uint256",
181
+ },
182
+ ],
183
+ stateMutability: "nonpayable",
184
+ type: "function",
185
+ },
186
+ {
187
+ inputs: [
188
+ {
189
+ internalType: "address",
190
+ name: "SCY",
191
+ type: "address",
192
+ },
193
+ {
194
+ internalType: "uint256",
195
+ name: "netScyIn",
196
+ type: "uint256",
197
+ },
198
+ {
199
+ internalType: "uint256",
200
+ name: "minRawTokenOut",
201
+ type: "uint256",
202
+ },
203
+ {
204
+ internalType: "address",
205
+ name: "receiver",
206
+ type: "address",
207
+ },
208
+ {
209
+ internalType: "address[]",
210
+ name: "path",
211
+ type: "address[]",
212
+ },
213
+ ],
214
+ name: "redeemScyToRawToken",
215
+ outputs: [
216
+ {
217
+ internalType: "uint256",
218
+ name: "",
219
+ type: "uint256",
220
+ },
221
+ ],
222
+ stateMutability: "nonpayable",
223
+ type: "function",
224
+ },
225
+ {
226
+ inputs: [
227
+ {
228
+ internalType: "address",
229
+ name: "YT",
230
+ type: "address",
231
+ },
232
+ {
233
+ internalType: "uint256",
234
+ name: "netYoIn",
235
+ type: "uint256",
236
+ },
237
+ {
238
+ internalType: "uint256",
239
+ name: "minRawTokenOut",
240
+ type: "uint256",
241
+ },
242
+ {
243
+ internalType: "address",
244
+ name: "receiver",
245
+ type: "address",
246
+ },
247
+ {
248
+ internalType: "address[]",
249
+ name: "path",
250
+ type: "address[]",
251
+ },
252
+ ],
253
+ name: "redeemYoToRawToken",
254
+ outputs: [
255
+ {
256
+ internalType: "uint256",
257
+ name: "",
258
+ type: "uint256",
259
+ },
260
+ ],
261
+ stateMutability: "nonpayable",
262
+ type: "function",
263
+ },
264
+ {
265
+ inputs: [
266
+ {
267
+ internalType: "address",
268
+ name: "receiver",
269
+ type: "address",
270
+ },
271
+ {
272
+ internalType: "address",
273
+ name: "market",
274
+ type: "address",
275
+ },
276
+ {
277
+ internalType: "uint256",
278
+ name: "lpToRemove",
279
+ type: "uint256",
280
+ },
281
+ {
282
+ internalType: "uint256",
283
+ name: "scyOutMin",
284
+ type: "uint256",
285
+ },
286
+ {
287
+ internalType: "uint256",
288
+ name: "otOutMin",
289
+ type: "uint256",
290
+ },
291
+ ],
292
+ name: "removeLiquidity",
293
+ outputs: [
294
+ {
295
+ internalType: "uint256",
296
+ name: "",
297
+ type: "uint256",
298
+ },
299
+ {
300
+ internalType: "uint256",
301
+ name: "",
302
+ type: "uint256",
303
+ },
304
+ ],
305
+ stateMutability: "nonpayable",
306
+ type: "function",
307
+ },
308
+ {
309
+ inputs: [
310
+ {
311
+ internalType: "uint256",
312
+ name: "exactOtIn",
313
+ type: "uint256",
314
+ },
315
+ {
316
+ internalType: "address",
317
+ name: "receiver",
318
+ type: "address",
319
+ },
320
+ {
321
+ internalType: "address[]",
322
+ name: "path",
323
+ type: "address[]",
324
+ },
325
+ {
326
+ internalType: "address",
327
+ name: "market",
328
+ type: "address",
329
+ },
330
+ {
331
+ internalType: "uint256",
332
+ name: "minRawTokenOut",
333
+ type: "uint256",
334
+ },
335
+ ],
336
+ name: "swapExactOtForRawToken",
337
+ outputs: [
338
+ {
339
+ internalType: "uint256",
340
+ name: "netRawTokenOut",
341
+ type: "uint256",
342
+ },
343
+ ],
344
+ stateMutability: "nonpayable",
345
+ type: "function",
346
+ },
347
+ {
348
+ inputs: [
349
+ {
350
+ internalType: "address",
351
+ name: "receiver",
352
+ type: "address",
353
+ },
354
+ {
355
+ internalType: "address",
356
+ name: "market",
357
+ type: "address",
358
+ },
359
+ {
360
+ internalType: "uint256",
361
+ name: "exactOtIn",
362
+ type: "uint256",
363
+ },
364
+ {
365
+ internalType: "uint256",
366
+ name: "minScyOut",
367
+ type: "uint256",
368
+ },
369
+ ],
370
+ name: "swapExactOtForScy",
371
+ outputs: [
372
+ {
373
+ internalType: "uint256",
374
+ name: "",
375
+ type: "uint256",
376
+ },
377
+ ],
378
+ stateMutability: "nonpayable",
379
+ type: "function",
380
+ },
381
+ {
382
+ inputs: [
383
+ {
384
+ internalType: "uint256",
385
+ name: "exactRawTokenIn",
386
+ type: "uint256",
387
+ },
388
+ {
389
+ internalType: "address",
390
+ name: "receiver",
391
+ type: "address",
392
+ },
393
+ {
394
+ internalType: "address[]",
395
+ name: "path",
396
+ type: "address[]",
397
+ },
398
+ {
399
+ internalType: "address",
400
+ name: "market",
401
+ type: "address",
402
+ },
403
+ {
404
+ internalType: "uint256",
405
+ name: "otOutguessMin",
406
+ type: "uint256",
407
+ },
408
+ {
409
+ internalType: "uint256",
410
+ name: "otOutguessMax",
411
+ type: "uint256",
412
+ },
413
+ {
414
+ internalType: "uint256",
415
+ name: "maxIteration",
416
+ type: "uint256",
417
+ },
418
+ {
419
+ internalType: "uint256",
420
+ name: "eps",
421
+ type: "uint256",
422
+ },
423
+ ],
424
+ name: "swapExactRawTokenForOt",
425
+ outputs: [
426
+ {
427
+ internalType: "uint256",
428
+ name: "netOtOut",
429
+ type: "uint256",
430
+ },
431
+ ],
432
+ stateMutability: "nonpayable",
433
+ type: "function",
434
+ },
435
+ {
436
+ inputs: [
437
+ {
438
+ internalType: "address",
439
+ name: "receiver",
440
+ type: "address",
441
+ },
442
+ {
443
+ internalType: "address",
444
+ name: "market",
445
+ type: "address",
446
+ },
447
+ {
448
+ internalType: "uint256",
449
+ name: "exactScyIn",
450
+ type: "uint256",
451
+ },
452
+ {
453
+ internalType: "uint256",
454
+ name: "otOutguessMin",
455
+ type: "uint256",
456
+ },
457
+ {
458
+ internalType: "uint256",
459
+ name: "otOutguessMax",
460
+ type: "uint256",
461
+ },
462
+ {
463
+ internalType: "uint256",
464
+ name: "maxIteration",
465
+ type: "uint256",
466
+ },
467
+ {
468
+ internalType: "uint256",
469
+ name: "eps",
470
+ type: "uint256",
471
+ },
472
+ ],
473
+ name: "swapExactScyForOt",
474
+ outputs: [
475
+ {
476
+ internalType: "uint256",
477
+ name: "",
478
+ type: "uint256",
479
+ },
480
+ ],
481
+ stateMutability: "nonpayable",
482
+ type: "function",
483
+ },
484
+ {
485
+ inputs: [
486
+ {
487
+ internalType: "address",
488
+ name: "receiver",
489
+ type: "address",
490
+ },
491
+ {
492
+ internalType: "address",
493
+ name: "market",
494
+ type: "address",
495
+ },
496
+ {
497
+ internalType: "uint256",
498
+ name: "exactScyOut",
499
+ type: "uint256",
500
+ },
501
+ {
502
+ internalType: "uint256",
503
+ name: "otInGuessMin",
504
+ type: "uint256",
505
+ },
506
+ {
507
+ internalType: "uint256",
508
+ name: "otInGuessMax",
509
+ type: "uint256",
510
+ },
511
+ {
512
+ internalType: "uint256",
513
+ name: "maxIteration",
514
+ type: "uint256",
515
+ },
516
+ {
517
+ internalType: "uint256",
518
+ name: "eps",
519
+ type: "uint256",
520
+ },
521
+ ],
522
+ name: "swapOtForExactScy",
523
+ outputs: [
524
+ {
525
+ internalType: "uint256",
526
+ name: "",
527
+ type: "uint256",
528
+ },
529
+ ],
530
+ stateMutability: "nonpayable",
531
+ type: "function",
532
+ },
533
+ {
534
+ inputs: [
535
+ {
536
+ internalType: "address",
537
+ name: "receiver",
538
+ type: "address",
539
+ },
540
+ {
541
+ internalType: "address",
542
+ name: "market",
543
+ type: "address",
544
+ },
545
+ {
546
+ internalType: "uint256",
547
+ name: "exactOtOut",
548
+ type: "uint256",
549
+ },
550
+ {
551
+ internalType: "uint256",
552
+ name: "maxScyIn",
553
+ type: "uint256",
554
+ },
555
+ ],
556
+ name: "swapScyForExactOt",
557
+ outputs: [
558
+ {
559
+ internalType: "uint256",
560
+ name: "",
561
+ type: "uint256",
562
+ },
563
+ ],
564
+ stateMutability: "nonpayable",
565
+ type: "function",
566
+ },
567
+ ];
568
+
569
+ const _bytecode =
570
+ "0x60c06040523480156200001157600080fd5b50604051620047dd380380620047dd83398101604081905262000034916200006a565b506001600160a01b039182166080521660a052620000b4565b80516001600160a01b03811681146200006557600080fd5b919050565b6000806000606084860312156200008057600080fd5b6200008b846200004d565b92506200009b602085016200004d565b9150620000ab604085016200004d565b90509250925092565b60805160a0516146e7620000f66000396000818161018f015281816116c40152818161172c01528181612039015261207c0152600061010f01526146e76000f3fe608060405234801561001057600080fd5b50600436106100b95760003560e01c80623905e7146100be5780631e2bee2a146100e45780633543190a146100f757806359f571e81461010a57806361d67b9f1461013e5780637a6d749b146101515780637be7abe2146101645780637fbd7fc7146101775780638a38466e1461018a57806391c98a2a146101b1578063ab308f79146101df578063e2dc85dc146101f2578063ea5972281461021a578063f6fb26e31461022d575b600080fd5b6100d16100cc366004613cf7565b610240565b6040519081526020015b60405180910390f35b6100d16100f2366004613e27565b61025d565b6100d1610105366004613ea2565b61027a565b6101317f000000000000000000000000000000000000000000000000000000000000000081565b6040516100db9190613ee8565b6100d161014c366004613cf7565b61028a565b6100d161015f366004613ea2565b61029b565b6100d1610172366004613efc565b6102ab565b6100d1610185366004613f91565b610374565b6101317f000000000000000000000000000000000000000000000000000000000000000081565b6101c46101bf366004613ff3565b6103b0565b604080519384526020840192909252908201526060016100db565b6100d16101ed366004613e27565b6103d5565b610205610200366004613ff3565b6103e7565b604080519283526020830191909152016100db565b6100d1610228366004613f91565b610408565b6100d161023b366004614044565b610438565b6000610251868686868660016104fe565b90505b95945050505050565b600061026f8787878787876001610733565b979650505050505050565b6000610254858585856001610895565b6000610251868686868660016109dc565b6000610254858585856001610b97565b600080866001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b1580156102e757600080fd5b505afa1580156102fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031f91906140bf565b905060006103348c8360018b8e8e6001610da4565b90506103648b898360405180608001604052808c81526020018b81526020018a8152602001898152506000610f47565b9c9b505050505050505050505050565b60006103a488888860405180608001604052808a8152602001898152602001888152602001878152506001610f47565b98975050505050505050565b60008060006103c4888888888860016110af565b925092509250955095509592505050565b600061026f8787878787876001610da4565b6000806103f9878787878760016112e4565b915091505b9550959350505050565b60006103a488888860405180608001604052808a8152602001898152602001888152602001878152506001611494565b600080836001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b15801561047457600080fd5b505afa158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906140bf565b90506104bc81858a600180610895565b506103a4816000858a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437600092018290525092506109dc915050565b600080876001600160a01b031663c836545a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561053a57600080fd5b505afa15801561054e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057291906140bf565b90506000886001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b1580156105af57600080fd5b505afa1580156105c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e791906140bf565b90508315610697576000896001600160a01b0316632f13b60c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561062a57600080fd5b505afa15801561063e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066291906140dc565b15905061067a6001600160a01b038416338c8c61165f565b8015610695576106956001600160a01b038b16338c8c61165f565b505b604051632029f26b60e21b81526001600160a01b038a16906380a7c9ac906106c3908490600401613ee8565b602060405180830381600087803b1580156106dd57600080fd5b505af11580156106f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071591906140fe565b5061072681600089898960006109dc565b9998505050505050505050565b600080876001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b15801561076f57600080fd5b505afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a791906140bf565b90506107b9898260018b898989610da4565b50604051630aa1fb9760e41b81526001600160a01b0387811660048301819052602483015289169063aa1fb97090604401602060405180830381600087803b15801561080457600080fd5b505af1158015610818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083c91906140fe565b9150868210156108895760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d081653c81bdd5d606a1b60448201526064015b60405180910390fd5b50979650505050505050565b60008115610929576000856001600160a01b031663c836545a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108d857600080fd5b505afa1580156108ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091091906140bf565b90506109276001600160a01b03821633888861165f565b505b60408051600081526020810191829052631337933360e31b9091526001600160a01b038616906399bc999890610968908990889088906024810161416f565b6040805180830381600087803b15801561098157600080fd5b505af1158015610995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b9919061419c565b509050828110156102545760405162461bcd60e51b8152600401610880906141c0565b600081156109f9576109f96001600160a01b03881633898961165f565b600083600081518110610a0e57610a0e6141ee565b60200260200101519050835160011415610aab5760405163c1129b1b60e01b81526001600160a01b0389169063c1129b1b90610a5290889085908b90600401614204565b602060405180830381600087803b158015610a6c57600080fd5b505af1158015610a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa491906140fe565b9150610b8c565b6000886001600160a01b031663c1129b1b610ac5876116bd565b8460016040518463ffffffff1660e01b8152600401610ae693929190614204565b602060405180830381600087803b158015610b0057600080fd5b505af1158015610b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3891906140fe565b9050610b45858288611724565b925086831015610b8a5760405162461bcd60e51b815260206004820152601060248201526f1a5b9cdd59999a58da595b9d081bdd5d60821b6044820152606401610880565b505b509695505050505050565b604051631cf38c7b60e11b81526000600482018190529081906001600160a01b038716906339e718f6906024016101606040518083038186803b158015610bdd57600080fd5b505afa158015610bf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c159190614228565b90506000866001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5257600080fd5b505afa158015610c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8a91906140bf565b9050610ca3610c9882611790565b839088426000611805565b50925084831115610cec5760405162461bcd60e51b815260206004820152601360248201527232bc31b2b2b2103634b6b4ba1039b1bc9034b760691b6044820152606401610880565b8315610d0757610d076001600160a01b03821633898661165f565b60408051600081526020810191829052634f7b3d2f60e01b9091526001600160a01b03881690634f7b3d2f90610d46908b908a908a906024810161416f565b6040805180830381600087803b158015610d5f57600080fd5b505af1158015610d73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d97919061419c565b5050505095945050505050565b60008115610e8f576001831415610df957610df433888a87876000818110610dce57610dce6141ee565b9050602002016020810190610de391906142bb565b6001600160a01b031692919061165f565b610e8f565b610e4d33610e398686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506116bd92505050565b8a87876000818110610dce57610dce6141ee565b610e8d8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c92508b91506117249050565b505b60008484610e9e6001826142ee565b818110610ead57610ead6141ee565b9050602002016020810190610ec291906142bb565b6040516334c44e9d60e11b81529091506001600160a01b038916906369889d3a90610ef590899085908c90600401614204565b602060405180830381600087803b158015610f0f57600080fd5b505af1158015610f23573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072691906140fe565b604051631cf38c7b60e11b81526000600482018190529081906001600160a01b038716906339e718f6906024016101606040518083038186803b158015610f8d57600080fd5b505afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc59190614228565b90506000866001600160a01b03166347bfac626040518163ffffffff1660e01b815260040160206040518083038186803b15801561100257600080fd5b505afa158015611016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103a91906140bf565b905061105261104882611790565b839088428961184e565b5092508315611070576110706001600160a01b03821633898961165f565b60408051600081526020810191829052634f7b3d2f60e01b9091526001600160a01b03881690634f7b3d2f90610d46908b9087908b906024810161416f565b6000806000806000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b1580156110f057600080fd5b505afa158015611104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190614305565b50604051631cf38c7b60e11b81526000600482018190529294509092506001600160a01b038c16906339e718f6906024016101606040518083038186803b15801561117257600080fd5b505afa158015611186573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111aa9190614228565b90506111c36111b884611790565b82908c8c60006119f2565b9198509650945050878610156112115760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d081b1c081bdd5d606a1b6044820152606401610880565b86156112415761122c6001600160a01b038416338d8861165f565b6112416001600160a01b038316338d8761165f565b60408051600081526020810191829052635308fcb160e01b9091526001600160a01b038c1690635308fcb190611280908f908d908f906024810161416f565b606060405180830381600087803b15801561129a57600080fd5b505af11580156112ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d29190614352565b50505050505096509650969350505050565b604051631cf38c7b60e11b815260006004820181905290819081906001600160a01b038916906339e718f6906024016101606040518083038186803b15801561132c57600080fd5b505afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113649190614228565b905061137281886000611a5f565b9093509150858310156113975760405162461bcd60e51b8152600401610880906141c0565b848210156113dd5760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d081bdd081bdd5d606a1b6044820152606401610880565b83156113f8576113f86001600160a01b038916338a8a61165f565b6040805160008152602081019182905263431e5ca760e11b9091526001600160a01b0389169063863cb94e90611435908c908b9060248101614380565b6040805180830381600087803b15801561144e57600080fd5b505af1158015611462573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611486919061419c565b505050965096945050505050565b604051631cf38c7b60e11b81526000600482018190529081906001600160a01b038716906339e718f6906024016101606040518083038186803b1580156114da57600080fd5b505afa1580156114ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115129190614228565b9050600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561155057600080fd5b505afa158015611564573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115889190614305565b50915091506115a361159983611790565b849089428a611a9c565b50935084156115c1576115c16001600160a01b038216338a8761165f565b60408051600081526020810191829052631337933360e31b9091526001600160a01b038916906399bc999890611600908c9088908c906024810161416f565b6040805180830381600087803b15801561161957600080fd5b505af115801561162d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611651919061419c565b505050505095945050505050565b6116b7846323b872dd60e01b85858560405160240161168093929190614204565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c2b565b50505050565b600061171e7f0000000000000000000000000000000000000000000000000000000000000000836000815181106116f6576116f66141ee565b602002602001015184600181518110611711576117116141ee565b6020026020010151611d02565b92915050565b6000806117527f00000000000000000000000000000000000000000000000000000000000000008587611dd1565b905061175f818685611f56565b806001825161176e91906142ee565b8151811061177e5761177e6141ee565b60200260200101519150509392505050565b6000816001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156117cd57600080fd5b505af11580156117e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171e91906140fe565b60008060008061182089896118198a61214b565b8989612161565b915091506118356118308361222b565b612236565b935061184081612236565b925050509550959350505050565b600080600085116118945760405162461bcd60e51b815260206004820152601060248201526f34b73b30b634b21036b0bc29b1bca4b760811b6044820152606401610880565b61189d83612245565b6118b95760405162461bcd60e51b8152600401610880906143a7565b60006118c5878761227f565b905060006118d4898988612292565b9050600019856020015114156118f65788516118f090826123aa565b60208601525b6040850151156119bc576040850180516000190190526020850151855160009160029161192391906143d6565b61192e9060016143d6565b6119389190614404565b90506000611951836119498461214b565b8d9190612461565b50905060006119626118308361222b565b90508481116119a35782885260608801516119809082908790612567565b1561199e57826119908c8361259b565b9650965050505050506103fe565b6119b4565b6119ae6001846142ee565b60208901525b5050506118f6565b60405162461bcd60e51b815260206004820152600b60248201526a185c1c1c9bde0819985a5b60aa1b6044820152606401610880565b600080600080600080600080611a1b8d8d611a0c8e61214b565b611a158e61214b565b8d6125a7565b9350935093509350611a2c84612236565b9750611a3783612236565b9650611a4282612236565b9550611a4d81612236565b94505050505095509550955095915050565b600080600080611a7887611a728861214b565b87612776565b91509150611a8582612236565b9350611a9081612236565b92505050935093915050565b60008060008511611ae35760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081b5a5b94d8de53dd5d607a1b6044820152606401610880565b611aec83612245565b611b085760405162461bcd60e51b8152600401610880906143a7565b6000611b14878761227f565b905060008080611b258b8b8a612292565b905060001987602001511415611b4d57611b478b600001518260200151612841565b60208801525b6040870151156119bc5760408701805160001901905260208701518751600091600291611b7a91906143d6565b611b849190614404565b9050611b968c6000015182848761285c565b9450925082611ba9576020880152611b4d565b6000611bc083611bb8846128af565b8f9190612461565b5090506000611bce82612236565b9050868110611c1557828a6020018181525050611bf081888c606001516128c3565b15611c105782611c008e8361259b565b98509850505050505050506103fe565b611c23565b611c208360016143d6565b8a525b505050611b4d565b6000611c80826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128f19092919063ffffffff16565b805190915015611cfd5780806020019051810190611c9e91906140dc565b611cfd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610880565b505050565b6000806000611d118585612900565b6040516001600160601b0319606084811b8216602084015283901b1660348201529193509150869060480160405160208183030381529060405280519060200120604051602001611daf9291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527f0bbca9af0511ad1a1da383135cf3a8d2ac620e549ef9f6ae3a4c33c2fed0af91603582015260550190565b60408051601f1981840301815291905280516020909101209695505050505050565b6060600282511015611e205760405162461bcd60e51b8152602060048201526018602482015277094deca98d2c4e4c2e4f27440929cac82989288bea082a8960431b6044820152606401610880565b81516001600160401b03811115611e3957611e39613c88565b604051908082528060200260200182016040528015611e62578160200160208202803683370190505b5090508281600081518110611e7957611e796141ee565b60200260200101818152505060005b60018351611e9691906142ee565b811015611f4e57600080611ee987868581518110611eb657611eb66141ee565b602002602001015187866001611ecc91906143d6565b81518110611edc57611edc6141ee565b60200260200101516129e5565b91509150611f11848481518110611f0257611f026141ee565b60200260200101518383612abe565b84611f1d8560016143d6565b81518110611f2d57611f2d6141ee565b60200260200101818152505050508080611f4690614418565b915050611e88565b509392505050565b60005b60018351611f6791906142ee565b8110156116b757600080848381518110611f8357611f836141ee565b602002602001015185846001611f9991906143d6565b81518110611fa957611fa96141ee565b6020026020010151915091506000611fc18383612900565b509050600087611fd28660016143d6565b81518110611fe257611fe26141ee565b60200260200101519050600080836001600160a01b0316866001600160a01b03161461201057826000612014565b6000835b91509150600060028a5161202891906142ee565b88106120345788612075565b6120757f0000000000000000000000000000000000000000000000000000000000000000878c6120658c60026143d6565b81518110611711576117116141ee565b90506120a27f00000000000000000000000000000000000000000000000000000000000000008888611d02565b6001600160a01b031663022c0d9f84848460006040519080825280601f01601f1916602001820160405280156120df576020820181803683370190505b506040518563ffffffff1660e01b81526004016120ff9493929190614433565b600060405180830381600087803b15801561211957600080fd5b505af115801561212d573d6000803e3d6000fd5b5050505050505050505050808061214390614418565b915050611f59565b6000600160ff1b821061215d57600080fd5b5090565b6000808660e0015184106121875760405162461bcd60e51b815260040161088090614460565b865185126121d05760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c697175696469747960501b6044820152606401610880565b60006121dd888887612292565b90506000806121ed8a848a612461565b90925090506121fc8983612bc7565b94506122088982612bc7565b9350851561221e5761221e8a848b8b898c612c03565b5050509550959350505050565b600061171e82614488565b60008082121561215d57600080fd5b600081602001518260000151111580156122655750610100826040015111155b801561171e57505060600151670de0b6b3a7640000101590565b600061228b8383612cb2565b9392505050565b6122bd6040518060800160405280600081526020016000815260200160008152602001600081525090565b8360e0015182106122e05760405162461bcd60e51b815260040161088090614460565b6000828560e001516122f291906142ee565b90506122fe8582612cd1565b82526020850151612310908590612d50565b60208301528451158015906123285750602082015115155b61236b5760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b6044820152606401610880565b61238985600001518661012001518460200151856000015185612d7d565b604083015260a085015161239d9082612ded565b6060830152509392505050565b6000806123f16123ec846000015185604001516123dc8760600151670de0b6b3a7640000612e2190919063ffffffff16565b6123e691906144a5565b90612e21565b612e44565b9050600061241161240a670de0b6b3a7640000846144e4565b8390613259565b9050600061242f85602001518761242891906144e4565b8390612e21565b9050600061243d82886144a5565b90506103e861244b82612236565b612457906103e7614525565b61026f9190614404565b600080600061248386600001518660200151876000015188604001518861327f565b905060006124996124948684613259565b61222b565b606087015190915060008613156125045760006124b68483613259565b9050670de0b6b3a76400008112156124e05760405162461bcd60e51b815260040161088090614544565b6124fc6124f583670de0b6b3a76400006144a5565b8490612e21565b915050612531565b61252e8161251a81670de0b6b3a76400006144a5565b6125249085614573565b61249491906145f8565b90505b6064886101000151826125449190614573565b61254e91906145f8565b935061255a81836144a5565b9450505050935093915050565b6000828411158015612593575061258f8361258a84670de0b6b3a76400006142ee565b613349565b8410155b949350505050565b600061228b8383613369565b6000806000806000871380156125bd5750600086135b6125f85760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f414d4f554e545360a01b6044820152606401610880565b6040890151612629576126176103e86126118a8a612d50565b9061337e565b92506103e893508691508590506126cc565b885160408a01516000919061263e9089614573565b61264891906145f8565b905060008a602001518b604001518a6126619190614573565b61266b91906145f8565b9050808212156126a1578194508792508a60400151858c602001516126909190614573565b61269a91906145f8565b93506126c9565b8094508893508a60400151858c600001516126bc9190614573565b6126c691906145f8565b92505b50505b6000831361271c5760405162461bcd60e51b815260206004820152601d60248201527f494e53554646494349454e545f4c49515549444954595f4d494e5445440000006044820152606401610880565b841561276a57818960200181815161273491906144e4565b905250885181908a906127489083906144e4565b90525061275584846144e4565b8960400181815161276691906144e4565b9052505b95509550955095915050565b600080600084136127bd5760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081b1c08185b5bdd5b9d607a1b6044820152606401610880565b604085015160208601516127d19086614573565b6127db91906145f8565b60408601518651919350906127f09086614573565b6127fa91906145f8565b90508215612839576040850151612811908561337e565b60408601528451612822908261337e565b85526020850151612833908361337e565b60208601525b935093915050565b6000600161285261183085856133c1565b61228b91906142ee565b600080828511612871575060019050816128a6565b600061288687612880886128af565b876133d7565b90506000811261289d5760018692509250506128a6565b60008492509250505b94509492505050565b60006128ba8261214b565b61171e90614488565b600082841015801561259357506128e68361258a84670de0b6b3a76400006143d6565b909311159392505050565b606061259384846000856134e4565b600080826001600160a01b0316846001600160a01b031614156129655760405162461bcd60e51b815260206004820152601f60248201527f4a6f654c6962726172793a204944454e544943414c5f414444524553534553006044820152606401610880565b826001600160a01b0316846001600160a01b031610612985578284612988565b83835b90925090506001600160a01b0382166129de5760405162461bcd60e51b81526020600482015260186024820152774a6f654c6962726172793a205a45524f5f4144445245535360401b6044820152606401610880565b9250929050565b60008060006129f48585612900565b509050600080612a05888888611d02565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612a3d57600080fd5b505afa158015612a51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a75919061463d565b506001600160701b031691506001600160701b03169150826001600160a01b0316876001600160a01b031614612aac578082612aaf565b81815b90999098509650505050505050565b6000808411612b1d5760405162461bcd60e51b815260206004820152602560248201527f4a6f654c6962726172793a20494e53554646494349454e545f494e5055545f416044820152641353d5539560da1b6064820152608401610880565b600083118015612b2d5750600082115b612b845760405162461bcd60e51b815260206004820152602260248201527f4a6f654c6962726172793a20494e53554646494349454e545f4c495155494449604482015261545960f01b6064820152608401610880565b6000612b92856103e5614525565b90506000612ba08483614525565b9050600082612bb1876103e8614525565b612bbb91906143d6565b905061026f8183614404565b60008060008312612bd9576001612bdd565b6000195b9050612bf9612bf485612bef8661360a565b613369565b61214b565b6125939082614573565b6000818760e00151612c1591906142ee565b61014088018390528751909150612c2c908561337e565b87526020870151612c3d908461337e565b602088018190528751612c6291612c55908890612d50565b885160408a015185613621565b6101208801819052612ca95760405162461bcd60e51b815260206004820152601060248201526f7a65726f20696d706c6965645261746560801b6044820152606401610880565b50505050505050565b6000670de0b6b3a7640000612cc78484614525565b61228b9190614404565b6000612cdc8261214b565b612cee612bf462015180610168614525565b8460800151612cfd9190614573565b612d0791906145f8565b90506000811361171e5760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b6044820152606401610880565b60008060008312612d62576001612d66565b6000195b9050612bf9612bf485612d788661360a565b612cb2565b600080612d8a8684612ded565b9050670de0b6b3a7640000811215612db45760405162461bcd60e51b815260040161088090614544565b6000612dca612dc3878a6144e4565b8990613259565b90506000612dd782613668565b9050612de38187613259565b61072690846144a5565b600080612dff62015180610168614525565b612e098486614525565b612e139190614404565b90506125936123ec8261214b565b600080612e2e8385614573565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015612e69575068070c1cc73b00c800008213155b612ea85760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610880565b6000821215612ee057612ebd82600003612e44565b6a0c097ce7bc90715b34b9f160241b81612ed957612ed96143ee565b0592915050565b60006806f05b59d3b20000008312612f1e57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b612f54565b6803782dace9d90000008312612f5057506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380612f54565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412612fa45768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412612fe0576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261301a57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412613054576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261308d57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126130c65768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126130ff576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126131385768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b60008061326e670de0b6b3a764000085614573565b9050828181612e3b57612e3b6143ee565b60008061328c878461337e565b9050600061329d61240a888a6144e4565b9050670d529ae9e86000008113156132f15760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b6044820152606401610880565b60006132fc82613668565b9050856133098289613259565b61331391906144e4565b9350670de0b6b3a764000084121561333d5760405162461bcd60e51b815260040161088090614544565b50505095945050505050565b6000806133568385614525565b670de0b6b3a76400009004949350505050565b600082612cc7670de0b6b3a764000084614525565b6000818312156133bb5760405162461bcd60e51b81526020600482015260086024820152674e4547415449564560c01b6044820152606401610880565b50900390565b60008183126133d0578161228b565b5090919050565b6000806133e384614488565b905060008184602001516133f791906144a5565b9050600061340587846144e4565b90506000821380156134175750600081135b6134585760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081bdd151bd3585c9ad95d60721b6044820152606401610880565b60006134866134678484614573565b6020880151613476908b6144e4565b6134809087614573565b90613259565b9050600061349c6134978486613259565b6136e4565b87519091506000906134b790670de0b6b3a764000090613259565b90506134c7816123e684866144a5565b88604001516134d691906144a5565b9a9950505050505050505050565b6060824710156135455760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610880565b6001600160a01b0385163b61359c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610880565b600080866001600160a01b031685876040516135b89190614682565b60006040518083038185875af1925050503d80600081146135f5576040519150601f19603f3d011682016040523d82523d6000602084013e6135fa565b606091505b509150915061026f828286613775565b600080821361215d5761361c82614488565b61171e565b60008061363287878787600061327f565b90506000613642611830836136e4565b90508361365462015180610168614525565b61365e9083614525565b6103a49190614404565b6000670de0b6b3a76400008214156136bf5760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b6044820152606401610880565b60006136dd6136d684670de0b6b3a76400006144a5565b8490613259565b905061228b815b60008082136137255760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610880565b670c7d713b49da0000821380156137435750670f43fc2c04ee000082125b1561376757670de0b6b3a764000061375a836137ae565b81612ed957612ed96143ee565b61171e826138cd565b919050565b6060831561378457508161228b565b8251156137945782518084602001fd5b8160405162461bcd60e51b8152600401610880919061469e565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff19850102816137ef576137ef6143ee565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a764000082121561390e57613905826a0c097ce7bc90715b34b9f160241b816138ff576138ff6143ee565b056138cd565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126139595772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312613990576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff008400083126139d8576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312613a13576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312613a4a57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312613a8157690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312613ab65768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312613ae157680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312613b16576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312613b4b576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312613b7f576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312613bb3576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281613bdc57613bdc6143ee565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0381168114613c8557600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715613cc157613cc1613c88565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613cef57613cef613c88565b604052919050565b600080600080600060a08688031215613d0f57600080fd5b8535613d1a81613c70565b94506020868101359450604087013593506060870135613d3981613c70565b925060808701356001600160401b0380821115613d5557600080fd5b818901915089601f830112613d6957600080fd5b813581811115613d7b57613d7b613c88565b8060051b9150613d8c848301613cc7565b818152918301840191848101908c841115613da657600080fd5b938501935b83851015613dd05784359250613dc083613c70565b8282529385019390850190613dab565b8096505050505050509295509295909350565b60008083601f840112613df557600080fd5b5081356001600160401b03811115613e0c57600080fd5b6020830191508360208260051b85010111156129de57600080fd5b60008060008060008060a08789031215613e4057600080fd5b863595506020870135613e5281613c70565b9450604087013593506060870135613e6981613c70565b925060808701356001600160401b03811115613e8457600080fd5b613e9089828a01613de3565b979a9699509497509295939492505050565b60008060008060808587031215613eb857600080fd5b8435613ec381613c70565b93506020850135613ed381613c70565b93969395505050506040820135916060013590565b6001600160a01b0391909116815260200190565b60008060008060008060008060006101008a8c031215613f1b57600080fd5b8935985060208a0135613f2d81613c70565b975060408a01356001600160401b03811115613f4857600080fd5b613f548c828d01613de3565b90985096505060608a0135613f6881613c70565b989b979a5095989497966080860135965060a08601359560c0810135955060e001359350915050565b600080600080600080600060e0888a031215613fac57600080fd5b8735613fb781613c70565b96506020880135613fc781613c70565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b600080600080600060a0868803121561400b57600080fd5b853561401681613c70565b9450602086013561402681613c70565b94979496505050506040830135926060810135926080909101359150565b60008060008060008060a0878903121561405d57600080fd5b86359550602087013561406f81613c70565b945060408701356001600160401b0381111561408a57600080fd5b61409689828a01613de3565b90955093505060608701356140aa81613c70565b80925050608087013590509295509295509295565b6000602082840312156140d157600080fd5b815161228b81613c70565b6000602082840312156140ee57600080fd5b8151801515811461228b57600080fd5b60006020828403121561411057600080fd5b5051919050565b60005b8381101561413257818101518382015260200161411a565b838111156116b75750506000910152565b6000815180845261415b816020860160208601614117565b601f01601f19169290920160200192915050565b60018060a01b03851681528360208201528260408201526080606082015260006102516080830184614143565b600080604083850312156141af57600080fd5b505080516020909101519092909150565b6020808252601490820152731a5b9cdd59999a58da595b9d081cd8de481bdd5d60621b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000610160828403121561423b57600080fd5b614243613c9e565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152506101208084015181830152506101408084015181830152508091505092915050565b6000602082840312156142cd57600080fd5b813561228b81613c70565b634e487b7160e01b600052601160045260246000fd5b600082821015614300576143006142d8565b500390565b60008060006060848603121561431a57600080fd5b835161432581613c70565b602085015190935061433681613c70565b604085015190925061434781613c70565b809150509250925092565b60008060006060848603121561436757600080fd5b8351925060208401519150604084015190509250925092565b60018060a01b03841681528260208201526060604082015260006102546060830184614143565b6020808252601590820152740d2dcecc2d8d2c840c2e0e0e4def040c2e0e0e4def605b1b604082015260600190565b600082198211156143e9576143e96142d8565b500190565b634e487b7160e01b600052601260045260246000fd5b600082614413576144136143ee565b500490565b600060001982141561442c5761442c6142d8565b5060010190565b84815283602082015260018060a01b03831660408201526080606082015260006102516080830184614143565b6020808252600e908201526d1b585c9ad95d08195e1c1a5c995960921b604082015260600190565b6000600160ff1b82141561449e5761449e6142d8565b5060000390565b60008083128015600160ff1b8501841216156144c3576144c36142d8565b6001600160ff1b03840183138116156144de576144de6142d8565b50500390565b600080821280156001600160ff1b0384900385131615614506576145066142d8565b600160ff1b839003841281161561451f5761451f6142d8565b50500190565b600081600019048311821515161561453f5761453f6142d8565b500290565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b60006001600160ff1b0381841382841380821686840486111615614599576145996142d8565b600160ff1b60008712828116878305891216156145b8576145b86142d8565b600087129250878205871284841616156145d4576145d46142d8565b878505871281841616156145ea576145ea6142d8565b505050929093029392505050565b600082614607576146076143ee565b600160ff1b821460001984141615614621576146216142d8565b500590565b80516001600160701b038116811461377057600080fd5b60008060006060848603121561465257600080fd5b61465b84614626565b925061466960208501614626565b9150604084015163ffffffff8116811461434757600080fd5b60008251614694818460208701614117565b9190910192915050565b60208152600061228b602083018461414356fea2646970667358221220147c27fd86e9b827220ce9ef3750497d10ca52a76d083453c4ca9e50235e0dff64736f6c63430008090033";
571
+
572
+ type PendleRouterCoreUpgConstructorParams =
573
+ | [signer?: Signer]
574
+ | ConstructorParameters<typeof ContractFactory>;
575
+
576
+ const isSuperArgs = (
577
+ xs: PendleRouterCoreUpgConstructorParams
578
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
579
+
580
+ export class PendleRouterCoreUpg__factory extends ContractFactory {
581
+ constructor(...args: PendleRouterCoreUpgConstructorParams) {
582
+ if (isSuperArgs(args)) {
583
+ super(...args);
584
+ } else {
585
+ super(_abi, _bytecode, args[0]);
586
+ }
587
+ this.contractName = "PendleRouterCoreUpg";
588
+ }
589
+
590
+ deploy(
591
+ _joeRouter: string,
592
+ _joeFactory: string,
593
+ _marketFactory: string,
594
+ overrides?: Overrides & { from?: string | Promise<string> }
595
+ ): Promise<PendleRouterCoreUpg> {
596
+ return super.deploy(
597
+ _joeRouter,
598
+ _joeFactory,
599
+ _marketFactory,
600
+ overrides || {}
601
+ ) as Promise<PendleRouterCoreUpg>;
602
+ }
603
+ getDeployTransaction(
604
+ _joeRouter: string,
605
+ _joeFactory: string,
606
+ _marketFactory: string,
607
+ overrides?: Overrides & { from?: string | Promise<string> }
608
+ ): TransactionRequest {
609
+ return super.getDeployTransaction(
610
+ _joeRouter,
611
+ _joeFactory,
612
+ _marketFactory,
613
+ overrides || {}
614
+ );
615
+ }
616
+ attach(address: string): PendleRouterCoreUpg {
617
+ return super.attach(address) as PendleRouterCoreUpg;
618
+ }
619
+ connect(signer: Signer): PendleRouterCoreUpg__factory {
620
+ return super.connect(signer) as PendleRouterCoreUpg__factory;
621
+ }
622
+ static readonly contractName: "PendleRouterCoreUpg";
623
+ public readonly contractName: "PendleRouterCoreUpg";
624
+ static readonly bytecode = _bytecode;
625
+ static readonly abi = _abi;
626
+ static createInterface(): PendleRouterCoreUpgInterface {
627
+ return new utils.Interface(_abi) as PendleRouterCoreUpgInterface;
628
+ }
629
+ static connect(
630
+ address: string,
631
+ signerOrProvider: Signer | Provider
632
+ ): PendleRouterCoreUpg {
633
+ return new Contract(address, _abi, signerOrProvider) as PendleRouterCoreUpg;
634
+ }
635
+ }