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