@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,565 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Signer,
6
+ utils,
7
+ Contract,
8
+ ContractFactory,
9
+ Overrides,
10
+ BigNumberish,
11
+ } from "ethers";
12
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
13
+ import type {
14
+ PendleOwnershipToken,
15
+ PendleOwnershipTokenInterface,
16
+ } from "../PendleOwnershipToken";
17
+
18
+ const _abi = [
19
+ {
20
+ inputs: [
21
+ {
22
+ internalType: "address",
23
+ name: "_SCY",
24
+ type: "address",
25
+ },
26
+ {
27
+ internalType: "string",
28
+ name: "_name",
29
+ type: "string",
30
+ },
31
+ {
32
+ internalType: "string",
33
+ name: "_symbol",
34
+ type: "string",
35
+ },
36
+ {
37
+ internalType: "uint8",
38
+ name: "__decimals",
39
+ type: "uint8",
40
+ },
41
+ {
42
+ internalType: "uint256",
43
+ name: "_expiry",
44
+ type: "uint256",
45
+ },
46
+ ],
47
+ stateMutability: "nonpayable",
48
+ type: "constructor",
49
+ },
50
+ {
51
+ anonymous: false,
52
+ inputs: [
53
+ {
54
+ indexed: true,
55
+ internalType: "address",
56
+ name: "owner",
57
+ type: "address",
58
+ },
59
+ {
60
+ indexed: true,
61
+ internalType: "address",
62
+ name: "spender",
63
+ type: "address",
64
+ },
65
+ {
66
+ indexed: false,
67
+ internalType: "uint256",
68
+ name: "value",
69
+ type: "uint256",
70
+ },
71
+ ],
72
+ name: "Approval",
73
+ type: "event",
74
+ },
75
+ {
76
+ anonymous: false,
77
+ inputs: [
78
+ {
79
+ indexed: true,
80
+ internalType: "address",
81
+ name: "user",
82
+ type: "address",
83
+ },
84
+ {
85
+ indexed: false,
86
+ internalType: "uint256",
87
+ name: "amount",
88
+ type: "uint256",
89
+ },
90
+ ],
91
+ name: "Burn",
92
+ type: "event",
93
+ },
94
+ {
95
+ anonymous: false,
96
+ inputs: [
97
+ {
98
+ indexed: true,
99
+ internalType: "address",
100
+ name: "user",
101
+ type: "address",
102
+ },
103
+ {
104
+ indexed: false,
105
+ internalType: "uint256",
106
+ name: "amount",
107
+ type: "uint256",
108
+ },
109
+ ],
110
+ name: "Mint",
111
+ type: "event",
112
+ },
113
+ {
114
+ anonymous: false,
115
+ inputs: [
116
+ {
117
+ indexed: true,
118
+ internalType: "address",
119
+ name: "from",
120
+ type: "address",
121
+ },
122
+ {
123
+ indexed: true,
124
+ internalType: "address",
125
+ name: "to",
126
+ type: "address",
127
+ },
128
+ {
129
+ indexed: false,
130
+ internalType: "uint256",
131
+ name: "value",
132
+ type: "uint256",
133
+ },
134
+ ],
135
+ name: "Transfer",
136
+ type: "event",
137
+ },
138
+ {
139
+ inputs: [],
140
+ name: "SCY",
141
+ outputs: [
142
+ {
143
+ internalType: "address",
144
+ name: "",
145
+ type: "address",
146
+ },
147
+ ],
148
+ stateMutability: "view",
149
+ type: "function",
150
+ },
151
+ {
152
+ inputs: [],
153
+ name: "YT",
154
+ outputs: [
155
+ {
156
+ internalType: "address",
157
+ name: "",
158
+ type: "address",
159
+ },
160
+ ],
161
+ stateMutability: "view",
162
+ type: "function",
163
+ },
164
+ {
165
+ inputs: [
166
+ {
167
+ internalType: "address",
168
+ name: "owner",
169
+ type: "address",
170
+ },
171
+ {
172
+ internalType: "address",
173
+ name: "spender",
174
+ type: "address",
175
+ },
176
+ ],
177
+ name: "allowance",
178
+ outputs: [
179
+ {
180
+ internalType: "uint256",
181
+ name: "",
182
+ type: "uint256",
183
+ },
184
+ ],
185
+ stateMutability: "view",
186
+ type: "function",
187
+ },
188
+ {
189
+ inputs: [
190
+ {
191
+ internalType: "address",
192
+ name: "spender",
193
+ type: "address",
194
+ },
195
+ {
196
+ internalType: "uint256",
197
+ name: "amount",
198
+ type: "uint256",
199
+ },
200
+ ],
201
+ name: "approve",
202
+ outputs: [
203
+ {
204
+ internalType: "bool",
205
+ name: "",
206
+ type: "bool",
207
+ },
208
+ ],
209
+ stateMutability: "nonpayable",
210
+ type: "function",
211
+ },
212
+ {
213
+ inputs: [
214
+ {
215
+ internalType: "address",
216
+ name: "account",
217
+ type: "address",
218
+ },
219
+ ],
220
+ name: "balanceOf",
221
+ outputs: [
222
+ {
223
+ internalType: "uint256",
224
+ name: "",
225
+ type: "uint256",
226
+ },
227
+ ],
228
+ stateMutability: "view",
229
+ type: "function",
230
+ },
231
+ {
232
+ inputs: [
233
+ {
234
+ internalType: "address",
235
+ name: "user",
236
+ type: "address",
237
+ },
238
+ {
239
+ internalType: "uint256",
240
+ name: "amount",
241
+ type: "uint256",
242
+ },
243
+ ],
244
+ name: "burnByYT",
245
+ outputs: [],
246
+ stateMutability: "nonpayable",
247
+ type: "function",
248
+ },
249
+ {
250
+ inputs: [],
251
+ name: "decimals",
252
+ outputs: [
253
+ {
254
+ internalType: "uint8",
255
+ name: "",
256
+ type: "uint8",
257
+ },
258
+ ],
259
+ stateMutability: "view",
260
+ type: "function",
261
+ },
262
+ {
263
+ inputs: [
264
+ {
265
+ internalType: "address",
266
+ name: "spender",
267
+ type: "address",
268
+ },
269
+ {
270
+ internalType: "uint256",
271
+ name: "subtractedValue",
272
+ type: "uint256",
273
+ },
274
+ ],
275
+ name: "decreaseAllowance",
276
+ outputs: [
277
+ {
278
+ internalType: "bool",
279
+ name: "",
280
+ type: "bool",
281
+ },
282
+ ],
283
+ stateMutability: "nonpayable",
284
+ type: "function",
285
+ },
286
+ {
287
+ inputs: [],
288
+ name: "expiry",
289
+ outputs: [
290
+ {
291
+ internalType: "uint256",
292
+ name: "",
293
+ type: "uint256",
294
+ },
295
+ ],
296
+ stateMutability: "view",
297
+ type: "function",
298
+ },
299
+ {
300
+ inputs: [],
301
+ name: "factory",
302
+ outputs: [
303
+ {
304
+ internalType: "address",
305
+ name: "",
306
+ type: "address",
307
+ },
308
+ ],
309
+ stateMutability: "view",
310
+ type: "function",
311
+ },
312
+ {
313
+ inputs: [
314
+ {
315
+ internalType: "address",
316
+ name: "spender",
317
+ type: "address",
318
+ },
319
+ {
320
+ internalType: "uint256",
321
+ name: "addedValue",
322
+ type: "uint256",
323
+ },
324
+ ],
325
+ name: "increaseAllowance",
326
+ outputs: [
327
+ {
328
+ internalType: "bool",
329
+ name: "",
330
+ type: "bool",
331
+ },
332
+ ],
333
+ stateMutability: "nonpayable",
334
+ type: "function",
335
+ },
336
+ {
337
+ inputs: [
338
+ {
339
+ internalType: "address",
340
+ name: "_YT",
341
+ type: "address",
342
+ },
343
+ ],
344
+ name: "initialize",
345
+ outputs: [],
346
+ stateMutability: "nonpayable",
347
+ type: "function",
348
+ },
349
+ {
350
+ inputs: [],
351
+ name: "isExpired",
352
+ outputs: [
353
+ {
354
+ internalType: "bool",
355
+ name: "res",
356
+ type: "bool",
357
+ },
358
+ ],
359
+ stateMutability: "view",
360
+ type: "function",
361
+ },
362
+ {
363
+ inputs: [
364
+ {
365
+ internalType: "address",
366
+ name: "user",
367
+ type: "address",
368
+ },
369
+ {
370
+ internalType: "uint256",
371
+ name: "amount",
372
+ type: "uint256",
373
+ },
374
+ ],
375
+ name: "mintByYT",
376
+ outputs: [],
377
+ stateMutability: "nonpayable",
378
+ type: "function",
379
+ },
380
+ {
381
+ inputs: [],
382
+ name: "name",
383
+ outputs: [
384
+ {
385
+ internalType: "string",
386
+ name: "",
387
+ type: "string",
388
+ },
389
+ ],
390
+ stateMutability: "view",
391
+ type: "function",
392
+ },
393
+ {
394
+ inputs: [],
395
+ name: "symbol",
396
+ outputs: [
397
+ {
398
+ internalType: "string",
399
+ name: "",
400
+ type: "string",
401
+ },
402
+ ],
403
+ stateMutability: "view",
404
+ type: "function",
405
+ },
406
+ {
407
+ inputs: [],
408
+ name: "timeCreated",
409
+ outputs: [
410
+ {
411
+ internalType: "uint256",
412
+ name: "",
413
+ type: "uint256",
414
+ },
415
+ ],
416
+ stateMutability: "view",
417
+ type: "function",
418
+ },
419
+ {
420
+ inputs: [],
421
+ name: "totalSupply",
422
+ outputs: [
423
+ {
424
+ internalType: "uint256",
425
+ name: "",
426
+ type: "uint256",
427
+ },
428
+ ],
429
+ stateMutability: "view",
430
+ type: "function",
431
+ },
432
+ {
433
+ inputs: [
434
+ {
435
+ internalType: "address",
436
+ name: "to",
437
+ type: "address",
438
+ },
439
+ {
440
+ internalType: "uint256",
441
+ name: "amount",
442
+ type: "uint256",
443
+ },
444
+ ],
445
+ name: "transfer",
446
+ outputs: [
447
+ {
448
+ internalType: "bool",
449
+ name: "",
450
+ type: "bool",
451
+ },
452
+ ],
453
+ stateMutability: "nonpayable",
454
+ type: "function",
455
+ },
456
+ {
457
+ inputs: [
458
+ {
459
+ internalType: "address",
460
+ name: "from",
461
+ type: "address",
462
+ },
463
+ {
464
+ internalType: "address",
465
+ name: "to",
466
+ type: "address",
467
+ },
468
+ {
469
+ internalType: "uint256",
470
+ name: "amount",
471
+ type: "uint256",
472
+ },
473
+ ],
474
+ name: "transferFrom",
475
+ outputs: [
476
+ {
477
+ internalType: "bool",
478
+ name: "",
479
+ type: "bool",
480
+ },
481
+ ],
482
+ stateMutability: "nonpayable",
483
+ type: "function",
484
+ },
485
+ ];
486
+
487
+ const _bytecode =
488
+ "0x6101206040523480156200001257600080fd5b50604051620011b2380380620011b2833981016040819052620000359162000250565b838383838383816003908051906020019062000053929190620000dd565b50805162000069906004906020840190620000dd565b505050428111620000b15760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f45585049525960901b604482015260640160405180910390fd5b60ff9091166080524260a05260c05250503360e052505050506001600160a01b0316610100526200033d565b828054620000eb9062000300565b90600052602060002090601f0160209004810192826200010f57600085556200015a565b82601f106200012a57805160ff19168380011785556200015a565b828001600101855582156200015a579182015b828111156200015a5782518255916020019190600101906200013d565b50620001689291506200016c565b5090565b5b808211156200016857600081556001016200016d565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001ab57600080fd5b81516001600160401b0380821115620001c857620001c862000183565b604051601f8301601f19908116603f01168101908282118183101715620001f357620001f362000183565b816040528381526020925086838588010111156200021057600080fd5b600091505b8382101562000234578582018301518183018401529082019062000215565b83821115620002465760008385830101525b9695505050505050565b600080600080600060a086880312156200026957600080fd5b85516001600160a01b03811681146200028157600080fd5b60208701519095506001600160401b03808211156200029f57600080fd5b620002ad89838a0162000199565b95506040880151915080821115620002c457600080fd5b50620002d38882890162000199565b935050606086015160ff81168114620002eb57600080fd5b80925050608086015190509295509295909350565b600181811c908216806200031557607f821691505b602082108114156200033757634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e05161010051610e226200039060003960006101ee0152600081816102aa01526105fa01526000818161017e01526102f70152600061031e015260006101ac0152610e226000f3fe608060405234801561001057600080fd5b50600436106100fc5760003560e01c806306fdde0314610101578063095ea7b31461011f57806312a31dcc1461014257806318160ddd1461015757806323b872dd146101695780632f13b60c1461017c578063313ce567146101a557806339509351146101d657806347bfac62146101e957806370a0823114610228578063781c18db1461025157806395d89b4114610264578063a457c2d71461026c578063a9059cbb1461027f578063b64761f914610292578063c45a0155146102a5578063c4d66de8146102cc578063dd62ed3e146102df578063e184c9be146102f2578063f1653f6e14610319575b600080fd5b610109610340565b6040516101169190610bff565b60405180910390f35b61013261012d366004610c70565b6103d2565b6040519015158152602001610116565b610155610150366004610c70565b6103ea565b005b6002545b604051908152602001610116565b610132610177366004610c9a565b61046e565b7f0000000000000000000000000000000000000000000000000000000000000000421015610132565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610116565b6101326101e4366004610c70565b610492565b6102107f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610116565b61015b610236366004610cd6565b6001600160a01b031660009081526020819052604090205490565b600554610210906001600160a01b031681565b6101096104d1565b61013261027a366004610c70565b6104e0565b61013261028d366004610c70565b610572565b6101556102a0366004610c70565b610580565b6102107f000000000000000000000000000000000000000000000000000000000000000081565b6101556102da366004610cd6565b6105ef565b61015b6102ed366004610cf8565b610678565b61015b7f000000000000000000000000000000000000000000000000000000000000000081565b61015b7f000000000000000000000000000000000000000000000000000000000000000081565b60606003805461034f90610d2b565b80601f016020809104026020016040519081016040528092919081815260200182805461037b90610d2b565b80156103c85780601f1061039d576101008083540402835291602001916103c8565b820191906000526020600020905b8154815290600101906020018083116103ab57829003601f168201915b5050505050905090565b6000336103e08185856106a3565b5060019392505050565b6005546001600160a01b0316331461041d5760405162461bcd60e51b815260040161041490610d66565b60405180910390fd5b61042782826107c8565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161046291815260200190565b60405180910390a25050565b60003361047c858285610895565b61048785858561090f565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906103e090829086906104cc908790610d9d565b6106a3565b60606004805461034f90610d2b565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156105655760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610414565b61048782868684036106a3565b6000336103e081858561090f565b6005546001600160a01b031633146105aa5760405162461bcd60e51b815260040161041490610d66565b6105b48282610acb565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161046291815260200190565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106565760405162461bcd60e51b815260206004820152600c60248201526b4f4e4c595f464143544f525960a01b6044820152606401610414565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166107055760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610414565b6001600160a01b0382166107665760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610414565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03821661081e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610414565b80600260008282546108309190610d9d565b90915550506001600160a01b0382166000908152602081905260408120805483929061085d908490610d9d565b90915550506040518181526001600160a01b03831690600090600080516020610dcd8339815191529060200160405180910390a35050565b60006108a18484610678565b9050600019811461090957818110156108fc5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610414565b61090984848484036106a3565b50505050565b6001600160a01b0383166109735760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610414565b6001600160a01b0382166109d55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610414565b6001600160a01b03831660009081526020819052604090205481811015610a4d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610414565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610a84908490610d9d565b92505081905550826001600160a01b0316846001600160a01b0316600080516020610dcd83398151915284604051610abe91815260200190565b60405180910390a3610909565b6001600160a01b038216610b2b5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610414565b6001600160a01b03821660009081526020819052604090205481811015610b9f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610414565b6001600160a01b0383166000908152602081905260408120838303905560028054849290610bce908490610db5565b90915550506040518281526000906001600160a01b03851690600080516020610dcd833981519152906020016107bb565b600060208083528351808285015260005b81811015610c2c57858101830151858201604001528201610c10565b81811115610c3e576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610c6b57600080fd5b919050565b60008060408385031215610c8357600080fd5b610c8c83610c54565b946020939093013593505050565b600080600060608486031215610caf57600080fd5b610cb884610c54565b9250610cc660208501610c54565b9150604084013590509250925092565b600060208284031215610ce857600080fd5b610cf182610c54565b9392505050565b60008060408385031215610d0b57600080fd5b610d1483610c54565b9150610d2260208401610c54565b90509250929050565b600181811c90821680610d3f57607f821691505b60208210811415610d6057634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526007908201526613d3931657d65560ca1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115610db057610db0610d87565b500190565b600082821015610dc757610dc7610d87565b50039056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212204d9658a49201ed2a9e87dc6cf4a11b6ec2e6a09b6ad7e554f166a1cc79527ecb64736f6c63430008090033";
489
+
490
+ type PendleOwnershipTokenConstructorParams =
491
+ | [signer?: Signer]
492
+ | ConstructorParameters<typeof ContractFactory>;
493
+
494
+ const isSuperArgs = (
495
+ xs: PendleOwnershipTokenConstructorParams
496
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
497
+
498
+ export class PendleOwnershipToken__factory extends ContractFactory {
499
+ constructor(...args: PendleOwnershipTokenConstructorParams) {
500
+ if (isSuperArgs(args)) {
501
+ super(...args);
502
+ } else {
503
+ super(_abi, _bytecode, args[0]);
504
+ }
505
+ this.contractName = "PendleOwnershipToken";
506
+ }
507
+
508
+ deploy(
509
+ _SCY: string,
510
+ _name: string,
511
+ _symbol: string,
512
+ __decimals: BigNumberish,
513
+ _expiry: BigNumberish,
514
+ overrides?: Overrides & { from?: string | Promise<string> }
515
+ ): Promise<PendleOwnershipToken> {
516
+ return super.deploy(
517
+ _SCY,
518
+ _name,
519
+ _symbol,
520
+ __decimals,
521
+ _expiry,
522
+ overrides || {}
523
+ ) as Promise<PendleOwnershipToken>;
524
+ }
525
+ getDeployTransaction(
526
+ _SCY: string,
527
+ _name: string,
528
+ _symbol: string,
529
+ __decimals: BigNumberish,
530
+ _expiry: BigNumberish,
531
+ overrides?: Overrides & { from?: string | Promise<string> }
532
+ ): TransactionRequest {
533
+ return super.getDeployTransaction(
534
+ _SCY,
535
+ _name,
536
+ _symbol,
537
+ __decimals,
538
+ _expiry,
539
+ overrides || {}
540
+ );
541
+ }
542
+ attach(address: string): PendleOwnershipToken {
543
+ return super.attach(address) as PendleOwnershipToken;
544
+ }
545
+ connect(signer: Signer): PendleOwnershipToken__factory {
546
+ return super.connect(signer) as PendleOwnershipToken__factory;
547
+ }
548
+ static readonly contractName: "PendleOwnershipToken";
549
+ public readonly contractName: "PendleOwnershipToken";
550
+ static readonly bytecode = _bytecode;
551
+ static readonly abi = _abi;
552
+ static createInterface(): PendleOwnershipTokenInterface {
553
+ return new utils.Interface(_abi) as PendleOwnershipTokenInterface;
554
+ }
555
+ static connect(
556
+ address: string,
557
+ signerOrProvider: Signer | Provider
558
+ ): PendleOwnershipToken {
559
+ return new Contract(
560
+ address,
561
+ _abi,
562
+ signerOrProvider
563
+ ) as PendleOwnershipToken;
564
+ }
565
+ }