@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,1107 @@
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
+ PayableOverrides,
13
+ PopulatedTransaction,
14
+ Signer,
15
+ utils,
16
+ } from "ethers";
17
+ import { FunctionFragment, Result } from "@ethersproject/abi";
18
+ import { Listener, Provider } from "@ethersproject/providers";
19
+ import type {
20
+ TypedEventFilter,
21
+ TypedEvent,
22
+ TypedListener,
23
+ OnEvent,
24
+ } from "./common";
25
+
26
+ export interface IJoeRouter01Interface extends utils.Interface {
27
+ contractName: "IJoeRouter01";
28
+ functions: {
29
+ "WAVAX()": FunctionFragment;
30
+ "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)": FunctionFragment;
31
+ "addLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)": FunctionFragment;
32
+ "factory()": FunctionFragment;
33
+ "getAmountIn(uint256,uint256,uint256)": FunctionFragment;
34
+ "getAmountOut(uint256,uint256,uint256)": FunctionFragment;
35
+ "getAmountsIn(uint256,address[])": FunctionFragment;
36
+ "getAmountsOut(uint256,address[])": FunctionFragment;
37
+ "quote(uint256,uint256,uint256)": FunctionFragment;
38
+ "removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)": FunctionFragment;
39
+ "removeLiquidityAVAX(address,uint256,uint256,uint256,address,uint256)": FunctionFragment;
40
+ "removeLiquidityAVAXWithPermit(address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": FunctionFragment;
41
+ "removeLiquidityWithPermit(address,address,uint256,uint256,uint256,address,uint256,bool,uint8,bytes32,bytes32)": FunctionFragment;
42
+ "swapAVAXForExactTokens(uint256,address[],address,uint256)": FunctionFragment;
43
+ "swapExactAVAXForTokens(uint256,address[],address,uint256)": FunctionFragment;
44
+ "swapExactTokensForAVAX(uint256,uint256,address[],address,uint256)": FunctionFragment;
45
+ "swapExactTokensForTokens(uint256,uint256,address[],address,uint256)": FunctionFragment;
46
+ "swapTokensForExactAVAX(uint256,uint256,address[],address,uint256)": FunctionFragment;
47
+ "swapTokensForExactTokens(uint256,uint256,address[],address,uint256)": FunctionFragment;
48
+ };
49
+
50
+ encodeFunctionData(functionFragment: "WAVAX", values?: undefined): string;
51
+ encodeFunctionData(
52
+ functionFragment: "addLiquidity",
53
+ values: [
54
+ string,
55
+ string,
56
+ BigNumberish,
57
+ BigNumberish,
58
+ BigNumberish,
59
+ BigNumberish,
60
+ string,
61
+ BigNumberish
62
+ ]
63
+ ): string;
64
+ encodeFunctionData(
65
+ functionFragment: "addLiquidityAVAX",
66
+ values: [
67
+ string,
68
+ BigNumberish,
69
+ BigNumberish,
70
+ BigNumberish,
71
+ string,
72
+ BigNumberish
73
+ ]
74
+ ): string;
75
+ encodeFunctionData(functionFragment: "factory", values?: undefined): string;
76
+ encodeFunctionData(
77
+ functionFragment: "getAmountIn",
78
+ values: [BigNumberish, BigNumberish, BigNumberish]
79
+ ): string;
80
+ encodeFunctionData(
81
+ functionFragment: "getAmountOut",
82
+ values: [BigNumberish, BigNumberish, BigNumberish]
83
+ ): string;
84
+ encodeFunctionData(
85
+ functionFragment: "getAmountsIn",
86
+ values: [BigNumberish, string[]]
87
+ ): string;
88
+ encodeFunctionData(
89
+ functionFragment: "getAmountsOut",
90
+ values: [BigNumberish, string[]]
91
+ ): string;
92
+ encodeFunctionData(
93
+ functionFragment: "quote",
94
+ values: [BigNumberish, BigNumberish, BigNumberish]
95
+ ): string;
96
+ encodeFunctionData(
97
+ functionFragment: "removeLiquidity",
98
+ values: [
99
+ string,
100
+ string,
101
+ BigNumberish,
102
+ BigNumberish,
103
+ BigNumberish,
104
+ string,
105
+ BigNumberish
106
+ ]
107
+ ): string;
108
+ encodeFunctionData(
109
+ functionFragment: "removeLiquidityAVAX",
110
+ values: [
111
+ string,
112
+ BigNumberish,
113
+ BigNumberish,
114
+ BigNumberish,
115
+ string,
116
+ BigNumberish
117
+ ]
118
+ ): string;
119
+ encodeFunctionData(
120
+ functionFragment: "removeLiquidityAVAXWithPermit",
121
+ values: [
122
+ string,
123
+ BigNumberish,
124
+ BigNumberish,
125
+ BigNumberish,
126
+ string,
127
+ BigNumberish,
128
+ boolean,
129
+ BigNumberish,
130
+ BytesLike,
131
+ BytesLike
132
+ ]
133
+ ): string;
134
+ encodeFunctionData(
135
+ functionFragment: "removeLiquidityWithPermit",
136
+ values: [
137
+ string,
138
+ string,
139
+ BigNumberish,
140
+ BigNumberish,
141
+ BigNumberish,
142
+ string,
143
+ BigNumberish,
144
+ boolean,
145
+ BigNumberish,
146
+ BytesLike,
147
+ BytesLike
148
+ ]
149
+ ): string;
150
+ encodeFunctionData(
151
+ functionFragment: "swapAVAXForExactTokens",
152
+ values: [BigNumberish, string[], string, BigNumberish]
153
+ ): string;
154
+ encodeFunctionData(
155
+ functionFragment: "swapExactAVAXForTokens",
156
+ values: [BigNumberish, string[], string, BigNumberish]
157
+ ): string;
158
+ encodeFunctionData(
159
+ functionFragment: "swapExactTokensForAVAX",
160
+ values: [BigNumberish, BigNumberish, string[], string, BigNumberish]
161
+ ): string;
162
+ encodeFunctionData(
163
+ functionFragment: "swapExactTokensForTokens",
164
+ values: [BigNumberish, BigNumberish, string[], string, BigNumberish]
165
+ ): string;
166
+ encodeFunctionData(
167
+ functionFragment: "swapTokensForExactAVAX",
168
+ values: [BigNumberish, BigNumberish, string[], string, BigNumberish]
169
+ ): string;
170
+ encodeFunctionData(
171
+ functionFragment: "swapTokensForExactTokens",
172
+ values: [BigNumberish, BigNumberish, string[], string, BigNumberish]
173
+ ): string;
174
+
175
+ decodeFunctionResult(functionFragment: "WAVAX", data: BytesLike): Result;
176
+ decodeFunctionResult(
177
+ functionFragment: "addLiquidity",
178
+ data: BytesLike
179
+ ): Result;
180
+ decodeFunctionResult(
181
+ functionFragment: "addLiquidityAVAX",
182
+ data: BytesLike
183
+ ): Result;
184
+ decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result;
185
+ decodeFunctionResult(
186
+ functionFragment: "getAmountIn",
187
+ data: BytesLike
188
+ ): Result;
189
+ decodeFunctionResult(
190
+ functionFragment: "getAmountOut",
191
+ data: BytesLike
192
+ ): Result;
193
+ decodeFunctionResult(
194
+ functionFragment: "getAmountsIn",
195
+ data: BytesLike
196
+ ): Result;
197
+ decodeFunctionResult(
198
+ functionFragment: "getAmountsOut",
199
+ data: BytesLike
200
+ ): Result;
201
+ decodeFunctionResult(functionFragment: "quote", data: BytesLike): Result;
202
+ decodeFunctionResult(
203
+ functionFragment: "removeLiquidity",
204
+ data: BytesLike
205
+ ): Result;
206
+ decodeFunctionResult(
207
+ functionFragment: "removeLiquidityAVAX",
208
+ data: BytesLike
209
+ ): Result;
210
+ decodeFunctionResult(
211
+ functionFragment: "removeLiquidityAVAXWithPermit",
212
+ data: BytesLike
213
+ ): Result;
214
+ decodeFunctionResult(
215
+ functionFragment: "removeLiquidityWithPermit",
216
+ data: BytesLike
217
+ ): Result;
218
+ decodeFunctionResult(
219
+ functionFragment: "swapAVAXForExactTokens",
220
+ data: BytesLike
221
+ ): Result;
222
+ decodeFunctionResult(
223
+ functionFragment: "swapExactAVAXForTokens",
224
+ data: BytesLike
225
+ ): Result;
226
+ decodeFunctionResult(
227
+ functionFragment: "swapExactTokensForAVAX",
228
+ data: BytesLike
229
+ ): Result;
230
+ decodeFunctionResult(
231
+ functionFragment: "swapExactTokensForTokens",
232
+ data: BytesLike
233
+ ): Result;
234
+ decodeFunctionResult(
235
+ functionFragment: "swapTokensForExactAVAX",
236
+ data: BytesLike
237
+ ): Result;
238
+ decodeFunctionResult(
239
+ functionFragment: "swapTokensForExactTokens",
240
+ data: BytesLike
241
+ ): Result;
242
+
243
+ events: {};
244
+ }
245
+
246
+ export interface IJoeRouter01 extends BaseContract {
247
+ contractName: "IJoeRouter01";
248
+ connect(signerOrProvider: Signer | Provider | string): this;
249
+ attach(addressOrName: string): this;
250
+ deployed(): Promise<this>;
251
+
252
+ interface: IJoeRouter01Interface;
253
+
254
+ queryFilter<TEvent extends TypedEvent>(
255
+ event: TypedEventFilter<TEvent>,
256
+ fromBlockOrBlockhash?: string | number | undefined,
257
+ toBlock?: string | number | undefined
258
+ ): Promise<Array<TEvent>>;
259
+
260
+ listeners<TEvent extends TypedEvent>(
261
+ eventFilter?: TypedEventFilter<TEvent>
262
+ ): Array<TypedListener<TEvent>>;
263
+ listeners(eventName?: string): Array<Listener>;
264
+ removeAllListeners<TEvent extends TypedEvent>(
265
+ eventFilter: TypedEventFilter<TEvent>
266
+ ): this;
267
+ removeAllListeners(eventName?: string): this;
268
+ off: OnEvent<this>;
269
+ on: OnEvent<this>;
270
+ once: OnEvent<this>;
271
+ removeListener: OnEvent<this>;
272
+
273
+ functions: {
274
+ WAVAX(overrides?: CallOverrides): Promise<[string]>;
275
+
276
+ addLiquidity(
277
+ tokenA: string,
278
+ tokenB: string,
279
+ amountADesired: BigNumberish,
280
+ amountBDesired: BigNumberish,
281
+ amountAMin: BigNumberish,
282
+ amountBMin: BigNumberish,
283
+ to: string,
284
+ deadline: BigNumberish,
285
+ overrides?: Overrides & { from?: string | Promise<string> }
286
+ ): Promise<ContractTransaction>;
287
+
288
+ addLiquidityAVAX(
289
+ token: string,
290
+ amountTokenDesired: BigNumberish,
291
+ amountTokenMin: BigNumberish,
292
+ amountAVAXMin: BigNumberish,
293
+ to: string,
294
+ deadline: BigNumberish,
295
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
296
+ ): Promise<ContractTransaction>;
297
+
298
+ factory(overrides?: CallOverrides): Promise<[string]>;
299
+
300
+ getAmountIn(
301
+ amountOut: BigNumberish,
302
+ reserveIn: BigNumberish,
303
+ reserveOut: BigNumberish,
304
+ overrides?: CallOverrides
305
+ ): Promise<[BigNumber] & { amountIn: BigNumber }>;
306
+
307
+ getAmountOut(
308
+ amountIn: BigNumberish,
309
+ reserveIn: BigNumberish,
310
+ reserveOut: BigNumberish,
311
+ overrides?: CallOverrides
312
+ ): Promise<[BigNumber] & { amountOut: BigNumber }>;
313
+
314
+ getAmountsIn(
315
+ amountOut: BigNumberish,
316
+ path: string[],
317
+ overrides?: CallOverrides
318
+ ): Promise<[BigNumber[]] & { amounts: BigNumber[] }>;
319
+
320
+ getAmountsOut(
321
+ amountIn: BigNumberish,
322
+ path: string[],
323
+ overrides?: CallOverrides
324
+ ): Promise<[BigNumber[]] & { amounts: BigNumber[] }>;
325
+
326
+ quote(
327
+ amountA: BigNumberish,
328
+ reserveA: BigNumberish,
329
+ reserveB: BigNumberish,
330
+ overrides?: CallOverrides
331
+ ): Promise<[BigNumber] & { amountB: BigNumber }>;
332
+
333
+ removeLiquidity(
334
+ tokenA: string,
335
+ tokenB: string,
336
+ liquidity: BigNumberish,
337
+ amountAMin: BigNumberish,
338
+ amountBMin: BigNumberish,
339
+ to: string,
340
+ deadline: BigNumberish,
341
+ overrides?: Overrides & { from?: string | Promise<string> }
342
+ ): Promise<ContractTransaction>;
343
+
344
+ removeLiquidityAVAX(
345
+ token: string,
346
+ liquidity: BigNumberish,
347
+ amountTokenMin: BigNumberish,
348
+ amountAVAXMin: BigNumberish,
349
+ to: string,
350
+ deadline: BigNumberish,
351
+ overrides?: Overrides & { from?: string | Promise<string> }
352
+ ): Promise<ContractTransaction>;
353
+
354
+ removeLiquidityAVAXWithPermit(
355
+ token: string,
356
+ liquidity: BigNumberish,
357
+ amountTokenMin: BigNumberish,
358
+ amountAVAXMin: BigNumberish,
359
+ to: string,
360
+ deadline: BigNumberish,
361
+ approveMax: boolean,
362
+ v: BigNumberish,
363
+ r: BytesLike,
364
+ s: BytesLike,
365
+ overrides?: Overrides & { from?: string | Promise<string> }
366
+ ): Promise<ContractTransaction>;
367
+
368
+ removeLiquidityWithPermit(
369
+ tokenA: string,
370
+ tokenB: string,
371
+ liquidity: BigNumberish,
372
+ amountAMin: BigNumberish,
373
+ amountBMin: BigNumberish,
374
+ to: string,
375
+ deadline: BigNumberish,
376
+ approveMax: boolean,
377
+ v: BigNumberish,
378
+ r: BytesLike,
379
+ s: BytesLike,
380
+ overrides?: Overrides & { from?: string | Promise<string> }
381
+ ): Promise<ContractTransaction>;
382
+
383
+ swapAVAXForExactTokens(
384
+ amountOut: BigNumberish,
385
+ path: string[],
386
+ to: string,
387
+ deadline: BigNumberish,
388
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
389
+ ): Promise<ContractTransaction>;
390
+
391
+ swapExactAVAXForTokens(
392
+ amountOutMin: BigNumberish,
393
+ path: string[],
394
+ to: string,
395
+ deadline: BigNumberish,
396
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
397
+ ): Promise<ContractTransaction>;
398
+
399
+ swapExactTokensForAVAX(
400
+ amountIn: BigNumberish,
401
+ amountOutMin: BigNumberish,
402
+ path: string[],
403
+ to: string,
404
+ deadline: BigNumberish,
405
+ overrides?: Overrides & { from?: string | Promise<string> }
406
+ ): Promise<ContractTransaction>;
407
+
408
+ swapExactTokensForTokens(
409
+ amountIn: BigNumberish,
410
+ amountOutMin: BigNumberish,
411
+ path: string[],
412
+ to: string,
413
+ deadline: BigNumberish,
414
+ overrides?: Overrides & { from?: string | Promise<string> }
415
+ ): Promise<ContractTransaction>;
416
+
417
+ swapTokensForExactAVAX(
418
+ amountOut: BigNumberish,
419
+ amountInMax: BigNumberish,
420
+ path: string[],
421
+ to: string,
422
+ deadline: BigNumberish,
423
+ overrides?: Overrides & { from?: string | Promise<string> }
424
+ ): Promise<ContractTransaction>;
425
+
426
+ swapTokensForExactTokens(
427
+ amountOut: BigNumberish,
428
+ amountInMax: BigNumberish,
429
+ path: string[],
430
+ to: string,
431
+ deadline: BigNumberish,
432
+ overrides?: Overrides & { from?: string | Promise<string> }
433
+ ): Promise<ContractTransaction>;
434
+ };
435
+
436
+ WAVAX(overrides?: CallOverrides): Promise<string>;
437
+
438
+ addLiquidity(
439
+ tokenA: string,
440
+ tokenB: string,
441
+ amountADesired: BigNumberish,
442
+ amountBDesired: BigNumberish,
443
+ amountAMin: BigNumberish,
444
+ amountBMin: BigNumberish,
445
+ to: string,
446
+ deadline: BigNumberish,
447
+ overrides?: Overrides & { from?: string | Promise<string> }
448
+ ): Promise<ContractTransaction>;
449
+
450
+ addLiquidityAVAX(
451
+ token: string,
452
+ amountTokenDesired: BigNumberish,
453
+ amountTokenMin: BigNumberish,
454
+ amountAVAXMin: BigNumberish,
455
+ to: string,
456
+ deadline: BigNumberish,
457
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
458
+ ): Promise<ContractTransaction>;
459
+
460
+ factory(overrides?: CallOverrides): Promise<string>;
461
+
462
+ getAmountIn(
463
+ amountOut: BigNumberish,
464
+ reserveIn: BigNumberish,
465
+ reserveOut: BigNumberish,
466
+ overrides?: CallOverrides
467
+ ): Promise<BigNumber>;
468
+
469
+ getAmountOut(
470
+ amountIn: BigNumberish,
471
+ reserveIn: BigNumberish,
472
+ reserveOut: BigNumberish,
473
+ overrides?: CallOverrides
474
+ ): Promise<BigNumber>;
475
+
476
+ getAmountsIn(
477
+ amountOut: BigNumberish,
478
+ path: string[],
479
+ overrides?: CallOverrides
480
+ ): Promise<BigNumber[]>;
481
+
482
+ getAmountsOut(
483
+ amountIn: BigNumberish,
484
+ path: string[],
485
+ overrides?: CallOverrides
486
+ ): Promise<BigNumber[]>;
487
+
488
+ quote(
489
+ amountA: BigNumberish,
490
+ reserveA: BigNumberish,
491
+ reserveB: BigNumberish,
492
+ overrides?: CallOverrides
493
+ ): Promise<BigNumber>;
494
+
495
+ removeLiquidity(
496
+ tokenA: string,
497
+ tokenB: string,
498
+ liquidity: BigNumberish,
499
+ amountAMin: BigNumberish,
500
+ amountBMin: BigNumberish,
501
+ to: string,
502
+ deadline: BigNumberish,
503
+ overrides?: Overrides & { from?: string | Promise<string> }
504
+ ): Promise<ContractTransaction>;
505
+
506
+ removeLiquidityAVAX(
507
+ token: string,
508
+ liquidity: BigNumberish,
509
+ amountTokenMin: BigNumberish,
510
+ amountAVAXMin: BigNumberish,
511
+ to: string,
512
+ deadline: BigNumberish,
513
+ overrides?: Overrides & { from?: string | Promise<string> }
514
+ ): Promise<ContractTransaction>;
515
+
516
+ removeLiquidityAVAXWithPermit(
517
+ token: string,
518
+ liquidity: BigNumberish,
519
+ amountTokenMin: BigNumberish,
520
+ amountAVAXMin: BigNumberish,
521
+ to: string,
522
+ deadline: BigNumberish,
523
+ approveMax: boolean,
524
+ v: BigNumberish,
525
+ r: BytesLike,
526
+ s: BytesLike,
527
+ overrides?: Overrides & { from?: string | Promise<string> }
528
+ ): Promise<ContractTransaction>;
529
+
530
+ removeLiquidityWithPermit(
531
+ tokenA: string,
532
+ tokenB: string,
533
+ liquidity: BigNumberish,
534
+ amountAMin: BigNumberish,
535
+ amountBMin: BigNumberish,
536
+ to: string,
537
+ deadline: BigNumberish,
538
+ approveMax: boolean,
539
+ v: BigNumberish,
540
+ r: BytesLike,
541
+ s: BytesLike,
542
+ overrides?: Overrides & { from?: string | Promise<string> }
543
+ ): Promise<ContractTransaction>;
544
+
545
+ swapAVAXForExactTokens(
546
+ amountOut: BigNumberish,
547
+ path: string[],
548
+ to: string,
549
+ deadline: BigNumberish,
550
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
551
+ ): Promise<ContractTransaction>;
552
+
553
+ swapExactAVAXForTokens(
554
+ amountOutMin: BigNumberish,
555
+ path: string[],
556
+ to: string,
557
+ deadline: BigNumberish,
558
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
559
+ ): Promise<ContractTransaction>;
560
+
561
+ swapExactTokensForAVAX(
562
+ amountIn: BigNumberish,
563
+ amountOutMin: BigNumberish,
564
+ path: string[],
565
+ to: string,
566
+ deadline: BigNumberish,
567
+ overrides?: Overrides & { from?: string | Promise<string> }
568
+ ): Promise<ContractTransaction>;
569
+
570
+ swapExactTokensForTokens(
571
+ amountIn: BigNumberish,
572
+ amountOutMin: BigNumberish,
573
+ path: string[],
574
+ to: string,
575
+ deadline: BigNumberish,
576
+ overrides?: Overrides & { from?: string | Promise<string> }
577
+ ): Promise<ContractTransaction>;
578
+
579
+ swapTokensForExactAVAX(
580
+ amountOut: BigNumberish,
581
+ amountInMax: BigNumberish,
582
+ path: string[],
583
+ to: string,
584
+ deadline: BigNumberish,
585
+ overrides?: Overrides & { from?: string | Promise<string> }
586
+ ): Promise<ContractTransaction>;
587
+
588
+ swapTokensForExactTokens(
589
+ amountOut: BigNumberish,
590
+ amountInMax: BigNumberish,
591
+ path: string[],
592
+ to: string,
593
+ deadline: BigNumberish,
594
+ overrides?: Overrides & { from?: string | Promise<string> }
595
+ ): Promise<ContractTransaction>;
596
+
597
+ callStatic: {
598
+ WAVAX(overrides?: CallOverrides): Promise<string>;
599
+
600
+ addLiquidity(
601
+ tokenA: string,
602
+ tokenB: string,
603
+ amountADesired: BigNumberish,
604
+ amountBDesired: BigNumberish,
605
+ amountAMin: BigNumberish,
606
+ amountBMin: BigNumberish,
607
+ to: string,
608
+ deadline: BigNumberish,
609
+ overrides?: CallOverrides
610
+ ): Promise<
611
+ [BigNumber, BigNumber, BigNumber] & {
612
+ amountA: BigNumber;
613
+ amountB: BigNumber;
614
+ liquidity: BigNumber;
615
+ }
616
+ >;
617
+
618
+ addLiquidityAVAX(
619
+ token: string,
620
+ amountTokenDesired: BigNumberish,
621
+ amountTokenMin: BigNumberish,
622
+ amountAVAXMin: BigNumberish,
623
+ to: string,
624
+ deadline: BigNumberish,
625
+ overrides?: CallOverrides
626
+ ): Promise<
627
+ [BigNumber, BigNumber, BigNumber] & {
628
+ amountToken: BigNumber;
629
+ amountAVAX: BigNumber;
630
+ liquidity: BigNumber;
631
+ }
632
+ >;
633
+
634
+ factory(overrides?: CallOverrides): Promise<string>;
635
+
636
+ getAmountIn(
637
+ amountOut: BigNumberish,
638
+ reserveIn: BigNumberish,
639
+ reserveOut: BigNumberish,
640
+ overrides?: CallOverrides
641
+ ): Promise<BigNumber>;
642
+
643
+ getAmountOut(
644
+ amountIn: BigNumberish,
645
+ reserveIn: BigNumberish,
646
+ reserveOut: BigNumberish,
647
+ overrides?: CallOverrides
648
+ ): Promise<BigNumber>;
649
+
650
+ getAmountsIn(
651
+ amountOut: BigNumberish,
652
+ path: string[],
653
+ overrides?: CallOverrides
654
+ ): Promise<BigNumber[]>;
655
+
656
+ getAmountsOut(
657
+ amountIn: BigNumberish,
658
+ path: string[],
659
+ overrides?: CallOverrides
660
+ ): Promise<BigNumber[]>;
661
+
662
+ quote(
663
+ amountA: BigNumberish,
664
+ reserveA: BigNumberish,
665
+ reserveB: BigNumberish,
666
+ overrides?: CallOverrides
667
+ ): Promise<BigNumber>;
668
+
669
+ removeLiquidity(
670
+ tokenA: string,
671
+ tokenB: string,
672
+ liquidity: BigNumberish,
673
+ amountAMin: BigNumberish,
674
+ amountBMin: BigNumberish,
675
+ to: string,
676
+ deadline: BigNumberish,
677
+ overrides?: CallOverrides
678
+ ): Promise<
679
+ [BigNumber, BigNumber] & { amountA: BigNumber; amountB: BigNumber }
680
+ >;
681
+
682
+ removeLiquidityAVAX(
683
+ token: string,
684
+ liquidity: BigNumberish,
685
+ amountTokenMin: BigNumberish,
686
+ amountAVAXMin: BigNumberish,
687
+ to: string,
688
+ deadline: BigNumberish,
689
+ overrides?: CallOverrides
690
+ ): Promise<
691
+ [BigNumber, BigNumber] & { amountToken: BigNumber; amountAVAX: BigNumber }
692
+ >;
693
+
694
+ removeLiquidityAVAXWithPermit(
695
+ token: string,
696
+ liquidity: BigNumberish,
697
+ amountTokenMin: BigNumberish,
698
+ amountAVAXMin: BigNumberish,
699
+ to: string,
700
+ deadline: BigNumberish,
701
+ approveMax: boolean,
702
+ v: BigNumberish,
703
+ r: BytesLike,
704
+ s: BytesLike,
705
+ overrides?: CallOverrides
706
+ ): Promise<
707
+ [BigNumber, BigNumber] & { amountToken: BigNumber; amountAVAX: BigNumber }
708
+ >;
709
+
710
+ removeLiquidityWithPermit(
711
+ tokenA: string,
712
+ tokenB: string,
713
+ liquidity: BigNumberish,
714
+ amountAMin: BigNumberish,
715
+ amountBMin: BigNumberish,
716
+ to: string,
717
+ deadline: BigNumberish,
718
+ approveMax: boolean,
719
+ v: BigNumberish,
720
+ r: BytesLike,
721
+ s: BytesLike,
722
+ overrides?: CallOverrides
723
+ ): Promise<
724
+ [BigNumber, BigNumber] & { amountA: BigNumber; amountB: BigNumber }
725
+ >;
726
+
727
+ swapAVAXForExactTokens(
728
+ amountOut: BigNumberish,
729
+ path: string[],
730
+ to: string,
731
+ deadline: BigNumberish,
732
+ overrides?: CallOverrides
733
+ ): Promise<BigNumber[]>;
734
+
735
+ swapExactAVAXForTokens(
736
+ amountOutMin: BigNumberish,
737
+ path: string[],
738
+ to: string,
739
+ deadline: BigNumberish,
740
+ overrides?: CallOverrides
741
+ ): Promise<BigNumber[]>;
742
+
743
+ swapExactTokensForAVAX(
744
+ amountIn: BigNumberish,
745
+ amountOutMin: BigNumberish,
746
+ path: string[],
747
+ to: string,
748
+ deadline: BigNumberish,
749
+ overrides?: CallOverrides
750
+ ): Promise<BigNumber[]>;
751
+
752
+ swapExactTokensForTokens(
753
+ amountIn: BigNumberish,
754
+ amountOutMin: BigNumberish,
755
+ path: string[],
756
+ to: string,
757
+ deadline: BigNumberish,
758
+ overrides?: CallOverrides
759
+ ): Promise<BigNumber[]>;
760
+
761
+ swapTokensForExactAVAX(
762
+ amountOut: BigNumberish,
763
+ amountInMax: BigNumberish,
764
+ path: string[],
765
+ to: string,
766
+ deadline: BigNumberish,
767
+ overrides?: CallOverrides
768
+ ): Promise<BigNumber[]>;
769
+
770
+ swapTokensForExactTokens(
771
+ amountOut: BigNumberish,
772
+ amountInMax: BigNumberish,
773
+ path: string[],
774
+ to: string,
775
+ deadline: BigNumberish,
776
+ overrides?: CallOverrides
777
+ ): Promise<BigNumber[]>;
778
+ };
779
+
780
+ filters: {};
781
+
782
+ estimateGas: {
783
+ WAVAX(overrides?: CallOverrides): Promise<BigNumber>;
784
+
785
+ addLiquidity(
786
+ tokenA: string,
787
+ tokenB: string,
788
+ amountADesired: BigNumberish,
789
+ amountBDesired: BigNumberish,
790
+ amountAMin: BigNumberish,
791
+ amountBMin: BigNumberish,
792
+ to: string,
793
+ deadline: BigNumberish,
794
+ overrides?: Overrides & { from?: string | Promise<string> }
795
+ ): Promise<BigNumber>;
796
+
797
+ addLiquidityAVAX(
798
+ token: string,
799
+ amountTokenDesired: BigNumberish,
800
+ amountTokenMin: BigNumberish,
801
+ amountAVAXMin: BigNumberish,
802
+ to: string,
803
+ deadline: BigNumberish,
804
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
805
+ ): Promise<BigNumber>;
806
+
807
+ factory(overrides?: CallOverrides): Promise<BigNumber>;
808
+
809
+ getAmountIn(
810
+ amountOut: BigNumberish,
811
+ reserveIn: BigNumberish,
812
+ reserveOut: BigNumberish,
813
+ overrides?: CallOverrides
814
+ ): Promise<BigNumber>;
815
+
816
+ getAmountOut(
817
+ amountIn: BigNumberish,
818
+ reserveIn: BigNumberish,
819
+ reserveOut: BigNumberish,
820
+ overrides?: CallOverrides
821
+ ): Promise<BigNumber>;
822
+
823
+ getAmountsIn(
824
+ amountOut: BigNumberish,
825
+ path: string[],
826
+ overrides?: CallOverrides
827
+ ): Promise<BigNumber>;
828
+
829
+ getAmountsOut(
830
+ amountIn: BigNumberish,
831
+ path: string[],
832
+ overrides?: CallOverrides
833
+ ): Promise<BigNumber>;
834
+
835
+ quote(
836
+ amountA: BigNumberish,
837
+ reserveA: BigNumberish,
838
+ reserveB: BigNumberish,
839
+ overrides?: CallOverrides
840
+ ): Promise<BigNumber>;
841
+
842
+ removeLiquidity(
843
+ tokenA: string,
844
+ tokenB: string,
845
+ liquidity: BigNumberish,
846
+ amountAMin: BigNumberish,
847
+ amountBMin: BigNumberish,
848
+ to: string,
849
+ deadline: BigNumberish,
850
+ overrides?: Overrides & { from?: string | Promise<string> }
851
+ ): Promise<BigNumber>;
852
+
853
+ removeLiquidityAVAX(
854
+ token: string,
855
+ liquidity: BigNumberish,
856
+ amountTokenMin: BigNumberish,
857
+ amountAVAXMin: BigNumberish,
858
+ to: string,
859
+ deadline: BigNumberish,
860
+ overrides?: Overrides & { from?: string | Promise<string> }
861
+ ): Promise<BigNumber>;
862
+
863
+ removeLiquidityAVAXWithPermit(
864
+ token: string,
865
+ liquidity: BigNumberish,
866
+ amountTokenMin: BigNumberish,
867
+ amountAVAXMin: BigNumberish,
868
+ to: string,
869
+ deadline: BigNumberish,
870
+ approveMax: boolean,
871
+ v: BigNumberish,
872
+ r: BytesLike,
873
+ s: BytesLike,
874
+ overrides?: Overrides & { from?: string | Promise<string> }
875
+ ): Promise<BigNumber>;
876
+
877
+ removeLiquidityWithPermit(
878
+ tokenA: string,
879
+ tokenB: string,
880
+ liquidity: BigNumberish,
881
+ amountAMin: BigNumberish,
882
+ amountBMin: BigNumberish,
883
+ to: string,
884
+ deadline: BigNumberish,
885
+ approveMax: boolean,
886
+ v: BigNumberish,
887
+ r: BytesLike,
888
+ s: BytesLike,
889
+ overrides?: Overrides & { from?: string | Promise<string> }
890
+ ): Promise<BigNumber>;
891
+
892
+ swapAVAXForExactTokens(
893
+ amountOut: BigNumberish,
894
+ path: string[],
895
+ to: string,
896
+ deadline: BigNumberish,
897
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
898
+ ): Promise<BigNumber>;
899
+
900
+ swapExactAVAXForTokens(
901
+ amountOutMin: BigNumberish,
902
+ path: string[],
903
+ to: string,
904
+ deadline: BigNumberish,
905
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
906
+ ): Promise<BigNumber>;
907
+
908
+ swapExactTokensForAVAX(
909
+ amountIn: BigNumberish,
910
+ amountOutMin: BigNumberish,
911
+ path: string[],
912
+ to: string,
913
+ deadline: BigNumberish,
914
+ overrides?: Overrides & { from?: string | Promise<string> }
915
+ ): Promise<BigNumber>;
916
+
917
+ swapExactTokensForTokens(
918
+ amountIn: BigNumberish,
919
+ amountOutMin: BigNumberish,
920
+ path: string[],
921
+ to: string,
922
+ deadline: BigNumberish,
923
+ overrides?: Overrides & { from?: string | Promise<string> }
924
+ ): Promise<BigNumber>;
925
+
926
+ swapTokensForExactAVAX(
927
+ amountOut: BigNumberish,
928
+ amountInMax: BigNumberish,
929
+ path: string[],
930
+ to: string,
931
+ deadline: BigNumberish,
932
+ overrides?: Overrides & { from?: string | Promise<string> }
933
+ ): Promise<BigNumber>;
934
+
935
+ swapTokensForExactTokens(
936
+ amountOut: BigNumberish,
937
+ amountInMax: BigNumberish,
938
+ path: string[],
939
+ to: string,
940
+ deadline: BigNumberish,
941
+ overrides?: Overrides & { from?: string | Promise<string> }
942
+ ): Promise<BigNumber>;
943
+ };
944
+
945
+ populateTransaction: {
946
+ WAVAX(overrides?: CallOverrides): Promise<PopulatedTransaction>;
947
+
948
+ addLiquidity(
949
+ tokenA: string,
950
+ tokenB: string,
951
+ amountADesired: BigNumberish,
952
+ amountBDesired: BigNumberish,
953
+ amountAMin: BigNumberish,
954
+ amountBMin: BigNumberish,
955
+ to: string,
956
+ deadline: BigNumberish,
957
+ overrides?: Overrides & { from?: string | Promise<string> }
958
+ ): Promise<PopulatedTransaction>;
959
+
960
+ addLiquidityAVAX(
961
+ token: string,
962
+ amountTokenDesired: BigNumberish,
963
+ amountTokenMin: BigNumberish,
964
+ amountAVAXMin: BigNumberish,
965
+ to: string,
966
+ deadline: BigNumberish,
967
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
968
+ ): Promise<PopulatedTransaction>;
969
+
970
+ factory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
971
+
972
+ getAmountIn(
973
+ amountOut: BigNumberish,
974
+ reserveIn: BigNumberish,
975
+ reserveOut: BigNumberish,
976
+ overrides?: CallOverrides
977
+ ): Promise<PopulatedTransaction>;
978
+
979
+ getAmountOut(
980
+ amountIn: BigNumberish,
981
+ reserveIn: BigNumberish,
982
+ reserveOut: BigNumberish,
983
+ overrides?: CallOverrides
984
+ ): Promise<PopulatedTransaction>;
985
+
986
+ getAmountsIn(
987
+ amountOut: BigNumberish,
988
+ path: string[],
989
+ overrides?: CallOverrides
990
+ ): Promise<PopulatedTransaction>;
991
+
992
+ getAmountsOut(
993
+ amountIn: BigNumberish,
994
+ path: string[],
995
+ overrides?: CallOverrides
996
+ ): Promise<PopulatedTransaction>;
997
+
998
+ quote(
999
+ amountA: BigNumberish,
1000
+ reserveA: BigNumberish,
1001
+ reserveB: BigNumberish,
1002
+ overrides?: CallOverrides
1003
+ ): Promise<PopulatedTransaction>;
1004
+
1005
+ removeLiquidity(
1006
+ tokenA: string,
1007
+ tokenB: string,
1008
+ liquidity: BigNumberish,
1009
+ amountAMin: BigNumberish,
1010
+ amountBMin: BigNumberish,
1011
+ to: string,
1012
+ deadline: BigNumberish,
1013
+ overrides?: Overrides & { from?: string | Promise<string> }
1014
+ ): Promise<PopulatedTransaction>;
1015
+
1016
+ removeLiquidityAVAX(
1017
+ token: string,
1018
+ liquidity: BigNumberish,
1019
+ amountTokenMin: BigNumberish,
1020
+ amountAVAXMin: BigNumberish,
1021
+ to: string,
1022
+ deadline: BigNumberish,
1023
+ overrides?: Overrides & { from?: string | Promise<string> }
1024
+ ): Promise<PopulatedTransaction>;
1025
+
1026
+ removeLiquidityAVAXWithPermit(
1027
+ token: string,
1028
+ liquidity: BigNumberish,
1029
+ amountTokenMin: BigNumberish,
1030
+ amountAVAXMin: BigNumberish,
1031
+ to: string,
1032
+ deadline: BigNumberish,
1033
+ approveMax: boolean,
1034
+ v: BigNumberish,
1035
+ r: BytesLike,
1036
+ s: BytesLike,
1037
+ overrides?: Overrides & { from?: string | Promise<string> }
1038
+ ): Promise<PopulatedTransaction>;
1039
+
1040
+ removeLiquidityWithPermit(
1041
+ tokenA: string,
1042
+ tokenB: string,
1043
+ liquidity: BigNumberish,
1044
+ amountAMin: BigNumberish,
1045
+ amountBMin: BigNumberish,
1046
+ to: string,
1047
+ deadline: BigNumberish,
1048
+ approveMax: boolean,
1049
+ v: BigNumberish,
1050
+ r: BytesLike,
1051
+ s: BytesLike,
1052
+ overrides?: Overrides & { from?: string | Promise<string> }
1053
+ ): Promise<PopulatedTransaction>;
1054
+
1055
+ swapAVAXForExactTokens(
1056
+ amountOut: BigNumberish,
1057
+ path: string[],
1058
+ to: string,
1059
+ deadline: BigNumberish,
1060
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
1061
+ ): Promise<PopulatedTransaction>;
1062
+
1063
+ swapExactAVAXForTokens(
1064
+ amountOutMin: BigNumberish,
1065
+ path: string[],
1066
+ to: string,
1067
+ deadline: BigNumberish,
1068
+ overrides?: PayableOverrides & { from?: string | Promise<string> }
1069
+ ): Promise<PopulatedTransaction>;
1070
+
1071
+ swapExactTokensForAVAX(
1072
+ amountIn: BigNumberish,
1073
+ amountOutMin: BigNumberish,
1074
+ path: string[],
1075
+ to: string,
1076
+ deadline: BigNumberish,
1077
+ overrides?: Overrides & { from?: string | Promise<string> }
1078
+ ): Promise<PopulatedTransaction>;
1079
+
1080
+ swapExactTokensForTokens(
1081
+ amountIn: BigNumberish,
1082
+ amountOutMin: BigNumberish,
1083
+ path: string[],
1084
+ to: string,
1085
+ deadline: BigNumberish,
1086
+ overrides?: Overrides & { from?: string | Promise<string> }
1087
+ ): Promise<PopulatedTransaction>;
1088
+
1089
+ swapTokensForExactAVAX(
1090
+ amountOut: BigNumberish,
1091
+ amountInMax: BigNumberish,
1092
+ path: string[],
1093
+ to: string,
1094
+ deadline: BigNumberish,
1095
+ overrides?: Overrides & { from?: string | Promise<string> }
1096
+ ): Promise<PopulatedTransaction>;
1097
+
1098
+ swapTokensForExactTokens(
1099
+ amountOut: BigNumberish,
1100
+ amountInMax: BigNumberish,
1101
+ path: string[],
1102
+ to: string,
1103
+ deadline: BigNumberish,
1104
+ overrides?: Overrides & { from?: string | Promise<string> }
1105
+ ): Promise<PopulatedTransaction>;
1106
+ };
1107
+ }