@pendle/core-v2 0.8.1-gamma → 0.9.0-gamma-2

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 (193) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +1 -1
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +2 -2
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +1 -1
  4. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.dbg.json +1 -1
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.json +2 -2
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +2 -2
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.dbg.json +1 -1
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.json +2 -2
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +1 -1
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.json +2 -2
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +2 -2
  15. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +1 -1
  16. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.json +2 -2
  17. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  18. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +2 -2
  19. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +1 -1
  20. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.json +2 -2
  21. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +1 -1
  22. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.json +2 -2
  23. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  24. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  33. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  39. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  41. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +2 -2
  44. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  48. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  50. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  52. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +272 -136
  54. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +75 -41
  56. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.json +1 -1
  58. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.json +1 -1
  60. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +1 -1
  62. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  63. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  64. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  65. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  66. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  67. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  68. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.json +268 -132
  75. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.json +71 -37
  77. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +339 -169
  79. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  109. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  110. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  111. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
  112. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  113. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  114. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  115. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  116. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  117. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  118. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +1 -1
  119. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  120. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +4 -0
  121. package/build/artifacts/contracts/libraries/{traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.json → kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json} +3 -3
  122. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  123. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +1 -1
  124. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  125. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  126. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  127. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
  128. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  129. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
  130. package/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol +6 -8
  131. package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +1 -1
  132. package/contracts/core/PendleRouter.sol +10 -10
  133. package/contracts/core/actions/ActionCore.sol +54 -81
  134. package/contracts/core/actions/ActionYT.sol +17 -37
  135. package/contracts/core/actions/base/ActionSCYAndPTBase.sol +11 -28
  136. package/contracts/core/actions/base/ActionSCYAndPYBase.sol +39 -51
  137. package/contracts/core/actions/base/ActionSCYAndYTBase.sol +10 -27
  138. package/contracts/interfaces/IPActionCore.sol +43 -50
  139. package/contracts/interfaces/IPActionYT.sol +11 -12
  140. package/contracts/libraries/helpers/TokenHelper.sol +8 -3
  141. package/contracts/libraries/kyberswap/KyberSwapHelper.sol +61 -0
  142. package/package.json +1 -1
  143. package/typechain-types/ActionCore.ts +330 -356
  144. package/typechain-types/ActionSCYAndPTBase.ts +11 -8
  145. package/typechain-types/ActionSCYAndPYBase.ts +11 -8
  146. package/typechain-types/ActionSCYAndYTBase.ts +11 -8
  147. package/typechain-types/ActionYT.ts +119 -106
  148. package/typechain-types/IPActionCore.ts +320 -349
  149. package/typechain-types/IPActionYT.ts +110 -100
  150. package/typechain-types/IPAllAction.ts +400 -447
  151. package/typechain-types/KyberSwapHelper.ts +87 -0
  152. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  153. package/typechain-types/factories/ActionCore__factory.ts +275 -139
  154. package/typechain-types/factories/ActionSCYAndPTBase__factory.ts +1 -1
  155. package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +1 -1
  156. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +1 -1
  157. package/typechain-types/factories/ActionYT__factory.ts +78 -44
  158. package/typechain-types/factories/IPActionCore__factory.ts +268 -132
  159. package/typechain-types/factories/IPActionYT__factory.ts +71 -37
  160. package/typechain-types/factories/IPAllAction__factory.ts +339 -169
  161. package/typechain-types/factories/KyberSwapHelper__factory.ts +39 -0
  162. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -1
  163. package/typechain-types/factories/PendleERC4626SCY__factory.ts +1 -1
  164. package/typechain-types/factories/PendleEulerSCY__factory.ts +1 -1
  165. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  166. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  167. package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +1 -1
  168. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -1
  169. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  170. package/typechain-types/factories/PendleSAvaxSCY__factory.ts +1 -1
  171. package/typechain-types/factories/PendleSJoeSCY__factory.ts +1 -1
  172. package/typechain-types/factories/PendleStargateSCY__factory.ts +1 -1
  173. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  174. package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
  175. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +1 -1
  176. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  177. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  178. package/typechain-types/hardhat.d.ts +9 -0
  179. package/typechain-types/index.ts +2 -0
  180. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +0 -4
  181. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.json +0 -662
  182. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +0 -4
  183. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.json +0 -760
  184. package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.dbg.json +0 -4
  185. package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.json +0 -962
  186. package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.dbg.json +0 -4
  187. package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.json +0 -10
  188. package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +0 -4
  189. package/contracts/interfaces/IJoePair.sol +0 -98
  190. package/contracts/interfaces/IJoeRouter01.sol +0 -162
  191. package/contracts/interfaces/IJoeRouter02.sol +0 -52
  192. package/contracts/libraries/traderjoe/JoeLibrary.sol +0 -122
  193. package/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol +0 -80
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/a4ba5d2a874c9e63492c072e1e1ee71d.json"
4
- }
@@ -1,10 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "JoeLibrary",
4
- "sourceName": "contracts/libraries/traderjoe/JoeLibrary.sol",
5
- "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200ed4635ed98a5f52e371c90837e748537a4e24b9881ebb8611a43228412bb80064736f6c634300080f0033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200ed4635ed98a5f52e371c90837e748537a4e24b9881ebb8611a43228412bb80064736f6c634300080f0033",
8
- "linkReferences": {},
9
- "deployedLinkReferences": {}
10
- }
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/a4ba5d2a874c9e63492c072e1e1ee71d.json"
4
- }
@@ -1,98 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0
2
-
3
- pragma solidity >=0.5.0;
4
-
5
- interface IJoePair {
6
- event Approval(address indexed owner, address indexed spender, uint256 value);
7
- event Transfer(address indexed from, address indexed to, uint256 value);
8
-
9
- function name() external pure returns (string memory);
10
-
11
- function symbol() external pure returns (string memory);
12
-
13
- function decimals() external pure returns (uint8);
14
-
15
- function totalSupply() external view returns (uint256);
16
-
17
- function balanceOf(address owner) external view returns (uint256);
18
-
19
- function allowance(address owner, address spender) external view returns (uint256);
20
-
21
- function approve(address spender, uint256 value) external returns (bool);
22
-
23
- function transfer(address to, uint256 value) external returns (bool);
24
-
25
- function transferFrom(
26
- address from,
27
- address to,
28
- uint256 value
29
- ) external returns (bool);
30
-
31
- function DOMAIN_SEPARATOR() external view returns (bytes32);
32
-
33
- function PERMIT_TYPEHASH() external pure returns (bytes32);
34
-
35
- function nonces(address owner) external view returns (uint256);
36
-
37
- function permit(
38
- address owner,
39
- address spender,
40
- uint256 value,
41
- uint256 deadline,
42
- uint8 v,
43
- bytes32 r,
44
- bytes32 s
45
- ) external;
46
-
47
- event Mint(address indexed sender, uint256 amount0, uint256 amount1);
48
- event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);
49
- event Swap(
50
- address indexed sender,
51
- uint256 amount0In,
52
- uint256 amount1In,
53
- uint256 amount0Out,
54
- uint256 amount1Out,
55
- address indexed to
56
- );
57
- event Sync(uint112 reserve0, uint112 reserve1);
58
-
59
- function MINIMUM_LIQUIDITY() external pure returns (uint256);
60
-
61
- function factory() external view returns (address);
62
-
63
- function token0() external view returns (address);
64
-
65
- function token1() external view returns (address);
66
-
67
- function getReserves()
68
- external
69
- view
70
- returns (
71
- uint112 reserve0,
72
- uint112 reserve1,
73
- uint32 blockTimestampLast
74
- );
75
-
76
- function price0CumulativeLast() external view returns (uint256);
77
-
78
- function price1CumulativeLast() external view returns (uint256);
79
-
80
- function kLast() external view returns (uint256);
81
-
82
- function mint(address to) external returns (uint256 liquidity);
83
-
84
- function burn(address to) external returns (uint256 amount0, uint256 amount1);
85
-
86
- function swap(
87
- uint256 amount0Out,
88
- uint256 amount1Out,
89
- address to,
90
- bytes calldata data
91
- ) external;
92
-
93
- function skim(address to) external;
94
-
95
- function sync() external;
96
-
97
- function initialize(address, address) external;
98
- }
@@ -1,162 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
-
3
- pragma solidity 0.8.15;
4
-
5
- interface IJoeRouter01 {
6
- function addLiquidity(
7
- address tokenA,
8
- address tokenB,
9
- uint256 amountADesired,
10
- uint256 amountBDesired,
11
- uint256 amountAMin,
12
- uint256 amountBMin,
13
- address to,
14
- uint256 deadline
15
- )
16
- external
17
- returns (
18
- uint256 amountA,
19
- uint256 amountB,
20
- uint256 liquidity
21
- );
22
-
23
- function addLiquidityAVAX(
24
- address token,
25
- uint256 amountTokenDesired,
26
- uint256 amountTokenMin,
27
- uint256 amountAVAXMin,
28
- address to,
29
- uint256 deadline
30
- )
31
- external
32
- payable
33
- returns (
34
- uint256 amountToken,
35
- uint256 amountAVAX,
36
- uint256 liquidity
37
- );
38
-
39
- function removeLiquidity(
40
- address tokenA,
41
- address tokenB,
42
- uint256 liquidity,
43
- uint256 amountAMin,
44
- uint256 amountBMin,
45
- address to,
46
- uint256 deadline
47
- ) external returns (uint256 amountA, uint256 amountB);
48
-
49
- function removeLiquidityAVAX(
50
- address token,
51
- uint256 liquidity,
52
- uint256 amountTokenMin,
53
- uint256 amountAVAXMin,
54
- address to,
55
- uint256 deadline
56
- ) external returns (uint256 amountToken, uint256 amountAVAX);
57
-
58
- function removeLiquidityWithPermit(
59
- address tokenA,
60
- address tokenB,
61
- uint256 liquidity,
62
- uint256 amountAMin,
63
- uint256 amountBMin,
64
- address to,
65
- uint256 deadline,
66
- bool approveMax,
67
- uint8 v,
68
- bytes32 r,
69
- bytes32 s
70
- ) external returns (uint256 amountA, uint256 amountB);
71
-
72
- function removeLiquidityAVAXWithPermit(
73
- address token,
74
- uint256 liquidity,
75
- uint256 amountTokenMin,
76
- uint256 amountAVAXMin,
77
- address to,
78
- uint256 deadline,
79
- bool approveMax,
80
- uint8 v,
81
- bytes32 r,
82
- bytes32 s
83
- ) external returns (uint256 amountToken, uint256 amountAVAX);
84
-
85
- function swapExactTokensForTokens(
86
- uint256 amountIn,
87
- uint256 amountOutMin,
88
- address[] calldata path,
89
- address to,
90
- uint256 deadline
91
- ) external returns (uint256[] memory amounts);
92
-
93
- function swapTokensForExactTokens(
94
- uint256 amountOut,
95
- uint256 amountInMax,
96
- address[] calldata path,
97
- address to,
98
- uint256 deadline
99
- ) external returns (uint256[] memory amounts);
100
-
101
- function swapExactAVAXForTokens(
102
- uint256 amountOutMin,
103
- address[] calldata path,
104
- address to,
105
- uint256 deadline
106
- ) external payable returns (uint256[] memory amounts);
107
-
108
- function swapTokensForExactAVAX(
109
- uint256 amountOut,
110
- uint256 amountInMax,
111
- address[] calldata path,
112
- address to,
113
- uint256 deadline
114
- ) external returns (uint256[] memory amounts);
115
-
116
- function swapExactTokensForAVAX(
117
- uint256 amountIn,
118
- uint256 amountOutMin,
119
- address[] calldata path,
120
- address to,
121
- uint256 deadline
122
- ) external returns (uint256[] memory amounts);
123
-
124
- function swapAVAXForExactTokens(
125
- uint256 amountOut,
126
- address[] calldata path,
127
- address to,
128
- uint256 deadline
129
- ) external payable returns (uint256[] memory amounts);
130
-
131
- function getAmountsOut(uint256 amountIn, address[] calldata path)
132
- external
133
- view
134
- returns (uint256[] memory amounts);
135
-
136
- function getAmountsIn(uint256 amountOut, address[] calldata path)
137
- external
138
- view
139
- returns (uint256[] memory amounts);
140
-
141
- function quote(
142
- uint256 amountA,
143
- uint256 reserveA,
144
- uint256 reserveB
145
- ) external pure returns (uint256 amountB);
146
-
147
- function getAmountOut(
148
- uint256 amountIn,
149
- uint256 reserveIn,
150
- uint256 reserveOut
151
- ) external pure returns (uint256 amountOut);
152
-
153
- function getAmountIn(
154
- uint256 amountOut,
155
- uint256 reserveIn,
156
- uint256 reserveOut
157
- ) external pure returns (uint256 amountIn);
158
-
159
- function factory() external pure returns (address);
160
-
161
- function WAVAX() external pure returns (address);
162
- }
@@ -1,52 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0
2
-
3
- pragma solidity 0.8.15;
4
-
5
- import "./IJoeRouter01.sol";
6
-
7
- interface IJoeRouter02 is IJoeRouter01 {
8
- function removeLiquidityAVAXSupportingFeeOnTransferTokens(
9
- address token,
10
- uint256 liquidity,
11
- uint256 amountTokenMin,
12
- uint256 amountAVAXMin,
13
- address to,
14
- uint256 deadline
15
- ) external returns (uint256 amountAVAX);
16
-
17
- function removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens(
18
- address token,
19
- uint256 liquidity,
20
- uint256 amountTokenMin,
21
- uint256 amountAVAXMin,
22
- address to,
23
- uint256 deadline,
24
- bool approveMax,
25
- uint8 v,
26
- bytes32 r,
27
- bytes32 s
28
- ) external returns (uint256 amountAVAX);
29
-
30
- function swapExactTokensForTokensSupportingFeeOnTransferTokens(
31
- uint256 amountIn,
32
- uint256 amountOutMin,
33
- address[] calldata path,
34
- address to,
35
- uint256 deadline
36
- ) external;
37
-
38
- function swapExactAVAXForTokensSupportingFeeOnTransferTokens(
39
- uint256 amountOutMin,
40
- address[] calldata path,
41
- address to,
42
- uint256 deadline
43
- ) external payable;
44
-
45
- function swapExactTokensForAVAXSupportingFeeOnTransferTokens(
46
- uint256 amountIn,
47
- uint256 amountOutMin,
48
- address[] calldata path,
49
- address to,
50
- uint256 deadline
51
- ) external;
52
- }
@@ -1,122 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0
2
-
3
- pragma solidity 0.8.15;
4
-
5
- import "../../interfaces/IJoePair.sol";
6
-
7
- // almost-copied from TraderJoe
8
- library JoeLibrary {
9
- // returns sorted token addresses, used to handle return values from pairs sorted in this order
10
- function sortTokens(address tokenA, address tokenB)
11
- internal
12
- pure
13
- returns (address token0, address token1)
14
- {
15
- require(tokenA != tokenB, "JoeLibrary: IDENTICAL_ADDRESSES");
16
- (token0, token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
17
- require(token0 != address(0), "JoeLibrary: ZERO_ADDRESS");
18
- }
19
-
20
- // calculates the CREATE2 address for a pair without making any external calls
21
- function pairFor(
22
- address factory,
23
- address tokenA,
24
- address tokenB
25
- ) internal pure returns (address pair) {
26
- (address token0, address token1) = sortTokens(tokenA, tokenB);
27
- pair = address(
28
- uint160(
29
- uint256(
30
- keccak256(
31
- abi.encodePacked(
32
- hex"ff",
33
- factory,
34
- keccak256(abi.encodePacked(token0, token1)),
35
- hex"0bbca9af0511ad1a1da383135cf3a8d2ac620e549ef9f6ae3a4c33c2fed0af91" // init code fuji
36
- )
37
- )
38
- )
39
- )
40
- );
41
- }
42
-
43
- // fetches and sorts the reserves for a pair
44
- function getReserves(
45
- address factory,
46
- address tokenA,
47
- address tokenB
48
- ) internal view returns (uint256 reserveA, uint256 reserveB) {
49
- (address token0, ) = sortTokens(tokenA, tokenB);
50
- (uint256 reserve0, uint256 reserve1, ) = IJoePair(pairFor(factory, tokenA, tokenB))
51
- .getReserves();
52
- (reserveA, reserveB) = tokenA == token0 ? (reserve0, reserve1) : (reserve1, reserve0);
53
- }
54
-
55
- // given some amount of an asset and pair reserves, returns an equivalent amount of the other asset
56
- function quote(
57
- uint256 amountA,
58
- uint256 reserveA,
59
- uint256 reserveB
60
- ) internal pure returns (uint256 amountB) {
61
- require(amountA > 0, "JoeLibrary: INSUFFICIENT_AMOUNT");
62
- require(reserveA > 0 && reserveB > 0, "JoeLibrary: INSUFFICIENT_LIQUIDITY");
63
- amountB = (amountA * reserveB) / reserveA;
64
- }
65
-
66
- // given an input amount of an asset and pair reserves, returns the maximum output amount of the other asset
67
- function getAmountOut(
68
- uint256 amountIn,
69
- uint256 reserveIn,
70
- uint256 reserveOut
71
- ) internal pure returns (uint256 amountOut) {
72
- require(amountIn > 0, "JoeLibrary: INSUFFICIENT_INPUT_AMOUNT");
73
- require(reserveIn > 0 && reserveOut > 0, "JoeLibrary: INSUFFICIENT_LIQUIDITY");
74
- uint256 amountInWithFee = amountIn * 997;
75
- uint256 numerator = amountInWithFee * reserveOut;
76
- uint256 denominator = reserveIn * 1000 + amountInWithFee;
77
- amountOut = numerator / denominator;
78
- }
79
-
80
- // given an output amount of an asset and pair reserves, returns a required input amount of the other asset
81
- function getAmountIn(
82
- uint256 amountOut,
83
- uint256 reserveIn,
84
- uint256 reserveOut
85
- ) internal pure returns (uint256 amountIn) {
86
- require(amountOut > 0, "JoeLibrary: INSUFFICIENT_OUTPUT_AMOUNT");
87
- require(reserveIn > 0 && reserveOut > 0, "JoeLibrary: INSUFFICIENT_LIQUIDITY");
88
- uint256 numerator = reserveIn * amountOut * 1000;
89
- uint256 denominator = (reserveOut - amountOut) * 997;
90
- amountIn = (numerator / denominator) + 1;
91
- }
92
-
93
- // performs chained getAmountOut calculations on any number of pairs
94
- function getAmountsOut(
95
- address factory,
96
- uint256 amountIn,
97
- address[] memory path
98
- ) internal view returns (uint256[] memory amounts) {
99
- require(path.length >= 2, "JoeLibrary: INVALID_PATH");
100
- amounts = new uint256[](path.length);
101
- amounts[0] = amountIn;
102
- for (uint256 i = 0; i < path.length - 1; i++) {
103
- (uint256 reserveIn, uint256 reserveOut) = getReserves(factory, path[i], path[i + 1]);
104
- amounts[i + 1] = getAmountOut(amounts[i], reserveIn, reserveOut);
105
- }
106
- }
107
-
108
- // performs chained getAmountIn calculations on any number of pairs
109
- function getAmountsIn(
110
- address factory,
111
- uint256 amountOut,
112
- address[] memory path
113
- ) internal view returns (uint256[] memory amounts) {
114
- require(path.length >= 2, "JoeLibrary: INVALID_PATH");
115
- amounts = new uint256[](path.length);
116
- amounts[amounts.length - 1] = amountOut;
117
- for (uint256 i = path.length - 1; i > 0; i--) {
118
- (uint256 reserveIn, uint256 reserveOut) = getReserves(factory, path[i - 1], path[i]);
119
- amounts[i - 1] = getAmountIn(amounts[i], reserveIn, reserveOut);
120
- }
121
- }
122
- }
@@ -1,80 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- /*
3
- * MIT License
4
- * ===========
5
- *
6
- * Permission is hereby granted, free of charge, to any person obtaining a copy
7
- * of this software and associated documentation files (the "Software"), to deal
8
- * in the Software without restriction, including without limitation the rights
9
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- * copies of the Software, and to permit persons to whom the Software is
11
- * furnished to do so, subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be included in all
14
- * copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- */
23
-
24
- pragma solidity 0.8.15;
25
- import "../../interfaces/IJoeRouter01.sol";
26
- import "./JoeLibrary.sol";
27
- import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
28
- import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
29
-
30
- abstract contract PendleJoeSwapHelperUpg {
31
- using SafeERC20 for IERC20;
32
- address public immutable joeFactory;
33
-
34
- /// @dev since this contract will be proxied, it must not contains non-immutable variables
35
- constructor(address _joeFactory) {
36
- joeFactory = _joeFactory;
37
- }
38
-
39
- /**
40
- * @notice swap tokens with no limit on amountOut. Tokens must have been transferred to the first pair
41
- */
42
- function _swapExactIn(
43
- address[] memory path,
44
- uint256 amountIn,
45
- address receiver
46
- ) internal virtual returns (uint256 amountOut) {
47
- uint256[] memory amounts = JoeLibrary.getAmountsOut(joeFactory, amountIn, path);
48
- _low_level_swap(amounts, path, receiver);
49
- amountOut = amounts[amounts.length - 1];
50
- }
51
-
52
- /// function from TraderJoe
53
- function _low_level_swap(
54
- uint256[] memory amounts,
55
- address[] memory path,
56
- address _to
57
- ) internal virtual {
58
- for (uint256 i; i < path.length - 1; i++) {
59
- (address input, address output) = (path[i], path[i + 1]);
60
- (address token0, ) = JoeLibrary.sortTokens(input, output);
61
- uint256 amountOut = amounts[i + 1];
62
- (uint256 amount0Out, uint256 amount1Out) = input == token0
63
- ? (uint256(0), amountOut)
64
- : (amountOut, uint256(0));
65
- address to = i < path.length - 2
66
- ? JoeLibrary.pairFor(joeFactory, output, path[i + 2])
67
- : _to;
68
- IJoePair(JoeLibrary.pairFor(joeFactory, input, output)).swap(
69
- amount0Out,
70
- amount1Out,
71
- to,
72
- new bytes(0)
73
- );
74
- }
75
- }
76
-
77
- function _getFirstPair(address[] memory path) internal view returns (address pair) {
78
- return JoeLibrary.pairFor(joeFactory, path[0], path[1]);
79
- }
80
- }