@onekeyfe/hd-transport-react-native 1.2.3-alpha.10 → 1.2.3-alpha.11
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.
- package/dist/BleManager.d.ts +5 -6
- package/dist/BleManager.d.ts.map +1 -1
- package/dist/index.d.ts +10 -35
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +151 -396
- package/package.json +6 -6
- package/src/BleManager.ts +38 -78
- package/src/__tests__/enumerate.test.ts +0 -15
- package/src/__tests__/protocolReprobe.test.ts +93 -1
- package/src/__tests__/protocolV2Link.test.ts +0 -15
- package/src/index.ts +178 -162
- package/dist/bleEncryption.d.ts +0 -17
- package/dist/bleEncryption.d.ts.map +0 -1
- package/dist/bleKeyMissing.d.ts +0 -7
- package/dist/bleKeyMissing.d.ts.map +0 -1
- package/src/__tests__/androidEncryption.test.ts +0 -482
- package/src/__tests__/androidKeyMissing.test.ts +0 -307
- package/src/bleEncryption.ts +0 -267
- package/src/bleKeyMissing.ts +0 -106
package/dist/BleManager.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { Peripheral } from '@onekeyfe/react-native-ble-utils';
|
|
2
2
|
export declare const getConnectedDeviceIds: (serviceUuids: string[]) => Promise<Peripheral[]>;
|
|
3
3
|
export declare const getBondedDevices: () => Promise<Peripheral[]>;
|
|
4
|
-
export declare const pairDevice: (macAddress: string) => Promise<
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export declare const onDeviceBondState: (bleMacAddress: string, signal?: AbortSignal, options?: DeviceBondStateOptions) => Promise<Peripheral | undefined>;
|
|
4
|
+
export declare const pairDevice: (macAddress: string) => Promise<{
|
|
5
|
+
bonded: boolean;
|
|
6
|
+
bonding: boolean;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const onDeviceBondState: (bleMacAddress: string, signal?: AbortSignal) => Promise<Peripheral | undefined>;
|
|
10
9
|
//# sourceMappingURL=BleManager.d.ts.map
|
package/dist/BleManager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BleManager.d.ts","sourceRoot":"","sources":["../src/BleManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BleManager.d.ts","sourceRoot":"","sources":["../src/BleManager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAsBnE,eAAO,MAAM,qBAAqB,iBAAkB,MAAM,EAAE,0BACZ,CAAC;AAEjD,eAAO,MAAM,gBAAgB,6BAAwC,CAAC;AAEtE,eAAO,MAAM,UAAU,eAAgB,MAAM;;;EAAoC,CAAC;AAElF,eAAO,MAAM,iBAAiB,kBACb,MAAM,WACZ,WAAW,KACnB,QAAQ,UAAU,GAAG,SAAS,CAmF7B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -62,24 +62,6 @@ declare const getFirmwareUploadWriteRetryType: (error: unknown) => FirmwareUploa
|
|
|
62
62
|
*/
|
|
63
63
|
declare const BLE_WRITE_PACKET_TIMEOUT_MS = 10000;
|
|
64
64
|
declare const BLE_NATIVE_TEARDOWN_TIMEOUT_MS = 3000;
|
|
65
|
-
/**
|
|
66
|
-
* Android reports a lost bond (ACTION_KEY_MISSING) while it encrypts a new link, so only
|
|
67
|
-
* a failure this soon after the link started can be explained by it. Later disconnects,
|
|
68
|
-
* such as a firmware-update reboot, must keep their own meaning.
|
|
69
|
-
*/
|
|
70
|
-
declare const ANDROID_KEY_MISSING_LINK_WINDOW_MS = 10000;
|
|
71
|
-
/** The broadcast and the GATT disconnect it explains travel separately; either can land first. */
|
|
72
|
-
declare const ANDROID_KEY_MISSING_GRACE_MS = 500;
|
|
73
|
-
/**
|
|
74
|
-
* Android reports a bonded link's first encryption result within about half a second of
|
|
75
|
-
* connecting. Past this, the result is treated as unknown and the link is used as before.
|
|
76
|
-
*/
|
|
77
|
-
declare const ANDROID_ENCRYPTION_RESULT_TIMEOUT_MS = 1500;
|
|
78
|
-
/**
|
|
79
|
-
* A system re-pairing needs the user to accept a pairing request and confirm the code on the
|
|
80
|
-
* device. The Bluetooth stack gives up after 30s and then reports key missing.
|
|
81
|
-
*/
|
|
82
|
-
declare const ANDROID_SYSTEM_REPAIR_TIMEOUT_MS = 35000;
|
|
83
65
|
/** Consecutive wedged writes on one device before the BLE manager itself is recreated. */
|
|
84
66
|
declare const BLE_WRITE_TIMEOUT_MANAGER_RESET_THRESHOLD = 2;
|
|
85
67
|
type ProtocolV2BleTuning = {
|
|
@@ -165,6 +147,13 @@ declare class ReactNativeBleTransport {
|
|
|
165
147
|
private protocolReprobeFailures;
|
|
166
148
|
/** Endpoints whose last detection got no answer; 'woken' once their Initialize wake is spent. */
|
|
167
149
|
private silentDetections;
|
|
150
|
+
/**
|
|
151
|
+
* iOS can report a reset Pro2 as a generic peripheral disconnect instead of
|
|
152
|
+
* CBErrorPeerRemovedPairingInformation. Keep that first probe failure across
|
|
153
|
+
* the automatic cold reconnect and require a second failed probe before
|
|
154
|
+
* classifying the OS bond as invalid.
|
|
155
|
+
*/
|
|
156
|
+
private iosProbeDisconnectEvidence;
|
|
168
157
|
/** Android endpoints whose cached GATT table is suspect; the next connect refreshes it. */
|
|
169
158
|
private androidGattCacheRefreshes;
|
|
170
159
|
/**
|
|
@@ -173,8 +162,6 @@ declare class ReactNativeBleTransport {
|
|
|
173
162
|
* fails with ATT 5/15. Remember it so detectProtocol fails immediately.
|
|
174
163
|
*/
|
|
175
164
|
private staleBondErrors;
|
|
176
|
-
/** When the current Android link attempt began; bounds which key-missing signals apply. */
|
|
177
|
-
private androidLinkStartedAt;
|
|
178
165
|
/** Strict or previously confirmed V2 target while acquire installs notifications. */
|
|
179
166
|
private acquiringProtocolV2;
|
|
180
167
|
private protocolV2Assemblers;
|
|
@@ -220,20 +207,6 @@ declare class ReactNativeBleTransport {
|
|
|
220
207
|
private releaseNative;
|
|
221
208
|
post(session: string, name: string, data: Record<string, unknown>): Promise<void>;
|
|
222
209
|
call(uuid: string, name: string, data: Record<string, unknown>, options?: TransportCallOptions): Promise<transport.MessageFromOneKey>;
|
|
223
|
-
/**
|
|
224
|
-
* Android 16+ keeps a bond the device no longer holds keys for. The device drops the link
|
|
225
|
-
* and the only structured evidence is ACTION_KEY_MISSING, so a link loss right after
|
|
226
|
-
* connect is re-read as an invalid bond when that signal belongs to the same attempt.
|
|
227
|
-
*/
|
|
228
|
-
private resolveAndroidBondInvalid;
|
|
229
|
-
/**
|
|
230
|
-
* Android 16+ encrypts a bonded link on its own right after connecting. Subscribing to
|
|
231
|
-
* notifications before that finishes gets the CCCD write rejected, and the framework's retry
|
|
232
|
-
* encrypts again with the same stale key; firmware that allows one failure per link then drops
|
|
233
|
-
* it before the system can re-pair. Holding GATT until the result lets a lost bond be re-paired
|
|
234
|
-
* in place. Without the platform signal this resolves immediately.
|
|
235
|
-
*/
|
|
236
|
-
private waitForAndroidLinkSecurity;
|
|
237
210
|
private callProtocolV1;
|
|
238
211
|
stop(): Promise<void>;
|
|
239
212
|
disconnect(session: string): Promise<void>;
|
|
@@ -279,6 +252,8 @@ declare class ReactNativeBleTransport {
|
|
|
279
252
|
private resetPlxManager;
|
|
280
253
|
private createProtocolMismatchError;
|
|
281
254
|
private createProtocolDetectionError;
|
|
255
|
+
private rememberIosProbeDisconnect;
|
|
256
|
+
private consumeIosProbeDisconnect;
|
|
282
257
|
private clearProbeProtocol;
|
|
283
258
|
/** Protocol to route a call with: confirmed if known, otherwise the one being probed. */
|
|
284
259
|
private getActiveProtocol;
|
|
@@ -313,4 +288,4 @@ declare class ReactNativeBleTransport {
|
|
|
313
288
|
getProtocolType(path: string): ProtocolType | undefined;
|
|
314
289
|
}
|
|
315
290
|
|
|
316
|
-
export {
|
|
291
|
+
export { ANDROID_LINK_DROP_QUIET_MS, ANDROID_MTU_EXCHANGE_TIMEOUT_MS, BLE_CONNECT_TIMEOUT_MANAGER_RESET_THRESHOLD, BLE_CONNECT_TIMEOUT_MS, BLE_GATT_SETUP_TIMEOUT_MS, BLE_NATIVE_TEARDOWN_TIMEOUT_MS, BLE_SETUP_WEDGED_MESSAGE, BLE_WRITE_PACKET_TIMEOUT_MS, BLE_WRITE_TIMEOUT_MANAGER_RESET_THRESHOLD, IOneKeyDevice, PROTOCOL_REPROBE_FALLBACK_ATTEMPTS, ProtocolV2BleTuning, configureProtocolV2BleTuning, ReactNativeBleTransport as default, getFirmwareUploadWriteRetryType, getProtocolV2BleTuning, resetProtocolV2BleTuning };
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAGL,UAAU,IAAI,aAAa,EAG5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,SAAS,EAAE,EAChB,KAAK,oBAAoB,EAIzB,KAAK,YAAY,EAKjB,KAAK,oBAAoB,EAI1B,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|