@pendle/core-v2 0.5.1-beta-4 → 0.6.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 (126) hide show
  1. package/contracts/SuperComposableYield/ISuperComposableYield.sol +2 -0
  2. package/contracts/SuperComposableYield/implementations/RewardManager.sol +35 -20
  3. package/contracts/SuperComposableYield/implementations/SCYBase.sol +39 -19
  4. package/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol +26 -14
  5. package/contracts/core/PendleBaseToken.sol +2 -2
  6. package/contracts/core/PendleMarket.sol +145 -61
  7. package/contracts/core/PendleMarketFactory.sol +30 -19
  8. package/contracts/core/{PendleOwnershipToken.sol → PendlePrincipalToken.sol} +14 -2
  9. package/contracts/core/PendleRouter.sol +23 -9
  10. package/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol +21 -20
  11. package/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol +22 -16
  12. package/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol +13 -13
  13. package/contracts/core/PendleSCYImpl/PendleStETHSCY.sol +107 -0
  14. package/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol +14 -15
  15. package/contracts/core/PendleYieldContractFactory.sol +29 -14
  16. package/contracts/core/PendleYieldToken.sol +130 -76
  17. package/contracts/core/RouterStatic.sol +16 -157
  18. package/contracts/core/actions/ActionCallback.sol +36 -18
  19. package/contracts/core/actions/ActionCore.sol +41 -88
  20. package/contracts/core/actions/ActionRedeem.sol +36 -0
  21. package/contracts/core/actions/ActionYT.sol +41 -59
  22. package/contracts/core/actions/base/{ActionSCYAndOTBase.sol → ActionSCYAndPTBase.sol} +59 -45
  23. package/contracts/core/actions/base/{ActionSCYAndYOBase.sol → ActionSCYAndPYBase.sol} +57 -19
  24. package/contracts/core/actions/base/ActionSCYAndYTBase.sol +31 -21
  25. package/contracts/interfaces/IPActionCore.sol +21 -28
  26. package/contracts/interfaces/IPActionRedeem.sol +17 -0
  27. package/contracts/interfaces/IPActionYT.sol +5 -12
  28. package/contracts/interfaces/IPAllAction.sol +2 -2
  29. package/contracts/interfaces/IPMarket.sol +33 -10
  30. package/contracts/interfaces/IPMarketAddRemoveCallback.sol +2 -2
  31. package/contracts/interfaces/IPMarketFactory.sol +3 -1
  32. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
  33. package/contracts/interfaces/{IPOwnershipToken.sol → IPPrincipalToken.sol} +1 -1
  34. package/contracts/interfaces/IPRouterStatic.sol +7 -82
  35. package/contracts/interfaces/IPYieldContractFactory.sol +10 -2
  36. package/contracts/interfaces/IPYieldToken.sol +14 -5
  37. package/contracts/interfaces/IWstETH.sol +10 -0
  38. package/contracts/libraries/JoeLibrary.sol +1 -1
  39. package/contracts/libraries/math/LogExpMath.sol +1 -1
  40. package/contracts/libraries/math/MarketApproxLib.sol +128 -88
  41. package/contracts/libraries/math/MarketMathAux.sol +13 -13
  42. package/contracts/libraries/math/MarketMathCore.sol +62 -93
  43. package/contracts/libraries/math/Math.sol +14 -2
  44. package/contracts/periphery/PendleGovernanceManager.sol +5 -3
  45. package/package.json +3 -2
  46. package/typechain-types/ActionCallback.ts +5 -5
  47. package/typechain-types/ActionCore.ts +312 -234
  48. package/typechain-types/ActionRedeem.ts +125 -0
  49. package/typechain-types/ActionSCYAndPYBase.ts +223 -0
  50. package/typechain-types/ActionSCYAndYOBase.ts +129 -3
  51. package/typechain-types/ActionSCYAndYTBase.ts +149 -3
  52. package/typechain-types/ActionYT.ts +192 -94
  53. package/typechain-types/IPActionCore.ts +183 -231
  54. package/typechain-types/IPActionRedeem.ts +125 -0
  55. package/typechain-types/IPActionYT.ts +43 -91
  56. package/typechain-types/IPAllAction.ts +258 -321
  57. package/typechain-types/IPMarket.ts +150 -50
  58. package/typechain-types/IPMarketAddRemoveCallback.ts +10 -10
  59. package/typechain-types/IPMarketFactory.ts +28 -6
  60. package/typechain-types/IPMarketSwapCallback.ts +5 -5
  61. package/typechain-types/{IPOwnershipToken.ts → IPPrincipalToken.ts} +5 -5
  62. package/typechain-types/IPRouterStatic.ts +50 -530
  63. package/typechain-types/IPYieldContractFactory.ts +85 -19
  64. package/typechain-types/IPYieldToken.ts +138 -37
  65. package/typechain-types/ISuperComposableYield.ts +13 -0
  66. package/typechain-types/IWstETH.ts +149 -0
  67. package/typechain-types/PendleAaveV3SCY.ts +110 -0
  68. package/typechain-types/PendleBaseToken.ts +1 -1
  69. package/typechain-types/PendleBenQiErc20SCY.ts +55 -12
  70. package/typechain-types/PendleBtrflyScy.ts +27 -23
  71. package/typechain-types/PendleGovernanceManager.ts +5 -5
  72. package/typechain-types/PendleMarket.ts +197 -100
  73. package/typechain-types/PendleMarketFactory.ts +96 -34
  74. package/typechain-types/{PendleOwnershipToken.ts → PendlePrincipalToken.ts} +15 -6
  75. package/typechain-types/PendleRouter.ts +19 -0
  76. package/typechain-types/PendleRouterRedeemUpg.ts +125 -0
  77. package/typechain-types/PendleStEthSCY.ts +872 -0
  78. package/typechain-types/PendleYearnVaultScy.ts +27 -23
  79. package/typechain-types/PendleYieldContractFactory.ts +94 -28
  80. package/typechain-types/PendleYieldToken.ts +142 -57
  81. package/typechain-types/RewardManager.ts +21 -0
  82. package/typechain-types/RouterStatic.ts +50 -530
  83. package/typechain-types/SCYBase.ts +25 -0
  84. package/typechain-types/SCYBaseWithRewards.ts +64 -0
  85. package/typechain-types/factories/ActionCallback__factory.ts +2 -2
  86. package/typechain-types/factories/ActionCore__factory.ts +263 -79
  87. package/typechain-types/factories/ActionRedeem__factory.ts +105 -0
  88. package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +200 -0
  89. package/typechain-types/factories/ActionSCYAndYOBase__factory.ts +148 -0
  90. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +173 -0
  91. package/typechain-types/factories/ActionYT__factory.ts +265 -56
  92. package/typechain-types/factories/IPActionCore__factory.ts +114 -78
  93. package/typechain-types/factories/IPActionRedeem__factory.ts +70 -0
  94. package/typechain-types/factories/IPActionYT__factory.ts +90 -54
  95. package/typechain-types/factories/IPAllAction__factory.ts +254 -138
  96. package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +2 -2
  97. package/typechain-types/factories/IPMarketFactory__factory.ts +26 -1
  98. package/typechain-types/factories/IPMarketSwapCallback__factory.ts +1 -1
  99. package/typechain-types/factories/IPMarket__factory.ts +125 -13
  100. package/typechain-types/factories/{IPOwnershipToken__factory.ts → IPPrincipalToken__factory.ts} +8 -8
  101. package/typechain-types/factories/IPRouterStatic__factory.ts +12 -628
  102. package/typechain-types/factories/IPYieldContractFactory__factory.ts +72 -2
  103. package/typechain-types/factories/IPYieldToken__factory.ts +93 -7
  104. package/typechain-types/factories/ISuperComposableYield__factory.ts +13 -0
  105. package/typechain-types/factories/IWstETH__factory.ts +74 -0
  106. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +97 -3
  107. package/typechain-types/factories/PendleBaseToken__factory.ts +1 -1
  108. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +62 -7
  109. package/typechain-types/factories/PendleBtrflyScy__factory.ts +42 -19
  110. package/typechain-types/factories/PendleGovernanceManager__factory.ts +2 -2
  111. package/typechain-types/factories/PendleMarketFactory__factory.ts +66 -15
  112. package/typechain-types/factories/PendleMarket__factory.ts +170 -53
  113. package/typechain-types/factories/PendlePrincipalToken__factory.ts +540 -0
  114. package/typechain-types/factories/PendleRouterRedeemUpg__factory.ts +112 -0
  115. package/typechain-types/factories/PendleRouter__factory.ts +23 -1
  116. package/typechain-types/factories/PendleStEthSCY__factory.ts +716 -0
  117. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +41 -18
  118. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +75 -5
  119. package/typechain-types/factories/PendleYieldToken__factory.ts +102 -33
  120. package/typechain-types/factories/RewardManager__factory.ts +13 -0
  121. package/typechain-types/factories/RouterStatic__factory.ts +13 -629
  122. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +60 -2
  123. package/typechain-types/factories/SCYBase__factory.ts +28 -2
  124. package/typechain-types/hardhat.d.ts +52 -16
  125. package/typechain-types/index.ts +14 -6
  126. package/typechain-types/factories/PendleOwnershipToken__factory.ts +0 -527
@@ -13,7 +13,7 @@ import {
13
13
  Signer,
14
14
  utils,
15
15
  } from "ethers";
16
- import { FunctionFragment, Result } from "@ethersproject/abi";
16
+ import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
17
17
  import { Listener, Provider } from "@ethersproject/providers";
18
18
  import type {
19
19
  TypedEventFilter,
@@ -22,17 +22,39 @@ import type {
22
22
  OnEvent,
23
23
  } from "./common";
24
24
 
25
+ export type ApproxParamsStruct = {
26
+ guessMin: BigNumberish;
27
+ guessMax: BigNumberish;
28
+ guessOffchain: BigNumberish;
29
+ maxIteration: BigNumberish;
30
+ eps: BigNumberish;
31
+ };
32
+
33
+ export type ApproxParamsStructOutput = [
34
+ BigNumber,
35
+ BigNumber,
36
+ BigNumber,
37
+ BigNumber,
38
+ BigNumber
39
+ ] & {
40
+ guessMin: BigNumber;
41
+ guessMax: BigNumber;
42
+ guessOffchain: BigNumber;
43
+ maxIteration: BigNumber;
44
+ eps: BigNumber;
45
+ };
46
+
25
47
  export interface ActionYTInterface extends utils.Interface {
26
48
  contractName: "ActionYT";
27
49
  functions: {
28
50
  "joeFactory()": FunctionFragment;
29
51
  "joeRouter()": FunctionFragment;
30
- "swapExactRawTokenForYt(uint256,address,address[],address,uint256,uint256,uint256,uint256)": FunctionFragment;
31
- "swapExactScyForYt(address,address,uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
52
+ "swapExactRawTokenForYt(uint256,address,address[],address,(uint256,uint256,uint256,uint256,uint256))": FunctionFragment;
53
+ "swapExactScyForYt(address,address,uint256,(uint256,uint256,uint256,uint256,uint256))": FunctionFragment;
32
54
  "swapExactYtForRawToken(uint256,address,address[],address,uint256)": FunctionFragment;
33
55
  "swapExactYtForScy(address,address,uint256,uint256)": FunctionFragment;
34
56
  "swapScyForExactYt(address,address,uint256,uint256)": FunctionFragment;
35
- "swapYtForExactScy(address,address,uint256,uint256,uint256,uint256,uint256)": FunctionFragment;
57
+ "swapYtForExactScy(address,address,uint256,(uint256,uint256,uint256,uint256,uint256))": FunctionFragment;
36
58
  };
37
59
 
38
60
  encodeFunctionData(
@@ -42,28 +64,11 @@ export interface ActionYTInterface extends utils.Interface {
42
64
  encodeFunctionData(functionFragment: "joeRouter", values?: undefined): string;
43
65
  encodeFunctionData(
44
66
  functionFragment: "swapExactRawTokenForYt",
45
- values: [
46
- BigNumberish,
47
- string,
48
- string[],
49
- string,
50
- BigNumberish,
51
- BigNumberish,
52
- BigNumberish,
53
- BigNumberish
54
- ]
67
+ values: [BigNumberish, string, string[], string, ApproxParamsStruct]
55
68
  ): string;
56
69
  encodeFunctionData(
57
70
  functionFragment: "swapExactScyForYt",
58
- values: [
59
- string,
60
- string,
61
- BigNumberish,
62
- BigNumberish,
63
- BigNumberish,
64
- BigNumberish,
65
- BigNumberish
66
- ]
71
+ values: [string, string, BigNumberish, ApproxParamsStruct]
67
72
  ): string;
68
73
  encodeFunctionData(
69
74
  functionFragment: "swapExactYtForRawToken",
@@ -79,15 +84,7 @@ export interface ActionYTInterface extends utils.Interface {
79
84
  ): string;
80
85
  encodeFunctionData(
81
86
  functionFragment: "swapYtForExactScy",
82
- values: [
83
- string,
84
- string,
85
- BigNumberish,
86
- BigNumberish,
87
- BigNumberish,
88
- BigNumberish,
89
- BigNumberish
90
- ]
87
+ values: [string, string, BigNumberish, ApproxParamsStruct]
91
88
  ): string;
92
89
 
93
90
  decodeFunctionResult(functionFragment: "joeFactory", data: BytesLike): Result;
@@ -117,9 +114,84 @@ export interface ActionYTInterface extends utils.Interface {
117
114
  data: BytesLike
118
115
  ): Result;
119
116
 
120
- events: {};
117
+ events: {
118
+ "MintPyFromRawToken(address,address,uint256,address,uint256)": EventFragment;
119
+ "MintScyFromRawToken(address,address,uint256,address,uint256)": EventFragment;
120
+ "RedeemPyToRawToken(address,address,uint256,address,uint256)": EventFragment;
121
+ "RedeemScyToRawToken(address,address,uint256,address,uint256)": EventFragment;
122
+ "SwapYT(address,int256,int256)": EventFragment;
123
+ };
124
+
125
+ getEvent(nameOrSignatureOrTopic: "MintPyFromRawToken"): EventFragment;
126
+ getEvent(nameOrSignatureOrTopic: "MintScyFromRawToken"): EventFragment;
127
+ getEvent(nameOrSignatureOrTopic: "RedeemPyToRawToken"): EventFragment;
128
+ getEvent(nameOrSignatureOrTopic: "RedeemScyToRawToken"): EventFragment;
129
+ getEvent(nameOrSignatureOrTopic: "SwapYT"): EventFragment;
121
130
  }
122
131
 
132
+ export type MintPyFromRawTokenEvent = TypedEvent<
133
+ [string, string, BigNumber, string, BigNumber],
134
+ {
135
+ user: string;
136
+ rawTokenIn: string;
137
+ netRawTokenIn: BigNumber;
138
+ YT: string;
139
+ netPyOut: BigNumber;
140
+ }
141
+ >;
142
+
143
+ export type MintPyFromRawTokenEventFilter =
144
+ TypedEventFilter<MintPyFromRawTokenEvent>;
145
+
146
+ export type MintScyFromRawTokenEvent = TypedEvent<
147
+ [string, string, BigNumber, string, BigNumber],
148
+ {
149
+ user: string;
150
+ rawTokenIn: string;
151
+ netRawTokenIn: BigNumber;
152
+ SCY: string;
153
+ netScyOut: BigNumber;
154
+ }
155
+ >;
156
+
157
+ export type MintScyFromRawTokenEventFilter =
158
+ TypedEventFilter<MintScyFromRawTokenEvent>;
159
+
160
+ export type RedeemPyToRawTokenEvent = TypedEvent<
161
+ [string, string, BigNumber, string, BigNumber],
162
+ {
163
+ user: string;
164
+ YT: string;
165
+ netPyIn: BigNumber;
166
+ rawTokenOut: string;
167
+ netRawTokenOut: BigNumber;
168
+ }
169
+ >;
170
+
171
+ export type RedeemPyToRawTokenEventFilter =
172
+ TypedEventFilter<RedeemPyToRawTokenEvent>;
173
+
174
+ export type RedeemScyToRawTokenEvent = TypedEvent<
175
+ [string, string, BigNumber, string, BigNumber],
176
+ {
177
+ user: string;
178
+ SCY: string;
179
+ netScyIn: BigNumber;
180
+ rawTokenOut: string;
181
+ netRawTokenOut: BigNumber;
182
+ }
183
+ >;
184
+
185
+ export type RedeemScyToRawTokenEventFilter =
186
+ TypedEventFilter<RedeemScyToRawTokenEvent>;
187
+
188
+ export type SwapYTEvent = TypedEvent<
189
+ [string, BigNumber, BigNumber],
190
+ { user: string; ytToAccount: BigNumber; scyToAccount: BigNumber }
191
+ >;
192
+
193
+ export type SwapYTEventFilter = TypedEventFilter<SwapYTEvent>;
194
+
123
195
  export interface ActionYT extends BaseContract {
124
196
  contractName: "ActionYT";
125
197
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -157,10 +229,7 @@ export interface ActionYT extends BaseContract {
157
229
  receiver: string,
158
230
  path: string[],
159
231
  market: string,
160
- netYtOutGuessMin: BigNumberish,
161
- netYtOutGuessMax: BigNumberish,
162
- maxIteration: BigNumberish,
163
- eps: BigNumberish,
232
+ approx: ApproxParamsStruct,
164
233
  overrides?: Overrides & { from?: string | Promise<string> }
165
234
  ): Promise<ContractTransaction>;
166
235
 
@@ -168,10 +237,7 @@ export interface ActionYT extends BaseContract {
168
237
  receiver: string,
169
238
  market: string,
170
239
  exactScyIn: BigNumberish,
171
- netYtOutGuessMin: BigNumberish,
172
- netYtOutGuessMax: BigNumberish,
173
- maxIteration: BigNumberish,
174
- eps: BigNumberish,
240
+ approx: ApproxParamsStruct,
175
241
  overrides?: Overrides & { from?: string | Promise<string> }
176
242
  ): Promise<ContractTransaction>;
177
243
 
@@ -204,10 +270,7 @@ export interface ActionYT extends BaseContract {
204
270
  receiver: string,
205
271
  market: string,
206
272
  exactScyOut: BigNumberish,
207
- netYtInGuessMin: BigNumberish,
208
- netYtInGuessMax: BigNumberish,
209
- maxIteration: BigNumberish,
210
- eps: BigNumberish,
273
+ approx: ApproxParamsStruct,
211
274
  overrides?: Overrides & { from?: string | Promise<string> }
212
275
  ): Promise<ContractTransaction>;
213
276
  };
@@ -221,10 +284,7 @@ export interface ActionYT extends BaseContract {
221
284
  receiver: string,
222
285
  path: string[],
223
286
  market: string,
224
- netYtOutGuessMin: BigNumberish,
225
- netYtOutGuessMax: BigNumberish,
226
- maxIteration: BigNumberish,
227
- eps: BigNumberish,
287
+ approx: ApproxParamsStruct,
228
288
  overrides?: Overrides & { from?: string | Promise<string> }
229
289
  ): Promise<ContractTransaction>;
230
290
 
@@ -232,10 +292,7 @@ export interface ActionYT extends BaseContract {
232
292
  receiver: string,
233
293
  market: string,
234
294
  exactScyIn: BigNumberish,
235
- netYtOutGuessMin: BigNumberish,
236
- netYtOutGuessMax: BigNumberish,
237
- maxIteration: BigNumberish,
238
- eps: BigNumberish,
295
+ approx: ApproxParamsStruct,
239
296
  overrides?: Overrides & { from?: string | Promise<string> }
240
297
  ): Promise<ContractTransaction>;
241
298
 
@@ -268,10 +325,7 @@ export interface ActionYT extends BaseContract {
268
325
  receiver: string,
269
326
  market: string,
270
327
  exactScyOut: BigNumberish,
271
- netYtInGuessMin: BigNumberish,
272
- netYtInGuessMax: BigNumberish,
273
- maxIteration: BigNumberish,
274
- eps: BigNumberish,
328
+ approx: ApproxParamsStruct,
275
329
  overrides?: Overrides & { from?: string | Promise<string> }
276
330
  ): Promise<ContractTransaction>;
277
331
 
@@ -285,10 +339,7 @@ export interface ActionYT extends BaseContract {
285
339
  receiver: string,
286
340
  path: string[],
287
341
  market: string,
288
- netYtOutGuessMin: BigNumberish,
289
- netYtOutGuessMax: BigNumberish,
290
- maxIteration: BigNumberish,
291
- eps: BigNumberish,
342
+ approx: ApproxParamsStruct,
292
343
  overrides?: CallOverrides
293
344
  ): Promise<BigNumber>;
294
345
 
@@ -296,10 +347,7 @@ export interface ActionYT extends BaseContract {
296
347
  receiver: string,
297
348
  market: string,
298
349
  exactScyIn: BigNumberish,
299
- netYtOutGuessMin: BigNumberish,
300
- netYtOutGuessMax: BigNumberish,
301
- maxIteration: BigNumberish,
302
- eps: BigNumberish,
350
+ approx: ApproxParamsStruct,
303
351
  overrides?: CallOverrides
304
352
  ): Promise<BigNumber>;
305
353
 
@@ -332,15 +380,83 @@ export interface ActionYT extends BaseContract {
332
380
  receiver: string,
333
381
  market: string,
334
382
  exactScyOut: BigNumberish,
335
- netYtInGuessMin: BigNumberish,
336
- netYtInGuessMax: BigNumberish,
337
- maxIteration: BigNumberish,
338
- eps: BigNumberish,
383
+ approx: ApproxParamsStruct,
339
384
  overrides?: CallOverrides
340
385
  ): Promise<BigNumber>;
341
386
  };
342
387
 
343
- filters: {};
388
+ filters: {
389
+ "MintPyFromRawToken(address,address,uint256,address,uint256)"(
390
+ user?: string | null,
391
+ rawTokenIn?: string | null,
392
+ netRawTokenIn?: null,
393
+ YT?: string | null,
394
+ netPyOut?: null
395
+ ): MintPyFromRawTokenEventFilter;
396
+ MintPyFromRawToken(
397
+ user?: string | null,
398
+ rawTokenIn?: string | null,
399
+ netRawTokenIn?: null,
400
+ YT?: string | null,
401
+ netPyOut?: null
402
+ ): MintPyFromRawTokenEventFilter;
403
+
404
+ "MintScyFromRawToken(address,address,uint256,address,uint256)"(
405
+ user?: string | null,
406
+ rawTokenIn?: string | null,
407
+ netRawTokenIn?: null,
408
+ SCY?: string | null,
409
+ netScyOut?: null
410
+ ): MintScyFromRawTokenEventFilter;
411
+ MintScyFromRawToken(
412
+ user?: string | null,
413
+ rawTokenIn?: string | null,
414
+ netRawTokenIn?: null,
415
+ SCY?: string | null,
416
+ netScyOut?: null
417
+ ): MintScyFromRawTokenEventFilter;
418
+
419
+ "RedeemPyToRawToken(address,address,uint256,address,uint256)"(
420
+ user?: string | null,
421
+ YT?: string | null,
422
+ netPyIn?: null,
423
+ rawTokenOut?: string | null,
424
+ netRawTokenOut?: null
425
+ ): RedeemPyToRawTokenEventFilter;
426
+ RedeemPyToRawToken(
427
+ user?: string | null,
428
+ YT?: string | null,
429
+ netPyIn?: null,
430
+ rawTokenOut?: string | null,
431
+ netRawTokenOut?: null
432
+ ): RedeemPyToRawTokenEventFilter;
433
+
434
+ "RedeemScyToRawToken(address,address,uint256,address,uint256)"(
435
+ user?: string | null,
436
+ SCY?: string | null,
437
+ netScyIn?: null,
438
+ rawTokenOut?: string | null,
439
+ netRawTokenOut?: null
440
+ ): RedeemScyToRawTokenEventFilter;
441
+ RedeemScyToRawToken(
442
+ user?: string | null,
443
+ SCY?: string | null,
444
+ netScyIn?: null,
445
+ rawTokenOut?: string | null,
446
+ netRawTokenOut?: null
447
+ ): RedeemScyToRawTokenEventFilter;
448
+
449
+ "SwapYT(address,int256,int256)"(
450
+ user?: string | null,
451
+ ytToAccount?: null,
452
+ scyToAccount?: null
453
+ ): SwapYTEventFilter;
454
+ SwapYT(
455
+ user?: string | null,
456
+ ytToAccount?: null,
457
+ scyToAccount?: null
458
+ ): SwapYTEventFilter;
459
+ };
344
460
 
345
461
  estimateGas: {
346
462
  joeFactory(overrides?: CallOverrides): Promise<BigNumber>;
@@ -352,10 +468,7 @@ export interface ActionYT extends BaseContract {
352
468
  receiver: string,
353
469
  path: string[],
354
470
  market: string,
355
- netYtOutGuessMin: BigNumberish,
356
- netYtOutGuessMax: BigNumberish,
357
- maxIteration: BigNumberish,
358
- eps: BigNumberish,
471
+ approx: ApproxParamsStruct,
359
472
  overrides?: Overrides & { from?: string | Promise<string> }
360
473
  ): Promise<BigNumber>;
361
474
 
@@ -363,10 +476,7 @@ export interface ActionYT extends BaseContract {
363
476
  receiver: string,
364
477
  market: string,
365
478
  exactScyIn: BigNumberish,
366
- netYtOutGuessMin: BigNumberish,
367
- netYtOutGuessMax: BigNumberish,
368
- maxIteration: BigNumberish,
369
- eps: BigNumberish,
479
+ approx: ApproxParamsStruct,
370
480
  overrides?: Overrides & { from?: string | Promise<string> }
371
481
  ): Promise<BigNumber>;
372
482
 
@@ -399,10 +509,7 @@ export interface ActionYT extends BaseContract {
399
509
  receiver: string,
400
510
  market: string,
401
511
  exactScyOut: BigNumberish,
402
- netYtInGuessMin: BigNumberish,
403
- netYtInGuessMax: BigNumberish,
404
- maxIteration: BigNumberish,
405
- eps: BigNumberish,
512
+ approx: ApproxParamsStruct,
406
513
  overrides?: Overrides & { from?: string | Promise<string> }
407
514
  ): Promise<BigNumber>;
408
515
  };
@@ -417,10 +524,7 @@ export interface ActionYT extends BaseContract {
417
524
  receiver: string,
418
525
  path: string[],
419
526
  market: string,
420
- netYtOutGuessMin: BigNumberish,
421
- netYtOutGuessMax: BigNumberish,
422
- maxIteration: BigNumberish,
423
- eps: BigNumberish,
527
+ approx: ApproxParamsStruct,
424
528
  overrides?: Overrides & { from?: string | Promise<string> }
425
529
  ): Promise<PopulatedTransaction>;
426
530
 
@@ -428,10 +532,7 @@ export interface ActionYT extends BaseContract {
428
532
  receiver: string,
429
533
  market: string,
430
534
  exactScyIn: BigNumberish,
431
- netYtOutGuessMin: BigNumberish,
432
- netYtOutGuessMax: BigNumberish,
433
- maxIteration: BigNumberish,
434
- eps: BigNumberish,
535
+ approx: ApproxParamsStruct,
435
536
  overrides?: Overrides & { from?: string | Promise<string> }
436
537
  ): Promise<PopulatedTransaction>;
437
538
 
@@ -464,10 +565,7 @@ export interface ActionYT extends BaseContract {
464
565
  receiver: string,
465
566
  market: string,
466
567
  exactScyOut: BigNumberish,
467
- netYtInGuessMin: BigNumberish,
468
- netYtInGuessMax: BigNumberish,
469
- maxIteration: BigNumberish,
470
- eps: BigNumberish,
568
+ approx: ApproxParamsStruct,
471
569
  overrides?: Overrides & { from?: string | Promise<string> }
472
570
  ): Promise<PopulatedTransaction>;
473
571
  };