@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,246 @@
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 PendleMarketFactoryInterface extends utils.Interface {
26
+ contractName: "PendleMarketFactory";
27
+ functions: {
28
+ "createNewMarket(address,uint256,int256,int256,uint8,uint256)": FunctionFragment;
29
+ "governanceManager()": FunctionFragment;
30
+ "isValidMarket(address)": FunctionFragment;
31
+ "setTreasury(address)": FunctionFragment;
32
+ "treasury()": FunctionFragment;
33
+ "yieldContractFactory()": FunctionFragment;
34
+ };
35
+
36
+ encodeFunctionData(
37
+ functionFragment: "createNewMarket",
38
+ values: [
39
+ string,
40
+ BigNumberish,
41
+ BigNumberish,
42
+ BigNumberish,
43
+ BigNumberish,
44
+ BigNumberish
45
+ ]
46
+ ): string;
47
+ encodeFunctionData(
48
+ functionFragment: "governanceManager",
49
+ values?: undefined
50
+ ): string;
51
+ encodeFunctionData(
52
+ functionFragment: "isValidMarket",
53
+ values: [string]
54
+ ): string;
55
+ encodeFunctionData(functionFragment: "setTreasury", values: [string]): string;
56
+ encodeFunctionData(functionFragment: "treasury", values?: undefined): string;
57
+ encodeFunctionData(
58
+ functionFragment: "yieldContractFactory",
59
+ values?: undefined
60
+ ): string;
61
+
62
+ decodeFunctionResult(
63
+ functionFragment: "createNewMarket",
64
+ data: BytesLike
65
+ ): Result;
66
+ decodeFunctionResult(
67
+ functionFragment: "governanceManager",
68
+ data: BytesLike
69
+ ): Result;
70
+ decodeFunctionResult(
71
+ functionFragment: "isValidMarket",
72
+ data: BytesLike
73
+ ): Result;
74
+ decodeFunctionResult(
75
+ functionFragment: "setTreasury",
76
+ data: BytesLike
77
+ ): Result;
78
+ decodeFunctionResult(functionFragment: "treasury", data: BytesLike): Result;
79
+ decodeFunctionResult(
80
+ functionFragment: "yieldContractFactory",
81
+ data: BytesLike
82
+ ): Result;
83
+
84
+ events: {};
85
+ }
86
+
87
+ export interface PendleMarketFactory extends BaseContract {
88
+ contractName: "PendleMarketFactory";
89
+ connect(signerOrProvider: Signer | Provider | string): this;
90
+ attach(addressOrName: string): this;
91
+ deployed(): Promise<this>;
92
+
93
+ interface: PendleMarketFactoryInterface;
94
+
95
+ queryFilter<TEvent extends TypedEvent>(
96
+ event: TypedEventFilter<TEvent>,
97
+ fromBlockOrBlockhash?: string | number | undefined,
98
+ toBlock?: string | number | undefined
99
+ ): Promise<Array<TEvent>>;
100
+
101
+ listeners<TEvent extends TypedEvent>(
102
+ eventFilter?: TypedEventFilter<TEvent>
103
+ ): Array<TypedListener<TEvent>>;
104
+ listeners(eventName?: string): Array<Listener>;
105
+ removeAllListeners<TEvent extends TypedEvent>(
106
+ eventFilter: TypedEventFilter<TEvent>
107
+ ): this;
108
+ removeAllListeners(eventName?: string): this;
109
+ off: OnEvent<this>;
110
+ on: OnEvent<this>;
111
+ once: OnEvent<this>;
112
+ removeListener: OnEvent<this>;
113
+
114
+ functions: {
115
+ createNewMarket(
116
+ OT: string,
117
+ feeRateRoot: BigNumberish,
118
+ scalarRoot: BigNumberish,
119
+ anchorRoot: BigNumberish,
120
+ reserveFeePercent: BigNumberish,
121
+ rateOracleTimeWindow: BigNumberish,
122
+ overrides?: Overrides & { from?: string | Promise<string> }
123
+ ): Promise<ContractTransaction>;
124
+
125
+ governanceManager(overrides?: CallOverrides): Promise<[string]>;
126
+
127
+ isValidMarket(
128
+ market: string,
129
+ overrides?: CallOverrides
130
+ ): Promise<[boolean]>;
131
+
132
+ setTreasury(
133
+ newTreasury: string,
134
+ overrides?: Overrides & { from?: string | Promise<string> }
135
+ ): Promise<ContractTransaction>;
136
+
137
+ treasury(overrides?: CallOverrides): Promise<[string]>;
138
+
139
+ yieldContractFactory(overrides?: CallOverrides): Promise<[string]>;
140
+ };
141
+
142
+ createNewMarket(
143
+ OT: string,
144
+ feeRateRoot: BigNumberish,
145
+ scalarRoot: BigNumberish,
146
+ anchorRoot: BigNumberish,
147
+ reserveFeePercent: BigNumberish,
148
+ rateOracleTimeWindow: BigNumberish,
149
+ overrides?: Overrides & { from?: string | Promise<string> }
150
+ ): Promise<ContractTransaction>;
151
+
152
+ governanceManager(overrides?: CallOverrides): Promise<string>;
153
+
154
+ isValidMarket(market: string, overrides?: CallOverrides): Promise<boolean>;
155
+
156
+ setTreasury(
157
+ newTreasury: string,
158
+ overrides?: Overrides & { from?: string | Promise<string> }
159
+ ): Promise<ContractTransaction>;
160
+
161
+ treasury(overrides?: CallOverrides): Promise<string>;
162
+
163
+ yieldContractFactory(overrides?: CallOverrides): Promise<string>;
164
+
165
+ callStatic: {
166
+ createNewMarket(
167
+ OT: string,
168
+ feeRateRoot: BigNumberish,
169
+ scalarRoot: BigNumberish,
170
+ anchorRoot: BigNumberish,
171
+ reserveFeePercent: BigNumberish,
172
+ rateOracleTimeWindow: BigNumberish,
173
+ overrides?: CallOverrides
174
+ ): Promise<string>;
175
+
176
+ governanceManager(overrides?: CallOverrides): Promise<string>;
177
+
178
+ isValidMarket(market: string, overrides?: CallOverrides): Promise<boolean>;
179
+
180
+ setTreasury(newTreasury: string, overrides?: CallOverrides): Promise<void>;
181
+
182
+ treasury(overrides?: CallOverrides): Promise<string>;
183
+
184
+ yieldContractFactory(overrides?: CallOverrides): Promise<string>;
185
+ };
186
+
187
+ filters: {};
188
+
189
+ estimateGas: {
190
+ createNewMarket(
191
+ OT: string,
192
+ feeRateRoot: BigNumberish,
193
+ scalarRoot: BigNumberish,
194
+ anchorRoot: BigNumberish,
195
+ reserveFeePercent: BigNumberish,
196
+ rateOracleTimeWindow: BigNumberish,
197
+ overrides?: Overrides & { from?: string | Promise<string> }
198
+ ): Promise<BigNumber>;
199
+
200
+ governanceManager(overrides?: CallOverrides): Promise<BigNumber>;
201
+
202
+ isValidMarket(
203
+ market: string,
204
+ overrides?: CallOverrides
205
+ ): Promise<BigNumber>;
206
+
207
+ setTreasury(
208
+ newTreasury: string,
209
+ overrides?: Overrides & { from?: string | Promise<string> }
210
+ ): Promise<BigNumber>;
211
+
212
+ treasury(overrides?: CallOverrides): Promise<BigNumber>;
213
+
214
+ yieldContractFactory(overrides?: CallOverrides): Promise<BigNumber>;
215
+ };
216
+
217
+ populateTransaction: {
218
+ createNewMarket(
219
+ OT: string,
220
+ feeRateRoot: BigNumberish,
221
+ scalarRoot: BigNumberish,
222
+ anchorRoot: BigNumberish,
223
+ reserveFeePercent: BigNumberish,
224
+ rateOracleTimeWindow: BigNumberish,
225
+ overrides?: Overrides & { from?: string | Promise<string> }
226
+ ): Promise<PopulatedTransaction>;
227
+
228
+ governanceManager(overrides?: CallOverrides): Promise<PopulatedTransaction>;
229
+
230
+ isValidMarket(
231
+ market: string,
232
+ overrides?: CallOverrides
233
+ ): Promise<PopulatedTransaction>;
234
+
235
+ setTreasury(
236
+ newTreasury: string,
237
+ overrides?: Overrides & { from?: string | Promise<string> }
238
+ ): Promise<PopulatedTransaction>;
239
+
240
+ treasury(overrides?: CallOverrides): Promise<PopulatedTransaction>;
241
+
242
+ yieldContractFactory(
243
+ overrides?: CallOverrides
244
+ ): Promise<PopulatedTransaction>;
245
+ };
246
+ }