Direct Iran-Israel war could spike oil by $30 to $40, Bank of America says