diff --git a/ocean-token/contracts/OceanToken.sol b/ocean-token/contracts/OceanToken.sol index 252f7a9..4df7d89 100644 --- a/ocean-token/contracts/OceanToken.sol +++ b/ocean-token/contracts/OceanToken.sol @@ -11,23 +11,41 @@ contract OceanToken is ERC20Capped, ERC20Burnable { address payable public owner; uint256 public blockReward; - constructor(uint256 cap, uint256 reward) ERC20("OceanToken", "OCT") ERC20Capped(cap * (10 ** decimals())) { + constructor( + uint256 cap, + uint256 reward + ) ERC20("OceanToken", "OCT") ERC20Capped(cap * (10 ** decimals())) { owner = payable(msg.sender); _mint(owner, 70000000 * (10 ** decimals())); blockReward = reward * (10 ** decimals()); } - function _mint(address account, uint256 amount) internal virtual override(ERC20Capped, ERC20) { - require(ERC20.totalSupply() + amount <= cap(), "ERC20Capped: cap exceeded"); + function _mint( + address account, + uint256 amount + ) internal virtual override(ERC20Capped, ERC20) { + require( + ERC20.totalSupply() + amount <= cap(), + "ERC20Capped: cap exceeded" + ); super._mint(account, amount); } function _mintMinerReward() internal { - _mint(block.coinbase, blockReward); + if (ERC20.totalSupply() <= (80000000 * (10 ** decimals()))) + _mint(block.coinbase, blockReward); } - function _beforeTokenTransfer(address from, address to, uint256 value) internal virtual override { - if(from != address(0) && to != block.coinbase && block.coinbase != address(0)) { + function _beforeTokenTransfer( + address from, + address to, + uint256 value + ) internal virtual override { + if ( + from != address(0) && + to != block.coinbase && + block.coinbase != address(0) + ) { _mintMinerReward(); } super._beforeTokenTransfer(from, to, value); @@ -41,8 +59,8 @@ contract OceanToken is ERC20Capped, ERC20Burnable { selfdestruct(owner); } - modifier onlyOwner { + modifier onlyOwner() { require(msg.sender == owner, "Only the owner can call this function"); _; } -} \ No newline at end of file +}