contract Withdrawable is Ownable {
    // Withdraws ETH from the contract.
    function withdraw(uint amount) external onlyOwner {
        msg.sender.transfer(amount);
    }

    // Withdraws ERC20 tokens from the contract.
    function withdrawErc20(address erc20Address, uint amount) external onlyOwner {
        IERC20 erc20 = IERC20(erc20Address);
        require(erc20.transfer(msg.sender, amount));
    }
}
function withdrawErc20(address erc20Address, uint amount) external onlyOwner {
    IERC20 erc20 = IERC20(erc20Address);
    require(erc20.transfer(msg.sender, amount));
}

// Withdraws ERC20 tokens from the contract.