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