@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,405 @@
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 IPRouterYTInterface extends utils.Interface {
26
+ contractName: "IPRouterYT";
27
+ functions: {
28
+ "swapCallback(int256,int256,bytes)": FunctionFragment;
29
+ "swapExactRawTokenForYt(uint256,address,address[],address,uint256,uint256,uint256)": FunctionFragment;
30
+ "swapExactScyForYt(address,address,uint256,uint256,uint256,uint256)": FunctionFragment;
31
+ "swapExactYtForRawToken(uint256,address,address[],address,uint256)": FunctionFragment;
32
+ "swapExactYtForScy(address,address,uint256,uint256)": FunctionFragment;
33
+ "swapScyForExactYt(address,address,uint256,uint256)": FunctionFragment;
34
+ };
35
+
36
+ encodeFunctionData(
37
+ functionFragment: "swapCallback",
38
+ values: [BigNumberish, BigNumberish, BytesLike]
39
+ ): string;
40
+ encodeFunctionData(
41
+ functionFragment: "swapExactRawTokenForYt",
42
+ values: [
43
+ BigNumberish,
44
+ string,
45
+ string[],
46
+ string,
47
+ BigNumberish,
48
+ BigNumberish,
49
+ BigNumberish
50
+ ]
51
+ ): string;
52
+ encodeFunctionData(
53
+ functionFragment: "swapExactScyForYt",
54
+ values: [
55
+ string,
56
+ string,
57
+ BigNumberish,
58
+ BigNumberish,
59
+ BigNumberish,
60
+ BigNumberish
61
+ ]
62
+ ): string;
63
+ encodeFunctionData(
64
+ functionFragment: "swapExactYtForRawToken",
65
+ values: [BigNumberish, string, string[], string, BigNumberish]
66
+ ): string;
67
+ encodeFunctionData(
68
+ functionFragment: "swapExactYtForScy",
69
+ values: [string, string, BigNumberish, BigNumberish]
70
+ ): string;
71
+ encodeFunctionData(
72
+ functionFragment: "swapScyForExactYt",
73
+ values: [string, string, BigNumberish, BigNumberish]
74
+ ): string;
75
+
76
+ decodeFunctionResult(
77
+ functionFragment: "swapCallback",
78
+ data: BytesLike
79
+ ): Result;
80
+ decodeFunctionResult(
81
+ functionFragment: "swapExactRawTokenForYt",
82
+ data: BytesLike
83
+ ): Result;
84
+ decodeFunctionResult(
85
+ functionFragment: "swapExactScyForYt",
86
+ data: BytesLike
87
+ ): Result;
88
+ decodeFunctionResult(
89
+ functionFragment: "swapExactYtForRawToken",
90
+ data: BytesLike
91
+ ): Result;
92
+ decodeFunctionResult(
93
+ functionFragment: "swapExactYtForScy",
94
+ data: BytesLike
95
+ ): Result;
96
+ decodeFunctionResult(
97
+ functionFragment: "swapScyForExactYt",
98
+ data: BytesLike
99
+ ): Result;
100
+
101
+ events: {};
102
+ }
103
+
104
+ export interface IPRouterYT extends BaseContract {
105
+ contractName: "IPRouterYT";
106
+ connect(signerOrProvider: Signer | Provider | string): this;
107
+ attach(addressOrName: string): this;
108
+ deployed(): Promise<this>;
109
+
110
+ interface: IPRouterYTInterface;
111
+
112
+ queryFilter<TEvent extends TypedEvent>(
113
+ event: TypedEventFilter<TEvent>,
114
+ fromBlockOrBlockhash?: string | number | undefined,
115
+ toBlock?: string | number | undefined
116
+ ): Promise<Array<TEvent>>;
117
+
118
+ listeners<TEvent extends TypedEvent>(
119
+ eventFilter?: TypedEventFilter<TEvent>
120
+ ): Array<TypedListener<TEvent>>;
121
+ listeners(eventName?: string): Array<Listener>;
122
+ removeAllListeners<TEvent extends TypedEvent>(
123
+ eventFilter: TypedEventFilter<TEvent>
124
+ ): this;
125
+ removeAllListeners(eventName?: string): this;
126
+ off: OnEvent<this>;
127
+ on: OnEvent<this>;
128
+ once: OnEvent<this>;
129
+ removeListener: OnEvent<this>;
130
+
131
+ functions: {
132
+ swapCallback(
133
+ otToAccount: BigNumberish,
134
+ scyToAccount: BigNumberish,
135
+ data: BytesLike,
136
+ overrides?: Overrides & { from?: string | Promise<string> }
137
+ ): Promise<ContractTransaction>;
138
+
139
+ swapExactRawTokenForYt(
140
+ exactRawTokenIn: BigNumberish,
141
+ receiver: string,
142
+ path: string[],
143
+ market: string,
144
+ minYtOut: BigNumberish,
145
+ netYtOutGuessMin: BigNumberish,
146
+ netYtOutGuessMax: BigNumberish,
147
+ overrides?: Overrides & { from?: string | Promise<string> }
148
+ ): Promise<ContractTransaction>;
149
+
150
+ swapExactScyForYt(
151
+ receiver: string,
152
+ market: string,
153
+ exactScyIn: BigNumberish,
154
+ minYtOut: BigNumberish,
155
+ netYtOutGuessMin: BigNumberish,
156
+ netYtOutGuessMax: BigNumberish,
157
+ overrides?: Overrides & { from?: string | Promise<string> }
158
+ ): Promise<ContractTransaction>;
159
+
160
+ swapExactYtForRawToken(
161
+ exactYtIn: BigNumberish,
162
+ receiver: string,
163
+ path: string[],
164
+ market: string,
165
+ minRawTokenOut: BigNumberish,
166
+ overrides?: Overrides & { from?: string | Promise<string> }
167
+ ): Promise<ContractTransaction>;
168
+
169
+ swapExactYtForScy(
170
+ receiver: string,
171
+ market: string,
172
+ exactYtIn: BigNumberish,
173
+ minScyOut: BigNumberish,
174
+ overrides?: Overrides & { from?: string | Promise<string> }
175
+ ): Promise<ContractTransaction>;
176
+
177
+ swapScyForExactYt(
178
+ receiver: string,
179
+ market: string,
180
+ exactYtOut: BigNumberish,
181
+ maxScyIn: BigNumberish,
182
+ overrides?: Overrides & { from?: string | Promise<string> }
183
+ ): Promise<ContractTransaction>;
184
+ };
185
+
186
+ swapCallback(
187
+ otToAccount: BigNumberish,
188
+ scyToAccount: BigNumberish,
189
+ data: BytesLike,
190
+ overrides?: Overrides & { from?: string | Promise<string> }
191
+ ): Promise<ContractTransaction>;
192
+
193
+ swapExactRawTokenForYt(
194
+ exactRawTokenIn: BigNumberish,
195
+ receiver: string,
196
+ path: string[],
197
+ market: string,
198
+ minYtOut: BigNumberish,
199
+ netYtOutGuessMin: BigNumberish,
200
+ netYtOutGuessMax: BigNumberish,
201
+ overrides?: Overrides & { from?: string | Promise<string> }
202
+ ): Promise<ContractTransaction>;
203
+
204
+ swapExactScyForYt(
205
+ receiver: string,
206
+ market: string,
207
+ exactScyIn: BigNumberish,
208
+ minYtOut: BigNumberish,
209
+ netYtOutGuessMin: BigNumberish,
210
+ netYtOutGuessMax: BigNumberish,
211
+ overrides?: Overrides & { from?: string | Promise<string> }
212
+ ): Promise<ContractTransaction>;
213
+
214
+ swapExactYtForRawToken(
215
+ exactYtIn: BigNumberish,
216
+ receiver: string,
217
+ path: string[],
218
+ market: string,
219
+ minRawTokenOut: BigNumberish,
220
+ overrides?: Overrides & { from?: string | Promise<string> }
221
+ ): Promise<ContractTransaction>;
222
+
223
+ swapExactYtForScy(
224
+ receiver: string,
225
+ market: string,
226
+ exactYtIn: BigNumberish,
227
+ minScyOut: BigNumberish,
228
+ overrides?: Overrides & { from?: string | Promise<string> }
229
+ ): Promise<ContractTransaction>;
230
+
231
+ swapScyForExactYt(
232
+ receiver: string,
233
+ market: string,
234
+ exactYtOut: BigNumberish,
235
+ maxScyIn: BigNumberish,
236
+ overrides?: Overrides & { from?: string | Promise<string> }
237
+ ): Promise<ContractTransaction>;
238
+
239
+ callStatic: {
240
+ swapCallback(
241
+ otToAccount: BigNumberish,
242
+ scyToAccount: BigNumberish,
243
+ data: BytesLike,
244
+ overrides?: CallOverrides
245
+ ): Promise<void>;
246
+
247
+ swapExactRawTokenForYt(
248
+ exactRawTokenIn: BigNumberish,
249
+ receiver: string,
250
+ path: string[],
251
+ market: string,
252
+ minYtOut: BigNumberish,
253
+ netYtOutGuessMin: BigNumberish,
254
+ netYtOutGuessMax: BigNumberish,
255
+ overrides?: CallOverrides
256
+ ): Promise<BigNumber>;
257
+
258
+ swapExactScyForYt(
259
+ receiver: string,
260
+ market: string,
261
+ exactScyIn: BigNumberish,
262
+ minYtOut: BigNumberish,
263
+ netYtOutGuessMin: BigNumberish,
264
+ netYtOutGuessMax: BigNumberish,
265
+ overrides?: CallOverrides
266
+ ): Promise<BigNumber>;
267
+
268
+ swapExactYtForRawToken(
269
+ exactYtIn: BigNumberish,
270
+ receiver: string,
271
+ path: string[],
272
+ market: string,
273
+ minRawTokenOut: BigNumberish,
274
+ overrides?: CallOverrides
275
+ ): Promise<BigNumber>;
276
+
277
+ swapExactYtForScy(
278
+ receiver: string,
279
+ market: string,
280
+ exactYtIn: BigNumberish,
281
+ minScyOut: BigNumberish,
282
+ overrides?: CallOverrides
283
+ ): Promise<BigNumber>;
284
+
285
+ swapScyForExactYt(
286
+ receiver: string,
287
+ market: string,
288
+ exactYtOut: BigNumberish,
289
+ maxScyIn: BigNumberish,
290
+ overrides?: CallOverrides
291
+ ): Promise<BigNumber>;
292
+ };
293
+
294
+ filters: {};
295
+
296
+ estimateGas: {
297
+ swapCallback(
298
+ otToAccount: BigNumberish,
299
+ scyToAccount: BigNumberish,
300
+ data: BytesLike,
301
+ overrides?: Overrides & { from?: string | Promise<string> }
302
+ ): Promise<BigNumber>;
303
+
304
+ swapExactRawTokenForYt(
305
+ exactRawTokenIn: BigNumberish,
306
+ receiver: string,
307
+ path: string[],
308
+ market: string,
309
+ minYtOut: BigNumberish,
310
+ netYtOutGuessMin: BigNumberish,
311
+ netYtOutGuessMax: BigNumberish,
312
+ overrides?: Overrides & { from?: string | Promise<string> }
313
+ ): Promise<BigNumber>;
314
+
315
+ swapExactScyForYt(
316
+ receiver: string,
317
+ market: string,
318
+ exactScyIn: BigNumberish,
319
+ minYtOut: BigNumberish,
320
+ netYtOutGuessMin: BigNumberish,
321
+ netYtOutGuessMax: BigNumberish,
322
+ overrides?: Overrides & { from?: string | Promise<string> }
323
+ ): Promise<BigNumber>;
324
+
325
+ swapExactYtForRawToken(
326
+ exactYtIn: BigNumberish,
327
+ receiver: string,
328
+ path: string[],
329
+ market: string,
330
+ minRawTokenOut: BigNumberish,
331
+ overrides?: Overrides & { from?: string | Promise<string> }
332
+ ): Promise<BigNumber>;
333
+
334
+ swapExactYtForScy(
335
+ receiver: string,
336
+ market: string,
337
+ exactYtIn: BigNumberish,
338
+ minScyOut: BigNumberish,
339
+ overrides?: Overrides & { from?: string | Promise<string> }
340
+ ): Promise<BigNumber>;
341
+
342
+ swapScyForExactYt(
343
+ receiver: string,
344
+ market: string,
345
+ exactYtOut: BigNumberish,
346
+ maxScyIn: BigNumberish,
347
+ overrides?: Overrides & { from?: string | Promise<string> }
348
+ ): Promise<BigNumber>;
349
+ };
350
+
351
+ populateTransaction: {
352
+ swapCallback(
353
+ otToAccount: BigNumberish,
354
+ scyToAccount: BigNumberish,
355
+ data: BytesLike,
356
+ overrides?: Overrides & { from?: string | Promise<string> }
357
+ ): Promise<PopulatedTransaction>;
358
+
359
+ swapExactRawTokenForYt(
360
+ exactRawTokenIn: BigNumberish,
361
+ receiver: string,
362
+ path: string[],
363
+ market: string,
364
+ minYtOut: BigNumberish,
365
+ netYtOutGuessMin: BigNumberish,
366
+ netYtOutGuessMax: BigNumberish,
367
+ overrides?: Overrides & { from?: string | Promise<string> }
368
+ ): Promise<PopulatedTransaction>;
369
+
370
+ swapExactScyForYt(
371
+ receiver: string,
372
+ market: string,
373
+ exactScyIn: BigNumberish,
374
+ minYtOut: BigNumberish,
375
+ netYtOutGuessMin: BigNumberish,
376
+ netYtOutGuessMax: BigNumberish,
377
+ overrides?: Overrides & { from?: string | Promise<string> }
378
+ ): Promise<PopulatedTransaction>;
379
+
380
+ swapExactYtForRawToken(
381
+ exactYtIn: BigNumberish,
382
+ receiver: string,
383
+ path: string[],
384
+ market: string,
385
+ minRawTokenOut: BigNumberish,
386
+ overrides?: Overrides & { from?: string | Promise<string> }
387
+ ): Promise<PopulatedTransaction>;
388
+
389
+ swapExactYtForScy(
390
+ receiver: string,
391
+ market: string,
392
+ exactYtIn: BigNumberish,
393
+ minScyOut: BigNumberish,
394
+ overrides?: Overrides & { from?: string | Promise<string> }
395
+ ): Promise<PopulatedTransaction>;
396
+
397
+ swapScyForExactYt(
398
+ receiver: string,
399
+ market: string,
400
+ exactYtOut: BigNumberish,
401
+ maxScyIn: BigNumberish,
402
+ overrides?: Overrides & { from?: string | Promise<string> }
403
+ ): Promise<PopulatedTransaction>;
404
+ };
405
+ }
@@ -0,0 +1,192 @@
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
+ PopulatedTransaction,
11
+ Signer,
12
+ utils,
13
+ } from "ethers";
14
+ import { FunctionFragment, Result } from "@ethersproject/abi";
15
+ import { Listener, Provider } from "@ethersproject/providers";
16
+ import type {
17
+ TypedEventFilter,
18
+ TypedEvent,
19
+ TypedListener,
20
+ OnEvent,
21
+ } from "./common";
22
+
23
+ export interface IPYieldContractFactoryInterface extends utils.Interface {
24
+ contractName: "IPYieldContractFactory";
25
+ functions: {
26
+ "expiryDivisor()": FunctionFragment;
27
+ "getOT(address,uint256)": FunctionFragment;
28
+ "getYT(address,uint256)": FunctionFragment;
29
+ "interestFeeRate()": FunctionFragment;
30
+ "treasury()": FunctionFragment;
31
+ };
32
+
33
+ encodeFunctionData(
34
+ functionFragment: "expiryDivisor",
35
+ values?: undefined
36
+ ): string;
37
+ encodeFunctionData(
38
+ functionFragment: "getOT",
39
+ values: [string, BigNumberish]
40
+ ): string;
41
+ encodeFunctionData(
42
+ functionFragment: "getYT",
43
+ values: [string, BigNumberish]
44
+ ): string;
45
+ encodeFunctionData(
46
+ functionFragment: "interestFeeRate",
47
+ values?: undefined
48
+ ): string;
49
+ encodeFunctionData(functionFragment: "treasury", values?: undefined): string;
50
+
51
+ decodeFunctionResult(
52
+ functionFragment: "expiryDivisor",
53
+ data: BytesLike
54
+ ): Result;
55
+ decodeFunctionResult(functionFragment: "getOT", data: BytesLike): Result;
56
+ decodeFunctionResult(functionFragment: "getYT", data: BytesLike): Result;
57
+ decodeFunctionResult(
58
+ functionFragment: "interestFeeRate",
59
+ data: BytesLike
60
+ ): Result;
61
+ decodeFunctionResult(functionFragment: "treasury", data: BytesLike): Result;
62
+
63
+ events: {};
64
+ }
65
+
66
+ export interface IPYieldContractFactory extends BaseContract {
67
+ contractName: "IPYieldContractFactory";
68
+ connect(signerOrProvider: Signer | Provider | string): this;
69
+ attach(addressOrName: string): this;
70
+ deployed(): Promise<this>;
71
+
72
+ interface: IPYieldContractFactoryInterface;
73
+
74
+ queryFilter<TEvent extends TypedEvent>(
75
+ event: TypedEventFilter<TEvent>,
76
+ fromBlockOrBlockhash?: string | number | undefined,
77
+ toBlock?: string | number | undefined
78
+ ): Promise<Array<TEvent>>;
79
+
80
+ listeners<TEvent extends TypedEvent>(
81
+ eventFilter?: TypedEventFilter<TEvent>
82
+ ): Array<TypedListener<TEvent>>;
83
+ listeners(eventName?: string): Array<Listener>;
84
+ removeAllListeners<TEvent extends TypedEvent>(
85
+ eventFilter: TypedEventFilter<TEvent>
86
+ ): this;
87
+ removeAllListeners(eventName?: string): this;
88
+ off: OnEvent<this>;
89
+ on: OnEvent<this>;
90
+ once: OnEvent<this>;
91
+ removeListener: OnEvent<this>;
92
+
93
+ functions: {
94
+ expiryDivisor(overrides?: CallOverrides): Promise<[BigNumber]>;
95
+
96
+ getOT(
97
+ SCY: string,
98
+ expiry: BigNumberish,
99
+ overrides?: CallOverrides
100
+ ): Promise<[string]>;
101
+
102
+ getYT(
103
+ SCY: string,
104
+ expiry: BigNumberish,
105
+ overrides?: CallOverrides
106
+ ): Promise<[string]>;
107
+
108
+ interestFeeRate(overrides?: CallOverrides): Promise<[BigNumber]>;
109
+
110
+ treasury(overrides?: CallOverrides): Promise<[string]>;
111
+ };
112
+
113
+ expiryDivisor(overrides?: CallOverrides): Promise<BigNumber>;
114
+
115
+ getOT(
116
+ SCY: string,
117
+ expiry: BigNumberish,
118
+ overrides?: CallOverrides
119
+ ): Promise<string>;
120
+
121
+ getYT(
122
+ SCY: string,
123
+ expiry: BigNumberish,
124
+ overrides?: CallOverrides
125
+ ): Promise<string>;
126
+
127
+ interestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
128
+
129
+ treasury(overrides?: CallOverrides): Promise<string>;
130
+
131
+ callStatic: {
132
+ expiryDivisor(overrides?: CallOverrides): Promise<BigNumber>;
133
+
134
+ getOT(
135
+ SCY: string,
136
+ expiry: BigNumberish,
137
+ overrides?: CallOverrides
138
+ ): Promise<string>;
139
+
140
+ getYT(
141
+ SCY: string,
142
+ expiry: BigNumberish,
143
+ overrides?: CallOverrides
144
+ ): Promise<string>;
145
+
146
+ interestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
147
+
148
+ treasury(overrides?: CallOverrides): Promise<string>;
149
+ };
150
+
151
+ filters: {};
152
+
153
+ estimateGas: {
154
+ expiryDivisor(overrides?: CallOverrides): Promise<BigNumber>;
155
+
156
+ getOT(
157
+ SCY: string,
158
+ expiry: BigNumberish,
159
+ overrides?: CallOverrides
160
+ ): Promise<BigNumber>;
161
+
162
+ getYT(
163
+ SCY: string,
164
+ expiry: BigNumberish,
165
+ overrides?: CallOverrides
166
+ ): Promise<BigNumber>;
167
+
168
+ interestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
169
+
170
+ treasury(overrides?: CallOverrides): Promise<BigNumber>;
171
+ };
172
+
173
+ populateTransaction: {
174
+ expiryDivisor(overrides?: CallOverrides): Promise<PopulatedTransaction>;
175
+
176
+ getOT(
177
+ SCY: string,
178
+ expiry: BigNumberish,
179
+ overrides?: CallOverrides
180
+ ): Promise<PopulatedTransaction>;
181
+
182
+ getYT(
183
+ SCY: string,
184
+ expiry: BigNumberish,
185
+ overrides?: CallOverrides
186
+ ): Promise<PopulatedTransaction>;
187
+
188
+ interestFeeRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
189
+
190
+ treasury(overrides?: CallOverrides): Promise<PopulatedTransaction>;
191
+ };
192
+ }