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