@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
@@ -28,6 +28,7 @@ export interface SCYBaseInterface extends utils.Interface {
28
28
  "allowance(address,address)": FunctionFragment;
29
29
  "approve(address,uint256)": FunctionFragment;
30
30
  "assetDecimals()": FunctionFragment;
31
+ "assetId()": FunctionFragment;
31
32
  "balanceOf(address)": FunctionFragment;
32
33
  "decimals()": FunctionFragment;
33
34
  "decreaseAllowance(address,uint256)": FunctionFragment;
@@ -63,6 +64,7 @@ export interface SCYBaseInterface extends utils.Interface {
63
64
  functionFragment: "assetDecimals",
64
65
  values?: undefined
65
66
  ): string;
67
+ encodeFunctionData(functionFragment: "assetId", values?: undefined): string;
66
68
  encodeFunctionData(functionFragment: "balanceOf", values: [string]): string;
67
69
  encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
68
70
  encodeFunctionData(
@@ -142,6 +144,7 @@ export interface SCYBaseInterface extends utils.Interface {
142
144
  functionFragment: "assetDecimals",
143
145
  data: BytesLike
144
146
  ): Result;
147
+ decodeFunctionResult(functionFragment: "assetId", data: BytesLike): Result;
145
148
  decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
146
149
  decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
147
150
  decodeFunctionResult(
@@ -206,10 +209,12 @@ export interface SCYBaseInterface extends utils.Interface {
206
209
  events: {
207
210
  "Approval(address,address,uint256)": EventFragment;
208
211
  "Transfer(address,address,uint256)": EventFragment;
212
+ "UpdateScyIndex(uint256)": EventFragment;
209
213
  };
210
214
 
211
215
  getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
212
216
  getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
217
+ getEvent(nameOrSignatureOrTopic: "UpdateScyIndex"): EventFragment;
213
218
  }
214
219
 
215
220
  export type ApprovalEvent = TypedEvent<
@@ -226,6 +231,13 @@ export type TransferEvent = TypedEvent<
226
231
 
227
232
  export type TransferEventFilter = TypedEventFilter<TransferEvent>;
228
233
 
234
+ export type UpdateScyIndexEvent = TypedEvent<
235
+ [BigNumber],
236
+ { scyIndex: BigNumber }
237
+ >;
238
+
239
+ export type UpdateScyIndexEventFilter = TypedEventFilter<UpdateScyIndexEvent>;
240
+
229
241
  export interface SCYBase extends BaseContract {
230
242
  contractName: "SCYBase";
231
243
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -268,6 +280,8 @@ export interface SCYBase extends BaseContract {
268
280
 
269
281
  assetDecimals(overrides?: CallOverrides): Promise<[number]>;
270
282
 
283
+ assetId(overrides?: CallOverrides): Promise<[string]>;
284
+
271
285
  balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
272
286
 
273
287
  decimals(overrides?: CallOverrides): Promise<[number]>;
@@ -381,6 +395,8 @@ export interface SCYBase extends BaseContract {
381
395
 
382
396
  assetDecimals(overrides?: CallOverrides): Promise<number>;
383
397
 
398
+ assetId(overrides?: CallOverrides): Promise<string>;
399
+
384
400
  balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
385
401
 
386
402
  decimals(overrides?: CallOverrides): Promise<number>;
@@ -487,6 +503,8 @@ export interface SCYBase extends BaseContract {
487
503
 
488
504
  assetDecimals(overrides?: CallOverrides): Promise<number>;
489
505
 
506
+ assetId(overrides?: CallOverrides): Promise<string>;
507
+
490
508
  balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
491
509
 
492
510
  decimals(overrides?: CallOverrides): Promise<number>;
@@ -594,6 +612,9 @@ export interface SCYBase extends BaseContract {
594
612
  to?: string | null,
595
613
  value?: null
596
614
  ): TransferEventFilter;
615
+
616
+ "UpdateScyIndex(uint256)"(scyIndex?: null): UpdateScyIndexEventFilter;
617
+ UpdateScyIndex(scyIndex?: null): UpdateScyIndexEventFilter;
597
618
  };
598
619
 
599
620
  estimateGas: {
@@ -611,6 +632,8 @@ export interface SCYBase extends BaseContract {
611
632
 
612
633
  assetDecimals(overrides?: CallOverrides): Promise<BigNumber>;
613
634
 
635
+ assetId(overrides?: CallOverrides): Promise<BigNumber>;
636
+
614
637
  balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
615
638
 
616
639
  decimals(overrides?: CallOverrides): Promise<BigNumber>;
@@ -721,6 +744,8 @@ export interface SCYBase extends BaseContract {
721
744
 
722
745
  assetDecimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
723
746
 
747
+ assetId(overrides?: CallOverrides): Promise<PopulatedTransaction>;
748
+
724
749
  balanceOf(
725
750
  account: string,
726
751
  overrides?: CallOverrides
@@ -28,6 +28,7 @@ export interface SCYBaseWithRewardsInterface extends utils.Interface {
28
28
  "allowance(address,address)": FunctionFragment;
29
29
  "approve(address,uint256)": FunctionFragment;
30
30
  "assetDecimals()": FunctionFragment;
31
+ "assetId()": FunctionFragment;
31
32
  "balanceOf(address)": FunctionFragment;
32
33
  "decimals()": FunctionFragment;
33
34
  "decreaseAllowance(address,uint256)": FunctionFragment;
@@ -37,6 +38,7 @@ export interface SCYBaseWithRewardsInterface extends utils.Interface {
37
38
  "getUserReward(address,address)": FunctionFragment;
38
39
  "increaseAllowance(address,uint256)": FunctionFragment;
39
40
  "isValidBaseToken(address)": FunctionFragment;
41
+ "lastRewardUpdateBlock()": FunctionFragment;
40
42
  "mint(address,address,uint256,uint256)": FunctionFragment;
41
43
  "mintNoPull(address,address,uint256)": FunctionFragment;
42
44
  "name()": FunctionFragment;
@@ -65,6 +67,7 @@ export interface SCYBaseWithRewardsInterface extends utils.Interface {
65
67
  functionFragment: "assetDecimals",
66
68
  values?: undefined
67
69
  ): string;
70
+ encodeFunctionData(functionFragment: "assetId", values?: undefined): string;
68
71
  encodeFunctionData(functionFragment: "balanceOf", values: [string]): string;
69
72
  encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
70
73
  encodeFunctionData(
@@ -95,6 +98,10 @@ export interface SCYBaseWithRewardsInterface extends utils.Interface {
95
98
  functionFragment: "isValidBaseToken",
96
99
  values: [string]
97
100
  ): string;
101
+ encodeFunctionData(
102
+ functionFragment: "lastRewardUpdateBlock",
103
+ values?: undefined
104
+ ): string;
98
105
  encodeFunctionData(
99
106
  functionFragment: "mint",
100
107
  values: [string, string, BigNumberish, BigNumberish]
@@ -152,6 +159,7 @@ export interface SCYBaseWithRewardsInterface extends utils.Interface {
152
159
  functionFragment: "assetDecimals",
153
160
  data: BytesLike
154
161
  ): Result;
162
+ decodeFunctionResult(functionFragment: "assetId", data: BytesLike): Result;
155
163
  decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
156
164
  decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
157
165
  decodeFunctionResult(
@@ -182,6 +190,10 @@ export interface SCYBaseWithRewardsInterface extends utils.Interface {
182
190
  functionFragment: "isValidBaseToken",
183
191
  data: BytesLike
184
192
  ): Result;
193
+ decodeFunctionResult(
194
+ functionFragment: "lastRewardUpdateBlock",
195
+ data: BytesLike
196
+ ): Result;
185
197
  decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
186
198
  decodeFunctionResult(functionFragment: "mintNoPull", data: BytesLike): Result;
187
199
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
@@ -223,11 +235,15 @@ export interface SCYBaseWithRewardsInterface extends utils.Interface {
223
235
 
224
236
  events: {
225
237
  "Approval(address,address,uint256)": EventFragment;
238
+ "RedeemReward(address,uint256[])": EventFragment;
226
239
  "Transfer(address,address,uint256)": EventFragment;
240
+ "UpdateScyIndex(uint256)": EventFragment;
227
241
  };
228
242
 
229
243
  getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
244
+ getEvent(nameOrSignatureOrTopic: "RedeemReward"): EventFragment;
230
245
  getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
246
+ getEvent(nameOrSignatureOrTopic: "UpdateScyIndex"): EventFragment;
231
247
  }
232
248
 
233
249
  export type ApprovalEvent = TypedEvent<
@@ -237,6 +253,13 @@ export type ApprovalEvent = TypedEvent<
237
253
 
238
254
  export type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
239
255
 
256
+ export type RedeemRewardEvent = TypedEvent<
257
+ [string, BigNumber[]],
258
+ { user: string; rewardsOut: BigNumber[] }
259
+ >;
260
+
261
+ export type RedeemRewardEventFilter = TypedEventFilter<RedeemRewardEvent>;
262
+
240
263
  export type TransferEvent = TypedEvent<
241
264
  [string, string, BigNumber],
242
265
  { from: string; to: string; value: BigNumber }
@@ -244,6 +267,13 @@ export type TransferEvent = TypedEvent<
244
267
 
245
268
  export type TransferEventFilter = TypedEventFilter<TransferEvent>;
246
269
 
270
+ export type UpdateScyIndexEvent = TypedEvent<
271
+ [BigNumber],
272
+ { scyIndex: BigNumber }
273
+ >;
274
+
275
+ export type UpdateScyIndexEventFilter = TypedEventFilter<UpdateScyIndexEvent>;
276
+
247
277
  export interface SCYBaseWithRewards extends BaseContract {
248
278
  contractName: "SCYBaseWithRewards";
249
279
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -286,6 +316,8 @@ export interface SCYBaseWithRewards extends BaseContract {
286
316
 
287
317
  assetDecimals(overrides?: CallOverrides): Promise<[number]>;
288
318
 
319
+ assetId(overrides?: CallOverrides): Promise<[string]>;
320
+
289
321
  balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
290
322
 
291
323
  decimals(overrides?: CallOverrides): Promise<[number]>;
@@ -331,6 +363,8 @@ export interface SCYBaseWithRewards extends BaseContract {
331
363
  overrides?: CallOverrides
332
364
  ): Promise<[boolean]>;
333
365
 
366
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<[BigNumber]>;
367
+
334
368
  mint(
335
369
  receiver: string,
336
370
  baseTokenIn: string,
@@ -417,6 +451,8 @@ export interface SCYBaseWithRewards extends BaseContract {
417
451
 
418
452
  assetDecimals(overrides?: CallOverrides): Promise<number>;
419
453
 
454
+ assetId(overrides?: CallOverrides): Promise<string>;
455
+
420
456
  balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
421
457
 
422
458
  decimals(overrides?: CallOverrides): Promise<number>;
@@ -454,6 +490,8 @@ export interface SCYBaseWithRewards extends BaseContract {
454
490
 
455
491
  isValidBaseToken(token: string, overrides?: CallOverrides): Promise<boolean>;
456
492
 
493
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<BigNumber>;
494
+
457
495
  mint(
458
496
  receiver: string,
459
497
  baseTokenIn: string,
@@ -538,6 +576,8 @@ export interface SCYBaseWithRewards extends BaseContract {
538
576
 
539
577
  assetDecimals(overrides?: CallOverrides): Promise<number>;
540
578
 
579
+ assetId(overrides?: CallOverrides): Promise<string>;
580
+
541
581
  balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
542
582
 
543
583
  decimals(overrides?: CallOverrides): Promise<number>;
@@ -581,6 +621,8 @@ export interface SCYBaseWithRewards extends BaseContract {
581
621
  overrides?: CallOverrides
582
622
  ): Promise<boolean>;
583
623
 
624
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<BigNumber>;
625
+
584
626
  mint(
585
627
  receiver: string,
586
628
  baseTokenIn: string,
@@ -653,6 +695,15 @@ export interface SCYBaseWithRewards extends BaseContract {
653
695
  value?: null
654
696
  ): ApprovalEventFilter;
655
697
 
698
+ "RedeemReward(address,uint256[])"(
699
+ user?: string | null,
700
+ rewardsOut?: null
701
+ ): RedeemRewardEventFilter;
702
+ RedeemReward(
703
+ user?: string | null,
704
+ rewardsOut?: null
705
+ ): RedeemRewardEventFilter;
706
+
656
707
  "Transfer(address,address,uint256)"(
657
708
  from?: string | null,
658
709
  to?: string | null,
@@ -663,6 +714,9 @@ export interface SCYBaseWithRewards extends BaseContract {
663
714
  to?: string | null,
664
715
  value?: null
665
716
  ): TransferEventFilter;
717
+
718
+ "UpdateScyIndex(uint256)"(scyIndex?: null): UpdateScyIndexEventFilter;
719
+ UpdateScyIndex(scyIndex?: null): UpdateScyIndexEventFilter;
666
720
  };
667
721
 
668
722
  estimateGas: {
@@ -680,6 +734,8 @@ export interface SCYBaseWithRewards extends BaseContract {
680
734
 
681
735
  assetDecimals(overrides?: CallOverrides): Promise<BigNumber>;
682
736
 
737
+ assetId(overrides?: CallOverrides): Promise<BigNumber>;
738
+
683
739
  balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
684
740
 
685
741
  decimals(overrides?: CallOverrides): Promise<BigNumber>;
@@ -716,6 +772,8 @@ export interface SCYBaseWithRewards extends BaseContract {
716
772
  overrides?: CallOverrides
717
773
  ): Promise<BigNumber>;
718
774
 
775
+ lastRewardUpdateBlock(overrides?: CallOverrides): Promise<BigNumber>;
776
+
719
777
  mint(
720
778
  receiver: string,
721
779
  baseTokenIn: string,
@@ -801,6 +859,8 @@ export interface SCYBaseWithRewards extends BaseContract {
801
859
 
802
860
  assetDecimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
803
861
 
862
+ assetId(overrides?: CallOverrides): Promise<PopulatedTransaction>;
863
+
804
864
  balanceOf(
805
865
  account: string,
806
866
  overrides?: CallOverrides
@@ -840,6 +900,10 @@ export interface SCYBaseWithRewards extends BaseContract {
840
900
  overrides?: CallOverrides
841
901
  ): Promise<PopulatedTransaction>;
842
902
 
903
+ lastRewardUpdateBlock(
904
+ overrides?: CallOverrides
905
+ ): Promise<PopulatedTransaction>;
906
+
843
907
  mint(
844
908
  receiver: string,
845
909
  baseTokenIn: string,
@@ -37,7 +37,7 @@ const _abi = [
37
37
  inputs: [
38
38
  {
39
39
  internalType: "int256",
40
- name: "otToAccount",
40
+ name: "ptToAccount",
41
41
  type: "int256",
42
42
  },
43
43
  {
@@ -59,7 +59,7 @@ const _abi = [
59
59
  ];
60
60
 
61
61
  const _bytecode =
62
- "0x60a060405234801561001057600080fd5b50604051610e94380380610e9483398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610e04610090600039600081816040015260a60152610e046000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306ae70951461003b578063fa483e7214610078575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405161006f9190610a05565b60405180910390f35b61008b610086366004610a19565b61008d565b005b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906100db908490600401610a05565b60206040518083038186803b1580156100f357600080fd5b505afa158015610107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012b9190610a98565b61016d5760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d3505492d15560921b60448201526064015b60405180910390fd5b600061017b83850185610ae4565b509050600281600381111561019257610192610ba5565b14156101a8576101a3338585610254565b61024c565b60018160038111156101bc576101bc610ba5565b14156101cf576101a3338787878761035f565b60038160038111156101e3576101e3610ba5565b1480610200575060008160038111156101fe576101fe610ba5565b145b15610211576101a333868686610541565b60405162461bcd60e51b815260206004820152601060248201526f756e6b6e6f776e20737761705479706560801b6044820152606401610164565b505050505050565b6000836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561028f57600080fd5b505afa1580156102a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c79190610bd3565b9250600091506102db905083850185610c20565b604051630aa1fb9760e41b81529092506001600160a01b038416915063aa1fb9709061030d9088908590600401610c57565b602060405180830381600087803b15801561032757600080fd5b505af115801561033b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024c9190610c71565b60008061036e83850185610c8a565b9250925050600080886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b1580156103af57600080fd5b505afa1580156103c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e79190610bd3565b925050915060006103ff6103fa8a6106ab565b6106bc565b9050600061040c896106bc565b9050600061048c856001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561044e57600080fd5b505af1158015610462573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104869190610c71565b846106cf565b9050600061049a82846106f5565b90506104b16001600160a01b03871689878461070c565b846001600160a01b031663aa1fb9708e896040518363ffffffff1660e01b81526004016104df929190610c57565b602060405180830381600087803b1580156104f957600080fd5b505af115801561050d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105319190610c71565b5050505050505050505050505050565b600061054f82840184610c20565b915050600080866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561058e57600080fd5b505afa1580156105a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c69190610bd3565b925050915060006105d96103fa886106ab565b90506000826001600160a01b03166380a7c9ac306040518263ffffffff1660e01b81526004016106099190610a05565b602060405180830381600087803b15801561062357600080fd5b505af1158015610637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065b9190610c71565b90506106716001600160a01b0385168a8461077d565b6001600160a01b03851630146106a0576106a08561068f8484610cde565b6001600160a01b038716919061077d565b505050505050505050565b60006106b682610cf5565b92915050565b6000808212156106cb57600080fd5b5090565b6000826106e4670de0b6b3a764000084610d12565b6106ee9190610d31565b9392505050565b6000818310156107065760006106ee565b50900390565b6040516001600160a01b03808516602483015283166044820152606481018290526107779085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526107b2565b50505050565b6040516001600160a01b0383166024820152604481018290526107ad90849063a9059cbb60e01b90606401610740565b505050565b6000610807826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108849092919063ffffffff16565b8051909150156107ad57808060200190518101906108259190610a98565b6107ad5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610164565b6060610893848460008561089b565b949350505050565b6060824710156108fc5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610164565b6001600160a01b0385163b6109535760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610164565b600080866001600160a01b0316858760405161096f9190610d7f565b60006040518083038185875af1925050503d80600081146109ac576040519150601f19603f3d011682016040523d82523d6000602084013e6109b1565b606091505b50915091506109c18282866109cc565b979650505050505050565b606083156109db5750816106ee565b8251156109eb5782518084602001fd5b8160405162461bcd60e51b81526004016101649190610d9b565b6001600160a01b0391909116815260200190565b60008060008060608587031215610a2f57600080fd5b843593506020850135925060408501356001600160401b0380821115610a5457600080fd5b818701915087601f830112610a6857600080fd5b813581811115610a7757600080fd5b886020828501011115610a8957600080fd5b95989497505060200194505050565b600060208284031215610aaa57600080fd5b815180151581146106ee57600080fd5b803560048110610ac957600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610af757600080fd5b610b0083610aba565b915060208301356001600160401b0380821115610b1c57600080fd5b818501915085601f830112610b3057600080fd5b813581811115610b4257610b42610ace565b604051601f8201601f19908116603f01168101908382118183101715610b6a57610b6a610ace565b81604052828152886020848701011115610b8357600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b0381168114610bd057600080fd5b50565b600080600060608486031215610be857600080fd5b8351610bf381610bbb565b6020850151909350610c0481610bbb565b6040850151909250610c1581610bbb565b809150509250925092565b60008060408385031215610c3357600080fd5b610c3c83610aba565b91506020830135610c4c81610bbb565b809150509250929050565b6001600160a01b0392831681529116602082015260400190565b600060208284031215610c8357600080fd5b5051919050565b600080600060608486031215610c9f57600080fd5b610ca884610aba565b92506020840135610cb881610bbb565b91506040840135610c1581610bbb565b634e487b7160e01b600052601160045260246000fd5b600082821015610cf057610cf0610cc8565b500390565b6000600160ff1b821415610d0b57610d0b610cc8565b5060000390565b6000816000190483118215151615610d2c57610d2c610cc8565b500290565b600082610d4e57634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015610d6e578181015183820152602001610d56565b838111156107775750506000910152565b60008251610d91818460208701610d53565b9190910192915050565b6020815260008251806020840152610dba816040850160208701610d53565b601f01601f1916919091016040019291505056fea2646970667358221220fad1139516a811a2838b9edbcd07431428fae734a9c56cbe726b57ddd903316f64736f6c63430008090033";
62
+ "0x60a060405234801561001057600080fd5b50604051610f2b380380610f2b83398101604081905261002f91610089565b6001600160a01b0381166100785760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640160405180910390fd5b6001600160a01b03166080526100b9565b60006020828403121561009b57600080fd5b81516001600160a01b03811681146100b257600080fd5b9392505050565b608051610e526100d9600039600081816040015260a60152610e526000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306ae70951461003b578063fa483e7214610078575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405161006f9190610acc565b60405180910390f35b61008b610086366004610ae0565b61008d565b005b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906100db908490600401610acc565b60206040518083038186803b1580156100f357600080fd5b505afa158015610107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012b9190610b5f565b61016d5760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d3505492d15560921b60448201526064015b60405180910390fd5b600061017b83850185610bad565b509050600281600381111561019257610192610be4565b14156101aa576101a53387878787610257565b61024f565b60018160038111156101be576101be610be4565b14156101d1576101a5338787878761039d565b60038160038111156101e5576101e5610be4565b14806102025750600081600381111561020057610200610be4565b145b15610214576101a533878787876105c7565b60405162461bcd60e51b815260206004820152601060248201526f756e6b6e6f776e20737761705479706560801b6044820152606401610164565b505050505050565b6000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561029257600080fd5b505afa1580156102a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ca9190610bfa565b9250600091506102de905083850185610bad565b91505060006102ec87610732565b90506000836001600160a01b031663db74aa158a856040518363ffffffff1660e01b815260040161031e929190610c47565b602060405180830381600087803b15801561033857600080fd5b505af115801561034c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103709190610c61565b9050818110156103925760405162461bcd60e51b815260040161016490610c7a565b505050505050505050565b6000806103ac83850185610caa565b9250925050600080886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b1580156103ed57600080fd5b505afa158015610401573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104259190610bfa565b9250509150600061043d6104388a610751565b61075c565b9050600061044a8961075c565b90506000846001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561048957600080fd5b505af115801561049d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c19190610c61565b905060006104cf828561076b565b90506104e382670de0b6b3a7640000610791565b6104ed9082610cfe565b905060006104fb82856107bc565b90506105126001600160a01b0388168a88846107d3565b506000856001600160a01b031663db74aa158f8a6040518363ffffffff1660e01b8152600401610543929190610c47565b602060405180830381600087803b15801561055d57600080fd5b505af1158015610571573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105959190610c61565b9050848110156105b75760405162461bcd60e51b815260040161016490610c7a565b5050505050505050505050505050565b60006105d582840184610bad565b915050600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b815260040160606040518083038186803b15801561061457600080fd5b505afa158015610628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064c9190610bfa565b9250509150600061065f61043888610751565b90506000826001600160a01b031663bcb7ea5d306040518263ffffffff1660e01b815260040161068f9190610acc565b602060405180830381600087803b1580156106a957600080fd5b505af11580156106bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e19190610c61565b90506106f76001600160a01b0385168b84610844565b6001600160a01b038516301461072657610726856107158484610d16565b6001600160a01b0387169190610844565b50505050505050505050565b60008082136107495761074482610d2d565b61074b565b815b92915050565b600061074b82610d2d565b60008082121561074957600080fd5b600082610780670de0b6b3a764000084610d4a565b61078a9190610d7f565b9392505050565b6000826107a05750600061074b565b81600183850103816107b4576107b4610d69565b04905061074b565b6000818310156107cd57600061078a565b50900390565b6040516001600160a01b038085166024830152831660448201526064810182905261083e9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610879565b50505050565b6040516001600160a01b03831660248201526044810182905261087490849063a9059cbb60e01b90606401610807565b505050565b60006108ce826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661094b9092919063ffffffff16565b80519091501561087457808060200190518101906108ec9190610b5f565b6108745760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610164565b606061095a8484600085610962565b949350505050565b6060824710156109c35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610164565b6001600160a01b0385163b610a1a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610164565b600080866001600160a01b03168587604051610a369190610dcd565b60006040518083038185875af1925050503d8060008114610a73576040519150601f19603f3d011682016040523d82523d6000602084013e610a78565b606091505b5091509150610a88828286610a93565b979650505050505050565b60608315610aa257508161078a565b825115610ab25782518084602001fd5b8160405162461bcd60e51b81526004016101649190610de9565b6001600160a01b0391909116815260200190565b60008060008060608587031215610af657600080fd5b843593506020850135925060408501356001600160401b0380821115610b1b57600080fd5b818701915087601f830112610b2f57600080fd5b813581811115610b3e57600080fd5b886020828501011115610b5057600080fd5b95989497505060200194505050565b600060208284031215610b7157600080fd5b8151801515811461078a57600080fd5b803560048110610b9057600080fd5b919050565b6001600160a01b0381168114610baa57600080fd5b50565b60008060408385031215610bc057600080fd5b610bc983610b81565b91506020830135610bd981610b95565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b600080600060608486031215610c0f57600080fd5b8351610c1a81610b95565b6020850151909350610c2b81610b95565b6040850151909250610c3c81610b95565b809150509250925092565b6001600160a01b0392831681529116602082015260400190565b600060208284031215610c7357600080fd5b5051919050565b602080825260169082015275696e73756666696369656e7420707420746f2070617960501b604082015260600190565b600080600060608486031215610cbf57600080fd5b610cc884610b81565b92506020840135610cd881610b95565b91506040840135610c3c81610b95565b634e487b7160e01b600052601160045260246000fd5b60008219821115610d1157610d11610ce8565b500190565b600082821015610d2857610d28610ce8565b500390565b6000600160ff1b821415610d4357610d43610ce8565b5060000390565b6000816000190483118215151615610d6457610d64610ce8565b500290565b634e487b7160e01b600052601260045260246000fd5b600082610d9c57634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015610dbc578181015183820152602001610da4565b8381111561083e5750506000910152565b60008251610ddf818460208701610da1565b9190910192915050565b6020815260008251806020840152610e08816040850160208701610da1565b601f01601f1916919091016040019291505056fea264697066735822122086022b4a2843bb296c293a36a94d06ccd068312c4e7efb57ee2e510d3bbf083364736f6c63430008090033";
63
63
 
64
64
  type ActionCallbackConstructorParams =
65
65
  | [signer?: Signer]