SGT holders only with a SGTLimit per SGT

This commit is contained in:
Jordi Baylina 2017-06-14 16:56:45 +02:00
parent 292f89b0c9
commit b891a91c5e
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);