@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,422 @@
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
+ PendleRouterYTUpg,
8
+ PendleRouterYTUpgInterface,
9
+ } from "../PendleRouterYTUpg";
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
+ name: "joeFactory",
36
+ outputs: [
37
+ {
38
+ internalType: "address",
39
+ name: "",
40
+ type: "address",
41
+ },
42
+ ],
43
+ stateMutability: "view",
44
+ type: "function",
45
+ },
46
+ {
47
+ inputs: [],
48
+ name: "joeRouter",
49
+ outputs: [
50
+ {
51
+ internalType: "address",
52
+ name: "",
53
+ type: "address",
54
+ },
55
+ ],
56
+ stateMutability: "view",
57
+ type: "function",
58
+ },
59
+ {
60
+ inputs: [],
61
+ name: "marketFactory",
62
+ outputs: [
63
+ {
64
+ internalType: "address",
65
+ name: "",
66
+ type: "address",
67
+ },
68
+ ],
69
+ stateMutability: "view",
70
+ type: "function",
71
+ },
72
+ {
73
+ inputs: [
74
+ {
75
+ internalType: "int256",
76
+ name: "otToAccount",
77
+ type: "int256",
78
+ },
79
+ {
80
+ internalType: "int256",
81
+ name: "scyToAccount",
82
+ type: "int256",
83
+ },
84
+ {
85
+ internalType: "bytes",
86
+ name: "data",
87
+ type: "bytes",
88
+ },
89
+ ],
90
+ name: "swapCallback",
91
+ outputs: [],
92
+ stateMutability: "nonpayable",
93
+ type: "function",
94
+ },
95
+ {
96
+ inputs: [
97
+ {
98
+ internalType: "uint256",
99
+ name: "exactRawTokenIn",
100
+ type: "uint256",
101
+ },
102
+ {
103
+ internalType: "address",
104
+ name: "receiver",
105
+ type: "address",
106
+ },
107
+ {
108
+ internalType: "address[]",
109
+ name: "path",
110
+ type: "address[]",
111
+ },
112
+ {
113
+ internalType: "address",
114
+ name: "market",
115
+ type: "address",
116
+ },
117
+ {
118
+ internalType: "uint256",
119
+ name: "netYtOutGuessMin",
120
+ type: "uint256",
121
+ },
122
+ {
123
+ internalType: "uint256",
124
+ name: "netYtOutGuessMax",
125
+ type: "uint256",
126
+ },
127
+ {
128
+ internalType: "uint256",
129
+ name: "maxIteration",
130
+ type: "uint256",
131
+ },
132
+ {
133
+ internalType: "uint256",
134
+ name: "eps",
135
+ type: "uint256",
136
+ },
137
+ ],
138
+ name: "swapExactRawTokenForYt",
139
+ outputs: [
140
+ {
141
+ internalType: "uint256",
142
+ name: "netYtOut",
143
+ type: "uint256",
144
+ },
145
+ ],
146
+ stateMutability: "nonpayable",
147
+ type: "function",
148
+ },
149
+ {
150
+ inputs: [
151
+ {
152
+ internalType: "address",
153
+ name: "receiver",
154
+ type: "address",
155
+ },
156
+ {
157
+ internalType: "address",
158
+ name: "market",
159
+ type: "address",
160
+ },
161
+ {
162
+ internalType: "uint256",
163
+ name: "exactScyIn",
164
+ type: "uint256",
165
+ },
166
+ {
167
+ internalType: "uint256",
168
+ name: "netYtOutGuessMin",
169
+ type: "uint256",
170
+ },
171
+ {
172
+ internalType: "uint256",
173
+ name: "netYtOutGuessMax",
174
+ type: "uint256",
175
+ },
176
+ {
177
+ internalType: "uint256",
178
+ name: "maxIteration",
179
+ type: "uint256",
180
+ },
181
+ {
182
+ internalType: "uint256",
183
+ name: "eps",
184
+ type: "uint256",
185
+ },
186
+ ],
187
+ name: "swapExactScyForYt",
188
+ outputs: [
189
+ {
190
+ internalType: "uint256",
191
+ name: "",
192
+ type: "uint256",
193
+ },
194
+ ],
195
+ stateMutability: "nonpayable",
196
+ type: "function",
197
+ },
198
+ {
199
+ inputs: [
200
+ {
201
+ internalType: "uint256",
202
+ name: "exactYtIn",
203
+ type: "uint256",
204
+ },
205
+ {
206
+ internalType: "address",
207
+ name: "receiver",
208
+ type: "address",
209
+ },
210
+ {
211
+ internalType: "address[]",
212
+ name: "path",
213
+ type: "address[]",
214
+ },
215
+ {
216
+ internalType: "address",
217
+ name: "market",
218
+ type: "address",
219
+ },
220
+ {
221
+ internalType: "uint256",
222
+ name: "minRawTokenOut",
223
+ type: "uint256",
224
+ },
225
+ ],
226
+ name: "swapExactYtForRawToken",
227
+ outputs: [
228
+ {
229
+ internalType: "uint256",
230
+ name: "netRawTokenOut",
231
+ type: "uint256",
232
+ },
233
+ ],
234
+ stateMutability: "nonpayable",
235
+ type: "function",
236
+ },
237
+ {
238
+ inputs: [
239
+ {
240
+ internalType: "address",
241
+ name: "receiver",
242
+ type: "address",
243
+ },
244
+ {
245
+ internalType: "address",
246
+ name: "market",
247
+ type: "address",
248
+ },
249
+ {
250
+ internalType: "uint256",
251
+ name: "exactYtIn",
252
+ type: "uint256",
253
+ },
254
+ {
255
+ internalType: "uint256",
256
+ name: "minScyOut",
257
+ type: "uint256",
258
+ },
259
+ ],
260
+ name: "swapExactYtForScy",
261
+ outputs: [
262
+ {
263
+ internalType: "uint256",
264
+ name: "",
265
+ type: "uint256",
266
+ },
267
+ ],
268
+ stateMutability: "nonpayable",
269
+ type: "function",
270
+ },
271
+ {
272
+ inputs: [
273
+ {
274
+ internalType: "address",
275
+ name: "receiver",
276
+ type: "address",
277
+ },
278
+ {
279
+ internalType: "address",
280
+ name: "market",
281
+ type: "address",
282
+ },
283
+ {
284
+ internalType: "uint256",
285
+ name: "exactYtOut",
286
+ type: "uint256",
287
+ },
288
+ {
289
+ internalType: "uint256",
290
+ name: "maxScyIn",
291
+ type: "uint256",
292
+ },
293
+ ],
294
+ name: "swapScyForExactYt",
295
+ outputs: [
296
+ {
297
+ internalType: "uint256",
298
+ name: "",
299
+ type: "uint256",
300
+ },
301
+ ],
302
+ stateMutability: "nonpayable",
303
+ type: "function",
304
+ },
305
+ {
306
+ inputs: [
307
+ {
308
+ internalType: "address",
309
+ name: "receiver",
310
+ type: "address",
311
+ },
312
+ {
313
+ internalType: "address",
314
+ name: "market",
315
+ type: "address",
316
+ },
317
+ {
318
+ internalType: "uint256",
319
+ name: "exactScyOut",
320
+ type: "uint256",
321
+ },
322
+ {
323
+ internalType: "uint256",
324
+ name: "netYtInGuessMin",
325
+ type: "uint256",
326
+ },
327
+ {
328
+ internalType: "uint256",
329
+ name: "netYtInGuessMax",
330
+ type: "uint256",
331
+ },
332
+ {
333
+ internalType: "uint256",
334
+ name: "maxIteration",
335
+ type: "uint256",
336
+ },
337
+ {
338
+ internalType: "uint256",
339
+ name: "eps",
340
+ type: "uint256",
341
+ },
342
+ ],
343
+ name: "swapYtForExactScy",
344
+ outputs: [
345
+ {
346
+ internalType: "uint256",
347
+ name: "netYtIn",
348
+ type: "uint256",
349
+ },
350
+ ],
351
+ stateMutability: "nonpayable",
352
+ type: "function",
353
+ },
354
+ ];
355
+
356
+ const _bytecode =
357
+ "0x60e06040523480156200001157600080fd5b50604051620042563803806200425683398101604081905262000034916200006f565b6001600160a01b0392831660805290821660a0521660c052620000b9565b80516001600160a01b03811681146200006a57600080fd5b919050565b6000806000606084860312156200008557600080fd5b620000908462000052565b9250620000a06020850162000052565b9150620000b06040850162000052565b90509250925092565b60805160a05160c05161414b6200010b6000396000818160be0152610401015260008181610152015281816119e701528181611a490152818161238f01526123d20152600061012b015261414b6000f3fe608060405234801561001057600080fd5b506004361061008e5760003560e01c806304275ae41461009357806306ae7095146100b95780631d7c155b146100ed57806321aab859146101005780633332bf081461011357806359f571e8146101265780638a38466e1461014d578063ba31326614610174578063d8cc26aa14610187578063fa483e721461019a575b600080fd5b6100a66100a13660046136e8565b6101af565b6040519081526020015b60405180910390f35b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6040516100b0919061374a565b6100a66100fb3660046136e8565b6101eb565b6100a661010e36600461375e565b61021b565b6100a66101213660046137e8565b610232565b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6100a6610182366004613863565b610309565b6100a661019536600461375e565b6103d8565b6101ad6101a83660046138f8565b6103e8565b005b60006101df88888860405180608001604052808a81526020018981526020018881526020018781525060016105b9565b98975050505050505050565b60006101df88888860405180608001604052808a815260200189815260200188815260200187815250600161079b565b6000610229858585856108f0565b95945050505050565b600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561026e57600080fd5b505afa158015610282573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a69190613977565b5050905060006102ba82868b600180610b66565b90506102fc8282868b8b8b8080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509250610e02915050565b9998505050505050505050565b6000806000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561034757600080fd5b505afa15801561035b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037f9190613977565b925050915060006103978d846001858f8f6001610fbd565b90506103c78c8a8360405180608001604052808d81526020018c81526020018b81526020018a81525060006105b9565b9d9c50505050505050505050505050565b6000610229858585856001610b66565b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f9061043690849060040161374a565b60206040518083038186803b15801561044e57600080fd5b505afa158015610462573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048691906139c4565b6104c85760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d3505492d15560921b60448201526064015b60405180910390fd5b60006104d683850185613a64565b50905060028160038111156104ed576104ed613b09565b1415610503576104fe338585611160565b6105b1565b600081600381111561051757610517613b09565b1415610529576104fe3386868661126b565b600181600381111561053d5761053d613b09565b1415610550576104fe33878787876113da565b600381600381111561056457610564613b09565b1415610576576104fe3386868661126b565b60405162461bcd60e51b815260206004820152601060248201526f756e6b6e6f776e20737761705479706560801b60448201526064016104bf565b505050505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b1580156105f757600080fd5b505afa15801561060b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062f9190613977565b604051631cf38c7b60e11b81526000600482018190529395509093506001600160a01b038a1691506339e718f6906024016101606040518083038186803b15801561067957600080fd5b505afa15801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190613b1f565b90506106c96106bf846115b7565b829089428a611632565b50935084156106e7576106e76001600160a01b03841633848a611831565b876001600160a01b03166399bc99988a86600160028e60405160200161070e929190613bd4565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161073c9493929190613c52565b6040805180830381600087803b15801561075557600080fd5b505af1158015610769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078d9190613c89565b505050505095945050505050565b604051631cf38c7b60e11b81526000600482018190529081906001600160a01b038716906339e718f6906024016101606040518083038186803b1580156107e157600080fd5b505afa1580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108199190613b1f565b9050600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561085757600080fd5b505afa15801561086b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088f9190613977565b92505091506108aa6108a0836115b7565b849089428a61188f565b50935084156108c8576108c86001600160a01b038216338387611831565b876001600160a01b0316634f7b3d2f828660001960038e60405160200161070e929190613bd4565b600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561092c57600080fd5b505afa158015610940573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109649190613977565b505090506000816001600160a01b03166370a08231886040518263ffffffff1660e01b8152600401610996919061374a565b60206040518083038186803b1580156109ae57600080fd5b505afa1580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e69190613cad565b9050856001600160a01b03166399bc99988887600180338d604051602001610a1093929190613cc6565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610a3e9493929190613c52565b6040805180830381600087803b158015610a5757600080fd5b505af1158015610a6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8f9190613c89565b50506040516370a0823160e01b81526001600160a01b038316906370a0823190610abd908a9060040161374a565b60206040518083038186803b158015610ad557600080fd5b505afa158015610ae9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0d9190613cad565b610b179082613d0c565b925083831115610b5c5760405162461bcd60e51b815260206004820152601060248201526f195e18d95959081bdd5d081b1a5b5a5d60821b60448201526064016104bf565b5050949350505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b158015610ba457600080fd5b505afa158015610bb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdc9190613977565b92505091506000826001600160a01b03166370a082318a6040518263ffffffff1660e01b8152600401610c0f919061374a565b60206040518083038186803b158015610c2757600080fd5b505afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f9190613cad565b90508415610c7c57610c7c6001600160a01b03831633848a611831565b876001600160a01b0316634f7b3d2f8a8960001960008e604051602001610ca4929190613bd4565b6040516020818303038152906040526040518563ffffffff1660e01b8152600401610cd29493929190613c52565b6040805180830381600087803b158015610ceb57600080fd5b505af1158015610cff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d239190613c89565b50506040516370a0823160e01b815281906001600160a01b038516906370a0823190610d53908d9060040161374a565b60206040518083038186803b158015610d6b57600080fd5b505afa158015610d7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da39190613cad565b610dad9190613d0c565b935085841015610df65760405162461bcd60e51b8152602060048201526014602482015273125394d551919250d251539517d4d0d657d3d55560621b60448201526064016104bf565b50505095945050505050565b60008115610e1f57610e1f6001600160a01b038816338989611831565b600083600081518110610e3457610e34613d23565b60200260200101519050835160011415610ed15760405163c1129b1b60e01b81526001600160a01b0389169063c1129b1b90610e7890889085908b90600401613d39565b602060405180830381600087803b158015610e9257600080fd5b505af1158015610ea6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eca9190613cad565b9150610fb2565b6000886001600160a01b031663c1129b1b610eeb876119e0565b8460016040518463ffffffff1660e01b8152600401610f0c93929190613d39565b602060405180830381600087803b158015610f2657600080fd5b505af1158015610f3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5e9190613cad565b9050610f6b858288611a41565b925086831015610fb05760405162461bcd60e51b815260206004820152601060248201526f1a5b9cdd59999a58da595b9d081bdd5d60821b60448201526064016104bf565b505b509695505050505050565b600081156110a85760018314156110125761100d33888a87876000818110610fe757610fe7613d23565b9050602002016020810190610ffc9190613d5d565b6001600160a01b0316929190611831565b6110a8565b611066336110528686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119e092505050565b8a87876000818110610fe757610fe7613d23565b6110a68484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c92508b9150611a419050565b505b600084846110b7600182613d0c565b8181106110c6576110c6613d23565b90506020020160208101906110db9190613d5d565b6040516334c44e9d60e11b81529091506001600160a01b038916906369889d3a9061110e90899085908c90600401613d39565b602060405180830381600087803b15801561112857600080fd5b505af115801561113c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fc9190613cad565b6000836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561119b57600080fd5b505afa1580156111af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d39190613977565b9250600091506111e7905083850185613d7a565b604051630aa1fb9760e41b81529092506001600160a01b038416915063aa1fb970906112199088908590600401613db1565b602060405180830381600087803b15801561123357600080fd5b505af1158015611247573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b19190613cad565b600061127982840184613d7a565b915050600080866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b1580156112b857600080fd5b505afa1580156112cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f09190613977565b9250509150600061130861130388611aad565b611ab8565b90506000826001600160a01b03166380a7c9ac306040518263ffffffff1660e01b8152600401611338919061374a565b602060405180830381600087803b15801561135257600080fd5b505af1158015611366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138a9190613cad565b90506113a06001600160a01b0385168a84611acb565b6001600160a01b03851630146113cf576113cf856113be8484613d0c565b6001600160a01b0387169190611acb565b505050505050505050565b6000806113e983850185613dcb565b9250925050600080886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561142a57600080fd5b505afa15801561143e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114629190613977565b925050915060006114756113038a611aad565b9050600061148289611ab8565b90506000611502856001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156114c457600080fd5b505af11580156114d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fc9190613cad565b84611b00565b905060006115108284611b26565b90506115276001600160a01b038716898784611831565b846001600160a01b031663aa1fb9708e896040518363ffffffff1660e01b8152600401611555929190613db1565b602060405180830381600087803b15801561156f57600080fd5b505af1158015611583573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a79190613cad565b5050505050505050505050505050565b6000816001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115f457600080fd5b505af1158015611608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162c9190613cad565b92915050565b600080600085116116555760405162461bcd60e51b81526004016104bf90613e09565b61165e83611b3d565b61167a5760405162461bcd60e51b81526004016104bf90613e33565b60006116868787611b77565b9050600080806116978b8b8a611b83565b9050600019876020015114156116bf576116b98b600001518260200151611cbc565b60208801525b6040870151156117f15760408781018051600019019052805160808101825260008082526020808301829052928201819052606082015290880151885160029161170891613e62565b611713906001613e62565b61171d9190613e90565b8082528c5161172d918487611cd7565b945092508261174f57805161174490600190613d0c565b6020890152506116bf565b611768826117608360000151611d2a565b8e9190611d3e565b506020820181905261177990611ab8565b60408201819052815161178c9190613d0c565b6060820181905285106117dd5780518852606080820151908901516117b391908790611e44565b156117d857805160608201516117ca908d90611e78565b965096505050505050611827565b6117eb565b805161174490600190613d0c565b506116bf565b60405162461bcd60e51b815260206004820152600b60248201526a185c1c1c9bde0819985a5b60aa1b60448201526064016104bf565b9550959350505050565b611889846323b872dd60e01b85858560405160240161185293929190613d39565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611e84565b50505050565b600080600085116118b25760405162461bcd60e51b81526004016104bf90613e09565b6118bb83611b3d565b6118d75760405162461bcd60e51b81526004016104bf90613e33565b60006118e38787611b77565b905060006118f2898988611b83565b90506000198560200151141561191457885161190e9082611f56565b60208601525b6040850151156117f157604085018051600019019052602085015185516000916002916119419190613e62565b61194b9190613e90565b905060006119648361195c84612018565b8d9190611d3e565b509050600061197561130383611aad565b905060006119838285613d0c565b90508581106119c957838960200181815250506119a581878b6060015161202a565b156119c457836119b58d83611e78565b97509750505050505050611827565b6119d7565b6119d4846001613e62565b89525b50505050611914565b600061162c7f000000000000000000000000000000000000000000000000000000000000000083600081518110611a1957611a19613d23565b602002602001015184600181518110611a3457611a34613d23565b6020026020010151612058565b600080611a6f7f00000000000000000000000000000000000000000000000000000000000000008587612127565b9050611a7c8186856122ac565b8060018251611a8b9190613d0c565b81518110611a9b57611a9b613d23565b60200260200101519150509392505050565b600061162c82613ea4565b600080821215611ac757600080fd5b5090565b6040516001600160a01b038316602482015260448101829052611afb90849063a9059cbb60e01b90606401611852565b505050565b600082611b15670de0b6b3a764000084613ec1565b611b1f9190613e90565b9392505050565b600081831015611b37576000611b1f565b50900390565b60008160200151826000015111158015611b5d5750610100826040015111155b801561162c57505060600151670de0b6b3a7640000101590565b6000611b1f83836124a1565b611bae6040518060800160405280600081526020016000815260200160008152602001600081525090565b8360e001518210611bf25760405162461bcd60e51b815260206004820152600e60248201526d1b585c9ad95d08195e1c1a5c995960921b60448201526064016104bf565b6000828560e00151611c049190613d0c565b9050611c1085826124b6565b82526020850151611c2290859061253a565b6020830152845115801590611c3a5750602082015115155b611c7d5760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b60448201526064016104bf565b611c9b85600001518661012001518460200151856000015185612571565b604083015260a0850151611caf90826125e1565b6060830152509392505050565b60006001611ccd6113038585612615565b611b1f9190613d0c565b600080828511611cec57506001905081611d21565b6000611d0187611cfb88611d2a565b8761262b565b905060008112611d18576001869250925050611d21565b60008492509250505b94509492505050565b6000611d3582612018565b61162c90613ea4565b6000806000611d60866000015186602001518760000151886040015188612738565b90506000611d76611d7186846127f6565b611aad565b60608701519091506000861315611de1576000611d9384836127f6565b9050670de0b6b3a7640000811215611dbd5760405162461bcd60e51b81526004016104bf90613ee0565b611dd9611dd283670de0b6b3a7640000613f0f565b8490612825565b915050611e0e565b611e0b81611df781670de0b6b3a7640000613f0f565b611e019085613f4e565b611d719190613fd3565b90505b606488610100015182611e219190613f4e565b611e2b9190613fd3565b9350611e378183613f0f565b9450505050935093915050565b6000828411158015611e705750611e6c83611e6784670de0b6b3a7640000613d0c565b612843565b8410155b949350505050565b6000611b1f8383611b00565b6000611ed9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128639092919063ffffffff16565b805190915015611afb5780806020019051810190611ef791906139c4565b611afb5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104bf565b600080611f9d611f9884600001518560400151611f888760600151670de0b6b3a764000061282590919063ffffffff16565b611f929190613f0f565b90612825565b612872565b90506000611fbd611fb6670de0b6b3a764000084614001565b83906127f6565b90506000611fdb856020015187611fd49190614001565b8390612825565b90506000611fe98288613f0f565b90506103e8611ff782611ab8565b612003906103e7613ec1565b61200d9190613e90565b979650505050505050565b6000600160ff1b8210611ac757600080fd5b6000828410158015611e70575061204d83611e6784670de0b6b3a7640000613e62565b909311159392505050565b60008060006120678585612c87565b6040516001600160601b0319606084811b8216602084015283901b16603482015291935091508690604801604051602081830303815290604052805190602001206040516020016121059291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527f0bbca9af0511ad1a1da383135cf3a8d2ac620e549ef9f6ae3a4c33c2fed0af91603582015260550190565b60408051601f1981840301815291905280516020909101209695505050505050565b60606002825110156121765760405162461bcd60e51b8152602060048201526018602482015277094deca98d2c4e4c2e4f27440929cac82989288bea082a8960431b60448201526064016104bf565b81516001600160401b0381111561218f5761218f6139f5565b6040519080825280602002602001820160405280156121b8578160200160208202803683370190505b50905082816000815181106121cf576121cf613d23565b60200260200101818152505060005b600183516121ec9190613d0c565b8110156122a45760008061223f8786858151811061220c5761220c613d23565b6020026020010151878660016122229190613e62565b8151811061223257612232613d23565b6020026020010151612d6c565b9150915061226784848151811061225857612258613d23565b60200260200101518383612e45565b84612273856001613e62565b8151811061228357612283613d23565b6020026020010181815250505050808061229c90614042565b9150506121de565b509392505050565b60005b600183516122bd9190613d0c565b811015611889576000808483815181106122d9576122d9613d23565b6020026020010151858460016122ef9190613e62565b815181106122ff576122ff613d23565b60200260200101519150915060006123178383612c87565b509050600087612328866001613e62565b8151811061233857612338613d23565b60200260200101519050600080836001600160a01b0316866001600160a01b0316146123665782600061236a565b6000835b91509150600060028a5161237e9190613d0c565b881061238a57886123cb565b6123cb7f0000000000000000000000000000000000000000000000000000000000000000878c6123bb8c6002613e62565b81518110611a3457611a34613d23565b90506123f87f00000000000000000000000000000000000000000000000000000000000000008888612058565b6001600160a01b031663022c0d9f84848460006040519080825280601f01601f191660200182016040528015612435576020820181803683370190505b506040518563ffffffff1660e01b8152600401612455949392919061405d565b600060405180830381600087803b15801561246f57600080fd5b505af1158015612483573d6000803e3d6000fd5b5050505050505050505050808061249990614042565b9150506122af565b6000670de0b6b3a7640000611b158484613ec1565b60006124c182612018565b6124d86124d362015180610168613ec1565b612018565b84608001516124e79190613f4e565b6124f19190613fd3565b90506000811361162c5760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b60448201526064016104bf565b6000806000831261254c576001612550565b6000195b90506125676124d38561256286612f4e565b6124a1565b611e709082613f4e565b60008061257e86846125e1565b9050670de0b6b3a76400008112156125a85760405162461bcd60e51b81526004016104bf90613ee0565b60006125be6125b7878a614001565b89906127f6565b905060006125cb82612f65565b90506125d781876127f6565b6102fc9084613f0f565b6000806125f362015180610168613ec1565b6125fd8486613ec1565b6126079190613e90565b9050611e70611f9882612018565b60008183126126245781611b1f565b5090919050565b60008061263784613ea4565b9050600081846020015161264b9190613f0f565b905060006126598784614001565b905060008213801561266b5750600081135b6126ac5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081bdd151bd3585c9ad95d60721b60448201526064016104bf565b60006126da6126bb8484613f4e565b60208801516126ca908b614001565b6126d49087613f4e565b906127f6565b905060006126f06126eb84866127f6565b612fe1565b875190915060009061270b90670de0b6b3a7640000906127f6565b905061271b81611f928486613f0f565b886040015161272a9190613f0f565b9a9950505050505050505050565b6000806127458784613072565b90506000612756611fb6888a614001565b9050670d529ae9e86000008113156127aa5760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b60448201526064016104bf565b60006127b582612f65565b9050856127c282896127f6565b6127cc9190614001565b9350670de0b6b3a7640000841215610df65760405162461bcd60e51b81526004016104bf90613ee0565b60008061280b670de0b6b3a764000085613f4e565b905082818161281c5761281c613e7a565b05949350505050565b6000806128328385613f4e565b9050670de0b6b3a76400008161281c565b6000806128508385613ec1565b670de0b6b3a76400009004949350505050565b6060611e7084846000856130af565b6000680238fd42c5cf03ffff198212158015612897575068070c1cc73b00c800008213155b6128d65760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016104bf565b600082121561290e576128eb82600003612872565b6a0c097ce7bc90715b34b9f160241b8161290757612907613e7a565b0592915050565b60006806f05b59d3b2000000831261294c57506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b612982565b6803782dace9d9000000831261297e57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380612982565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126129d25768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412612a0e576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412612a4857682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412612a82576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412612abb57680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412612af45768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412612b2d576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412612b665768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080826001600160a01b0316846001600160a01b03161415612cec5760405162461bcd60e51b815260206004820152601f60248201527f4a6f654c6962726172793a204944454e544943414c5f4144445245535345530060448201526064016104bf565b826001600160a01b0316846001600160a01b031610612d0c578284612d0f565b83835b90925090506001600160a01b038216612d655760405162461bcd60e51b81526020600482015260186024820152774a6f654c6962726172793a205a45524f5f4144445245535360401b60448201526064016104bf565b9250929050565b6000806000612d7b8585612c87565b509050600080612d8c888888612058565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612dc457600080fd5b505afa158015612dd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dfc91906140a1565b506001600160701b031691506001600160701b03169150826001600160a01b0316876001600160a01b031614612e33578082612e36565b81815b90999098509650505050505050565b6000808411612ea45760405162461bcd60e51b815260206004820152602560248201527f4a6f654c6962726172793a20494e53554646494349454e545f494e5055545f416044820152641353d5539560da1b60648201526084016104bf565b600083118015612eb45750600082115b612f0b5760405162461bcd60e51b815260206004820152602260248201527f4a6f654c6962726172793a20494e53554646494349454e545f4c495155494449604482015261545960f01b60648201526084016104bf565b6000612f19856103e5613ec1565b90506000612f278483613ec1565b9050600082612f38876103e8613ec1565b612f429190613e62565b905061200d8183613e90565b6000808213611ac757612f6082613ea4565b61162c565b6000670de0b6b3a7640000821415612fbc5760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b60448201526064016104bf565b6000612fda612fd384670de0b6b3a7640000613f0f565b84906127f6565b9050611b1f815b60008082136130225760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016104bf565b670c7d713b49da0000821380156130405750670f43fc2c04ee000082125b1561306457670de0b6b3a7640000613057836131d5565b8161290757612907613e7a565b61162c826132f4565b919050565b600081831215611b375760405162461bcd60e51b81526020600482015260086024820152674e4547415449564560c01b60448201526064016104bf565b6060824710156131105760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104bf565b6001600160a01b0385163b6131675760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104bf565b600080866001600160a01b0316858760405161318391906140e6565b60006040518083038185875af1925050503d80600081146131c0576040519150601f19603f3d011682016040523d82523d6000602084013e6131c5565b606091505b509150915061200d828286613697565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161321657613216613e7a565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156133355761332c826a0c097ce7bc90715b34b9f160241b8161332657613326613e7a565b056132f4565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126133805772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126133b7576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff008400083126133ff576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a700831261343a576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261347157693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126134a857690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126134dd5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261350857680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261353d576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312613572576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126135a6576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126135da576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161360357613603613e7a565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b606083156136a6575081611b1f565b8251156136b65782518084602001fd5b8160405162461bcd60e51b81526004016104bf9190614102565b6001600160a01b03811681146136e557600080fd5b50565b600080600080600080600060e0888a03121561370357600080fd5b873561370e816136d0565b9650602088013561371e816136d0565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b6001600160a01b0391909116815260200190565b6000806000806080858703121561377457600080fd5b843561377f816136d0565b9350602085013561378f816136d0565b93969395505050506040820135916060013590565b60008083601f8401126137b657600080fd5b5081356001600160401b038111156137cd57600080fd5b6020830191508360208260051b8501011115612d6557600080fd5b60008060008060008060a0878903121561380157600080fd5b863595506020870135613813816136d0565b945060408701356001600160401b0381111561382e57600080fd5b61383a89828a016137a4565b909550935050606087013561384e816136d0565b80925050608087013590509295509295509295565b60008060008060008060008060006101008a8c03121561388257600080fd5b8935985060208a0135613894816136d0565b975060408a01356001600160401b038111156138af57600080fd5b6138bb8c828d016137a4565b90985096505060608a01356138cf816136d0565b989b979a5095989497966080860135965060a08601359560c0810135955060e001359350915050565b6000806000806060858703121561390e57600080fd5b843593506020850135925060408501356001600160401b038082111561393357600080fd5b818701915087601f83011261394757600080fd5b81358181111561395657600080fd5b88602082850101111561396857600080fd5b95989497505060200194505050565b60008060006060848603121561398c57600080fd5b8351613997816136d0565b60208501519093506139a8816136d0565b60408501519092506139b9816136d0565b809150509250925092565b6000602082840312156139d657600080fd5b81518015158114611b1f57600080fd5b80356004811061306d57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715613a2e57613a2e6139f5565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613a5c57613a5c6139f5565b604052919050565b60008060408385031215613a7757600080fd5b613a80836139e6565b91506020838101356001600160401b0380821115613a9d57600080fd5b818601915086601f830112613ab157600080fd5b813581811115613ac357613ac36139f5565b613ad5601f8201601f19168501613a34565b91508082528784828501011115613aeb57600080fd5b80848401858401376000848284010152508093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b60006101608284031215613b3257600080fd5b613b3a613a0b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152506101208084015181830152506101408084015181830152508091505092915050565b60048110613bd057634e487b7160e01b600052602160045260246000fd5b9052565b60408101613be28285613bb2565b6001600160a01b039290921660209190910152919050565b60005b83811015613c15578181015183820152602001613bfd565b838111156118895750506000910152565b60008151808452613c3e816020860160208601613bfa565b601f01601f19169290920160200192915050565b60018060a01b0385168152836020820152826040820152608060608201526000613c7f6080830184613c26565b9695505050505050565b60008060408385031215613c9c57600080fd5b505080516020909101519092909150565b600060208284031215613cbf57600080fd5b5051919050565b60608101613cd48286613bb2565b6001600160a01b03938416602083015291909216604090920191909152919050565b634e487b7160e01b600052601160045260246000fd5b600082821015613d1e57613d1e613cf6565b500390565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060208284031215613d6f57600080fd5b8135611b1f816136d0565b60008060408385031215613d8d57600080fd5b613d96836139e6565b91506020830135613da6816136d0565b809150509250929050565b6001600160a01b0392831681529116602082015260400190565b600080600060608486031215613de057600080fd5b613de9846139e6565b92506020840135613df9816136d0565b915060408401356139b9816136d0565b60208082526010908201526f34b73b30b634b21036b0bc29b1bca4b760811b604082015260600190565b6020808252601590820152740d2dcecc2d8d2c840c2e0e0e4def040c2e0e0e4def605b1b604082015260600190565b60008219821115613e7557613e75613cf6565b500190565b634e487b7160e01b600052601260045260246000fd5b600082613e9f57613e9f613e7a565b500490565b6000600160ff1b821415613eba57613eba613cf6565b5060000390565b6000816000190483118215151615613edb57613edb613cf6565b500290565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b60008083128015600160ff1b850184121615613f2d57613f2d613cf6565b6001600160ff1b0384018313811615613f4857613f48613cf6565b50500390565b60006001600160ff1b0381841382841380821686840486111615613f7457613f74613cf6565b600160ff1b6000871282811687830589121615613f9357613f93613cf6565b60008712925087820587128484161615613faf57613faf613cf6565b87850587128184161615613fc557613fc5613cf6565b505050929093029392505050565b600082613fe257613fe2613e7a565b600160ff1b821460001984141615613ffc57613ffc613cf6565b500590565b600080821280156001600160ff1b038490038513161561402357614023613cf6565b600160ff1b839003841281161561403c5761403c613cf6565b50500190565b600060001982141561405657614056613cf6565b5060010190565b84815283602082015260018060a01b0383166040820152608060608201526000613c7f6080830184613c26565b80516001600160701b038116811461306d57600080fd5b6000806000606084860312156140b657600080fd5b6140bf8461408a565b92506140cd6020850161408a565b9150604084015163ffffffff811681146139b957600080fd5b600082516140f8818460208701613bfa565b9190910192915050565b602081526000611b1f6020830184613c2656fea2646970667358221220832990e35027917ef3a61f5929a4235d174c466c3d2e5c72a571fa289dd5e0ff64736f6c63430008090033";
358
+
359
+ type PendleRouterYTUpgConstructorParams =
360
+ | [signer?: Signer]
361
+ | ConstructorParameters<typeof ContractFactory>;
362
+
363
+ const isSuperArgs = (
364
+ xs: PendleRouterYTUpgConstructorParams
365
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
366
+
367
+ export class PendleRouterYTUpg__factory extends ContractFactory {
368
+ constructor(...args: PendleRouterYTUpgConstructorParams) {
369
+ if (isSuperArgs(args)) {
370
+ super(...args);
371
+ } else {
372
+ super(_abi, _bytecode, args[0]);
373
+ }
374
+ this.contractName = "PendleRouterYTUpg";
375
+ }
376
+
377
+ deploy(
378
+ _joeRouter: string,
379
+ _joeFactory: string,
380
+ _marketFactory: string,
381
+ overrides?: Overrides & { from?: string | Promise<string> }
382
+ ): Promise<PendleRouterYTUpg> {
383
+ return super.deploy(
384
+ _joeRouter,
385
+ _joeFactory,
386
+ _marketFactory,
387
+ overrides || {}
388
+ ) as Promise<PendleRouterYTUpg>;
389
+ }
390
+ getDeployTransaction(
391
+ _joeRouter: string,
392
+ _joeFactory: string,
393
+ _marketFactory: string,
394
+ overrides?: Overrides & { from?: string | Promise<string> }
395
+ ): TransactionRequest {
396
+ return super.getDeployTransaction(
397
+ _joeRouter,
398
+ _joeFactory,
399
+ _marketFactory,
400
+ overrides || {}
401
+ );
402
+ }
403
+ attach(address: string): PendleRouterYTUpg {
404
+ return super.attach(address) as PendleRouterYTUpg;
405
+ }
406
+ connect(signer: Signer): PendleRouterYTUpg__factory {
407
+ return super.connect(signer) as PendleRouterYTUpg__factory;
408
+ }
409
+ static readonly contractName: "PendleRouterYTUpg";
410
+ public readonly contractName: "PendleRouterYTUpg";
411
+ static readonly bytecode = _bytecode;
412
+ static readonly abi = _abi;
413
+ static createInterface(): PendleRouterYTUpgInterface {
414
+ return new utils.Interface(_abi) as PendleRouterYTUpgInterface;
415
+ }
416
+ static connect(
417
+ address: string,
418
+ signerOrProvider: Signer | Provider
419
+ ): PendleRouterYTUpg {
420
+ return new Contract(address, _abi, signerOrProvider) as PendleRouterYTUpg;
421
+ }
422
+ }
@@ -0,0 +1,184 @@
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
+ PendleRouterYT,
8
+ PendleRouterYTInterface,
9
+ } from "../PendleRouterYT";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "address",
16
+ name: "_marketFactory",
17
+ type: "address",
18
+ },
19
+ ],
20
+ stateMutability: "nonpayable",
21
+ type: "constructor",
22
+ },
23
+ {
24
+ inputs: [],
25
+ name: "marketFactory",
26
+ outputs: [
27
+ {
28
+ internalType: "address",
29
+ name: "",
30
+ type: "address",
31
+ },
32
+ ],
33
+ stateMutability: "view",
34
+ type: "function",
35
+ },
36
+ {
37
+ inputs: [
38
+ {
39
+ internalType: "int256",
40
+ name: "otToAccount",
41
+ type: "int256",
42
+ },
43
+ {
44
+ internalType: "int256",
45
+ name: "lytToAccount",
46
+ type: "int256",
47
+ },
48
+ {
49
+ internalType: "bytes",
50
+ name: "data",
51
+ type: "bytes",
52
+ },
53
+ ],
54
+ name: "swapCallback",
55
+ outputs: [],
56
+ stateMutability: "nonpayable",
57
+ type: "function",
58
+ },
59
+ {
60
+ inputs: [
61
+ {
62
+ internalType: "address",
63
+ name: "recipient",
64
+ type: "address",
65
+ },
66
+ {
67
+ internalType: "address",
68
+ name: "market",
69
+ type: "address",
70
+ },
71
+ {
72
+ internalType: "uint256",
73
+ name: "exactYtIn",
74
+ type: "uint256",
75
+ },
76
+ {
77
+ internalType: "uint256",
78
+ name: "minLytOut",
79
+ type: "uint256",
80
+ },
81
+ ],
82
+ name: "swapExactYtForLyt",
83
+ outputs: [
84
+ {
85
+ internalType: "uint256",
86
+ name: "netLytOut",
87
+ type: "uint256",
88
+ },
89
+ ],
90
+ stateMutability: "nonpayable",
91
+ type: "function",
92
+ },
93
+ {
94
+ inputs: [
95
+ {
96
+ internalType: "address",
97
+ name: "recipient",
98
+ type: "address",
99
+ },
100
+ {
101
+ internalType: "address",
102
+ name: "market",
103
+ type: "address",
104
+ },
105
+ {
106
+ internalType: "uint256",
107
+ name: "exactYtOut",
108
+ type: "uint256",
109
+ },
110
+ {
111
+ internalType: "uint256",
112
+ name: "maxLytIn",
113
+ type: "uint256",
114
+ },
115
+ ],
116
+ name: "swapLytForExactYt",
117
+ outputs: [
118
+ {
119
+ internalType: "uint256",
120
+ name: "netLytIn",
121
+ type: "uint256",
122
+ },
123
+ ],
124
+ stateMutability: "nonpayable",
125
+ type: "function",
126
+ },
127
+ ];
128
+
129
+ const _bytecode =
130
+ "0x60a060405234801561001057600080fd5b5060405161109638038061109683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161100561009160003960008181605601526105a701526110056000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806306ae709514610051578063c02d213c1461008e578063f77c8b40146100af578063fa483e72146100c2575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516100859190610cc3565b60405180910390f35b6100a161009c366004610cef565b6100d7565b604051908152602001610085565b6100a16100bd366004610cef565b610382565b6100d56100d0366004610d35565b61058e565b005b6000806100e3856106ab565b60208101516040516370a0823160e01b815291925085916000916001600160a01b0316906370a082319061011b908b90600401610cc3565b60206040518083038186803b15801561013357600080fd5b505afa158015610147573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016b9190610db4565b60608401516040516323b872dd60e01b81529192506001600160a01b038116916323b872dd916101a2913391908b90600401610dcd565b602060405180830381600087803b1580156101bc57600080fd5b505af11580156101d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f49190610df1565b50866001600160a01b031663e45a214f8984600019338d60405160200161021c929190610e13565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161024a9493929190610e7a565b6040805180830381600087803b15801561026357600080fd5b505af1158015610277573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029b9190610eb1565b505060208301516040516370a0823160e01b815282916001600160a01b0316906370a08231906102cf908c90600401610cc3565b60206040518083038186803b1580156102e757600080fd5b505afa1580156102fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031f9190610db4565b6103299190610eeb565b9350848410156103775760405162461bcd60e51b8152602060048201526014602482015273125394d551919250d251539517d3165517d3d55560621b60448201526064015b60405180910390fd5b505050949350505050565b60008061038e856106ab565b60208101516040516370a0823160e01b815291925085916000916001600160a01b0316906370a08231906103c6908b90600401610cc3565b60206040518083038186803b1580156103de57600080fd5b505afa1580156103f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104169190610db4565b9050866001600160a01b031663a10b0fc289846001338d60405160200161043e929190610e13565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161046c9493929190610e7a565b6040805180830381600087803b15801561048557600080fd5b505af1158015610499573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bd9190610eb1565b505082602001516001600160a01b03166370a08231896040518263ffffffff1660e01b81526004016104ef9190610cc3565b60206040518083038186803b15801561050757600080fd5b505afa15801561051b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053f9190610db4565b6105499082610eeb565b9350848411156103775760405162461bcd60e51b815260206004820152601060248201526f195e18d95959081bdd5d081b1a5b5a5d60821b604482015260640161036e565b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906105dc908490600401610cc3565b60206040518083038186803b1580156105f457600080fd5b505afa158015610608573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062c9190610df1565b6106695760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d3505492d15560921b604482015260640161036e565b60008061067884860186610f02565b915091506000861315610697576106923388888585610875565b6106a2565b6106a2338783610a52565b50505050505050565b60408051608081018252600080825260208201819052918101829052606081019190915260008290506000816001600160a01b031663c836545a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561070f57600080fd5b505afa158015610723573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107479190610f3b565b90506040518060800160405280836001600160a01b03168152602001836001600160a01b0316630a3cab086040518163ffffffff1660e01b815260040160206040518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d49190610f3b565b6001600160a01b03168152602001826001600160a01b03168152602001826001600160a01b031663781c18db6040518163ffffffff1660e01b815260040160206040518083038186803b15801561082a57600080fd5b505afa15801561083e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108629190610f3b565b6001600160a01b03169052949350505050565b6000610880866106ab565b9050600061089561089087610c08565b610c19565b905060006108a286610c19565b9050600061092684602001516001600160a01b031663f0d114f66040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156108e857600080fd5b505af11580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190610db4565b84610c5e565b905060006109348284610c71565b905084602001516001600160a01b03166323b872dd888760600151846040518463ffffffff1660e01b815260040161096e93929190610dcd565b602060405180830381600087803b15801561098857600080fd5b505af115801561099c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c09190610df1565b5084606001516001600160a01b031663aa1fb9708b886040518363ffffffff1660e01b81526004016109f3929190610e13565b602060405180830381600087803b158015610a0d57600080fd5b505af1158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a459190610db4565b5050505050505050505050565b6000610a5d846106ab565b90506000610a6d61089085610c08565b9050600082606001516001600160a01b03166380a7c9ac306040518263ffffffff1660e01b8152600401610aa19190610cc3565b602060405180830381600087803b158015610abb57600080fd5b505af1158015610acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af39190610db4565b602084015160405163a9059cbb60e01b81529192506001600160a01b03169063a9059cbb90610b289089908690600401610f58565b602060405180830381600087803b158015610b4257600080fd5b505af1158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a9190610df1565b5060208301516001600160a01b031663a9059cbb85610b998585610eeb565b6040518363ffffffff1660e01b8152600401610bb6929190610f58565b602060405180830381600087803b158015610bd057600080fd5b505af1158015610be4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a29190610df1565b6000610c1382610f71565b92915050565b600080821215610c5a5760405162461bcd60e51b815260206004820152600c60248201526b1253959053125117d0d054d560a21b604482015260640161036e565b5090565b6000610c6a8284610c8c565b9392505050565b600081831015610c82576000610c6a565b610c6a8284610eeb565b600082610c9b57506000610c13565b6000610caf670de0b6b3a764000085610f8e565b9050610cbb8382610fad565b915050610c13565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114610cec57600080fd5b50565b60008060008060808587031215610d0557600080fd5b8435610d1081610cd7565b93506020850135610d2081610cd7565b93969395505050506040820135916060013590565b60008060008060608587031215610d4b57600080fd5b843593506020850135925060408501356001600160401b0380821115610d7057600080fd5b818701915087601f830112610d8457600080fd5b813581811115610d9357600080fd5b886020828501011115610da557600080fd5b95989497505060200194505050565b600060208284031215610dc657600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060208284031215610e0357600080fd5b81518015158114610c6a57600080fd5b6001600160a01b0392831681529116602082015260400190565b6000815180845260005b81811015610e5357602081850181015186830182015201610e37565b81811115610e65576000602083870101525b50601f01601f19169290920160200192915050565b60018060a01b0385168152836020820152826040820152608060608201526000610ea76080830184610e2d565b9695505050505050565b60008060408385031215610ec457600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b600082821015610efd57610efd610ed5565b500390565b60008060408385031215610f1557600080fd5b8235610f2081610cd7565b91506020830135610f3081610cd7565b809150509250929050565b600060208284031215610f4d57600080fd5b8151610c6a81610cd7565b6001600160a01b03929092168252602082015260400190565b6000600160ff1b821415610f8757610f87610ed5565b5060000390565b6000816000190483118215151615610fa857610fa8610ed5565b500290565b600082610fca57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220263630c2896fa12e09d579a3f7e465e02fdd3400cb63cfde51c6f49dff2128df64736f6c63430008090033";
131
+
132
+ type PendleRouterYTConstructorParams =
133
+ | [signer?: Signer]
134
+ | ConstructorParameters<typeof ContractFactory>;
135
+
136
+ const isSuperArgs = (
137
+ xs: PendleRouterYTConstructorParams
138
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
139
+
140
+ export class PendleRouterYT__factory extends ContractFactory {
141
+ constructor(...args: PendleRouterYTConstructorParams) {
142
+ if (isSuperArgs(args)) {
143
+ super(...args);
144
+ } else {
145
+ super(_abi, _bytecode, args[0]);
146
+ }
147
+ this.contractName = "PendleRouterYT";
148
+ }
149
+
150
+ deploy(
151
+ _marketFactory: string,
152
+ overrides?: Overrides & { from?: string | Promise<string> }
153
+ ): Promise<PendleRouterYT> {
154
+ return super.deploy(
155
+ _marketFactory,
156
+ overrides || {}
157
+ ) as Promise<PendleRouterYT>;
158
+ }
159
+ getDeployTransaction(
160
+ _marketFactory: string,
161
+ overrides?: Overrides & { from?: string | Promise<string> }
162
+ ): TransactionRequest {
163
+ return super.getDeployTransaction(_marketFactory, overrides || {});
164
+ }
165
+ attach(address: string): PendleRouterYT {
166
+ return super.attach(address) as PendleRouterYT;
167
+ }
168
+ connect(signer: Signer): PendleRouterYT__factory {
169
+ return super.connect(signer) as PendleRouterYT__factory;
170
+ }
171
+ static readonly contractName: "PendleRouterYT";
172
+ public readonly contractName: "PendleRouterYT";
173
+ static readonly bytecode = _bytecode;
174
+ static readonly abi = _abi;
175
+ static createInterface(): PendleRouterYTInterface {
176
+ return new utils.Interface(_abi) as PendleRouterYTInterface;
177
+ }
178
+ static connect(
179
+ address: string,
180
+ signerOrProvider: Signer | Provider
181
+ ): PendleRouterYT {
182
+ return new Contract(address, _abi, signerOrProvider) as PendleRouterYT;
183
+ }
184
+ }