@pendle/core-v2 0.17.0-daily → 0.17.0-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.
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.json +2 -2
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +40 -2
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.json +38 -0
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +60 -136
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
- package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +2 -2
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +1 -1
- package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +1 -1
- package/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol +2 -2
- package/contracts/LiquidityMining/libraries/WeekMath.sol +1 -1
- package/contracts/core/BulkSeller/BulkSeller.sol +10 -0
- package/contracts/interfaces/IPBulkSeller.sol +4 -0
- package/contracts/offchain-helpers/RouterStatic.sol +3 -41
- package/contracts/router/base/MarketApproxLib.sol +3 -9
- package/deployments/43113-core.json +11 -12
- package/deployments/43113-markets/USDC-FEB-2ND.json +10 -0
- package/deployments/43113-markets/WETH-FEB-2ND.json +4 -4
- package/package.json +3 -3
- package/typechain-types/BulkSeller.ts +68 -0
- package/typechain-types/IPBulkSeller.ts +68 -0
- package/typechain-types/RouterStatic.ts +5 -63
- package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
- package/typechain-types/factories/ActionCallback__factory.ts +1 -1
- package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
- package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
- package/typechain-types/factories/BulkSeller__factory.ts +39 -1
- package/typechain-types/factories/IPBulkSeller__factory.ts +38 -0
- package/typechain-types/factories/MarketMathStatic__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleRouter__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
- package/typechain-types/factories/RouterStatic__factory.ts +1 -77
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
|
@@ -49,7 +49,7 @@ abstract contract VotingControllerStorageUpg is IPVotingController {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
uint128 public constant MAX_LOCK_TIME = 104 weeks;
|
|
52
|
-
uint128 public constant WEEK = 1
|
|
52
|
+
uint128 public constant WEEK = 1 weeks;
|
|
53
53
|
uint128 public constant GOVERNANCE_PENDLE_VOTE = 10**24;
|
|
54
54
|
|
|
55
55
|
IPVeToken public immutable vePendle;
|
|
@@ -25,9 +25,9 @@ abstract contract VotingEscrowTokenBase is IPVeToken {
|
|
|
25
25
|
using VeBalanceLib for VeBalance;
|
|
26
26
|
using VeBalanceLib for LockedPosition;
|
|
27
27
|
|
|
28
|
-
uint128 public constant WEEK = 1
|
|
28
|
+
uint128 public constant WEEK = 1 weeks;
|
|
29
29
|
uint128 public constant MAX_LOCK_TIME = 104 weeks;
|
|
30
|
-
uint128 public constant MIN_LOCK_TIME = 1
|
|
30
|
+
uint128 public constant MIN_LOCK_TIME = 1 weeks;
|
|
31
31
|
|
|
32
32
|
VeBalance internal _totalSupply;
|
|
33
33
|
|
|
@@ -120,6 +120,16 @@ contract BulkSeller is IPBulkSeller, Initializable, TokenHelper, ReentrancyGuard
|
|
|
120
120
|
emit SwapExactSyForToken(receiver, exactSyIn, netTokenOut);
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
+
function calcSwapExactTokenForSy(uint256 netTokenIn) external view returns (uint256 netSyOut) {
|
|
124
|
+
assert(_storage.rateTokenToSy != 0);
|
|
125
|
+
netSyOut = netTokenIn.mulDown(_storage.rateTokenToSy);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function calcSwapExactSyForToken(uint256 netSyIn) external view returns (uint256 netTokenOut) {
|
|
129
|
+
assert(_storage.rateSyToToken != 0);
|
|
130
|
+
netTokenOut = netSyIn.mulDown(_storage.rateSyToToken);
|
|
131
|
+
}
|
|
132
|
+
|
|
123
133
|
function readState() public view returns (BulkSellerState memory state) {
|
|
124
134
|
BulkSellerStorage storage s = _storage;
|
|
125
135
|
|
|
@@ -16,6 +16,10 @@ interface IPBulkSeller {
|
|
|
16
16
|
uint256 minSyOut
|
|
17
17
|
) external returns (uint256 netSyOut);
|
|
18
18
|
|
|
19
|
+
function calcSwapExactTokenForSy(uint256 netTokenIn) external view returns (uint256 netSyOut);
|
|
20
|
+
|
|
21
|
+
function calcSwapExactSyForToken(uint256 netSyIn) external view returns (uint256 netTokenOut);
|
|
22
|
+
|
|
19
23
|
function SY() external view returns (address);
|
|
20
24
|
|
|
21
25
|
function token() external view returns (address);
|
|
@@ -20,10 +20,9 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
|
|
|
20
20
|
using Math for uint256;
|
|
21
21
|
using VeBalanceLib for VeBalance;
|
|
22
22
|
using VeBalanceLib for LockedPosition;
|
|
23
|
-
using BulkSellerMathCore for BulkSellerState;
|
|
24
23
|
|
|
25
24
|
uint128 public constant MAX_LOCK_TIME = 104 weeks;
|
|
26
|
-
uint128 public constant MIN_LOCK_TIME = 1
|
|
25
|
+
uint128 public constant MIN_LOCK_TIME = 1 weeks;
|
|
27
26
|
|
|
28
27
|
struct TokenAmount {
|
|
29
28
|
address token;
|
|
@@ -734,8 +733,7 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
|
|
|
734
733
|
address bulk
|
|
735
734
|
) public view returns (uint256 amountSy) {
|
|
736
735
|
if (bulk != address(0)) {
|
|
737
|
-
|
|
738
|
-
return state.calcSwapExactTokenForSy(amountToken);
|
|
736
|
+
return IPBulkSeller(bulk).calcSwapExactTokenForSy(amountToken);
|
|
739
737
|
} else {
|
|
740
738
|
return SY.previewDeposit(baseToken, amountToken);
|
|
741
739
|
}
|
|
@@ -748,8 +746,7 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
|
|
|
748
746
|
address bulk
|
|
749
747
|
) public view returns (uint256 amountBaseToken) {
|
|
750
748
|
if (bulk != address(0)) {
|
|
751
|
-
|
|
752
|
-
return state.calcSwapExactSyForToken(amountSy);
|
|
749
|
+
return IPBulkSeller(bulk).calcSwapExactSyForToken(amountSy);
|
|
753
750
|
} else {
|
|
754
751
|
return SY.previewRedeem(baseToken, amountSy);
|
|
755
752
|
}
|
|
@@ -861,39 +858,4 @@ contract RouterStatic is Initializable, BoringOwnableUpgradeable, UUPSUpgradeabl
|
|
|
861
858
|
}
|
|
862
859
|
}
|
|
863
860
|
}
|
|
864
|
-
|
|
865
|
-
function getBulkSellerInfo(
|
|
866
|
-
address token,
|
|
867
|
-
address SY,
|
|
868
|
-
uint256 netTokenIn,
|
|
869
|
-
uint256 netSyIn
|
|
870
|
-
)
|
|
871
|
-
external
|
|
872
|
-
view
|
|
873
|
-
returns (
|
|
874
|
-
address bulk,
|
|
875
|
-
uint256 totalToken,
|
|
876
|
-
uint256 totalSy
|
|
877
|
-
)
|
|
878
|
-
{
|
|
879
|
-
bulk = IPBulkSellerFactory(bulkFactory).get(token, SY);
|
|
880
|
-
if (bulk != address(0)) {
|
|
881
|
-
BulkSellerState memory state = IPBulkSeller(bulk).readState();
|
|
882
|
-
if (state.rateTokenToSy != 0 || state.rateSyToToken != 0) {
|
|
883
|
-
totalToken = state.totalToken;
|
|
884
|
-
totalSy = state.totalSy;
|
|
885
|
-
}
|
|
886
|
-
|
|
887
|
-
uint256 postFeeRateTokenToSy = state.rateTokenToSy.mulDown(Math.ONE - state.feeRate);
|
|
888
|
-
uint256 postFeeRateSyToToken = state.rateSyToToken.mulDown(Math.ONE - state.feeRate);
|
|
889
|
-
if (
|
|
890
|
-
netTokenIn.mulDown(postFeeRateTokenToSy) > state.totalSy ||
|
|
891
|
-
netSyIn.mulDown(postFeeRateSyToToken) > state.totalToken
|
|
892
|
-
) {
|
|
893
|
-
bulk = address(0);
|
|
894
|
-
totalToken = 0;
|
|
895
|
-
totalSy = 0;
|
|
896
|
-
}
|
|
897
|
-
}
|
|
898
|
-
}
|
|
899
861
|
}
|
|
@@ -24,8 +24,7 @@ struct ApproxParams {
|
|
|
24
24
|
|
|
25
25
|
/// for guessOffchain, this is to provide a shortcut to guessing. The offchain SDK can precalculate the exact result
|
|
26
26
|
/// before the tx is sent. When the tx reaches the contract, the guessOffchain will be checked first, and if it satisfies the
|
|
27
|
-
/// approximation, it will be used (and save all the guessing).
|
|
28
|
-
/// except in cases that there is a trade in the same market right before the tx
|
|
27
|
+
/// approximation, it will be used (and save all the guessing).
|
|
29
28
|
}
|
|
30
29
|
|
|
31
30
|
library MarketApproxPtInLib {
|
|
@@ -156,7 +155,7 @@ library MarketApproxPtInLib {
|
|
|
156
155
|
bool isAnswerAccepted = Math.isASmallerApproxB(guess, maxPtPayable, p.eps);
|
|
157
156
|
if (isAnswerAccepted) return (guess, netSyFee);
|
|
158
157
|
} else {
|
|
159
|
-
p.guessMax = guess
|
|
158
|
+
p.guessMax = guess;
|
|
160
159
|
}
|
|
161
160
|
}
|
|
162
161
|
revert Errors.ApproxFail();
|
|
@@ -725,12 +724,7 @@ library MarketApproxPtOutLib {
|
|
|
725
724
|
res.guessMax = Math.min(_approx.guessMax, maxGuessMax);
|
|
726
725
|
|
|
727
726
|
if (res.guessMin > res.guessMax)
|
|
728
|
-
revert Errors.ApproxBinarySearchInputInvalid(
|
|
729
|
-
_approx.guessMin,
|
|
730
|
-
_approx.guessMax,
|
|
731
|
-
minGuessMin,
|
|
732
|
-
maxGuessMax
|
|
733
|
-
);
|
|
727
|
+
revert Errors.ApproxBinarySearchInputInvalid(_approx.guessMin, _approx.guessMax, minGuessMin, maxGuessMax);
|
|
734
728
|
|
|
735
729
|
res.guessOffchain = _approx.guessOffchain;
|
|
736
730
|
res.maxIteration = _approx.maxIteration;
|
|
@@ -5,18 +5,17 @@
|
|
|
5
5
|
"treasury": "0x243b7CFD29AcAF9cDe98C1958902FAA3B1F095D5",
|
|
6
6
|
"governance": "0x1FcCC097db89A86Bfc474A1028F93958295b1Fb7",
|
|
7
7
|
"pendle": "0x808507121b80c02388fad14726482e061b8da827",
|
|
8
|
-
"lzEndpoint": "0x93f54D755A063cE7bB9e6Ac47Eccc8e33411d706"
|
|
9
|
-
"wrappedNative": "0xe43a7aD7C09d8fAE3ADe7361f0b847b23adD5094"
|
|
8
|
+
"lzEndpoint": "0x93f54D755A063cE7bB9e6Ac47Eccc8e33411d706"
|
|
10
9
|
},
|
|
11
|
-
"splitter": "
|
|
10
|
+
"splitter": "0x718Bfb977A2f327edC41bf8e615f1206a57F9Eea",
|
|
12
11
|
"PENDLE": "0x808507121b80c02388fad14726482e061b8da827",
|
|
13
|
-
"yieldContractFactory": "
|
|
14
|
-
"marketFactory": "
|
|
15
|
-
"bulkSellerFactory": "
|
|
16
|
-
"router": "
|
|
17
|
-
"routerStatic": "
|
|
18
|
-
"vePendle": "
|
|
19
|
-
"senderEndpoint": "
|
|
20
|
-
"votingController": "
|
|
21
|
-
"gaugeController": "
|
|
12
|
+
"yieldContractFactory": "0x56966bbe5FdC4e76febb7eb3a5E892d9c39De46c",
|
|
13
|
+
"marketFactory": "0x59cD89c89dF47BA43B134F55D2E734E03aC62871",
|
|
14
|
+
"bulkSellerFactory": "0x5e2e7Dd7364cB8b73d69A50276B7cAC5aD165420",
|
|
15
|
+
"router": "0xf637E80aEF8ed8d257d189967ADeE5C6b18Ea776",
|
|
16
|
+
"routerStatic": "0x81EAcd9D16CbA337ec35F0960468C49AD3c0Ea91",
|
|
17
|
+
"vePendle": "0x8B859D03A23Cf74f973657C8594B071dE3Bc17c4",
|
|
18
|
+
"senderEndpoint": "0x49eb5784b9D2360e123Acb8366C01A5469960D68",
|
|
19
|
+
"votingController": "0xb8Dec786A995376BDb0aeAF0D5ce9A27577495ca",
|
|
20
|
+
"gaugeController": "0xC66Bd01662E1Ab9FF0BeAd18E8b2e187ab4FaA1B"
|
|
22
21
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SY Benqi USDC",
|
|
3
|
+
"SY": "0x18a23e0a9Bf35EE15603FF38441A72D15D35B487",
|
|
4
|
+
"YT": "0x1E07Ba35866C98C60c046544b3635F63dE7FBfF2",
|
|
5
|
+
"PT": "0x27fb9d4E67E4850f605775B9E12a833c5d3D8DaD",
|
|
6
|
+
"market": "0xce7Bd6374032DbDd735F24b96a6B50f4F67fFfa3",
|
|
7
|
+
"expiry": 1675382400,
|
|
8
|
+
"scalarRoot": "62000000000000000000",
|
|
9
|
+
"initAnchor": "1012600000000000000"
|
|
10
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "SY Benqi WETH",
|
|
3
|
-
"SY": "
|
|
4
|
-
"YT": "
|
|
5
|
-
"PT": "
|
|
6
|
-
"market": "
|
|
3
|
+
"SY": "0xD1CE136Ab1A2f684e03F09A27028264d6233f70c",
|
|
4
|
+
"YT": "0x4981dC960318d7B340FE8193b97FD51db752e9Ee",
|
|
5
|
+
"PT": "0xBc89b4DEdB90223BFabde42c1A15489f3623465d",
|
|
6
|
+
"market": "0x19e6b9102966C55a9318379BC443fF5D0a97E4dE",
|
|
7
7
|
"expiry": 1675382400,
|
|
8
8
|
"scalarRoot": "62000000000000000000",
|
|
9
9
|
"initAnchor": "1012600000000000000"
|
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": "0.17.0-
|
|
5
|
+
"version": "0.17.0-testnet",
|
|
6
6
|
"homepage": "https://pendle.finance",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"pendle",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
},
|
|
45
45
|
"packageManager": "yarn@3.2.2",
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@openzeppelin/contracts": "4.7.3",
|
|
48
|
-
"@openzeppelin/contracts-upgradeable": "4.7.3"
|
|
47
|
+
"@openzeppelin/contracts": "^4.7.3",
|
|
48
|
+
"@openzeppelin/contracts-upgradeable": "^4.7.3"
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -50,6 +50,8 @@ export interface BulkSellerInterface extends utils.Interface {
|
|
|
50
50
|
functions: {
|
|
51
51
|
"SY()": FunctionFragment;
|
|
52
52
|
"_storage()": FunctionFragment;
|
|
53
|
+
"calcSwapExactSyForToken(uint256)": FunctionFragment;
|
|
54
|
+
"calcSwapExactTokenForSy(uint256)": FunctionFragment;
|
|
53
55
|
"decreaseReserve(uint256,uint256)": FunctionFragment;
|
|
54
56
|
"factory()": FunctionFragment;
|
|
55
57
|
"feeRate()": FunctionFragment;
|
|
@@ -66,6 +68,14 @@ export interface BulkSellerInterface extends utils.Interface {
|
|
|
66
68
|
|
|
67
69
|
encodeFunctionData(functionFragment: "SY", values?: undefined): string;
|
|
68
70
|
encodeFunctionData(functionFragment: "_storage", values?: undefined): string;
|
|
71
|
+
encodeFunctionData(
|
|
72
|
+
functionFragment: "calcSwapExactSyForToken",
|
|
73
|
+
values: [BigNumberish]
|
|
74
|
+
): string;
|
|
75
|
+
encodeFunctionData(
|
|
76
|
+
functionFragment: "calcSwapExactTokenForSy",
|
|
77
|
+
values: [BigNumberish]
|
|
78
|
+
): string;
|
|
69
79
|
encodeFunctionData(
|
|
70
80
|
functionFragment: "decreaseReserve",
|
|
71
81
|
values: [BigNumberish, BigNumberish]
|
|
@@ -105,6 +115,14 @@ export interface BulkSellerInterface extends utils.Interface {
|
|
|
105
115
|
|
|
106
116
|
decodeFunctionResult(functionFragment: "SY", data: BytesLike): Result;
|
|
107
117
|
decodeFunctionResult(functionFragment: "_storage", data: BytesLike): Result;
|
|
118
|
+
decodeFunctionResult(
|
|
119
|
+
functionFragment: "calcSwapExactSyForToken",
|
|
120
|
+
data: BytesLike
|
|
121
|
+
): Result;
|
|
122
|
+
decodeFunctionResult(
|
|
123
|
+
functionFragment: "calcSwapExactTokenForSy",
|
|
124
|
+
data: BytesLike
|
|
125
|
+
): Result;
|
|
108
126
|
decodeFunctionResult(
|
|
109
127
|
functionFragment: "decreaseReserve",
|
|
110
128
|
data: BytesLike
|
|
@@ -264,6 +282,16 @@ export interface BulkSeller extends BaseContract {
|
|
|
264
282
|
}
|
|
265
283
|
>;
|
|
266
284
|
|
|
285
|
+
calcSwapExactSyForToken(
|
|
286
|
+
netSyIn: BigNumberish,
|
|
287
|
+
overrides?: CallOverrides
|
|
288
|
+
): Promise<[BigNumber] & { netTokenOut: BigNumber }>;
|
|
289
|
+
|
|
290
|
+
calcSwapExactTokenForSy(
|
|
291
|
+
netTokenIn: BigNumberish,
|
|
292
|
+
overrides?: CallOverrides
|
|
293
|
+
): Promise<[BigNumber] & { netSyOut: BigNumber }>;
|
|
294
|
+
|
|
267
295
|
decreaseReserve(
|
|
268
296
|
netTokenOut: BigNumberish,
|
|
269
297
|
netSyOut: BigNumberish,
|
|
@@ -341,6 +369,16 @@ export interface BulkSeller extends BaseContract {
|
|
|
341
369
|
}
|
|
342
370
|
>;
|
|
343
371
|
|
|
372
|
+
calcSwapExactSyForToken(
|
|
373
|
+
netSyIn: BigNumberish,
|
|
374
|
+
overrides?: CallOverrides
|
|
375
|
+
): Promise<BigNumber>;
|
|
376
|
+
|
|
377
|
+
calcSwapExactTokenForSy(
|
|
378
|
+
netTokenIn: BigNumberish,
|
|
379
|
+
overrides?: CallOverrides
|
|
380
|
+
): Promise<BigNumber>;
|
|
381
|
+
|
|
344
382
|
decreaseReserve(
|
|
345
383
|
netTokenOut: BigNumberish,
|
|
346
384
|
netSyOut: BigNumberish,
|
|
@@ -414,6 +452,16 @@ export interface BulkSeller extends BaseContract {
|
|
|
414
452
|
}
|
|
415
453
|
>;
|
|
416
454
|
|
|
455
|
+
calcSwapExactSyForToken(
|
|
456
|
+
netSyIn: BigNumberish,
|
|
457
|
+
overrides?: CallOverrides
|
|
458
|
+
): Promise<BigNumber>;
|
|
459
|
+
|
|
460
|
+
calcSwapExactTokenForSy(
|
|
461
|
+
netTokenIn: BigNumberish,
|
|
462
|
+
overrides?: CallOverrides
|
|
463
|
+
): Promise<BigNumber>;
|
|
464
|
+
|
|
417
465
|
decreaseReserve(
|
|
418
466
|
netTokenOut: BigNumberish,
|
|
419
467
|
netSyOut: BigNumberish,
|
|
@@ -563,6 +611,16 @@ export interface BulkSeller extends BaseContract {
|
|
|
563
611
|
|
|
564
612
|
_storage(overrides?: CallOverrides): Promise<BigNumber>;
|
|
565
613
|
|
|
614
|
+
calcSwapExactSyForToken(
|
|
615
|
+
netSyIn: BigNumberish,
|
|
616
|
+
overrides?: CallOverrides
|
|
617
|
+
): Promise<BigNumber>;
|
|
618
|
+
|
|
619
|
+
calcSwapExactTokenForSy(
|
|
620
|
+
netTokenIn: BigNumberish,
|
|
621
|
+
overrides?: CallOverrides
|
|
622
|
+
): Promise<BigNumber>;
|
|
623
|
+
|
|
566
624
|
decreaseReserve(
|
|
567
625
|
netTokenOut: BigNumberish,
|
|
568
626
|
netSyOut: BigNumberish,
|
|
@@ -628,6 +686,16 @@ export interface BulkSeller extends BaseContract {
|
|
|
628
686
|
|
|
629
687
|
_storage(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
630
688
|
|
|
689
|
+
calcSwapExactSyForToken(
|
|
690
|
+
netSyIn: BigNumberish,
|
|
691
|
+
overrides?: CallOverrides
|
|
692
|
+
): Promise<PopulatedTransaction>;
|
|
693
|
+
|
|
694
|
+
calcSwapExactTokenForSy(
|
|
695
|
+
netTokenIn: BigNumberish,
|
|
696
|
+
overrides?: CallOverrides
|
|
697
|
+
): Promise<PopulatedTransaction>;
|
|
698
|
+
|
|
631
699
|
decreaseReserve(
|
|
632
700
|
netTokenOut: BigNumberish,
|
|
633
701
|
netSyOut: BigNumberish,
|
|
@@ -48,6 +48,8 @@ export interface IPBulkSellerInterface extends utils.Interface {
|
|
|
48
48
|
contractName: "IPBulkSeller";
|
|
49
49
|
functions: {
|
|
50
50
|
"SY()": FunctionFragment;
|
|
51
|
+
"calcSwapExactSyForToken(uint256)": FunctionFragment;
|
|
52
|
+
"calcSwapExactTokenForSy(uint256)": FunctionFragment;
|
|
51
53
|
"readState()": FunctionFragment;
|
|
52
54
|
"swapExactSyForToken(address,uint256,uint256)": FunctionFragment;
|
|
53
55
|
"swapExactTokenForSy(address,uint256,uint256)": FunctionFragment;
|
|
@@ -55,6 +57,14 @@ export interface IPBulkSellerInterface extends utils.Interface {
|
|
|
55
57
|
};
|
|
56
58
|
|
|
57
59
|
encodeFunctionData(functionFragment: "SY", values?: undefined): string;
|
|
60
|
+
encodeFunctionData(
|
|
61
|
+
functionFragment: "calcSwapExactSyForToken",
|
|
62
|
+
values: [BigNumberish]
|
|
63
|
+
): string;
|
|
64
|
+
encodeFunctionData(
|
|
65
|
+
functionFragment: "calcSwapExactTokenForSy",
|
|
66
|
+
values: [BigNumberish]
|
|
67
|
+
): string;
|
|
58
68
|
encodeFunctionData(functionFragment: "readState", values?: undefined): string;
|
|
59
69
|
encodeFunctionData(
|
|
60
70
|
functionFragment: "swapExactSyForToken",
|
|
@@ -67,6 +77,14 @@ export interface IPBulkSellerInterface extends utils.Interface {
|
|
|
67
77
|
encodeFunctionData(functionFragment: "token", values?: undefined): string;
|
|
68
78
|
|
|
69
79
|
decodeFunctionResult(functionFragment: "SY", data: BytesLike): Result;
|
|
80
|
+
decodeFunctionResult(
|
|
81
|
+
functionFragment: "calcSwapExactSyForToken",
|
|
82
|
+
data: BytesLike
|
|
83
|
+
): Result;
|
|
84
|
+
decodeFunctionResult(
|
|
85
|
+
functionFragment: "calcSwapExactTokenForSy",
|
|
86
|
+
data: BytesLike
|
|
87
|
+
): Result;
|
|
70
88
|
decodeFunctionResult(functionFragment: "readState", data: BytesLike): Result;
|
|
71
89
|
decodeFunctionResult(
|
|
72
90
|
functionFragment: "swapExactSyForToken",
|
|
@@ -111,6 +129,16 @@ export interface IPBulkSeller extends BaseContract {
|
|
|
111
129
|
functions: {
|
|
112
130
|
SY(overrides?: CallOverrides): Promise<[string]>;
|
|
113
131
|
|
|
132
|
+
calcSwapExactSyForToken(
|
|
133
|
+
netSyIn: BigNumberish,
|
|
134
|
+
overrides?: CallOverrides
|
|
135
|
+
): Promise<[BigNumber] & { netTokenOut: BigNumber }>;
|
|
136
|
+
|
|
137
|
+
calcSwapExactTokenForSy(
|
|
138
|
+
netTokenIn: BigNumberish,
|
|
139
|
+
overrides?: CallOverrides
|
|
140
|
+
): Promise<[BigNumber] & { netSyOut: BigNumber }>;
|
|
141
|
+
|
|
114
142
|
readState(
|
|
115
143
|
overrides?: CallOverrides
|
|
116
144
|
): Promise<[BulkSellerStateStructOutput]>;
|
|
@@ -134,6 +162,16 @@ export interface IPBulkSeller extends BaseContract {
|
|
|
134
162
|
|
|
135
163
|
SY(overrides?: CallOverrides): Promise<string>;
|
|
136
164
|
|
|
165
|
+
calcSwapExactSyForToken(
|
|
166
|
+
netSyIn: BigNumberish,
|
|
167
|
+
overrides?: CallOverrides
|
|
168
|
+
): Promise<BigNumber>;
|
|
169
|
+
|
|
170
|
+
calcSwapExactTokenForSy(
|
|
171
|
+
netTokenIn: BigNumberish,
|
|
172
|
+
overrides?: CallOverrides
|
|
173
|
+
): Promise<BigNumber>;
|
|
174
|
+
|
|
137
175
|
readState(overrides?: CallOverrides): Promise<BulkSellerStateStructOutput>;
|
|
138
176
|
|
|
139
177
|
swapExactSyForToken(
|
|
@@ -155,6 +193,16 @@ export interface IPBulkSeller extends BaseContract {
|
|
|
155
193
|
callStatic: {
|
|
156
194
|
SY(overrides?: CallOverrides): Promise<string>;
|
|
157
195
|
|
|
196
|
+
calcSwapExactSyForToken(
|
|
197
|
+
netSyIn: BigNumberish,
|
|
198
|
+
overrides?: CallOverrides
|
|
199
|
+
): Promise<BigNumber>;
|
|
200
|
+
|
|
201
|
+
calcSwapExactTokenForSy(
|
|
202
|
+
netTokenIn: BigNumberish,
|
|
203
|
+
overrides?: CallOverrides
|
|
204
|
+
): Promise<BigNumber>;
|
|
205
|
+
|
|
158
206
|
readState(overrides?: CallOverrides): Promise<BulkSellerStateStructOutput>;
|
|
159
207
|
|
|
160
208
|
swapExactSyForToken(
|
|
@@ -179,6 +227,16 @@ export interface IPBulkSeller extends BaseContract {
|
|
|
179
227
|
estimateGas: {
|
|
180
228
|
SY(overrides?: CallOverrides): Promise<BigNumber>;
|
|
181
229
|
|
|
230
|
+
calcSwapExactSyForToken(
|
|
231
|
+
netSyIn: BigNumberish,
|
|
232
|
+
overrides?: CallOverrides
|
|
233
|
+
): Promise<BigNumber>;
|
|
234
|
+
|
|
235
|
+
calcSwapExactTokenForSy(
|
|
236
|
+
netTokenIn: BigNumberish,
|
|
237
|
+
overrides?: CallOverrides
|
|
238
|
+
): Promise<BigNumber>;
|
|
239
|
+
|
|
182
240
|
readState(overrides?: CallOverrides): Promise<BigNumber>;
|
|
183
241
|
|
|
184
242
|
swapExactSyForToken(
|
|
@@ -201,6 +259,16 @@ export interface IPBulkSeller extends BaseContract {
|
|
|
201
259
|
populateTransaction: {
|
|
202
260
|
SY(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
203
261
|
|
|
262
|
+
calcSwapExactSyForToken(
|
|
263
|
+
netSyIn: BigNumberish,
|
|
264
|
+
overrides?: CallOverrides
|
|
265
|
+
): Promise<PopulatedTransaction>;
|
|
266
|
+
|
|
267
|
+
calcSwapExactTokenForSy(
|
|
268
|
+
netTokenIn: BigNumberish,
|
|
269
|
+
overrides?: CallOverrides
|
|
270
|
+
): Promise<PopulatedTransaction>;
|
|
271
|
+
|
|
204
272
|
readState(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
205
273
|
|
|
206
274
|
swapExactSyForToken(
|
|
@@ -814,7 +814,7 @@ export interface RouterStatic extends BaseContract {
|
|
|
814
814
|
overrides?: CallOverrides
|
|
815
815
|
): Promise<[BigNumber] & { netTokenIn: BigNumber }>;
|
|
816
816
|
|
|
817
|
-
|
|
817
|
+
getBulkSellerInfo(
|
|
818
818
|
token: string,
|
|
819
819
|
SY: string,
|
|
820
820
|
overrides?: CallOverrides
|
|
@@ -826,20 +826,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
826
826
|
}
|
|
827
827
|
>;
|
|
828
828
|
|
|
829
|
-
"getBulkSellerInfo(address,address,uint256,uint256)"(
|
|
830
|
-
token: string,
|
|
831
|
-
SY: string,
|
|
832
|
-
netTokenIn: BigNumberish,
|
|
833
|
-
netSyIn: BigNumberish,
|
|
834
|
-
overrides?: CallOverrides
|
|
835
|
-
): Promise<
|
|
836
|
-
[string, BigNumber, BigNumber] & {
|
|
837
|
-
bulk: string;
|
|
838
|
-
totalToken: BigNumber;
|
|
839
|
-
totalSy: BigNumber;
|
|
840
|
-
}
|
|
841
|
-
>;
|
|
842
|
-
|
|
843
829
|
getDefaultApproxParams(
|
|
844
830
|
overrides?: CallOverrides
|
|
845
831
|
): Promise<[ApproxParamsStructOutput]>;
|
|
@@ -1237,7 +1223,7 @@ export interface RouterStatic extends BaseContract {
|
|
|
1237
1223
|
overrides?: CallOverrides
|
|
1238
1224
|
): Promise<BigNumber>;
|
|
1239
1225
|
|
|
1240
|
-
|
|
1226
|
+
getBulkSellerInfo(
|
|
1241
1227
|
token: string,
|
|
1242
1228
|
SY: string,
|
|
1243
1229
|
overrides?: CallOverrides
|
|
@@ -1249,20 +1235,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
1249
1235
|
}
|
|
1250
1236
|
>;
|
|
1251
1237
|
|
|
1252
|
-
"getBulkSellerInfo(address,address,uint256,uint256)"(
|
|
1253
|
-
token: string,
|
|
1254
|
-
SY: string,
|
|
1255
|
-
netTokenIn: BigNumberish,
|
|
1256
|
-
netSyIn: BigNumberish,
|
|
1257
|
-
overrides?: CallOverrides
|
|
1258
|
-
): Promise<
|
|
1259
|
-
[string, BigNumber, BigNumber] & {
|
|
1260
|
-
bulk: string;
|
|
1261
|
-
totalToken: BigNumber;
|
|
1262
|
-
totalSy: BigNumber;
|
|
1263
|
-
}
|
|
1264
|
-
>;
|
|
1265
|
-
|
|
1266
1238
|
getDefaultApproxParams(
|
|
1267
1239
|
overrides?: CallOverrides
|
|
1268
1240
|
): Promise<ApproxParamsStructOutput>;
|
|
@@ -1663,7 +1635,7 @@ export interface RouterStatic extends BaseContract {
|
|
|
1663
1635
|
overrides?: CallOverrides
|
|
1664
1636
|
): Promise<BigNumber>;
|
|
1665
1637
|
|
|
1666
|
-
|
|
1638
|
+
getBulkSellerInfo(
|
|
1667
1639
|
token: string,
|
|
1668
1640
|
SY: string,
|
|
1669
1641
|
overrides?: CallOverrides
|
|
@@ -1675,20 +1647,6 @@ export interface RouterStatic extends BaseContract {
|
|
|
1675
1647
|
}
|
|
1676
1648
|
>;
|
|
1677
1649
|
|
|
1678
|
-
"getBulkSellerInfo(address,address,uint256,uint256)"(
|
|
1679
|
-
token: string,
|
|
1680
|
-
SY: string,
|
|
1681
|
-
netTokenIn: BigNumberish,
|
|
1682
|
-
netSyIn: BigNumberish,
|
|
1683
|
-
overrides?: CallOverrides
|
|
1684
|
-
): Promise<
|
|
1685
|
-
[string, BigNumber, BigNumber] & {
|
|
1686
|
-
bulk: string;
|
|
1687
|
-
totalToken: BigNumber;
|
|
1688
|
-
totalSy: BigNumber;
|
|
1689
|
-
}
|
|
1690
|
-
>;
|
|
1691
|
-
|
|
1692
1650
|
getDefaultApproxParams(
|
|
1693
1651
|
overrides?: CallOverrides
|
|
1694
1652
|
): Promise<ApproxParamsStructOutput>;
|
|
@@ -2204,20 +2162,12 @@ export interface RouterStatic extends BaseContract {
|
|
|
2204
2162
|
overrides?: CallOverrides
|
|
2205
2163
|
): Promise<BigNumber>;
|
|
2206
2164
|
|
|
2207
|
-
|
|
2165
|
+
getBulkSellerInfo(
|
|
2208
2166
|
token: string,
|
|
2209
2167
|
SY: string,
|
|
2210
2168
|
overrides?: CallOverrides
|
|
2211
2169
|
): Promise<BigNumber>;
|
|
2212
2170
|
|
|
2213
|
-
"getBulkSellerInfo(address,address,uint256,uint256)"(
|
|
2214
|
-
token: string,
|
|
2215
|
-
SY: string,
|
|
2216
|
-
netTokenIn: BigNumberish,
|
|
2217
|
-
netSyIn: BigNumberish,
|
|
2218
|
-
overrides?: CallOverrides
|
|
2219
|
-
): Promise<BigNumber>;
|
|
2220
|
-
|
|
2221
2171
|
getDefaultApproxParams(overrides?: CallOverrides): Promise<BigNumber>;
|
|
2222
2172
|
|
|
2223
2173
|
getExchangeRate(
|
|
@@ -2566,20 +2516,12 @@ export interface RouterStatic extends BaseContract {
|
|
|
2566
2516
|
overrides?: CallOverrides
|
|
2567
2517
|
): Promise<PopulatedTransaction>;
|
|
2568
2518
|
|
|
2569
|
-
|
|
2519
|
+
getBulkSellerInfo(
|
|
2570
2520
|
token: string,
|
|
2571
2521
|
SY: string,
|
|
2572
2522
|
overrides?: CallOverrides
|
|
2573
2523
|
): Promise<PopulatedTransaction>;
|
|
2574
2524
|
|
|
2575
|
-
"getBulkSellerInfo(address,address,uint256,uint256)"(
|
|
2576
|
-
token: string,
|
|
2577
|
-
SY: string,
|
|
2578
|
-
netTokenIn: BigNumberish,
|
|
2579
|
-
netSyIn: BigNumberish,
|
|
2580
|
-
overrides?: CallOverrides
|
|
2581
|
-
): Promise<PopulatedTransaction>;
|
|
2582
|
-
|
|
2583
2525
|
getDefaultApproxParams(
|
|
2584
2526
|
overrides?: CallOverrides
|
|
2585
2527
|
): Promise<PopulatedTransaction>;
|