移除vester合约中与转换所有权相关的方法
This commit is contained in:
parent
c9fd704e37
commit
8d32e0c1a8
@ -38,8 +38,6 @@ contract Vester is IVester, IERC20, ReentrancyGuard, Governable {
|
|||||||
// 最后claim的时间
|
// 最后claim的时间
|
||||||
mapping(address account => uint256 time) public lastVestingTimes;
|
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 cumulativeRewardDeductions;
|
||||||
mapping(address account => uint256 amount) public override bonusRewards;
|
mapping(address account => uint256 amount) public override bonusRewards;
|
||||||
|
|
||||||
@ -124,33 +122,6 @@ contract Vester is IVester, IERC20, ReentrancyGuard, Governable {
|
|||||||
emit Withdraw(account, claimedAmount, balance);
|
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 {
|
function setCumulativeRewardDeductions(address _account, uint256 _amount) external override nonReentrant {
|
||||||
_validateHandler();
|
_validateHandler();
|
||||||
cumulativeRewardDeductions[_account] = _amount;
|
cumulativeRewardDeductions[_account] = _amount;
|
||||||
@ -161,12 +132,8 @@ contract Vester is IVester, IERC20, ReentrancyGuard, Governable {
|
|||||||
bonusRewards[_account] = _amount;
|
bonusRewards[_account] = _amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function getMaxVestableAmount(address _account) public view override returns (uint256) {
|
function getMaxVestableAmount(address _account) public view override returns (uint256) {
|
||||||
uint256 transferredCumulativeReward = transferredCumulativeRewards[_account];
|
uint256 maxVestableAmount = bonusRewards[_account];
|
||||||
uint256 bonusReward = bonusRewards[_account];
|
|
||||||
uint256 maxVestableAmount = transferredCumulativeReward + bonusReward;
|
|
||||||
|
|
||||||
if (hasRewardTracker()) {
|
if (hasRewardTracker()) {
|
||||||
uint256 cumulativeReward = IRewardTracker(rewardTracker).cumulativeRewards(_account);
|
uint256 cumulativeReward = IRewardTracker(rewardTracker).cumulativeRewards(_account);
|
||||||
@ -186,22 +153,13 @@ contract Vester is IVester, IERC20, ReentrancyGuard, Governable {
|
|||||||
if (!hasRewardTracker()) {
|
if (!hasRewardTracker()) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint256 cumulativeReward = IRewardTracker(rewardTracker).cumulativeRewards(_account);
|
uint256 cumulativeReward = IRewardTracker(rewardTracker).cumulativeRewards(_account);
|
||||||
uint256 transferredCumulativeReward = transferredCumulativeRewards[_account];
|
if (cumulativeReward == 0) {
|
||||||
uint256 totalCumulativeReward = cumulativeReward + transferredCumulativeReward;
|
|
||||||
if (totalCumulativeReward == 0) {
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint256 averageStakedAmount = IRewardTracker(rewardTracker).averageStakedAmounts(_account);
|
return IRewardTracker(rewardTracker).averageStakedAmounts(_account);
|
||||||
uint256 transferredAverageStakedAmount = transferredAverageStakedAmounts[_account];
|
|
||||||
|
|
||||||
return
|
|
||||||
(averageStakedAmount * cumulativeReward) /
|
|
||||||
totalCumulativeReward +
|
|
||||||
(transferredAverageStakedAmount * transferredCumulativeReward) /
|
|
||||||
totalCumulativeReward;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPairAmount(address _account, uint256 _esAmount) public view returns (uint256) {
|
function getPairAmount(address _account, uint256 _esAmount) public view returns (uint256) {
|
||||||
|
@ -11,14 +11,9 @@ interface IVester {
|
|||||||
function claimedAmounts(address _account) external view returns (uint256);
|
function claimedAmounts(address _account) external view returns (uint256);
|
||||||
function pairAmounts(address _account) external view returns (uint256);
|
function pairAmounts(address _account) external view returns (uint256);
|
||||||
function getVestedAmount(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 cumulativeRewardDeductions(address _account) external view returns (uint256);
|
||||||
function bonusRewards(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 setCumulativeRewardDeductions(address _account, uint256 _amount) external;
|
||||||
function setBonusRewards(address _account, uint256 _amount) external;
|
function setBonusRewards(address _account, uint256 _amount) external;
|
||||||
|
|
||||||
|
@ -49,32 +49,6 @@ describe("Vester", function () {
|
|||||||
expect(await vester.hasRewardTracker()).eq(false);
|
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 () => {
|
it("setCumulativeRewardDeductions", async () => {
|
||||||
const {owner, otherAccount, cec, esCec, vester} = await loadFixture(deployOneContract);
|
const {owner, otherAccount, cec, esCec, vester} = await loadFixture(deployOneContract);
|
||||||
await expect(vester.setCumulativeRewardDeductions(owner.address, 200)).to.be.revertedWith("Vester: forbidden");
|
await expect(vester.setCumulativeRewardDeductions(owner.address, 200)).to.be.revertedWith("Vester: forbidden");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user