@pendle/core-v2 0.1.0

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 (182) hide show
  1. package/LICENSE +100 -0
  2. package/contracts/SuperComposableYield/ISuperComposableYield.sol +68 -0
  3. package/contracts/SuperComposableYield/SCYUtils.sol +14 -0
  4. package/contracts/SuperComposableYield/implementations/RewardManager.sol +117 -0
  5. package/contracts/SuperComposableYield/implementations/SCYBase.sol +126 -0
  6. package/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol +79 -0
  7. package/contracts/core/PendleBaseToken.sol +39 -0
  8. package/contracts/core/PendleMarket.sol +248 -0
  9. package/contracts/core/PendleMarketFactory.sol +60 -0
  10. package/contracts/core/PendleOwnershipToken.sol +44 -0
  11. package/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol +139 -0
  12. package/contracts/core/PendleSCYImpl/AaveV3/WadRayMath.sol +126 -0
  13. package/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol +127 -0
  14. package/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol +125 -0
  15. package/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol +115 -0
  16. package/contracts/core/PendleYieldContractFactory.sol +109 -0
  17. package/contracts/core/PendleYieldToken.sol +240 -0
  18. package/contracts/core/misc/BoringOwnable.sol +62 -0
  19. package/contracts/core/misc/BoringOwnableUpg.sol +64 -0
  20. package/contracts/core/misc/PendleJoeSwapHelperUpg.sol +82 -0
  21. package/contracts/core/router/PendleRouterCoreUpg.sol +219 -0
  22. package/contracts/core/router/PendleRouterProxy.sol +64 -0
  23. package/contracts/core/router/PendleRouterYTUpg.sol +134 -0
  24. package/contracts/core/router/base/PendleRouterOTBaseUpg.sol +218 -0
  25. package/contracts/core/router/base/PendleRouterSCYAndForgeBaseUpg.sol +141 -0
  26. package/contracts/core/router/base/PendleRouterYTBaseUpg.sol +212 -0
  27. package/contracts/interfaces/IAToken.sol +34 -0
  28. package/contracts/interfaces/IAavePool.sol +41 -0
  29. package/contracts/interfaces/IAaveRewardsController.sol +32 -0
  30. package/contracts/interfaces/IBenQiComptroller.sol +33 -0
  31. package/contracts/interfaces/IJoePair.sol +98 -0
  32. package/contracts/interfaces/IJoeRouter01.sol +162 -0
  33. package/contracts/interfaces/IPBaseToken.sol +9 -0
  34. package/contracts/interfaces/IPFlashCallBack.sol +10 -0
  35. package/contracts/interfaces/IPGovernanceManager.sol +28 -0
  36. package/contracts/interfaces/IPMarket.sol +57 -0
  37. package/contracts/interfaces/IPMarketAddRemoveCallback.sol +18 -0
  38. package/contracts/interfaces/IPMarketFactory.sol +8 -0
  39. package/contracts/interfaces/IPMarketSwapCallback.sol +10 -0
  40. package/contracts/interfaces/IPOwnershipToken.sol +15 -0
  41. package/contracts/interfaces/IPPermissionsV2.sol +28 -0
  42. package/contracts/interfaces/IPRouterCore.sol +108 -0
  43. package/contracts/interfaces/IPRouterYT.sol +47 -0
  44. package/contracts/interfaces/IPYieldContractFactory.sol +36 -0
  45. package/contracts/interfaces/IPYieldToken.sol +19 -0
  46. package/contracts/interfaces/IQiErc20.sol +35 -0
  47. package/contracts/interfaces/IQiToken.sol +29 -0
  48. package/contracts/interfaces/IREDACTEDStaking.sol +35 -0
  49. package/contracts/interfaces/IWETH.sol +34 -0
  50. package/contracts/interfaces/IWXBTRFLY.sol +37 -0
  51. package/contracts/interfaces/IYearnVault.sol +32 -0
  52. package/contracts/libraries/JoeLibrary.sol +121 -0
  53. package/contracts/libraries/SCYIndex.sol +55 -0
  54. package/contracts/libraries/helpers/ExpiryUtilsLib.sol +166 -0
  55. package/contracts/libraries/math/FixedPoint.sol +208 -0
  56. package/contracts/libraries/math/LogExpMath.sol +515 -0
  57. package/contracts/libraries/math/MarketApproxLib.sol +140 -0
  58. package/contracts/libraries/math/MarketMathLib.sol +606 -0
  59. package/contracts/periphery/PendleGovernanceManager.sol +36 -0
  60. package/contracts/periphery/PermissionsV2.sol +23 -0
  61. package/package.json +76 -0
  62. package/typechain-types/BoringOwnable.ts +194 -0
  63. package/typechain-types/BoringOwnableData.ts +100 -0
  64. package/typechain-types/BoringOwnableUpg.ts +194 -0
  65. package/typechain-types/BoringOwnableUpgData.ts +100 -0
  66. package/typechain-types/ERC1967UpgradeUpgradeable.ts +97 -0
  67. package/typechain-types/ERC20.ts +417 -0
  68. package/typechain-types/IAToken.ts +331 -0
  69. package/typechain-types/IAavePool.ts +192 -0
  70. package/typechain-types/IAaveRewardsController.ts +148 -0
  71. package/typechain-types/IBeaconUpgradeable.ts +87 -0
  72. package/typechain-types/IBenQiComptroller.ts +125 -0
  73. package/typechain-types/IERC1822ProxiableUpgradeable.ts +87 -0
  74. package/typechain-types/IERC20.ts +300 -0
  75. package/typechain-types/IERC20Metadata.ts +339 -0
  76. package/typechain-types/IJoePair.ts +888 -0
  77. package/typechain-types/IJoeRouter01.ts +1107 -0
  78. package/typechain-types/IPBaseToken.ts +365 -0
  79. package/typechain-types/IPFlashCallback.ts +115 -0
  80. package/typechain-types/IPGovernanceManager.ts +84 -0
  81. package/typechain-types/IPMarket.ts +701 -0
  82. package/typechain-types/IPMarketAddRemoveCallback.ts +169 -0
  83. package/typechain-types/IPMarketFactory.ts +109 -0
  84. package/typechain-types/IPMarketSwapCallback.ts +115 -0
  85. package/typechain-types/IPOwnershipToken.ts +488 -0
  86. package/typechain-types/IPRouterCore.ts +759 -0
  87. package/typechain-types/IPRouterYT.ts +405 -0
  88. package/typechain-types/IPYieldContractFactory.ts +192 -0
  89. package/typechain-types/IPYieldToken.ts +525 -0
  90. package/typechain-types/IPermissionsV2.ts +87 -0
  91. package/typechain-types/IQiErc20.ts +402 -0
  92. package/typechain-types/IQiToken.ts +327 -0
  93. package/typechain-types/IREDACTEDStaking.ts +216 -0
  94. package/typechain-types/ISuperComposableYield.ts +652 -0
  95. package/typechain-types/IWETH.ts +380 -0
  96. package/typechain-types/IWXBTRFLY.ts +254 -0
  97. package/typechain-types/IYearnVault.ts +152 -0
  98. package/typechain-types/PendleAaveV3SCY.ts +901 -0
  99. package/typechain-types/PendleBaseToken.ts +505 -0
  100. package/typechain-types/PendleBenQiErc20SCY.ts +914 -0
  101. package/typechain-types/PendleBtrflyScy.ts +794 -0
  102. package/typechain-types/PendleGovernanceManager.ts +187 -0
  103. package/typechain-types/PendleJoeSwapHelperUpg.ts +97 -0
  104. package/typechain-types/PendleMarket.ts +1008 -0
  105. package/typechain-types/PendleMarketFactory.ts +246 -0
  106. package/typechain-types/PendleOwnershipToken.ts +628 -0
  107. package/typechain-types/PendleRouterCoreUpg.ts +780 -0
  108. package/typechain-types/PendleRouterProxy.ts +417 -0
  109. package/typechain-types/PendleRouterSCYAndForgeBaseUpg.ts +98 -0
  110. package/typechain-types/PendleRouterYTBaseUpg.ts +134 -0
  111. package/typechain-types/PendleRouterYTUpg.ts +453 -0
  112. package/typechain-types/PendleYearnVaultScy.ts +784 -0
  113. package/typechain-types/PendleYieldContractFactory.ts +479 -0
  114. package/typechain-types/PendleYieldToken.ts +1030 -0
  115. package/typechain-types/PermissionsV2.ts +87 -0
  116. package/typechain-types/Proxy.ts +57 -0
  117. package/typechain-types/RewardManager.ts +172 -0
  118. package/typechain-types/SCYBase.ts +734 -0
  119. package/typechain-types/SCYBaseWithRewards.ts +819 -0
  120. package/typechain-types/UUPSUpgradeable.ts +197 -0
  121. package/typechain-types/common.ts +44 -0
  122. package/typechain-types/factories/BoringOwnableData__factory.ts +90 -0
  123. package/typechain-types/factories/BoringOwnableUpgData__factory.ts +94 -0
  124. package/typechain-types/factories/BoringOwnableUpg__factory.ts +139 -0
  125. package/typechain-types/factories/BoringOwnable__factory.ts +149 -0
  126. package/typechain-types/factories/ERC1967UpgradeUpgradeable__factory.ts +75 -0
  127. package/typechain-types/factories/ERC20__factory.ts +348 -0
  128. package/typechain-types/factories/IAToken__factory.ts +225 -0
  129. package/typechain-types/factories/IAavePool__factory.ts +99 -0
  130. package/typechain-types/factories/IAaveRewardsController__factory.ts +78 -0
  131. package/typechain-types/factories/IBeaconUpgradeable__factory.ts +39 -0
  132. package/typechain-types/factories/IBenQiComptroller__factory.ts +59 -0
  133. package/typechain-types/factories/IERC1822ProxiableUpgradeable__factory.ts +43 -0
  134. package/typechain-types/factories/IERC20Metadata__factory.ts +248 -0
  135. package/typechain-types/factories/IERC20__factory.ts +203 -0
  136. package/typechain-types/factories/IJoePair__factory.ts +674 -0
  137. package/typechain-types/factories/IJoeRouter01__factory.ts +772 -0
  138. package/typechain-types/factories/IPBaseToken__factory.ts +271 -0
  139. package/typechain-types/factories/IPFlashCallback__factory.ts +49 -0
  140. package/typechain-types/factories/IPGovernanceManager__factory.ts +39 -0
  141. package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +86 -0
  142. package/typechain-types/factories/IPMarketFactory__factory.ts +58 -0
  143. package/typechain-types/factories/IPMarketSwapCallback__factory.ts +53 -0
  144. package/typechain-types/factories/IPMarket__factory.ts +559 -0
  145. package/typechain-types/factories/IPOwnershipToken__factory.ts +349 -0
  146. package/typechain-types/factories/IPRouterCore__factory.ts +516 -0
  147. package/typechain-types/factories/IPRouterYT__factory.ts +246 -0
  148. package/typechain-types/factories/IPYieldContractFactory__factory.ts +117 -0
  149. package/typechain-types/factories/IPYieldToken__factory.ts +383 -0
  150. package/typechain-types/factories/IPermissionsV2__factory.ts +39 -0
  151. package/typechain-types/factories/IQiErc20__factory.ts +270 -0
  152. package/typechain-types/factories/IQiToken__factory.ts +219 -0
  153. package/typechain-types/factories/IREDACTEDStaking__factory.ts +107 -0
  154. package/typechain-types/factories/ISuperComposableYield__factory.ts +438 -0
  155. package/typechain-types/factories/IWETH__factory.ts +261 -0
  156. package/typechain-types/factories/IWXBTRFLY__factory.ts +131 -0
  157. package/typechain-types/factories/IYearnVault__factory.ts +74 -0
  158. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +727 -0
  159. package/typechain-types/factories/PendleBaseToken__factory.ts +386 -0
  160. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +753 -0
  161. package/typechain-types/factories/PendleBtrflyScy__factory.ts +652 -0
  162. package/typechain-types/factories/PendleGovernanceManager__factory.ts +149 -0
  163. package/typechain-types/factories/PendleJoeSwapHelperUpg__factory.ts +56 -0
  164. package/typechain-types/factories/PendleMarketFactory__factory.ts +207 -0
  165. package/typechain-types/factories/PendleMarket__factory.ts +891 -0
  166. package/typechain-types/factories/PendleOwnershipToken__factory.ts +565 -0
  167. package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +620 -0
  168. package/typechain-types/factories/PendleRouterProxy__factory.ts +316 -0
  169. package/typechain-types/factories/PendleRouterSCYAndForgeBaseUpg__factory.ts +56 -0
  170. package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +66 -0
  171. package/typechain-types/factories/PendleRouterYTUpg__factory.ts +363 -0
  172. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +630 -0
  173. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +368 -0
  174. package/typechain-types/factories/PendleYieldToken__factory.ts +814 -0
  175. package/typechain-types/factories/PermissionsV2__factory.ts +36 -0
  176. package/typechain-types/factories/Proxy__factory.ts +28 -0
  177. package/typechain-types/factories/RewardManager__factory.ts +89 -0
  178. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +535 -0
  179. package/typechain-types/factories/SCYBase__factory.ts +479 -0
  180. package/typechain-types/factories/UUPSUpgradeable__factory.ts +115 -0
  181. package/typechain-types/hardhat.d.ts +564 -0
  182. package/typechain-types/index.ts +122 -0
@@ -0,0 +1,316 @@
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
+ PendleRouterProxy,
8
+ PendleRouterProxyInterface,
9
+ } from "../PendleRouterProxy";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "address",
16
+ name: "_PENDLE_ROUTER_CORE",
17
+ type: "address",
18
+ },
19
+ {
20
+ internalType: "address",
21
+ name: "_PENDLE_ROUTER_YT",
22
+ type: "address",
23
+ },
24
+ ],
25
+ stateMutability: "nonpayable",
26
+ type: "constructor",
27
+ },
28
+ {
29
+ anonymous: false,
30
+ inputs: [
31
+ {
32
+ indexed: false,
33
+ internalType: "address",
34
+ name: "previousAdmin",
35
+ type: "address",
36
+ },
37
+ {
38
+ indexed: false,
39
+ internalType: "address",
40
+ name: "newAdmin",
41
+ type: "address",
42
+ },
43
+ ],
44
+ name: "AdminChanged",
45
+ type: "event",
46
+ },
47
+ {
48
+ anonymous: false,
49
+ inputs: [
50
+ {
51
+ indexed: true,
52
+ internalType: "address",
53
+ name: "beacon",
54
+ type: "address",
55
+ },
56
+ ],
57
+ name: "BeaconUpgraded",
58
+ type: "event",
59
+ },
60
+ {
61
+ anonymous: false,
62
+ inputs: [
63
+ {
64
+ indexed: true,
65
+ internalType: "address",
66
+ name: "previousOwner",
67
+ type: "address",
68
+ },
69
+ {
70
+ indexed: true,
71
+ internalType: "address",
72
+ name: "newOwner",
73
+ type: "address",
74
+ },
75
+ ],
76
+ name: "OwnershipTransferred",
77
+ type: "event",
78
+ },
79
+ {
80
+ anonymous: false,
81
+ inputs: [
82
+ {
83
+ indexed: true,
84
+ internalType: "address",
85
+ name: "implementation",
86
+ type: "address",
87
+ },
88
+ ],
89
+ name: "Upgraded",
90
+ type: "event",
91
+ },
92
+ {
93
+ stateMutability: "payable",
94
+ type: "fallback",
95
+ },
96
+ {
97
+ inputs: [],
98
+ name: "PENDLE_ROUTER_CORE",
99
+ outputs: [
100
+ {
101
+ internalType: "address",
102
+ name: "",
103
+ type: "address",
104
+ },
105
+ ],
106
+ stateMutability: "view",
107
+ type: "function",
108
+ },
109
+ {
110
+ inputs: [],
111
+ name: "PENDLE_ROUTER_YT",
112
+ outputs: [
113
+ {
114
+ internalType: "address",
115
+ name: "",
116
+ type: "address",
117
+ },
118
+ ],
119
+ stateMutability: "view",
120
+ type: "function",
121
+ },
122
+ {
123
+ inputs: [],
124
+ name: "claimOwnership",
125
+ outputs: [],
126
+ stateMutability: "nonpayable",
127
+ type: "function",
128
+ },
129
+ {
130
+ inputs: [
131
+ {
132
+ internalType: "bytes4",
133
+ name: "sig",
134
+ type: "bytes4",
135
+ },
136
+ ],
137
+ name: "getRouterImplementation",
138
+ outputs: [
139
+ {
140
+ internalType: "address",
141
+ name: "",
142
+ type: "address",
143
+ },
144
+ ],
145
+ stateMutability: "view",
146
+ type: "function",
147
+ },
148
+ {
149
+ inputs: [],
150
+ name: "initialize",
151
+ outputs: [],
152
+ stateMutability: "nonpayable",
153
+ type: "function",
154
+ },
155
+ {
156
+ inputs: [],
157
+ name: "owner",
158
+ outputs: [
159
+ {
160
+ internalType: "address",
161
+ name: "",
162
+ type: "address",
163
+ },
164
+ ],
165
+ stateMutability: "view",
166
+ type: "function",
167
+ },
168
+ {
169
+ inputs: [],
170
+ name: "pendingOwner",
171
+ outputs: [
172
+ {
173
+ internalType: "address",
174
+ name: "",
175
+ type: "address",
176
+ },
177
+ ],
178
+ stateMutability: "view",
179
+ type: "function",
180
+ },
181
+ {
182
+ inputs: [],
183
+ name: "proxiableUUID",
184
+ outputs: [
185
+ {
186
+ internalType: "bytes32",
187
+ name: "",
188
+ type: "bytes32",
189
+ },
190
+ ],
191
+ stateMutability: "view",
192
+ type: "function",
193
+ },
194
+ {
195
+ inputs: [
196
+ {
197
+ internalType: "address",
198
+ name: "newOwner",
199
+ type: "address",
200
+ },
201
+ {
202
+ internalType: "bool",
203
+ name: "direct",
204
+ type: "bool",
205
+ },
206
+ {
207
+ internalType: "bool",
208
+ name: "renounce",
209
+ type: "bool",
210
+ },
211
+ ],
212
+ name: "transferOwnership",
213
+ outputs: [],
214
+ stateMutability: "nonpayable",
215
+ type: "function",
216
+ },
217
+ {
218
+ inputs: [
219
+ {
220
+ internalType: "address",
221
+ name: "newImplementation",
222
+ type: "address",
223
+ },
224
+ ],
225
+ name: "upgradeTo",
226
+ outputs: [],
227
+ stateMutability: "nonpayable",
228
+ type: "function",
229
+ },
230
+ {
231
+ inputs: [
232
+ {
233
+ internalType: "address",
234
+ name: "newImplementation",
235
+ type: "address",
236
+ },
237
+ {
238
+ internalType: "bytes",
239
+ name: "data",
240
+ type: "bytes",
241
+ },
242
+ ],
243
+ name: "upgradeToAndCall",
244
+ outputs: [],
245
+ stateMutability: "payable",
246
+ type: "function",
247
+ },
248
+ {
249
+ stateMutability: "payable",
250
+ type: "receive",
251
+ },
252
+ ];
253
+
254
+ const _bytecode =
255
+ "0x60e06040523060805234801561001457600080fd5b5060405161131938038061131983398101604081905261003391610066565b6001600160a01b0391821660a0521660c052610099565b80516001600160a01b038116811461006157600080fd5b919050565b6000806040838503121561007957600080fd5b6100828361004a565b91506100906020840161004a565b90509250929050565b60805160a05160c0516112216100f86000396000818160d9015281816108140152610854015260008181610195015261076501526000818161034e0152818161038e015281816104c201528181610502015261057e01526112216000f3fe6080604052600436106100905760003560e01c8063078dfbe7146100a75780632696e500146100c75780633659cfe6146101185780634e71e0c8146101385780634f1ef2861461014d57806352d1902d146101605780635e25a6c21461018357806376e1df48146101b75780638129fc1c146101d75780638da5cb5b146101ec578063e30c39781461020c5761009f565b3661009f5761009d61022c565b005b61009d61022c565b3480156100b357600080fd5b5061009d6100c2366004610e7d565b61023e565b3480156100d357600080fd5b506100fb7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561012457600080fd5b5061009d610133366004610ec0565b610343565b34801561014457600080fd5b5061009d61040c565b61009d61015b366004610ef1565b6104b7565b34801561016c57600080fd5b50610175610571565b60405190815260200161010f565b34801561018f57600080fd5b506100fb7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101c357600080fd5b506100fb6101d2366004610fb2565b61061f565b3480156101e357600080fd5b5061009d6108ba565b3480156101f857600080fd5b506000546100fb906001600160a01b031681565b34801561021857600080fd5b506001546100fb906001600160a01b031681565b61023c610237610999565b6109b5565b565b6000546001600160a01b031633146102715760405162461bcd60e51b815260040161026890610fdc565b60405180910390fd5b8115610322576001600160a01b03831615158061028b5750805b6102cf5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610268565b600080546040516001600160a01b03808716939216916000805160206111a583398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561038c5760405162461bcd60e51b815260040161026890611011565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103be6109d9565b6001600160a01b0316146103e45760405162461bcd60e51b81526004016102689061104b565b6103ed816109f5565b6040805160008082526020820190925261040991839190610a1f565b50565b6001546001600160a01b03163381146104675760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610268565b600080546040516001600160a01b03808516939216916000805160206111a583398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105005760405162461bcd60e51b815260040161026890611011565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105326109d9565b6001600160a01b0316146105585760405162461bcd60e51b81526004016102689061104b565b610561826109f5565b61056d82826001610a1f565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060c5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610268565b5060008051602061118583398151915290565b60006001600160e01b0319821663ab308f7960e01b148061065057506001600160e01b031982166361d67b9f60e01b145b8061066b57506001600160e01b03198216630f15f71560e11b145b8061068557506001600160e01b03198216623905e760e01b145b806106a057506001600160e01b031982166348e4c51560e11b145b806106bb57506001600160e01b031982166338b7217760e21b145b806106d657506001600160e01b03198216631aa18c8560e11b145b806106f157506001600160e01b0319821663b4532d4b60e01b145b8061070c57506001600160e01b03198216637a6d749b60e01b145b8061072757506001600160e01b0319821663d34ffc4960e01b145b8061074257506001600160e01b0319821663127352f360e21b145b8061075d57506001600160e01b0319821663f6fb26e360e01b145b1561078957507f0000000000000000000000000000000000000000000000000000000000000000919050565b6001600160e01b03198216636c66135560e11b14806107b857506001600160e01b031982166321aab85960e01b145b806107d357506001600160e01b0319821663093194ab60e31b145b806107f157506001600160e01b031982166001625ab6bb60e11b0319145b8061080c57506001600160e01b0319821663066657e160e31b145b1561083857507f0000000000000000000000000000000000000000000000000000000000000000919050565b6001600160e01b03198216637d241f3960e11b141561087857507f0000000000000000000000000000000000000000000000000000000000000000919050565b60405162461bcd60e51b8152602060048201526012602482015271696e76616c6964206d61726b65742073696760701b6044820152606401610268565b919050565b600154600160a81b900460ff166108de57600154600160a01b900460ff16156108e6565b6108e6610b99565b6109495760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610268565b600154600160a81b900460ff16158015610973576001805461ffff60a01b191661010160a01b1790555b61097b610baa565b610983610bd3565b8015610409576001805460ff60a81b1916905550565b60006109b06000356001600160e01b03191661061f565b905090565b3660008037600080366000845af43d6000803e8080156109d4573d6000f35b3d6000fd5b600080516020611185833981519152546001600160a01b031690565b6000546001600160a01b031633146104095760405162461bcd60e51b815260040161026890610fdc565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610a525761033e83610c10565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8b57600080fd5b505afa925050508015610abb575060408051601f3d908101601f19168201909252610ab891810190611085565b60015b610b1e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610268565b6000805160206111858339815191528114610b8d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610268565b5061033e838383610caa565b6000610ba430610cd5565b15905090565b600154600160a81b900460ff1661023c5760405162461bcd60e51b81526004016102689061109e565b600154600160a81b900460ff16610bfc5760405162461bcd60e51b81526004016102689061109e565b600080546001600160a01b03191633179055565b610c1981610cd5565b610c7b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610268565b60008051602061118583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610cb383610ce4565b600082511180610cc05750805b1561033e57610ccf8383610d24565b50505050565b6001600160a01b03163b151590565b610ced81610c10565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610d2f83610cd5565b610d8a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610268565b600080846001600160a01b031684604051610da59190611115565b600060405180830381855af49150503d8060008114610de0576040519150601f19603f3d011682016040523d82523d6000602084013e610de5565b606091505b5091509150610e0d82826040518060600160405280602781526020016111c560279139610e16565b95945050505050565b60608315610e25575081610e4f565b825115610e355782518084602001fd5b8160405162461bcd60e51b81526004016102689190611131565b9392505050565b80356001600160a01b03811681146108b557600080fd5b803580151581146108b557600080fd5b600080600060608486031215610e9257600080fd5b610e9b84610e56565b9250610ea960208501610e6d565b9150610eb760408501610e6d565b90509250925092565b600060208284031215610ed257600080fd5b610e4f82610e56565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610f0457600080fd5b610f0d83610e56565b915060208301356001600160401b0380821115610f2957600080fd5b818501915085601f830112610f3d57600080fd5b813581811115610f4f57610f4f610edb565b604051601f8201601f19908116603f01168101908382118183101715610f7757610f77610edb565b81604052828152886020848701011115610f9057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610fc457600080fd5b81356001600160e01b031981168114610e4f57600080fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c9082015260008051602061116583398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061116583398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561109757600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156111045781810151838201526020016110ec565b83811115610ccf5750506000910152565b600082516111278184602087016110e9565b9190910192915050565b60208152600082518060208401526111508160408501602087016110e9565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122008b087a14f9d635a60c9abf9e2204b16d863db0222e602648721454cb884775364736f6c63430008090033";
256
+
257
+ type PendleRouterProxyConstructorParams =
258
+ | [signer?: Signer]
259
+ | ConstructorParameters<typeof ContractFactory>;
260
+
261
+ const isSuperArgs = (
262
+ xs: PendleRouterProxyConstructorParams
263
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
264
+
265
+ export class PendleRouterProxy__factory extends ContractFactory {
266
+ constructor(...args: PendleRouterProxyConstructorParams) {
267
+ if (isSuperArgs(args)) {
268
+ super(...args);
269
+ } else {
270
+ super(_abi, _bytecode, args[0]);
271
+ }
272
+ this.contractName = "PendleRouterProxy";
273
+ }
274
+
275
+ deploy(
276
+ _PENDLE_ROUTER_CORE: string,
277
+ _PENDLE_ROUTER_YT: string,
278
+ overrides?: Overrides & { from?: string | Promise<string> }
279
+ ): Promise<PendleRouterProxy> {
280
+ return super.deploy(
281
+ _PENDLE_ROUTER_CORE,
282
+ _PENDLE_ROUTER_YT,
283
+ overrides || {}
284
+ ) as Promise<PendleRouterProxy>;
285
+ }
286
+ getDeployTransaction(
287
+ _PENDLE_ROUTER_CORE: string,
288
+ _PENDLE_ROUTER_YT: string,
289
+ overrides?: Overrides & { from?: string | Promise<string> }
290
+ ): TransactionRequest {
291
+ return super.getDeployTransaction(
292
+ _PENDLE_ROUTER_CORE,
293
+ _PENDLE_ROUTER_YT,
294
+ overrides || {}
295
+ );
296
+ }
297
+ attach(address: string): PendleRouterProxy {
298
+ return super.attach(address) as PendleRouterProxy;
299
+ }
300
+ connect(signer: Signer): PendleRouterProxy__factory {
301
+ return super.connect(signer) as PendleRouterProxy__factory;
302
+ }
303
+ static readonly contractName: "PendleRouterProxy";
304
+ public readonly contractName: "PendleRouterProxy";
305
+ static readonly bytecode = _bytecode;
306
+ static readonly abi = _abi;
307
+ static createInterface(): PendleRouterProxyInterface {
308
+ return new utils.Interface(_abi) as PendleRouterProxyInterface;
309
+ }
310
+ static connect(
311
+ address: string,
312
+ signerOrProvider: Signer | Provider
313
+ ): PendleRouterProxy {
314
+ return new Contract(address, _abi, signerOrProvider) as PendleRouterProxy;
315
+ }
316
+ }
@@ -0,0 +1,56 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ PendleRouterSCYAndForgeBaseUpg,
9
+ PendleRouterSCYAndForgeBaseUpgInterface,
10
+ } from "../PendleRouterSCYAndForgeBaseUpg";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [],
15
+ name: "joeFactory",
16
+ outputs: [
17
+ {
18
+ internalType: "address",
19
+ name: "",
20
+ type: "address",
21
+ },
22
+ ],
23
+ stateMutability: "view",
24
+ type: "function",
25
+ },
26
+ {
27
+ inputs: [],
28
+ name: "joeRouter",
29
+ outputs: [
30
+ {
31
+ internalType: "address",
32
+ name: "",
33
+ type: "address",
34
+ },
35
+ ],
36
+ stateMutability: "view",
37
+ type: "function",
38
+ },
39
+ ];
40
+
41
+ export class PendleRouterSCYAndForgeBaseUpg__factory {
42
+ static readonly abi = _abi;
43
+ static createInterface(): PendleRouterSCYAndForgeBaseUpgInterface {
44
+ return new utils.Interface(_abi) as PendleRouterSCYAndForgeBaseUpgInterface;
45
+ }
46
+ static connect(
47
+ address: string,
48
+ signerOrProvider: Signer | Provider
49
+ ): PendleRouterSCYAndForgeBaseUpg {
50
+ return new Contract(
51
+ address,
52
+ _abi,
53
+ signerOrProvider
54
+ ) as PendleRouterSCYAndForgeBaseUpg;
55
+ }
56
+ }
@@ -0,0 +1,66 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ PendleRouterYTBaseUpg,
9
+ PendleRouterYTBaseUpgInterface,
10
+ } from "../PendleRouterYTBaseUpg";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [],
15
+ name: "marketFactory",
16
+ outputs: [
17
+ {
18
+ internalType: "address",
19
+ name: "",
20
+ type: "address",
21
+ },
22
+ ],
23
+ stateMutability: "view",
24
+ type: "function",
25
+ },
26
+ {
27
+ inputs: [
28
+ {
29
+ internalType: "int256",
30
+ name: "otToAccount",
31
+ type: "int256",
32
+ },
33
+ {
34
+ internalType: "int256",
35
+ name: "scyToAccount",
36
+ type: "int256",
37
+ },
38
+ {
39
+ internalType: "bytes",
40
+ name: "data",
41
+ type: "bytes",
42
+ },
43
+ ],
44
+ name: "swapCallback",
45
+ outputs: [],
46
+ stateMutability: "nonpayable",
47
+ type: "function",
48
+ },
49
+ ];
50
+
51
+ export class PendleRouterYTBaseUpg__factory {
52
+ static readonly abi = _abi;
53
+ static createInterface(): PendleRouterYTBaseUpgInterface {
54
+ return new utils.Interface(_abi) as PendleRouterYTBaseUpgInterface;
55
+ }
56
+ static connect(
57
+ address: string,
58
+ signerOrProvider: Signer | Provider
59
+ ): PendleRouterYTBaseUpg {
60
+ return new Contract(
61
+ address,
62
+ _abi,
63
+ signerOrProvider
64
+ ) as PendleRouterYTBaseUpg;
65
+ }
66
+ }