@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,734 @@
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 SCYBaseInterface extends utils.Interface {
26
+ contractName: "SCYBase";
27
+ functions: {
28
+ "allowance(address,address)": FunctionFragment;
29
+ "approve(address,uint256)": FunctionFragment;
30
+ "assetDecimals()": FunctionFragment;
31
+ "balanceOf(address)": FunctionFragment;
32
+ "decimals()": FunctionFragment;
33
+ "decreaseAllowance(address,uint256)": FunctionFragment;
34
+ "getBaseTokens()": FunctionFragment;
35
+ "getRewardTokens()": FunctionFragment;
36
+ "increaseAllowance(address,uint256)": FunctionFragment;
37
+ "isValidBaseToken(address)": FunctionFragment;
38
+ "mint(address,address,uint256)": FunctionFragment;
39
+ "name()": FunctionFragment;
40
+ "redeem(address,address,uint256)": FunctionFragment;
41
+ "redeemReward(address,address)": FunctionFragment;
42
+ "scyIndexCurrent()": FunctionFragment;
43
+ "scyIndexStored()": FunctionFragment;
44
+ "symbol()": FunctionFragment;
45
+ "totalSupply()": FunctionFragment;
46
+ "transfer(address,uint256)": FunctionFragment;
47
+ "transferFrom(address,address,uint256)": FunctionFragment;
48
+ "updateGlobalReward()": FunctionFragment;
49
+ "updateUserReward(address)": FunctionFragment;
50
+ };
51
+
52
+ encodeFunctionData(
53
+ functionFragment: "allowance",
54
+ values: [string, string]
55
+ ): string;
56
+ encodeFunctionData(
57
+ functionFragment: "approve",
58
+ values: [string, BigNumberish]
59
+ ): string;
60
+ encodeFunctionData(
61
+ functionFragment: "assetDecimals",
62
+ values?: undefined
63
+ ): string;
64
+ encodeFunctionData(functionFragment: "balanceOf", values: [string]): string;
65
+ encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
66
+ encodeFunctionData(
67
+ functionFragment: "decreaseAllowance",
68
+ values: [string, BigNumberish]
69
+ ): string;
70
+ encodeFunctionData(
71
+ functionFragment: "getBaseTokens",
72
+ values?: undefined
73
+ ): string;
74
+ encodeFunctionData(
75
+ functionFragment: "getRewardTokens",
76
+ values?: undefined
77
+ ): string;
78
+ encodeFunctionData(
79
+ functionFragment: "increaseAllowance",
80
+ values: [string, BigNumberish]
81
+ ): string;
82
+ encodeFunctionData(
83
+ functionFragment: "isValidBaseToken",
84
+ values: [string]
85
+ ): string;
86
+ encodeFunctionData(
87
+ functionFragment: "mint",
88
+ values: [string, string, BigNumberish]
89
+ ): string;
90
+ encodeFunctionData(functionFragment: "name", values?: undefined): string;
91
+ encodeFunctionData(
92
+ functionFragment: "redeem",
93
+ values: [string, string, BigNumberish]
94
+ ): string;
95
+ encodeFunctionData(
96
+ functionFragment: "redeemReward",
97
+ values: [string, string]
98
+ ): string;
99
+ encodeFunctionData(
100
+ functionFragment: "scyIndexCurrent",
101
+ values?: undefined
102
+ ): string;
103
+ encodeFunctionData(
104
+ functionFragment: "scyIndexStored",
105
+ values?: undefined
106
+ ): string;
107
+ encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
108
+ encodeFunctionData(
109
+ functionFragment: "totalSupply",
110
+ values?: undefined
111
+ ): string;
112
+ encodeFunctionData(
113
+ functionFragment: "transfer",
114
+ values: [string, BigNumberish]
115
+ ): string;
116
+ encodeFunctionData(
117
+ functionFragment: "transferFrom",
118
+ values: [string, string, BigNumberish]
119
+ ): string;
120
+ encodeFunctionData(
121
+ functionFragment: "updateGlobalReward",
122
+ values?: undefined
123
+ ): string;
124
+ encodeFunctionData(
125
+ functionFragment: "updateUserReward",
126
+ values: [string]
127
+ ): string;
128
+
129
+ decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
130
+ decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
131
+ decodeFunctionResult(
132
+ functionFragment: "assetDecimals",
133
+ data: BytesLike
134
+ ): Result;
135
+ decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
136
+ decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
137
+ decodeFunctionResult(
138
+ functionFragment: "decreaseAllowance",
139
+ data: BytesLike
140
+ ): Result;
141
+ decodeFunctionResult(
142
+ functionFragment: "getBaseTokens",
143
+ data: BytesLike
144
+ ): Result;
145
+ decodeFunctionResult(
146
+ functionFragment: "getRewardTokens",
147
+ data: BytesLike
148
+ ): Result;
149
+ decodeFunctionResult(
150
+ functionFragment: "increaseAllowance",
151
+ data: BytesLike
152
+ ): Result;
153
+ decodeFunctionResult(
154
+ functionFragment: "isValidBaseToken",
155
+ data: BytesLike
156
+ ): Result;
157
+ decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
158
+ decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
159
+ decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
160
+ decodeFunctionResult(
161
+ functionFragment: "redeemReward",
162
+ data: BytesLike
163
+ ): Result;
164
+ decodeFunctionResult(
165
+ functionFragment: "scyIndexCurrent",
166
+ data: BytesLike
167
+ ): Result;
168
+ decodeFunctionResult(
169
+ functionFragment: "scyIndexStored",
170
+ data: BytesLike
171
+ ): Result;
172
+ decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
173
+ decodeFunctionResult(
174
+ functionFragment: "totalSupply",
175
+ data: BytesLike
176
+ ): Result;
177
+ decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
178
+ decodeFunctionResult(
179
+ functionFragment: "transferFrom",
180
+ data: BytesLike
181
+ ): Result;
182
+ decodeFunctionResult(
183
+ functionFragment: "updateGlobalReward",
184
+ data: BytesLike
185
+ ): Result;
186
+ decodeFunctionResult(
187
+ functionFragment: "updateUserReward",
188
+ data: BytesLike
189
+ ): Result;
190
+
191
+ events: {
192
+ "Approval(address,address,uint256)": EventFragment;
193
+ "Transfer(address,address,uint256)": EventFragment;
194
+ };
195
+
196
+ getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
197
+ getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
198
+ }
199
+
200
+ export type ApprovalEvent = TypedEvent<
201
+ [string, string, BigNumber],
202
+ { owner: string; spender: string; value: BigNumber }
203
+ >;
204
+
205
+ export type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
206
+
207
+ export type TransferEvent = TypedEvent<
208
+ [string, string, BigNumber],
209
+ { from: string; to: string; value: BigNumber }
210
+ >;
211
+
212
+ export type TransferEventFilter = TypedEventFilter<TransferEvent>;
213
+
214
+ export interface SCYBase extends BaseContract {
215
+ contractName: "SCYBase";
216
+ connect(signerOrProvider: Signer | Provider | string): this;
217
+ attach(addressOrName: string): this;
218
+ deployed(): Promise<this>;
219
+
220
+ interface: SCYBaseInterface;
221
+
222
+ queryFilter<TEvent extends TypedEvent>(
223
+ event: TypedEventFilter<TEvent>,
224
+ fromBlockOrBlockhash?: string | number | undefined,
225
+ toBlock?: string | number | undefined
226
+ ): Promise<Array<TEvent>>;
227
+
228
+ listeners<TEvent extends TypedEvent>(
229
+ eventFilter?: TypedEventFilter<TEvent>
230
+ ): Array<TypedListener<TEvent>>;
231
+ listeners(eventName?: string): Array<Listener>;
232
+ removeAllListeners<TEvent extends TypedEvent>(
233
+ eventFilter: TypedEventFilter<TEvent>
234
+ ): this;
235
+ removeAllListeners(eventName?: string): this;
236
+ off: OnEvent<this>;
237
+ on: OnEvent<this>;
238
+ once: OnEvent<this>;
239
+ removeListener: OnEvent<this>;
240
+
241
+ functions: {
242
+ allowance(
243
+ owner: string,
244
+ spender: string,
245
+ overrides?: CallOverrides
246
+ ): Promise<[BigNumber]>;
247
+
248
+ approve(
249
+ spender: string,
250
+ amount: BigNumberish,
251
+ overrides?: Overrides & { from?: string | Promise<string> }
252
+ ): Promise<ContractTransaction>;
253
+
254
+ assetDecimals(overrides?: CallOverrides): Promise<[number]>;
255
+
256
+ balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
257
+
258
+ decimals(overrides?: CallOverrides): Promise<[number]>;
259
+
260
+ decreaseAllowance(
261
+ spender: string,
262
+ subtractedValue: BigNumberish,
263
+ overrides?: Overrides & { from?: string | Promise<string> }
264
+ ): Promise<ContractTransaction>;
265
+
266
+ getBaseTokens(
267
+ overrides?: CallOverrides
268
+ ): Promise<[string[]] & { res: string[] }>;
269
+
270
+ getRewardTokens(overrides?: CallOverrides): Promise<[string[]]>;
271
+
272
+ increaseAllowance(
273
+ spender: string,
274
+ addedValue: BigNumberish,
275
+ overrides?: Overrides & { from?: string | Promise<string> }
276
+ ): Promise<ContractTransaction>;
277
+
278
+ isValidBaseToken(
279
+ token: string,
280
+ overrides?: CallOverrides
281
+ ): Promise<[boolean]>;
282
+
283
+ mint(
284
+ receiver: string,
285
+ baseTokenIn: string,
286
+ minAmountScyOut: BigNumberish,
287
+ overrides?: Overrides & { from?: string | Promise<string> }
288
+ ): Promise<ContractTransaction>;
289
+
290
+ name(overrides?: CallOverrides): Promise<[string]>;
291
+
292
+ redeem(
293
+ receiver: string,
294
+ baseTokenOut: string,
295
+ minAmountBaseOut: BigNumberish,
296
+ overrides?: Overrides & { from?: string | Promise<string> }
297
+ ): Promise<ContractTransaction>;
298
+
299
+ redeemReward(
300
+ user: string,
301
+ receiver: string,
302
+ overrides?: Overrides & { from?: string | Promise<string> }
303
+ ): Promise<ContractTransaction>;
304
+
305
+ scyIndexCurrent(
306
+ overrides?: Overrides & { from?: string | Promise<string> }
307
+ ): Promise<ContractTransaction>;
308
+
309
+ scyIndexStored(
310
+ overrides?: CallOverrides
311
+ ): Promise<[BigNumber] & { res: BigNumber }>;
312
+
313
+ symbol(overrides?: CallOverrides): Promise<[string]>;
314
+
315
+ totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
316
+
317
+ transfer(
318
+ to: string,
319
+ amount: BigNumberish,
320
+ overrides?: Overrides & { from?: string | Promise<string> }
321
+ ): Promise<ContractTransaction>;
322
+
323
+ transferFrom(
324
+ from: string,
325
+ to: string,
326
+ amount: BigNumberish,
327
+ overrides?: Overrides & { from?: string | Promise<string> }
328
+ ): Promise<ContractTransaction>;
329
+
330
+ updateGlobalReward(
331
+ overrides?: Overrides & { from?: string | Promise<string> }
332
+ ): Promise<ContractTransaction>;
333
+
334
+ updateUserReward(
335
+ user: string,
336
+ overrides?: Overrides & { from?: string | Promise<string> }
337
+ ): Promise<ContractTransaction>;
338
+ };
339
+
340
+ allowance(
341
+ owner: string,
342
+ spender: string,
343
+ overrides?: CallOverrides
344
+ ): Promise<BigNumber>;
345
+
346
+ approve(
347
+ spender: string,
348
+ amount: BigNumberish,
349
+ overrides?: Overrides & { from?: string | Promise<string> }
350
+ ): Promise<ContractTransaction>;
351
+
352
+ assetDecimals(overrides?: CallOverrides): Promise<number>;
353
+
354
+ balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
355
+
356
+ decimals(overrides?: CallOverrides): Promise<number>;
357
+
358
+ decreaseAllowance(
359
+ spender: string,
360
+ subtractedValue: BigNumberish,
361
+ overrides?: Overrides & { from?: string | Promise<string> }
362
+ ): Promise<ContractTransaction>;
363
+
364
+ getBaseTokens(overrides?: CallOverrides): Promise<string[]>;
365
+
366
+ getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
367
+
368
+ increaseAllowance(
369
+ spender: string,
370
+ addedValue: BigNumberish,
371
+ overrides?: Overrides & { from?: string | Promise<string> }
372
+ ): Promise<ContractTransaction>;
373
+
374
+ isValidBaseToken(token: string, overrides?: CallOverrides): Promise<boolean>;
375
+
376
+ mint(
377
+ receiver: string,
378
+ baseTokenIn: string,
379
+ minAmountScyOut: BigNumberish,
380
+ overrides?: Overrides & { from?: string | Promise<string> }
381
+ ): Promise<ContractTransaction>;
382
+
383
+ name(overrides?: CallOverrides): Promise<string>;
384
+
385
+ redeem(
386
+ receiver: string,
387
+ baseTokenOut: string,
388
+ minAmountBaseOut: BigNumberish,
389
+ overrides?: Overrides & { from?: string | Promise<string> }
390
+ ): Promise<ContractTransaction>;
391
+
392
+ redeemReward(
393
+ user: string,
394
+ receiver: string,
395
+ overrides?: Overrides & { from?: string | Promise<string> }
396
+ ): Promise<ContractTransaction>;
397
+
398
+ scyIndexCurrent(
399
+ overrides?: Overrides & { from?: string | Promise<string> }
400
+ ): Promise<ContractTransaction>;
401
+
402
+ scyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
403
+
404
+ symbol(overrides?: CallOverrides): Promise<string>;
405
+
406
+ totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
407
+
408
+ transfer(
409
+ to: string,
410
+ amount: BigNumberish,
411
+ overrides?: Overrides & { from?: string | Promise<string> }
412
+ ): Promise<ContractTransaction>;
413
+
414
+ transferFrom(
415
+ from: string,
416
+ to: string,
417
+ amount: BigNumberish,
418
+ overrides?: Overrides & { from?: string | Promise<string> }
419
+ ): Promise<ContractTransaction>;
420
+
421
+ updateGlobalReward(
422
+ overrides?: Overrides & { from?: string | Promise<string> }
423
+ ): Promise<ContractTransaction>;
424
+
425
+ updateUserReward(
426
+ user: string,
427
+ overrides?: Overrides & { from?: string | Promise<string> }
428
+ ): Promise<ContractTransaction>;
429
+
430
+ callStatic: {
431
+ allowance(
432
+ owner: string,
433
+ spender: string,
434
+ overrides?: CallOverrides
435
+ ): Promise<BigNumber>;
436
+
437
+ approve(
438
+ spender: string,
439
+ amount: BigNumberish,
440
+ overrides?: CallOverrides
441
+ ): Promise<boolean>;
442
+
443
+ assetDecimals(overrides?: CallOverrides): Promise<number>;
444
+
445
+ balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
446
+
447
+ decimals(overrides?: CallOverrides): Promise<number>;
448
+
449
+ decreaseAllowance(
450
+ spender: string,
451
+ subtractedValue: BigNumberish,
452
+ overrides?: CallOverrides
453
+ ): Promise<boolean>;
454
+
455
+ getBaseTokens(overrides?: CallOverrides): Promise<string[]>;
456
+
457
+ getRewardTokens(overrides?: CallOverrides): Promise<string[]>;
458
+
459
+ increaseAllowance(
460
+ spender: string,
461
+ addedValue: BigNumberish,
462
+ overrides?: CallOverrides
463
+ ): Promise<boolean>;
464
+
465
+ isValidBaseToken(
466
+ token: string,
467
+ overrides?: CallOverrides
468
+ ): Promise<boolean>;
469
+
470
+ mint(
471
+ receiver: string,
472
+ baseTokenIn: string,
473
+ minAmountScyOut: BigNumberish,
474
+ overrides?: CallOverrides
475
+ ): Promise<BigNumber>;
476
+
477
+ name(overrides?: CallOverrides): Promise<string>;
478
+
479
+ redeem(
480
+ receiver: string,
481
+ baseTokenOut: string,
482
+ minAmountBaseOut: BigNumberish,
483
+ overrides?: CallOverrides
484
+ ): Promise<BigNumber>;
485
+
486
+ redeemReward(
487
+ user: string,
488
+ receiver: string,
489
+ overrides?: CallOverrides
490
+ ): Promise<BigNumber[]>;
491
+
492
+ scyIndexCurrent(overrides?: CallOverrides): Promise<BigNumber>;
493
+
494
+ scyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
495
+
496
+ symbol(overrides?: CallOverrides): Promise<string>;
497
+
498
+ totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
499
+
500
+ transfer(
501
+ to: string,
502
+ amount: BigNumberish,
503
+ overrides?: CallOverrides
504
+ ): Promise<boolean>;
505
+
506
+ transferFrom(
507
+ from: string,
508
+ to: string,
509
+ amount: BigNumberish,
510
+ overrides?: CallOverrides
511
+ ): Promise<boolean>;
512
+
513
+ updateGlobalReward(overrides?: CallOverrides): Promise<void>;
514
+
515
+ updateUserReward(user: string, overrides?: CallOverrides): Promise<void>;
516
+ };
517
+
518
+ filters: {
519
+ "Approval(address,address,uint256)"(
520
+ owner?: string | null,
521
+ spender?: string | null,
522
+ value?: null
523
+ ): ApprovalEventFilter;
524
+ Approval(
525
+ owner?: string | null,
526
+ spender?: string | null,
527
+ value?: null
528
+ ): ApprovalEventFilter;
529
+
530
+ "Transfer(address,address,uint256)"(
531
+ from?: string | null,
532
+ to?: string | null,
533
+ value?: null
534
+ ): TransferEventFilter;
535
+ Transfer(
536
+ from?: string | null,
537
+ to?: string | null,
538
+ value?: null
539
+ ): TransferEventFilter;
540
+ };
541
+
542
+ estimateGas: {
543
+ allowance(
544
+ owner: string,
545
+ spender: string,
546
+ overrides?: CallOverrides
547
+ ): Promise<BigNumber>;
548
+
549
+ approve(
550
+ spender: string,
551
+ amount: BigNumberish,
552
+ overrides?: Overrides & { from?: string | Promise<string> }
553
+ ): Promise<BigNumber>;
554
+
555
+ assetDecimals(overrides?: CallOverrides): Promise<BigNumber>;
556
+
557
+ balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
558
+
559
+ decimals(overrides?: CallOverrides): Promise<BigNumber>;
560
+
561
+ decreaseAllowance(
562
+ spender: string,
563
+ subtractedValue: BigNumberish,
564
+ overrides?: Overrides & { from?: string | Promise<string> }
565
+ ): Promise<BigNumber>;
566
+
567
+ getBaseTokens(overrides?: CallOverrides): Promise<BigNumber>;
568
+
569
+ getRewardTokens(overrides?: CallOverrides): Promise<BigNumber>;
570
+
571
+ increaseAllowance(
572
+ spender: string,
573
+ addedValue: BigNumberish,
574
+ overrides?: Overrides & { from?: string | Promise<string> }
575
+ ): Promise<BigNumber>;
576
+
577
+ isValidBaseToken(
578
+ token: string,
579
+ overrides?: CallOverrides
580
+ ): Promise<BigNumber>;
581
+
582
+ mint(
583
+ receiver: string,
584
+ baseTokenIn: string,
585
+ minAmountScyOut: BigNumberish,
586
+ overrides?: Overrides & { from?: string | Promise<string> }
587
+ ): Promise<BigNumber>;
588
+
589
+ name(overrides?: CallOverrides): Promise<BigNumber>;
590
+
591
+ redeem(
592
+ receiver: string,
593
+ baseTokenOut: string,
594
+ minAmountBaseOut: BigNumberish,
595
+ overrides?: Overrides & { from?: string | Promise<string> }
596
+ ): Promise<BigNumber>;
597
+
598
+ redeemReward(
599
+ user: string,
600
+ receiver: string,
601
+ overrides?: Overrides & { from?: string | Promise<string> }
602
+ ): Promise<BigNumber>;
603
+
604
+ scyIndexCurrent(
605
+ overrides?: Overrides & { from?: string | Promise<string> }
606
+ ): Promise<BigNumber>;
607
+
608
+ scyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
609
+
610
+ symbol(overrides?: CallOverrides): Promise<BigNumber>;
611
+
612
+ totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
613
+
614
+ transfer(
615
+ to: string,
616
+ amount: BigNumberish,
617
+ overrides?: Overrides & { from?: string | Promise<string> }
618
+ ): Promise<BigNumber>;
619
+
620
+ transferFrom(
621
+ from: string,
622
+ to: string,
623
+ amount: BigNumberish,
624
+ overrides?: Overrides & { from?: string | Promise<string> }
625
+ ): Promise<BigNumber>;
626
+
627
+ updateGlobalReward(
628
+ overrides?: Overrides & { from?: string | Promise<string> }
629
+ ): Promise<BigNumber>;
630
+
631
+ updateUserReward(
632
+ user: string,
633
+ overrides?: Overrides & { from?: string | Promise<string> }
634
+ ): Promise<BigNumber>;
635
+ };
636
+
637
+ populateTransaction: {
638
+ allowance(
639
+ owner: string,
640
+ spender: string,
641
+ overrides?: CallOverrides
642
+ ): Promise<PopulatedTransaction>;
643
+
644
+ approve(
645
+ spender: string,
646
+ amount: BigNumberish,
647
+ overrides?: Overrides & { from?: string | Promise<string> }
648
+ ): Promise<PopulatedTransaction>;
649
+
650
+ assetDecimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
651
+
652
+ balanceOf(
653
+ account: string,
654
+ overrides?: CallOverrides
655
+ ): Promise<PopulatedTransaction>;
656
+
657
+ decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
658
+
659
+ decreaseAllowance(
660
+ spender: string,
661
+ subtractedValue: BigNumberish,
662
+ overrides?: Overrides & { from?: string | Promise<string> }
663
+ ): Promise<PopulatedTransaction>;
664
+
665
+ getBaseTokens(overrides?: CallOverrides): Promise<PopulatedTransaction>;
666
+
667
+ getRewardTokens(overrides?: CallOverrides): Promise<PopulatedTransaction>;
668
+
669
+ increaseAllowance(
670
+ spender: string,
671
+ addedValue: BigNumberish,
672
+ overrides?: Overrides & { from?: string | Promise<string> }
673
+ ): Promise<PopulatedTransaction>;
674
+
675
+ isValidBaseToken(
676
+ token: string,
677
+ overrides?: CallOverrides
678
+ ): Promise<PopulatedTransaction>;
679
+
680
+ mint(
681
+ receiver: string,
682
+ baseTokenIn: string,
683
+ minAmountScyOut: BigNumberish,
684
+ overrides?: Overrides & { from?: string | Promise<string> }
685
+ ): Promise<PopulatedTransaction>;
686
+
687
+ name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
688
+
689
+ redeem(
690
+ receiver: string,
691
+ baseTokenOut: string,
692
+ minAmountBaseOut: BigNumberish,
693
+ overrides?: Overrides & { from?: string | Promise<string> }
694
+ ): Promise<PopulatedTransaction>;
695
+
696
+ redeemReward(
697
+ user: string,
698
+ receiver: string,
699
+ overrides?: Overrides & { from?: string | Promise<string> }
700
+ ): Promise<PopulatedTransaction>;
701
+
702
+ scyIndexCurrent(
703
+ overrides?: Overrides & { from?: string | Promise<string> }
704
+ ): Promise<PopulatedTransaction>;
705
+
706
+ scyIndexStored(overrides?: CallOverrides): Promise<PopulatedTransaction>;
707
+
708
+ symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>;
709
+
710
+ totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
711
+
712
+ transfer(
713
+ to: string,
714
+ amount: BigNumberish,
715
+ overrides?: Overrides & { from?: string | Promise<string> }
716
+ ): Promise<PopulatedTransaction>;
717
+
718
+ transferFrom(
719
+ from: string,
720
+ to: string,
721
+ amount: BigNumberish,
722
+ overrides?: Overrides & { from?: string | Promise<string> }
723
+ ): Promise<PopulatedTransaction>;
724
+
725
+ updateGlobalReward(
726
+ overrides?: Overrides & { from?: string | Promise<string> }
727
+ ): Promise<PopulatedTransaction>;
728
+
729
+ updateUserReward(
730
+ user: string,
731
+ overrides?: Overrides & { from?: string | Promise<string> }
732
+ ): Promise<PopulatedTransaction>;
733
+ };
734
+ }