@pendle/core-v2 0.3.0 → 0.5.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 (104) hide show
  1. package/contracts/SuperComposableYield/ISuperComposableYield.sol +14 -0
  2. package/contracts/SuperComposableYield/implementations/IRewardManager.sol +16 -0
  3. package/contracts/SuperComposableYield/implementations/RewardManager.sol +24 -5
  4. package/contracts/SuperComposableYield/implementations/SCYBase.sol +21 -1
  5. package/contracts/core/PendleMarket.sol +10 -18
  6. package/contracts/core/PendleMarketFactory.sol +49 -22
  7. package/contracts/core/PendleRouter.sol +74 -0
  8. package/contracts/core/PendleYieldToken.sol +20 -12
  9. package/contracts/core/{router/PendleRouterStaticUpg.sol → RouterStatic.sol} +6 -6
  10. package/contracts/core/actions/ActionCallback.sol +101 -0
  11. package/contracts/core/{router/PendleRouterCoreUpg.sol → actions/ActionCore.sol} +6 -10
  12. package/contracts/core/{router/PendleRouterYTUpg.sol → actions/ActionYT.sol} +6 -11
  13. package/contracts/core/{router/base/PendleRouterOTBaseUpg.sol → actions/base/ActionSCYAndOTBase.sol} +1 -5
  14. package/contracts/core/{router/base/PendleRouterSCYAndForgeBaseUpg.sol → actions/base/ActionSCYAndYOBase.sol} +6 -8
  15. package/contracts/core/{router/base/PendleRouterYTBaseUpg.sol → actions/base/ActionSCYAndYTBase.sol} +7 -99
  16. package/contracts/core/actions/base/ActionType.sol +11 -0
  17. package/contracts/interfaces/{IPRouterCore.sol → IPActionCore.sol} +1 -1
  18. package/contracts/interfaces/{IPRouterYT.sol → IPActionYT.sol} +1 -3
  19. package/contracts/interfaces/IPAllAction.sol +9 -0
  20. package/contracts/interfaces/IPMarketFactory.sol +11 -0
  21. package/contracts/interfaces/IPYieldToken.sol +21 -3
  22. package/contracts/libraries/math/MarketMathCore.sol +3 -2
  23. package/package.json +1 -1
  24. package/typechain-types/{PendleRouterYTBaseUpg.ts → ActionCallback.ts} +5 -5
  25. package/typechain-types/{PendleRouterCoreUpg.ts → ActionCore.ts} +5 -5
  26. package/typechain-types/{PendleRouterSCYAndForgeBaseUpg.ts → ActionSCYAndYOBase.ts} +5 -6
  27. package/typechain-types/{BoringOwnableData.ts → ActionSCYAndYTBase.ts} +21 -24
  28. package/typechain-types/{PendleRouterStaticUpg.ts → ActionStatic.ts} +5 -5
  29. package/typechain-types/{IPRouterYT.ts → ActionYT.ts} +27 -42
  30. package/typechain-types/IPActionAll.ts +1431 -0
  31. package/typechain-types/{IPRouterCore.ts → IPActionCore.ts} +5 -5
  32. package/typechain-types/{IPRouterView.ts → IPActionStatic.ts} +57 -5
  33. package/typechain-types/{PendleRouterYTUpg.ts → IPActionYT.ts} +5 -97
  34. package/typechain-types/IPAllAction.ts +1431 -0
  35. package/typechain-types/IPMarket.ts +3 -0
  36. package/typechain-types/IPMarketFactory.ts +46 -0
  37. package/typechain-types/IPYieldToken.ts +342 -14
  38. package/typechain-types/IRewardManager.ts +178 -0
  39. package/typechain-types/ISuperComposableYield.ts +97 -2
  40. package/typechain-types/PendleAaveV3SCY.ts +167 -66
  41. package/typechain-types/PendleBenQiErc20SCY.ts +167 -66
  42. package/typechain-types/PendleBtrflyScy.ts +97 -2
  43. package/typechain-types/PendleMarket.ts +3 -59
  44. package/typechain-types/PendleMarketFactory.ts +150 -24
  45. package/typechain-types/{PendleRouterProxy.ts → PendleRouter.ts} +29 -39
  46. package/typechain-types/PendleYearnVaultScy.ts +97 -2
  47. package/typechain-types/PendleYieldToken.ts +116 -101
  48. package/typechain-types/RewardManager.ts +48 -42
  49. package/typechain-types/RouterStatic.ts +828 -0
  50. package/typechain-types/SCYBase.ts +97 -2
  51. package/typechain-types/SCYBaseWithRewards.ts +167 -66
  52. package/typechain-types/factories/ActionCallback__factory.ts +116 -0
  53. package/typechain-types/factories/ActionCore__factory.ts +632 -0
  54. package/typechain-types/factories/{PendleRouterSCYAndForgeBaseUpg__factory.ts → ActionSCYAndYOBase__factory.ts} +8 -12
  55. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +52 -0
  56. package/typechain-types/factories/ActionStatic__factory.ts +308 -0
  57. package/typechain-types/factories/ActionYT__factory.ts +370 -0
  58. package/typechain-types/factories/IPActionAll__factory.ts +983 -0
  59. package/typechain-types/factories/{IPRouterCore__factory.ts → IPActionCore__factory.ts} +6 -6
  60. package/typechain-types/factories/{IPRouterView__factory.ts → IPActionStatic__factory.ts} +38 -6
  61. package/typechain-types/factories/{IPRouterYT__factory.ts → IPActionYT__factory.ts} +6 -29
  62. package/typechain-types/factories/IPAllAction__factory.ts +983 -0
  63. package/typechain-types/factories/IPMarketFactory__factory.ts +28 -0
  64. package/typechain-types/factories/IPMarket__factory.ts +7 -2
  65. package/typechain-types/factories/IPYieldToken__factory.ts +158 -1
  66. package/typechain-types/factories/IRewardManager__factory.ts +92 -0
  67. package/typechain-types/factories/ISuperComposableYield__factory.ts +68 -0
  68. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +102 -34
  69. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +102 -34
  70. package/typechain-types/factories/PendleBtrflyScy__factory.ts +69 -1
  71. package/typechain-types/factories/PendleMarketFactory__factory.ts +112 -17
  72. package/typechain-types/factories/PendleMarket__factory.ts +8 -69
  73. package/typechain-types/factories/PendleRouter__factory.ts +282 -0
  74. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +69 -1
  75. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  76. package/typechain-types/factories/PendleYieldToken__factory.ts +58 -58
  77. package/typechain-types/factories/RewardManager__factory.ts +18 -18
  78. package/typechain-types/factories/RouterStatic__factory.ts +883 -0
  79. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +101 -33
  80. package/typechain-types/factories/SCYBase__factory.ts +68 -0
  81. package/typechain-types/hardhat.d.ts +93 -75
  82. package/typechain-types/index.ts +22 -18
  83. package/contracts/core/router/PendleRouterProxy.sol +0 -84
  84. package/contracts/interfaces/IPFlashCallBack.sol +0 -10
  85. package/typechain-types/BoringOwnable.ts +0 -194
  86. package/typechain-types/BoringOwnableUpg.ts +0 -194
  87. package/typechain-types/BoringOwnableUpgData.ts +0 -100
  88. package/typechain-types/IPFlashCallback.ts +0 -115
  89. package/typechain-types/IPermissionsV2.ts +0 -87
  90. package/typechain-types/PendleRouterViewUpg.ts +0 -307
  91. package/typechain-types/PermissionsV2.ts +0 -87
  92. package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
  93. package/typechain-types/factories/BoringOwnableUpgData__factory.ts +0 -94
  94. package/typechain-types/factories/BoringOwnableUpg__factory.ts +0 -139
  95. package/typechain-types/factories/BoringOwnable__factory.ts +0 -149
  96. package/typechain-types/factories/IPFlashCallback__factory.ts +0 -49
  97. package/typechain-types/factories/IPermissionsV2__factory.ts +0 -39
  98. package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +0 -635
  99. package/typechain-types/factories/PendleRouterProxy__factory.ts +0 -285
  100. package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +0 -315
  101. package/typechain-types/factories/PendleRouterViewUpg__factory.ts +0 -265
  102. package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +0 -66
  103. package/typechain-types/factories/PendleRouterYTUpg__factory.ts +0 -422
  104. package/typechain-types/factories/PermissionsV2__factory.ts +0 -36
@@ -0,0 +1,828 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ ContractTransaction,
11
+ Overrides,
12
+ PopulatedTransaction,
13
+ Signer,
14
+ utils,
15
+ } from "ethers";
16
+ import { FunctionFragment, Result } from "@ethersproject/abi";
17
+ import { Listener, Provider } from "@ethersproject/providers";
18
+ import type {
19
+ TypedEventFilter,
20
+ TypedEvent,
21
+ TypedListener,
22
+ OnEvent,
23
+ } from "./common";
24
+
25
+ export type MarketStateStruct = {
26
+ totalOt: BigNumberish;
27
+ totalScy: BigNumberish;
28
+ totalLp: BigNumberish;
29
+ oracleRate: BigNumberish;
30
+ treasury: string;
31
+ scalarRoot: BigNumberish;
32
+ feeRateRoot: BigNumberish;
33
+ rateOracleTimeWindow: BigNumberish;
34
+ expiry: BigNumberish;
35
+ reserveFeePercent: BigNumberish;
36
+ lastImpliedRate: BigNumberish;
37
+ lastTradeTime: BigNumberish;
38
+ };
39
+
40
+ export type MarketStateStructOutput = [
41
+ BigNumber,
42
+ BigNumber,
43
+ BigNumber,
44
+ BigNumber,
45
+ string,
46
+ BigNumber,
47
+ BigNumber,
48
+ BigNumber,
49
+ BigNumber,
50
+ BigNumber,
51
+ BigNumber,
52
+ BigNumber
53
+ ] & {
54
+ totalOt: BigNumber;
55
+ totalScy: BigNumber;
56
+ totalLp: BigNumber;
57
+ oracleRate: BigNumber;
58
+ treasury: string;
59
+ scalarRoot: BigNumber;
60
+ feeRateRoot: BigNumber;
61
+ rateOracleTimeWindow: BigNumber;
62
+ expiry: BigNumber;
63
+ reserveFeePercent: BigNumber;
64
+ lastImpliedRate: BigNumber;
65
+ lastTradeTime: BigNumber;
66
+ };
67
+
68
+ export declare namespace IPRouterStatic {
69
+ export type TokenAmountStruct = { token: string; amount: BigNumberish };
70
+
71
+ export type TokenAmountStructOutput = [string, BigNumber] & {
72
+ token: string;
73
+ amount: BigNumber;
74
+ };
75
+
76
+ export type UserMarketInfoStruct = {
77
+ market: string;
78
+ lpBalance: BigNumberish;
79
+ otBalance: IPRouterStatic.TokenAmountStruct;
80
+ scyBalance: IPRouterStatic.TokenAmountStruct;
81
+ assetBalance: IPRouterStatic.TokenAmountStruct;
82
+ };
83
+
84
+ export type UserMarketInfoStructOutput = [
85
+ string,
86
+ BigNumber,
87
+ IPRouterStatic.TokenAmountStructOutput,
88
+ IPRouterStatic.TokenAmountStructOutput,
89
+ IPRouterStatic.TokenAmountStructOutput
90
+ ] & {
91
+ market: string;
92
+ lpBalance: BigNumber;
93
+ otBalance: IPRouterStatic.TokenAmountStructOutput;
94
+ scyBalance: IPRouterStatic.TokenAmountStructOutput;
95
+ assetBalance: IPRouterStatic.TokenAmountStructOutput;
96
+ };
97
+
98
+ export type UserYOInfoStruct = {
99
+ yt: string;
100
+ ot: string;
101
+ ytBalance: BigNumberish;
102
+ otBalance: BigNumberish;
103
+ unclaimedInterest: IPRouterStatic.TokenAmountStruct;
104
+ unclaimedRewards: IPRouterStatic.TokenAmountStruct[];
105
+ };
106
+
107
+ export type UserYOInfoStructOutput = [
108
+ string,
109
+ string,
110
+ BigNumber,
111
+ BigNumber,
112
+ IPRouterStatic.TokenAmountStructOutput,
113
+ IPRouterStatic.TokenAmountStructOutput[]
114
+ ] & {
115
+ yt: string;
116
+ ot: string;
117
+ ytBalance: BigNumber;
118
+ otBalance: BigNumber;
119
+ unclaimedInterest: IPRouterStatic.TokenAmountStructOutput;
120
+ unclaimedRewards: IPRouterStatic.TokenAmountStructOutput[];
121
+ };
122
+
123
+ export type RewardIndexStruct = { rewardToken: string; index: BigNumberish };
124
+
125
+ export type RewardIndexStructOutput = [string, BigNumber] & {
126
+ rewardToken: string;
127
+ index: BigNumber;
128
+ };
129
+ }
130
+
131
+ export interface RouterStaticInterface extends utils.Interface {
132
+ contractName: "RouterStatic";
133
+ functions: {
134
+ "addLiquidityStatic(address,uint256,uint256)": FunctionFragment;
135
+ "getMarketInfo(address)": FunctionFragment;
136
+ "getOtImpliedYield(address)": FunctionFragment;
137
+ "getPendleTokenType(address)": FunctionFragment;
138
+ "getUserMarketInfo(address,address)": FunctionFragment;
139
+ "getUserMarketPositions(address,address[])": FunctionFragment;
140
+ "getUserYOInfo(address,address)": FunctionFragment;
141
+ "getUserYOPositionsByTokens(address,address[])": FunctionFragment;
142
+ "getYO(address)": FunctionFragment;
143
+ "getYOInfo(address)": FunctionFragment;
144
+ "hasYOPosition((address,address,uint256,uint256,(address,uint256),(address,uint256)[]))": FunctionFragment;
145
+ "marketFactory()": FunctionFragment;
146
+ "removeLiquidityStatic(address,uint256)": FunctionFragment;
147
+ "scyIndex(address)": FunctionFragment;
148
+ "swapOtForScyStatic(address,uint256)": FunctionFragment;
149
+ "swapScyForOtStatic(address,uint256)": FunctionFragment;
150
+ "yieldContractFactory()": FunctionFragment;
151
+ };
152
+
153
+ encodeFunctionData(
154
+ functionFragment: "addLiquidityStatic",
155
+ values: [string, BigNumberish, BigNumberish]
156
+ ): string;
157
+ encodeFunctionData(
158
+ functionFragment: "getMarketInfo",
159
+ values: [string]
160
+ ): string;
161
+ encodeFunctionData(
162
+ functionFragment: "getOtImpliedYield",
163
+ values: [string]
164
+ ): string;
165
+ encodeFunctionData(
166
+ functionFragment: "getPendleTokenType",
167
+ values: [string]
168
+ ): string;
169
+ encodeFunctionData(
170
+ functionFragment: "getUserMarketInfo",
171
+ values: [string, string]
172
+ ): string;
173
+ encodeFunctionData(
174
+ functionFragment: "getUserMarketPositions",
175
+ values: [string, string[]]
176
+ ): string;
177
+ encodeFunctionData(
178
+ functionFragment: "getUserYOInfo",
179
+ values: [string, string]
180
+ ): string;
181
+ encodeFunctionData(
182
+ functionFragment: "getUserYOPositionsByTokens",
183
+ values: [string, string[]]
184
+ ): string;
185
+ encodeFunctionData(functionFragment: "getYO", values: [string]): string;
186
+ encodeFunctionData(functionFragment: "getYOInfo", values: [string]): string;
187
+ encodeFunctionData(
188
+ functionFragment: "hasYOPosition",
189
+ values: [IPRouterStatic.UserYOInfoStruct]
190
+ ): string;
191
+ encodeFunctionData(
192
+ functionFragment: "marketFactory",
193
+ values?: undefined
194
+ ): string;
195
+ encodeFunctionData(
196
+ functionFragment: "removeLiquidityStatic",
197
+ values: [string, BigNumberish]
198
+ ): string;
199
+ encodeFunctionData(functionFragment: "scyIndex", values: [string]): string;
200
+ encodeFunctionData(
201
+ functionFragment: "swapOtForScyStatic",
202
+ values: [string, BigNumberish]
203
+ ): string;
204
+ encodeFunctionData(
205
+ functionFragment: "swapScyForOtStatic",
206
+ values: [string, BigNumberish]
207
+ ): string;
208
+ encodeFunctionData(
209
+ functionFragment: "yieldContractFactory",
210
+ values?: undefined
211
+ ): string;
212
+
213
+ decodeFunctionResult(
214
+ functionFragment: "addLiquidityStatic",
215
+ data: BytesLike
216
+ ): Result;
217
+ decodeFunctionResult(
218
+ functionFragment: "getMarketInfo",
219
+ data: BytesLike
220
+ ): Result;
221
+ decodeFunctionResult(
222
+ functionFragment: "getOtImpliedYield",
223
+ data: BytesLike
224
+ ): Result;
225
+ decodeFunctionResult(
226
+ functionFragment: "getPendleTokenType",
227
+ data: BytesLike
228
+ ): Result;
229
+ decodeFunctionResult(
230
+ functionFragment: "getUserMarketInfo",
231
+ data: BytesLike
232
+ ): Result;
233
+ decodeFunctionResult(
234
+ functionFragment: "getUserMarketPositions",
235
+ data: BytesLike
236
+ ): Result;
237
+ decodeFunctionResult(
238
+ functionFragment: "getUserYOInfo",
239
+ data: BytesLike
240
+ ): Result;
241
+ decodeFunctionResult(
242
+ functionFragment: "getUserYOPositionsByTokens",
243
+ data: BytesLike
244
+ ): Result;
245
+ decodeFunctionResult(functionFragment: "getYO", data: BytesLike): Result;
246
+ decodeFunctionResult(functionFragment: "getYOInfo", data: BytesLike): Result;
247
+ decodeFunctionResult(
248
+ functionFragment: "hasYOPosition",
249
+ data: BytesLike
250
+ ): Result;
251
+ decodeFunctionResult(
252
+ functionFragment: "marketFactory",
253
+ data: BytesLike
254
+ ): Result;
255
+ decodeFunctionResult(
256
+ functionFragment: "removeLiquidityStatic",
257
+ data: BytesLike
258
+ ): Result;
259
+ decodeFunctionResult(functionFragment: "scyIndex", data: BytesLike): Result;
260
+ decodeFunctionResult(
261
+ functionFragment: "swapOtForScyStatic",
262
+ data: BytesLike
263
+ ): Result;
264
+ decodeFunctionResult(
265
+ functionFragment: "swapScyForOtStatic",
266
+ data: BytesLike
267
+ ): Result;
268
+ decodeFunctionResult(
269
+ functionFragment: "yieldContractFactory",
270
+ data: BytesLike
271
+ ): Result;
272
+
273
+ events: {};
274
+ }
275
+
276
+ export interface RouterStatic extends BaseContract {
277
+ contractName: "RouterStatic";
278
+ connect(signerOrProvider: Signer | Provider | string): this;
279
+ attach(addressOrName: string): this;
280
+ deployed(): Promise<this>;
281
+
282
+ interface: RouterStaticInterface;
283
+
284
+ queryFilter<TEvent extends TypedEvent>(
285
+ event: TypedEventFilter<TEvent>,
286
+ fromBlockOrBlockhash?: string | number | undefined,
287
+ toBlock?: string | number | undefined
288
+ ): Promise<Array<TEvent>>;
289
+
290
+ listeners<TEvent extends TypedEvent>(
291
+ eventFilter?: TypedEventFilter<TEvent>
292
+ ): Array<TypedListener<TEvent>>;
293
+ listeners(eventName?: string): Array<Listener>;
294
+ removeAllListeners<TEvent extends TypedEvent>(
295
+ eventFilter: TypedEventFilter<TEvent>
296
+ ): this;
297
+ removeAllListeners(eventName?: string): this;
298
+ off: OnEvent<this>;
299
+ on: OnEvent<this>;
300
+ once: OnEvent<this>;
301
+ removeListener: OnEvent<this>;
302
+
303
+ functions: {
304
+ addLiquidityStatic(
305
+ market: string,
306
+ scyDesired: BigNumberish,
307
+ otDesired: BigNumberish,
308
+ overrides?: Overrides & { from?: string | Promise<string> }
309
+ ): Promise<ContractTransaction>;
310
+
311
+ getMarketInfo(
312
+ market: string,
313
+ overrides?: CallOverrides
314
+ ): Promise<
315
+ [string, string, MarketStateStructOutput, BigNumber, BigNumber] & {
316
+ ot: string;
317
+ scy: string;
318
+ state: MarketStateStructOutput;
319
+ impliedYield: BigNumber;
320
+ exchangeRate: BigNumber;
321
+ }
322
+ >;
323
+
324
+ getOtImpliedYield(
325
+ market: string,
326
+ overrides?: CallOverrides
327
+ ): Promise<[BigNumber]>;
328
+
329
+ getPendleTokenType(
330
+ token: string,
331
+ overrides?: CallOverrides
332
+ ): Promise<
333
+ [boolean, boolean, boolean] & {
334
+ isOT: boolean;
335
+ isYT: boolean;
336
+ isMarket: boolean;
337
+ }
338
+ >;
339
+
340
+ getUserMarketInfo(
341
+ market: string,
342
+ user: string,
343
+ overrides?: CallOverrides
344
+ ): Promise<
345
+ [IPRouterStatic.UserMarketInfoStructOutput] & {
346
+ userMarketInfo: IPRouterStatic.UserMarketInfoStructOutput;
347
+ }
348
+ >;
349
+
350
+ getUserMarketPositions(
351
+ user: string,
352
+ markets: string[],
353
+ overrides?: CallOverrides
354
+ ): Promise<
355
+ [IPRouterStatic.UserMarketInfoStructOutput[]] & {
356
+ userMarketPositions: IPRouterStatic.UserMarketInfoStructOutput[];
357
+ }
358
+ >;
359
+
360
+ getUserYOInfo(
361
+ token: string,
362
+ user: string,
363
+ overrides?: CallOverrides
364
+ ): Promise<
365
+ [IPRouterStatic.UserYOInfoStructOutput] & {
366
+ userYOInfo: IPRouterStatic.UserYOInfoStructOutput;
367
+ }
368
+ >;
369
+
370
+ getUserYOPositionsByTokens(
371
+ user: string,
372
+ tokens: string[],
373
+ overrides?: CallOverrides
374
+ ): Promise<
375
+ [IPRouterStatic.UserYOInfoStructOutput[]] & {
376
+ userYOPositions: IPRouterStatic.UserYOInfoStructOutput[];
377
+ }
378
+ >;
379
+
380
+ getYO(
381
+ token: string,
382
+ overrides?: CallOverrides
383
+ ): Promise<[string, string] & { ot: string; yt: string }>;
384
+
385
+ getYOInfo(
386
+ token: string,
387
+ overrides?: Overrides & { from?: string | Promise<string> }
388
+ ): Promise<ContractTransaction>;
389
+
390
+ hasYOPosition(
391
+ userYOInfo: IPRouterStatic.UserYOInfoStruct,
392
+ overrides?: CallOverrides
393
+ ): Promise<[boolean] & { hasPosition: boolean }>;
394
+
395
+ marketFactory(overrides?: CallOverrides): Promise<[string]>;
396
+
397
+ removeLiquidityStatic(
398
+ market: string,
399
+ lpToRemove: BigNumberish,
400
+ overrides?: CallOverrides
401
+ ): Promise<
402
+ [BigNumber, BigNumber] & { netScyOut: BigNumber; netOtOut: BigNumber }
403
+ >;
404
+
405
+ scyIndex(
406
+ market: string,
407
+ overrides?: Overrides & { from?: string | Promise<string> }
408
+ ): Promise<ContractTransaction>;
409
+
410
+ swapOtForScyStatic(
411
+ market: string,
412
+ exactOtIn: BigNumberish,
413
+ overrides?: Overrides & { from?: string | Promise<string> }
414
+ ): Promise<ContractTransaction>;
415
+
416
+ swapScyForOtStatic(
417
+ market: string,
418
+ exactOtOut: BigNumberish,
419
+ overrides?: Overrides & { from?: string | Promise<string> }
420
+ ): Promise<ContractTransaction>;
421
+
422
+ yieldContractFactory(overrides?: CallOverrides): Promise<[string]>;
423
+ };
424
+
425
+ addLiquidityStatic(
426
+ market: string,
427
+ scyDesired: BigNumberish,
428
+ otDesired: BigNumberish,
429
+ overrides?: Overrides & { from?: string | Promise<string> }
430
+ ): Promise<ContractTransaction>;
431
+
432
+ getMarketInfo(
433
+ market: string,
434
+ overrides?: CallOverrides
435
+ ): Promise<
436
+ [string, string, MarketStateStructOutput, BigNumber, BigNumber] & {
437
+ ot: string;
438
+ scy: string;
439
+ state: MarketStateStructOutput;
440
+ impliedYield: BigNumber;
441
+ exchangeRate: BigNumber;
442
+ }
443
+ >;
444
+
445
+ getOtImpliedYield(
446
+ market: string,
447
+ overrides?: CallOverrides
448
+ ): Promise<BigNumber>;
449
+
450
+ getPendleTokenType(
451
+ token: string,
452
+ overrides?: CallOverrides
453
+ ): Promise<
454
+ [boolean, boolean, boolean] & {
455
+ isOT: boolean;
456
+ isYT: boolean;
457
+ isMarket: boolean;
458
+ }
459
+ >;
460
+
461
+ getUserMarketInfo(
462
+ market: string,
463
+ user: string,
464
+ overrides?: CallOverrides
465
+ ): Promise<IPRouterStatic.UserMarketInfoStructOutput>;
466
+
467
+ getUserMarketPositions(
468
+ user: string,
469
+ markets: string[],
470
+ overrides?: CallOverrides
471
+ ): Promise<IPRouterStatic.UserMarketInfoStructOutput[]>;
472
+
473
+ getUserYOInfo(
474
+ token: string,
475
+ user: string,
476
+ overrides?: CallOverrides
477
+ ): Promise<IPRouterStatic.UserYOInfoStructOutput>;
478
+
479
+ getUserYOPositionsByTokens(
480
+ user: string,
481
+ tokens: string[],
482
+ overrides?: CallOverrides
483
+ ): Promise<IPRouterStatic.UserYOInfoStructOutput[]>;
484
+
485
+ getYO(
486
+ token: string,
487
+ overrides?: CallOverrides
488
+ ): Promise<[string, string] & { ot: string; yt: string }>;
489
+
490
+ getYOInfo(
491
+ token: string,
492
+ overrides?: Overrides & { from?: string | Promise<string> }
493
+ ): Promise<ContractTransaction>;
494
+
495
+ hasYOPosition(
496
+ userYOInfo: IPRouterStatic.UserYOInfoStruct,
497
+ overrides?: CallOverrides
498
+ ): Promise<boolean>;
499
+
500
+ marketFactory(overrides?: CallOverrides): Promise<string>;
501
+
502
+ removeLiquidityStatic(
503
+ market: string,
504
+ lpToRemove: BigNumberish,
505
+ overrides?: CallOverrides
506
+ ): Promise<
507
+ [BigNumber, BigNumber] & { netScyOut: BigNumber; netOtOut: BigNumber }
508
+ >;
509
+
510
+ scyIndex(
511
+ market: string,
512
+ overrides?: Overrides & { from?: string | Promise<string> }
513
+ ): Promise<ContractTransaction>;
514
+
515
+ swapOtForScyStatic(
516
+ market: string,
517
+ exactOtIn: BigNumberish,
518
+ overrides?: Overrides & { from?: string | Promise<string> }
519
+ ): Promise<ContractTransaction>;
520
+
521
+ swapScyForOtStatic(
522
+ market: string,
523
+ exactOtOut: BigNumberish,
524
+ overrides?: Overrides & { from?: string | Promise<string> }
525
+ ): Promise<ContractTransaction>;
526
+
527
+ yieldContractFactory(overrides?: CallOverrides): Promise<string>;
528
+
529
+ callStatic: {
530
+ addLiquidityStatic(
531
+ market: string,
532
+ scyDesired: BigNumberish,
533
+ otDesired: BigNumberish,
534
+ overrides?: CallOverrides
535
+ ): Promise<
536
+ [BigNumber, BigNumber, BigNumber] & {
537
+ netLpOut: BigNumber;
538
+ scyUsed: BigNumber;
539
+ otUsed: BigNumber;
540
+ }
541
+ >;
542
+
543
+ getMarketInfo(
544
+ market: string,
545
+ overrides?: CallOverrides
546
+ ): Promise<
547
+ [string, string, MarketStateStructOutput, BigNumber, BigNumber] & {
548
+ ot: string;
549
+ scy: string;
550
+ state: MarketStateStructOutput;
551
+ impliedYield: BigNumber;
552
+ exchangeRate: BigNumber;
553
+ }
554
+ >;
555
+
556
+ getOtImpliedYield(
557
+ market: string,
558
+ overrides?: CallOverrides
559
+ ): Promise<BigNumber>;
560
+
561
+ getPendleTokenType(
562
+ token: string,
563
+ overrides?: CallOverrides
564
+ ): Promise<
565
+ [boolean, boolean, boolean] & {
566
+ isOT: boolean;
567
+ isYT: boolean;
568
+ isMarket: boolean;
569
+ }
570
+ >;
571
+
572
+ getUserMarketInfo(
573
+ market: string,
574
+ user: string,
575
+ overrides?: CallOverrides
576
+ ): Promise<IPRouterStatic.UserMarketInfoStructOutput>;
577
+
578
+ getUserMarketPositions(
579
+ user: string,
580
+ markets: string[],
581
+ overrides?: CallOverrides
582
+ ): Promise<IPRouterStatic.UserMarketInfoStructOutput[]>;
583
+
584
+ getUserYOInfo(
585
+ token: string,
586
+ user: string,
587
+ overrides?: CallOverrides
588
+ ): Promise<IPRouterStatic.UserYOInfoStructOutput>;
589
+
590
+ getUserYOPositionsByTokens(
591
+ user: string,
592
+ tokens: string[],
593
+ overrides?: CallOverrides
594
+ ): Promise<IPRouterStatic.UserYOInfoStructOutput[]>;
595
+
596
+ getYO(
597
+ token: string,
598
+ overrides?: CallOverrides
599
+ ): Promise<[string, string] & { ot: string; yt: string }>;
600
+
601
+ getYOInfo(
602
+ token: string,
603
+ overrides?: CallOverrides
604
+ ): Promise<
605
+ [BigNumber, BigNumber, IPRouterStatic.RewardIndexStructOutput[]] & {
606
+ exchangeRate: BigNumber;
607
+ totalSupply: BigNumber;
608
+ rewardIndexes: IPRouterStatic.RewardIndexStructOutput[];
609
+ }
610
+ >;
611
+
612
+ hasYOPosition(
613
+ userYOInfo: IPRouterStatic.UserYOInfoStruct,
614
+ overrides?: CallOverrides
615
+ ): Promise<boolean>;
616
+
617
+ marketFactory(overrides?: CallOverrides): Promise<string>;
618
+
619
+ removeLiquidityStatic(
620
+ market: string,
621
+ lpToRemove: BigNumberish,
622
+ overrides?: CallOverrides
623
+ ): Promise<
624
+ [BigNumber, BigNumber] & { netScyOut: BigNumber; netOtOut: BigNumber }
625
+ >;
626
+
627
+ scyIndex(market: string, overrides?: CallOverrides): Promise<BigNumber>;
628
+
629
+ swapOtForScyStatic(
630
+ market: string,
631
+ exactOtIn: BigNumberish,
632
+ overrides?: CallOverrides
633
+ ): Promise<
634
+ [BigNumber, BigNumber] & { netScyOut: BigNumber; netScyFee: BigNumber }
635
+ >;
636
+
637
+ swapScyForOtStatic(
638
+ market: string,
639
+ exactOtOut: BigNumberish,
640
+ overrides?: CallOverrides
641
+ ): Promise<
642
+ [BigNumber, BigNumber] & { netScyIn: BigNumber; netScyFee: BigNumber }
643
+ >;
644
+
645
+ yieldContractFactory(overrides?: CallOverrides): Promise<string>;
646
+ };
647
+
648
+ filters: {};
649
+
650
+ estimateGas: {
651
+ addLiquidityStatic(
652
+ market: string,
653
+ scyDesired: BigNumberish,
654
+ otDesired: BigNumberish,
655
+ overrides?: Overrides & { from?: string | Promise<string> }
656
+ ): Promise<BigNumber>;
657
+
658
+ getMarketInfo(
659
+ market: string,
660
+ overrides?: CallOverrides
661
+ ): Promise<BigNumber>;
662
+
663
+ getOtImpliedYield(
664
+ market: string,
665
+ overrides?: CallOverrides
666
+ ): Promise<BigNumber>;
667
+
668
+ getPendleTokenType(
669
+ token: string,
670
+ overrides?: CallOverrides
671
+ ): Promise<BigNumber>;
672
+
673
+ getUserMarketInfo(
674
+ market: string,
675
+ user: string,
676
+ overrides?: CallOverrides
677
+ ): Promise<BigNumber>;
678
+
679
+ getUserMarketPositions(
680
+ user: string,
681
+ markets: string[],
682
+ overrides?: CallOverrides
683
+ ): Promise<BigNumber>;
684
+
685
+ getUserYOInfo(
686
+ token: string,
687
+ user: string,
688
+ overrides?: CallOverrides
689
+ ): Promise<BigNumber>;
690
+
691
+ getUserYOPositionsByTokens(
692
+ user: string,
693
+ tokens: string[],
694
+ overrides?: CallOverrides
695
+ ): Promise<BigNumber>;
696
+
697
+ getYO(token: string, overrides?: CallOverrides): Promise<BigNumber>;
698
+
699
+ getYOInfo(
700
+ token: string,
701
+ overrides?: Overrides & { from?: string | Promise<string> }
702
+ ): Promise<BigNumber>;
703
+
704
+ hasYOPosition(
705
+ userYOInfo: IPRouterStatic.UserYOInfoStruct,
706
+ overrides?: CallOverrides
707
+ ): Promise<BigNumber>;
708
+
709
+ marketFactory(overrides?: CallOverrides): Promise<BigNumber>;
710
+
711
+ removeLiquidityStatic(
712
+ market: string,
713
+ lpToRemove: BigNumberish,
714
+ overrides?: CallOverrides
715
+ ): Promise<BigNumber>;
716
+
717
+ scyIndex(
718
+ market: string,
719
+ overrides?: Overrides & { from?: string | Promise<string> }
720
+ ): Promise<BigNumber>;
721
+
722
+ swapOtForScyStatic(
723
+ market: string,
724
+ exactOtIn: BigNumberish,
725
+ overrides?: Overrides & { from?: string | Promise<string> }
726
+ ): Promise<BigNumber>;
727
+
728
+ swapScyForOtStatic(
729
+ market: string,
730
+ exactOtOut: BigNumberish,
731
+ overrides?: Overrides & { from?: string | Promise<string> }
732
+ ): Promise<BigNumber>;
733
+
734
+ yieldContractFactory(overrides?: CallOverrides): Promise<BigNumber>;
735
+ };
736
+
737
+ populateTransaction: {
738
+ addLiquidityStatic(
739
+ market: string,
740
+ scyDesired: BigNumberish,
741
+ otDesired: BigNumberish,
742
+ overrides?: Overrides & { from?: string | Promise<string> }
743
+ ): Promise<PopulatedTransaction>;
744
+
745
+ getMarketInfo(
746
+ market: string,
747
+ overrides?: CallOverrides
748
+ ): Promise<PopulatedTransaction>;
749
+
750
+ getOtImpliedYield(
751
+ market: string,
752
+ overrides?: CallOverrides
753
+ ): Promise<PopulatedTransaction>;
754
+
755
+ getPendleTokenType(
756
+ token: string,
757
+ overrides?: CallOverrides
758
+ ): Promise<PopulatedTransaction>;
759
+
760
+ getUserMarketInfo(
761
+ market: string,
762
+ user: string,
763
+ overrides?: CallOverrides
764
+ ): Promise<PopulatedTransaction>;
765
+
766
+ getUserMarketPositions(
767
+ user: string,
768
+ markets: string[],
769
+ overrides?: CallOverrides
770
+ ): Promise<PopulatedTransaction>;
771
+
772
+ getUserYOInfo(
773
+ token: string,
774
+ user: string,
775
+ overrides?: CallOverrides
776
+ ): Promise<PopulatedTransaction>;
777
+
778
+ getUserYOPositionsByTokens(
779
+ user: string,
780
+ tokens: string[],
781
+ overrides?: CallOverrides
782
+ ): Promise<PopulatedTransaction>;
783
+
784
+ getYO(
785
+ token: string,
786
+ overrides?: CallOverrides
787
+ ): Promise<PopulatedTransaction>;
788
+
789
+ getYOInfo(
790
+ token: string,
791
+ overrides?: Overrides & { from?: string | Promise<string> }
792
+ ): Promise<PopulatedTransaction>;
793
+
794
+ hasYOPosition(
795
+ userYOInfo: IPRouterStatic.UserYOInfoStruct,
796
+ overrides?: CallOverrides
797
+ ): Promise<PopulatedTransaction>;
798
+
799
+ marketFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
800
+
801
+ removeLiquidityStatic(
802
+ market: string,
803
+ lpToRemove: BigNumberish,
804
+ overrides?: CallOverrides
805
+ ): Promise<PopulatedTransaction>;
806
+
807
+ scyIndex(
808
+ market: string,
809
+ overrides?: Overrides & { from?: string | Promise<string> }
810
+ ): Promise<PopulatedTransaction>;
811
+
812
+ swapOtForScyStatic(
813
+ market: string,
814
+ exactOtIn: BigNumberish,
815
+ overrides?: Overrides & { from?: string | Promise<string> }
816
+ ): Promise<PopulatedTransaction>;
817
+
818
+ swapScyForOtStatic(
819
+ market: string,
820
+ exactOtOut: BigNumberish,
821
+ overrides?: Overrides & { from?: string | Promise<string> }
822
+ ): Promise<PopulatedTransaction>;
823
+
824
+ yieldContractFactory(
825
+ overrides?: CallOverrides
826
+ ): Promise<PopulatedTransaction>;
827
+ };
828
+ }