@pendle/core-v2 5.7.2 → 5.8.0-bera

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 (44) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  7. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +4 -0
  8. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.json +99 -0
  9. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  10. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +9 -3
  11. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  12. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +22 -3
  13. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  14. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  15. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  16. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +7 -2
  17. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +2 -2
  18. package/contracts/core/libraries/BoringOwnableUpgradeableV2.sol +54 -0
  19. package/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol +4 -4
  20. package/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol +7 -5
  21. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol +10 -5
  22. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +2 -2
  23. package/deployments/1-core.json +1 -1
  24. package/deployments/10-core.json +9 -6
  25. package/deployments/146-core.json +7 -4
  26. package/deployments/42161-core.json +10 -8
  27. package/deployments/5000-core.json +5 -1
  28. package/deployments/56-core.json +1 -1
  29. package/deployments/80094-core.json +50 -0
  30. package/deployments/80094-offchain-helper.json +6 -0
  31. package/deployments/8453-core.json +11 -8
  32. package/package.json +1 -1
  33. package/typechain-types/BoringOwnableUpgradeableV2.ts +203 -0
  34. package/typechain-types/PendleCommonPoolDeployHelperV2.ts +7 -6
  35. package/typechain-types/PendleCommonSYFactory.ts +20 -6
  36. package/typechain-types/factories/BoringOwnableUpgradeableV2__factory.ts +118 -0
  37. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +8 -2
  38. package/typechain-types/factories/PendleCommonSYFactory__factory.ts +21 -2
  39. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  40. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  41. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  42. package/typechain-types/factories/PendleRouterStatic__factory.ts +10 -2
  43. package/typechain-types/hardhat.d.ts +9 -9
  44. package/typechain-types/index.ts +2 -2
@@ -0,0 +1,54 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.0;
3
+
4
+ import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
5
+ import {BoringOwnableUpgradeableData} from "./BoringOwnableUpgradeable.sol";
6
+
7
+ abstract contract BoringOwnableUpgradeableV2 is BoringOwnableUpgradeableData, Initializable {
8
+ event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
9
+
10
+ function __BoringOwnableV2_init(address _owner) internal onlyInitializing {
11
+ owner = _owner;
12
+ }
13
+
14
+ /// @notice Transfers ownership to `newOwner`. Either directly or claimable by the new pending owner.
15
+ /// Can only be invoked by the current `owner`.
16
+ /// @param newOwner Address of the new owner.
17
+ /// @param direct True if `newOwner` should be set immediately. False if `newOwner` needs to use `claimOwnership`.
18
+ /// @param renounce Allows the `newOwner` to be `address(0)` if `direct` and `renounce` is True. Has no effect otherwise.
19
+ function transferOwnership(address newOwner, bool direct, bool renounce) public onlyOwner {
20
+ if (direct) {
21
+ // Checks
22
+ require(newOwner != address(0) || renounce, "Ownable: zero address");
23
+
24
+ // Effects
25
+ emit OwnershipTransferred(owner, newOwner);
26
+ owner = newOwner;
27
+ pendingOwner = address(0);
28
+ } else {
29
+ // Effects
30
+ pendingOwner = newOwner;
31
+ }
32
+ }
33
+
34
+ /// @notice Needs to be called by `pendingOwner` to claim ownership.
35
+ function claimOwnership() public {
36
+ address _pendingOwner = pendingOwner;
37
+
38
+ // Checks
39
+ require(msg.sender == _pendingOwner, "Ownable: caller != pending owner");
40
+
41
+ // Effects
42
+ emit OwnershipTransferred(owner, _pendingOwner);
43
+ owner = _pendingOwner;
44
+ pendingOwner = address(0);
45
+ }
46
+
47
+ /// @notice Only allows the `owner` to execute the function.
48
+ modifier onlyOwner() {
49
+ require(msg.sender == owner, "Ownable: caller is not the owner");
50
+ _;
51
+ }
52
+
53
+ uint256[48] private __gap;
54
+ }
@@ -4,9 +4,9 @@ pragma solidity ^0.8.17;
4
4
  import "./PendlePoolDeployHelperV2.sol";
5
5
  import "../../interfaces/IPCommonSYFactory.sol";
6
6
  import "../../interfaces/IOwnable.sol";
7
- import "../../core/libraries/BoringOwnableUpgradeable.sol";
7
+ import "../../core/libraries/BoringOwnableUpgradeableV2.sol";
8
8
 
9
- contract PendleCommonPoolDeployHelperV2 is PendlePoolDeployHelperV2, BoringOwnableUpgradeable {
9
+ contract PendleCommonPoolDeployHelperV2 is PendlePoolDeployHelperV2, BoringOwnableUpgradeableV2 {
10
10
  bytes32 public constant ERC4626_DEPLOY_ID = keccak256("PendleERC4626SYV2");
11
11
  bytes32 public constant ERC4626_NOT_REDEEMABLE_DEPLOY_ID = keccak256("PendleERC4626NotRedeemableToAssetSYV2");
12
12
  bytes32 public constant ERC20_DEPLOY_ID = keccak256("PendleERC20SY");
@@ -23,8 +23,8 @@ contract PendleCommonPoolDeployHelperV2 is PendlePoolDeployHelperV2, BoringOwnab
23
23
  _disableInitializers();
24
24
  }
25
25
 
26
- function initialize() external initializer {
27
- __BoringOwnable_init();
26
+ function initialize(address _owner) external initializer {
27
+ __BoringOwnableV2_init(_owner);
28
28
  }
29
29
 
30
30
  // Those 3 are all not payable as they should not accept tokenIn as native
@@ -1,11 +1,11 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity ^0.8.17;
3
3
 
4
- import "../../core/libraries/BoringOwnableUpgradeable.sol";
4
+ import "../../core/libraries/BoringOwnableUpgradeableV2.sol";
5
5
  import "../../core/libraries/BaseSplitCodeFactory.sol";
6
6
  import "../../interfaces/IOwnable.sol";
7
7
 
8
- contract PendleCommonSYFactory is BoringOwnableUpgradeable {
8
+ contract PendleCommonSYFactory is BoringOwnableUpgradeableV2 {
9
9
  error InvalidCreationCode(bytes32 id, CreationCode code);
10
10
 
11
11
  error InvalidSYId(bytes32 id);
@@ -23,12 +23,14 @@ contract PendleCommonSYFactory is BoringOwnableUpgradeable {
23
23
 
24
24
  mapping(bytes32 => CreationCode) public creationCodes;
25
25
 
26
+ uint256 public nonce;
27
+
26
28
  constructor() {
27
29
  _disableInitializers();
28
30
  }
29
31
 
30
- function initialize() external initializer {
31
- __BoringOwnable_init();
32
+ function initialize(address _owner) external initializer {
33
+ __BoringOwnableV2_init(_owner);
32
34
  }
33
35
 
34
36
  function setSYCreationCode(bytes32 id, CreationCode memory code) external onlyOwner {
@@ -53,7 +55,7 @@ contract PendleCommonSYFactory is BoringOwnableUpgradeable {
53
55
 
54
56
  SY = BaseSplitCodeFactory._create2(
55
57
  0,
56
- bytes32(block.chainid),
58
+ keccak256(abi.encode(block.chainid, nonce++)),
57
59
  constructorParams,
58
60
  code.creationCodeContractA,
59
61
  code.creationCodeSizeA,
@@ -80,11 +80,7 @@ contract PendlePoolDeployHelperV2 is TokenHelper {
80
80
  });
81
81
 
82
82
  addrs.SY = SY;
83
- (addrs.PT, addrs.YT) = IPYieldContractFactory(yieldContractFactory).createYieldContract(
84
- SY,
85
- params.expiry,
86
- params.doCacheIndexSameBlock
87
- );
83
+ (addrs.PT, addrs.YT) = _createPYIfNotExist(SY, params.expiry);
88
84
 
89
85
  addrs.market = IPMarketFactoryV3(marketFactory).createNewMarket(
90
86
  addrs.PT,
@@ -96,6 +92,15 @@ contract PendlePoolDeployHelperV2 is TokenHelper {
96
92
  emit MarketDeployment(addrs, params);
97
93
  }
98
94
 
95
+ function _createPYIfNotExist(address SY, uint32 expiry) internal returns (address PT, address YT) {
96
+ PT = IPYieldContractFactory(yieldContractFactory).getPT(SY, uint256(expiry));
97
+ if (PT == address(0)) {
98
+ (PT, YT) = IPYieldContractFactory(yieldContractFactory).createYieldContract(SY, expiry, doCacheIndexSameBlock);
99
+ } else {
100
+ YT = IPYieldContractFactory(yieldContractFactory).getYT(SY, expiry);
101
+ }
102
+ }
103
+
99
104
  function _seedLiquidity(
100
105
  PoolDeploymentParams memory params,
101
106
  PoolDeploymentAddrs memory addrs,
@@ -7,8 +7,8 @@ import "./base/StorageLayout.sol";
7
7
 
8
8
  // solhint-disable no-empty-blocks
9
9
  contract PendleRouterStatic is Proxy, StorageLayout {
10
- constructor(address actionStorage) {
11
- owner = msg.sender;
10
+ constructor(address owner_, address actionStorage) {
11
+ owner = owner_;
12
12
  selectorToFacet[IPMiniDiamond.setFacetForSelectors.selector] = actionStorage;
13
13
  }
14
14
 
@@ -47,7 +47,7 @@
47
47
  "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
48
48
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
49
49
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
50
- "sparkLinearDiscountOracleFactory": "0xA9A924A4BB95509F77868E086154C25e934F6171",
50
+ "sparkLinearDiscountOracleFactory": "0x084ceE278DA67F2B0fead8194FFe43C566E4e0B3",
51
51
  "beta": {
52
52
  "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee"
53
53
  },
@@ -12,7 +12,8 @@
12
12
  "initialInterestFee": "30000000000000000",
13
13
  "initialReserveFeePercent": "80",
14
14
  "safeWaitTime": 15000,
15
- "sySwapper": "0x2A6345a058cA9fc8A2cF35D83ec9005119c4f474"
15
+ "sySwapper": "0x2A6345a058cA9fc8A2cF35D83ec9005119c4f474",
16
+ "hardwareDeployer": "0xeea6F790F18563E91b18DF00B89d9f79b2E6761F"
16
17
  },
17
18
  "baseCodeSplitter": "0x9a5aF6A35bb56443C577d57c303CDA39F56Dd173",
18
19
  "PENDLE": "0xBC7B1Ff1c6989f006a1185318eD4E7b5796e66E1",
@@ -42,13 +43,15 @@
42
43
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
43
44
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
44
45
  "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
45
- "receiverEndpoint": "0xED18de5442297a4Ec1ce59C7c7d9427Adc2A012b",
46
- "vePendle": "0xd5C47D2383Fddc19596489280C0A33AC42b2bB18",
47
- "gaugeController": "0x6875e4A945E498FE1B90BbB13CFbAF0b68658C9C",
48
- "sparkLinearDiscountOracleFactory": "0xA9A924A4BB95509F77868E086154C25e934F6171",
49
46
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
50
47
  "externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
48
+ "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
49
+ "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
50
+ "sparkLinearDiscountOracleFactory": "0x084ceE278DA67F2B0fead8194FFe43C566E4e0B3",
51
51
  "beta": {
52
52
  "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee"
53
- }
53
+ },
54
+ "receiverEndpoint": "0xED18de5442297a4Ec1ce59C7c7d9427Adc2A012b",
55
+ "vePendle": "0xd5C47D2383Fddc19596489280C0A33AC42b2bB18",
56
+ "gaugeController": "0x6875e4A945E498FE1B90BbB13CFbAF0b68658C9C"
54
57
  }
@@ -17,8 +17,6 @@
17
17
  "baseCodeSplitter": "0x6952Eb0c152D683ea2F2B8B90a5E888c1550B69D",
18
18
  "PENDLE": "0xf1eF7d2D4C0c881cd634481e0586ed5d2871A74B",
19
19
  "governanceProxy": "0x2aD631F72fB16d91c4953A7f4260A97C2fE2f31e",
20
- "yieldContractFactoryV5": "0x0582D93FD9c9d42f26bE5D86a5f75291F92102C2",
21
- "marketFactoryV5": "0xFeE31A6eC6eBefa0b5A594Bf5b1139e3c6fAA0fB",
22
20
  "router": "0x888888888889758F76e7103c6CbF23ABbF58F946",
23
21
  "routerFacets": {
24
22
  "ActionAddRemoveLiqV3": "0x663C21103915B68e9dA797CfdF3cAb01a037D5Ff",
@@ -33,12 +31,17 @@
33
31
  "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
34
32
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
35
33
  "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
36
- "receiverEndpoint": "0x3209E9412cca80B18338f2a56ADA59c484c39644",
37
34
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
35
+ "yieldContractFactoryV5": "0x0582D93FD9c9d42f26bE5D86a5f75291F92102C2",
36
+ "marketFactoryV5": "0xFeE31A6eC6eBefa0b5A594Bf5b1139e3c6fAA0fB",
37
+ "poolDeployHelperV2": "0x0b692f06CA82e3075dC537224450885Fd138e655",
38
38
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
39
+ "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
40
+ "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
41
+ "receiverEndpoint": "0x3209E9412cca80B18338f2a56ADA59c484c39644",
39
42
  "vePendle": "0xE017CCC08505Ac8fbb5a364680e459d9fBaEE74d",
40
43
  "gaugeController": "0xeE708FC793a02F1eDd5BB9DBD7fD13010D1F7136",
41
- "sparkLinearDiscountOracleFactory": "0xA9A924A4BB95509F77868E086154C25e934F6171",
44
+ "sparkLinearDiscountOracleFactory": "0x084ceE278DA67F2B0fead8194FFe43C566E4e0B3",
42
45
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
43
46
  "externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
44
47
  "beta": {
@@ -12,7 +12,8 @@
12
12
  "initialInterestFee": "30000000000000000",
13
13
  "initialReserveFeePercent": "80",
14
14
  "safeWaitTime": 15000,
15
- "sySwapper": "0x7F6A486BbfAB887E24Df2b10eeF4E2ac9E34Dd46"
15
+ "sySwapper": "0x7F6A486BbfAB887E24Df2b10eeF4E2ac9E34Dd46",
16
+ "hardwareDeployer": "0xeea6F790F18563E91b18DF00B89d9f79b2E6761F"
16
17
  },
17
18
  "baseCodeSplitter": "0x29deaEE5413a07C933C15B37d7deB6Eb744Ba9C8",
18
19
  "PENDLE": "0x0c880f6761F1af8d9Aa9C466984b80DAb9a8c9e8",
@@ -42,15 +43,16 @@
42
43
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
43
44
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
44
45
  "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
45
- "receiverEndpoint": "0xC9215ae9EC67385F38C755D862C8eE3702B5793A",
46
- "vePendle": "0x3209E9412cca80B18338f2a56ADA59c484c39644",
47
- "gaugeController": "0x1e56299ebc8a1010cec26005d12e3e5c5cc2db00",
48
- "arbMerkleDistribution": "0x23a102e78D1FF1645a3666691495174764a5FCAF",
49
- "linearDistributor": "0x83d85AEDD308261d847C3eb8d7146457bD8F38E8",
50
- "sparkLinearDiscountOracleFactory": "0xA9A924A4BB95509F77868E086154C25e934F6171",
51
46
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
52
47
  "externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
48
+ "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
49
+ "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
50
+ "sparkLinearDiscountOracleFactory": "0x084ceE278DA67F2B0fead8194FFe43C566E4e0B3",
53
51
  "beta": {
54
52
  "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee"
55
- }
53
+ },
54
+ "receiverEndpoint": "0xC9215ae9EC67385F38C755D862C8eE3702B5793A",
55
+ "vePendle": "0x3209E9412cca80B18338f2a56ADA59c484c39644",
56
+ "gaugeController": "0x1e56299ebc8a1010cec26005d12e3e5c5cc2db00",
57
+ "arbMerkleDistribution": "0x23a102e78D1FF1645a3666691495174764a5FCAF"
56
58
  }
@@ -12,7 +12,8 @@
12
12
  "initialInterestFee": "30000000000000000",
13
13
  "initialReserveFeePercent": "80",
14
14
  "safeWaitTime": 15000,
15
- "sySwapper": ""
15
+ "sySwapper": "",
16
+ "hardwareDeployer": "0xeea6F790F18563E91b18DF00B89d9f79b2E6761F"
16
17
  },
17
18
  "baseCodeSplitter": "0x3d622b0ac50552d6283C7efE6EAdfc98aD0f6cB7",
18
19
  "PENDLE": "0xd27B18915e7acc8FD6Ac75DB6766a80f8D2f5729",
@@ -37,9 +38,12 @@
37
38
  "yieldContractFactoryV5": "0x5dFBEAEa9e41f85c334075482A20afb7031207aE",
38
39
  "marketFactoryV5": "0xcb02435716b0143D4Ac1BDf370302D619E714126",
39
40
  "poolDeployHelper": "0x553dCDd1297058B2b2E05779FC5Ec3d5225376Ce",
41
+ "poolDeployHelperV2": "0x6E716B682D0b63E7BF2C7b1cD20F2Fc2F3596fc7",
40
42
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
41
43
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
42
44
  "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
45
+ "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
46
+ "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
43
47
  "receiverEndpoint": "0xf799E4c029d14f41Dc1918C9A4C67242F565710e",
44
48
  "vePendle": "0x30c6d4e892871220B5Ab66c10db577da96Fb974b",
45
49
  "gaugeController": "0x428f2f93afAc3F96B0DE59854038c585e06165C8",
@@ -45,7 +45,7 @@
45
45
  "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
46
46
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
47
47
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
48
- "sparkLinearDiscountOracleFactory": "0xA9A924A4BB95509F77868E086154C25e934F6171",
48
+ "sparkLinearDiscountOracleFactory": "0x084ceE278DA67F2B0fead8194FFe43C566E4e0B3",
49
49
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
50
50
  "externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
51
51
  "beta": {
@@ -0,0 +1,50 @@
1
+ {
2
+ "deployer": "0x1FcCC097db89A86Bfc474A1028F93958295b1Fb7",
3
+ "network": {
4
+ "chainId": 80094,
5
+ "treasury": "0xCbcb48e22622a3778b6F14C2f5d258Ba026b05e6",
6
+ "governance": "0x7877adfaded756f3248a0ebfe8ac2e2ef87b75ac",
7
+ "devMultisig": "0x7877adfaded756f3248a0ebfe8ac2e2ef87b75ac",
8
+ "pendle": "0xFf9c599D51C407A45D631c6e89cB047Efb88AeF6",
9
+ "lzEndpoint": "0xb6319cC6c8c27A8F5dAF0dD3DF91EA35C4720dd7",
10
+ "wrappedNative": "0x6969696969696969696969696969696969696969",
11
+ "initialRewardFee": "30000000000000000",
12
+ "initialInterestFee": "30000000000000000",
13
+ "initialReserveFeePercent": "80",
14
+ "safeWaitTime": 15000,
15
+ "hardwareDeployer": "0xeea6F790F18563E91b18DF00B89d9f79b2E6761F"
16
+ },
17
+ "baseCodeSplitter": "0x4d717868F4Bd14ac8B29Bb6361901e30Ae05e340",
18
+ "PENDLE": "0xFf9c599D51C407A45D631c6e89cB047Efb88AeF6",
19
+ "governanceProxy": "0x2aD631F72fB16d91c4953A7f4260A97C2fE2f31e",
20
+ "router": "0x888888888889758F76e7103c6CbF23ABbF58F946",
21
+ "routerFacets": {
22
+ "ActionAddRemoveLiqV3": "0x663C21103915B68e9dA797CfdF3cAb01a037D5Ff",
23
+ "ActionSwapPTV3": "0xd8D200d9A713A1c71cF1e7F694B14E5F1D948b15",
24
+ "ActionSwapYTV3": "0x4a03Ce0a268951d04E187B1CF48075eE69266e27",
25
+ "ActionMiscV3": "0x373Dba2055Ad40cb4815148bC47cd1DC16e92E44",
26
+ "ActionSimple": "0x852e59252c94716F0df19B52b36512f6C9297a96",
27
+ "ActionCallbackV3": "0x7b78F36aBf6cF3C6C0dd54716dFeF0607ae17846",
28
+ "ActionStorageV4": "0xdED51dca2ECED7a0BAab3D9711A87f214769Da0f"
29
+ },
30
+ "routerStatic": "0x6813d43782395A1F2AAb42f39aeEDE03ac655e09",
31
+ "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
32
+ "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
33
+ "yieldContractFactoryV5": "0x2bEa6BfD8fbFF45aA2a893EB3B6d85D10EFcC70E",
34
+ "marketFactoryV5": "0x8A09574b0401A856d89d1b583eE22E8cb0C5530B",
35
+ "poolDeployHelperV2": "0x96F77F24b3d17166FcaF3a9E3B8330fF38B966F9",
36
+ "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
37
+ "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
38
+ "reflector": "0xFAa7aD6258b1aa40F2cC414E49033dc77183ba76",
39
+ "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
40
+ "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
41
+ "sparkLinearDiscountOracleFactory": "0x084ceE278DA67F2B0fead8194FFe43C566E4e0B3",
42
+ "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
43
+ "externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
44
+ "beta": {
45
+ "PendleChainlinkOracleFactory": "0x0000000000000000000000000000000000000000"
46
+ },
47
+ "receiverEndpoint": "0xd5C47D2383Fddc19596489280C0A33AC42b2bB18",
48
+ "vePendle": "0x6875e4A945E498FE1B90BbB13CFbAF0b68658C9C",
49
+ "gaugeController": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0",
50
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "pendleMulticallV2": "0x1ca3352a55A3D69cA8e5aB06006e08aaF2bD09f1",
3
+ "implicitSwapfeeContract": "0x82Fae57b2A79D893D88488A7D8BdF2AC6bd2C463",
4
+ "simulateHelper": "0xc23Dd2807e51dd1D317e1321CBeEb9ace98531EE",
5
+ "supplyCapReader": "0x251CfB4E84CefecA6c1e6a4D8a0cb9c524e7484f"
6
+ }
@@ -17,8 +17,6 @@
17
17
  "baseCodeSplitter": "0xf3f560164979fe7F8f3eb2b64669Eac00E7043A6",
18
18
  "PENDLE": "0xA99F6e6785Da0F5d6fB42495Fe424BCE029Eeb3E",
19
19
  "governanceProxy": "0x2aD631F72fB16d91c4953A7f4260A97C2fE2f31e",
20
- "yieldContractFactoryV5": "0x963ddBB35c1AE44e2a159E3b5fb5177E0B32660d",
21
- "marketFactoryV5": "0x59968008a703dC13E6beaECed644bdCe4ee45d13",
22
20
  "router": "0x888888888889758F76e7103c6CbF23ABbF58F946",
23
21
  "routerFacets": {
24
22
  "ActionAddRemoveLiqV3": "0x663C21103915B68e9dA797CfdF3cAb01a037D5Ff",
@@ -32,16 +30,21 @@
32
30
  "routerStatic": "0xB4205a645c7e920BD8504181B1D7f2c5C955C3e7",
33
31
  "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
34
32
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
35
- "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
36
- "receiverEndpoint": "0xeE708FC793a02F1eDd5BB9DBD7fD13010D1F7136",
33
+ "yieldContractFactoryV5": "0x963ddBB35c1AE44e2a159E3b5fb5177E0B32660d",
34
+ "marketFactoryV5": "0x59968008a703dC13E6beaECed644bdCe4ee45d13",
35
+ "poolDeployHelper": "0x8D77771fA2518474cc83a613ef3d6140A84dbe56",
37
36
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
38
37
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
39
- "vePendle": "0x051dcd6a80f11fE68F77Fb0EBdE03853FA96B1fD",
40
- "gaugeController": "0x17F100fB4bE2707675c6439468d38249DD993d58",
41
- "sparkLinearDiscountOracleFactory": "0xA9A924A4BB95509F77868E086154C25e934F6171",
38
+ "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
39
+ "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
40
+ "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
41
+ "sparkLinearDiscountOracleFactory": "0x084ceE278DA67F2B0fead8194FFe43C566E4e0B3",
42
42
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
43
43
  "externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
44
44
  "beta": {
45
45
  "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee"
46
- }
46
+ },
47
+ "receiverEndpoint": "0xeE708FC793a02F1eDd5BB9DBD7fD13010D1F7136",
48
+ "vePendle": "0x051dcd6a80f11fE68F77Fb0EBdE03853FA96B1fD",
49
+ "gaugeController": "0x17F100fB4bE2707675c6439468d38249DD993d58"
47
50
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "5.7.2",
5
+ "version": "5.8.0-bera",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -0,0 +1,203 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BytesLike,
8
+ CallOverrides,
9
+ ContractTransaction,
10
+ Overrides,
11
+ PopulatedTransaction,
12
+ Signer,
13
+ utils,
14
+ } from "ethers";
15
+ import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
16
+ import { Listener, Provider } from "@ethersproject/providers";
17
+ import type {
18
+ TypedEventFilter,
19
+ TypedEvent,
20
+ TypedListener,
21
+ OnEvent,
22
+ } from "./common";
23
+
24
+ export interface BoringOwnableUpgradeableV2Interface extends utils.Interface {
25
+ contractName: "BoringOwnableUpgradeableV2";
26
+ functions: {
27
+ "claimOwnership()": FunctionFragment;
28
+ "owner()": FunctionFragment;
29
+ "pendingOwner()": FunctionFragment;
30
+ "transferOwnership(address,bool,bool)": FunctionFragment;
31
+ };
32
+
33
+ encodeFunctionData(
34
+ functionFragment: "claimOwnership",
35
+ values?: undefined
36
+ ): string;
37
+ encodeFunctionData(functionFragment: "owner", values?: undefined): string;
38
+ encodeFunctionData(
39
+ functionFragment: "pendingOwner",
40
+ values?: undefined
41
+ ): string;
42
+ encodeFunctionData(
43
+ functionFragment: "transferOwnership",
44
+ values: [string, boolean, boolean]
45
+ ): string;
46
+
47
+ decodeFunctionResult(
48
+ functionFragment: "claimOwnership",
49
+ data: BytesLike
50
+ ): Result;
51
+ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
52
+ decodeFunctionResult(
53
+ functionFragment: "pendingOwner",
54
+ data: BytesLike
55
+ ): Result;
56
+ decodeFunctionResult(
57
+ functionFragment: "transferOwnership",
58
+ data: BytesLike
59
+ ): Result;
60
+
61
+ events: {
62
+ "Initialized(uint8)": EventFragment;
63
+ "OwnershipTransferred(address,address)": EventFragment;
64
+ };
65
+
66
+ getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
67
+ getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
68
+ }
69
+
70
+ export type InitializedEvent = TypedEvent<[number], { version: number }>;
71
+
72
+ export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
73
+
74
+ export type OwnershipTransferredEvent = TypedEvent<
75
+ [string, string],
76
+ { previousOwner: string; newOwner: string }
77
+ >;
78
+
79
+ export type OwnershipTransferredEventFilter =
80
+ TypedEventFilter<OwnershipTransferredEvent>;
81
+
82
+ export interface BoringOwnableUpgradeableV2 extends BaseContract {
83
+ contractName: "BoringOwnableUpgradeableV2";
84
+ connect(signerOrProvider: Signer | Provider | string): this;
85
+ attach(addressOrName: string): this;
86
+ deployed(): Promise<this>;
87
+
88
+ interface: BoringOwnableUpgradeableV2Interface;
89
+
90
+ queryFilter<TEvent extends TypedEvent>(
91
+ event: TypedEventFilter<TEvent>,
92
+ fromBlockOrBlockhash?: string | number | undefined,
93
+ toBlock?: string | number | undefined
94
+ ): Promise<Array<TEvent>>;
95
+
96
+ listeners<TEvent extends TypedEvent>(
97
+ eventFilter?: TypedEventFilter<TEvent>
98
+ ): Array<TypedListener<TEvent>>;
99
+ listeners(eventName?: string): Array<Listener>;
100
+ removeAllListeners<TEvent extends TypedEvent>(
101
+ eventFilter: TypedEventFilter<TEvent>
102
+ ): this;
103
+ removeAllListeners(eventName?: string): this;
104
+ off: OnEvent<this>;
105
+ on: OnEvent<this>;
106
+ once: OnEvent<this>;
107
+ removeListener: OnEvent<this>;
108
+
109
+ functions: {
110
+ claimOwnership(
111
+ overrides?: Overrides & { from?: string | Promise<string> }
112
+ ): Promise<ContractTransaction>;
113
+
114
+ owner(overrides?: CallOverrides): Promise<[string]>;
115
+
116
+ pendingOwner(overrides?: CallOverrides): Promise<[string]>;
117
+
118
+ transferOwnership(
119
+ newOwner: string,
120
+ direct: boolean,
121
+ renounce: boolean,
122
+ overrides?: Overrides & { from?: string | Promise<string> }
123
+ ): Promise<ContractTransaction>;
124
+ };
125
+
126
+ claimOwnership(
127
+ overrides?: Overrides & { from?: string | Promise<string> }
128
+ ): Promise<ContractTransaction>;
129
+
130
+ owner(overrides?: CallOverrides): Promise<string>;
131
+
132
+ pendingOwner(overrides?: CallOverrides): Promise<string>;
133
+
134
+ transferOwnership(
135
+ newOwner: string,
136
+ direct: boolean,
137
+ renounce: boolean,
138
+ overrides?: Overrides & { from?: string | Promise<string> }
139
+ ): Promise<ContractTransaction>;
140
+
141
+ callStatic: {
142
+ claimOwnership(overrides?: CallOverrides): Promise<void>;
143
+
144
+ owner(overrides?: CallOverrides): Promise<string>;
145
+
146
+ pendingOwner(overrides?: CallOverrides): Promise<string>;
147
+
148
+ transferOwnership(
149
+ newOwner: string,
150
+ direct: boolean,
151
+ renounce: boolean,
152
+ overrides?: CallOverrides
153
+ ): Promise<void>;
154
+ };
155
+
156
+ filters: {
157
+ "Initialized(uint8)"(version?: null): InitializedEventFilter;
158
+ Initialized(version?: null): InitializedEventFilter;
159
+
160
+ "OwnershipTransferred(address,address)"(
161
+ previousOwner?: string | null,
162
+ newOwner?: string | null
163
+ ): OwnershipTransferredEventFilter;
164
+ OwnershipTransferred(
165
+ previousOwner?: string | null,
166
+ newOwner?: string | null
167
+ ): OwnershipTransferredEventFilter;
168
+ };
169
+
170
+ estimateGas: {
171
+ claimOwnership(
172
+ overrides?: Overrides & { from?: string | Promise<string> }
173
+ ): Promise<BigNumber>;
174
+
175
+ owner(overrides?: CallOverrides): Promise<BigNumber>;
176
+
177
+ pendingOwner(overrides?: CallOverrides): Promise<BigNumber>;
178
+
179
+ transferOwnership(
180
+ newOwner: string,
181
+ direct: boolean,
182
+ renounce: boolean,
183
+ overrides?: Overrides & { from?: string | Promise<string> }
184
+ ): Promise<BigNumber>;
185
+ };
186
+
187
+ populateTransaction: {
188
+ claimOwnership(
189
+ overrides?: Overrides & { from?: string | Promise<string> }
190
+ ): Promise<PopulatedTransaction>;
191
+
192
+ owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
193
+
194
+ pendingOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
195
+
196
+ transferOwnership(
197
+ newOwner: string,
198
+ direct: boolean,
199
+ renounce: boolean,
200
+ overrides?: Overrides & { from?: string | Promise<string> }
201
+ ): Promise<PopulatedTransaction>;
202
+ };
203
+ }