@onekeyfe/hd-transport-web-device 1.1.26 → 1.1.27-alpha.30

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,70 @@
1
+ /// <reference types="node" />
2
+ import type { Deferred } from '@onekeyfe/hd-shared';
3
+ import type { DesktopAPI } from '@onekeyfe/hd-transport-electron';
4
+ import type { OneKeyDeviceInfo, ProtocolType, TransportCallOptions } from '@onekeyfe/hd-transport';
5
+ import type EventEmitter from 'events';
6
+ declare global {
7
+ interface Window {
8
+ desktopApi?: DesktopAPI;
9
+ }
10
+ }
11
+ export type BleAcquireInput = {
12
+ uuid: string;
13
+ forceCleanRunPromise?: boolean;
14
+ expectedProtocol?: ProtocolType;
15
+ };
16
+ export default class ElectronAutoBleTransport {
17
+ private _messages;
18
+ private _messagesV2;
19
+ name: string;
20
+ configured: boolean;
21
+ runPromise: Deferred<Uint8Array | string> | null;
22
+ Log?: any;
23
+ emitter?: EventEmitter;
24
+ private connectedDevices;
25
+ private deviceProtocol;
26
+ private v1Buffers;
27
+ private v2Assemblers;
28
+ private v2FrameQueue;
29
+ private v2FramePromise;
30
+ private notificationCleanups;
31
+ private disconnectCleanups;
32
+ private handleBluetoothError;
33
+ private cleanupDeviceState;
34
+ init(logger: any, emitter?: EventEmitter): void;
35
+ configure(signedData: any): void;
36
+ configureProtocolV2(signedData: any): void;
37
+ listen(): Promise<OneKeyDeviceInfo[]>;
38
+ enumerate(): Promise<OneKeyDeviceInfo[]>;
39
+ acquire(input: BleAcquireInput): Promise<{
40
+ uuid: string;
41
+ commType: import("@onekeyfe/hd-transport").OneKeyDeviceCommType;
42
+ path: string;
43
+ session?: string | null | undefined;
44
+ debugSession?: string | null | undefined;
45
+ debug: boolean;
46
+ id: string;
47
+ name: string | null;
48
+ protocolType?: ProtocolType | undefined;
49
+ }>;
50
+ release(id: string): Promise<void>;
51
+ private createProtocolMismatchError;
52
+ private detectProtocol;
53
+ private probeProtocolV1;
54
+ private probeProtocolV2;
55
+ private writeWithChunking;
56
+ private writeWithRetry;
57
+ private handleNotification;
58
+ private handleProtocolV2Notification;
59
+ private resolveProtocolV2Frame;
60
+ private rejectProtocolV2Frame;
61
+ private resetProtocolV2Frames;
62
+ private readProtocolV2Frame;
63
+ private handleProtocolV1Notification;
64
+ call(uuid: string, name: string, data: Record<string, unknown>, options?: TransportCallOptions): Promise<import("@onekeyfe/hd-transport").MessageFromOneKey>;
65
+ private callProtocolV1;
66
+ private callProtocolV2;
67
+ private processProtocolV1Notification;
68
+ getProtocolType(path: string): ProtocolType;
69
+ }
70
+ //# sourceMappingURL=electron-auto-ble-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-auto-ble-transport.d.ts","sourceRoot":"","sources":["../src/electron-auto-ble-transport.ts"],"names":[],"mappings":";AAmBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,KAAK,YAAY,MAAM,QAAQ,CAAC;AAWvC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB;CACF;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,YAAY,CAAC;CACjC,CAAC;AAyCF,MAAM,CAAC,OAAO,OAAO,wBAAwB;IAC3C,OAAO,CAAC,SAAS,CAA0D;IAE3E,OAAO,CAAC,WAAW,CAA0D;IAE7E,IAAI,SAA8B;IAElC,UAAU,UAAS;IAEnB,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,IAAI,CAAQ;IAExD,GAAG,CAAC,EAAE,GAAG,CAAC;IAEV,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,OAAO,CAAC,gBAAgB,CAA0B;IAElD,OAAO,CAAC,cAAc,CAAwC;IAE9D,OAAO,CAAC,SAAS,CAAsE;IAEvF,OAAO,CAAC,YAAY,CAAoD;IAExE,OAAO,CAAC,YAAY,CAAoB;IAExC,OAAO,CAAC,cAAc,CAAqC;IAE3D,OAAO,CAAC,oBAAoB,CAAsC;IAElE,OAAO,CAAC,kBAAkB,CAAsC;IAEhE,OAAO,CAAC,oBAAoB;IA+B5B,OAAO,CAAC,kBAAkB;IAmB1B,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY;IAcxC,SAAS,CAAC,UAAU,EAAE,GAAG;IAKzB,mBAAmB,CAAC,UAAU,EAAE,GAAG;IAK7B,MAAM;IAIN,SAAS,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAiBxC,OAAO,CAAC,KAAK,EAAE,eAAe;;;;;;;;;;;IAqF9B,OAAO,CAAC,EAAE,EAAE,MAAM;IAexB,OAAO,CAAC,2BAA2B;YAOrB,cAAc;YAqCd,eAAe;YAef,eAAe;YAmBf,iBAAiB;YAsBjB,cAAc;IA4B5B,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,4BAA4B;IA6BpC,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,qBAAqB;YAKf,mBAAmB;IAiBjC,OAAO,CAAC,4BAA4B;IAgB9B,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,oBAAoB;YAyBlB,cAAc;YAuEd,cAAc;IA2E5B,OAAO,CAAC,6BAA6B;IAgDrC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;CAG5C"}
@@ -2,6 +2,7 @@
2
2
  import transport from '@onekeyfe/hd-transport';
3
3
  import type { Deferred } from '@onekeyfe/hd-shared';
4
4
  import type EventEmitter from 'events';
5
+ import type { ProtocolType } from '@onekeyfe/hd-transport';
5
6
  import type { DesktopAPI } from '@onekeyfe/hd-transport-electron';
6
7
  declare global {
7
8
  interface Window {
@@ -23,6 +24,7 @@ export default class ElectronBleTransport {
23
24
  private dataBuffers;
24
25
  private notificationCleanups;
25
26
  private disconnectCleanups;
27
+ getProtocolType(_path: string): ProtocolType;
26
28
  private handleBluetoothError;
27
29
  private cleanupDeviceState;
28
30
  init(logger: any, emitter?: EventEmitter): void;
@@ -1 +1 @@
1
- {"version":3,"file":"electron-ble-transport.d.ts","sourceRoot":"","sources":["../src/electron-ble-transport.ts"],"names":[],"mappings":";AAAA,OAAO,SAAkD,MAAM,wBAAwB,CAAC;AASxF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAKlE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB;CACF;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AASF,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,SAAS,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAEnE,IAAI,SAA0B;IAE9B,UAAU,UAAS;IAEnB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAExC,GAAG,CAAC,EAAE,GAAG,CAAC;IAEV,OAAO,CAAC,EAAE,YAAY,CAAC;IAGvB,OAAO,CAAC,gBAAgB,CAA0B;IAGlD,OAAO,CAAC,WAAW,CAAsE;IAGzF,OAAO,CAAC,oBAAoB,CAAsC;IAGlE,OAAO,CAAC,kBAAkB,CAAsC;IAGhE,OAAO,CAAC,oBAAoB;IAmC5B,OAAO,CAAC,kBAAkB;IAmB1B,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY;IAexC,SAAS,CAAC,UAAU,EAAE,GAAG;IAMzB,MAAM;IAEA,SAAS,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAcpD,OAAO,CAAC,KAAK,EAAE,eAAe;;;;IA8E9B,OAAO,CAAC,EAAE,EAAE,MAAM;IAwBxB,OAAO,CAAC,sBAAsB;IA2BxB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA2EpE,OAAO,CAAC,yBAAyB;CAyDlC"}
1
+ {"version":3,"file":"electron-ble-transport.d.ts","sourceRoot":"","sources":["../src/electron-ble-transport.ts"],"names":[],"mappings":";AAAA,OAAO,SAGN,MAAM,wBAAwB,CAAC;AAShC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAKlE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB;CACF;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AASF,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,SAAS,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAEnE,IAAI,SAA0B;IAE9B,UAAU,UAAS;IAEnB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAExC,GAAG,CAAC,EAAE,GAAG,CAAC;IAEV,OAAO,CAAC,EAAE,YAAY,CAAC;IAGvB,OAAO,CAAC,gBAAgB,CAA0B;IAGlD,OAAO,CAAC,WAAW,CAAsE;IAGzF,OAAO,CAAC,oBAAoB,CAAsC;IAGlE,OAAO,CAAC,kBAAkB,CAAsC;IAGhE,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IAK5C,OAAO,CAAC,oBAAoB;IAmC5B,OAAO,CAAC,kBAAkB;IAmB1B,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY;IAexC,SAAS,CAAC,UAAU,EAAE,GAAG;IAMzB,MAAM;IAEA,SAAS,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAcpD,OAAO,CAAC,KAAK,EAAE,eAAe;;;;IA8E9B,OAAO,CAAC,EAAE,EAAE,MAAM;IAwBxB,OAAO,CAAC,sBAAsB;IA2BxB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA2EpE,OAAO,CAAC,yBAAyB;CAyDlC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import * as transport from '@onekeyfe/hd-transport';
2
- import transport__default, { AcquireInput, OneKeyDeviceInfoBase } from '@onekeyfe/hd-transport';
1
+ import * as _onekeyfe_hd_transport from '@onekeyfe/hd-transport';
2
+ import _onekeyfe_hd_transport__default, { AcquireInput, TransportCallOptions, ProtocolType, OneKeyDeviceInfoBase, OneKeyDeviceInfo } from '@onekeyfe/hd-transport';
3
3
  import { Deferred } from '@onekeyfe/hd-shared';
4
4
  import EventEmitter from 'events';
5
5
  import { DesktopAPI } from '@onekeyfe/hd-transport-electron';
@@ -7,9 +7,14 @@ import { DesktopAPI } from '@onekeyfe/hd-transport-electron';
7
7
  interface DeviceInfo extends OneKeyDeviceInfoBase {
8
8
  path: string;
9
9
  device: USBDevice;
10
+ protocolType?: ProtocolType;
10
11
  }
11
12
  declare class WebUsbTransport {
12
- messages: ReturnType<typeof transport__default.parseConfigure> | undefined;
13
+ messages: ReturnType<typeof _onekeyfe_hd_transport__default.parseConfigure> | undefined;
14
+ messagesV2: ReturnType<typeof _onekeyfe_hd_transport__default.parseConfigure> | undefined;
15
+ private deviceProtocol;
16
+ private protocolV2Assemblers;
17
+ private deviceEndpoints;
13
18
  name: string;
14
19
  stopped: boolean;
15
20
  configured: boolean;
@@ -21,12 +26,16 @@ declare class WebUsbTransport {
21
26
  interfaceId: number;
22
27
  init(logger: any): void;
23
28
  configure(signedData: any): void;
29
+ configureProtocolV2(signedData: any): void;
24
30
  promptDeviceAccess(): Promise<USBDevice | null>;
25
31
  enumerate(): Promise<DeviceInfo[]>;
26
32
  getConnectedDevices(): Promise<DeviceInfo[]>;
27
33
  acquire(input: AcquireInput): Promise<string | undefined>;
34
+ private createProtocolMismatchError;
35
+ private detectProtocol;
28
36
  findDevice(path: string): Promise<USBDevice>;
29
37
  connect(path: string, first: boolean): Promise<void>;
38
+ private discoverEndpoints;
30
39
  connectToDevice(path: string, first: boolean): Promise<void>;
31
40
  post(session: string, name: string, data: Record<string, unknown>): Promise<void>;
32
41
  private getErrorMessage;
@@ -36,9 +45,17 @@ declare class WebUsbTransport {
36
45
  private toArrayBuffer;
37
46
  private transferOutWithRetry;
38
47
  private transferInWithRetry;
39
- call(path: string, name: string, data: Record<string, unknown>): Promise<transport.MessageFromOneKey>;
40
- receiveData(path: string): Promise<string>;
48
+ private resetConnectionAfterProbe;
49
+ private withProtocolReadTimeout;
50
+ private probeProtocolV1;
51
+ private probeProtocolV2;
52
+ call(path: string, name: string, data: Record<string, unknown>, options?: TransportCallOptions): Promise<_onekeyfe_hd_transport.MessageFromOneKey>;
53
+ private callProtocolV1;
54
+ private callProtocolV2;
55
+ private receiveProtocolV2Frame;
56
+ receiveData(path: string, timeoutMs?: number): Promise<string>;
41
57
  release(path: string): Promise<void>;
58
+ getProtocolType(path: string): ProtocolType;
42
59
  }
43
60
 
44
61
  declare global {
@@ -46,12 +63,12 @@ declare global {
46
63
  desktopApi?: DesktopAPI;
47
64
  }
48
65
  }
49
- type BleAcquireInput = {
66
+ type BleAcquireInput$1 = {
50
67
  uuid: string;
51
68
  forceCleanRunPromise?: boolean;
52
69
  };
53
70
  declare class ElectronBleTransport {
54
- _messages: ReturnType<typeof transport__default.parseConfigure> | undefined;
71
+ _messages: ReturnType<typeof _onekeyfe_hd_transport__default.parseConfigure> | undefined;
55
72
  name: string;
56
73
  configured: boolean;
57
74
  runPromise: Deferred<any> | null;
@@ -61,6 +78,7 @@ declare class ElectronBleTransport {
61
78
  private dataBuffers;
62
79
  private notificationCleanups;
63
80
  private disconnectCleanups;
81
+ getProtocolType(_path: string): ProtocolType;
64
82
  private handleBluetoothError;
65
83
  private cleanupDeviceState;
66
84
  init(logger: any, emitter?: EventEmitter): void;
@@ -70,14 +88,79 @@ declare class ElectronBleTransport {
70
88
  id: string;
71
89
  name: string;
72
90
  }[]>;
73
- acquire(input: BleAcquireInput): Promise<{
91
+ acquire(input: BleAcquireInput$1): Promise<{
74
92
  uuid: string;
75
93
  path: string;
76
94
  }>;
77
95
  release(id: string): Promise<void>;
78
96
  private handleNotificationData;
79
- call(uuid: string, name: string, data: Record<string, unknown>): Promise<transport.MessageFromOneKey>;
97
+ call(uuid: string, name: string, data: Record<string, unknown>): Promise<_onekeyfe_hd_transport.MessageFromOneKey>;
80
98
  private processNotificationPacket;
81
99
  }
82
100
 
83
- export { ElectronBleTransport, WebUsbTransport };
101
+ declare global {
102
+ interface Window {
103
+ desktopApi?: DesktopAPI;
104
+ }
105
+ }
106
+ type BleAcquireInput = {
107
+ uuid: string;
108
+ forceCleanRunPromise?: boolean;
109
+ expectedProtocol?: ProtocolType;
110
+ };
111
+ declare class ElectronAutoBleTransport {
112
+ private _messages;
113
+ private _messagesV2;
114
+ name: string;
115
+ configured: boolean;
116
+ runPromise: Deferred<Uint8Array | string> | null;
117
+ Log?: any;
118
+ emitter?: EventEmitter;
119
+ private connectedDevices;
120
+ private deviceProtocol;
121
+ private v1Buffers;
122
+ private v2Assemblers;
123
+ private v2FrameQueue;
124
+ private v2FramePromise;
125
+ private notificationCleanups;
126
+ private disconnectCleanups;
127
+ private handleBluetoothError;
128
+ private cleanupDeviceState;
129
+ init(logger: any, emitter?: EventEmitter): void;
130
+ configure(signedData: any): void;
131
+ configureProtocolV2(signedData: any): void;
132
+ listen(): Promise<OneKeyDeviceInfo[]>;
133
+ enumerate(): Promise<OneKeyDeviceInfo[]>;
134
+ acquire(input: BleAcquireInput): Promise<{
135
+ uuid: string;
136
+ commType: _onekeyfe_hd_transport.OneKeyDeviceCommType;
137
+ path: string;
138
+ session?: string | null | undefined;
139
+ debugSession?: string | null | undefined;
140
+ debug: boolean;
141
+ id: string;
142
+ name: string | null;
143
+ protocolType?: ProtocolType | undefined;
144
+ }>;
145
+ release(id: string): Promise<void>;
146
+ private createProtocolMismatchError;
147
+ private detectProtocol;
148
+ private probeProtocolV1;
149
+ private probeProtocolV2;
150
+ private writeWithChunking;
151
+ private writeWithRetry;
152
+ private handleNotification;
153
+ private handleProtocolV2Notification;
154
+ private resolveProtocolV2Frame;
155
+ private rejectProtocolV2Frame;
156
+ private resetProtocolV2Frames;
157
+ private readProtocolV2Frame;
158
+ private handleProtocolV1Notification;
159
+ call(uuid: string, name: string, data: Record<string, unknown>, options?: TransportCallOptions): Promise<_onekeyfe_hd_transport.MessageFromOneKey>;
160
+ private callProtocolV1;
161
+ private callProtocolV2;
162
+ private processProtocolV1Notification;
163
+ getProtocolType(path: string): ProtocolType;
164
+ }
165
+
166
+ export { ElectronAutoBleTransport, ElectronBleTransport, WebUsbTransport };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,UAAU,CAAC;AACvC,OAAO,oBAAoB,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,UAAU,CAAC;AACvC,OAAO,oBAAoB,MAAM,0BAA0B,CAAC;AAC5D,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,CAAC"}