Ты прав, и я зря сказала «такого перебора у нас нет» — он есть. Нашла в коде: на Swap выбор токена рисуется из общего списка токенов с балансами, отсортированными по стоимости, с иконками и поиском по имени/адресу. Балансы читает общая функция чтения балансов кошелька со своим кэшем — ровно то, что нужно Zap.
Значит вторую механику писать не надо: переиспользую эту же — модалка со списком «сначала то, что у тебя есть, с суммами», плюс поиск. Моё дополнение останется только одно: если токена нет в нашем списке, добираю его по адресу или символу у Enso, чтобы «любой токен» не упирался в наш перечень.
Делаю и приношу скрин.