contract TransferProxy is Ownable {
    using SafeERC20 for ERC20;

    ERC20 public token;
    address public delegate;

    constructor() public {
        owner = msg.sender;
        token = ERC20(0xf8b358b3397a8ea5464f8cc753645d42e14b79EA);
    }
    
    function setDelegateWallet(address wallet) public {
        require(msg.sender == owner);
        require(wallet != 0x0);
        
        delegate = wallet;
    }

    function transferToken(address sendTo, uint256 amount) public {
        require(msg.sender == owner || msg.sender == delegate);
        token.safeTransfer(sendTo, amount);
    }

    /**
     * Remove the contract.
     */
    function done() public onlyOwner {
        require(token.balanceOf(address(this)) == 0);
        selfdestruct(owner);
    }
}
function done() public onlyOwner {
    require(token.balanceOf(address(this)) == 0);
    selfdestruct(owner);
}

/**
 * Remove the contract.
 */