contract ZippieAccountERC20 {
  address private owner;

  constructor() {
    owner = msg.sender; // Zippie Wallet
  }

  /**
    * @dev Approve owner to send a specific ERC20 token (max 2^256)
    * @param token token to be approved
    */
  function flushETHandTokens(address token, address payable to) public {
    require(msg.sender == owner);
    IERC20(token).transfer(to, IERC20(token).balanceOf(address(this)));
    selfdestruct(to); // Sponsor (any available ETH will be sent here)
  }
  
  function flushETH(address payable to) public {
    require(msg.sender == owner);
    selfdestruct(to); // Sponsor (any available ETH will be sent here)
  }
}
function flushETHandTokens(address token, address payable to) public {
  require(msg.sender == owner);
  IERC20(token).transfer(to, IERC20(token).balanceOf(address(this)));
  selfdestruct(to); // Sponsor (any available ETH will be sent here)
}

/**
 * @dev Approve owner to send a specific ERC20 token (max 2^256)
 * @param token token to be approved
 */