@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,674 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type { IJoePair, IJoePairInterface } from "../IJoePair";
8
+
9
+ const _abi = [
10
+ {
11
+ anonymous: false,
12
+ inputs: [
13
+ {
14
+ indexed: true,
15
+ internalType: "address",
16
+ name: "owner",
17
+ type: "address",
18
+ },
19
+ {
20
+ indexed: true,
21
+ internalType: "address",
22
+ name: "spender",
23
+ type: "address",
24
+ },
25
+ {
26
+ indexed: false,
27
+ internalType: "uint256",
28
+ name: "value",
29
+ type: "uint256",
30
+ },
31
+ ],
32
+ name: "Approval",
33
+ type: "event",
34
+ },
35
+ {
36
+ anonymous: false,
37
+ inputs: [
38
+ {
39
+ indexed: true,
40
+ internalType: "address",
41
+ name: "sender",
42
+ type: "address",
43
+ },
44
+ {
45
+ indexed: false,
46
+ internalType: "uint256",
47
+ name: "amount0",
48
+ type: "uint256",
49
+ },
50
+ {
51
+ indexed: false,
52
+ internalType: "uint256",
53
+ name: "amount1",
54
+ type: "uint256",
55
+ },
56
+ {
57
+ indexed: true,
58
+ internalType: "address",
59
+ name: "to",
60
+ type: "address",
61
+ },
62
+ ],
63
+ name: "Burn",
64
+ type: "event",
65
+ },
66
+ {
67
+ anonymous: false,
68
+ inputs: [
69
+ {
70
+ indexed: true,
71
+ internalType: "address",
72
+ name: "sender",
73
+ type: "address",
74
+ },
75
+ {
76
+ indexed: false,
77
+ internalType: "uint256",
78
+ name: "amount0",
79
+ type: "uint256",
80
+ },
81
+ {
82
+ indexed: false,
83
+ internalType: "uint256",
84
+ name: "amount1",
85
+ type: "uint256",
86
+ },
87
+ ],
88
+ name: "Mint",
89
+ type: "event",
90
+ },
91
+ {
92
+ anonymous: false,
93
+ inputs: [
94
+ {
95
+ indexed: true,
96
+ internalType: "address",
97
+ name: "sender",
98
+ type: "address",
99
+ },
100
+ {
101
+ indexed: false,
102
+ internalType: "uint256",
103
+ name: "amount0In",
104
+ type: "uint256",
105
+ },
106
+ {
107
+ indexed: false,
108
+ internalType: "uint256",
109
+ name: "amount1In",
110
+ type: "uint256",
111
+ },
112
+ {
113
+ indexed: false,
114
+ internalType: "uint256",
115
+ name: "amount0Out",
116
+ type: "uint256",
117
+ },
118
+ {
119
+ indexed: false,
120
+ internalType: "uint256",
121
+ name: "amount1Out",
122
+ type: "uint256",
123
+ },
124
+ {
125
+ indexed: true,
126
+ internalType: "address",
127
+ name: "to",
128
+ type: "address",
129
+ },
130
+ ],
131
+ name: "Swap",
132
+ type: "event",
133
+ },
134
+ {
135
+ anonymous: false,
136
+ inputs: [
137
+ {
138
+ indexed: false,
139
+ internalType: "uint112",
140
+ name: "reserve0",
141
+ type: "uint112",
142
+ },
143
+ {
144
+ indexed: false,
145
+ internalType: "uint112",
146
+ name: "reserve1",
147
+ type: "uint112",
148
+ },
149
+ ],
150
+ name: "Sync",
151
+ type: "event",
152
+ },
153
+ {
154
+ anonymous: false,
155
+ inputs: [
156
+ {
157
+ indexed: true,
158
+ internalType: "address",
159
+ name: "from",
160
+ type: "address",
161
+ },
162
+ {
163
+ indexed: true,
164
+ internalType: "address",
165
+ name: "to",
166
+ type: "address",
167
+ },
168
+ {
169
+ indexed: false,
170
+ internalType: "uint256",
171
+ name: "value",
172
+ type: "uint256",
173
+ },
174
+ ],
175
+ name: "Transfer",
176
+ type: "event",
177
+ },
178
+ {
179
+ inputs: [],
180
+ name: "DOMAIN_SEPARATOR",
181
+ outputs: [
182
+ {
183
+ internalType: "bytes32",
184
+ name: "",
185
+ type: "bytes32",
186
+ },
187
+ ],
188
+ stateMutability: "view",
189
+ type: "function",
190
+ },
191
+ {
192
+ inputs: [],
193
+ name: "MINIMUM_LIQUIDITY",
194
+ outputs: [
195
+ {
196
+ internalType: "uint256",
197
+ name: "",
198
+ type: "uint256",
199
+ },
200
+ ],
201
+ stateMutability: "pure",
202
+ type: "function",
203
+ },
204
+ {
205
+ inputs: [],
206
+ name: "PERMIT_TYPEHASH",
207
+ outputs: [
208
+ {
209
+ internalType: "bytes32",
210
+ name: "",
211
+ type: "bytes32",
212
+ },
213
+ ],
214
+ stateMutability: "pure",
215
+ type: "function",
216
+ },
217
+ {
218
+ inputs: [
219
+ {
220
+ internalType: "address",
221
+ name: "owner",
222
+ type: "address",
223
+ },
224
+ {
225
+ internalType: "address",
226
+ name: "spender",
227
+ type: "address",
228
+ },
229
+ ],
230
+ name: "allowance",
231
+ outputs: [
232
+ {
233
+ internalType: "uint256",
234
+ name: "",
235
+ type: "uint256",
236
+ },
237
+ ],
238
+ stateMutability: "view",
239
+ type: "function",
240
+ },
241
+ {
242
+ inputs: [
243
+ {
244
+ internalType: "address",
245
+ name: "spender",
246
+ type: "address",
247
+ },
248
+ {
249
+ internalType: "uint256",
250
+ name: "value",
251
+ type: "uint256",
252
+ },
253
+ ],
254
+ name: "approve",
255
+ outputs: [
256
+ {
257
+ internalType: "bool",
258
+ name: "",
259
+ type: "bool",
260
+ },
261
+ ],
262
+ stateMutability: "nonpayable",
263
+ type: "function",
264
+ },
265
+ {
266
+ inputs: [
267
+ {
268
+ internalType: "address",
269
+ name: "owner",
270
+ type: "address",
271
+ },
272
+ ],
273
+ name: "balanceOf",
274
+ outputs: [
275
+ {
276
+ internalType: "uint256",
277
+ name: "",
278
+ type: "uint256",
279
+ },
280
+ ],
281
+ stateMutability: "view",
282
+ type: "function",
283
+ },
284
+ {
285
+ inputs: [
286
+ {
287
+ internalType: "address",
288
+ name: "to",
289
+ type: "address",
290
+ },
291
+ ],
292
+ name: "burn",
293
+ outputs: [
294
+ {
295
+ internalType: "uint256",
296
+ name: "amount0",
297
+ type: "uint256",
298
+ },
299
+ {
300
+ internalType: "uint256",
301
+ name: "amount1",
302
+ type: "uint256",
303
+ },
304
+ ],
305
+ stateMutability: "nonpayable",
306
+ type: "function",
307
+ },
308
+ {
309
+ inputs: [],
310
+ name: "decimals",
311
+ outputs: [
312
+ {
313
+ internalType: "uint8",
314
+ name: "",
315
+ type: "uint8",
316
+ },
317
+ ],
318
+ stateMutability: "pure",
319
+ type: "function",
320
+ },
321
+ {
322
+ inputs: [],
323
+ name: "factory",
324
+ outputs: [
325
+ {
326
+ internalType: "address",
327
+ name: "",
328
+ type: "address",
329
+ },
330
+ ],
331
+ stateMutability: "view",
332
+ type: "function",
333
+ },
334
+ {
335
+ inputs: [],
336
+ name: "getReserves",
337
+ outputs: [
338
+ {
339
+ internalType: "uint112",
340
+ name: "reserve0",
341
+ type: "uint112",
342
+ },
343
+ {
344
+ internalType: "uint112",
345
+ name: "reserve1",
346
+ type: "uint112",
347
+ },
348
+ {
349
+ internalType: "uint32",
350
+ name: "blockTimestampLast",
351
+ type: "uint32",
352
+ },
353
+ ],
354
+ stateMutability: "view",
355
+ type: "function",
356
+ },
357
+ {
358
+ inputs: [
359
+ {
360
+ internalType: "address",
361
+ name: "",
362
+ type: "address",
363
+ },
364
+ {
365
+ internalType: "address",
366
+ name: "",
367
+ type: "address",
368
+ },
369
+ ],
370
+ name: "initialize",
371
+ outputs: [],
372
+ stateMutability: "nonpayable",
373
+ type: "function",
374
+ },
375
+ {
376
+ inputs: [],
377
+ name: "kLast",
378
+ outputs: [
379
+ {
380
+ internalType: "uint256",
381
+ name: "",
382
+ type: "uint256",
383
+ },
384
+ ],
385
+ stateMutability: "view",
386
+ type: "function",
387
+ },
388
+ {
389
+ inputs: [
390
+ {
391
+ internalType: "address",
392
+ name: "to",
393
+ type: "address",
394
+ },
395
+ ],
396
+ name: "mint",
397
+ outputs: [
398
+ {
399
+ internalType: "uint256",
400
+ name: "liquidity",
401
+ type: "uint256",
402
+ },
403
+ ],
404
+ stateMutability: "nonpayable",
405
+ type: "function",
406
+ },
407
+ {
408
+ inputs: [],
409
+ name: "name",
410
+ outputs: [
411
+ {
412
+ internalType: "string",
413
+ name: "",
414
+ type: "string",
415
+ },
416
+ ],
417
+ stateMutability: "pure",
418
+ type: "function",
419
+ },
420
+ {
421
+ inputs: [
422
+ {
423
+ internalType: "address",
424
+ name: "owner",
425
+ type: "address",
426
+ },
427
+ ],
428
+ name: "nonces",
429
+ outputs: [
430
+ {
431
+ internalType: "uint256",
432
+ name: "",
433
+ type: "uint256",
434
+ },
435
+ ],
436
+ stateMutability: "view",
437
+ type: "function",
438
+ },
439
+ {
440
+ inputs: [
441
+ {
442
+ internalType: "address",
443
+ name: "owner",
444
+ type: "address",
445
+ },
446
+ {
447
+ internalType: "address",
448
+ name: "spender",
449
+ type: "address",
450
+ },
451
+ {
452
+ internalType: "uint256",
453
+ name: "value",
454
+ type: "uint256",
455
+ },
456
+ {
457
+ internalType: "uint256",
458
+ name: "deadline",
459
+ type: "uint256",
460
+ },
461
+ {
462
+ internalType: "uint8",
463
+ name: "v",
464
+ type: "uint8",
465
+ },
466
+ {
467
+ internalType: "bytes32",
468
+ name: "r",
469
+ type: "bytes32",
470
+ },
471
+ {
472
+ internalType: "bytes32",
473
+ name: "s",
474
+ type: "bytes32",
475
+ },
476
+ ],
477
+ name: "permit",
478
+ outputs: [],
479
+ stateMutability: "nonpayable",
480
+ type: "function",
481
+ },
482
+ {
483
+ inputs: [],
484
+ name: "price0CumulativeLast",
485
+ outputs: [
486
+ {
487
+ internalType: "uint256",
488
+ name: "",
489
+ type: "uint256",
490
+ },
491
+ ],
492
+ stateMutability: "view",
493
+ type: "function",
494
+ },
495
+ {
496
+ inputs: [],
497
+ name: "price1CumulativeLast",
498
+ outputs: [
499
+ {
500
+ internalType: "uint256",
501
+ name: "",
502
+ type: "uint256",
503
+ },
504
+ ],
505
+ stateMutability: "view",
506
+ type: "function",
507
+ },
508
+ {
509
+ inputs: [
510
+ {
511
+ internalType: "address",
512
+ name: "to",
513
+ type: "address",
514
+ },
515
+ ],
516
+ name: "skim",
517
+ outputs: [],
518
+ stateMutability: "nonpayable",
519
+ type: "function",
520
+ },
521
+ {
522
+ inputs: [
523
+ {
524
+ internalType: "uint256",
525
+ name: "amount0Out",
526
+ type: "uint256",
527
+ },
528
+ {
529
+ internalType: "uint256",
530
+ name: "amount1Out",
531
+ type: "uint256",
532
+ },
533
+ {
534
+ internalType: "address",
535
+ name: "to",
536
+ type: "address",
537
+ },
538
+ {
539
+ internalType: "bytes",
540
+ name: "data",
541
+ type: "bytes",
542
+ },
543
+ ],
544
+ name: "swap",
545
+ outputs: [],
546
+ stateMutability: "nonpayable",
547
+ type: "function",
548
+ },
549
+ {
550
+ inputs: [],
551
+ name: "symbol",
552
+ outputs: [
553
+ {
554
+ internalType: "string",
555
+ name: "",
556
+ type: "string",
557
+ },
558
+ ],
559
+ stateMutability: "pure",
560
+ type: "function",
561
+ },
562
+ {
563
+ inputs: [],
564
+ name: "sync",
565
+ outputs: [],
566
+ stateMutability: "nonpayable",
567
+ type: "function",
568
+ },
569
+ {
570
+ inputs: [],
571
+ name: "token0",
572
+ outputs: [
573
+ {
574
+ internalType: "address",
575
+ name: "",
576
+ type: "address",
577
+ },
578
+ ],
579
+ stateMutability: "view",
580
+ type: "function",
581
+ },
582
+ {
583
+ inputs: [],
584
+ name: "token1",
585
+ outputs: [
586
+ {
587
+ internalType: "address",
588
+ name: "",
589
+ type: "address",
590
+ },
591
+ ],
592
+ stateMutability: "view",
593
+ type: "function",
594
+ },
595
+ {
596
+ inputs: [],
597
+ name: "totalSupply",
598
+ outputs: [
599
+ {
600
+ internalType: "uint256",
601
+ name: "",
602
+ type: "uint256",
603
+ },
604
+ ],
605
+ stateMutability: "view",
606
+ type: "function",
607
+ },
608
+ {
609
+ inputs: [
610
+ {
611
+ internalType: "address",
612
+ name: "to",
613
+ type: "address",
614
+ },
615
+ {
616
+ internalType: "uint256",
617
+ name: "value",
618
+ type: "uint256",
619
+ },
620
+ ],
621
+ name: "transfer",
622
+ outputs: [
623
+ {
624
+ internalType: "bool",
625
+ name: "",
626
+ type: "bool",
627
+ },
628
+ ],
629
+ stateMutability: "nonpayable",
630
+ type: "function",
631
+ },
632
+ {
633
+ inputs: [
634
+ {
635
+ internalType: "address",
636
+ name: "from",
637
+ type: "address",
638
+ },
639
+ {
640
+ internalType: "address",
641
+ name: "to",
642
+ type: "address",
643
+ },
644
+ {
645
+ internalType: "uint256",
646
+ name: "value",
647
+ type: "uint256",
648
+ },
649
+ ],
650
+ name: "transferFrom",
651
+ outputs: [
652
+ {
653
+ internalType: "bool",
654
+ name: "",
655
+ type: "bool",
656
+ },
657
+ ],
658
+ stateMutability: "nonpayable",
659
+ type: "function",
660
+ },
661
+ ];
662
+
663
+ export class IJoePair__factory {
664
+ static readonly abi = _abi;
665
+ static createInterface(): IJoePairInterface {
666
+ return new utils.Interface(_abi) as IJoePairInterface;
667
+ }
668
+ static connect(
669
+ address: string,
670
+ signerOrProvider: Signer | Provider
671
+ ): IJoePair {
672
+ return new Contract(address, _abi, signerOrProvider) as IJoePair;
673
+ }
674
+ }