function withdraw(address token, uint256 value) public {
    require(supported[token], "Token is not supported");
    _burn(msg.sender, value);
    require(IERC20(token).transfer(msg.sender, value), "Failed to transfer token to user for withdraw");
    emit Withdraw(token, msg.sender, value);
  }