@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
@@ -0,0 +1,872 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ ContractTransaction,
11
+ Overrides,
12
+ PopulatedTransaction,
13
+ Signer,
14
+ utils,
15
+ } from "ethers";
16
+ import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
17
+ import { Listener, Provider } from "@ethersproject/providers";
18
+ import type {
19
+ TypedEventFilter,
20
+ TypedEvent,
21
+ TypedListener,
22
+ OnEvent,
23
+ } from "./common";
24
+
25
+ export interface PendleStEthSCYInterface extends utils.Interface {
26
+ contractName: "PendleStEthSCY";
27
+ functions: {
28
+ "allowance(address,address)": FunctionFragment;
29
+ "approve(address,uint256)": FunctionFragment;
30
+ "assetDecimals()": FunctionFragment;
31
+ "assetId()": FunctionFragment;
32
+ "balanceOf(address)": FunctionFragment;
33
+ "decimals()": FunctionFragment;
34
+ "decreaseAllowance(address,uint256)": FunctionFragment;
35
+ "getBaseTokens()": FunctionFragment;
36
+ "getRewardTokens()": FunctionFragment;
37
+ "increaseAllowance(address,uint256)": FunctionFragment;
38
+ "isValidBaseToken(address)": FunctionFragment;
39
+ "mint(address,address,uint256,uint256)": FunctionFragment;
40
+ "mintNoPull(address,address,uint256)": FunctionFragment;
41
+ "name()": FunctionFragment;
42
+ "redeem(address,address,uint256,uint256)": FunctionFragment;
43
+ "redeemNoPull(address,address,uint256)": FunctionFragment;
44
+ "redeemReward(address)": FunctionFragment;
45
+ "scyIndexCurrent()": FunctionFragment;
46
+ "scyIndexStored()": FunctionFragment;
47
+ "stETH()": FunctionFragment;
48
+ "symbol()": FunctionFragment;
49
+ "totalSupply()": FunctionFragment;
50
+ "transfer(address,uint256)": FunctionFragment;
51
+ "transferFrom(address,address,uint256)": FunctionFragment;
52
+ "updateGlobalReward()": FunctionFragment;
53
+ "updateUserReward(address)": FunctionFragment;
54
+ "wstETH()": FunctionFragment;
55
+ };
56
+
57
+ encodeFunctionData(
58
+ functionFragment: "allowance",
59
+ values: [string, string]
60
+ ): string;
61
+ encodeFunctionData(
62
+ functionFragment: "approve",
63
+ values: [string, BigNumberish]
64
+ ): string;
65
+ encodeFunctionData(
66
+ functionFragment: "assetDecimals",
67
+ values?: undefined
68
+ ): string;
69
+ encodeFunctionData(functionFragment: "assetId", values?: undefined): string;
70
+ encodeFunctionData(functionFragment: "balanceOf", values: [string]): string;
71
+ encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
72
+ encodeFunctionData(
73
+ functionFragment: "decreaseAllowance",
74
+ values: [string, BigNumberish]
75
+ ): string;
76
+ encodeFunctionData(
77
+ functionFragment: "getBaseTokens",
78
+ values?: undefined
79
+ ): string;
80
+ encodeFunctionData(
81
+ functionFragment: "getRewardTokens",
82
+ values?: undefined
83
+ ): string;
84
+ encodeFunctionData(
85
+ functionFragment: "increaseAllowance",
86
+ values: [string, BigNumberish]
87
+ ): string;
88
+ encodeFunctionData(
89
+ functionFragment: "isValidBaseToken",
90
+ values: [string]
91
+ ): string;
92
+ encodeFunctionData(
93
+ functionFragment: "mint",
94
+ values: [string, string, BigNumberish, BigNumberish]
95
+ ): string;
96
+ encodeFunctionData(
97
+ functionFragment: "mintNoPull",
98
+ values: [string, string, BigNumberish]
99
+ ): string;
100
+ encodeFunctionData(functionFragment: "name", values?: undefined): string;
101
+ encodeFunctionData(
102
+ functionFragment: "redeem",
103
+ values: [string, string, BigNumberish, BigNumberish]
104
+ ): string;
105
+ encodeFunctionData(
106
+ functionFragment: "redeemNoPull",
107
+ values: [string, string, BigNumberish]
108
+ ): string;
109
+ encodeFunctionData(
110
+ functionFragment: "redeemReward",
111
+ values: [string]
112
+ ): string;
113
+ encodeFunctionData(
114
+ functionFragment: "scyIndexCurrent",
115
+ values?: undefined
116
+ ): string;
117
+ encodeFunctionData(
118
+ functionFragment: "scyIndexStored",
119
+ values?: undefined
120
+ ): string;
121
+ encodeFunctionData(functionFragment: "stETH", values?: undefined): string;
122
+ encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
123
+ encodeFunctionData(
124
+ functionFragment: "totalSupply",
125
+ values?: undefined
126
+ ): string;
127
+ encodeFunctionData(
128
+ functionFragment: "transfer",
129
+ values: [string, BigNumberish]
130
+ ): string;
131
+ encodeFunctionData(
132
+ functionFragment: "transferFrom",
133
+ values: [string, string, BigNumberish]
134
+ ): string;
135
+ encodeFunctionData(
136
+ functionFragment: "updateGlobalReward",
137
+ values?: undefined
138
+ ): string;
139
+ encodeFunctionData(
140
+ functionFragment: "updateUserReward",
141
+ values: [string]
142
+ ): string;
143
+ encodeFunctionData(functionFragment: "wstETH", values?: undefined): string;
144
+
145
+ decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
146
+ decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
147
+ decodeFunctionResult(
148
+ functionFragment: "assetDecimals",
149
+ data: BytesLike
150
+ ): Result;
151
+ decodeFunctionResult(functionFragment: "assetId", data: BytesLike): Result;
152
+ decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
153
+ decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
154
+ decodeFunctionResult(
155
+ functionFragment: "decreaseAllowance",
156
+ data: BytesLike
157
+ ): Result;
158
+ decodeFunctionResult(
159
+ functionFragment: "getBaseTokens",
160
+ data: BytesLike
161
+ ): Result;
162
+ decodeFunctionResult(
163
+ functionFragment: "getRewardTokens",
164
+ data: BytesLike
165
+ ): Result;
166
+ decodeFunctionResult(
167
+ functionFragment: "increaseAllowance",
168
+ data: BytesLike
169
+ ): Result;
170
+ decodeFunctionResult(
171
+ functionFragment: "isValidBaseToken",
172
+ data: BytesLike
173
+ ): Result;
174
+ decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
175
+ decodeFunctionResult(functionFragment: "mintNoPull", data: BytesLike): Result;
176
+ decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
177
+ decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
178
+ decodeFunctionResult(
179
+ functionFragment: "redeemNoPull",
180
+ data: BytesLike
181
+ ): Result;
182
+ decodeFunctionResult(
183
+ functionFragment: "redeemReward",
184
+ data: BytesLike
185
+ ): Result;
186
+ decodeFunctionResult(
187
+ functionFragment: "scyIndexCurrent",
188
+ data: BytesLike
189
+ ): Result;
190
+ decodeFunctionResult(
191
+ functionFragment: "scyIndexStored",
192
+ data: BytesLike
193
+ ): Result;
194
+ decodeFunctionResult(functionFragment: "stETH", data: BytesLike): Result;
195
+ decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
196
+ decodeFunctionResult(
197
+ functionFragment: "totalSupply",
198
+ data: BytesLike
199
+ ): Result;
200
+ decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
201
+ decodeFunctionResult(
202
+ functionFragment: "transferFrom",
203
+ data: BytesLike
204
+ ): Result;
205
+ decodeFunctionResult(
206
+ functionFragment: "updateGlobalReward",
207
+ data: BytesLike
208
+ ): Result;
209
+ decodeFunctionResult(
210
+ functionFragment: "updateUserReward",
211
+ data: BytesLike
212
+ ): Result;
213
+ decodeFunctionResult(functionFragment: "wstETH", data: BytesLike): Result;
214
+
215
+ events: {
216
+ "Approval(address,address,uint256)": EventFragment;
217
+ "Transfer(address,address,uint256)": EventFragment;
218
+ "UpdateScyIndex(uint256)": EventFragment;
219
+ };
220
+
221
+ getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
222
+ getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
223
+ getEvent(nameOrSignatureOrTopic: "UpdateScyIndex"): EventFragment;
224
+ }
225
+
226
+ export type ApprovalEvent = TypedEvent<
227
+ [string, string, BigNumber],
228
+ { owner: string; spender: string; value: BigNumber }
229
+ >;
230
+
231
+ export type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
232
+
233
+ export type TransferEvent = TypedEvent<
234
+ [string, string, BigNumber],
235
+ { from: string; to: string; value: BigNumber }
236
+ >;
237
+
238
+ export type TransferEventFilter = TypedEventFilter<TransferEvent>;
239
+
240
+ export type UpdateScyIndexEvent = TypedEvent<
241
+ [BigNumber],
242
+ { scyIndex: BigNumber }
243
+ >;
244
+
245
+ export type UpdateScyIndexEventFilter = TypedEventFilter<UpdateScyIndexEvent>;
246
+
247
+ export interface PendleStEthSCY extends BaseContract {
248
+ contractName: "PendleStEthSCY";
249
+ connect(signerOrProvider: Signer | Provider | string): this;
250
+ attach(addressOrName: string): this;
251
+ deployed(): Promise<this>;
252
+
253
+ interface: PendleStEthSCYInterface;
254
+
255
+ queryFilter<TEvent extends TypedEvent>(
256
+ event: TypedEventFilter<TEvent>,
257
+ fromBlockOrBlockhash?: string | number | undefined,
258
+ toBlock?: string | number | undefined
259
+ ): Promise<Array<TEvent>>;
260
+
261
+ listeners<TEvent extends TypedEvent>(
262
+ eventFilter?: TypedEventFilter<TEvent>
263
+ ): Array<TypedListener<TEvent>>;
264
+ listeners(eventName?: string): Array<Listener>;
265
+ removeAllListeners<TEvent extends TypedEvent>(
266
+ eventFilter: TypedEventFilter<TEvent>
267
+ ): this;
268
+ removeAllListeners(eventName?: string): this;
269
+ off: OnEvent<this>;
270
+ on: OnEvent<this>;
271
+ once: OnEvent<this>;
272
+ removeListener: OnEvent<this>;
273
+
274
+ functions: {
275
+ allowance(
276
+ owner: string,
277
+ spender: string,
278
+ overrides?: CallOverrides
279
+ ): Promise<[BigNumber]>;
280
+
281
+ approve(
282
+ spender: string,
283
+ amount: BigNumberish,
284
+ overrides?: Overrides & { from?: string | Promise<string> }
285
+ ): Promise<ContractTransaction>;
286
+
287
+ assetDecimals(overrides?: CallOverrides): Promise<[number]>;
288
+
289
+ assetId(overrides?: CallOverrides): Promise<[string]>;
290
+
291
+ balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
292
+
293
+ decimals(overrides?: CallOverrides): Promise<[number]>;
294
+
295
+ decreaseAllowance(
296
+ spender: string,
297
+ subtractedValue: BigNumberish,
298
+ overrides?: Overrides & { from?: string | Promise<string> }
299
+ ): Promise<ContractTransaction>;
300
+
301
+ getBaseTokens(
302
+ overrides?: CallOverrides
303
+ ): Promise<[string[]] & { res: string[] }>;
304
+
305
+ getRewardTokens(
306
+ overrides?: CallOverrides
307
+ ): Promise<[string[]] & { res: string[] }>;
308
+
309
+ increaseAllowance(
310
+ spender: string,
311
+ addedValue: BigNumberish,
312
+ overrides?: Overrides & { from?: string | Promise<string> }
313
+ ): Promise<ContractTransaction>;
314
+
315
+ isValidBaseToken(
316
+ token: string,
317
+ overrides?: CallOverrides
318
+ ): Promise<[boolean]>;
319
+
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(
329
+ receiver: string,
330
+ baseTokenIn: string,
331
+ minAmountScyOut: BigNumberish,
332
+ overrides?: Overrides & { from?: string | Promise<string> }
333
+ ): Promise<ContractTransaction>;
334
+
335
+ name(overrides?: CallOverrides): Promise<[string]>;
336
+
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(
346
+ receiver: string,
347
+ baseTokenOut: string,
348
+ minAmountBaseOut: BigNumberish,
349
+ overrides?: Overrides & { from?: string | Promise<string> }
350
+ ): Promise<ContractTransaction>;
351
+
352
+ redeemReward(
353
+ user: string,
354
+ overrides?: Overrides & { from?: string | Promise<string> }
355
+ ): Promise<ContractTransaction>;
356
+
357
+ scyIndexCurrent(
358
+ overrides?: Overrides & { from?: string | Promise<string> }
359
+ ): Promise<ContractTransaction>;
360
+
361
+ scyIndexStored(overrides?: CallOverrides): Promise<[BigNumber]>;
362
+
363
+ stETH(overrides?: CallOverrides): Promise<[string]>;
364
+
365
+ symbol(overrides?: CallOverrides): Promise<[string]>;
366
+
367
+ totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
368
+
369
+ transfer(
370
+ to: string,
371
+ amount: BigNumberish,
372
+ overrides?: Overrides & { from?: string | Promise<string> }
373
+ ): Promise<ContractTransaction>;
374
+
375
+ transferFrom(
376
+ from: string,
377
+ to: string,
378
+ amount: BigNumberish,
379
+ overrides?: Overrides & { from?: string | Promise<string> }
380
+ ): Promise<ContractTransaction>;
381
+
382
+ updateGlobalReward(
383
+ overrides?: Overrides & { from?: string | Promise<string> }
384
+ ): Promise<ContractTransaction>;
385
+
386
+ updateUserReward(
387
+ user: string,
388
+ overrides?: Overrides & { from?: string | Promise<string> }
389
+ ): Promise<ContractTransaction>;
390
+
391
+ wstETH(overrides?: CallOverrides): Promise<[string]>;
392
+ };
393
+
394
+ allowance(
395
+ owner: string,
396
+ spender: string,
397
+ overrides?: CallOverrides
398
+ ): Promise<BigNumber>;
399
+
400
+ approve(
401
+ spender: string,
402
+ amount: BigNumberish,
403
+ overrides?: Overrides & { from?: string | Promise<string> }
404
+ ): Promise<ContractTransaction>;
405
+
406
+ assetDecimals(overrides?: CallOverrides): Promise<number>;
407
+
408
+ assetId(overrides?: CallOverrides): Promise<string>;
409
+
410
+ balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
411
+
412
+ decimals(overrides?: CallOverrides): Promise<number>;
413
+
414
+ decreaseAllowance(
415
+ spender: string,
416
+ subtractedValue: BigNumberish,
417
+ overrides?: Overrides & { from?: string | Promise<string> }
418
+ ): Promise<ContractTransaction>;
419
+
420
+ getBaseTokens(overrides?: CallOverrides): Promise<string[]>;
421
+
422
+ getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
423
+
424
+ increaseAllowance(
425
+ spender: string,
426
+ addedValue: BigNumberish,
427
+ overrides?: Overrides & { from?: string | Promise<string> }
428
+ ): Promise<ContractTransaction>;
429
+
430
+ isValidBaseToken(token: string, overrides?: CallOverrides): Promise<boolean>;
431
+
432
+ mint(
433
+ receiver: string,
434
+ baseTokenIn: string,
435
+ amountBaseToPull: BigNumberish,
436
+ minAmountScyOut: BigNumberish,
437
+ overrides?: Overrides & { from?: string | Promise<string> }
438
+ ): Promise<ContractTransaction>;
439
+
440
+ mintNoPull(
441
+ receiver: string,
442
+ baseTokenIn: string,
443
+ minAmountScyOut: BigNumberish,
444
+ overrides?: Overrides & { from?: string | Promise<string> }
445
+ ): Promise<ContractTransaction>;
446
+
447
+ name(overrides?: CallOverrides): Promise<string>;
448
+
449
+ redeem(
450
+ receiver: string,
451
+ baseTokenOut: string,
452
+ amountScyToPull: BigNumberish,
453
+ minAmountBaseOut: BigNumberish,
454
+ overrides?: Overrides & { from?: string | Promise<string> }
455
+ ): Promise<ContractTransaction>;
456
+
457
+ redeemNoPull(
458
+ receiver: string,
459
+ baseTokenOut: string,
460
+ minAmountBaseOut: BigNumberish,
461
+ overrides?: Overrides & { from?: string | Promise<string> }
462
+ ): Promise<ContractTransaction>;
463
+
464
+ redeemReward(
465
+ user: string,
466
+ overrides?: Overrides & { from?: string | Promise<string> }
467
+ ): Promise<ContractTransaction>;
468
+
469
+ scyIndexCurrent(
470
+ overrides?: Overrides & { from?: string | Promise<string> }
471
+ ): Promise<ContractTransaction>;
472
+
473
+ scyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
474
+
475
+ stETH(overrides?: CallOverrides): Promise<string>;
476
+
477
+ symbol(overrides?: CallOverrides): Promise<string>;
478
+
479
+ totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
480
+
481
+ transfer(
482
+ to: string,
483
+ amount: BigNumberish,
484
+ overrides?: Overrides & { from?: string | Promise<string> }
485
+ ): Promise<ContractTransaction>;
486
+
487
+ transferFrom(
488
+ from: string,
489
+ to: string,
490
+ amount: BigNumberish,
491
+ overrides?: Overrides & { from?: string | Promise<string> }
492
+ ): Promise<ContractTransaction>;
493
+
494
+ updateGlobalReward(
495
+ overrides?: Overrides & { from?: string | Promise<string> }
496
+ ): Promise<ContractTransaction>;
497
+
498
+ updateUserReward(
499
+ user: string,
500
+ overrides?: Overrides & { from?: string | Promise<string> }
501
+ ): Promise<ContractTransaction>;
502
+
503
+ wstETH(overrides?: CallOverrides): Promise<string>;
504
+
505
+ callStatic: {
506
+ allowance(
507
+ owner: string,
508
+ spender: string,
509
+ overrides?: CallOverrides
510
+ ): Promise<BigNumber>;
511
+
512
+ approve(
513
+ spender: string,
514
+ amount: BigNumberish,
515
+ overrides?: CallOverrides
516
+ ): Promise<boolean>;
517
+
518
+ assetDecimals(overrides?: CallOverrides): Promise<number>;
519
+
520
+ assetId(overrides?: CallOverrides): Promise<string>;
521
+
522
+ balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
523
+
524
+ decimals(overrides?: CallOverrides): Promise<number>;
525
+
526
+ decreaseAllowance(
527
+ spender: string,
528
+ subtractedValue: BigNumberish,
529
+ overrides?: CallOverrides
530
+ ): Promise<boolean>;
531
+
532
+ getBaseTokens(overrides?: CallOverrides): Promise<string[]>;
533
+
534
+ getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
535
+
536
+ increaseAllowance(
537
+ spender: string,
538
+ addedValue: BigNumberish,
539
+ overrides?: CallOverrides
540
+ ): Promise<boolean>;
541
+
542
+ isValidBaseToken(
543
+ token: string,
544
+ overrides?: CallOverrides
545
+ ): Promise<boolean>;
546
+
547
+ mint(
548
+ receiver: string,
549
+ baseTokenIn: string,
550
+ amountBaseToPull: BigNumberish,
551
+ minAmountScyOut: BigNumberish,
552
+ overrides?: CallOverrides
553
+ ): Promise<BigNumber>;
554
+
555
+ mintNoPull(
556
+ receiver: string,
557
+ baseTokenIn: string,
558
+ minAmountScyOut: BigNumberish,
559
+ overrides?: CallOverrides
560
+ ): Promise<BigNumber>;
561
+
562
+ name(overrides?: CallOverrides): Promise<string>;
563
+
564
+ redeem(
565
+ receiver: string,
566
+ baseTokenOut: string,
567
+ amountScyToPull: BigNumberish,
568
+ minAmountBaseOut: BigNumberish,
569
+ overrides?: CallOverrides
570
+ ): Promise<BigNumber>;
571
+
572
+ redeemNoPull(
573
+ receiver: string,
574
+ baseTokenOut: string,
575
+ minAmountBaseOut: BigNumberish,
576
+ overrides?: CallOverrides
577
+ ): Promise<BigNumber>;
578
+
579
+ redeemReward(user: string, overrides?: CallOverrides): Promise<BigNumber[]>;
580
+
581
+ scyIndexCurrent(overrides?: CallOverrides): Promise<BigNumber>;
582
+
583
+ scyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
584
+
585
+ stETH(overrides?: CallOverrides): Promise<string>;
586
+
587
+ symbol(overrides?: CallOverrides): Promise<string>;
588
+
589
+ totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
590
+
591
+ transfer(
592
+ to: string,
593
+ amount: BigNumberish,
594
+ overrides?: CallOverrides
595
+ ): Promise<boolean>;
596
+
597
+ transferFrom(
598
+ from: string,
599
+ to: string,
600
+ amount: BigNumberish,
601
+ overrides?: CallOverrides
602
+ ): Promise<boolean>;
603
+
604
+ updateGlobalReward(overrides?: CallOverrides): Promise<void>;
605
+
606
+ updateUserReward(user: string, overrides?: CallOverrides): Promise<void>;
607
+
608
+ wstETH(overrides?: CallOverrides): Promise<string>;
609
+ };
610
+
611
+ filters: {
612
+ "Approval(address,address,uint256)"(
613
+ owner?: string | null,
614
+ spender?: string | null,
615
+ value?: null
616
+ ): ApprovalEventFilter;
617
+ Approval(
618
+ owner?: string | null,
619
+ spender?: string | null,
620
+ value?: null
621
+ ): ApprovalEventFilter;
622
+
623
+ "Transfer(address,address,uint256)"(
624
+ from?: string | null,
625
+ to?: string | null,
626
+ value?: null
627
+ ): TransferEventFilter;
628
+ Transfer(
629
+ from?: string | null,
630
+ to?: string | null,
631
+ value?: null
632
+ ): TransferEventFilter;
633
+
634
+ "UpdateScyIndex(uint256)"(scyIndex?: null): UpdateScyIndexEventFilter;
635
+ UpdateScyIndex(scyIndex?: null): UpdateScyIndexEventFilter;
636
+ };
637
+
638
+ estimateGas: {
639
+ allowance(
640
+ owner: string,
641
+ spender: string,
642
+ overrides?: CallOverrides
643
+ ): Promise<BigNumber>;
644
+
645
+ approve(
646
+ spender: string,
647
+ amount: BigNumberish,
648
+ overrides?: Overrides & { from?: string | Promise<string> }
649
+ ): Promise<BigNumber>;
650
+
651
+ assetDecimals(overrides?: CallOverrides): Promise<BigNumber>;
652
+
653
+ assetId(overrides?: CallOverrides): Promise<BigNumber>;
654
+
655
+ balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
656
+
657
+ decimals(overrides?: CallOverrides): Promise<BigNumber>;
658
+
659
+ decreaseAllowance(
660
+ spender: string,
661
+ subtractedValue: BigNumberish,
662
+ overrides?: Overrides & { from?: string | Promise<string> }
663
+ ): Promise<BigNumber>;
664
+
665
+ getBaseTokens(overrides?: CallOverrides): Promise<BigNumber>;
666
+
667
+ getRewardTokens(overrides?: CallOverrides): Promise<BigNumber>;
668
+
669
+ increaseAllowance(
670
+ spender: string,
671
+ addedValue: BigNumberish,
672
+ overrides?: Overrides & { from?: string | Promise<string> }
673
+ ): Promise<BigNumber>;
674
+
675
+ isValidBaseToken(
676
+ token: string,
677
+ overrides?: CallOverrides
678
+ ): Promise<BigNumber>;
679
+
680
+ mint(
681
+ receiver: string,
682
+ baseTokenIn: string,
683
+ amountBaseToPull: BigNumberish,
684
+ minAmountScyOut: BigNumberish,
685
+ overrides?: Overrides & { from?: string | Promise<string> }
686
+ ): Promise<BigNumber>;
687
+
688
+ mintNoPull(
689
+ receiver: string,
690
+ baseTokenIn: string,
691
+ minAmountScyOut: BigNumberish,
692
+ overrides?: Overrides & { from?: string | Promise<string> }
693
+ ): Promise<BigNumber>;
694
+
695
+ name(overrides?: CallOverrides): Promise<BigNumber>;
696
+
697
+ redeem(
698
+ receiver: string,
699
+ baseTokenOut: string,
700
+ amountScyToPull: BigNumberish,
701
+ minAmountBaseOut: BigNumberish,
702
+ overrides?: Overrides & { from?: string | Promise<string> }
703
+ ): Promise<BigNumber>;
704
+
705
+ redeemNoPull(
706
+ receiver: string,
707
+ baseTokenOut: string,
708
+ minAmountBaseOut: BigNumberish,
709
+ overrides?: Overrides & { from?: string | Promise<string> }
710
+ ): Promise<BigNumber>;
711
+
712
+ redeemReward(
713
+ user: string,
714
+ overrides?: Overrides & { from?: string | Promise<string> }
715
+ ): Promise<BigNumber>;
716
+
717
+ scyIndexCurrent(
718
+ overrides?: Overrides & { from?: string | Promise<string> }
719
+ ): Promise<BigNumber>;
720
+
721
+ scyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
722
+
723
+ stETH(overrides?: CallOverrides): Promise<BigNumber>;
724
+
725
+ symbol(overrides?: CallOverrides): Promise<BigNumber>;
726
+
727
+ totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
728
+
729
+ transfer(
730
+ to: string,
731
+ amount: BigNumberish,
732
+ overrides?: Overrides & { from?: string | Promise<string> }
733
+ ): Promise<BigNumber>;
734
+
735
+ transferFrom(
736
+ from: string,
737
+ to: string,
738
+ amount: BigNumberish,
739
+ overrides?: Overrides & { from?: string | Promise<string> }
740
+ ): Promise<BigNumber>;
741
+
742
+ updateGlobalReward(
743
+ overrides?: Overrides & { from?: string | Promise<string> }
744
+ ): Promise<BigNumber>;
745
+
746
+ updateUserReward(
747
+ user: string,
748
+ overrides?: Overrides & { from?: string | Promise<string> }
749
+ ): Promise<BigNumber>;
750
+
751
+ wstETH(overrides?: CallOverrides): Promise<BigNumber>;
752
+ };
753
+
754
+ populateTransaction: {
755
+ allowance(
756
+ owner: string,
757
+ spender: string,
758
+ overrides?: CallOverrides
759
+ ): Promise<PopulatedTransaction>;
760
+
761
+ approve(
762
+ spender: string,
763
+ amount: BigNumberish,
764
+ overrides?: Overrides & { from?: string | Promise<string> }
765
+ ): Promise<PopulatedTransaction>;
766
+
767
+ assetDecimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
768
+
769
+ assetId(overrides?: CallOverrides): Promise<PopulatedTransaction>;
770
+
771
+ balanceOf(
772
+ account: string,
773
+ overrides?: CallOverrides
774
+ ): Promise<PopulatedTransaction>;
775
+
776
+ decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
777
+
778
+ decreaseAllowance(
779
+ spender: string,
780
+ subtractedValue: BigNumberish,
781
+ overrides?: Overrides & { from?: string | Promise<string> }
782
+ ): Promise<PopulatedTransaction>;
783
+
784
+ getBaseTokens(overrides?: CallOverrides): Promise<PopulatedTransaction>;
785
+
786
+ getRewardTokens(overrides?: CallOverrides): Promise<PopulatedTransaction>;
787
+
788
+ increaseAllowance(
789
+ spender: string,
790
+ addedValue: BigNumberish,
791
+ overrides?: Overrides & { from?: string | Promise<string> }
792
+ ): Promise<PopulatedTransaction>;
793
+
794
+ isValidBaseToken(
795
+ token: string,
796
+ overrides?: CallOverrides
797
+ ): Promise<PopulatedTransaction>;
798
+
799
+ mint(
800
+ receiver: string,
801
+ baseTokenIn: string,
802
+ amountBaseToPull: BigNumberish,
803
+ minAmountScyOut: BigNumberish,
804
+ overrides?: Overrides & { from?: string | Promise<string> }
805
+ ): Promise<PopulatedTransaction>;
806
+
807
+ mintNoPull(
808
+ receiver: string,
809
+ baseTokenIn: string,
810
+ minAmountScyOut: BigNumberish,
811
+ overrides?: Overrides & { from?: string | Promise<string> }
812
+ ): Promise<PopulatedTransaction>;
813
+
814
+ name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
815
+
816
+ redeem(
817
+ receiver: string,
818
+ baseTokenOut: string,
819
+ amountScyToPull: BigNumberish,
820
+ minAmountBaseOut: BigNumberish,
821
+ overrides?: Overrides & { from?: string | Promise<string> }
822
+ ): Promise<PopulatedTransaction>;
823
+
824
+ redeemNoPull(
825
+ receiver: string,
826
+ baseTokenOut: string,
827
+ minAmountBaseOut: BigNumberish,
828
+ overrides?: Overrides & { from?: string | Promise<string> }
829
+ ): Promise<PopulatedTransaction>;
830
+
831
+ redeemReward(
832
+ user: string,
833
+ overrides?: Overrides & { from?: string | Promise<string> }
834
+ ): Promise<PopulatedTransaction>;
835
+
836
+ scyIndexCurrent(
837
+ overrides?: Overrides & { from?: string | Promise<string> }
838
+ ): Promise<PopulatedTransaction>;
839
+
840
+ scyIndexStored(overrides?: CallOverrides): Promise<PopulatedTransaction>;
841
+
842
+ stETH(overrides?: CallOverrides): Promise<PopulatedTransaction>;
843
+
844
+ symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>;
845
+
846
+ totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
847
+
848
+ transfer(
849
+ to: string,
850
+ amount: BigNumberish,
851
+ overrides?: Overrides & { from?: string | Promise<string> }
852
+ ): Promise<PopulatedTransaction>;
853
+
854
+ transferFrom(
855
+ from: string,
856
+ to: string,
857
+ amount: BigNumberish,
858
+ overrides?: Overrides & { from?: string | Promise<string> }
859
+ ): Promise<PopulatedTransaction>;
860
+
861
+ updateGlobalReward(
862
+ overrides?: Overrides & { from?: string | Promise<string> }
863
+ ): Promise<PopulatedTransaction>;
864
+
865
+ updateUserReward(
866
+ user: string,
867
+ overrides?: Overrides & { from?: string | Promise<string> }
868
+ ): Promise<PopulatedTransaction>;
869
+
870
+ wstETH(overrides?: CallOverrides): Promise<PopulatedTransaction>;
871
+ };
872
+ }