VotePower
contract SquareWhitelistPower is IVotePower, OwnableUpgradeable {
mapping(address => bool) public whitelist;
function __SquareWhitelistPower_init() external initializer {
__Ownable_init();
}
function transformVotes(
address user,
uint256 votes
) public view override returns (uint256 resultingVotes) {
return whitelist[user] ? votes * votes : votes;
}
function transformVotesFull(
address user,
uint256 votes,
uint256,
uint256,
uint256
) external view override returns (uint256 resultingVotes) {
return transformVotes(user, votes);
}
function addToWhitelist(address user) external onlyOwner {
whitelist[user] = true;
}
function removeFromWhitelist(address user) external onlyOwner {
delete whitelist[user];
}
function getVotesRatio(address) external pure override returns (uint256 votesRatio) {
return PRECISION;
}
}Last updated

