@pendle/core-v2 0.1.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 (182) hide show
  1. package/LICENSE +100 -0
  2. package/contracts/SuperComposableYield/ISuperComposableYield.sol +68 -0
  3. package/contracts/SuperComposableYield/SCYUtils.sol +14 -0
  4. package/contracts/SuperComposableYield/implementations/RewardManager.sol +117 -0
  5. package/contracts/SuperComposableYield/implementations/SCYBase.sol +126 -0
  6. package/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol +79 -0
  7. package/contracts/core/PendleBaseToken.sol +39 -0
  8. package/contracts/core/PendleMarket.sol +248 -0
  9. package/contracts/core/PendleMarketFactory.sol +60 -0
  10. package/contracts/core/PendleOwnershipToken.sol +44 -0
  11. package/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol +139 -0
  12. package/contracts/core/PendleSCYImpl/AaveV3/WadRayMath.sol +126 -0
  13. package/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol +127 -0
  14. package/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol +125 -0
  15. package/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol +115 -0
  16. package/contracts/core/PendleYieldContractFactory.sol +109 -0
  17. package/contracts/core/PendleYieldToken.sol +240 -0
  18. package/contracts/core/misc/BoringOwnable.sol +62 -0
  19. package/contracts/core/misc/BoringOwnableUpg.sol +64 -0
  20. package/contracts/core/misc/PendleJoeSwapHelperUpg.sol +82 -0
  21. package/contracts/core/router/PendleRouterCoreUpg.sol +219 -0
  22. package/contracts/core/router/PendleRouterProxy.sol +64 -0
  23. package/contracts/core/router/PendleRouterYTUpg.sol +134 -0
  24. package/contracts/core/router/base/PendleRouterOTBaseUpg.sol +218 -0
  25. package/contracts/core/router/base/PendleRouterSCYAndForgeBaseUpg.sol +141 -0
  26. package/contracts/core/router/base/PendleRouterYTBaseUpg.sol +212 -0
  27. package/contracts/interfaces/IAToken.sol +34 -0
  28. package/contracts/interfaces/IAavePool.sol +41 -0
  29. package/contracts/interfaces/IAaveRewardsController.sol +32 -0
  30. package/contracts/interfaces/IBenQiComptroller.sol +33 -0
  31. package/contracts/interfaces/IJoePair.sol +98 -0
  32. package/contracts/interfaces/IJoeRouter01.sol +162 -0
  33. package/contracts/interfaces/IPBaseToken.sol +9 -0
  34. package/contracts/interfaces/IPFlashCallBack.sol +10 -0
  35. package/contracts/interfaces/IPGovernanceManager.sol +28 -0
  36. package/contracts/interfaces/IPMarket.sol +57 -0
  37. package/contracts/interfaces/IPMarketAddRemoveCallback.sol +18 -0
  38. package/contracts/interfaces/IPMarketFactory.sol +8 -0
  39. package/contracts/interfaces/IPMarketSwapCallback.sol +10 -0
  40. package/contracts/interfaces/IPOwnershipToken.sol +15 -0
  41. package/contracts/interfaces/IPPermissionsV2.sol +28 -0
  42. package/contracts/interfaces/IPRouterCore.sol +108 -0
  43. package/contracts/interfaces/IPRouterYT.sol +47 -0
  44. package/contracts/interfaces/IPYieldContractFactory.sol +36 -0
  45. package/contracts/interfaces/IPYieldToken.sol +19 -0
  46. package/contracts/interfaces/IQiErc20.sol +35 -0
  47. package/contracts/interfaces/IQiToken.sol +29 -0
  48. package/contracts/interfaces/IREDACTEDStaking.sol +35 -0
  49. package/contracts/interfaces/IWETH.sol +34 -0
  50. package/contracts/interfaces/IWXBTRFLY.sol +37 -0
  51. package/contracts/interfaces/IYearnVault.sol +32 -0
  52. package/contracts/libraries/JoeLibrary.sol +121 -0
  53. package/contracts/libraries/SCYIndex.sol +55 -0
  54. package/contracts/libraries/helpers/ExpiryUtilsLib.sol +166 -0
  55. package/contracts/libraries/math/FixedPoint.sol +208 -0
  56. package/contracts/libraries/math/LogExpMath.sol +515 -0
  57. package/contracts/libraries/math/MarketApproxLib.sol +140 -0
  58. package/contracts/libraries/math/MarketMathLib.sol +606 -0
  59. package/contracts/periphery/PendleGovernanceManager.sol +36 -0
  60. package/contracts/periphery/PermissionsV2.sol +23 -0
  61. package/package.json +76 -0
  62. package/typechain-types/BoringOwnable.ts +194 -0
  63. package/typechain-types/BoringOwnableData.ts +100 -0
  64. package/typechain-types/BoringOwnableUpg.ts +194 -0
  65. package/typechain-types/BoringOwnableUpgData.ts +100 -0
  66. package/typechain-types/ERC1967UpgradeUpgradeable.ts +97 -0
  67. package/typechain-types/ERC20.ts +417 -0
  68. package/typechain-types/IAToken.ts +331 -0
  69. package/typechain-types/IAavePool.ts +192 -0
  70. package/typechain-types/IAaveRewardsController.ts +148 -0
  71. package/typechain-types/IBeaconUpgradeable.ts +87 -0
  72. package/typechain-types/IBenQiComptroller.ts +125 -0
  73. package/typechain-types/IERC1822ProxiableUpgradeable.ts +87 -0
  74. package/typechain-types/IERC20.ts +300 -0
  75. package/typechain-types/IERC20Metadata.ts +339 -0
  76. package/typechain-types/IJoePair.ts +888 -0
  77. package/typechain-types/IJoeRouter01.ts +1107 -0
  78. package/typechain-types/IPBaseToken.ts +365 -0
  79. package/typechain-types/IPFlashCallback.ts +115 -0
  80. package/typechain-types/IPGovernanceManager.ts +84 -0
  81. package/typechain-types/IPMarket.ts +701 -0
  82. package/typechain-types/IPMarketAddRemoveCallback.ts +169 -0
  83. package/typechain-types/IPMarketFactory.ts +109 -0
  84. package/typechain-types/IPMarketSwapCallback.ts +115 -0
  85. package/typechain-types/IPOwnershipToken.ts +488 -0
  86. package/typechain-types/IPRouterCore.ts +759 -0
  87. package/typechain-types/IPRouterYT.ts +405 -0
  88. package/typechain-types/IPYieldContractFactory.ts +192 -0
  89. package/typechain-types/IPYieldToken.ts +525 -0
  90. package/typechain-types/IPermissionsV2.ts +87 -0
  91. package/typechain-types/IQiErc20.ts +402 -0
  92. package/typechain-types/IQiToken.ts +327 -0
  93. package/typechain-types/IREDACTEDStaking.ts +216 -0
  94. package/typechain-types/ISuperComposableYield.ts +652 -0
  95. package/typechain-types/IWETH.ts +380 -0
  96. package/typechain-types/IWXBTRFLY.ts +254 -0
  97. package/typechain-types/IYearnVault.ts +152 -0
  98. package/typechain-types/PendleAaveV3SCY.ts +901 -0
  99. package/typechain-types/PendleBaseToken.ts +505 -0
  100. package/typechain-types/PendleBenQiErc20SCY.ts +914 -0
  101. package/typechain-types/PendleBtrflyScy.ts +794 -0
  102. package/typechain-types/PendleGovernanceManager.ts +187 -0
  103. package/typechain-types/PendleJoeSwapHelperUpg.ts +97 -0
  104. package/typechain-types/PendleMarket.ts +1008 -0
  105. package/typechain-types/PendleMarketFactory.ts +246 -0
  106. package/typechain-types/PendleOwnershipToken.ts +628 -0
  107. package/typechain-types/PendleRouterCoreUpg.ts +780 -0
  108. package/typechain-types/PendleRouterProxy.ts +417 -0
  109. package/typechain-types/PendleRouterSCYAndForgeBaseUpg.ts +98 -0
  110. package/typechain-types/PendleRouterYTBaseUpg.ts +134 -0
  111. package/typechain-types/PendleRouterYTUpg.ts +453 -0
  112. package/typechain-types/PendleYearnVaultScy.ts +784 -0
  113. package/typechain-types/PendleYieldContractFactory.ts +479 -0
  114. package/typechain-types/PendleYieldToken.ts +1030 -0
  115. package/typechain-types/PermissionsV2.ts +87 -0
  116. package/typechain-types/Proxy.ts +57 -0
  117. package/typechain-types/RewardManager.ts +172 -0
  118. package/typechain-types/SCYBase.ts +734 -0
  119. package/typechain-types/SCYBaseWithRewards.ts +819 -0
  120. package/typechain-types/UUPSUpgradeable.ts +197 -0
  121. package/typechain-types/common.ts +44 -0
  122. package/typechain-types/factories/BoringOwnableData__factory.ts +90 -0
  123. package/typechain-types/factories/BoringOwnableUpgData__factory.ts +94 -0
  124. package/typechain-types/factories/BoringOwnableUpg__factory.ts +139 -0
  125. package/typechain-types/factories/BoringOwnable__factory.ts +149 -0
  126. package/typechain-types/factories/ERC1967UpgradeUpgradeable__factory.ts +75 -0
  127. package/typechain-types/factories/ERC20__factory.ts +348 -0
  128. package/typechain-types/factories/IAToken__factory.ts +225 -0
  129. package/typechain-types/factories/IAavePool__factory.ts +99 -0
  130. package/typechain-types/factories/IAaveRewardsController__factory.ts +78 -0
  131. package/typechain-types/factories/IBeaconUpgradeable__factory.ts +39 -0
  132. package/typechain-types/factories/IBenQiComptroller__factory.ts +59 -0
  133. package/typechain-types/factories/IERC1822ProxiableUpgradeable__factory.ts +43 -0
  134. package/typechain-types/factories/IERC20Metadata__factory.ts +248 -0
  135. package/typechain-types/factories/IERC20__factory.ts +203 -0
  136. package/typechain-types/factories/IJoePair__factory.ts +674 -0
  137. package/typechain-types/factories/IJoeRouter01__factory.ts +772 -0
  138. package/typechain-types/factories/IPBaseToken__factory.ts +271 -0
  139. package/typechain-types/factories/IPFlashCallback__factory.ts +49 -0
  140. package/typechain-types/factories/IPGovernanceManager__factory.ts +39 -0
  141. package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +86 -0
  142. package/typechain-types/factories/IPMarketFactory__factory.ts +58 -0
  143. package/typechain-types/factories/IPMarketSwapCallback__factory.ts +53 -0
  144. package/typechain-types/factories/IPMarket__factory.ts +559 -0
  145. package/typechain-types/factories/IPOwnershipToken__factory.ts +349 -0
  146. package/typechain-types/factories/IPRouterCore__factory.ts +516 -0
  147. package/typechain-types/factories/IPRouterYT__factory.ts +246 -0
  148. package/typechain-types/factories/IPYieldContractFactory__factory.ts +117 -0
  149. package/typechain-types/factories/IPYieldToken__factory.ts +383 -0
  150. package/typechain-types/factories/IPermissionsV2__factory.ts +39 -0
  151. package/typechain-types/factories/IQiErc20__factory.ts +270 -0
  152. package/typechain-types/factories/IQiToken__factory.ts +219 -0
  153. package/typechain-types/factories/IREDACTEDStaking__factory.ts +107 -0
  154. package/typechain-types/factories/ISuperComposableYield__factory.ts +438 -0
  155. package/typechain-types/factories/IWETH__factory.ts +261 -0
  156. package/typechain-types/factories/IWXBTRFLY__factory.ts +131 -0
  157. package/typechain-types/factories/IYearnVault__factory.ts +74 -0
  158. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +727 -0
  159. package/typechain-types/factories/PendleBaseToken__factory.ts +386 -0
  160. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +753 -0
  161. package/typechain-types/factories/PendleBtrflyScy__factory.ts +652 -0
  162. package/typechain-types/factories/PendleGovernanceManager__factory.ts +149 -0
  163. package/typechain-types/factories/PendleJoeSwapHelperUpg__factory.ts +56 -0
  164. package/typechain-types/factories/PendleMarketFactory__factory.ts +207 -0
  165. package/typechain-types/factories/PendleMarket__factory.ts +891 -0
  166. package/typechain-types/factories/PendleOwnershipToken__factory.ts +565 -0
  167. package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +620 -0
  168. package/typechain-types/factories/PendleRouterProxy__factory.ts +316 -0
  169. package/typechain-types/factories/PendleRouterSCYAndForgeBaseUpg__factory.ts +56 -0
  170. package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +66 -0
  171. package/typechain-types/factories/PendleRouterYTUpg__factory.ts +363 -0
  172. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +630 -0
  173. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +368 -0
  174. package/typechain-types/factories/PendleYieldToken__factory.ts +814 -0
  175. package/typechain-types/factories/PermissionsV2__factory.ts +36 -0
  176. package/typechain-types/factories/Proxy__factory.ts +28 -0
  177. package/typechain-types/factories/RewardManager__factory.ts +89 -0
  178. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +535 -0
  179. package/typechain-types/factories/SCYBase__factory.ts +479 -0
  180. package/typechain-types/factories/UUPSUpgradeable__factory.ts +115 -0
  181. package/typechain-types/hardhat.d.ts +564 -0
  182. package/typechain-types/index.ts +122 -0
@@ -0,0 +1,914 @@
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 PendleBenQiErc20SCYInterface extends utils.Interface {
26
+ contractName: "PendleBenQiErc20SCY";
27
+ functions: {
28
+ "QI()": FunctionFragment;
29
+ "WAVAX()": FunctionFragment;
30
+ "allowance(address,address)": FunctionFragment;
31
+ "approve(address,uint256)": FunctionFragment;
32
+ "assetDecimals()": FunctionFragment;
33
+ "balanceOf(address)": FunctionFragment;
34
+ "comptroller()": FunctionFragment;
35
+ "decimals()": FunctionFragment;
36
+ "decreaseAllowance(address,uint256)": FunctionFragment;
37
+ "getBaseTokens()": FunctionFragment;
38
+ "getRewardTokens()": FunctionFragment;
39
+ "globalReward(address)": FunctionFragment;
40
+ "increaseAllowance(address,uint256)": FunctionFragment;
41
+ "isValidBaseToken(address)": FunctionFragment;
42
+ "lastScyIndex()": FunctionFragment;
43
+ "mint(address,address,uint256)": FunctionFragment;
44
+ "name()": FunctionFragment;
45
+ "qiToken()": FunctionFragment;
46
+ "redeem(address,address,uint256)": FunctionFragment;
47
+ "redeemReward(address,address)": FunctionFragment;
48
+ "scyIndexCurrent()": FunctionFragment;
49
+ "scyIndexStored()": FunctionFragment;
50
+ "symbol()": FunctionFragment;
51
+ "totalSupply()": FunctionFragment;
52
+ "transfer(address,uint256)": FunctionFragment;
53
+ "transferFrom(address,address,uint256)": FunctionFragment;
54
+ "underlying()": FunctionFragment;
55
+ "updateGlobalReward()": FunctionFragment;
56
+ "updateUserReward(address)": FunctionFragment;
57
+ "userReward(address,address)": FunctionFragment;
58
+ };
59
+
60
+ encodeFunctionData(functionFragment: "QI", values?: undefined): string;
61
+ encodeFunctionData(functionFragment: "WAVAX", values?: undefined): string;
62
+ encodeFunctionData(
63
+ functionFragment: "allowance",
64
+ values: [string, string]
65
+ ): string;
66
+ encodeFunctionData(
67
+ functionFragment: "approve",
68
+ values: [string, BigNumberish]
69
+ ): string;
70
+ encodeFunctionData(
71
+ functionFragment: "assetDecimals",
72
+ values?: undefined
73
+ ): string;
74
+ encodeFunctionData(functionFragment: "balanceOf", values: [string]): string;
75
+ encodeFunctionData(
76
+ functionFragment: "comptroller",
77
+ values?: undefined
78
+ ): string;
79
+ encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
80
+ encodeFunctionData(
81
+ functionFragment: "decreaseAllowance",
82
+ values: [string, BigNumberish]
83
+ ): string;
84
+ encodeFunctionData(
85
+ functionFragment: "getBaseTokens",
86
+ values?: undefined
87
+ ): string;
88
+ encodeFunctionData(
89
+ functionFragment: "getRewardTokens",
90
+ values?: undefined
91
+ ): string;
92
+ encodeFunctionData(
93
+ functionFragment: "globalReward",
94
+ values: [string]
95
+ ): string;
96
+ encodeFunctionData(
97
+ functionFragment: "increaseAllowance",
98
+ values: [string, BigNumberish]
99
+ ): string;
100
+ encodeFunctionData(
101
+ functionFragment: "isValidBaseToken",
102
+ values: [string]
103
+ ): string;
104
+ encodeFunctionData(
105
+ functionFragment: "lastScyIndex",
106
+ values?: undefined
107
+ ): string;
108
+ encodeFunctionData(
109
+ functionFragment: "mint",
110
+ values: [string, string, BigNumberish]
111
+ ): string;
112
+ encodeFunctionData(functionFragment: "name", values?: undefined): string;
113
+ encodeFunctionData(functionFragment: "qiToken", values?: undefined): string;
114
+ encodeFunctionData(
115
+ functionFragment: "redeem",
116
+ values: [string, string, BigNumberish]
117
+ ): string;
118
+ encodeFunctionData(
119
+ functionFragment: "redeemReward",
120
+ values: [string, string]
121
+ ): string;
122
+ encodeFunctionData(
123
+ functionFragment: "scyIndexCurrent",
124
+ values?: undefined
125
+ ): string;
126
+ encodeFunctionData(
127
+ functionFragment: "scyIndexStored",
128
+ values?: undefined
129
+ ): string;
130
+ encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
131
+ encodeFunctionData(
132
+ functionFragment: "totalSupply",
133
+ values?: undefined
134
+ ): string;
135
+ encodeFunctionData(
136
+ functionFragment: "transfer",
137
+ values: [string, BigNumberish]
138
+ ): string;
139
+ encodeFunctionData(
140
+ functionFragment: "transferFrom",
141
+ values: [string, string, BigNumberish]
142
+ ): string;
143
+ encodeFunctionData(
144
+ functionFragment: "underlying",
145
+ values?: undefined
146
+ ): string;
147
+ encodeFunctionData(
148
+ functionFragment: "updateGlobalReward",
149
+ values?: undefined
150
+ ): string;
151
+ encodeFunctionData(
152
+ functionFragment: "updateUserReward",
153
+ values: [string]
154
+ ): string;
155
+ encodeFunctionData(
156
+ functionFragment: "userReward",
157
+ values: [string, string]
158
+ ): string;
159
+
160
+ decodeFunctionResult(functionFragment: "QI", data: BytesLike): Result;
161
+ decodeFunctionResult(functionFragment: "WAVAX", data: BytesLike): Result;
162
+ decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
163
+ decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
164
+ decodeFunctionResult(
165
+ functionFragment: "assetDecimals",
166
+ data: BytesLike
167
+ ): Result;
168
+ decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
169
+ decodeFunctionResult(
170
+ functionFragment: "comptroller",
171
+ data: BytesLike
172
+ ): Result;
173
+ decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
174
+ decodeFunctionResult(
175
+ functionFragment: "decreaseAllowance",
176
+ data: BytesLike
177
+ ): Result;
178
+ decodeFunctionResult(
179
+ functionFragment: "getBaseTokens",
180
+ data: BytesLike
181
+ ): Result;
182
+ decodeFunctionResult(
183
+ functionFragment: "getRewardTokens",
184
+ data: BytesLike
185
+ ): Result;
186
+ decodeFunctionResult(
187
+ functionFragment: "globalReward",
188
+ data: BytesLike
189
+ ): Result;
190
+ decodeFunctionResult(
191
+ functionFragment: "increaseAllowance",
192
+ data: BytesLike
193
+ ): Result;
194
+ decodeFunctionResult(
195
+ functionFragment: "isValidBaseToken",
196
+ data: BytesLike
197
+ ): Result;
198
+ decodeFunctionResult(
199
+ functionFragment: "lastScyIndex",
200
+ data: BytesLike
201
+ ): Result;
202
+ decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
203
+ decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
204
+ decodeFunctionResult(functionFragment: "qiToken", data: BytesLike): Result;
205
+ decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
206
+ decodeFunctionResult(
207
+ functionFragment: "redeemReward",
208
+ data: BytesLike
209
+ ): Result;
210
+ decodeFunctionResult(
211
+ functionFragment: "scyIndexCurrent",
212
+ data: BytesLike
213
+ ): Result;
214
+ decodeFunctionResult(
215
+ functionFragment: "scyIndexStored",
216
+ data: BytesLike
217
+ ): Result;
218
+ decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
219
+ decodeFunctionResult(
220
+ functionFragment: "totalSupply",
221
+ data: BytesLike
222
+ ): Result;
223
+ decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
224
+ decodeFunctionResult(
225
+ functionFragment: "transferFrom",
226
+ data: BytesLike
227
+ ): Result;
228
+ decodeFunctionResult(functionFragment: "underlying", data: BytesLike): Result;
229
+ decodeFunctionResult(
230
+ functionFragment: "updateGlobalReward",
231
+ data: BytesLike
232
+ ): Result;
233
+ decodeFunctionResult(
234
+ functionFragment: "updateUserReward",
235
+ data: BytesLike
236
+ ): Result;
237
+ decodeFunctionResult(functionFragment: "userReward", data: BytesLike): Result;
238
+
239
+ events: {
240
+ "Approval(address,address,uint256)": EventFragment;
241
+ "Transfer(address,address,uint256)": EventFragment;
242
+ };
243
+
244
+ getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
245
+ getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
246
+ }
247
+
248
+ export type ApprovalEvent = TypedEvent<
249
+ [string, string, BigNumber],
250
+ { owner: string; spender: string; value: BigNumber }
251
+ >;
252
+
253
+ export type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
254
+
255
+ export type TransferEvent = TypedEvent<
256
+ [string, string, BigNumber],
257
+ { from: string; to: string; value: BigNumber }
258
+ >;
259
+
260
+ export type TransferEventFilter = TypedEventFilter<TransferEvent>;
261
+
262
+ export interface PendleBenQiErc20SCY extends BaseContract {
263
+ contractName: "PendleBenQiErc20SCY";
264
+ connect(signerOrProvider: Signer | Provider | string): this;
265
+ attach(addressOrName: string): this;
266
+ deployed(): Promise<this>;
267
+
268
+ interface: PendleBenQiErc20SCYInterface;
269
+
270
+ queryFilter<TEvent extends TypedEvent>(
271
+ event: TypedEventFilter<TEvent>,
272
+ fromBlockOrBlockhash?: string | number | undefined,
273
+ toBlock?: string | number | undefined
274
+ ): Promise<Array<TEvent>>;
275
+
276
+ listeners<TEvent extends TypedEvent>(
277
+ eventFilter?: TypedEventFilter<TEvent>
278
+ ): Array<TypedListener<TEvent>>;
279
+ listeners(eventName?: string): Array<Listener>;
280
+ removeAllListeners<TEvent extends TypedEvent>(
281
+ eventFilter: TypedEventFilter<TEvent>
282
+ ): this;
283
+ removeAllListeners(eventName?: string): this;
284
+ off: OnEvent<this>;
285
+ on: OnEvent<this>;
286
+ once: OnEvent<this>;
287
+ removeListener: OnEvent<this>;
288
+
289
+ functions: {
290
+ QI(overrides?: CallOverrides): Promise<[string]>;
291
+
292
+ WAVAX(overrides?: CallOverrides): Promise<[string]>;
293
+
294
+ allowance(
295
+ owner: string,
296
+ spender: string,
297
+ overrides?: CallOverrides
298
+ ): Promise<[BigNumber]>;
299
+
300
+ approve(
301
+ spender: string,
302
+ amount: BigNumberish,
303
+ overrides?: Overrides & { from?: string | Promise<string> }
304
+ ): Promise<ContractTransaction>;
305
+
306
+ assetDecimals(overrides?: CallOverrides): Promise<[number]>;
307
+
308
+ balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
309
+
310
+ comptroller(overrides?: CallOverrides): Promise<[string]>;
311
+
312
+ decimals(overrides?: CallOverrides): Promise<[number]>;
313
+
314
+ decreaseAllowance(
315
+ spender: string,
316
+ subtractedValue: BigNumberish,
317
+ overrides?: Overrides & { from?: string | Promise<string> }
318
+ ): Promise<ContractTransaction>;
319
+
320
+ getBaseTokens(
321
+ overrides?: CallOverrides
322
+ ): Promise<[string[]] & { res: string[] }>;
323
+
324
+ getRewardTokens(
325
+ overrides?: CallOverrides
326
+ ): Promise<[string[]] & { res: string[] }>;
327
+
328
+ globalReward(
329
+ arg0: string,
330
+ overrides?: CallOverrides
331
+ ): Promise<
332
+ [BigNumber, BigNumber] & { index: BigNumber; lastBalance: BigNumber }
333
+ >;
334
+
335
+ increaseAllowance(
336
+ spender: string,
337
+ addedValue: BigNumberish,
338
+ overrides?: Overrides & { from?: string | Promise<string> }
339
+ ): Promise<ContractTransaction>;
340
+
341
+ isValidBaseToken(
342
+ token: string,
343
+ overrides?: CallOverrides
344
+ ): Promise<[boolean] & { res: boolean }>;
345
+
346
+ lastScyIndex(overrides?: CallOverrides): Promise<[BigNumber]>;
347
+
348
+ mint(
349
+ receiver: string,
350
+ baseTokenIn: string,
351
+ minAmountScyOut: BigNumberish,
352
+ overrides?: Overrides & { from?: string | Promise<string> }
353
+ ): Promise<ContractTransaction>;
354
+
355
+ name(overrides?: CallOverrides): Promise<[string]>;
356
+
357
+ qiToken(overrides?: CallOverrides): Promise<[string]>;
358
+
359
+ redeem(
360
+ receiver: string,
361
+ baseTokenOut: string,
362
+ minAmountBaseOut: BigNumberish,
363
+ overrides?: Overrides & { from?: string | Promise<string> }
364
+ ): Promise<ContractTransaction>;
365
+
366
+ redeemReward(
367
+ user: string,
368
+ receiver: string,
369
+ overrides?: Overrides & { from?: string | Promise<string> }
370
+ ): Promise<ContractTransaction>;
371
+
372
+ scyIndexCurrent(
373
+ overrides?: Overrides & { from?: string | Promise<string> }
374
+ ): Promise<ContractTransaction>;
375
+
376
+ scyIndexStored(
377
+ overrides?: CallOverrides
378
+ ): Promise<[BigNumber] & { res: BigNumber }>;
379
+
380
+ symbol(overrides?: CallOverrides): Promise<[string]>;
381
+
382
+ totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
383
+
384
+ transfer(
385
+ to: string,
386
+ amount: BigNumberish,
387
+ overrides?: Overrides & { from?: string | Promise<string> }
388
+ ): Promise<ContractTransaction>;
389
+
390
+ transferFrom(
391
+ from: string,
392
+ to: string,
393
+ amount: BigNumberish,
394
+ overrides?: Overrides & { from?: string | Promise<string> }
395
+ ): Promise<ContractTransaction>;
396
+
397
+ underlying(overrides?: CallOverrides): Promise<[string]>;
398
+
399
+ updateGlobalReward(
400
+ overrides?: Overrides & { from?: string | Promise<string> }
401
+ ): Promise<ContractTransaction>;
402
+
403
+ updateUserReward(
404
+ user: string,
405
+ overrides?: Overrides & { from?: string | Promise<string> }
406
+ ): Promise<ContractTransaction>;
407
+
408
+ userReward(
409
+ arg0: string,
410
+ arg1: string,
411
+ overrides?: CallOverrides
412
+ ): Promise<
413
+ [BigNumber, BigNumber] & {
414
+ lastIndex: BigNumber;
415
+ accruedReward: BigNumber;
416
+ }
417
+ >;
418
+ };
419
+
420
+ QI(overrides?: CallOverrides): Promise<string>;
421
+
422
+ WAVAX(overrides?: CallOverrides): Promise<string>;
423
+
424
+ allowance(
425
+ owner: string,
426
+ spender: string,
427
+ overrides?: CallOverrides
428
+ ): Promise<BigNumber>;
429
+
430
+ approve(
431
+ spender: string,
432
+ amount: BigNumberish,
433
+ overrides?: Overrides & { from?: string | Promise<string> }
434
+ ): Promise<ContractTransaction>;
435
+
436
+ assetDecimals(overrides?: CallOverrides): Promise<number>;
437
+
438
+ balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
439
+
440
+ comptroller(overrides?: CallOverrides): Promise<string>;
441
+
442
+ decimals(overrides?: CallOverrides): Promise<number>;
443
+
444
+ decreaseAllowance(
445
+ spender: string,
446
+ subtractedValue: BigNumberish,
447
+ overrides?: Overrides & { from?: string | Promise<string> }
448
+ ): Promise<ContractTransaction>;
449
+
450
+ getBaseTokens(overrides?: CallOverrides): Promise<string[]>;
451
+
452
+ getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
453
+
454
+ globalReward(
455
+ arg0: string,
456
+ overrides?: CallOverrides
457
+ ): Promise<
458
+ [BigNumber, BigNumber] & { index: BigNumber; lastBalance: BigNumber }
459
+ >;
460
+
461
+ increaseAllowance(
462
+ spender: string,
463
+ addedValue: BigNumberish,
464
+ overrides?: Overrides & { from?: string | Promise<string> }
465
+ ): Promise<ContractTransaction>;
466
+
467
+ isValidBaseToken(token: string, overrides?: CallOverrides): Promise<boolean>;
468
+
469
+ lastScyIndex(overrides?: CallOverrides): Promise<BigNumber>;
470
+
471
+ mint(
472
+ receiver: string,
473
+ baseTokenIn: string,
474
+ minAmountScyOut: BigNumberish,
475
+ overrides?: Overrides & { from?: string | Promise<string> }
476
+ ): Promise<ContractTransaction>;
477
+
478
+ name(overrides?: CallOverrides): Promise<string>;
479
+
480
+ qiToken(overrides?: CallOverrides): Promise<string>;
481
+
482
+ redeem(
483
+ receiver: string,
484
+ baseTokenOut: string,
485
+ minAmountBaseOut: BigNumberish,
486
+ overrides?: Overrides & { from?: string | Promise<string> }
487
+ ): Promise<ContractTransaction>;
488
+
489
+ redeemReward(
490
+ user: string,
491
+ receiver: string,
492
+ overrides?: Overrides & { from?: string | Promise<string> }
493
+ ): Promise<ContractTransaction>;
494
+
495
+ scyIndexCurrent(
496
+ overrides?: Overrides & { from?: string | Promise<string> }
497
+ ): Promise<ContractTransaction>;
498
+
499
+ scyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
500
+
501
+ symbol(overrides?: CallOverrides): Promise<string>;
502
+
503
+ totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
504
+
505
+ transfer(
506
+ to: string,
507
+ amount: BigNumberish,
508
+ overrides?: Overrides & { from?: string | Promise<string> }
509
+ ): Promise<ContractTransaction>;
510
+
511
+ transferFrom(
512
+ from: string,
513
+ to: string,
514
+ amount: BigNumberish,
515
+ overrides?: Overrides & { from?: string | Promise<string> }
516
+ ): Promise<ContractTransaction>;
517
+
518
+ underlying(overrides?: CallOverrides): Promise<string>;
519
+
520
+ updateGlobalReward(
521
+ overrides?: Overrides & { from?: string | Promise<string> }
522
+ ): Promise<ContractTransaction>;
523
+
524
+ updateUserReward(
525
+ user: string,
526
+ overrides?: Overrides & { from?: string | Promise<string> }
527
+ ): Promise<ContractTransaction>;
528
+
529
+ userReward(
530
+ arg0: string,
531
+ arg1: string,
532
+ overrides?: CallOverrides
533
+ ): Promise<
534
+ [BigNumber, BigNumber] & { lastIndex: BigNumber; accruedReward: BigNumber }
535
+ >;
536
+
537
+ callStatic: {
538
+ QI(overrides?: CallOverrides): Promise<string>;
539
+
540
+ WAVAX(overrides?: CallOverrides): Promise<string>;
541
+
542
+ allowance(
543
+ owner: string,
544
+ spender: string,
545
+ overrides?: CallOverrides
546
+ ): Promise<BigNumber>;
547
+
548
+ approve(
549
+ spender: string,
550
+ amount: BigNumberish,
551
+ overrides?: CallOverrides
552
+ ): Promise<boolean>;
553
+
554
+ assetDecimals(overrides?: CallOverrides): Promise<number>;
555
+
556
+ balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
557
+
558
+ comptroller(overrides?: CallOverrides): Promise<string>;
559
+
560
+ decimals(overrides?: CallOverrides): Promise<number>;
561
+
562
+ decreaseAllowance(
563
+ spender: string,
564
+ subtractedValue: BigNumberish,
565
+ overrides?: CallOverrides
566
+ ): Promise<boolean>;
567
+
568
+ getBaseTokens(overrides?: CallOverrides): Promise<string[]>;
569
+
570
+ getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
571
+
572
+ globalReward(
573
+ arg0: string,
574
+ overrides?: CallOverrides
575
+ ): Promise<
576
+ [BigNumber, BigNumber] & { index: BigNumber; lastBalance: BigNumber }
577
+ >;
578
+
579
+ increaseAllowance(
580
+ spender: string,
581
+ addedValue: BigNumberish,
582
+ overrides?: CallOverrides
583
+ ): Promise<boolean>;
584
+
585
+ isValidBaseToken(
586
+ token: string,
587
+ overrides?: CallOverrides
588
+ ): Promise<boolean>;
589
+
590
+ lastScyIndex(overrides?: CallOverrides): Promise<BigNumber>;
591
+
592
+ mint(
593
+ receiver: string,
594
+ baseTokenIn: string,
595
+ minAmountScyOut: BigNumberish,
596
+ overrides?: CallOverrides
597
+ ): Promise<BigNumber>;
598
+
599
+ name(overrides?: CallOverrides): Promise<string>;
600
+
601
+ qiToken(overrides?: CallOverrides): Promise<string>;
602
+
603
+ redeem(
604
+ receiver: string,
605
+ baseTokenOut: string,
606
+ minAmountBaseOut: BigNumberish,
607
+ overrides?: CallOverrides
608
+ ): Promise<BigNumber>;
609
+
610
+ redeemReward(
611
+ user: string,
612
+ receiver: string,
613
+ overrides?: CallOverrides
614
+ ): Promise<BigNumber[]>;
615
+
616
+ scyIndexCurrent(overrides?: CallOverrides): Promise<BigNumber>;
617
+
618
+ scyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
619
+
620
+ symbol(overrides?: CallOverrides): Promise<string>;
621
+
622
+ totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
623
+
624
+ transfer(
625
+ to: string,
626
+ amount: BigNumberish,
627
+ overrides?: CallOverrides
628
+ ): Promise<boolean>;
629
+
630
+ transferFrom(
631
+ from: string,
632
+ to: string,
633
+ amount: BigNumberish,
634
+ overrides?: CallOverrides
635
+ ): Promise<boolean>;
636
+
637
+ underlying(overrides?: CallOverrides): Promise<string>;
638
+
639
+ updateGlobalReward(overrides?: CallOverrides): Promise<void>;
640
+
641
+ updateUserReward(user: string, overrides?: CallOverrides): Promise<void>;
642
+
643
+ userReward(
644
+ arg0: string,
645
+ arg1: string,
646
+ overrides?: CallOverrides
647
+ ): Promise<
648
+ [BigNumber, BigNumber] & {
649
+ lastIndex: BigNumber;
650
+ accruedReward: BigNumber;
651
+ }
652
+ >;
653
+ };
654
+
655
+ filters: {
656
+ "Approval(address,address,uint256)"(
657
+ owner?: string | null,
658
+ spender?: string | null,
659
+ value?: null
660
+ ): ApprovalEventFilter;
661
+ Approval(
662
+ owner?: string | null,
663
+ spender?: string | null,
664
+ value?: null
665
+ ): ApprovalEventFilter;
666
+
667
+ "Transfer(address,address,uint256)"(
668
+ from?: string | null,
669
+ to?: string | null,
670
+ value?: null
671
+ ): TransferEventFilter;
672
+ Transfer(
673
+ from?: string | null,
674
+ to?: string | null,
675
+ value?: null
676
+ ): TransferEventFilter;
677
+ };
678
+
679
+ estimateGas: {
680
+ QI(overrides?: CallOverrides): Promise<BigNumber>;
681
+
682
+ WAVAX(overrides?: CallOverrides): Promise<BigNumber>;
683
+
684
+ allowance(
685
+ owner: string,
686
+ spender: string,
687
+ overrides?: CallOverrides
688
+ ): Promise<BigNumber>;
689
+
690
+ approve(
691
+ spender: string,
692
+ amount: BigNumberish,
693
+ overrides?: Overrides & { from?: string | Promise<string> }
694
+ ): Promise<BigNumber>;
695
+
696
+ assetDecimals(overrides?: CallOverrides): Promise<BigNumber>;
697
+
698
+ balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
699
+
700
+ comptroller(overrides?: CallOverrides): Promise<BigNumber>;
701
+
702
+ decimals(overrides?: CallOverrides): Promise<BigNumber>;
703
+
704
+ decreaseAllowance(
705
+ spender: string,
706
+ subtractedValue: BigNumberish,
707
+ overrides?: Overrides & { from?: string | Promise<string> }
708
+ ): Promise<BigNumber>;
709
+
710
+ getBaseTokens(overrides?: CallOverrides): Promise<BigNumber>;
711
+
712
+ getRewardTokens(overrides?: CallOverrides): Promise<BigNumber>;
713
+
714
+ globalReward(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
715
+
716
+ increaseAllowance(
717
+ spender: string,
718
+ addedValue: BigNumberish,
719
+ overrides?: Overrides & { from?: string | Promise<string> }
720
+ ): Promise<BigNumber>;
721
+
722
+ isValidBaseToken(
723
+ token: string,
724
+ overrides?: CallOverrides
725
+ ): Promise<BigNumber>;
726
+
727
+ lastScyIndex(overrides?: CallOverrides): Promise<BigNumber>;
728
+
729
+ mint(
730
+ receiver: string,
731
+ baseTokenIn: string,
732
+ minAmountScyOut: BigNumberish,
733
+ overrides?: Overrides & { from?: string | Promise<string> }
734
+ ): Promise<BigNumber>;
735
+
736
+ name(overrides?: CallOverrides): Promise<BigNumber>;
737
+
738
+ qiToken(overrides?: CallOverrides): Promise<BigNumber>;
739
+
740
+ redeem(
741
+ receiver: string,
742
+ baseTokenOut: string,
743
+ minAmountBaseOut: BigNumberish,
744
+ overrides?: Overrides & { from?: string | Promise<string> }
745
+ ): Promise<BigNumber>;
746
+
747
+ redeemReward(
748
+ user: string,
749
+ receiver: string,
750
+ overrides?: Overrides & { from?: string | Promise<string> }
751
+ ): Promise<BigNumber>;
752
+
753
+ scyIndexCurrent(
754
+ overrides?: Overrides & { from?: string | Promise<string> }
755
+ ): Promise<BigNumber>;
756
+
757
+ scyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
758
+
759
+ symbol(overrides?: CallOverrides): Promise<BigNumber>;
760
+
761
+ totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
762
+
763
+ transfer(
764
+ to: string,
765
+ amount: BigNumberish,
766
+ overrides?: Overrides & { from?: string | Promise<string> }
767
+ ): Promise<BigNumber>;
768
+
769
+ transferFrom(
770
+ from: string,
771
+ to: string,
772
+ amount: BigNumberish,
773
+ overrides?: Overrides & { from?: string | Promise<string> }
774
+ ): Promise<BigNumber>;
775
+
776
+ underlying(overrides?: CallOverrides): Promise<BigNumber>;
777
+
778
+ updateGlobalReward(
779
+ overrides?: Overrides & { from?: string | Promise<string> }
780
+ ): Promise<BigNumber>;
781
+
782
+ updateUserReward(
783
+ user: string,
784
+ overrides?: Overrides & { from?: string | Promise<string> }
785
+ ): Promise<BigNumber>;
786
+
787
+ userReward(
788
+ arg0: string,
789
+ arg1: string,
790
+ overrides?: CallOverrides
791
+ ): Promise<BigNumber>;
792
+ };
793
+
794
+ populateTransaction: {
795
+ QI(overrides?: CallOverrides): Promise<PopulatedTransaction>;
796
+
797
+ WAVAX(overrides?: CallOverrides): Promise<PopulatedTransaction>;
798
+
799
+ allowance(
800
+ owner: string,
801
+ spender: string,
802
+ overrides?: CallOverrides
803
+ ): Promise<PopulatedTransaction>;
804
+
805
+ approve(
806
+ spender: string,
807
+ amount: BigNumberish,
808
+ overrides?: Overrides & { from?: string | Promise<string> }
809
+ ): Promise<PopulatedTransaction>;
810
+
811
+ assetDecimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
812
+
813
+ balanceOf(
814
+ account: string,
815
+ overrides?: CallOverrides
816
+ ): Promise<PopulatedTransaction>;
817
+
818
+ comptroller(overrides?: CallOverrides): Promise<PopulatedTransaction>;
819
+
820
+ decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
821
+
822
+ decreaseAllowance(
823
+ spender: string,
824
+ subtractedValue: BigNumberish,
825
+ overrides?: Overrides & { from?: string | Promise<string> }
826
+ ): Promise<PopulatedTransaction>;
827
+
828
+ getBaseTokens(overrides?: CallOverrides): Promise<PopulatedTransaction>;
829
+
830
+ getRewardTokens(overrides?: CallOverrides): Promise<PopulatedTransaction>;
831
+
832
+ globalReward(
833
+ arg0: string,
834
+ overrides?: CallOverrides
835
+ ): Promise<PopulatedTransaction>;
836
+
837
+ increaseAllowance(
838
+ spender: string,
839
+ addedValue: BigNumberish,
840
+ overrides?: Overrides & { from?: string | Promise<string> }
841
+ ): Promise<PopulatedTransaction>;
842
+
843
+ isValidBaseToken(
844
+ token: string,
845
+ overrides?: CallOverrides
846
+ ): Promise<PopulatedTransaction>;
847
+
848
+ lastScyIndex(overrides?: CallOverrides): Promise<PopulatedTransaction>;
849
+
850
+ mint(
851
+ receiver: string,
852
+ baseTokenIn: string,
853
+ minAmountScyOut: BigNumberish,
854
+ overrides?: Overrides & { from?: string | Promise<string> }
855
+ ): Promise<PopulatedTransaction>;
856
+
857
+ name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
858
+
859
+ qiToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
860
+
861
+ redeem(
862
+ receiver: string,
863
+ baseTokenOut: string,
864
+ minAmountBaseOut: BigNumberish,
865
+ overrides?: Overrides & { from?: string | Promise<string> }
866
+ ): Promise<PopulatedTransaction>;
867
+
868
+ redeemReward(
869
+ user: string,
870
+ receiver: string,
871
+ overrides?: Overrides & { from?: string | Promise<string> }
872
+ ): Promise<PopulatedTransaction>;
873
+
874
+ scyIndexCurrent(
875
+ overrides?: Overrides & { from?: string | Promise<string> }
876
+ ): Promise<PopulatedTransaction>;
877
+
878
+ scyIndexStored(overrides?: CallOverrides): Promise<PopulatedTransaction>;
879
+
880
+ symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>;
881
+
882
+ totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
883
+
884
+ transfer(
885
+ to: string,
886
+ amount: BigNumberish,
887
+ overrides?: Overrides & { from?: string | Promise<string> }
888
+ ): Promise<PopulatedTransaction>;
889
+
890
+ transferFrom(
891
+ from: string,
892
+ to: string,
893
+ amount: BigNumberish,
894
+ overrides?: Overrides & { from?: string | Promise<string> }
895
+ ): Promise<PopulatedTransaction>;
896
+
897
+ underlying(overrides?: CallOverrides): Promise<PopulatedTransaction>;
898
+
899
+ updateGlobalReward(
900
+ overrides?: Overrides & { from?: string | Promise<string> }
901
+ ): Promise<PopulatedTransaction>;
902
+
903
+ updateUserReward(
904
+ user: string,
905
+ overrides?: Overrides & { from?: string | Promise<string> }
906
+ ): Promise<PopulatedTransaction>;
907
+
908
+ userReward(
909
+ arg0: string,
910
+ arg1: string,
911
+ overrides?: CallOverrides
912
+ ): Promise<PopulatedTransaction>;
913
+ };
914
+ }