diff --git a/contracts/staking/Vester.sol b/contracts/staking/Vester.sol index a5a54e5..81ef8f2 100644 --- a/contracts/staking/Vester.sol +++ b/contracts/staking/Vester.sol @@ -38,8 +38,6 @@ contract Vester is IVester, IERC20, ReentrancyGuard, Governable { // 最后claim的时间 mapping(address account => uint256 time) public lastVestingTimes; - mapping(address account => uint256 amount) public override transferredAverageStakedAmounts; - mapping(address account => uint256 amount) public override transferredCumulativeRewards; mapping(address account => uint256 amount) public override cumulativeRewardDeductions; mapping(address account => uint256 amount) public override bonusRewards; @@ -124,33 +122,6 @@ contract Vester is IVester, IERC20, ReentrancyGuard, Governable { emit Withdraw(account, claimedAmount, balance); } - function transferStakeValues(address _sender, address _receiver) external override nonReentrant { - _validateHandler(); - - transferredAverageStakedAmounts[_receiver] = getCombinedAverageStakedAmount(_sender); - transferredAverageStakedAmounts[_sender] = 0; - - uint256 transferredCumulativeReward = transferredCumulativeRewards[_sender]; - uint256 cumulativeReward = hasRewardTracker() ? IRewardTracker(rewardTracker).cumulativeRewards(_sender) : 0; - - transferredCumulativeRewards[_receiver] = transferredCumulativeReward + cumulativeReward; - cumulativeRewardDeductions[_sender] = cumulativeReward; - transferredCumulativeRewards[_sender] = 0; - - bonusRewards[_receiver] = bonusRewards[_sender]; - bonusRewards[_sender] = 0; - } - - function setTransferredAverageStakedAmounts(address _account, uint256 _amount) external override nonReentrant { - _validateHandler(); - transferredAverageStakedAmounts[_account] = _amount; - } - - function setTransferredCumulativeRewards(address _account, uint256 _amount) external override nonReentrant { - _validateHandler(); - transferredCumulativeRewards[_account] = _amount; - } - function setCumulativeRewardDeductions(address _account, uint256 _amount) external override nonReentrant { _validateHandler(); cumulativeRewardDeductions[_account] = _amount; @@ -161,12 +132,8 @@ contract Vester is IVester, IERC20, ReentrancyGuard, Governable { bonusRewards[_account] = _amount; } - - function getMaxVestableAmount(address _account) public view override returns (uint256) { - uint256 transferredCumulativeReward = transferredCumulativeRewards[_account]; - uint256 bonusReward = bonusRewards[_account]; - uint256 maxVestableAmount = transferredCumulativeReward + bonusReward; + uint256 maxVestableAmount = bonusRewards[_account]; if (hasRewardTracker()) { uint256 cumulativeReward = IRewardTracker(rewardTracker).cumulativeRewards(_account); @@ -186,22 +153,13 @@ contract Vester is IVester, IERC20, ReentrancyGuard, Governable { if (!hasRewardTracker()) { return 0; } - + uint256 cumulativeReward = IRewardTracker(rewardTracker).cumulativeRewards(_account); - uint256 transferredCumulativeReward = transferredCumulativeRewards[_account]; - uint256 totalCumulativeReward = cumulativeReward + transferredCumulativeReward; - if (totalCumulativeReward == 0) { + if (cumulativeReward == 0) { return 0; } - uint256 averageStakedAmount = IRewardTracker(rewardTracker).averageStakedAmounts(_account); - uint256 transferredAverageStakedAmount = transferredAverageStakedAmounts[_account]; - - return - (averageStakedAmount * cumulativeReward) / - totalCumulativeReward + - (transferredAverageStakedAmount * transferredCumulativeReward) / - totalCumulativeReward; + return IRewardTracker(rewardTracker).averageStakedAmounts(_account); } function getPairAmount(address _account, uint256 _esAmount) public view returns (uint256) { diff --git a/contracts/staking/interfaces/IVester.sol b/contracts/staking/interfaces/IVester.sol index 3cf995a..dcc60aa 100644 --- a/contracts/staking/interfaces/IVester.sol +++ b/contracts/staking/interfaces/IVester.sol @@ -11,14 +11,9 @@ interface IVester { function claimedAmounts(address _account) external view returns (uint256); function pairAmounts(address _account) external view returns (uint256); function getVestedAmount(address _account) external view returns (uint256); - function transferredAverageStakedAmounts(address _account) external view returns (uint256); - function transferredCumulativeRewards(address _account) external view returns (uint256); function cumulativeRewardDeductions(address _account) external view returns (uint256); function bonusRewards(address _account) external view returns (uint256); - function transferStakeValues(address _sender, address _receiver) external; - function setTransferredAverageStakedAmounts(address _account, uint256 _amount) external; - function setTransferredCumulativeRewards(address _account, uint256 _amount) external; function setCumulativeRewardDeductions(address _account, uint256 _amount) external; function setBonusRewards(address _account, uint256 _amount) external; diff --git a/test/testVester.ts b/test/testVester.ts index 8c7634f..8d488c3 100644 --- a/test/testVester.ts +++ b/test/testVester.ts @@ -49,32 +49,6 @@ describe("Vester", function () { expect(await vester.hasRewardTracker()).eq(false); }); - it("setTransferredAverageStakedAmounts", async () => { - const {owner, otherAccount, cec, esCec, vester} = await loadFixture(deployOneContract); - - await expect(vester.setTransferredAverageStakedAmounts(owner.address, 200)).to.be.revertedWith( - "Vester: forbidden", - ); - - await vester.setHandler(owner.address, true); - - expect(await vester.transferredAverageStakedAmounts(owner.address)).eq(0); - await vester.setTransferredAverageStakedAmounts(owner.address, 200); - expect(await vester.transferredAverageStakedAmounts(owner.address)).eq(200); - }); - - it("setTransferredCumulativeRewards", async () => { - const {owner, otherAccount, cec, esCec, vester} = await loadFixture(deployOneContract); - - await expect(vester.setTransferredCumulativeRewards(owner.address, 200)).to.be.revertedWith("Vester: forbidden"); - - await vester.setHandler(owner.address, true); - - expect(await vester.transferredCumulativeRewards(owner.address)).eq(0); - await vester.setTransferredCumulativeRewards(owner.address, 200); - expect(await vester.transferredCumulativeRewards(owner.address)).eq(200); - }); - it("setCumulativeRewardDeductions", async () => { const {owner, otherAccount, cec, esCec, vester} = await loadFixture(deployOneContract); await expect(vester.setCumulativeRewardDeductions(owner.address, 200)).to.be.revertedWith("Vester: forbidden");