Files
test-front/TASK-diag-connect.md

2.3 KiB
Raw Permalink Blame History

TASK — Усилить диагностику при connect() к Phantom

Репозиторий: test-front, файл index.html.

Задача

При клике «Подключить Phantom» (connect(), стока 103-108) Phantom бросает generic «Unexpected error». Нужно вытащить настоящую ошибку, чтобы понять причину (сеть/кластер/конфиг Phantom).

Что сделать (только index.html, connect() и getProvider)

  1. ОБЕРНУТЬ точку ошибки: вместо log.err('connect: '+e.message) логировать БОЛЬШЕ:

    • e.message
    • JSON.stringify(e) (если сериализуется) — обернуть в try
    • e.toString()
    • стек: e.stack если есть Разделить в лог как несколько строк / один блок.
  2. В getProvider: вернуть не только window.solana, но и версию Phantom и доступные методы (чтобы понять, что Phantom умеет):

    • если w.solana: залогировать typeof w.solana.connect, typeof w.solana.signTransaction, typeof w.solana.isConnected, w.solana перечислить ключи (только названия). Это не сломает — просто диагностический вывод в лог при подключении.
  3. НЕ менять логику (не «чинить») — только ЛОГИРОВАТЬ детали, чтобы прислать пользователю полную картину. Это диагностика.

Гейт

  • JS-синтаксис валиден (node --check извлечённого script).
  • Страница открывается.

НЕ делать

  • Не менять ставку/балансы/swap.
  • Не виполнять Phantom насильно.
  • Не коммитить.

Результат

Пользователь обновит страницу, нажмёт «Подключить», в логе увидит ПОЛНУЮ ошибку (не только «Unexpected error»), скопирует и пришлёт нам. Из неё станет ясна причина.