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