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