Skip to content

feat: route OneKey desktop channel via HWI sidecar#97

Draft
wabicai wants to merge 10 commits intoKeeperCommunity:mainfrom
wabicai:feat/onekey-desktop-channel
Draft

feat: route OneKey desktop channel via HWI sidecar#97
wabicai wants to merge 10 commits intoKeeperCommunity:mainfrom
wabicai:feat/onekey-desktop-channel

Conversation

@wabicai
Copy link

@wabicai wabicai commented Feb 24, 2026

Background

This PR routes OneKey through the unified desktop chain:

bitcoin-keeper -> keeper-desktop -> HWI sidecar -> OneKey

and aligns OneKey behavior with Trezor-style capability boundaries.

What changed

  • Removed OneKey WebUSB fallback path in desktop frontend; OneKey now relies on HWI sidecar only.
  • Kept connect / verify-address / signing flows enabled through desktop channel.
  • Blocked OneKey multisig registration path in desktop channel flow (Trezor-aligned behavior boundary).
  • Updated OneKey device metadata/UI assets/copy to match sidecar-based flow.

PIN interaction split by OneKey model (new)

To align with real OneKey device behavior and hardware-js-sdk model grouping:

  • classic / classic1s / classicpure => host PIN matrix flow (promptpin + sendpin) via modal input.
  • pro / touch => on-device PIN flow (desktop shows waiting modal, user unlocks on device, then continue).

Implementation details:

  • Added model-based PIN routing in connect flow.
  • Added OneKeyPinModal for on-device PIN confirmation flow.
  • Updated host PIN modal to be device-type aware (removed hardcoded trezor fetch/set-client path after sendpin).

Dependency

Validation

Local project checks:

  • npm run lint
  • npm run build
  • cd src-tauri && cargo check

Upstream HWI real-device validation (documented in HWI PR #826):

  • enumerate/path discovery
  • xpub/getmasterxpub
  • getdescriptors/getkeypool
  • displayaddress (legacy/sh_wit/wit/tap)
  • signmessage
  • signtx (negative + positive cases)
  • error-path checks

Desktop manual regression checklist (real devices):

  • OneKey Classic/Classic1S/Classic Pure: verify host PIN modal path and successful unlock.
  • OneKey Pro: verify on-device PIN unlock path and successful continue.
  • End-to-end actions after unlock: connect -> shareXpubs -> signTx -> verifyAddress.

@wabicai wabicai marked this pull request as draft February 24, 2026 11:49
@wabicai wabicai changed the title feat: add OneKey desktop-channel support via webusb sdk feat: route OneKey desktop channel via HWI sidecar Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant