Skip to content

Feat/hww - #1368

Draft
sneurlax wants to merge 22 commits into
stagingfrom
feat/hww
Draft

sneurlax wants to merge 22 commits into
stagingfrom
feat/hww

Conversation

@sneurlax

Copy link
Copy Markdown
Member

No description provided.

sneurlax added 22 commits April 28, 2026 22:47
…te mock signer

Default supportsHardwareWallet to false on the base CryptoCurrency and
override to true only for mainnet Bitcoin, whose Ledger BIP84 m/84'/0'/0'
derivation is implemented. This stops the create flow from offering hardware
wallets for coins that would derive a mismatched xpub.

Gate the mock auto-signer toggle and its fake balance/UTXO injection behind
kDebugMode so release builds can never enable fake balances. The mock harness
itself is left intact for tests.

Note a TODO for hardware account discovery; the connect path is still hardcoded.
…20261110/pr-1368

# Conflicts:
#	lib/pages/send_view/confirm_transaction_view.dart
#	lib/wallets/crypto_currency/coins/monero.dart
#	lib/wallets/crypto_currency/crypto_currency.dart
#	lib/wallets/wallet/wallet.dart
#	pubspec.lock
@sneurlax

Copy link
Copy Markdown
Member Author

Merged staging at d29d84c660492fd6dcc7ee67dbce4a76e85c026a and reviewed the hardware wallet flow. Ledger signing now uses the pinned library's PSBTv2/raw-transaction contract; it authenticates each funding transaction, preserves the selected RBF sequence, and verifies the returned transaction against the reviewed inputs and outputs before broadcast. Missing or unsupported signing data no longer falls back to the mock signer, and persisted mock settings are ignored outside debug builds. The signing dialog handles completion after it has closed, and the connect screen handles a constrained desktop window.

Validation: 76 focused hardware, signing, PSBT, provider and widget tests passed; targeted Dart analysis reported no errors or warnings, with informational lints. Real Ledger hardware, firmware compatibility, USB behavior, and an actual broadcast have not been tested. The implemented flow is limited to desktop Ledger Bitcoin mainnet BIP84 account 0; Trezor/Foundation and other networks/coins are not implemented.

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