@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
@@ -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 PermissionsV2UpgInterface extends utils.Interface {
23
+ contractName: "PermissionsV2Upg";
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 PermissionsV2Upg extends BaseContract {
42
+ contractName: "PermissionsV2Upg";
43
+ connect(signerOrProvider: Signer | Provider | string): this;
44
+ attach(addressOrName: string): this;
45
+ deployed(): Promise<this>;
46
+
47
+ interface: PermissionsV2UpgInterface;
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
+ }
@@ -35,10 +35,12 @@ export interface SCYBaseInterface extends utils.Interface {
35
35
  "getRewardTokens()": FunctionFragment;
36
36
  "increaseAllowance(address,uint256)": FunctionFragment;
37
37
  "isValidBaseToken(address)": FunctionFragment;
38
- "mint(address,address,uint256)": FunctionFragment;
38
+ "mint(address,address,uint256,uint256)": FunctionFragment;
39
+ "mintNoPull(address,address,uint256)": FunctionFragment;
39
40
  "name()": FunctionFragment;
40
- "redeem(address,address,uint256)": FunctionFragment;
41
- "redeemReward(address,address)": FunctionFragment;
41
+ "redeem(address,address,uint256,uint256)": FunctionFragment;
42
+ "redeemNoPull(address,address,uint256)": FunctionFragment;
43
+ "redeemReward(address)": FunctionFragment;
42
44
  "scyIndexCurrent()": FunctionFragment;
43
45
  "scyIndexStored()": FunctionFragment;
44
46
  "symbol()": FunctionFragment;
@@ -85,16 +87,24 @@ export interface SCYBaseInterface extends utils.Interface {
85
87
  ): string;
86
88
  encodeFunctionData(
87
89
  functionFragment: "mint",
90
+ values: [string, string, BigNumberish, BigNumberish]
91
+ ): string;
92
+ encodeFunctionData(
93
+ functionFragment: "mintNoPull",
88
94
  values: [string, string, BigNumberish]
89
95
  ): string;
90
96
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
91
97
  encodeFunctionData(
92
98
  functionFragment: "redeem",
99
+ values: [string, string, BigNumberish, BigNumberish]
100
+ ): string;
101
+ encodeFunctionData(
102
+ functionFragment: "redeemNoPull",
93
103
  values: [string, string, BigNumberish]
94
104
  ): string;
95
105
  encodeFunctionData(
96
106
  functionFragment: "redeemReward",
97
- values: [string, string]
107
+ values: [string]
98
108
  ): string;
99
109
  encodeFunctionData(
100
110
  functionFragment: "scyIndexCurrent",
@@ -155,8 +165,13 @@ export interface SCYBaseInterface extends utils.Interface {
155
165
  data: BytesLike
156
166
  ): Result;
157
167
  decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
168
+ decodeFunctionResult(functionFragment: "mintNoPull", data: BytesLike): Result;
158
169
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
159
170
  decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
171
+ decodeFunctionResult(
172
+ functionFragment: "redeemNoPull",
173
+ data: BytesLike
174
+ ): Result;
160
175
  decodeFunctionResult(
161
176
  functionFragment: "redeemReward",
162
177
  data: BytesLike
@@ -281,6 +296,14 @@ export interface SCYBase extends BaseContract {
281
296
  ): Promise<[boolean]>;
282
297
 
283
298
  mint(
299
+ receiver: string,
300
+ baseTokenIn: string,
301
+ amountBaseToPull: BigNumberish,
302
+ minAmountScyOut: BigNumberish,
303
+ overrides?: Overrides & { from?: string | Promise<string> }
304
+ ): Promise<ContractTransaction>;
305
+
306
+ mintNoPull(
284
307
  receiver: string,
285
308
  baseTokenIn: string,
286
309
  minAmountScyOut: BigNumberish,
@@ -290,6 +313,14 @@ export interface SCYBase extends BaseContract {
290
313
  name(overrides?: CallOverrides): Promise<[string]>;
291
314
 
292
315
  redeem(
316
+ receiver: string,
317
+ baseTokenOut: string,
318
+ amountScyToPull: BigNumberish,
319
+ minAmountBaseOut: BigNumberish,
320
+ overrides?: Overrides & { from?: string | Promise<string> }
321
+ ): Promise<ContractTransaction>;
322
+
323
+ redeemNoPull(
293
324
  receiver: string,
294
325
  baseTokenOut: string,
295
326
  minAmountBaseOut: BigNumberish,
@@ -298,7 +329,6 @@ export interface SCYBase extends BaseContract {
298
329
 
299
330
  redeemReward(
300
331
  user: string,
301
- receiver: string,
302
332
  overrides?: Overrides & { from?: string | Promise<string> }
303
333
  ): Promise<ContractTransaction>;
304
334
 
@@ -374,6 +404,14 @@ export interface SCYBase extends BaseContract {
374
404
  isValidBaseToken(token: string, overrides?: CallOverrides): Promise<boolean>;
375
405
 
376
406
  mint(
407
+ receiver: string,
408
+ baseTokenIn: string,
409
+ amountBaseToPull: BigNumberish,
410
+ minAmountScyOut: BigNumberish,
411
+ overrides?: Overrides & { from?: string | Promise<string> }
412
+ ): Promise<ContractTransaction>;
413
+
414
+ mintNoPull(
377
415
  receiver: string,
378
416
  baseTokenIn: string,
379
417
  minAmountScyOut: BigNumberish,
@@ -383,6 +421,14 @@ export interface SCYBase extends BaseContract {
383
421
  name(overrides?: CallOverrides): Promise<string>;
384
422
 
385
423
  redeem(
424
+ receiver: string,
425
+ baseTokenOut: string,
426
+ amountScyToPull: BigNumberish,
427
+ minAmountBaseOut: BigNumberish,
428
+ overrides?: Overrides & { from?: string | Promise<string> }
429
+ ): Promise<ContractTransaction>;
430
+
431
+ redeemNoPull(
386
432
  receiver: string,
387
433
  baseTokenOut: string,
388
434
  minAmountBaseOut: BigNumberish,
@@ -391,7 +437,6 @@ export interface SCYBase extends BaseContract {
391
437
 
392
438
  redeemReward(
393
439
  user: string,
394
- receiver: string,
395
440
  overrides?: Overrides & { from?: string | Promise<string> }
396
441
  ): Promise<ContractTransaction>;
397
442
 
@@ -468,6 +513,14 @@ export interface SCYBase extends BaseContract {
468
513
  ): Promise<boolean>;
469
514
 
470
515
  mint(
516
+ receiver: string,
517
+ baseTokenIn: string,
518
+ amountBaseToPull: BigNumberish,
519
+ minAmountScyOut: BigNumberish,
520
+ overrides?: CallOverrides
521
+ ): Promise<BigNumber>;
522
+
523
+ mintNoPull(
471
524
  receiver: string,
472
525
  baseTokenIn: string,
473
526
  minAmountScyOut: BigNumberish,
@@ -479,15 +532,19 @@ export interface SCYBase extends BaseContract {
479
532
  redeem(
480
533
  receiver: string,
481
534
  baseTokenOut: string,
535
+ amountScyToPull: BigNumberish,
482
536
  minAmountBaseOut: BigNumberish,
483
537
  overrides?: CallOverrides
484
538
  ): Promise<BigNumber>;
485
539
 
486
- redeemReward(
487
- user: string,
540
+ redeemNoPull(
488
541
  receiver: string,
542
+ baseTokenOut: string,
543
+ minAmountBaseOut: BigNumberish,
489
544
  overrides?: CallOverrides
490
- ): Promise<BigNumber[]>;
545
+ ): Promise<BigNumber>;
546
+
547
+ redeemReward(user: string, overrides?: CallOverrides): Promise<BigNumber[]>;
491
548
 
492
549
  scyIndexCurrent(overrides?: CallOverrides): Promise<BigNumber>;
493
550
 
@@ -580,6 +637,14 @@ export interface SCYBase extends BaseContract {
580
637
  ): Promise<BigNumber>;
581
638
 
582
639
  mint(
640
+ receiver: string,
641
+ baseTokenIn: string,
642
+ amountBaseToPull: BigNumberish,
643
+ minAmountScyOut: BigNumberish,
644
+ overrides?: Overrides & { from?: string | Promise<string> }
645
+ ): Promise<BigNumber>;
646
+
647
+ mintNoPull(
583
648
  receiver: string,
584
649
  baseTokenIn: string,
585
650
  minAmountScyOut: BigNumberish,
@@ -589,6 +654,14 @@ export interface SCYBase extends BaseContract {
589
654
  name(overrides?: CallOverrides): Promise<BigNumber>;
590
655
 
591
656
  redeem(
657
+ receiver: string,
658
+ baseTokenOut: string,
659
+ amountScyToPull: BigNumberish,
660
+ minAmountBaseOut: BigNumberish,
661
+ overrides?: Overrides & { from?: string | Promise<string> }
662
+ ): Promise<BigNumber>;
663
+
664
+ redeemNoPull(
592
665
  receiver: string,
593
666
  baseTokenOut: string,
594
667
  minAmountBaseOut: BigNumberish,
@@ -597,7 +670,6 @@ export interface SCYBase extends BaseContract {
597
670
 
598
671
  redeemReward(
599
672
  user: string,
600
- receiver: string,
601
673
  overrides?: Overrides & { from?: string | Promise<string> }
602
674
  ): Promise<BigNumber>;
603
675
 
@@ -678,6 +750,14 @@ export interface SCYBase extends BaseContract {
678
750
  ): Promise<PopulatedTransaction>;
679
751
 
680
752
  mint(
753
+ receiver: string,
754
+ baseTokenIn: string,
755
+ amountBaseToPull: BigNumberish,
756
+ minAmountScyOut: BigNumberish,
757
+ overrides?: Overrides & { from?: string | Promise<string> }
758
+ ): Promise<PopulatedTransaction>;
759
+
760
+ mintNoPull(
681
761
  receiver: string,
682
762
  baseTokenIn: string,
683
763
  minAmountScyOut: BigNumberish,
@@ -687,6 +767,14 @@ export interface SCYBase extends BaseContract {
687
767
  name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
688
768
 
689
769
  redeem(
770
+ receiver: string,
771
+ baseTokenOut: string,
772
+ amountScyToPull: BigNumberish,
773
+ minAmountBaseOut: BigNumberish,
774
+ overrides?: Overrides & { from?: string | Promise<string> }
775
+ ): Promise<PopulatedTransaction>;
776
+
777
+ redeemNoPull(
690
778
  receiver: string,
691
779
  baseTokenOut: string,
692
780
  minAmountBaseOut: BigNumberish,
@@ -695,7 +783,6 @@ export interface SCYBase extends BaseContract {
695
783
 
696
784
  redeemReward(
697
785
  user: string,
698
- receiver: string,
699
786
  overrides?: Overrides & { from?: string | Promise<string> }
700
787
  ): Promise<PopulatedTransaction>;
701
788
 
@@ -36,10 +36,12 @@ export interface SCYBaseWithRewardsInterface extends utils.Interface {
36
36
  "globalReward(address)": FunctionFragment;
37
37
  "increaseAllowance(address,uint256)": FunctionFragment;
38
38
  "isValidBaseToken(address)": FunctionFragment;
39
- "mint(address,address,uint256)": FunctionFragment;
39
+ "mint(address,address,uint256,uint256)": FunctionFragment;
40
+ "mintNoPull(address,address,uint256)": FunctionFragment;
40
41
  "name()": FunctionFragment;
41
- "redeem(address,address,uint256)": FunctionFragment;
42
- "redeemReward(address,address)": FunctionFragment;
42
+ "redeem(address,address,uint256,uint256)": FunctionFragment;
43
+ "redeemNoPull(address,address,uint256)": FunctionFragment;
44
+ "redeemReward(address)": FunctionFragment;
43
45
  "scyIndexCurrent()": FunctionFragment;
44
46
  "scyIndexStored()": FunctionFragment;
45
47
  "symbol()": FunctionFragment;
@@ -91,16 +93,24 @@ export interface SCYBaseWithRewardsInterface extends utils.Interface {
91
93
  ): string;
92
94
  encodeFunctionData(
93
95
  functionFragment: "mint",
96
+ values: [string, string, BigNumberish, BigNumberish]
97
+ ): string;
98
+ encodeFunctionData(
99
+ functionFragment: "mintNoPull",
94
100
  values: [string, string, BigNumberish]
95
101
  ): string;
96
102
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
97
103
  encodeFunctionData(
98
104
  functionFragment: "redeem",
105
+ values: [string, string, BigNumberish, BigNumberish]
106
+ ): string;
107
+ encodeFunctionData(
108
+ functionFragment: "redeemNoPull",
99
109
  values: [string, string, BigNumberish]
100
110
  ): string;
101
111
  encodeFunctionData(
102
112
  functionFragment: "redeemReward",
103
- values: [string, string]
113
+ values: [string]
104
114
  ): string;
105
115
  encodeFunctionData(
106
116
  functionFragment: "scyIndexCurrent",
@@ -169,8 +179,13 @@ export interface SCYBaseWithRewardsInterface extends utils.Interface {
169
179
  data: BytesLike
170
180
  ): Result;
171
181
  decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
182
+ decodeFunctionResult(functionFragment: "mintNoPull", data: BytesLike): Result;
172
183
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
173
184
  decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
185
+ decodeFunctionResult(
186
+ functionFragment: "redeemNoPull",
187
+ data: BytesLike
188
+ ): Result;
174
189
  decodeFunctionResult(
175
190
  functionFragment: "redeemReward",
176
191
  data: BytesLike
@@ -303,6 +318,14 @@ export interface SCYBaseWithRewards extends BaseContract {
303
318
  ): Promise<[boolean]>;
304
319
 
305
320
  mint(
321
+ receiver: string,
322
+ baseTokenIn: string,
323
+ amountBaseToPull: BigNumberish,
324
+ minAmountScyOut: BigNumberish,
325
+ overrides?: Overrides & { from?: string | Promise<string> }
326
+ ): Promise<ContractTransaction>;
327
+
328
+ mintNoPull(
306
329
  receiver: string,
307
330
  baseTokenIn: string,
308
331
  minAmountScyOut: BigNumberish,
@@ -312,6 +335,14 @@ export interface SCYBaseWithRewards extends BaseContract {
312
335
  name(overrides?: CallOverrides): Promise<[string]>;
313
336
 
314
337
  redeem(
338
+ receiver: string,
339
+ baseTokenOut: string,
340
+ amountScyToPull: BigNumberish,
341
+ minAmountBaseOut: BigNumberish,
342
+ overrides?: Overrides & { from?: string | Promise<string> }
343
+ ): Promise<ContractTransaction>;
344
+
345
+ redeemNoPull(
315
346
  receiver: string,
316
347
  baseTokenOut: string,
317
348
  minAmountBaseOut: BigNumberish,
@@ -320,7 +351,6 @@ export interface SCYBaseWithRewards extends BaseContract {
320
351
 
321
352
  redeemReward(
322
353
  user: string,
323
- receiver: string,
324
354
  overrides?: Overrides & { from?: string | Promise<string> }
325
355
  ): Promise<ContractTransaction>;
326
356
 
@@ -414,6 +444,14 @@ export interface SCYBaseWithRewards extends BaseContract {
414
444
  isValidBaseToken(token: string, overrides?: CallOverrides): Promise<boolean>;
415
445
 
416
446
  mint(
447
+ receiver: string,
448
+ baseTokenIn: string,
449
+ amountBaseToPull: BigNumberish,
450
+ minAmountScyOut: BigNumberish,
451
+ overrides?: Overrides & { from?: string | Promise<string> }
452
+ ): Promise<ContractTransaction>;
453
+
454
+ mintNoPull(
417
455
  receiver: string,
418
456
  baseTokenIn: string,
419
457
  minAmountScyOut: BigNumberish,
@@ -423,6 +461,14 @@ export interface SCYBaseWithRewards extends BaseContract {
423
461
  name(overrides?: CallOverrides): Promise<string>;
424
462
 
425
463
  redeem(
464
+ receiver: string,
465
+ baseTokenOut: string,
466
+ amountScyToPull: BigNumberish,
467
+ minAmountBaseOut: BigNumberish,
468
+ overrides?: Overrides & { from?: string | Promise<string> }
469
+ ): Promise<ContractTransaction>;
470
+
471
+ redeemNoPull(
426
472
  receiver: string,
427
473
  baseTokenOut: string,
428
474
  minAmountBaseOut: BigNumberish,
@@ -431,7 +477,6 @@ export interface SCYBaseWithRewards extends BaseContract {
431
477
 
432
478
  redeemReward(
433
479
  user: string,
434
- receiver: string,
435
480
  overrides?: Overrides & { from?: string | Promise<string> }
436
481
  ): Promise<ContractTransaction>;
437
482
 
@@ -523,6 +568,14 @@ export interface SCYBaseWithRewards extends BaseContract {
523
568
  ): Promise<boolean>;
524
569
 
525
570
  mint(
571
+ receiver: string,
572
+ baseTokenIn: string,
573
+ amountBaseToPull: BigNumberish,
574
+ minAmountScyOut: BigNumberish,
575
+ overrides?: CallOverrides
576
+ ): Promise<BigNumber>;
577
+
578
+ mintNoPull(
526
579
  receiver: string,
527
580
  baseTokenIn: string,
528
581
  minAmountScyOut: BigNumberish,
@@ -534,15 +587,19 @@ export interface SCYBaseWithRewards extends BaseContract {
534
587
  redeem(
535
588
  receiver: string,
536
589
  baseTokenOut: string,
590
+ amountScyToPull: BigNumberish,
537
591
  minAmountBaseOut: BigNumberish,
538
592
  overrides?: CallOverrides
539
593
  ): Promise<BigNumber>;
540
594
 
541
- redeemReward(
542
- user: string,
595
+ redeemNoPull(
543
596
  receiver: string,
597
+ baseTokenOut: string,
598
+ minAmountBaseOut: BigNumberish,
544
599
  overrides?: CallOverrides
545
- ): Promise<BigNumber[]>;
600
+ ): Promise<BigNumber>;
601
+
602
+ redeemReward(user: string, overrides?: CallOverrides): Promise<BigNumber[]>;
546
603
 
547
604
  scyIndexCurrent(overrides?: CallOverrides): Promise<BigNumber>;
548
605
 
@@ -648,6 +705,14 @@ export interface SCYBaseWithRewards extends BaseContract {
648
705
  ): Promise<BigNumber>;
649
706
 
650
707
  mint(
708
+ receiver: string,
709
+ baseTokenIn: string,
710
+ amountBaseToPull: BigNumberish,
711
+ minAmountScyOut: BigNumberish,
712
+ overrides?: Overrides & { from?: string | Promise<string> }
713
+ ): Promise<BigNumber>;
714
+
715
+ mintNoPull(
651
716
  receiver: string,
652
717
  baseTokenIn: string,
653
718
  minAmountScyOut: BigNumberish,
@@ -657,6 +722,14 @@ export interface SCYBaseWithRewards extends BaseContract {
657
722
  name(overrides?: CallOverrides): Promise<BigNumber>;
658
723
 
659
724
  redeem(
725
+ receiver: string,
726
+ baseTokenOut: string,
727
+ amountScyToPull: BigNumberish,
728
+ minAmountBaseOut: BigNumberish,
729
+ overrides?: Overrides & { from?: string | Promise<string> }
730
+ ): Promise<BigNumber>;
731
+
732
+ redeemNoPull(
660
733
  receiver: string,
661
734
  baseTokenOut: string,
662
735
  minAmountBaseOut: BigNumberish,
@@ -665,7 +738,6 @@ export interface SCYBaseWithRewards extends BaseContract {
665
738
 
666
739
  redeemReward(
667
740
  user: string,
668
- receiver: string,
669
741
  overrides?: Overrides & { from?: string | Promise<string> }
670
742
  ): Promise<BigNumber>;
671
743
 
@@ -757,6 +829,14 @@ export interface SCYBaseWithRewards extends BaseContract {
757
829
  ): Promise<PopulatedTransaction>;
758
830
 
759
831
  mint(
832
+ receiver: string,
833
+ baseTokenIn: string,
834
+ amountBaseToPull: BigNumberish,
835
+ minAmountScyOut: BigNumberish,
836
+ overrides?: Overrides & { from?: string | Promise<string> }
837
+ ): Promise<PopulatedTransaction>;
838
+
839
+ mintNoPull(
760
840
  receiver: string,
761
841
  baseTokenIn: string,
762
842
  minAmountScyOut: BigNumberish,
@@ -766,6 +846,14 @@ export interface SCYBaseWithRewards extends BaseContract {
766
846
  name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
767
847
 
768
848
  redeem(
849
+ receiver: string,
850
+ baseTokenOut: string,
851
+ amountScyToPull: BigNumberish,
852
+ minAmountBaseOut: BigNumberish,
853
+ overrides?: Overrides & { from?: string | Promise<string> }
854
+ ): Promise<PopulatedTransaction>;
855
+
856
+ redeemNoPull(
769
857
  receiver: string,
770
858
  baseTokenOut: string,
771
859
  minAmountBaseOut: BigNumberish,
@@ -774,7 +862,6 @@ export interface SCYBaseWithRewards extends BaseContract {
774
862
 
775
863
  redeemReward(
776
864
  user: string,
777
- receiver: string,
778
865
  overrides?: Overrides & { from?: string | Promise<string> }
779
866
  ): Promise<PopulatedTransaction>;
780
867
 
@@ -260,7 +260,13 @@ const _abi = [
260
260
  type: "function",
261
261
  },
262
262
  {
263
- inputs: [],
263
+ inputs: [
264
+ {
265
+ internalType: "bool",
266
+ name: "updateRateOracle",
267
+ type: "bool",
268
+ },
269
+ ],
264
270
  name: "readState",
265
271
  outputs: [
266
272
  {
@@ -321,7 +327,7 @@ const _abi = [
321
327
  type: "uint256",
322
328
  },
323
329
  ],
324
- internalType: "struct MarketParameters",
330
+ internalType: "struct MarketState",
325
331
  name: "market",
326
332
  type: "tuple",
327
333
  },