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