SHA256
ESP32 wallet RPC, browser wallet provider, and side panel
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# ESP32 выбор кошелька и wallet RPC для browser extension
|
||||
|
||||
- краткое описание:
|
||||
- в ESP32 заменён домашний блок `баланс + QR` на единый вход в экран кошелька;
|
||||
- добавлен выбор активного кошелька `DeviceKey / RootKey / Custom`;
|
||||
- для browser extension добавлен первый RPC `get_wallet_public_key` через существующий `wallet-session` и `CallSignalToSession`;
|
||||
- в popup расширения добавлен запрос текущего кошелька и копирование `publicKeyBase58`.
|
||||
|
||||
- что проверять:
|
||||
- на ESP32 после ввода секрета на главном экране видна кнопка `Кошелёк: ...`;
|
||||
- экран `WALLET` открывается и показывает текущий тип кошелька;
|
||||
- экран `WALLET_SELECT` переключает `DeviceKey`, `RootKey` и `Custom`;
|
||||
- для `Custom` открывается ввод имени и после сохранения derivation работает;
|
||||
- `Показать баланс кошелька` читает баланс именно активного кошелька;
|
||||
- `Показать QR-код кошелька` показывает QR и адрес именно активного кошелька;
|
||||
- browser extension после подключения wallet-session может запросить текущий кошелёк у ESP32;
|
||||
- extension показывает тип кошелька, полный `publicKeyBase58`, результат проверки через PDA и копирует ключ в буфер;
|
||||
- для `dev.key` и `root.key` проверка через PDA даёт ожидаемое совпадение.
|
||||
|
||||
- ожидаемый результат:
|
||||
- активный кошелёк на ESP32 реально влияет на баланс, QR и ответ `get_wallet_public_key`;
|
||||
- browser extension получает ответ без ручного ввода `walletSelector`;
|
||||
- homeserver выбирается из опубликованных в PDA sessions и запрос приходит в нужное устройство;
|
||||
- копирование ключа из extension работает.
|
||||
|
||||
- статус:
|
||||
- pending
|
||||
@@ -0,0 +1,18 @@
|
||||
# ESP32 English UI and trusted login fix
|
||||
|
||||
- Краткое описание:
|
||||
переведён экранный UI ESP32 homeserver на английский язык; добавлена локальная инструкция для AGENTS по ограничению кириллицы; исправлено падение `StartTrustedDeviceLogin`, когда у пользователя ещё нет записи `esp_pairing_settings`.
|
||||
|
||||
- Что проверять:
|
||||
1. На ESP32 открыть `HOME`, `WALLET`, `SELECT WALLET`, `WALLET QR` и убедиться, что пользовательские строки на экране только на английском.
|
||||
2. Проверить сценарий выбора `DeviceKey`, `RootKey`, `Custom` и чтение баланса/QR после переключения.
|
||||
3. В расширении открыть popup, запустить `Подключить` для логина, у которого ещё не настраивался trusted-device login.
|
||||
4. Убедиться, что `StartTrustedDeviceLogin` больше не падает с `NullPointerException`.
|
||||
5. После создания pairing-запроса проверить, что homeserver/UI может его увидеть и обработать как раньше.
|
||||
|
||||
- Ожидаемый результат:
|
||||
- ESP32 UI читается на устройстве без кириллических строк.
|
||||
- Подключение через trusted-device login стартует без server-side `INTERNAL_HANDLER_ERROR`, даже если настройки pairing ещё ни разу не сохранялись.
|
||||
|
||||
- Статус:
|
||||
`pending`
|
||||
@@ -0,0 +1,20 @@
|
||||
# Browser wallet side panel
|
||||
|
||||
- Краткое описание:
|
||||
browser extension `SHiNE Wallet` переведён с toolbar popup на штатный Chromium side panel.
|
||||
|
||||
- Что проверять:
|
||||
1. Перезагрузить unpacked extension в Chromium-браузере.
|
||||
2. Нажать на иконку `SHiNE Wallet` в toolbar.
|
||||
3. Убедиться, что открывается side panel, а не всплывающий popup.
|
||||
4. Проверить, что панель можно держать открытой при навигации по сайтам.
|
||||
5. Проверить сценарии `Подключить`, `Отключить`, `Обновить устройства`, `Запросить кошелёк`.
|
||||
6. Проверить, что сторона панели управляется браузером, а UI корректно выглядит и слева, и справа.
|
||||
|
||||
- Ожидаемый результат:
|
||||
- расширение открывается в штатной боковой панели Chromium;
|
||||
- UI работает так же, как раньше в popup;
|
||||
- панель остаётся доступной как постоянная колонка браузера.
|
||||
|
||||
- Статус:
|
||||
`pending`
|
||||
@@ -0,0 +1,23 @@
|
||||
# Wallet provider and ESP sign_transaction
|
||||
|
||||
- Краткое описание:
|
||||
browser extension `SHiNE Wallet` теперь внедряет `window.solana` для сайтов и умеет выполнять `connect` и `signTransaction`; подпись транзакции уходит на ESP32 через wallet RPC `sign_transaction`, а подтверждение делается на устройстве.
|
||||
|
||||
- Что проверять:
|
||||
1. Перезагрузить unpacked extension в Chromium.
|
||||
2. Открыть сайт/тестовую страницу, которая вызывает `window.solana.connect()`.
|
||||
3. Подтвердить подключение кошелька и убедиться, что сайт получает публичный ключ.
|
||||
4. Открыть сайт/тестовую страницу, которая вызывает `window.solana.signTransaction(...)`.
|
||||
5. Убедиться, что на ESP32 открывается экран `SIGN REQUEST` с комментарием.
|
||||
6. Проверить оба варианта:
|
||||
- `APPROVE` возвращает сайту подписанную транзакцию;
|
||||
- `REJECT` возвращает отказ.
|
||||
7. Проверить сценарии для `DeviceKey`, `RootKey`, `Custom`.
|
||||
|
||||
- Ожидаемый результат:
|
||||
- сайт может подключить кошелёк через provider расширения;
|
||||
- транзакция подписывается только после подтверждения на ESP32;
|
||||
- отказ на ESP32 корректно доходит до сайта.
|
||||
|
||||
- Статус:
|
||||
`pending`
|
||||
Reference in New Issue
Block a user