@pendle/core-v2 0.2.2 → 0.3.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 (87) hide show
  1. package/contracts/SuperComposableYield/ISuperComposableYield.sol +1 -5
  2. package/contracts/SuperComposableYield/implementations/RewardManager.sol +2 -2
  3. package/contracts/SuperComposableYield/implementations/SCYBase.sol +2 -2
  4. package/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol +4 -7
  5. package/contracts/core/PendleMarket.sol +24 -22
  6. package/contracts/core/PendleMarketFactory.sol +7 -6
  7. package/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol +1 -1
  8. package/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol +2 -7
  9. package/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol +2 -7
  10. package/contracts/core/PendleYieldContractFactory.sol +12 -7
  11. package/contracts/core/PendleYieldToken.sol +93 -55
  12. package/contracts/core/router/PendleRouterCoreUpg.sol +35 -21
  13. package/contracts/core/router/PendleRouterProxy.sol +12 -6
  14. package/contracts/core/router/{PendleRouterStatic.sol → PendleRouterStaticUpg.sol} +43 -18
  15. package/contracts/core/router/PendleRouterYTUpg.sol +47 -13
  16. package/contracts/core/router/base/PendleRouterOTBaseUpg.sol +22 -32
  17. package/contracts/core/router/base/PendleRouterSCYAndForgeBaseUpg.sol +1 -1
  18. package/contracts/core/router/base/PendleRouterYTBaseUpg.sol +62 -43
  19. package/contracts/interfaces/IPMarket.sol +4 -2
  20. package/contracts/interfaces/{IPPermissionsV2.sol → IPPermissionsV2Upg.sol} +1 -1
  21. package/contracts/interfaces/IPRouterCore.sol +24 -21
  22. package/contracts/interfaces/IPRouterStatic.sol +10 -1
  23. package/contracts/interfaces/IPRouterYT.sol +16 -4
  24. package/contracts/interfaces/IPYieldContractFactory.sol +4 -0
  25. package/contracts/interfaces/IPYieldToken.sol +2 -4
  26. package/contracts/libraries/SCYIndex.sol +3 -3
  27. package/contracts/libraries/math/LogExpMath.sol +1 -90
  28. package/contracts/libraries/math/MarketApproxLib.sol +336 -94
  29. package/contracts/libraries/math/MarketMathAux.sol +101 -0
  30. package/contracts/libraries/math/MarketMathCore.sol +423 -0
  31. package/contracts/libraries/math/Math.sol +144 -0
  32. package/contracts/{core/misc → periphery}/PendleJoeSwapHelperUpg.sol +2 -2
  33. package/contracts/periphery/{PermissionsV2.sol → PermissionsV2Upg.sol} +2 -2
  34. package/package.json +1 -1
  35. package/typechain-types/IPMarket.ts +22 -11
  36. package/typechain-types/IPRouterCore.ts +68 -58
  37. package/typechain-types/IPRouterStatic.ts +52 -0
  38. package/typechain-types/IPRouterYT.ts +96 -12
  39. package/typechain-types/IPYieldContractFactory.ts +32 -0
  40. package/typechain-types/IPYieldToken.ts +14 -48
  41. package/typechain-types/IPermissionsV2Upg.ts +87 -0
  42. package/typechain-types/ISuperComposableYield.ts +3 -11
  43. package/typechain-types/OwnableUpgradeable.ts +165 -0
  44. package/typechain-types/PendleAaveV3SCY.ts +3 -11
  45. package/typechain-types/PendleBenQiErc20SCY.ts +3 -11
  46. package/typechain-types/PendleBtrflyScy.ts +3 -11
  47. package/typechain-types/PendleMarket.ts +22 -11
  48. package/typechain-types/PendleRouterCoreUpg.ts +66 -48
  49. package/typechain-types/PendleRouterProxy.ts +15 -118
  50. package/typechain-types/PendleRouterStaticUpg.ts +92 -0
  51. package/typechain-types/PendleRouterYTUpg.ts +96 -12
  52. package/typechain-types/PendleYearnVaultScy.ts +3 -11
  53. package/typechain-types/PendleYieldContractFactory.ts +40 -113
  54. package/typechain-types/PendleYieldToken.ts +106 -7
  55. package/typechain-types/PermissionsV2Upg.ts +87 -0
  56. package/typechain-types/SCYBase.ts +3 -11
  57. package/typechain-types/SCYBaseWithRewards.ts +3 -11
  58. package/typechain-types/factories/IPMarket__factory.ts +8 -2
  59. package/typechain-types/factories/IPRouterCore__factory.ts +38 -23
  60. package/typechain-types/factories/IPRouterStatic__factory.ts +29 -0
  61. package/typechain-types/factories/IPRouterYT__factory.ts +65 -6
  62. package/typechain-types/factories/IPYieldContractFactory__factory.ts +38 -0
  63. package/typechain-types/factories/IPYieldToken__factory.ts +1 -20
  64. package/typechain-types/factories/IPermissionsV2Upg__factory.ts +39 -0
  65. package/typechain-types/factories/ISuperComposableYield__factory.ts +0 -5
  66. package/typechain-types/factories/OwnableUpgradeable__factory.ts +78 -0
  67. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -6
  68. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +1 -6
  69. package/typechain-types/factories/PendleBtrflyScy__factory.ts +1 -6
  70. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  71. package/typechain-types/factories/PendleMarket__factory.ts +9 -3
  72. package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +26 -11
  73. package/typechain-types/factories/PendleRouterProxy__factory.ts +14 -67
  74. package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +63 -17
  75. package/typechain-types/factories/PendleRouterYTUpg__factory.ts +66 -7
  76. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +1 -6
  77. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +39 -54
  78. package/typechain-types/factories/PendleYieldToken__factory.ts +53 -2
  79. package/typechain-types/factories/PermissionsV2Upg__factory.ts +39 -0
  80. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +0 -5
  81. package/typechain-types/factories/SCYBase__factory.ts +0 -5
  82. package/typechain-types/hardhat.d.ts +26 -53
  83. package/typechain-types/index.ts +8 -14
  84. package/contracts/core/misc/BoringOwnable.sol +0 -62
  85. package/contracts/core/misc/BoringOwnableUpg.sol +0 -64
  86. package/contracts/libraries/math/FixedPoint.sol +0 -205
  87. package/contracts/libraries/math/MarketMathLib.sol +0 -614
@@ -33,9 +33,9 @@ export interface IPRouterCoreInterface extends utils.Interface {
33
33
  "removeLiquidity(address,address,uint256,uint256,uint256)": FunctionFragment;
34
34
  "swapExactOtForRawToken(uint256,address,address[],address,uint256)": FunctionFragment;
35
35
  "swapExactOtForScy(address,address,uint256,uint256)": FunctionFragment;
36
- "swapExactRawTokenForOt(uint256,address,address[],address,uint256,uint256,uint256)": FunctionFragment;
37
- "swapExactScyForOt(address,address,uint256,uint256,uint256,uint256)": FunctionFragment;
38
- "swapOtForExactScy(address,address,uint256,uint256,uint256,uint256)": FunctionFragment;
36
+ "swapExactRawTokenForOt(uint256,address,address[],address,uint256,uint256,uint256,uint256)": FunctionFragment;
37
+ "swapExactScyForOt(address,address,uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
38
+ "swapOtForExactScy(address,address,uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
39
39
  "swapScyForExactOt(address,address,uint256,uint256)": FunctionFragment;
40
40
  };
41
41
 
@@ -80,6 +80,7 @@ export interface IPRouterCoreInterface extends utils.Interface {
80
80
  string,
81
81
  BigNumberish,
82
82
  BigNumberish,
83
+ BigNumberish,
83
84
  BigNumberish
84
85
  ]
85
86
  ): string;
@@ -91,6 +92,7 @@ export interface IPRouterCoreInterface extends utils.Interface {
91
92
  BigNumberish,
92
93
  BigNumberish,
93
94
  BigNumberish,
95
+ BigNumberish,
94
96
  BigNumberish
95
97
  ]
96
98
  ): string;
@@ -102,6 +104,7 @@ export interface IPRouterCoreInterface extends utils.Interface {
102
104
  BigNumberish,
103
105
  BigNumberish,
104
106
  BigNumberish,
107
+ BigNumberish,
105
108
  BigNumberish
106
109
  ]
107
110
  ): string;
@@ -266,9 +269,10 @@ export interface IPRouterCore extends BaseContract {
266
269
  receiver: string,
267
270
  path: string[],
268
271
  market: string,
269
- minOtOut: BigNumberish,
270
- netOtOutGuessMin: BigNumberish,
271
- netOtOutGuessMax: BigNumberish,
272
+ otOutguessMin: BigNumberish,
273
+ otOutguessMax: BigNumberish,
274
+ maxIteration: BigNumberish,
275
+ eps: BigNumberish,
272
276
  overrides?: Overrides & { from?: string | Promise<string> }
273
277
  ): Promise<ContractTransaction>;
274
278
 
@@ -276,19 +280,21 @@ export interface IPRouterCore extends BaseContract {
276
280
  receiver: string,
277
281
  market: string,
278
282
  exactScyIn: BigNumberish,
279
- minOtOut: BigNumberish,
280
- netOtOutGuessMin: BigNumberish,
281
- netOtOutGuessMax: BigNumberish,
283
+ otOutguessMin: BigNumberish,
284
+ otOutguessMax: BigNumberish,
285
+ maxIteration: BigNumberish,
286
+ eps: BigNumberish,
282
287
  overrides?: Overrides & { from?: string | Promise<string> }
283
288
  ): Promise<ContractTransaction>;
284
289
 
285
290
  swapOtForExactScy(
286
291
  receiver: string,
287
292
  market: string,
288
- maxOtIn: BigNumberish,
289
293
  exactScyOut: BigNumberish,
290
- netOtInGuessMin: BigNumberish,
291
- netOtInGuessMax: BigNumberish,
294
+ otInGuessMin: BigNumberish,
295
+ otInGuessMax: BigNumberish,
296
+ maxIteration: BigNumberish,
297
+ eps: BigNumberish,
292
298
  overrides?: Overrides & { from?: string | Promise<string> }
293
299
  ): Promise<ContractTransaction>;
294
300
 
@@ -377,9 +383,10 @@ export interface IPRouterCore extends BaseContract {
377
383
  receiver: string,
378
384
  path: string[],
379
385
  market: string,
380
- minOtOut: BigNumberish,
381
- netOtOutGuessMin: BigNumberish,
382
- netOtOutGuessMax: BigNumberish,
386
+ otOutguessMin: BigNumberish,
387
+ otOutguessMax: BigNumberish,
388
+ maxIteration: BigNumberish,
389
+ eps: BigNumberish,
383
390
  overrides?: Overrides & { from?: string | Promise<string> }
384
391
  ): Promise<ContractTransaction>;
385
392
 
@@ -387,19 +394,21 @@ export interface IPRouterCore extends BaseContract {
387
394
  receiver: string,
388
395
  market: string,
389
396
  exactScyIn: BigNumberish,
390
- minOtOut: BigNumberish,
391
- netOtOutGuessMin: BigNumberish,
392
- netOtOutGuessMax: BigNumberish,
397
+ otOutguessMin: BigNumberish,
398
+ otOutguessMax: BigNumberish,
399
+ maxIteration: BigNumberish,
400
+ eps: BigNumberish,
393
401
  overrides?: Overrides & { from?: string | Promise<string> }
394
402
  ): Promise<ContractTransaction>;
395
403
 
396
404
  swapOtForExactScy(
397
405
  receiver: string,
398
406
  market: string,
399
- maxOtIn: BigNumberish,
400
407
  exactScyOut: BigNumberish,
401
- netOtInGuessMin: BigNumberish,
402
- netOtInGuessMax: BigNumberish,
408
+ otInGuessMin: BigNumberish,
409
+ otInGuessMax: BigNumberish,
410
+ maxIteration: BigNumberish,
411
+ eps: BigNumberish,
403
412
  overrides?: Overrides & { from?: string | Promise<string> }
404
413
  ): Promise<ContractTransaction>;
405
414
 
@@ -419,13 +428,7 @@ export interface IPRouterCore extends BaseContract {
419
428
  otDesired: BigNumberish,
420
429
  minLpOut: BigNumberish,
421
430
  overrides?: CallOverrides
422
- ): Promise<
423
- [BigNumber, BigNumber, BigNumber] & {
424
- netLpOut: BigNumber;
425
- scyUsed: BigNumber;
426
- otUsed: BigNumber;
427
- }
428
- >;
431
+ ): Promise<[BigNumber, BigNumber, BigNumber]>;
429
432
 
430
433
  mintScyFromRawToken(
431
434
  netRawTokenIn: BigNumberish,
@@ -470,9 +473,7 @@ export interface IPRouterCore extends BaseContract {
470
473
  scyOutMin: BigNumberish,
471
474
  otOutMin: BigNumberish,
472
475
  overrides?: CallOverrides
473
- ): Promise<
474
- [BigNumber, BigNumber] & { netScyOut: BigNumber; netOtOut: BigNumber }
475
- >;
476
+ ): Promise<[BigNumber, BigNumber]>;
476
477
 
477
478
  swapExactOtForRawToken(
478
479
  exactOtIn: BigNumberish,
@@ -496,9 +497,10 @@ export interface IPRouterCore extends BaseContract {
496
497
  receiver: string,
497
498
  path: string[],
498
499
  market: string,
499
- minOtOut: BigNumberish,
500
- netOtOutGuessMin: BigNumberish,
501
- netOtOutGuessMax: BigNumberish,
500
+ otOutguessMin: BigNumberish,
501
+ otOutguessMax: BigNumberish,
502
+ maxIteration: BigNumberish,
503
+ eps: BigNumberish,
502
504
  overrides?: CallOverrides
503
505
  ): Promise<BigNumber>;
504
506
 
@@ -506,19 +508,21 @@ export interface IPRouterCore extends BaseContract {
506
508
  receiver: string,
507
509
  market: string,
508
510
  exactScyIn: BigNumberish,
509
- minOtOut: BigNumberish,
510
- netOtOutGuessMin: BigNumberish,
511
- netOtOutGuessMax: BigNumberish,
511
+ otOutguessMin: BigNumberish,
512
+ otOutguessMax: BigNumberish,
513
+ maxIteration: BigNumberish,
514
+ eps: BigNumberish,
512
515
  overrides?: CallOverrides
513
516
  ): Promise<BigNumber>;
514
517
 
515
518
  swapOtForExactScy(
516
519
  receiver: string,
517
520
  market: string,
518
- maxOtIn: BigNumberish,
519
521
  exactScyOut: BigNumberish,
520
- netOtInGuessMin: BigNumberish,
521
- netOtInGuessMax: BigNumberish,
522
+ otInGuessMin: BigNumberish,
523
+ otInGuessMax: BigNumberish,
524
+ maxIteration: BigNumberish,
525
+ eps: BigNumberish,
522
526
  overrides?: CallOverrides
523
527
  ): Promise<BigNumber>;
524
528
 
@@ -610,9 +614,10 @@ export interface IPRouterCore extends BaseContract {
610
614
  receiver: string,
611
615
  path: string[],
612
616
  market: string,
613
- minOtOut: BigNumberish,
614
- netOtOutGuessMin: BigNumberish,
615
- netOtOutGuessMax: BigNumberish,
617
+ otOutguessMin: BigNumberish,
618
+ otOutguessMax: BigNumberish,
619
+ maxIteration: BigNumberish,
620
+ eps: BigNumberish,
616
621
  overrides?: Overrides & { from?: string | Promise<string> }
617
622
  ): Promise<BigNumber>;
618
623
 
@@ -620,19 +625,21 @@ export interface IPRouterCore extends BaseContract {
620
625
  receiver: string,
621
626
  market: string,
622
627
  exactScyIn: BigNumberish,
623
- minOtOut: BigNumberish,
624
- netOtOutGuessMin: BigNumberish,
625
- netOtOutGuessMax: BigNumberish,
628
+ otOutguessMin: BigNumberish,
629
+ otOutguessMax: BigNumberish,
630
+ maxIteration: BigNumberish,
631
+ eps: BigNumberish,
626
632
  overrides?: Overrides & { from?: string | Promise<string> }
627
633
  ): Promise<BigNumber>;
628
634
 
629
635
  swapOtForExactScy(
630
636
  receiver: string,
631
637
  market: string,
632
- maxOtIn: BigNumberish,
633
638
  exactScyOut: BigNumberish,
634
- netOtInGuessMin: BigNumberish,
635
- netOtInGuessMax: BigNumberish,
639
+ otInGuessMin: BigNumberish,
640
+ otInGuessMax: BigNumberish,
641
+ maxIteration: BigNumberish,
642
+ eps: BigNumberish,
636
643
  overrides?: Overrides & { from?: string | Promise<string> }
637
644
  ): Promise<BigNumber>;
638
645
 
@@ -722,9 +729,10 @@ export interface IPRouterCore extends BaseContract {
722
729
  receiver: string,
723
730
  path: string[],
724
731
  market: string,
725
- minOtOut: BigNumberish,
726
- netOtOutGuessMin: BigNumberish,
727
- netOtOutGuessMax: BigNumberish,
732
+ otOutguessMin: BigNumberish,
733
+ otOutguessMax: BigNumberish,
734
+ maxIteration: BigNumberish,
735
+ eps: BigNumberish,
728
736
  overrides?: Overrides & { from?: string | Promise<string> }
729
737
  ): Promise<PopulatedTransaction>;
730
738
 
@@ -732,19 +740,21 @@ export interface IPRouterCore extends BaseContract {
732
740
  receiver: string,
733
741
  market: string,
734
742
  exactScyIn: BigNumberish,
735
- minOtOut: BigNumberish,
736
- netOtOutGuessMin: BigNumberish,
737
- netOtOutGuessMax: BigNumberish,
743
+ otOutguessMin: BigNumberish,
744
+ otOutguessMax: BigNumberish,
745
+ maxIteration: BigNumberish,
746
+ eps: BigNumberish,
738
747
  overrides?: Overrides & { from?: string | Promise<string> }
739
748
  ): Promise<PopulatedTransaction>;
740
749
 
741
750
  swapOtForExactScy(
742
751
  receiver: string,
743
752
  market: string,
744
- maxOtIn: BigNumberish,
745
753
  exactScyOut: BigNumberish,
746
- netOtInGuessMin: BigNumberish,
747
- netOtInGuessMax: BigNumberish,
754
+ otInGuessMin: BigNumberish,
755
+ otInGuessMax: BigNumberish,
756
+ maxIteration: BigNumberish,
757
+ eps: BigNumberish,
748
758
  overrides?: Overrides & { from?: string | Promise<string> }
749
759
  ): Promise<PopulatedTransaction>;
750
760
 
@@ -27,6 +27,7 @@ export interface IPRouterStaticInterface extends utils.Interface {
27
27
  functions: {
28
28
  "addLiquidityStatic(address,uint256,uint256)": FunctionFragment;
29
29
  "getOtImpliedYield(address)": FunctionFragment;
30
+ "getPendleTokenType(address)": FunctionFragment;
30
31
  "removeLiquidityStatic(address,uint256)": FunctionFragment;
31
32
  "scyIndex(address)": FunctionFragment;
32
33
  "swapOtForScyStatic(address,uint256)": FunctionFragment;
@@ -41,6 +42,10 @@ export interface IPRouterStaticInterface extends utils.Interface {
41
42
  functionFragment: "getOtImpliedYield",
42
43
  values: [string]
43
44
  ): string;
45
+ encodeFunctionData(
46
+ functionFragment: "getPendleTokenType",
47
+ values: [string]
48
+ ): string;
44
49
  encodeFunctionData(
45
50
  functionFragment: "removeLiquidityStatic",
46
51
  values: [string, BigNumberish]
@@ -63,6 +68,10 @@ export interface IPRouterStaticInterface extends utils.Interface {
63
68
  functionFragment: "getOtImpliedYield",
64
69
  data: BytesLike
65
70
  ): Result;
71
+ decodeFunctionResult(
72
+ functionFragment: "getPendleTokenType",
73
+ data: BytesLike
74
+ ): Result;
66
75
  decodeFunctionResult(
67
76
  functionFragment: "removeLiquidityStatic",
68
77
  data: BytesLike
@@ -120,6 +129,17 @@ export interface IPRouterStatic extends BaseContract {
120
129
  overrides?: CallOverrides
121
130
  ): Promise<[BigNumber]>;
122
131
 
132
+ getPendleTokenType(
133
+ token: string,
134
+ overrides?: CallOverrides
135
+ ): Promise<
136
+ [boolean, boolean, boolean] & {
137
+ isOT: boolean;
138
+ isYT: boolean;
139
+ isMarket: boolean;
140
+ }
141
+ >;
142
+
123
143
  removeLiquidityStatic(
124
144
  market: string,
125
145
  lpToRemove: BigNumberish,
@@ -158,6 +178,17 @@ export interface IPRouterStatic extends BaseContract {
158
178
  overrides?: CallOverrides
159
179
  ): Promise<BigNumber>;
160
180
 
181
+ getPendleTokenType(
182
+ token: string,
183
+ overrides?: CallOverrides
184
+ ): Promise<
185
+ [boolean, boolean, boolean] & {
186
+ isOT: boolean;
187
+ isYT: boolean;
188
+ isMarket: boolean;
189
+ }
190
+ >;
191
+
161
192
  removeLiquidityStatic(
162
193
  market: string,
163
194
  lpToRemove: BigNumberish,
@@ -202,6 +233,17 @@ export interface IPRouterStatic extends BaseContract {
202
233
  overrides?: CallOverrides
203
234
  ): Promise<BigNumber>;
204
235
 
236
+ getPendleTokenType(
237
+ token: string,
238
+ overrides?: CallOverrides
239
+ ): Promise<
240
+ [boolean, boolean, boolean] & {
241
+ isOT: boolean;
242
+ isYT: boolean;
243
+ isMarket: boolean;
244
+ }
245
+ >;
246
+
205
247
  removeLiquidityStatic(
206
248
  market: string,
207
249
  lpToRemove: BigNumberish,
@@ -244,6 +286,11 @@ export interface IPRouterStatic extends BaseContract {
244
286
  overrides?: CallOverrides
245
287
  ): Promise<BigNumber>;
246
288
 
289
+ getPendleTokenType(
290
+ token: string,
291
+ overrides?: CallOverrides
292
+ ): Promise<BigNumber>;
293
+
247
294
  removeLiquidityStatic(
248
295
  market: string,
249
296
  lpToRemove: BigNumberish,
@@ -281,6 +328,11 @@ export interface IPRouterStatic extends BaseContract {
281
328
  overrides?: CallOverrides
282
329
  ): Promise<PopulatedTransaction>;
283
330
 
331
+ getPendleTokenType(
332
+ token: string,
333
+ overrides?: CallOverrides
334
+ ): Promise<PopulatedTransaction>;
335
+
284
336
  removeLiquidityStatic(
285
337
  market: string,
286
338
  lpToRemove: BigNumberish,
@@ -26,11 +26,12 @@ export interface IPRouterYTInterface extends utils.Interface {
26
26
  contractName: "IPRouterYT";
27
27
  functions: {
28
28
  "swapCallback(int256,int256,bytes)": FunctionFragment;
29
- "swapExactRawTokenForYt(uint256,address,address[],address,uint256,uint256,uint256)": FunctionFragment;
30
- "swapExactScyForYt(address,address,uint256,uint256,uint256,uint256)": FunctionFragment;
29
+ "swapExactRawTokenForYt(uint256,address,address[],address,uint256,uint256,uint256,uint256)": FunctionFragment;
30
+ "swapExactScyForYt(address,address,uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
31
31
  "swapExactYtForRawToken(uint256,address,address[],address,uint256)": FunctionFragment;
32
32
  "swapExactYtForScy(address,address,uint256,uint256)": FunctionFragment;
33
33
  "swapScyForExactYt(address,address,uint256,uint256)": FunctionFragment;
34
+ "swapYtForExactScy(address,address,uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
34
35
  };
35
36
 
36
37
  encodeFunctionData(
@@ -46,6 +47,7 @@ export interface IPRouterYTInterface extends utils.Interface {
46
47
  string,
47
48
  BigNumberish,
48
49
  BigNumberish,
50
+ BigNumberish,
49
51
  BigNumberish
50
52
  ]
51
53
  ): string;
@@ -57,6 +59,7 @@ export interface IPRouterYTInterface extends utils.Interface {
57
59
  BigNumberish,
58
60
  BigNumberish,
59
61
  BigNumberish,
62
+ BigNumberish,
60
63
  BigNumberish
61
64
  ]
62
65
  ): string;
@@ -72,6 +75,18 @@ export interface IPRouterYTInterface extends utils.Interface {
72
75
  functionFragment: "swapScyForExactYt",
73
76
  values: [string, string, BigNumberish, BigNumberish]
74
77
  ): string;
78
+ encodeFunctionData(
79
+ functionFragment: "swapYtForExactScy",
80
+ values: [
81
+ string,
82
+ string,
83
+ BigNumberish,
84
+ BigNumberish,
85
+ BigNumberish,
86
+ BigNumberish,
87
+ BigNumberish
88
+ ]
89
+ ): string;
75
90
 
76
91
  decodeFunctionResult(
77
92
  functionFragment: "swapCallback",
@@ -97,6 +112,10 @@ export interface IPRouterYTInterface extends utils.Interface {
97
112
  functionFragment: "swapScyForExactYt",
98
113
  data: BytesLike
99
114
  ): Result;
115
+ decodeFunctionResult(
116
+ functionFragment: "swapYtForExactScy",
117
+ data: BytesLike
118
+ ): Result;
100
119
 
101
120
  events: {};
102
121
  }
@@ -141,9 +160,10 @@ export interface IPRouterYT extends BaseContract {
141
160
  receiver: string,
142
161
  path: string[],
143
162
  market: string,
144
- minYtOut: BigNumberish,
145
163
  netYtOutGuessMin: BigNumberish,
146
164
  netYtOutGuessMax: BigNumberish,
165
+ maxIteration: BigNumberish,
166
+ eps: BigNumberish,
147
167
  overrides?: Overrides & { from?: string | Promise<string> }
148
168
  ): Promise<ContractTransaction>;
149
169
 
@@ -151,9 +171,10 @@ export interface IPRouterYT extends BaseContract {
151
171
  receiver: string,
152
172
  market: string,
153
173
  exactScyIn: BigNumberish,
154
- minYtOut: BigNumberish,
155
174
  netYtOutGuessMin: BigNumberish,
156
175
  netYtOutGuessMax: BigNumberish,
176
+ maxIteration: BigNumberish,
177
+ eps: BigNumberish,
157
178
  overrides?: Overrides & { from?: string | Promise<string> }
158
179
  ): Promise<ContractTransaction>;
159
180
 
@@ -181,6 +202,17 @@ export interface IPRouterYT extends BaseContract {
181
202
  maxScyIn: BigNumberish,
182
203
  overrides?: Overrides & { from?: string | Promise<string> }
183
204
  ): Promise<ContractTransaction>;
205
+
206
+ swapYtForExactScy(
207
+ receiver: string,
208
+ market: string,
209
+ exactScyOut: BigNumberish,
210
+ netYtInGuessMin: BigNumberish,
211
+ netYtInGuessMax: BigNumberish,
212
+ maxIteration: BigNumberish,
213
+ eps: BigNumberish,
214
+ overrides?: Overrides & { from?: string | Promise<string> }
215
+ ): Promise<ContractTransaction>;
184
216
  };
185
217
 
186
218
  swapCallback(
@@ -195,9 +227,10 @@ export interface IPRouterYT extends BaseContract {
195
227
  receiver: string,
196
228
  path: string[],
197
229
  market: string,
198
- minYtOut: BigNumberish,
199
230
  netYtOutGuessMin: BigNumberish,
200
231
  netYtOutGuessMax: BigNumberish,
232
+ maxIteration: BigNumberish,
233
+ eps: BigNumberish,
201
234
  overrides?: Overrides & { from?: string | Promise<string> }
202
235
  ): Promise<ContractTransaction>;
203
236
 
@@ -205,9 +238,10 @@ export interface IPRouterYT extends BaseContract {
205
238
  receiver: string,
206
239
  market: string,
207
240
  exactScyIn: BigNumberish,
208
- minYtOut: BigNumberish,
209
241
  netYtOutGuessMin: BigNumberish,
210
242
  netYtOutGuessMax: BigNumberish,
243
+ maxIteration: BigNumberish,
244
+ eps: BigNumberish,
211
245
  overrides?: Overrides & { from?: string | Promise<string> }
212
246
  ): Promise<ContractTransaction>;
213
247
 
@@ -236,6 +270,17 @@ export interface IPRouterYT extends BaseContract {
236
270
  overrides?: Overrides & { from?: string | Promise<string> }
237
271
  ): Promise<ContractTransaction>;
238
272
 
273
+ swapYtForExactScy(
274
+ receiver: string,
275
+ market: string,
276
+ exactScyOut: BigNumberish,
277
+ netYtInGuessMin: BigNumberish,
278
+ netYtInGuessMax: BigNumberish,
279
+ maxIteration: BigNumberish,
280
+ eps: BigNumberish,
281
+ overrides?: Overrides & { from?: string | Promise<string> }
282
+ ): Promise<ContractTransaction>;
283
+
239
284
  callStatic: {
240
285
  swapCallback(
241
286
  otToAccount: BigNumberish,
@@ -249,9 +294,10 @@ export interface IPRouterYT extends BaseContract {
249
294
  receiver: string,
250
295
  path: string[],
251
296
  market: string,
252
- minYtOut: BigNumberish,
253
297
  netYtOutGuessMin: BigNumberish,
254
298
  netYtOutGuessMax: BigNumberish,
299
+ maxIteration: BigNumberish,
300
+ eps: BigNumberish,
255
301
  overrides?: CallOverrides
256
302
  ): Promise<BigNumber>;
257
303
 
@@ -259,9 +305,10 @@ export interface IPRouterYT extends BaseContract {
259
305
  receiver: string,
260
306
  market: string,
261
307
  exactScyIn: BigNumberish,
262
- minYtOut: BigNumberish,
263
308
  netYtOutGuessMin: BigNumberish,
264
309
  netYtOutGuessMax: BigNumberish,
310
+ maxIteration: BigNumberish,
311
+ eps: BigNumberish,
265
312
  overrides?: CallOverrides
266
313
  ): Promise<BigNumber>;
267
314
 
@@ -289,6 +336,17 @@ export interface IPRouterYT extends BaseContract {
289
336
  maxScyIn: BigNumberish,
290
337
  overrides?: CallOverrides
291
338
  ): Promise<BigNumber>;
339
+
340
+ swapYtForExactScy(
341
+ receiver: string,
342
+ market: string,
343
+ exactScyOut: BigNumberish,
344
+ netYtInGuessMin: BigNumberish,
345
+ netYtInGuessMax: BigNumberish,
346
+ maxIteration: BigNumberish,
347
+ eps: BigNumberish,
348
+ overrides?: CallOverrides
349
+ ): Promise<BigNumber>;
292
350
  };
293
351
 
294
352
  filters: {};
@@ -306,9 +364,10 @@ export interface IPRouterYT extends BaseContract {
306
364
  receiver: string,
307
365
  path: string[],
308
366
  market: string,
309
- minYtOut: BigNumberish,
310
367
  netYtOutGuessMin: BigNumberish,
311
368
  netYtOutGuessMax: BigNumberish,
369
+ maxIteration: BigNumberish,
370
+ eps: BigNumberish,
312
371
  overrides?: Overrides & { from?: string | Promise<string> }
313
372
  ): Promise<BigNumber>;
314
373
 
@@ -316,9 +375,10 @@ export interface IPRouterYT extends BaseContract {
316
375
  receiver: string,
317
376
  market: string,
318
377
  exactScyIn: BigNumberish,
319
- minYtOut: BigNumberish,
320
378
  netYtOutGuessMin: BigNumberish,
321
379
  netYtOutGuessMax: BigNumberish,
380
+ maxIteration: BigNumberish,
381
+ eps: BigNumberish,
322
382
  overrides?: Overrides & { from?: string | Promise<string> }
323
383
  ): Promise<BigNumber>;
324
384
 
@@ -346,6 +406,17 @@ export interface IPRouterYT extends BaseContract {
346
406
  maxScyIn: BigNumberish,
347
407
  overrides?: Overrides & { from?: string | Promise<string> }
348
408
  ): Promise<BigNumber>;
409
+
410
+ swapYtForExactScy(
411
+ receiver: string,
412
+ market: string,
413
+ exactScyOut: BigNumberish,
414
+ netYtInGuessMin: BigNumberish,
415
+ netYtInGuessMax: BigNumberish,
416
+ maxIteration: BigNumberish,
417
+ eps: BigNumberish,
418
+ overrides?: Overrides & { from?: string | Promise<string> }
419
+ ): Promise<BigNumber>;
349
420
  };
350
421
 
351
422
  populateTransaction: {
@@ -361,9 +432,10 @@ export interface IPRouterYT extends BaseContract {
361
432
  receiver: string,
362
433
  path: string[],
363
434
  market: string,
364
- minYtOut: BigNumberish,
365
435
  netYtOutGuessMin: BigNumberish,
366
436
  netYtOutGuessMax: BigNumberish,
437
+ maxIteration: BigNumberish,
438
+ eps: BigNumberish,
367
439
  overrides?: Overrides & { from?: string | Promise<string> }
368
440
  ): Promise<PopulatedTransaction>;
369
441
 
@@ -371,9 +443,10 @@ export interface IPRouterYT extends BaseContract {
371
443
  receiver: string,
372
444
  market: string,
373
445
  exactScyIn: BigNumberish,
374
- minYtOut: BigNumberish,
375
446
  netYtOutGuessMin: BigNumberish,
376
447
  netYtOutGuessMax: BigNumberish,
448
+ maxIteration: BigNumberish,
449
+ eps: BigNumberish,
377
450
  overrides?: Overrides & { from?: string | Promise<string> }
378
451
  ): Promise<PopulatedTransaction>;
379
452
 
@@ -401,5 +474,16 @@ export interface IPRouterYT extends BaseContract {
401
474
  maxScyIn: BigNumberish,
402
475
  overrides?: Overrides & { from?: string | Promise<string> }
403
476
  ): Promise<PopulatedTransaction>;
477
+
478
+ swapYtForExactScy(
479
+ receiver: string,
480
+ market: string,
481
+ exactScyOut: BigNumberish,
482
+ netYtInGuessMin: BigNumberish,
483
+ netYtInGuessMax: BigNumberish,
484
+ maxIteration: BigNumberish,
485
+ eps: BigNumberish,
486
+ overrides?: Overrides & { from?: string | Promise<string> }
487
+ ): Promise<PopulatedTransaction>;
404
488
  };
405
489
  }