@onekeyfe/hd-common-connect-sdk 1.1.34-alpha.2 → 1.1.34-alpha.3

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.
@@ -0,0 +1,97 @@
1
+ import { CORE_EVENT, DEVICE, DEVICE_EVENT, initCore } from '@onekeyfe/hd-core';
2
+
3
+ import HardwareCommonConnectSdk from '../src';
4
+
5
+ jest.mock('@onekeyfe/hd-core', () => {
6
+ const actual = jest.requireActual('@onekeyfe/hd-core');
7
+ return {
8
+ __esModule: true,
9
+ ...actual,
10
+ default: ({ eventEmitter, init, dispose }) => ({
11
+ init,
12
+ dispose,
13
+ on: (type, listener) => eventEmitter.on(type, listener),
14
+ off: (type, listener) => eventEmitter.off(type, listener),
15
+ removeAllListeners: type => eventEmitter.removeAllListeners(type),
16
+ }),
17
+ initCore: jest.fn(),
18
+ };
19
+ });
20
+
21
+ describe('hd-common-connect-sdk device state events', () => {
22
+ test('forwards KnownDevice connect and disconnect payload wrappers to SDK consumers', async () => {
23
+ let handleCoreMessage;
24
+ const core = {
25
+ on: jest.fn((event, listener) => {
26
+ if (event === CORE_EVENT) {
27
+ handleCoreMessage = listener;
28
+ }
29
+ }),
30
+ dispose: jest.fn(),
31
+ };
32
+ initCore.mockResolvedValue(core);
33
+ const onConnect = jest.fn();
34
+ const onDisconnect = jest.fn();
35
+ HardwareCommonConnectSdk.on(DEVICE.CONNECT, onConnect);
36
+ HardwareCommonConnectSdk.on(DEVICE.DISCONNECT, onDisconnect);
37
+
38
+ await HardwareCommonConnectSdk.init({ env: 'lowlevel' });
39
+ const device = {
40
+ connectId: 'ble-connect-id',
41
+ serialNo: 'SERIAL-001',
42
+ uuid: 'SERIAL-001',
43
+ label: 'OneKey Test',
44
+ };
45
+ const payload = { device };
46
+
47
+ handleCoreMessage({
48
+ event: DEVICE_EVENT,
49
+ type: DEVICE.CONNECT,
50
+ payload,
51
+ });
52
+ handleCoreMessage({
53
+ event: DEVICE_EVENT,
54
+ type: DEVICE.DISCONNECT,
55
+ payload,
56
+ });
57
+
58
+ expect(onConnect).toHaveBeenCalledWith(payload);
59
+ expect(onDisconnect).toHaveBeenCalledWith(payload);
60
+ HardwareCommonConnectSdk.removeAllListeners(DEVICE.CONNECT);
61
+ HardwareCommonConnectSdk.removeAllListeners(DEVICE.DISCONNECT);
62
+ await HardwareCommonConnectSdk.dispose();
63
+ });
64
+
65
+ test('forwards Protocol V2 DEVICE.STATE payloads to SDK consumers', async () => {
66
+ let handleCoreMessage;
67
+ const core = {
68
+ on: jest.fn((event, listener) => {
69
+ if (event === CORE_EVENT) {
70
+ handleCoreMessage = listener;
71
+ }
72
+ }),
73
+ dispose: jest.fn(),
74
+ };
75
+ initCore.mockResolvedValue(core);
76
+ const listener = jest.fn();
77
+ HardwareCommonConnectSdk.on(DEVICE.STATE, listener);
78
+
79
+ await HardwareCommonConnectSdk.init({ env: 'webusb' });
80
+ const payload = {
81
+ connectId: 'connect-id',
82
+ revision: 1,
83
+ source: 'device-info',
84
+ changedKeys: ['protocolVersion'],
85
+ state: { protocol: 'V2', protocolVersion: 2 },
86
+ };
87
+ handleCoreMessage({
88
+ event: DEVICE_EVENT,
89
+ type: DEVICE.STATE,
90
+ payload,
91
+ });
92
+
93
+ expect(listener).toHaveBeenCalledWith(payload);
94
+ HardwareCommonConnectSdk.removeAllListeners(DEVICE.STATE);
95
+ await HardwareCommonConnectSdk.dispose();
96
+ });
97
+ });
package/dist/index.js CHANGED
@@ -586,8 +586,9 @@ var getTransport = function (env) { return __awaiter(void 0, void 0, void 0, fun
586
586
  return __generator(this, function (_a) {
587
587
  switch (_a.label) {
588
588
  case 0:
589
- if (env === 'desktop-web-ble')
589
+ if (env === 'desktop-web-ble') {
590
590
  return [2 /*return*/, hdTransportWebDevice.ElectronBleTransport];
591
+ }
591
592
  if (env === 'webusb' || env === 'desktop-webusb')
592
593
  return [2 /*return*/, hdTransportWebDevice.WebUsbTransport];
593
594
  if (env === 'lowlevel')
@@ -626,13 +627,17 @@ var cancel = function (connectId) {
626
627
  return;
627
628
  _core.handleMessage({ event: HardwareSdk.IFRAME.CANCEL, type: HardwareSdk.IFRAME.CANCEL, payload: { connectId: connectId } });
628
629
  };
630
+ var cancelOperation = function (operationId) {
631
+ _core === null || _core === void 0 ? void 0 : _core.cancelOperation(operationId);
632
+ };
629
633
  function handleMessage(message) {
630
634
  var event = message.event;
631
635
  if (!_core) {
632
636
  return;
633
637
  }
638
+ var blockLog = HardwareSdk.getLogBlockLabel(message);
634
639
  if (event !== HardwareSdk.LOG_EVENT) {
635
- Log.debug('hd-common-connect-sdk handleMessage', message);
640
+ Log.debug('hd-common-connect-sdk handleMessage', blockLog !== null && blockLog !== void 0 ? blockLog : message);
636
641
  }
637
642
  switch (event) {
638
643
  case HardwareSdk.UI_EVENT:
@@ -645,7 +650,13 @@ function handleMessage(message) {
645
650
  eventEmitter.emit(message.event, message);
646
651
  break;
647
652
  case HardwareSdk.DEVICE_EVENT:
648
- if ([HardwareSdk.DEVICE.CONNECT, HardwareSdk.DEVICE.DISCONNECT, HardwareSdk.DEVICE.FEATURES, HardwareSdk.DEVICE.SUPPORT_FEATURES].includes(message.type)) {
653
+ if ([
654
+ HardwareSdk.DEVICE.CONNECT,
655
+ HardwareSdk.DEVICE.DISCONNECT,
656
+ HardwareSdk.DEVICE.FEATURES,
657
+ HardwareSdk.DEVICE.STATE,
658
+ HardwareSdk.DEVICE.SUPPORT_FEATURES,
659
+ ].includes(message.type)) {
649
660
  eventEmitter.emit(message.type, message.payload);
650
661
  }
651
662
  break;
@@ -713,12 +724,13 @@ var init = function (settings, _, plugin) { return __awaiter(void 0, void 0, voi
713
724
  });
714
725
  }); };
715
726
  var call = function (params) { return __awaiter(void 0, void 0, void 0, function () {
716
- var response, error_2;
727
+ var blockLog, response, error_2;
717
728
  var _a, _b, _c;
718
729
  return __generator(this, function (_d) {
719
730
  switch (_d.label) {
720
731
  case 0:
721
- Log.debug('call: ', params);
732
+ blockLog = HardwareSdk.getLogBlockLabel(params);
733
+ Log.debug('call: ', blockLog !== null && blockLog !== void 0 ? blockLog : params);
722
734
  _d.label = 1;
723
735
  case 1:
724
736
  _d.trys.push([1, 3, , 4]);
@@ -756,6 +768,7 @@ var HardwareCommonConnectSdk = HardwareSdk__default["default"]({
756
768
  init: init,
757
769
  call: call,
758
770
  cancel: cancel,
771
+ cancelOperation: cancelOperation,
759
772
  dispose: dispose,
760
773
  uiResponse: uiResponse,
761
774
  updateSettings: updateSettings,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-common-connect-sdk",
3
- "version": "1.1.34-alpha.2",
3
+ "version": "1.1.34-alpha.3",
4
4
  "author": "OneKey",
5
5
  "homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
6
6
  "license": "ISC",
@@ -20,13 +20,13 @@
20
20
  "lint:fix": "eslint . --fix"
21
21
  },
22
22
  "dependencies": {
23
- "@onekeyfe/hd-core": "1.1.34-alpha.2",
24
- "@onekeyfe/hd-shared": "1.1.34-alpha.2",
25
- "@onekeyfe/hd-transport-emulator": "1.1.34-alpha.2",
26
- "@onekeyfe/hd-transport-http": "1.1.34-alpha.2",
27
- "@onekeyfe/hd-transport-lowlevel": "1.1.34-alpha.2",
28
- "@onekeyfe/hd-transport-usb": "1.1.34-alpha.2",
29
- "@onekeyfe/hd-transport-web-device": "1.1.34-alpha.2"
23
+ "@onekeyfe/hd-core": "1.1.34-alpha.3",
24
+ "@onekeyfe/hd-shared": "1.1.34-alpha.3",
25
+ "@onekeyfe/hd-transport-emulator": "1.1.34-alpha.3",
26
+ "@onekeyfe/hd-transport-http": "1.1.34-alpha.3",
27
+ "@onekeyfe/hd-transport-lowlevel": "1.1.34-alpha.3",
28
+ "@onekeyfe/hd-transport-usb": "1.1.34-alpha.3",
29
+ "@onekeyfe/hd-transport-web-device": "1.1.34-alpha.3"
30
30
  },
31
- "gitHead": "dee167c35d191f3f4e02c4cb6228e1f926f929ec"
31
+ "gitHead": "3688bc8495eeb2ffd5616270d13fa29e8967623a"
32
32
  }
package/src/index.ts CHANGED
@@ -13,6 +13,7 @@ import HardwareSdk, {
13
13
  createUiMessage,
14
14
  enableLog,
15
15
  executeCallback,
16
+ getLogBlockLabel,
16
17
  getLogger,
17
18
  initCore,
18
19
  parseConnectSettings,
@@ -38,7 +39,9 @@ const eventEmitter = new EventEmitter();
38
39
  const Log = getLogger(LoggerNames.HdCommonConnectSdk);
39
40
 
40
41
  const getTransport = async (env: ConnectSettings['env']) => {
41
- if (env === 'desktop-web-ble') return ElectronBleTransport;
42
+ if (env === 'desktop-web-ble') {
43
+ return ElectronBleTransport;
44
+ }
42
45
  if (env === 'webusb' || env === 'desktop-webusb') return WebUsbTransport;
43
46
  if (env === 'lowlevel') return LowlevelTransport;
44
47
  if (env === 'node-usb') {
@@ -76,14 +79,19 @@ const cancel = (connectId?: string) => {
76
79
  _core.handleMessage({ event: IFRAME.CANCEL, type: IFRAME.CANCEL, payload: { connectId } });
77
80
  };
78
81
 
82
+ const cancelOperation = (operationId: string) => {
83
+ _core?.cancelOperation(operationId);
84
+ };
85
+
79
86
  function handleMessage(message: CoreMessage) {
80
87
  const { event } = message;
81
88
  if (!_core) {
82
89
  return;
83
90
  }
84
91
 
92
+ const blockLog = getLogBlockLabel(message);
85
93
  if (event !== LOG_EVENT) {
86
- Log.debug('hd-common-connect-sdk handleMessage', message);
94
+ Log.debug('hd-common-connect-sdk handleMessage', blockLog ?? message);
87
95
  }
88
96
  switch (event) {
89
97
  case UI_EVENT:
@@ -98,7 +106,13 @@ function handleMessage(message: CoreMessage) {
98
106
  case DEVICE_EVENT:
99
107
  if (
100
108
  (
101
- [DEVICE.CONNECT, DEVICE.DISCONNECT, DEVICE.FEATURES, DEVICE.SUPPORT_FEATURES] as string[]
109
+ [
110
+ DEVICE.CONNECT,
111
+ DEVICE.DISCONNECT,
112
+ DEVICE.FEATURES,
113
+ DEVICE.STATE,
114
+ DEVICE.SUPPORT_FEATURES,
115
+ ] as string[]
102
116
  ).includes(message.type)
103
117
  ) {
104
118
  eventEmitter.emit(message.type, message.payload);
@@ -157,7 +171,8 @@ const init = async (
157
171
  };
158
172
 
159
173
  const call = async (params: any) => {
160
- Log.debug('call: ', params);
174
+ const blockLog = getLogBlockLabel(params);
175
+ Log.debug('call: ', blockLog ?? params);
161
176
 
162
177
  try {
163
178
  const response = await postMessage({ event: IFRAME.CALL, type: IFRAME.CALL, payload: params });
@@ -194,6 +209,7 @@ const HardwareCommonConnectSdk = HardwareSdk({
194
209
  init,
195
210
  call,
196
211
  cancel,
212
+ cancelOperation,
197
213
  dispose,
198
214
  uiResponse,
199
215
  updateSettings,