@pendle/core-v2 5.8.6-beta-lpwrapper → 5.8.7-fee-beta

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 (53) hide show
  1. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +4 -0
  2. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +297 -0
  3. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  4. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  5. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  6. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  7. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  8. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  9. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  10. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  11. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  12. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  13. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  14. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  15. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  16. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  17. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  18. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  19. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  20. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  21. package/contracts/offchain-helpers/BalanceReader.sol +68 -0
  22. package/contracts/offchain-helpers/PendleLPWrapperFactory.sol +1 -1
  23. package/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol +5 -0
  24. package/deployments/1-core.json +4 -2
  25. package/deployments/1-offchain-helper.json +2 -1
  26. package/deployments/10-offchain-helper.json +2 -1
  27. package/deployments/146-core.json +3 -2
  28. package/deployments/146-offchain-helper.json +2 -1
  29. package/deployments/42161-core.json +3 -2
  30. package/deployments/42161-offchain-helper.json +2 -1
  31. package/deployments/5000-core.json +3 -2
  32. package/deployments/5000-offchain-helper.json +2 -1
  33. package/deployments/56-core.json +3 -2
  34. package/deployments/56-offchain-helper.json +2 -1
  35. package/deployments/80094-core.json +3 -2
  36. package/deployments/80094-offchain-helper.json +2 -1
  37. package/deployments/8453-core.json +3 -2
  38. package/deployments/8453-offchain-helper.json +2 -1
  39. package/package.json +1 -1
  40. package/typechain-types/BalanceReader.ts +471 -0
  41. package/typechain-types/factories/BalanceReader__factory.ts +347 -0
  42. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  43. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  44. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  45. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  46. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  47. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  48. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  49. package/typechain-types/hardhat.d.ts +9 -27
  50. package/typechain-types/index.ts +2 -6
  51. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +0 -4
  52. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +0 -294
  53. package/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol +0 -80
@@ -1,80 +0,0 @@
1
- // SPDX-License-Identifier: SEE LICENSE IN LICENSE
2
- pragma solidity ^0.8.0;
3
-
4
- import "../router/base/ActionBase.sol";
5
- import "../interfaces/IPActionMiscV3.sol";
6
- import "../interfaces/IPReflector.sol";
7
- import "../core/libraries/BoringOwnableUpgradeable.sol";
8
- import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
9
- import "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";
10
-
11
- contract ExpiredLpPtRedeemer is TokenHelper, ReentrancyGuardUpgradeable, BoringOwnableUpgradeable, UUPSUpgradeable {
12
- mapping(address => bool) public whitelistedMarkets;
13
-
14
- constructor() {
15
- _disableInitializers();
16
- }
17
-
18
- function initialize() public initializer {
19
- __BoringOwnable_init();
20
- __ReentrancyGuard_init();
21
- }
22
-
23
- function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
24
-
25
- function exitPostExpToToken(
26
- address receiver,
27
- address market,
28
- uint256 netPtIn,
29
- uint256 netLpIn,
30
- address tokenRedeemSy,
31
- uint256 minTokenOut
32
- ) external nonReentrant returns (uint256 totalTokenOut) {
33
- require(whitelistedMarkets[market], "n/a");
34
-
35
- (IStandardizedYield SY, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market).readTokens();
36
-
37
- IPMarket(market).redeemRewards(msg.sender);
38
-
39
- uint256 totalSyRedeem = 0;
40
- uint256 totalPtRedeem = 0;
41
-
42
- if (netPtIn > 0) {
43
- _transferFrom(PT, msg.sender, address(this), netLpIn);
44
- totalPtRedeem += netPtIn;
45
- }
46
-
47
- if (netLpIn > 0) {
48
- _transferFrom(IERC20(market), msg.sender, market, netLpIn);
49
- (uint256 netSyFromRemove, uint256 netPtFromRemove) = IPMarket(market).burn(
50
- address(this),
51
- address(this),
52
- netLpIn
53
- );
54
-
55
- totalSyRedeem += netSyFromRemove;
56
- totalPtRedeem += netPtFromRemove;
57
- }
58
-
59
- uint256 netSyFromPt = SYUtils.assetToSy(YT.pyIndexCurrent(), totalPtRedeem);
60
- totalSyRedeem += netSyFromPt;
61
-
62
- {
63
- _transferOut(address(SY), address(SY), totalSyRedeem);
64
- totalTokenOut = IStandardizedYield(SY).redeem(receiver, totalSyRedeem, tokenRedeemSy, minTokenOut, true);
65
- }
66
- }
67
-
68
- function setWhitelistedMarket(address[] calldata markets, bool isWhitelisted) external onlyOwner {
69
- for (uint256 i = 0; i < markets.length; i++) {
70
- require(IPMarket(markets[i]).isExpired(), "not expired");
71
- whitelistedMarkets[markets[i]] = isWhitelisted;
72
- }
73
- }
74
-
75
- function withdraw(address[] memory tokens) external onlyOwner {
76
- for (uint256 i = 0; i < tokens.length; i++) {
77
- _transferOut(tokens[i], msg.sender, _selfBalance(tokens[i]));
78
- }
79
- }
80
- }