Merge pull request #80 from status-im/sgtLimit

First Ceiling SGT Holders up to limit
This commit is contained in:
Jarrad 2017-06-14 23:15:23 +08:00 committed by GitHub
commit 2e7913d576
2 changed files with 12 additions and 1 deletions

View File

@ -40,6 +40,7 @@ contract StatusContribution is Owned, TokenController {
uint256 constant public failSafe = 300000 ether;
uint256 constant public exchangeRate = 10000;
uint256 constant public maxGasPrice = 50000000000;
uint256 constant public limitSGT = 30 ether;
MiniMeToken public SGT;
MiniMeToken public SNT;
@ -58,6 +59,7 @@ contract StatusContribution is Owned, TokenController {
mapping (address => uint256) public guaranteedBuyersLimit;
mapping (address => uint256) public guaranteedBuyersBought;
mapping (address => uint256) public sgtCollected;
uint256 public totalGuaranteedCollected;
uint256 public totalNormalCollected;
@ -214,6 +216,15 @@ contract StatusContribution is Owned, TokenController {
toFund = toCollect;
}
uint256 currentIndex = dynamicCeiling.currentIndex();
if (currentIndex == 0) {
require(SGT.balanceOf(_th) > 0);
if (sgtCollected[_th].add(toFund) > limitSGT) {
toFund = limitSGT.sub(sgtCollected[_th]);
}
sgtCollected[_th] = sgtCollected[_th].add(toFund);
}
totalNormalCollected = totalNormalCollected.add(toFund);
doBuy(_th, toFund, false);
}

View File

@ -193,7 +193,7 @@ contract("DynamicCeiling", (accounts) => {
web3.sha3("pwd0"),
web3.sha3("pwd1"),
web3.sha3("pwd2"),
],
]
);
assert.equal(await dynamicCeiling.currentIndex(), 0);