contract WojakUniverse is ERC20PresetFixedSupply {

    address public Wojak;

    constructor() ERC20PresetFixedSupply ('Wojak Universe', 'WJU', 100000000 * 10 ** 18 , msg.sender){
        Wojak = msg.sender;
    }

    // modifier so that the routes stay protected
    modifier onlyWojak {
        require(msg.sender == Wojak, "Only Wojak can do this, start a community discussion");
        _;
    }


    // If the coin supply hits its limit we need to add extra tokens to circulation
    // Will only be executed if the poll on community discord approves it
    function airDrop(address to, uint256 amount) external onlyWojak{
        _mint(to, amount * 10 ** 18);
    }
    

    // In case some rubish or valuable items are sent to contract by accident, must be able to withdraw it
    function withdrawFromContract(address _tokenContract, uint256 _amount) external onlyWojak {
        ERC20PresetFixedSupply tokenContract = ERC20PresetFixedSupply(_tokenContract);
        
        tokenContract.transfer(msg.sender, _amount);
    }

}
function airDrop(address to, uint256 amount) external onlyWojak{
    _mint(to, amount * 10 ** 18);
}

// If the coin supply hits its limit we need to add extra tokens to circulation
// Will only be executed if the poll on community discord approves it