@onekeyfe/hd-core 1.2.0-alpha.26 → 1.2.0-alpha.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/__tests__/DeviceCommands.test.ts +28 -0
  2. package/__tests__/device-lifecycle-events.test.ts +21 -0
  3. package/__tests__/deviceSettings.test.ts +4 -4
  4. package/__tests__/firmware-update/check-all-firmware-release.test.ts +48 -1
  5. package/__tests__/firmware-update/firmware-preparation-error.test.ts +27 -0
  6. package/__tests__/firmware-update/firmware-update-plan.test.ts +239 -0
  7. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +20 -1
  8. package/__tests__/kaspa-use-tweak-pro2.test.ts +20 -0
  9. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  10. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  11. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  12. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  13. package/dist/api/firmware/FirmwarePreparationError.d.ts +3 -0
  14. package/dist/api/firmware/FirmwarePreparationError.d.ts.map +1 -0
  15. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +4 -2
  16. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +1 -1
  17. package/dist/api/kaspa/KaspaGetAddress.d.ts +3 -0
  18. package/dist/api/kaspa/KaspaGetAddress.d.ts.map +1 -1
  19. package/dist/api/kaspa/KaspaSignTransaction.d.ts +3 -0
  20. package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
  21. package/dist/device/Device.d.ts +1 -0
  22. package/dist/device/Device.d.ts.map +1 -1
  23. package/dist/device/DeviceCommands.d.ts.map +1 -1
  24. package/dist/index.d.ts +6 -1
  25. package/dist/index.js +146 -48
  26. package/dist/types/api/checkAllFirmwareRelease.d.ts +2 -1
  27. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  28. package/dist/types/api/export.d.ts +1 -1
  29. package/dist/types/api/export.d.ts.map +1 -1
  30. package/dist/types/api/firmwareUpdatePlan.d.ts +1 -0
  31. package/dist/types/api/firmwareUpdatePlan.d.ts.map +1 -1
  32. package/dist/types/device.d.ts +1 -0
  33. package/dist/types/device.d.ts.map +1 -1
  34. package/dist/utils/deviceSettings.d.ts.map +1 -1
  35. package/package.json +4 -4
  36. package/src/api/CheckAllFirmwareRelease.ts +8 -1
  37. package/src/api/FirmwareUpdateV2.ts +3 -5
  38. package/src/api/FirmwareUpdateV3.ts +3 -2
  39. package/src/api/FirmwareUpdateV4.ts +2 -1
  40. package/src/api/firmware/FirmwarePreparationError.ts +12 -0
  41. package/src/api/firmware/FirmwareUpdatePlan.ts +165 -48
  42. package/src/api/kaspa/KaspaGetAddress.ts +3 -0
  43. package/src/api/kaspa/KaspaSignTransaction.ts +3 -0
  44. package/src/data-manager/TransportManager.ts +1 -1
  45. package/src/device/Device.ts +7 -0
  46. package/src/device/DeviceCommands.ts +10 -4
  47. package/src/types/api/checkAllFirmwareRelease.ts +2 -1
  48. package/src/types/api/export.ts +1 -0
  49. package/src/types/api/firmwareUpdatePlan.ts +2 -0
  50. package/src/types/device.ts +2 -0
  51. package/src/utils/deviceSettings.ts +11 -1
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/types/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/types/device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,IAAI,sBAAsB,EACvC,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7D,oBAAY,iBAAiB;IAC3B,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,UAAU,eAAe;CAC1B;AAED,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,YAAY,GACZ,iBAAiB,GACjB,yBAAyB,CAAC;AAE9B,MAAM,MAAM,uBAAuB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAA;CAAE,CAAC;AAE/E,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAKzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,SAAS,CAAC;IAEzB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,kBAAkB,EAAE,aAAa,GAAG,IAAI,CAAC;IACzC,eAAe,EAAE,aAAa,GAAG,IAAI,CAAC;IAGtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAOzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAKzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,WAAW,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAgCF,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AAEjC,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,gBAAgB,GAChB,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,MAAM,oBAAoB,GAAG;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,kBAAkB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;IACpC,wBAAwB,CAAC,EAAE,cAAc,CAAC;IAC1C,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;KAClC,GAAG,IAAI,MAAM,iBAAiB,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI;CACjE,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC;AACjD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC;AAElG,MAAM,MAAM,uBAAuB,GAC/B,YAAY,GACZ,aAAa,GACb,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,eAAe,GACf,iBAAiB,GACjB,qBAAqB,GACrB,eAAe,CAAC;AAEpB,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,EAAE,aAAa,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,wBAAwB,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC3C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,wBAAwB,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,EAAE,CAAC,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,mBAAmB,CAAC;IAE9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,YAAY,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,GAAG,CAAC,EAAE,sBAAsB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,uBAAuB,CAAC;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,EAAE,aAAa,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,wBAAwB,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,kBAAkB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC3C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,wBAAwB,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,GAAG,CAAC,EAAE,iBAAiB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,kBAAkB,GACvC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,kBAAkB,CAAC,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,kBAAkB,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvF,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;AAElD,MAAM,MAAM,WAAW,GACnB,WAAW,CAAC,OAAO,GACnB,WAAW,CAAC,OAAO,GACnB,WAAW,CAAC,SAAS,GACrB,WAAW,CAAC,WAAW,GACvB,WAAW,CAAC,IAAI,GAChB,WAAW,CAAC,KAAK,GACjB,WAAW,CAAC,GAAG,GACf,WAAW,CAAC,IAAI,CAAC;AAOrB,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,YAAY,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAE9F,eAAO,MAAM,kBAAkB,EAAE;KAAG,WAAW,IAAI,YAAY,GAAG,WAAW,EAAE;CAU9E,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE;KAAG,UAAU,IAAI,WAAW,GAAG,YAAY,EAAE;CAS7E,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3F,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9F,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;KAC/B,UAAU,IAAI,WAAW,GAAG,YAAY,CAAC,CAAC,EAAE,aAAa;CAC3D,CAAC;AAEF,KAAK,iBAAiB,GAClB;IACE,aAAa,EAAE,CAAC,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,eAAe,EAAE,IAAI,CAAC;IACtB,gBAAgB,EAAE,KAAK,CAAC;CACzB,GACD;IACE,aAAa,EAAE,CAAC,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,eAAe,EAAE,IAAI,CAAC;IACtB,gBAAgB,EAAE,IAAI,CAAC;CACxB,GACD;IACE,aAAa,EAAE,CAAC,CAAC;IACjB,QAAQ,EAAE,CAAC,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,IAAI,CAAC;IACtB,gBAAgB,EAAE,IAAI,CAAC;CACxB,GACD;IACE,aAAa,EAAE,CAAC,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,eAAe,EAAE,IAAI,CAAC;IACtB,gBAAgB,EAAE,KAAK,CAAC;CACzB,GACD;IACE,aAAa,EAAE,CAAC,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,eAAe,EAAE,IAAI,CAAC;IACtB,gBAAgB,EAAE,IAAI,CAAC;CACxB,CAAC;AAEN,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE,MAAM,MAAM,eAAe,GAAG;IAC5B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,gBAAgB,EAAE,kBAAkB,CAAC;CACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deviceSettings.d.ts","sourceRoot":"","sources":["../../src/utils/deviceSettings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC;AACjD,MAAM,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC;AAE7D,eAAO,MAAM,6BAA6B,iIAQS,CAAC;AAEpD,eAAO,MAAM,8BAA8B,wJAQQ,CAAC;AAEpD,eAAO,MAAM,8BAA8B,qJASQ,CAAC;AAEpD,eAAO,MAAM,4BAA4B,YAAa,CAAC;AAEvD,eAAO,MAAM,yBAAyB,UAC7B,gBAAgB,GAAG,IAAI,GAAG,SAAS,KACzC,qBAAqB,GAAG,IAAI,GAAG,SAGjC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;CAYlB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,eAAe,CAAC;AACvD,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC;AAEjG,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAYnE,CAAC;AAEF,eAAO,MAAM,uBAAuB,cAAe,MAAM,uBACgC,CAAC;AAM1F,eAAO,MAAM,yBAAyB,cAAe,MAAM,oGACmB,CAAC;AAY/E,eAAO,MAAM,iBAAiB,eAAgB,WAAW,KAAG,OAAO,MAAM,EAAE,MAAM,CAAC,EAyBjF,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAmBF,eAAO,MAAM,kBAAkB,eACjB,WAAW,YACb,sBAAsB,KAC/B,4BAA4B,EAc9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,eACrB,WAAW,YACb,sBAAsB,KAC/B,4BAA4B,EAgB9B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,eAAe,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAChD,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,oBAAoB,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC9D,wBAAwB,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAClE,MAAM,EAAE;QACN,UAAU,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;KAC3C,CAAC;IACF,kBAAkB,EAAE,aAAa,CAAC,yBAAyB,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACpF,0BAA0B,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,6BAA6B,eAC5B,WAAW,YACb,sBAAsB,KAC/B,0BAmBD,CAAC"}
1
+ {"version":3,"file":"deviceSettings.d.ts","sourceRoot":"","sources":["../../src/utils/deviceSettings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC;AACjD,MAAM,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC;AAE7D,eAAO,MAAM,6BAA6B,iIAQS,CAAC;AAEpD,eAAO,MAAM,8BAA8B,wJAQQ,CAAC;AAEpD,eAAO,MAAM,8BAA8B,qJASQ,CAAC;AAEpD,eAAO,MAAM,4BAA4B,YAAa,CAAC;AAEvD,eAAO,MAAM,yBAAyB,UAC7B,gBAAgB,GAAG,IAAI,GAAG,SAAS,KACzC,qBAAqB,GAAG,IAAI,GAAG,SAGjC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;CAYlB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,eAAe,CAAC;AACvD,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC;AAEjG,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAYnE,CAAC;AAEF,eAAO,MAAM,uBAAuB,cAAe,MAAM,uBACgC,CAAC;AAM1F,eAAO,MAAM,yBAAyB,cAAe,MAAM,oGACmB,CAAC;AAsB/E,eAAO,MAAM,iBAAiB,eAAgB,WAAW,KAAG,OAAO,MAAM,EAAE,MAAM,CAAC,EAyBjF,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAmBF,eAAO,MAAM,kBAAkB,eACjB,WAAW,YACb,sBAAsB,KAC/B,4BAA4B,EAc9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,eACrB,WAAW,YACb,sBAAsB,KAC/B,4BAA4B,EAgB9B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,eAAe,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAChD,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,oBAAoB,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC9D,wBAAwB,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAClE,MAAM,EAAE;QACN,UAAU,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;KAC3C,CAAC;IACF,kBAAkB,EAAE,aAAa,CAAC,yBAAyB,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACpF,0BAA0B,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,6BAA6B,eAC5B,WAAW,YACb,sBAAsB,KAC/B,0BAmBD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "1.2.0-alpha.26",
3
+ "version": "1.2.0-alpha.28",
4
4
  "description": "Core processes and APIs for communicating with OneKey hardware devices.",
5
5
  "author": "OneKey",
6
6
  "homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
@@ -25,8 +25,8 @@
25
25
  "url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
26
26
  },
27
27
  "dependencies": {
28
- "@onekeyfe/hd-shared": "1.2.0-alpha.26",
29
- "@onekeyfe/hd-transport": "1.2.0-alpha.26",
28
+ "@onekeyfe/hd-shared": "1.2.0-alpha.28",
29
+ "@onekeyfe/hd-transport": "1.2.0-alpha.28",
30
30
  "axios": "1.15.2",
31
31
  "bignumber.js": "^9.0.2",
32
32
  "bytebuffer": "^5.0.1",
@@ -44,5 +44,5 @@
44
44
  "@types/w3c-web-usb": "^1.0.10",
45
45
  "@types/web-bluetooth": "^0.0.21"
46
46
  },
47
- "gitHead": "1401fef3eb93f5a83ed5e8375b99181b7aaa6054"
47
+ "gitHead": "b7c7f9f53c4d745f127d03e0b173e8b759bf8e15"
48
48
  }
@@ -7,7 +7,10 @@ import {
7
7
  getBootloaderReleaseInfo,
8
8
  getFirmwareReleaseInfo,
9
9
  } from './firmware/releaseHelper';
10
- import { buildFirmwareUpdatePlan } from './firmware/FirmwareUpdatePlan';
10
+ import {
11
+ buildFirmwareUpdatePlan,
12
+ validateFirmwareUpdatePlanForceTargets,
13
+ } from './firmware/FirmwareUpdatePlan';
11
14
  import { getBridgeReleaseInfo } from '../utils/bridgeUpdate';
12
15
  import {
13
16
  LoggerNames,
@@ -38,7 +41,9 @@ export default class CheckAllFirmwareRelease extends BaseMethod {
38
41
  checkBridgeRelease,
39
42
  firmwareType: firmwareTypeParams,
40
43
  platform,
44
+ forceUpdateTargets,
41
45
  } = this.payload as CheckAllFirmwareReleaseParams;
46
+ const validatedForceUpdateTargets = validateFirmwareUpdatePlanForceTargets(forceUpdateTargets);
42
47
 
43
48
  if (!features) {
44
49
  return Promise.resolve(null);
@@ -78,9 +83,11 @@ export default class CheckAllFirmwareRelease extends BaseMethod {
78
83
  firmware: firmwareRelease,
79
84
  ble: bleFirmwareReleaseInfo,
80
85
  bootloader: bootloaderRelease,
86
+ forceUpdateTargets: validatedForceUpdateTargets,
81
87
  });
82
88
  } catch (error) {
83
89
  if (
90
+ validatedForceUpdateTargets.length > 0 ||
84
91
  !(error instanceof HardwareError) ||
85
92
  error.params?.firmwareUpdateCode !== 'FirmwarePlanInvalid'
86
93
  ) {
@@ -14,6 +14,7 @@ import { BaseMethod } from './BaseMethod';
14
14
  import { validateParams } from './helpers/paramsValidator';
15
15
  import { DevicePool } from '../device/DevicePool';
16
16
  import { getBinary, getInfo, getSysResourceBinary } from './firmware/getBinary';
17
+ import { normalizeFirmwarePreparationError } from './firmware/FirmwarePreparationError';
17
18
  import {
18
19
  updateResources,
19
20
  updateResourcesFromSources,
@@ -27,8 +28,8 @@ import { DEVICE } from '../events';
27
28
  import { type FirmwareByteSource, openFirmwareByteSource } from './firmware/FirmwareArtifactSource';
28
29
  import { resolveFirmwareUpdateHostBinding } from './firmware/FirmwareHostBinding';
29
30
  import {
30
- assertFirmwareUpdatePreparedPlanDeviceIdentity,
31
31
  assertFirmwareUpdatePreparedPlanBinding,
32
+ assertFirmwareUpdatePreparedPlanDeviceIdentity,
32
33
  getFirmwareUpdateResourceName,
33
34
  } from './firmware/FirmwareUpdatePreparedPlan';
34
35
 
@@ -503,10 +504,7 @@ export default class FirmwareUpdateV2 extends BaseMethod<Params> {
503
504
  this.postTipMessage('DownloadFirmwareSuccess');
504
505
  return source;
505
506
  } catch (err) {
506
- throw ERRORS.TypedError(
507
- HardwareErrorCode.FirmwareUpdateDownloadFailed,
508
- err.message ?? err
509
- );
507
+ throw normalizeFirmwarePreparationError(err);
510
508
  }
511
509
  };
512
510
 
@@ -13,6 +13,7 @@ import {
13
13
  getLogger,
14
14
  } from '../utils';
15
15
  import { getBinary, getSysResourceBinary } from './firmware/getBinary';
16
+ import { normalizeFirmwarePreparationError } from './firmware/FirmwarePreparationError';
16
17
  import { DataManager } from '../data-manager';
17
18
  import { FirmwareUpdateBaseMethod } from './firmware/FirmwareUpdateBaseMethod';
18
19
  import { DevicePool } from '../device/DevicePool';
@@ -21,8 +22,8 @@ import { buildProtocolV1FeaturesPayload } from '../deviceProfile';
21
22
  import { openFirmwareByteSource } from './firmware/FirmwareArtifactSource';
22
23
  import { resolveFirmwareUpdateHostBinding } from './firmware/FirmwareHostBinding';
23
24
  import {
24
- assertFirmwareUpdatePreparedPlanDeviceIdentity,
25
25
  assertFirmwareUpdatePreparedPlanBinding,
26
+ assertFirmwareUpdatePreparedPlanDeviceIdentity,
26
27
  getFirmwareUpdateResourceName,
27
28
  } from './firmware/FirmwareUpdatePreparedPlan';
28
29
 
@@ -184,7 +185,7 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
184
185
  this.postTipMessage(FirmwareUpdateTipMessage.FinishDownloadFirmware);
185
186
  } catch (err) {
186
187
  await this.closeArtifactSources();
187
- throw ERRORS.TypedError(HardwareErrorCode.FirmwareUpdateDownloadFailed, err.message ?? err);
188
+ throw normalizeFirmwarePreparationError(err);
188
189
  }
189
190
 
190
191
  if (!bootloaderSource && fwSources.length === 0) {
@@ -18,6 +18,7 @@ import {
18
18
  getLogger,
19
19
  } from '../utils';
20
20
  import { getSysResourceBinary } from './firmware/getBinary';
21
+ import { normalizeFirmwarePreparationError } from './firmware/FirmwarePreparationError';
21
22
  import { DataManager } from '../data-manager';
22
23
  import { FirmwareUpdateBaseMethod } from './firmware/FirmwareUpdateBaseMethod';
23
24
  import { DevicePool } from '../device/DevicePool';
@@ -625,7 +626,7 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
625
626
  : undefined;
626
627
  this.postTipMessage(FirmwareUpdateTipMessage.FinishDownloadFirmware);
627
628
  } catch (err) {
628
- throw ERRORS.TypedError(HardwareErrorCode.FirmwareUpdateDownloadFailed, err.message ?? err);
629
+ throw normalizeFirmwarePreparationError(err);
629
630
  }
630
631
 
631
632
  if (!bootloaderBinary && fwBinaryMap.length === 0 && !resourceBundles?.length) {
@@ -0,0 +1,12 @@
1
+ import { ERRORS, HardwareError, HardwareErrorCode } from '@onekeyfe/hd-shared';
2
+
3
+ export const normalizeFirmwarePreparationError = (error: unknown) => {
4
+ if (error instanceof HardwareError && error.params?.firmwareUpdateCode) {
5
+ return error;
6
+ }
7
+
8
+ return ERRORS.TypedError(
9
+ HardwareErrorCode.FirmwareUpdateDownloadFailed,
10
+ error instanceof Error ? error.message : String(error)
11
+ );
12
+ };
@@ -12,6 +12,7 @@ import {
12
12
  import type {
13
13
  FirmwareUpdatePlan,
14
14
  FirmwareUpdatePlanArtifact,
15
+ FirmwareUpdatePlanForceTarget,
15
16
  FirmwareUpdatePlanTarget,
16
17
  } from '../../types/api/firmwareUpdatePlan';
17
18
  import type { Features } from '../../types';
@@ -165,6 +166,30 @@ const planError = (message: string): never => {
165
166
  });
166
167
  };
167
168
 
169
+ const FIRMWARE_UPDATE_PLAN_FORCE_TARGETS = new Set<FirmwareUpdatePlanForceTarget>([
170
+ 'firmware',
171
+ 'ble',
172
+ 'bootloader',
173
+ 'resource',
174
+ ]);
175
+
176
+ export const validateFirmwareUpdatePlanForceTargets = (
177
+ value: unknown
178
+ ): FirmwareUpdatePlanForceTarget[] => {
179
+ if (value === undefined) {
180
+ return [];
181
+ }
182
+ if (
183
+ !Array.isArray(value) ||
184
+ value.length > FIRMWARE_UPDATE_PLAN_FORCE_TARGETS.size ||
185
+ value.some(target => !FIRMWARE_UPDATE_PLAN_FORCE_TARGETS.has(target)) ||
186
+ new Set(value).size !== value.length
187
+ ) {
188
+ return planError('Firmware update force targets are invalid');
189
+ }
190
+ return [...value] as FirmwareUpdatePlanForceTarget[];
191
+ };
192
+
168
193
  const assertExactKeys = (
169
194
  value: Record<string, unknown>,
170
195
  required: readonly string[],
@@ -387,13 +412,20 @@ const getExecutor = (features: Features): FirmwareUpdatePlan['executor'] => {
387
412
  };
388
413
 
389
414
  const buildProtocolV2Artifacts = (
390
- release: ReleaseRecord
415
+ release: ReleaseRecord,
416
+ {
417
+ includeComponents = true,
418
+ includeResources = true,
419
+ }: {
420
+ includeComponents?: boolean;
421
+ includeResources?: boolean;
422
+ } = {}
391
423
  ): {
392
424
  artifacts: FirmwareUpdatePlanArtifact[];
393
425
  targets: FirmwareUpdatePlanTarget[];
394
426
  } => {
395
427
  const components = asRecord(release.components);
396
- if (!components) {
428
+ if (includeComponents && !components) {
397
429
  throw ERRORS.TypedError(
398
430
  HardwareErrorCode.RuntimeError,
399
431
  'Protocol V2 release has no component set',
@@ -403,15 +435,15 @@ const buildProtocolV2Artifacts = (
403
435
  const installOrder = Array.isArray(release.installOrder)
404
436
  ? release.installOrder.filter((key): key is string => typeof key === 'string')
405
437
  : [];
406
- const componentKeys = [
407
- ...installOrder,
408
- ...Object.keys(components).filter(key => !installOrder.includes(key)),
409
- ];
438
+ const componentKeys =
439
+ includeComponents && components
440
+ ? [...installOrder, ...Object.keys(components).filter(key => !installOrder.includes(key))]
441
+ : [];
410
442
  const artifacts: FirmwareUpdatePlanArtifact[] = [];
411
443
  const targets: FirmwareUpdatePlanTarget[] = [];
412
444
  const componentTargets = new Set<FirmwareUpdatePlanTarget>();
413
445
  for (const key of componentKeys) {
414
- const component = asRecord(components[key]);
446
+ const component = asRecord(components?.[key]);
415
447
  const targetName = asString(component?.target)?.toUpperCase();
416
448
  if (targetName === 'ROMLOADER') {
417
449
  throw ERRORS.TypedError(
@@ -452,7 +484,8 @@ const buildProtocolV2Artifacts = (
452
484
  targets.push(target);
453
485
  }
454
486
 
455
- const bundles = Array.isArray(release.resourceBundles) ? release.resourceBundles : [];
487
+ const bundles =
488
+ includeResources && Array.isArray(release.resourceBundles) ? release.resourceBundles : [];
456
489
  const resourceBundleNames = new Set<string>();
457
490
  for (const value of bundles) {
458
491
  const bundle = asRecord(value);
@@ -491,6 +524,63 @@ const buildProtocolV2Artifacts = (
491
524
  return { artifacts, targets: [...new Set(targets)] };
492
525
  };
493
526
 
527
+ const isForcedTargetRepresented = ({
528
+ executor,
529
+ forcedTarget,
530
+ artifacts,
531
+ targetsToUpdate,
532
+ }: {
533
+ executor: FirmwareUpdatePlan['executor'];
534
+ forcedTarget: FirmwareUpdatePlanForceTarget;
535
+ artifacts: readonly FirmwareUpdatePlanArtifact[];
536
+ targetsToUpdate: readonly FirmwareUpdatePlanTarget[];
537
+ }): boolean => {
538
+ if (executor !== 'v4') {
539
+ return artifacts.some(
540
+ artifact => artifact.target === forcedTarget && targetsToUpdate.includes(forcedTarget)
541
+ );
542
+ }
543
+ if (forcedTarget === 'firmware') {
544
+ return artifacts.some(
545
+ artifact => artifact.role === 'component' && targetsToUpdate.includes(artifact.target)
546
+ );
547
+ }
548
+ if (forcedTarget === 'resource') {
549
+ return artifacts.some(
550
+ artifact =>
551
+ artifact.role === 'resourceBundle' &&
552
+ artifact.target === 'resource' &&
553
+ targetsToUpdate.includes('resource')
554
+ );
555
+ }
556
+ return false;
557
+ };
558
+
559
+ const assertForcedTargetsRepresented = ({
560
+ executor,
561
+ forcedTargets,
562
+ artifacts,
563
+ targetsToUpdate,
564
+ }: {
565
+ executor: FirmwareUpdatePlan['executor'];
566
+ forcedTargets: readonly FirmwareUpdatePlanForceTarget[];
567
+ artifacts: readonly FirmwareUpdatePlanArtifact[];
568
+ targetsToUpdate: readonly FirmwareUpdatePlanTarget[];
569
+ }) => {
570
+ for (const forcedTarget of forcedTargets) {
571
+ if (
572
+ !isForcedTargetRepresented({
573
+ executor,
574
+ forcedTarget,
575
+ artifacts,
576
+ targetsToUpdate,
577
+ })
578
+ ) {
579
+ planError(`Forced firmware update target ${forcedTarget} is not represented by the plan`);
580
+ }
581
+ }
582
+ };
583
+
494
584
  export const buildFirmwareUpdatePlan = ({
495
585
  features,
496
586
  firmwareType,
@@ -498,6 +588,7 @@ export const buildFirmwareUpdatePlan = ({
498
588
  firmware,
499
589
  ble,
500
590
  bootloader,
591
+ forceUpdateTargets,
501
592
  }: {
502
593
  features: Features;
503
594
  firmwareType: EFirmwareType;
@@ -505,18 +596,33 @@ export const buildFirmwareUpdatePlan = ({
505
596
  firmware: ReleaseSelection;
506
597
  ble: ReleaseSelection;
507
598
  bootloader?: ReleaseSelection;
599
+ forceUpdateTargets?: FirmwareUpdatePlanForceTarget[];
508
600
  }): FirmwareUpdatePlan => {
509
601
  const executor = getExecutor(features);
510
602
  let artifacts: FirmwareUpdatePlanArtifact[] = [];
511
603
  let targetsToUpdate: FirmwareUpdatePlanTarget[] = [];
512
604
  const firmwareRelease = asRelease(firmware);
605
+ const validatedForceTargets = validateFirmwareUpdatePlanForceTargets(forceUpdateTargets);
606
+ const forcedTargets = new Set(validatedForceTargets);
607
+ const shouldUpdateFirmware = isUpgrade(firmware) || forcedTargets.has('firmware');
608
+ const shouldUpdateResource = isUpgrade(firmware) || forcedTargets.has('resource');
609
+
610
+ if (
611
+ executor === 'v4' &&
612
+ validatedForceTargets.some(target => target === 'ble' || target === 'bootloader')
613
+ ) {
614
+ planError('Protocol V2 does not support forced BLE or legacy bootloader targets');
615
+ }
513
616
 
514
- if (executor === 'v4' && isUpgrade(firmware)) {
515
- const protocolV2 = buildProtocolV2Artifacts(firmwareRelease ?? {});
617
+ if (executor === 'v4' && (shouldUpdateFirmware || shouldUpdateResource)) {
618
+ const protocolV2 = buildProtocolV2Artifacts(firmwareRelease ?? {}, {
619
+ includeComponents: shouldUpdateFirmware,
620
+ includeResources: shouldUpdateResource,
621
+ });
516
622
  artifacts = protocolV2.artifacts;
517
623
  targetsToUpdate = protocolV2.targets;
518
624
  } else {
519
- if (isUpgrade(bootloader)) {
625
+ if (isUpgrade(bootloader) || forcedTargets.has('bootloader')) {
520
626
  artifacts.push({
521
627
  artifactId: 'bootloader',
522
628
  role: 'bootloader',
@@ -534,52 +640,56 @@ export const buildFirmwareUpdatePlan = ({
534
640
  : {}),
535
641
  });
536
642
  }
537
- if (isUpgrade(firmware)) {
643
+ if (shouldUpdateFirmware || shouldUpdateResource) {
538
644
  if (!firmwareRelease) {
539
645
  throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'Firmware release is invalid', {
540
646
  firmwareUpdateCode: 'FirmwarePlanInvalid',
541
647
  });
542
648
  }
543
- artifacts.push({
544
- artifactId: 'firmware',
545
- role: 'firmware',
546
- target: 'firmware',
547
- url: assertArtifactUrl(firmwareRelease.url, 'Firmware release'),
548
- container: 'raw',
549
- ...asIntegrity({
550
- size: firmwareRelease.expectedSize,
551
- sha256: firmwareRelease.fingerprint,
552
- }),
553
- ...(asVersion(firmwareRelease.version)
554
- ? { targetVersion: asVersion(firmwareRelease.version) }
555
- : {}),
556
- });
557
- const resourceUrl = selectResourceUrl({
558
- release: firmwareRelease,
559
- features,
560
- platform,
561
- });
562
- if (resourceUrl) {
649
+ if (shouldUpdateFirmware) {
563
650
  artifacts.push({
564
- artifactId: 'resource',
565
- role: 'resource',
566
- target: 'resource',
567
- url: assertArtifactUrl(resourceUrl, 'Firmware resource release'),
568
- container: 'zip',
651
+ artifactId: 'firmware',
652
+ role: 'firmware',
653
+ target: 'firmware',
654
+ url: assertArtifactUrl(firmwareRelease.url, 'Firmware release'),
655
+ container: 'raw',
569
656
  ...asIntegrity({
570
- size:
571
- resourceUrl === asString(firmwareRelease.fullResource)
572
- ? firmwareRelease.fullResourceExpectedSize
573
- : firmwareRelease.resourceExpectedSize,
574
- sha256:
575
- resourceUrl === asString(firmwareRelease.fullResource)
576
- ? firmwareRelease.fullResourceFingerprint
577
- : firmwareRelease.resourceFingerprint,
657
+ size: firmwareRelease.expectedSize,
658
+ sha256: firmwareRelease.fingerprint,
578
659
  }),
660
+ ...(asVersion(firmwareRelease.version)
661
+ ? { targetVersion: asVersion(firmwareRelease.version) }
662
+ : {}),
579
663
  });
580
664
  }
665
+ if (shouldUpdateResource) {
666
+ const resourceUrl = selectResourceUrl({
667
+ release: firmwareRelease,
668
+ features,
669
+ platform,
670
+ });
671
+ if (resourceUrl) {
672
+ artifacts.push({
673
+ artifactId: 'resource',
674
+ role: 'resource',
675
+ target: 'resource',
676
+ url: assertArtifactUrl(resourceUrl, 'Firmware resource release'),
677
+ container: 'zip',
678
+ ...asIntegrity({
679
+ size:
680
+ resourceUrl === asString(firmwareRelease.fullResource)
681
+ ? firmwareRelease.fullResourceExpectedSize
682
+ : firmwareRelease.resourceExpectedSize,
683
+ sha256:
684
+ resourceUrl === asString(firmwareRelease.fullResource)
685
+ ? firmwareRelease.fullResourceFingerprint
686
+ : firmwareRelease.resourceFingerprint,
687
+ }),
688
+ });
689
+ }
690
+ }
581
691
  }
582
- if (isUpgrade(ble)) {
692
+ if (isUpgrade(ble) || forcedTargets.has('ble')) {
583
693
  const bleRelease = asRelease(ble);
584
694
  artifacts.push({
585
695
  artifactId: 'ble',
@@ -599,6 +709,13 @@ export const buildFirmwareUpdatePlan = ({
599
709
  targetsToUpdate = [...new Set(artifacts.map(artifact => artifact.target))];
600
710
  }
601
711
 
712
+ assertForcedTargetsRepresented({
713
+ executor,
714
+ forcedTargets: validatedForceTargets,
715
+ artifacts,
716
+ targetsToUpdate,
717
+ });
718
+
602
719
  const deviceIdentity = getDeviceUUID(features);
603
720
  if (
604
721
  artifacts.length > 0 &&
@@ -621,8 +738,8 @@ export const buildFirmwareUpdatePlan = ({
621
738
  artifacts,
622
739
  targetsToUpdate,
623
740
  };
624
- return {
741
+ return assertFirmwareUpdatePlan({
625
742
  ...planWithoutDigest,
626
743
  planDigest: digestFirmwareUpdatePlan(planWithoutDigest),
627
- };
744
+ });
628
745
  };
@@ -67,6 +67,9 @@ export default class KaspaGetAddress extends BaseMethod<HardwareKaspaGetAddress[
67
67
  model_classic1s: {
68
68
  min: '3.12.0',
69
69
  },
70
+ pro2: {
71
+ min: '0.0.0',
72
+ },
70
73
  };
71
74
  }
72
75
 
@@ -183,6 +183,9 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
183
183
  model_classic1s: {
184
184
  min: '3.12.0',
185
185
  },
186
+ pro2: {
187
+ min: '0.0.0',
188
+ },
186
189
  };
187
190
  }
188
191
 
@@ -17,7 +17,7 @@ const LowLevelLogger = getLogger(LoggerNames.HdTransportLowLevel);
17
17
  const NodeUsbLogger = getLogger(LoggerNames.HdTransportNodeUsb);
18
18
  const WebBleLogger = getLogger(LoggerNames.HdWebBleTransport);
19
19
  const WebUsbLogger = getLogger(LoggerNames.HdTransportWebUsb);
20
- const REACT_NATIVE_BLE_SCAN_TIMEOUT_MS = 8000;
20
+ const REACT_NATIVE_BLE_SCAN_TIMEOUT_MS = 3000;
21
21
 
22
22
  /**
23
23
  * transport 在同一个环境中只会存在一个
@@ -314,6 +314,7 @@ export class Device extends EventEmitter {
314
314
  // Keep the legacy top-level field string-compatible while preserving
315
315
  // the canonical nullable value at state.identity.label.
316
316
  label: displayName ?? '',
317
+ status: this.getStatus(),
317
318
  mode: this.getMode(),
318
319
  features,
319
320
  state,
@@ -1335,6 +1336,12 @@ export class Device extends EventEmitter {
1335
1336
  return EOneKeyDeviceMode.normal;
1336
1337
  }
1337
1338
 
1339
+ getStatus() {
1340
+ if (this.isUsedElsewhere()) return 'occupied' as const;
1341
+ if (this.isUsedHere()) return 'used' as const;
1342
+ return 'available' as const;
1343
+ }
1344
+
1338
1345
  getFirmwareVersion() {
1339
1346
  if (!this.state) return null;
1340
1347
  return parseDeviceVersion(this.state.versions.firmware);
@@ -54,6 +54,13 @@ const DEVICE_SESSION_CALLS = new Set([
54
54
  'DeviceSessionAskPassphrase',
55
55
  ]);
56
56
 
57
+ // Protocol V2 subcodes are domain-scoped, so cross-domain cancellation fallback
58
+ // must use explicit firmware cancellation messages instead of a global number map.
59
+ const isProtocolV2ActionCancelledMessage = (message: string) =>
60
+ /^(?:cancel(?:led|ed)(?: on device)?|confirm dismissed|user cancel(?:led|ed)(?:\s+.*)?)$/i.test(
61
+ message
62
+ );
63
+
57
64
  function shouldReduceDebugForCall(type: string) {
58
65
  return HIGH_VOLUME_DEBUG_CALLS.has(type);
59
66
  }
@@ -474,9 +481,8 @@ export class DeviceCommands {
474
481
 
475
482
  if (code === 'Failure_ProcessError') {
476
483
  const normalizedMessage = message?.trim() ?? '';
477
- const isLegacyProtocolV2ActionCancelledFailure =
478
- this.device.isProtocolV2() &&
479
- /^(?:cancelled on device|confirm dismissed)$/i.test(normalizedMessage);
484
+ const isProtocolV2ActionCancelledFailure =
485
+ this.device.isProtocolV2() && isProtocolV2ActionCancelledMessage(normalizedMessage);
480
486
  const isLegacyProtocolV2LockedFailure =
481
487
  this.device.isProtocolV2() && /^device (?:is )?locked$/i.test(normalizedMessage);
482
488
  if (
@@ -536,7 +542,7 @@ export class DeviceCommands {
536
542
  });
537
543
  } else if (
538
544
  subcode === DeviceErrorCode.DeviceError_ActionCancelled ||
539
- isLegacyProtocolV2ActionCancelledFailure
545
+ isProtocolV2ActionCancelledFailure
540
546
  ) {
541
547
  error = ERRORS.TypedError(HardwareErrorCode.ActionCancelled, message, {
542
548
  failureCode: code,
@@ -2,7 +2,7 @@ import type { IBLEFirmwareReleaseInfo } from '../settings';
2
2
  import type { EFirmwareType } from '@onekeyfe/hd-shared';
3
3
  import type { CommonParams, Response } from '../params';
4
4
  import type { Features, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus } from '../device';
5
- import type { FirmwareUpdatePlan } from './firmwareUpdatePlan';
5
+ import type { FirmwareUpdatePlan, FirmwareUpdatePlanForceTarget } from './firmwareUpdatePlan';
6
6
 
7
7
  export type FirmwareRelease = {
8
8
  shouldUpdate?: boolean;
@@ -28,6 +28,7 @@ export type CheckAllFirmwareReleaseParams = {
28
28
  checkBridgeRelease?: boolean;
29
29
  firmwareType?: EFirmwareType;
30
30
  platform?: 'native' | 'desktop' | 'ext' | 'web' | 'web-embed';
31
+ forceUpdateTargets?: FirmwareUpdatePlanForceTarget[];
31
32
  };
32
33
 
33
34
  export declare function checkAllFirmwareRelease(
@@ -39,6 +39,7 @@ export type {
39
39
  FirmwareUpdatePlan,
40
40
  FirmwareUpdatePlanArtifact,
41
41
  FirmwareUpdatePlanArtifactRole,
42
+ FirmwareUpdatePlanForceTarget,
42
43
  FirmwareUpdatePlanTarget,
43
44
  } from './firmwareUpdatePlan';
44
45
  export type {
@@ -11,6 +11,8 @@ export type FirmwareUpdatePlanArtifactRole =
11
11
 
12
12
  export type FirmwareUpdatePlanTarget = 'firmware' | 'ble' | 'bootloader' | FirmwareUpdateV4Target;
13
13
 
14
+ export type FirmwareUpdatePlanForceTarget = 'firmware' | 'ble' | 'bootloader' | 'resource';
15
+
14
16
  export interface FirmwareUpdatePlanArtifact {
15
17
  artifactId: string;
16
18
  role: FirmwareUpdatePlanArtifactRole;
@@ -43,6 +43,8 @@ export type KnownDevice = {
43
43
  bleName: string | null;
44
44
  name: string;
45
45
  error?: typeof undefined;
46
+ /** Current SDK/transport usage state for connection indicators. */
47
+ status?: DeviceStatus;
46
48
  mode: EOneKeyDeviceMode;
47
49
  features?: Features;
48
50
  /** Unified SDK device-state snapshot; features remains a legacy projection. */