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