


e4672c75b7
CW-1135-add-support-for-bitbox-hww (#2476)
* chore: add ffi and ffigen dependencies to pubspec.yaml
* refactor: replace method channel with FFI implementation for MWeb module
* fix: correct `cd` command in build_mwebd.sh script
* chore: add go.sum file with dependency checksums
* fix: ensure ANDROID_NDK_VERSION is set before building and dynamically update NDK_BIN path
* fix: update NDK_BIN path to dynamically detect platform in build_mwebd.sh script
* refactor: remove unused mwebd dependencies and clean up CwMwebPlugin code
* Update scripts/android/build_mwebd.sh
Co-authored-by: cyan <cyjan@mrcyjanek.net>
* refactor: replace iOS MoneroWallet framework with Mwebd.xcframework and clean up plugin implementation [skip-ci]
* refactor: extract hardware wallet service abstraction
* refactor: extend BitcoinHardwareWalletService from HardwareWalletService and override account retrieval method
* feat: add BitBox hardware wallet support and implement manufacturer selection page with custom UI components
* refactor: update manufacturer selection UI and integrate custom gradient styles for ManufacturerOptionTile widget
* fix: mwebd ffi ios
* feat: add BitBox hardware wallet support, update derivation paths, and refactor hardware wallet credential implementations
* feat: add bitbox support and refactor the old ledger implementation
* feat: add BitBox hardware wallet support and refactor hardware wallet service implementations
* feat: refactor hardware wallet support to introduce abstraction for BitBox and Ledger; update device scanning, initialization, and UI integration
* fix: BitBox hardware wallet ethereum transaction signing
* chore: update BitBox Flutter path references and include build steps in CI workflows
* chore: update CI workflows to include `--dont-install` flag for BitBox Flutter builds
* refactor: replace if-else logic with switch-case for HardwareWalletViewModel factory
* feat: refactor hardware wallet services to introduce shared interface, improve ledger and bitbox implementations, and support additional transaction signing operations
* feat: add SVG assets for hardware wallet manufacturers (Foundation, Keystone, SeedSigner)
* feat: redesign hardware wallet restoration flow with improved routing, UI updates, and manufacturer-specific device selection handling
* fix: validate required BIP353 fields in transaction builder to prevent potential null value errors
* feat: improve BitBox transaction signing logs with detailed PSBT information
* refactor: update MWebFfi class to use non-nullable `lib` and improve address debug logging
* feat: add BitBox coin type constant and improve hardware wallet service extensibility
* chore: remove unused iOS/Android build scripts for mwebd
* feat: add BitBox SVG asset and update localization for hardware wallet connection instructions
* feat: update manufacturer tags and add Toast Easter egg for device selection interactions
* refactor: replace LedgerViewModel with HardwareWalletViewModel across providers and improve hardware wallet handling
* refactor: replace mweb.so with libmweb.so, use sync methods in MWebFfi, and update iOS/Android frameworks/scripts accordingly
* feat: add Ledger Nano X SVG asset to hardware wallet resources
* chore: unify mwebd build process in workflows, remove unused gomobile init command
* refactor: remove redundant print statement and unnecessary whitespace
* chore: add `gomobile init` to Android PR test build workflow
* chore: update Android PR test build workflow and add file existence check in `build_bitbox_flutter.sh`
* chore: override `ledger_usb_plus` dependency in pubspec_base.yaml
* feat: add verbose logging for BitBox connection and initialization process
* Update lib/view_model/hardware_wallet/bitbox_view_model.dart [skip ci]
* CW-1206-refactor-hardware-wallets-code (#2507)
* feat: add support for new hardware wallet types (Cupcake, Coldcard, SeedSigner) and improve QR Code handling
- Introduced new hardware wallet types (Cupcake, Coldcard, SeedSigner) with corresponding assets and localization updates.
- Updated QR Code format selection for hardware wallets with new formats (BCUR, BBQR) specific to devices.
- Improved hardware wallet restoration flow to include airgapped wallet handling via QR Code scanning.
- Refactored routing, view models, and dependency injection to accommodate new hardware wallet types.
- Enhanced UI for device manufacturer selection and QR Code format dialogs.
* feat: update hardware wallet assets and restoration flow
* feat: add changing airgapped wallet type
* feat: add Cupcake Man SVG asset to hardware wallet resources
* refactor: update Litecoin receive options to require wallet parameter and handle hardware wallets
* fix: debugging keystone integration
feat: support for zpub view only restore
* fix: seed signer restore
* fix: disable bitbox restoring (for now) [skip-ci]
* refactor: rename `isCupcake` to `isBitcoinViewOnly` for clarity [skip ci]
---------
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* refactor: standardize hardware wallet connection handling across wallet types
---------
Co-authored-by: cyan <cyjan@mrcyjanek.net>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-10-01 18:20:40 +03:00
..
2025-03-31 21:45:15 +02:00
2025-03-31 21:45:15 +02:00
2025-03-28 13:22:24 +02:00
2025-08-13 09:07:30 +03:00
2025-10-01 18:20:40 +03:00
2025-05-25 23:11:45 +03:00
2025-04-07 18:14:35 +02:00
2025-04-04 00:49:44 +02:00
2025-01-11 16:05:25 +02:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2023-07-13 17:31:45 +03:00
2022-03-31 15:16:42 +01:00
2020-05-20 20:28:01 +03:00
2020-01-04 21:31:52 +02:00
2022-07-28 18:03:16 +01:00
2022-09-07 13:10:21 +01:00
2024-11-09 21:00:56 +02:00
2024-11-09 21:00:56 +02:00
2024-11-09 21:00:56 +02:00
2023-07-13 17:31:45 +03:00
2020-01-04 21:31:52 +02:00
2020-01-04 21:31:52 +02:00
2022-09-07 13:10:21 +01:00
2024-02-23 15:39:19 +02:00
2020-01-04 21:31:52 +02:00
2020-01-04 21:31:52 +02:00
2020-08-28 23:04:48 +03:00
2020-09-01 22:04:00 +03:00
2022-07-28 18:03:16 +01:00
2024-11-09 21:00:56 +02:00
2024-11-09 21:00:56 +02:00
2024-11-09 21:00:56 +02:00
2023-07-13 17:31:45 +03:00
2025-09-22 15:56:47 +03:00
2022-03-31 15:16:42 +01:00
2020-05-20 20:28:01 +03:00
2025-05-25 23:11:45 +03:00
2022-03-31 15:16:42 +01:00
2020-08-19 20:57:06 +03:00
2020-04-28 20:50:12 +03:00
2020-01-04 21:31:52 +02:00
2024-05-05 04:44:50 +03:00
2022-03-31 15:16:42 +01:00
2020-05-20 20:28:01 +03:00
2024-02-23 15:39:19 +02:00
2025-09-22 15:56:47 +03:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2022-03-31 15:16:42 +01:00
2022-09-07 13:10:21 +01:00
2024-11-09 21:00:56 +02:00
2025-05-25 23:11:45 +03:00
2020-01-04 21:31:52 +02:00
2023-07-13 17:31:45 +03:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2025-03-28 13:22:24 +02:00
2025-09-01 19:09:26 +03:00
2025-03-28 13:22:24 +02:00
2025-03-28 13:22:24 +02:00
2025-03-28 13:22:24 +02:00
2025-03-28 13:22:24 +02:00
2025-03-28 13:22:24 +02:00
2024-11-09 21:00:56 +02:00
2022-07-28 18:03:16 +01:00
2024-11-09 21:00:56 +02:00
2024-09-23 17:10:40 +03:00
2022-07-28 18:03:16 +01:00
2025-09-22 08:13:01 +03:00
2025-01-24 20:17:37 +02:00
2020-01-04 21:31:52 +02:00
2020-07-22 13:04:11 +03:00
2020-01-04 21:31:52 +02:00
2020-01-04 21:31:52 +02:00
2020-07-28 19:03:34 +03:00
2020-04-16 21:41:04 +03:00
2025-07-11 01:36:40 +03:00
2023-07-13 17:31:45 +03:00
2025-03-21 05:24:22 +02:00
2025-05-25 23:11:45 +03:00
2020-07-27 20:07:37 +03:00
2020-05-05 20:59:56 +03:00
2022-07-28 18:03:16 +01:00
2023-07-13 17:31:45 +03:00
2020-06-10 16:08:57 +03:00
2020-04-24 20:34:32 +03:00
2025-08-23 01:27:01 +03:00
2022-03-31 15:16:42 +01:00
2020-09-24 21:58:07 +03:00
2022-03-31 15:16:42 +01:00
2020-05-20 20:28:01 +03:00
2025-09-22 15:56:47 +03:00
2025-03-21 04:18:47 +02:00
2025-03-21 04:18:47 +02:00
2025-03-21 04:18:47 +02:00
2025-03-21 04:18:47 +02:00
2020-04-27 20:31:39 +03:00
2022-07-28 18:03:16 +01:00
2025-07-23 23:48:09 +03:00
2023-04-14 06:39:08 +02:00
2023-04-14 06:39:08 +02:00
2025-07-11 01:36:40 +03:00
2025-03-28 00:22:14 +02:00
2025-09-22 15:56:47 +03:00
2025-07-11 01:36:40 +03:00
2024-08-13 14:15:47 +03:00
2024-08-13 14:15:47 +03:00
2024-02-23 19:09:24 +02:00
2024-12-17 01:08:56 +02:00
2024-12-17 01:08:56 +02:00
2025-09-22 15:56:47 +03:00
2022-09-07 13:10:21 +01:00
2024-11-09 21:00:56 +02:00
2020-04-16 21:41:04 +03:00
2020-07-21 20:22:41 +03:00
2023-07-13 17:31:45 +03:00
2021-10-01 18:13:10 +03:00
2023-07-13 17:31:45 +03:00
2025-07-11 23:56:35 +03:00
2022-03-31 15:16:42 +01:00
2020-05-20 20:28:01 +03:00
2025-09-22 15:56:47 +03:00
2025-09-22 15:56:47 +03:00
2022-03-31 15:16:42 +01:00
2025-09-22 15:56:47 +03:00
2025-09-22 15:56:47 +03:00
2020-05-20 20:28:01 +03:00
2020-01-04 21:31:52 +02:00
2020-04-16 21:41:04 +03:00
2023-10-12 03:20:19 +03:00
2020-04-24 15:01:19 +03:00
2020-07-31 18:29:21 +03:00
2020-04-21 21:23:40 +03:00
2020-04-27 20:31:39 +03:00
2020-04-16 21:41:04 +03:00
2020-07-21 20:22:41 +03:00
2020-05-29 18:10:11 +03:00
2022-07-28 18:03:16 +01:00
2022-09-07 13:10:21 +01:00
2025-01-24 20:17:37 +02:00
2022-07-28 18:03:16 +01:00
2023-07-13 17:31:45 +03:00
2023-07-13 17:31:45 +03:00
2022-07-28 18:03:16 +01:00
2021-05-17 21:22:49 +03:00
2022-07-28 18:03:16 +01:00
2024-02-23 15:39:19 +02:00
2024-11-09 21:00:56 +02:00
2023-07-13 17:31:45 +03:00
2023-07-13 17:31:45 +03:00
2023-07-13 17:31:45 +03:00
2022-03-30 17:57:04 +02:00
2022-03-30 17:57:04 +02:00
2022-09-07 13:10:21 +01:00
2020-04-30 20:35:06 +03:00
2025-06-04 20:15:36 +03:00
2024-02-23 15:39:19 +02:00
2025-05-25 23:11:45 +03:00
2023-08-04 20:01:49 +03:00
2024-01-08 16:05:35 +02:00
2025-09-22 08:13:01 +03:00
2020-07-31 18:29:21 +03:00
2020-04-21 21:23:40 +03:00
2020-01-04 21:31:52 +02:00
2022-10-20 13:23:36 -04:00
2025-03-06 19:39:41 +02:00
2025-03-06 19:39:41 +02:00
2023-07-13 17:31:45 +03:00
2024-09-11 05:14:17 +03:00
2021-05-07 10:36:38 +03:00
2022-03-31 15:16:42 +01:00
2021-05-07 21:59:03 +03:00
2022-03-31 15:16:42 +01:00
2020-05-19 20:47:42 +03:00
2023-08-15 03:47:25 +03:00
2020-04-23 21:36:52 +03:00
2025-09-22 15:56:47 +03:00
2022-10-20 13:23:36 -04:00
2022-07-28 18:03:16 +01:00
2022-10-20 13:23:36 -04:00
2024-11-09 21:00:56 +02:00
2020-04-16 21:41:04 +03:00
2020-07-21 20:22:41 +03:00
2025-05-25 23:11:45 +03:00
2022-07-28 18:03:16 +01:00
2022-10-20 13:23:36 -04:00
2022-03-31 15:16:42 +01:00
2020-09-09 22:12:49 +03:00
2021-05-07 10:36:38 +03:00
2023-11-02 16:54:32 +02:00
2022-01-04 20:22:24 +02:00
2022-01-04 20:22:24 +02:00
2022-01-08 16:33:17 +02:00
2023-11-02 16:54:32 +02:00
2020-04-21 21:23:40 +03:00
2024-08-13 14:15:47 +03:00
2024-08-13 14:15:47 +03:00
2021-06-02 16:52:58 +03:00
2024-08-13 14:15:47 +03:00
2023-08-15 03:47:25 +03:00
2025-09-22 15:56:47 +03:00
2020-01-04 21:31:52 +02:00
2020-05-14 20:29:10 +03:00
2020-07-22 13:04:11 +03:00
2024-09-28 05:22:25 +03:00
2022-09-07 13:10:21 +01:00
2020-05-20 20:28:01 +03:00
2024-09-23 17:10:40 +03:00
2025-07-23 23:48:09 +03:00
2022-10-20 13:23:36 -04:00
2020-04-24 15:01:19 +03:00
2023-07-13 17:31:45 +03:00
2020-07-31 18:29:21 +03:00
2020-04-21 21:23:40 +03:00
2025-06-04 20:15:36 +03:00
2025-05-25 23:11:45 +03:00
2023-09-14 22:14:49 +03:00
2023-09-14 22:14:49 +03:00
2020-07-31 18:29:21 +03:00
2020-04-21 21:23:40 +03:00
2022-10-20 13:23:36 -04:00
2025-05-25 23:11:45 +03:00
2025-05-02 02:56:06 +03:00
2025-05-25 23:11:45 +03:00
2020-01-04 21:31:52 +02:00
2020-10-02 20:28:34 +03:00
2022-10-20 13:23:36 -04:00
2025-05-12 20:33:14 +03:00
2023-07-13 17:31:45 +03:00
2022-10-20 13:23:36 -04:00
2025-09-22 15:56:47 +03:00
2025-09-22 15:56:47 +03:00
2025-09-22 15:56:47 +03:00
2020-11-27 13:08:17 +02:00
2020-11-27 13:08:17 +02:00
2022-12-12 10:07:37 -06:00
2022-07-28 18:03:16 +01:00
2020-05-07 20:10:04 +03:00
2020-01-04 21:31:52 +02:00
2025-06-17 01:32:11 +03:00
2020-08-25 21:12:14 +03:00
2024-02-23 15:39:19 +02:00
2020-01-04 21:31:52 +02:00
2020-01-04 21:31:52 +02:00
2025-05-25 23:11:45 +03:00
2022-03-15 17:13:34 +03:00
2020-07-31 18:29:21 +03:00
2020-04-21 21:23:40 +03:00
2022-07-28 18:03:16 +01:00
2020-01-04 21:31:52 +02:00
2025-07-29 17:01:33 +03:00
2025-07-29 17:01:33 +03:00
2025-07-29 17:01:33 +03:00
2025-07-29 17:01:33 +03:00
2025-07-29 17:01:33 +03:00
2025-07-29 17:01:33 +03:00
2025-07-29 17:01:33 +03:00
2025-07-29 17:01:33 +03:00
2020-09-01 22:04:00 +03:00
2025-07-29 17:01:33 +03:00
2025-07-29 17:01:33 +03:00
2020-09-01 22:04:00 +03:00
2020-09-01 22:04:00 +03:00
2020-04-24 15:01:19 +03:00
2020-01-04 21:31:52 +02:00
2024-11-09 21:00:56 +02:00
2020-04-15 19:33:41 +03:00
2023-09-14 22:14:49 +03:00
2023-09-14 22:14:49 +03:00
2022-10-20 13:23:36 -04:00
2022-10-20 13:23:36 -04:00
2022-09-07 13:10:21 +01:00
2020-04-23 21:36:52 +03:00
2022-10-20 13:23:36 -04:00
2022-06-29 13:38:44 +01:00
2020-01-04 21:31:52 +02:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2024-12-14 02:55:49 +02:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2020-01-04 21:31:52 +02:00
2020-01-04 21:31:52 +02:00
2020-05-01 21:36:48 +03:00
2022-03-15 17:13:34 +03:00
2025-05-25 23:11:45 +03:00
2020-01-04 21:31:52 +02:00
2020-01-04 21:31:52 +02:00
2021-01-18 22:52:12 +02:00
2023-04-14 06:39:08 +02:00
2020-04-21 21:23:40 +03:00
2023-12-14 14:51:52 +02:00
2020-07-28 19:03:34 +03:00
2023-07-13 21:47:12 +03:00
2022-04-13 14:28:21 +01:00
2022-08-31 16:34:07 +01:00
2024-11-09 21:00:56 +02:00
2025-09-22 15:56:47 +03:00
2025-09-22 15:56:47 +03:00
2022-09-07 13:10:21 +01:00
2025-09-22 15:56:47 +03:00
2024-03-10 04:02:30 +02:00
2024-09-06 16:03:18 +03:00
2023-07-13 17:31:45 +03:00
2023-07-13 17:31:45 +03:00
2022-10-20 13:23:36 -04:00
2023-04-14 06:39:08 +02:00
2025-02-11 12:01:11 +03:00
2025-05-25 23:11:45 +03:00
2024-05-29 17:43:48 +03:00
2020-01-04 21:31:52 +02:00
2024-03-28 14:41:11 +02:00
2020-05-08 19:22:56 +03:00
2024-10-04 23:00:36 +03:00
2025-06-20 22:56:18 +03:00
2025-07-04 02:48:50 +03:00
2020-01-04 21:31:52 +02:00
2020-01-04 21:31:52 +02:00
2020-12-14 19:54:56 +02:00
2020-04-23 21:36:52 +03:00
2020-07-21 20:22:41 +03:00
2024-08-13 14:15:47 +03:00
2025-09-22 15:56:47 +03:00
2025-09-22 15:56:47 +03:00
2022-03-31 15:16:42 +01:00
2025-09-22 15:56:47 +03:00
2020-05-20 20:28:01 +03:00
2022-07-28 18:03:16 +01:00
2023-07-13 17:31:45 +03:00
2020-01-04 21:31:52 +02:00
2022-10-20 13:23:36 -04:00
2020-04-16 21:41:04 +03:00
2020-12-14 19:54:56 +02:00
2025-08-23 01:27:01 +03:00
2024-05-05 04:44:50 +03:00
2024-11-09 21:00:56 +02:00
2024-11-09 21:00:56 +02:00
2022-09-07 13:10:21 +01:00
2025-09-22 15:56:47 +03:00
2022-03-31 15:16:42 +01:00
2025-09-22 15:56:47 +03:00
2020-05-20 20:28:01 +03:00
2025-06-27 15:47:34 +03:00
2022-03-31 15:16:42 +01:00
2022-03-31 15:16:42 +01:00
2020-09-25 16:30:39 +03:00
2022-09-07 13:10:21 +01:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2023-08-15 03:47:25 +03:00
2020-01-04 21:31:52 +02:00
2020-07-31 18:29:21 +03:00
2024-11-09 21:00:56 +02:00
2023-04-14 06:39:08 +02:00
2023-04-14 06:39:08 +02:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2020-04-21 21:23:40 +03:00
2023-10-03 17:56:10 +03:00
2025-05-25 23:11:45 +03:00
2023-07-13 17:31:45 +03:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2025-05-25 23:11:45 +03:00
2020-01-04 21:31:52 +02:00
2023-07-13 17:31:45 +03:00
2022-07-28 18:03:16 +01:00
2025-09-22 15:56:47 +03:00
2024-07-04 22:43:17 +03:00
2024-07-04 22:43:17 +03:00
2020-01-04 21:31:52 +02:00
2022-05-03 11:44:13 +01:00
2022-03-31 15:16:42 +01:00
2020-05-20 20:28:01 +03:00
2020-01-04 21:31:52 +02:00
2025-09-22 15:56:47 +03:00
2020-07-22 13:04:11 +03:00
2025-09-22 15:56:47 +03:00
2025-03-14 03:02:39 +02:00
2022-03-31 15:16:42 +01:00
2020-05-20 20:28:01 +03:00
2022-09-07 13:10:21 +01:00
2021-10-04 16:03:35 +03:00
2021-11-05 15:08:45 +00:00
2025-08-19 18:30:07 +03:00
2025-09-22 15:56:47 +03:00
2025-09-22 15:56:47 +03:00
2025-01-30 23:44:27 +02:00
2025-09-22 15:56:47 +03:00
2022-09-07 13:10:21 +01:00
2022-09-07 13:10:21 +01:00
2023-07-13 17:31:45 +03:00