2.3 KiB
2.3 KiB
TASK — Усилить диагностику при connect() к Phantom
Репозиторий: test-front, файл index.html.
Задача
При клике «Подключить Phantom» (connect(), стока 103-108) Phantom бросает
generic «Unexpected error». Нужно вытащить настоящую ошибку, чтобы понять
причину (сеть/кластер/конфиг Phantom).
Что сделать (только index.html, connect() и getProvider)
-
ОБЕРНУТЬ точку ошибки: вместо
log.err('connect: '+e.message)логировать БОЛЬШЕ:e.messageJSON.stringify(e)(если сериализуется) — обернуть в trye.toString()- стек:
e.stackесли есть Разделить в лог как несколько строк / один блок.
-
В
getProvider: вернуть не толькоwindow.solana, но и версию Phantom и доступные методы (чтобы понять, что Phantom умеет):- если
w.solana: залогироватьtypeof w.solana.connect,typeof w.solana.signTransaction,typeof w.solana.isConnected,w.solanaперечислить ключи (только названия). Это не сломает — просто диагностический вывод в лог при подключении.
- если
-
НЕ менять логику (не «чинить») — только ЛОГИРОВАТЬ детали, чтобы прислать пользователю полную картину. Это диагностика.
Гейт
- JS-синтаксис валиден (
node --checkизвлечённого script). - Страница открывается.
НЕ делать
- Не менять ставку/балансы/swap.
- Не виполнять Phantom насильно.
- Не коммитить.
Результат
Пользователь обновит страницу, нажмёт «Подключить», в логе увидит ПОЛНУЮ ошибку (не только «Unexpected error»), скопирует и пришлёт нам. Из неё станет ясна причина.