@pendle/core-v2 0.10.1-beta → 0.10.3-testnet

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 (172) 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/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +1 -1
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +1 -1
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.json +2 -2
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  15. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.dbg.json +1 -1
  16. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +1 -1
  17. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.json +2 -2
  18. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  19. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  20. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +1 -1
  21. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +8 -8
  33. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  35. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +2 -2
  38. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  44. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  46. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  48. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  51. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.json +4 -4
  53. package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  55. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  56. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  57. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  58. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  59. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  60. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
  61. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
  62. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  63. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
  64. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +1 -1
  65. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  66. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  67. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  68. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +2 -2
  71. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +2 -2
  73. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  101. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.dbg.json +1 -1
  102. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  103. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  104. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
  105. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  106. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  107. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  108. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  109. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  110. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  111. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +1 -1
  112. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  113. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  114. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  115. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +4 -0
  116. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/{MarketApproxLib.json → MarketApproxPtInLib.json} +3 -3
  117. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +4 -0
  118. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.json +10 -0
  119. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  120. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  121. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  122. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
  123. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  124. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -2
  125. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  126. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +116 -56
  127. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  128. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  129. package/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol +6 -1
  130. package/contracts/core/Market/PendleMarket.sol +4 -4
  131. package/contracts/core/actions/ActionAddRemoveLiq.sol +2 -1
  132. package/contracts/core/actions/ActionSwapPT.sol +2 -1
  133. package/contracts/core/actions/ActionSwapYT.sol +3 -2
  134. package/contracts/interfaces/IPActionSwapYT.sol +2 -2
  135. package/contracts/libraries/math/MarketApproxLib.sol +373 -447
  136. package/contracts/offchain-helpers/MarketMathStatic.sol +32 -14
  137. package/contracts/offchain-helpers/RouterStatic.sol +48 -18
  138. package/deployments/43113-core.json +5 -5
  139. package/deployments/43113-markets/benqi-market-590025.json +8 -0
  140. package/deployments/43113-markets/benqi-market-c93916.json +8 -0
  141. package/deployments/80001-core.json +4 -4
  142. package/deployments/80001-markets/benqi-market-3b8BD1.json +8 -0
  143. package/deployments/80001-markets/benqi-market-b61e7f.json +8 -0
  144. package/package.json +1 -1
  145. package/typechain-types/ActionSwapYT.ts +5 -5
  146. package/typechain-types/IPActionSwapYT.ts +5 -5
  147. package/typechain-types/IPAllAction.ts +5 -5
  148. package/typechain-types/RouterStatic.ts +57 -4
  149. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  150. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  151. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  152. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  153. package/typechain-types/factories/ActionSwapYT__factory.ts +3 -3
  154. package/typechain-types/factories/IPActionSwapYT__factory.ts +2 -2
  155. package/typechain-types/factories/IPAllAction__factory.ts +2 -2
  156. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -1
  157. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -1
  158. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  159. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  160. package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +1 -1
  161. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -1
  162. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  163. package/typechain-types/factories/PendleSJoeSCY__factory.ts +1 -1
  164. package/typechain-types/factories/PendleStargateSCY__factory.ts +1 -1
  165. package/typechain-types/factories/RouterStatic__factory.ts +61 -1
  166. package/typechain-types/hardhat.d.ts +0 -90
  167. package/typechain-types/index.ts +0 -20
  168. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +0 -4
  169. package/deployments/43113-markets/benqi-market-6440d6.json +0 -8
  170. package/deployments/43113-markets/benqi-market-Dc7592.json +0 -8
  171. package/deployments/80001-markets/benqi-market-1542e0.json +0 -8
  172. package/deployments/80001-markets/benqi-market-2b6D02.json +0 -8
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/492a77e993ce31b17542cf37561d3792.json"
3
+ "buildInfo": "../../../build-info/a12bb976475958b058bd7f38ce51b59e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/492a77e993ce31b17542cf37561d3792.json"
3
+ "buildInfo": "../../../build-info/a12bb976475958b058bd7f38ce51b59e.json"
4
4
  }
@@ -72,7 +72,12 @@ abstract contract SCYBaseWithRewards is SCYBase, RewardManager {
72
72
  }
73
73
  }
74
74
 
75
- function rewardIndexesCurrent() external override returns (uint256[] memory indexes) {
75
+ function rewardIndexesCurrent()
76
+ external
77
+ override
78
+ nonReentrant
79
+ returns (uint256[] memory indexes)
80
+ {
76
81
  _updateRewardIndex();
77
82
  return rewardIndexesStored();
78
83
  }
@@ -137,8 +137,8 @@ contract PendleMarket is PendleERC20, PendleGauge, IPMarket {
137
137
 
138
138
  (netScyOut, netPtOut) = market.removeLiquidity(lpToRemove);
139
139
 
140
- IERC20(SCY).safeTransfer(receiverScy, netScyOut);
141
- IERC20(PT).safeTransfer(receiverPt, netPtOut);
140
+ if (receiverScy != address(this)) IERC20(SCY).safeTransfer(receiverScy, netScyOut);
141
+ if (receiverPt != address(this)) IERC20(PT).safeTransfer(receiverPt, netPtOut);
142
142
 
143
143
  _writeState(market);
144
144
 
@@ -168,7 +168,7 @@ contract PendleMarket is PendleERC20, PendleGauge, IPMarket {
168
168
  block.timestamp
169
169
  );
170
170
 
171
- IERC20(SCY).safeTransfer(receiver, netScyOut);
171
+ if (receiver != address(this)) IERC20(SCY).safeTransfer(receiver, netScyOut);
172
172
  IERC20(SCY).safeTransfer(market.treasury, netScyToReserve);
173
173
 
174
174
  _writeState(market);
@@ -205,7 +205,7 @@ contract PendleMarket is PendleERC20, PendleGauge, IPMarket {
205
205
  block.timestamp
206
206
  );
207
207
 
208
- IERC20(PT).safeTransfer(receiver, exactPtOut);
208
+ if (receiver != address(this)) IERC20(PT).safeTransfer(receiver, exactPtOut);
209
209
  IERC20(SCY).safeTransfer(market.treasury, netScyToReserve);
210
210
 
211
211
  _writeState(market);
@@ -9,7 +9,8 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
9
9
  using Math for uint256;
10
10
  using Math for int256;
11
11
  using MarketMathCore for MarketState;
12
- using MarketApproxLib for MarketState;
12
+ using MarketApproxPtInLib for MarketState;
13
+ using MarketApproxPtOutLib for MarketState;
13
14
  using SafeERC20 for IERC20;
14
15
  using PYIndexLib for IPYieldToken;
15
16
 
@@ -7,7 +7,8 @@ import "../../interfaces/IPMarket.sol";
7
7
 
8
8
  contract ActionSwapPT is IPActionSwapPT, ActionBaseMintRedeem {
9
9
  using MarketMathCore for MarketState;
10
- using MarketApproxLib for MarketState;
10
+ using MarketApproxPtInLib for MarketState;
11
+ using MarketApproxPtOutLib for MarketState;
11
12
  using Math for uint256;
12
13
  using Math for int256;
13
14
  using SafeERC20 for IERC20;
@@ -10,7 +10,8 @@ contract ActionSwapYT is IPActionSwapYT, ActionBaseMintRedeem, CallbackHelper {
10
10
  using Math for uint256;
11
11
  using Math for int256;
12
12
  using MarketMathCore for MarketState;
13
- using MarketApproxLib for MarketState;
13
+ using MarketApproxPtInLib for MarketState;
14
+ using MarketApproxPtOutLib for MarketState;
14
15
  using SafeERC20 for ISuperComposableYield;
15
16
  using SafeERC20 for IPYieldToken;
16
17
  using PYIndexLib for IPYieldToken;
@@ -41,7 +42,7 @@ contract ActionSwapYT is IPActionSwapYT, ActionBaseMintRedeem, CallbackHelper {
41
42
 
42
43
  SCY.safeTransferFrom(msg.sender, address(YT), exactScyIn);
43
44
 
44
- _swapExactScyForYt(receiver, market, YT, exactScyIn, minYtOut, guessYtOut);
45
+ netYtOut = _swapExactScyForYt(receiver, market, YT, exactScyIn, minYtOut, guessYtOut);
45
46
 
46
47
  emit SwapYtAndScy(msg.sender, market, receiver, netYtOut.Int(), exactScyIn.neg());
47
48
  }
@@ -16,8 +16,8 @@ interface IPActionSwapYT {
16
16
  event SwapYtAndToken(
17
17
  address indexed caller,
18
18
  address indexed market,
19
- address indexed token,
20
- address receiver,
19
+ address indexed receiver,
20
+ address token,
21
21
  int256 netYtToAccount,
22
22
  int256 netTokenToAccount
23
23
  );