@pendle/core-v2 0.2.3 → 0.4.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 +15 -5
  2. package/contracts/SuperComposableYield/implementations/RewardManager.sol +2 -2
  3. package/contracts/SuperComposableYield/implementations/SCYBase.sol +23 -3
  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/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 +4 -4
  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 +98 -11
  43. package/typechain-types/OwnableUpgradeable.ts +165 -0
  44. package/typechain-types/PendleAaveV3SCY.ts +98 -11
  45. package/typechain-types/PendleBenQiErc20SCY.ts +98 -11
  46. package/typechain-types/PendleBtrflyScy.ts +98 -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 +98 -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 +98 -11
  57. package/typechain-types/SCYBaseWithRewards.ts +98 -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 +65 -2
  66. package/typechain-types/factories/OwnableUpgradeable__factory.ts +78 -0
  67. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +66 -3
  68. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +66 -3
  69. package/typechain-types/factories/PendleBtrflyScy__factory.ts +66 -3
  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 +66 -3
  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 +65 -2
  81. package/typechain-types/factories/SCYBase__factory.ts +65 -2
  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
@@ -27,6 +27,8 @@ export interface IPYieldContractFactoryInterface extends utils.Interface {
27
27
  "getOT(address,uint256)": FunctionFragment;
28
28
  "getYT(address,uint256)": FunctionFragment;
29
29
  "interestFeeRate()": FunctionFragment;
30
+ "isOT(address)": FunctionFragment;
31
+ "isYT(address)": FunctionFragment;
30
32
  "treasury()": FunctionFragment;
31
33
  };
32
34
 
@@ -46,6 +48,8 @@ export interface IPYieldContractFactoryInterface extends utils.Interface {
46
48
  functionFragment: "interestFeeRate",
47
49
  values?: undefined
48
50
  ): string;
51
+ encodeFunctionData(functionFragment: "isOT", values: [string]): string;
52
+ encodeFunctionData(functionFragment: "isYT", values: [string]): string;
49
53
  encodeFunctionData(functionFragment: "treasury", values?: undefined): string;
50
54
 
51
55
  decodeFunctionResult(
@@ -58,6 +62,8 @@ export interface IPYieldContractFactoryInterface extends utils.Interface {
58
62
  functionFragment: "interestFeeRate",
59
63
  data: BytesLike
60
64
  ): Result;
65
+ decodeFunctionResult(functionFragment: "isOT", data: BytesLike): Result;
66
+ decodeFunctionResult(functionFragment: "isYT", data: BytesLike): Result;
61
67
  decodeFunctionResult(functionFragment: "treasury", data: BytesLike): Result;
62
68
 
63
69
  events: {};
@@ -107,6 +113,10 @@ export interface IPYieldContractFactory extends BaseContract {
107
113
 
108
114
  interestFeeRate(overrides?: CallOverrides): Promise<[BigNumber]>;
109
115
 
116
+ isOT(arg0: string, overrides?: CallOverrides): Promise<[boolean]>;
117
+
118
+ isYT(arg0: string, overrides?: CallOverrides): Promise<[boolean]>;
119
+
110
120
  treasury(overrides?: CallOverrides): Promise<[string]>;
111
121
  };
112
122
 
@@ -126,6 +136,10 @@ export interface IPYieldContractFactory extends BaseContract {
126
136
 
127
137
  interestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
128
138
 
139
+ isOT(arg0: string, overrides?: CallOverrides): Promise<boolean>;
140
+
141
+ isYT(arg0: string, overrides?: CallOverrides): Promise<boolean>;
142
+
129
143
  treasury(overrides?: CallOverrides): Promise<string>;
130
144
 
131
145
  callStatic: {
@@ -145,6 +159,10 @@ export interface IPYieldContractFactory extends BaseContract {
145
159
 
146
160
  interestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
147
161
 
162
+ isOT(arg0: string, overrides?: CallOverrides): Promise<boolean>;
163
+
164
+ isYT(arg0: string, overrides?: CallOverrides): Promise<boolean>;
165
+
148
166
  treasury(overrides?: CallOverrides): Promise<string>;
149
167
  };
150
168
 
@@ -167,6 +185,10 @@ export interface IPYieldContractFactory extends BaseContract {
167
185
 
168
186
  interestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
169
187
 
188
+ isOT(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
189
+
190
+ isYT(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
191
+
170
192
  treasury(overrides?: CallOverrides): Promise<BigNumber>;
171
193
  };
172
194
 
@@ -187,6 +209,16 @@ export interface IPYieldContractFactory extends BaseContract {
187
209
 
188
210
  interestFeeRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
189
211
 
212
+ isOT(
213
+ arg0: string,
214
+ overrides?: CallOverrides
215
+ ): Promise<PopulatedTransaction>;
216
+
217
+ isYT(
218
+ arg0: string,
219
+ overrides?: CallOverrides
220
+ ): Promise<PopulatedTransaction>;
221
+
190
222
  treasury(overrides?: CallOverrides): Promise<PopulatedTransaction>;
191
223
  };
192
224
  }
@@ -35,8 +35,7 @@ export interface IPYieldTokenInterface extends utils.Interface {
35
35
  "isExpired()": FunctionFragment;
36
36
  "mintYO(address,address)": FunctionFragment;
37
37
  "name()": FunctionFragment;
38
- "redeemDueInterest(address)": FunctionFragment;
39
- "redeemDueRewards(address,address)": FunctionFragment;
38
+ "redeemDueInterestAndRewards(address)": FunctionFragment;
40
39
  "redeemYO(address)": FunctionFragment;
41
40
  "symbol()": FunctionFragment;
42
41
  "totalSupply()": FunctionFragment;
@@ -64,13 +63,9 @@ export interface IPYieldTokenInterface extends utils.Interface {
64
63
  ): string;
65
64
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
66
65
  encodeFunctionData(
67
- functionFragment: "redeemDueInterest",
66
+ functionFragment: "redeemDueInterestAndRewards",
68
67
  values: [string]
69
68
  ): string;
70
- encodeFunctionData(
71
- functionFragment: "redeemDueRewards",
72
- values: [string, string]
73
- ): string;
74
69
  encodeFunctionData(functionFragment: "redeemYO", values: [string]): string;
75
70
  encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
76
71
  encodeFunctionData(
@@ -97,11 +92,7 @@ export interface IPYieldTokenInterface extends utils.Interface {
97
92
  decodeFunctionResult(functionFragment: "mintYO", data: BytesLike): Result;
98
93
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
99
94
  decodeFunctionResult(
100
- functionFragment: "redeemDueInterest",
101
- data: BytesLike
102
- ): Result;
103
- decodeFunctionResult(
104
- functionFragment: "redeemDueRewards",
95
+ functionFragment: "redeemDueInterestAndRewards",
105
96
  data: BytesLike
106
97
  ): Result;
107
98
  decodeFunctionResult(functionFragment: "redeemYO", data: BytesLike): Result;
@@ -199,14 +190,8 @@ export interface IPYieldToken extends BaseContract {
199
190
 
200
191
  name(overrides?: CallOverrides): Promise<[string]>;
201
192
 
202
- redeemDueInterest(
203
- user: string,
204
- overrides?: Overrides & { from?: string | Promise<string> }
205
- ): Promise<ContractTransaction>;
206
-
207
- redeemDueRewards(
193
+ redeemDueInterestAndRewards(
208
194
  user: string,
209
- receiver: string,
210
195
  overrides?: Overrides & { from?: string | Promise<string> }
211
196
  ): Promise<ContractTransaction>;
212
197
 
@@ -265,14 +250,8 @@ export interface IPYieldToken extends BaseContract {
265
250
 
266
251
  name(overrides?: CallOverrides): Promise<string>;
267
252
 
268
- redeemDueInterest(
269
- user: string,
270
- overrides?: Overrides & { from?: string | Promise<string> }
271
- ): Promise<ContractTransaction>;
272
-
273
- redeemDueRewards(
253
+ redeemDueInterestAndRewards(
274
254
  user: string,
275
- receiver: string,
276
255
  overrides?: Overrides & { from?: string | Promise<string> }
277
256
  ): Promise<ContractTransaction>;
278
257
 
@@ -331,16 +310,15 @@ export interface IPYieldToken extends BaseContract {
331
310
 
332
311
  name(overrides?: CallOverrides): Promise<string>;
333
312
 
334
- redeemDueInterest(
313
+ redeemDueInterestAndRewards(
335
314
  user: string,
336
315
  overrides?: CallOverrides
337
- ): Promise<BigNumber>;
338
-
339
- redeemDueRewards(
340
- user: string,
341
- receiver: string,
342
- overrides?: CallOverrides
343
- ): Promise<BigNumber[]>;
316
+ ): Promise<
317
+ [BigNumber, BigNumber[]] & {
318
+ interestOut: BigNumber;
319
+ rewardsOut: BigNumber[];
320
+ }
321
+ >;
344
322
 
345
323
  redeemYO(receiver: string, overrides?: CallOverrides): Promise<BigNumber>;
346
324
 
@@ -419,17 +397,11 @@ export interface IPYieldToken extends BaseContract {
419
397
 
420
398
  name(overrides?: CallOverrides): Promise<BigNumber>;
421
399
 
422
- redeemDueInterest(
400
+ redeemDueInterestAndRewards(
423
401
  user: string,
424
402
  overrides?: Overrides & { from?: string | Promise<string> }
425
403
  ): Promise<BigNumber>;
426
404
 
427
- redeemDueRewards(
428
- user: string,
429
- receiver: string,
430
- overrides?: Overrides & { from?: string | Promise<string> }
431
- ): Promise<BigNumber>;
432
-
433
405
  redeemYO(
434
406
  receiver: string,
435
407
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -489,17 +461,11 @@ export interface IPYieldToken extends BaseContract {
489
461
 
490
462
  name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
491
463
 
492
- redeemDueInterest(
464
+ redeemDueInterestAndRewards(
493
465
  user: string,
494
466
  overrides?: Overrides & { from?: string | Promise<string> }
495
467
  ): Promise<PopulatedTransaction>;
496
468
 
497
- redeemDueRewards(
498
- user: string,
499
- receiver: string,
500
- overrides?: Overrides & { from?: string | Promise<string> }
501
- ): Promise<PopulatedTransaction>;
502
-
503
469
  redeemYO(
504
470
  receiver: string,
505
471
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -0,0 +1,87 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BytesLike,
8
+ CallOverrides,
9
+ PopulatedTransaction,
10
+ Signer,
11
+ utils,
12
+ } from "ethers";
13
+ import { FunctionFragment, Result } from "@ethersproject/abi";
14
+ import { Listener, Provider } from "@ethersproject/providers";
15
+ import type {
16
+ TypedEventFilter,
17
+ TypedEvent,
18
+ TypedListener,
19
+ OnEvent,
20
+ } from "./common";
21
+
22
+ export interface IPermissionsV2UpgInterface extends utils.Interface {
23
+ contractName: "IPermissionsV2Upg";
24
+ functions: {
25
+ "governanceManager()": FunctionFragment;
26
+ };
27
+
28
+ encodeFunctionData(
29
+ functionFragment: "governanceManager",
30
+ values?: undefined
31
+ ): string;
32
+
33
+ decodeFunctionResult(
34
+ functionFragment: "governanceManager",
35
+ data: BytesLike
36
+ ): Result;
37
+
38
+ events: {};
39
+ }
40
+
41
+ export interface IPermissionsV2Upg extends BaseContract {
42
+ contractName: "IPermissionsV2Upg";
43
+ connect(signerOrProvider: Signer | Provider | string): this;
44
+ attach(addressOrName: string): this;
45
+ deployed(): Promise<this>;
46
+
47
+ interface: IPermissionsV2UpgInterface;
48
+
49
+ queryFilter<TEvent extends TypedEvent>(
50
+ event: TypedEventFilter<TEvent>,
51
+ fromBlockOrBlockhash?: string | number | undefined,
52
+ toBlock?: string | number | undefined
53
+ ): Promise<Array<TEvent>>;
54
+
55
+ listeners<TEvent extends TypedEvent>(
56
+ eventFilter?: TypedEventFilter<TEvent>
57
+ ): Array<TypedListener<TEvent>>;
58
+ listeners(eventName?: string): Array<Listener>;
59
+ removeAllListeners<TEvent extends TypedEvent>(
60
+ eventFilter: TypedEventFilter<TEvent>
61
+ ): this;
62
+ removeAllListeners(eventName?: string): this;
63
+ off: OnEvent<this>;
64
+ on: OnEvent<this>;
65
+ once: OnEvent<this>;
66
+ removeListener: OnEvent<this>;
67
+
68
+ functions: {
69
+ governanceManager(overrides?: CallOverrides): Promise<[string]>;
70
+ };
71
+
72
+ governanceManager(overrides?: CallOverrides): Promise<string>;
73
+
74
+ callStatic: {
75
+ governanceManager(overrides?: CallOverrides): Promise<string>;
76
+ };
77
+
78
+ filters: {};
79
+
80
+ estimateGas: {
81
+ governanceManager(overrides?: CallOverrides): Promise<BigNumber>;
82
+ };
83
+
84
+ populateTransaction: {
85
+ governanceManager(overrides?: CallOverrides): Promise<PopulatedTransaction>;
86
+ };
87
+ }
@@ -33,10 +33,12 @@ export interface ISuperComposableYieldInterface extends utils.Interface {
33
33
  "getBaseTokens()": FunctionFragment;
34
34
  "getRewardTokens()": FunctionFragment;
35
35
  "isValidBaseToken(address)": FunctionFragment;
36
- "mint(address,address,uint256)": FunctionFragment;
36
+ "mint(address,address,uint256,uint256)": FunctionFragment;
37
+ "mintNoPull(address,address,uint256)": FunctionFragment;
37
38
  "name()": FunctionFragment;
38
- "redeem(address,address,uint256)": FunctionFragment;
39
- "redeemReward(address,address)": FunctionFragment;
39
+ "redeem(address,address,uint256,uint256)": FunctionFragment;
40
+ "redeemNoPull(address,address,uint256)": FunctionFragment;
41
+ "redeemReward(address)": FunctionFragment;
40
42
  "scyIndexCurrent()": FunctionFragment;
41
43
  "scyIndexStored()": FunctionFragment;
42
44
  "symbol()": FunctionFragment;
@@ -75,16 +77,24 @@ export interface ISuperComposableYieldInterface extends utils.Interface {
75
77
  ): string;
76
78
  encodeFunctionData(
77
79
  functionFragment: "mint",
80
+ values: [string, string, BigNumberish, BigNumberish]
81
+ ): string;
82
+ encodeFunctionData(
83
+ functionFragment: "mintNoPull",
78
84
  values: [string, string, BigNumberish]
79
85
  ): string;
80
86
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
81
87
  encodeFunctionData(
82
88
  functionFragment: "redeem",
89
+ values: [string, string, BigNumberish, BigNumberish]
90
+ ): string;
91
+ encodeFunctionData(
92
+ functionFragment: "redeemNoPull",
83
93
  values: [string, string, BigNumberish]
84
94
  ): string;
85
95
  encodeFunctionData(
86
96
  functionFragment: "redeemReward",
87
- values: [string, string]
97
+ values: [string]
88
98
  ): string;
89
99
  encodeFunctionData(
90
100
  functionFragment: "scyIndexCurrent",
@@ -137,8 +147,13 @@ export interface ISuperComposableYieldInterface extends utils.Interface {
137
147
  data: BytesLike
138
148
  ): Result;
139
149
  decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
150
+ decodeFunctionResult(functionFragment: "mintNoPull", data: BytesLike): Result;
140
151
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
141
152
  decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
153
+ decodeFunctionResult(
154
+ functionFragment: "redeemNoPull",
155
+ data: BytesLike
156
+ ): Result;
142
157
  decodeFunctionResult(
143
158
  functionFragment: "redeemReward",
144
159
  data: BytesLike
@@ -249,6 +264,14 @@ export interface ISuperComposableYield extends BaseContract {
249
264
  ): Promise<[boolean]>;
250
265
 
251
266
  mint(
267
+ receiver: string,
268
+ baseTokenIn: string,
269
+ amountBaseToPull: BigNumberish,
270
+ minAmountScyOut: BigNumberish,
271
+ overrides?: Overrides & { from?: string | Promise<string> }
272
+ ): Promise<ContractTransaction>;
273
+
274
+ mintNoPull(
252
275
  receiver: string,
253
276
  baseTokenIn: string,
254
277
  minAmountScyOut: BigNumberish,
@@ -258,6 +281,14 @@ export interface ISuperComposableYield extends BaseContract {
258
281
  name(overrides?: CallOverrides): Promise<[string]>;
259
282
 
260
283
  redeem(
284
+ receiver: string,
285
+ baseTokenOut: string,
286
+ amountScyToPull: BigNumberish,
287
+ minAmountBaseOut: BigNumberish,
288
+ overrides?: Overrides & { from?: string | Promise<string> }
289
+ ): Promise<ContractTransaction>;
290
+
291
+ redeemNoPull(
261
292
  receiver: string,
262
293
  baseTokenOut: string,
263
294
  minAmountBaseOut: BigNumberish,
@@ -266,7 +297,6 @@ export interface ISuperComposableYield extends BaseContract {
266
297
 
267
298
  redeemReward(
268
299
  user: string,
269
- receiver: string,
270
300
  overrides?: Overrides & { from?: string | Promise<string> }
271
301
  ): Promise<ContractTransaction>;
272
302
 
@@ -328,6 +358,14 @@ export interface ISuperComposableYield extends BaseContract {
328
358
  isValidBaseToken(token: string, overrides?: CallOverrides): Promise<boolean>;
329
359
 
330
360
  mint(
361
+ receiver: string,
362
+ baseTokenIn: string,
363
+ amountBaseToPull: BigNumberish,
364
+ minAmountScyOut: BigNumberish,
365
+ overrides?: Overrides & { from?: string | Promise<string> }
366
+ ): Promise<ContractTransaction>;
367
+
368
+ mintNoPull(
331
369
  receiver: string,
332
370
  baseTokenIn: string,
333
371
  minAmountScyOut: BigNumberish,
@@ -337,6 +375,14 @@ export interface ISuperComposableYield extends BaseContract {
337
375
  name(overrides?: CallOverrides): Promise<string>;
338
376
 
339
377
  redeem(
378
+ receiver: string,
379
+ baseTokenOut: string,
380
+ amountScyToPull: BigNumberish,
381
+ minAmountBaseOut: BigNumberish,
382
+ overrides?: Overrides & { from?: string | Promise<string> }
383
+ ): Promise<ContractTransaction>;
384
+
385
+ redeemNoPull(
340
386
  receiver: string,
341
387
  baseTokenOut: string,
342
388
  minAmountBaseOut: BigNumberish,
@@ -345,7 +391,6 @@ export interface ISuperComposableYield extends BaseContract {
345
391
 
346
392
  redeemReward(
347
393
  user: string,
348
- receiver: string,
349
394
  overrides?: Overrides & { from?: string | Promise<string> }
350
395
  ): Promise<ContractTransaction>;
351
396
 
@@ -410,6 +455,14 @@ export interface ISuperComposableYield extends BaseContract {
410
455
  ): Promise<boolean>;
411
456
 
412
457
  mint(
458
+ receiver: string,
459
+ baseTokenIn: string,
460
+ amountBaseToPull: BigNumberish,
461
+ minAmountScyOut: BigNumberish,
462
+ overrides?: CallOverrides
463
+ ): Promise<BigNumber>;
464
+
465
+ mintNoPull(
413
466
  receiver: string,
414
467
  baseTokenIn: string,
415
468
  minAmountScyOut: BigNumberish,
@@ -421,15 +474,19 @@ export interface ISuperComposableYield extends BaseContract {
421
474
  redeem(
422
475
  receiver: string,
423
476
  baseTokenOut: string,
477
+ amountScyToPull: BigNumberish,
424
478
  minAmountBaseOut: BigNumberish,
425
479
  overrides?: CallOverrides
426
480
  ): Promise<BigNumber>;
427
481
 
428
- redeemReward(
429
- user: string,
482
+ redeemNoPull(
430
483
  receiver: string,
484
+ baseTokenOut: string,
485
+ minAmountBaseOut: BigNumberish,
431
486
  overrides?: CallOverrides
432
- ): Promise<BigNumber[]>;
487
+ ): Promise<BigNumber>;
488
+
489
+ redeemReward(user: string, overrides?: CallOverrides): Promise<BigNumber[]>;
433
490
 
434
491
  scyIndexCurrent(overrides?: CallOverrides): Promise<BigNumber>;
435
492
 
@@ -510,6 +567,14 @@ export interface ISuperComposableYield extends BaseContract {
510
567
  ): Promise<BigNumber>;
511
568
 
512
569
  mint(
570
+ receiver: string,
571
+ baseTokenIn: string,
572
+ amountBaseToPull: BigNumberish,
573
+ minAmountScyOut: BigNumberish,
574
+ overrides?: Overrides & { from?: string | Promise<string> }
575
+ ): Promise<BigNumber>;
576
+
577
+ mintNoPull(
513
578
  receiver: string,
514
579
  baseTokenIn: string,
515
580
  minAmountScyOut: BigNumberish,
@@ -519,6 +584,14 @@ export interface ISuperComposableYield extends BaseContract {
519
584
  name(overrides?: CallOverrides): Promise<BigNumber>;
520
585
 
521
586
  redeem(
587
+ receiver: string,
588
+ baseTokenOut: string,
589
+ amountScyToPull: BigNumberish,
590
+ minAmountBaseOut: BigNumberish,
591
+ overrides?: Overrides & { from?: string | Promise<string> }
592
+ ): Promise<BigNumber>;
593
+
594
+ redeemNoPull(
522
595
  receiver: string,
523
596
  baseTokenOut: string,
524
597
  minAmountBaseOut: BigNumberish,
@@ -527,7 +600,6 @@ export interface ISuperComposableYield extends BaseContract {
527
600
 
528
601
  redeemReward(
529
602
  user: string,
530
- receiver: string,
531
603
  overrides?: Overrides & { from?: string | Promise<string> }
532
604
  ): Promise<BigNumber>;
533
605
 
@@ -596,6 +668,14 @@ export interface ISuperComposableYield extends BaseContract {
596
668
  ): Promise<PopulatedTransaction>;
597
669
 
598
670
  mint(
671
+ receiver: string,
672
+ baseTokenIn: string,
673
+ amountBaseToPull: BigNumberish,
674
+ minAmountScyOut: BigNumberish,
675
+ overrides?: Overrides & { from?: string | Promise<string> }
676
+ ): Promise<PopulatedTransaction>;
677
+
678
+ mintNoPull(
599
679
  receiver: string,
600
680
  baseTokenIn: string,
601
681
  minAmountScyOut: BigNumberish,
@@ -605,6 +685,14 @@ export interface ISuperComposableYield extends BaseContract {
605
685
  name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
606
686
 
607
687
  redeem(
688
+ receiver: string,
689
+ baseTokenOut: string,
690
+ amountScyToPull: BigNumberish,
691
+ minAmountBaseOut: BigNumberish,
692
+ overrides?: Overrides & { from?: string | Promise<string> }
693
+ ): Promise<PopulatedTransaction>;
694
+
695
+ redeemNoPull(
608
696
  receiver: string,
609
697
  baseTokenOut: string,
610
698
  minAmountBaseOut: BigNumberish,
@@ -613,7 +701,6 @@ export interface ISuperComposableYield extends BaseContract {
613
701
 
614
702
  redeemReward(
615
703
  user: string,
616
- receiver: string,
617
704
  overrides?: Overrides & { from?: string | Promise<string> }
618
705
  ): Promise<PopulatedTransaction>;
619
706
 
@@ -0,0 +1,165 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BytesLike,
8
+ CallOverrides,
9
+ ContractTransaction,
10
+ Overrides,
11
+ PopulatedTransaction,
12
+ Signer,
13
+ utils,
14
+ } from "ethers";
15
+ import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
16
+ import { Listener, Provider } from "@ethersproject/providers";
17
+ import type {
18
+ TypedEventFilter,
19
+ TypedEvent,
20
+ TypedListener,
21
+ OnEvent,
22
+ } from "./common";
23
+
24
+ export interface OwnableUpgradeableInterface extends utils.Interface {
25
+ contractName: "OwnableUpgradeable";
26
+ functions: {
27
+ "owner()": FunctionFragment;
28
+ "renounceOwnership()": FunctionFragment;
29
+ "transferOwnership(address)": FunctionFragment;
30
+ };
31
+
32
+ encodeFunctionData(functionFragment: "owner", values?: undefined): string;
33
+ encodeFunctionData(
34
+ functionFragment: "renounceOwnership",
35
+ values?: undefined
36
+ ): string;
37
+ encodeFunctionData(
38
+ functionFragment: "transferOwnership",
39
+ values: [string]
40
+ ): string;
41
+
42
+ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
43
+ decodeFunctionResult(
44
+ functionFragment: "renounceOwnership",
45
+ data: BytesLike
46
+ ): Result;
47
+ decodeFunctionResult(
48
+ functionFragment: "transferOwnership",
49
+ data: BytesLike
50
+ ): Result;
51
+
52
+ events: {
53
+ "OwnershipTransferred(address,address)": EventFragment;
54
+ };
55
+
56
+ getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
57
+ }
58
+
59
+ export type OwnershipTransferredEvent = TypedEvent<
60
+ [string, string],
61
+ { previousOwner: string; newOwner: string }
62
+ >;
63
+
64
+ export type OwnershipTransferredEventFilter =
65
+ TypedEventFilter<OwnershipTransferredEvent>;
66
+
67
+ export interface OwnableUpgradeable extends BaseContract {
68
+ contractName: "OwnableUpgradeable";
69
+ connect(signerOrProvider: Signer | Provider | string): this;
70
+ attach(addressOrName: string): this;
71
+ deployed(): Promise<this>;
72
+
73
+ interface: OwnableUpgradeableInterface;
74
+
75
+ queryFilter<TEvent extends TypedEvent>(
76
+ event: TypedEventFilter<TEvent>,
77
+ fromBlockOrBlockhash?: string | number | undefined,
78
+ toBlock?: string | number | undefined
79
+ ): Promise<Array<TEvent>>;
80
+
81
+ listeners<TEvent extends TypedEvent>(
82
+ eventFilter?: TypedEventFilter<TEvent>
83
+ ): Array<TypedListener<TEvent>>;
84
+ listeners(eventName?: string): Array<Listener>;
85
+ removeAllListeners<TEvent extends TypedEvent>(
86
+ eventFilter: TypedEventFilter<TEvent>
87
+ ): this;
88
+ removeAllListeners(eventName?: string): this;
89
+ off: OnEvent<this>;
90
+ on: OnEvent<this>;
91
+ once: OnEvent<this>;
92
+ removeListener: OnEvent<this>;
93
+
94
+ functions: {
95
+ owner(overrides?: CallOverrides): Promise<[string]>;
96
+
97
+ renounceOwnership(
98
+ overrides?: Overrides & { from?: string | Promise<string> }
99
+ ): Promise<ContractTransaction>;
100
+
101
+ transferOwnership(
102
+ newOwner: string,
103
+ overrides?: Overrides & { from?: string | Promise<string> }
104
+ ): Promise<ContractTransaction>;
105
+ };
106
+
107
+ owner(overrides?: CallOverrides): Promise<string>;
108
+
109
+ renounceOwnership(
110
+ overrides?: Overrides & { from?: string | Promise<string> }
111
+ ): Promise<ContractTransaction>;
112
+
113
+ transferOwnership(
114
+ newOwner: string,
115
+ overrides?: Overrides & { from?: string | Promise<string> }
116
+ ): Promise<ContractTransaction>;
117
+
118
+ callStatic: {
119
+ owner(overrides?: CallOverrides): Promise<string>;
120
+
121
+ renounceOwnership(overrides?: CallOverrides): Promise<void>;
122
+
123
+ transferOwnership(
124
+ newOwner: string,
125
+ overrides?: CallOverrides
126
+ ): Promise<void>;
127
+ };
128
+
129
+ filters: {
130
+ "OwnershipTransferred(address,address)"(
131
+ previousOwner?: string | null,
132
+ newOwner?: string | null
133
+ ): OwnershipTransferredEventFilter;
134
+ OwnershipTransferred(
135
+ previousOwner?: string | null,
136
+ newOwner?: string | null
137
+ ): OwnershipTransferredEventFilter;
138
+ };
139
+
140
+ estimateGas: {
141
+ owner(overrides?: CallOverrides): Promise<BigNumber>;
142
+
143
+ renounceOwnership(
144
+ overrides?: Overrides & { from?: string | Promise<string> }
145
+ ): Promise<BigNumber>;
146
+
147
+ transferOwnership(
148
+ newOwner: string,
149
+ overrides?: Overrides & { from?: string | Promise<string> }
150
+ ): Promise<BigNumber>;
151
+ };
152
+
153
+ populateTransaction: {
154
+ owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
155
+
156
+ renounceOwnership(
157
+ overrides?: Overrides & { from?: string | Promise<string> }
158
+ ): Promise<PopulatedTransaction>;
159
+
160
+ transferOwnership(
161
+ newOwner: string,
162
+ overrides?: Overrides & { from?: string | Promise<string> }
163
+ ): Promise<PopulatedTransaction>;
164
+ };
165
+ }