@onekeyfe/hd-core 1.2.0-alpha.16 → 1.2.0-alpha.17

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 (114) hide show
  1. package/__tests__/deviceFeaturesUtils.test.ts +27 -0
  2. package/__tests__/evmLedgerLegacySafety.test.ts +3 -0
  3. package/__tests__/homescreen.test.ts +24 -0
  4. package/__tests__/protocol-v2.test.ts +1006 -204
  5. package/__tests__/protocolV2FileWrite.test.ts +28 -3
  6. package/__tests__/protocolV2UiInteraction.test.ts +266 -0
  7. package/dist/api/BaseMethod.d.ts +4 -0
  8. package/dist/api/BaseMethod.d.ts.map +1 -1
  9. package/dist/api/FirmwareUpdateV4.d.ts +3 -3
  10. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  11. package/dist/api/GetDeviceInfo.d.ts.map +1 -1
  12. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  13. package/dist/api/UploadPortfolio.d.ts.map +1 -1
  14. package/dist/api/device/DeviceCancel.d.ts.map +1 -1
  15. package/dist/api/device/DeviceChangePin.d.ts.map +1 -1
  16. package/dist/api/device/DeviceLock.d.ts.map +1 -1
  17. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  18. package/dist/api/device/DeviceWipe.d.ts.map +1 -1
  19. package/dist/api/helpers/protocolV2FileWrite.d.ts +1 -0
  20. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -1
  21. package/dist/api/index.d.ts +1 -1
  22. package/dist/api/index.d.ts.map +1 -1
  23. package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +1 -1
  24. package/dist/api/protocol-v2/DeviceSessionOpen.d.ts +28 -0
  25. package/dist/api/protocol-v2/DeviceSessionOpen.d.ts.map +1 -0
  26. package/dist/api/protocol-v2/DeviceSettingsPageShow.d.ts.map +1 -1
  27. package/dist/api/protocol-v2/DeviceSettingsSet.d.ts.map +1 -1
  28. package/dist/api/protocol-v2/DeviceStatusGet.d.ts.map +1 -1
  29. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +1 -1
  30. package/dist/core/deviceEventRegistration.d.ts +1 -0
  31. package/dist/core/deviceEventRegistration.d.ts.map +1 -1
  32. package/dist/core/index.d.ts.map +1 -1
  33. package/dist/device/Device.d.ts +3 -3
  34. package/dist/device/Device.d.ts.map +1 -1
  35. package/dist/device/DeviceCommands.d.ts +3 -1
  36. package/dist/device/DeviceCommands.d.ts.map +1 -1
  37. package/dist/device/DevicePool.d.ts +2 -2
  38. package/dist/device/DevicePool.d.ts.map +1 -1
  39. package/dist/deviceProfile/buildDeviceFeatures.d.ts +6 -2
  40. package/dist/deviceProfile/buildDeviceFeatures.d.ts.map +1 -1
  41. package/dist/deviceProfile/buildDeviceProfile.d.ts +3 -2
  42. package/dist/deviceProfile/buildDeviceProfile.d.ts.map +1 -1
  43. package/dist/events/device.d.ts +4 -0
  44. package/dist/events/device.d.ts.map +1 -1
  45. package/dist/events/ui-request.d.ts +18 -2
  46. package/dist/events/ui-request.d.ts.map +1 -1
  47. package/dist/index.d.ts +56 -11
  48. package/dist/index.js +1000 -537
  49. package/dist/protocols/protocol-v2/features.d.ts +6 -18
  50. package/dist/protocols/protocol-v2/features.d.ts.map +1 -1
  51. package/dist/protocols/protocol-v2/index.d.ts +1 -1
  52. package/dist/protocols/protocol-v2/index.d.ts.map +1 -1
  53. package/dist/protocols/protocol-v2/uiInteraction.d.ts +39 -0
  54. package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +1 -0
  55. package/dist/protocols/protocol-v2/unlockRetry.d.ts +5 -3
  56. package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +1 -1
  57. package/dist/protocols/protocol-v2/walletSession.d.ts +2 -1
  58. package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -1
  59. package/dist/types/api/getDeviceInfo.d.ts +2 -1
  60. package/dist/types/api/getDeviceInfo.d.ts.map +1 -1
  61. package/dist/types/api/index.d.ts +2 -2
  62. package/dist/types/api/index.d.ts.map +1 -1
  63. package/dist/types/api/protocolV2.d.ts +4 -2
  64. package/dist/types/api/protocolV2.d.ts.map +1 -1
  65. package/dist/types/device.d.ts +2 -1
  66. package/dist/types/device.d.ts.map +1 -1
  67. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  68. package/dist/utils/homescreen.d.ts.map +1 -1
  69. package/dist/utils/patch.d.ts +1 -1
  70. package/dist/utils/patch.d.ts.map +1 -1
  71. package/package.json +4 -4
  72. package/src/api/BaseMethod.ts +10 -2
  73. package/src/api/FirmwareUpdateV4.ts +27 -73
  74. package/src/api/GetDeviceInfo.ts +9 -2
  75. package/src/api/GetPassphraseState.ts +5 -2
  76. package/src/api/UploadPortfolio.ts +2 -0
  77. package/src/api/device/DeviceCancel.ts +1 -0
  78. package/src/api/device/DeviceChangePin.ts +23 -0
  79. package/src/api/device/DeviceLock.ts +1 -0
  80. package/src/api/device/DeviceUnlock.ts +9 -0
  81. package/src/api/device/DeviceWipe.ts +18 -0
  82. package/src/api/helpers/protocolV2FileWrite.ts +35 -11
  83. package/src/api/index.ts +1 -1
  84. package/src/api/protocol-v2/DeviceInfoGet.ts +0 -1
  85. package/src/api/protocol-v2/DeviceSessionOpen.ts +100 -0
  86. package/src/api/protocol-v2/DeviceSettingsPageShow.ts +9 -1
  87. package/src/api/protocol-v2/DeviceSettingsSet.ts +11 -1
  88. package/src/api/protocol-v2/DeviceStatusGet.ts +1 -0
  89. package/src/api/protocol-v2/DeviceUploadWallpaper.ts +2 -1
  90. package/src/core/deviceEventRegistration.ts +2 -0
  91. package/src/core/index.ts +36 -3
  92. package/src/data/messages/messages-protocol-v2.json +122 -23
  93. package/src/device/Device.ts +33 -41
  94. package/src/device/DeviceCommands.ts +22 -4
  95. package/src/device/DevicePool.ts +14 -6
  96. package/src/deviceProfile/buildDeviceFeatures.ts +21 -9
  97. package/src/deviceProfile/buildDeviceProfile.ts +27 -11
  98. package/src/events/device.ts +4 -0
  99. package/src/events/ui-request.ts +24 -2
  100. package/src/inject.ts +2 -2
  101. package/src/protocols/protocol-v2/features.ts +27 -20
  102. package/src/protocols/protocol-v2/index.ts +0 -1
  103. package/src/protocols/protocol-v2/uiInteraction.ts +209 -0
  104. package/src/protocols/protocol-v2/unlockRetry.ts +43 -3
  105. package/src/protocols/protocol-v2/walletSession.ts +122 -31
  106. package/src/types/api/getDeviceInfo.ts +6 -1
  107. package/src/types/api/index.ts +2 -2
  108. package/src/types/api/protocolV2.ts +5 -3
  109. package/src/types/device.ts +6 -1
  110. package/src/utils/deviceFeaturesUtils.ts +13 -0
  111. package/src/utils/homescreen.ts +10 -0
  112. package/dist/api/protocol-v2/DeviceSessionGet.d.ts +0 -6
  113. package/dist/api/protocol-v2/DeviceSessionGet.d.ts.map +0 -1
  114. package/src/api/protocol-v2/DeviceSessionGet.ts +0 -15
@@ -0,0 +1,27 @@
1
+ import { EDeviceType } from '@onekeyfe/hd-shared';
2
+
3
+ import DataManager from '../src/data-manager/DataManager';
4
+ import { getSupportProtocolV1MessageSchema } from '../src/utils/deviceFeaturesUtils';
5
+
6
+ import type { Features } from '../src/types';
7
+
8
+ jest.mock('../src/data/config', () => ({
9
+ getSDKVersion: () => '1.0.0',
10
+ DEFAULT_DOMAIN: 'https://jssdk.onekey.so/1.0.0/',
11
+ }));
12
+
13
+ describe('getSupportProtocolV1MessageSchema', () => {
14
+ test('Classic Pure 在无主固件的 Bootloader 模式下使用当前协议结构', () => {
15
+ const features = {
16
+ deviceType: EDeviceType.ClassicPure,
17
+ bootloaderMode: true,
18
+ firmwarePresent: false,
19
+ firmwareVersion: '2.0.8',
20
+ } as Features;
21
+
22
+ const result = getSupportProtocolV1MessageSchema(features);
23
+
24
+ expect(result.protocolV1MessageSchema).toBe('v1CurrentSchema');
25
+ expect(result.messages).toBe(DataManager.messages.v1CurrentSchema);
26
+ });
27
+ });
@@ -5,6 +5,8 @@ import { findMethod } from '../src/api/utils';
5
5
  import { getDeviceType, getFirmwareType, getMethodVersionRange } from '../src/utils';
6
6
  import { getDeviceFirmwareVersion } from '../src/utils/deviceVersionUtils';
7
7
 
8
+ import { EDeviceType } from '@onekeyfe/hd-shared';
9
+
8
10
  jest.mock('../src/data/config', () => ({
9
11
  getSDKVersion: jest.fn(() => '1.0.0'),
10
12
  DEFAULT_DOMAIN: 'https://jssdk.onekey.so/1.0.0/',
@@ -18,6 +20,7 @@ const createDevice = (onekeyDeviceType: string) => {
18
20
  const typedCall = jest.fn();
19
21
  const features = {
20
22
  onekey_device_type: onekeyDeviceType,
23
+ deviceType: onekeyDeviceType.toLowerCase() as EDeviceType,
21
24
  safety_checks: 'Strict',
22
25
  };
23
26
  return {
@@ -0,0 +1,24 @@
1
+ import { EDeviceType } from '@onekeyfe/hd-shared';
2
+
3
+ import { getHomeScreenSize } from '../src/utils/homescreen';
4
+
5
+ describe('getHomeScreenSize', () => {
6
+ it('returns the Pro 2 wallpaper dimensions', () => {
7
+ expect(
8
+ getHomeScreenSize({
9
+ deviceType: EDeviceType.Pro2,
10
+ homeScreenType: 'WallPaper',
11
+ })
12
+ ).toEqual({ width: 604, height: 1024 });
13
+ });
14
+
15
+ it('does not require a legacy thumbnail for Pro 2 wallpapers', () => {
16
+ expect(
17
+ getHomeScreenSize({
18
+ deviceType: EDeviceType.Pro2,
19
+ homeScreenType: 'WallPaper',
20
+ thumbnail: true,
21
+ })
22
+ ).toBeUndefined();
23
+ });
24
+ });