There's moreā€¦

Cap restrictions can be added to each individual also, and this allows the owner to have more control. To do this, create a mapping that stores the address as the key and cap as the value. Creating a mapping for contributions is also required:

mapping(address => uint256) public contributions; 
mapping(address => uint256) public caps;

Verify the individual cap for every token purchase to restrict users:

require(contributions[_beneficiary].add(_weiAmount) <= caps[_beneficiary]);

Create read-only methods for reading both the contributions and caps of an individual user:

function getUserCap(address _beneficiary) public 
view returns (uint256) {
return caps[_beneficiary];
}

function getUserContribution(address _beneficiary) public
view returns (uint256) {
return contributions[_beneficiary];
}

Create setter functions for creating user restrictions. You can also create a batch function, which accepts multiple addresses and caps for easier assignment:

function setUserCap(address _beneficiary, uint256 _cap) 
external onlyOwner {
caps[_beneficiary] = _cap;
}

function setGroupCap( address[] _beneficiaries, uint256 _cap )
external onlyOwner {
for (uint256 i = 0; i < _beneficiaries.length; i++) {
caps[_beneficiaries[i]] = _cap;
}
}
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.152.198