@ledgerhq/device-transport-kit-react-native-ble 0.0.0-v0-transaction-unfunded-20250918091119 → 0.0.0-verify-safe-address-20251016105127

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 (74) hide show
  1. package/README.md +32 -0
  2. package/lib/cjs/api/index.js +1 -1
  3. package/lib/cjs/api/index.js.map +3 -3
  4. package/lib/cjs/api/model/Errors.js +1 -1
  5. package/lib/cjs/api/model/Errors.js.map +3 -3
  6. package/lib/cjs/api/permissions/AndroidPermissionsService.js +2 -0
  7. package/lib/cjs/api/permissions/AndroidPermissionsService.js.map +7 -0
  8. package/lib/cjs/api/permissions/AndroidPermissionsService.test.js +2 -0
  9. package/lib/cjs/api/permissions/AndroidPermissionsService.test.js.map +7 -0
  10. package/lib/cjs/api/permissions/DefaultPermissionsService.js +2 -0
  11. package/lib/cjs/api/permissions/DefaultPermissionsService.js.map +7 -0
  12. package/lib/cjs/api/permissions/IOSPermissionsService.test.js +2 -0
  13. package/lib/cjs/api/permissions/IOSPermissionsService.test.js.map +7 -0
  14. package/lib/cjs/api/permissions/PermissionsAndroidNarrowedType.js +2 -0
  15. package/lib/cjs/api/permissions/PermissionsAndroidNarrowedType.js.map +7 -0
  16. package/lib/cjs/api/permissions/PermissionsService.js +2 -0
  17. package/lib/cjs/api/permissions/PermissionsService.js.map +7 -0
  18. package/lib/cjs/api/transport/RNBleApduSender.js +1 -1
  19. package/lib/cjs/api/transport/RNBleApduSender.js.map +2 -2
  20. package/lib/cjs/api/transport/RNBleTransport.js +1 -1
  21. package/lib/cjs/api/transport/RNBleTransport.js.map +3 -3
  22. package/lib/cjs/api/transport/RNBleTransport.test.js +1 -1
  23. package/lib/cjs/api/transport/RNBleTransport.test.js.map +3 -3
  24. package/lib/cjs/api/transport/RNBleTransportFactory.js +2 -0
  25. package/lib/cjs/api/transport/RNBleTransportFactory.js.map +7 -0
  26. package/lib/cjs/package.json +1 -1
  27. package/lib/esm/api/index.js +1 -1
  28. package/lib/esm/api/index.js.map +3 -3
  29. package/lib/esm/api/model/Errors.js +1 -1
  30. package/lib/esm/api/model/Errors.js.map +3 -3
  31. package/lib/esm/api/permissions/AndroidPermissionsService.js +2 -0
  32. package/lib/esm/api/permissions/AndroidPermissionsService.js.map +7 -0
  33. package/lib/esm/api/permissions/AndroidPermissionsService.test.js +2 -0
  34. package/lib/esm/api/permissions/AndroidPermissionsService.test.js.map +7 -0
  35. package/lib/esm/api/permissions/DefaultPermissionsService.js +2 -0
  36. package/lib/esm/api/permissions/DefaultPermissionsService.js.map +7 -0
  37. package/lib/esm/api/permissions/IOSPermissionsService.test.js +2 -0
  38. package/lib/esm/api/permissions/IOSPermissionsService.test.js.map +7 -0
  39. package/lib/esm/api/permissions/PermissionsAndroidNarrowedType.js +1 -0
  40. package/lib/esm/api/permissions/PermissionsAndroidNarrowedType.js.map +7 -0
  41. package/lib/esm/api/permissions/PermissionsService.js +1 -0
  42. package/lib/esm/api/permissions/PermissionsService.js.map +7 -0
  43. package/lib/esm/api/transport/RNBleApduSender.js +1 -1
  44. package/lib/esm/api/transport/RNBleApduSender.js.map +2 -2
  45. package/lib/esm/api/transport/RNBleTransport.js +1 -1
  46. package/lib/esm/api/transport/RNBleTransport.js.map +3 -3
  47. package/lib/esm/api/transport/RNBleTransport.test.js +1 -1
  48. package/lib/esm/api/transport/RNBleTransport.test.js.map +3 -3
  49. package/lib/esm/api/transport/RNBleTransportFactory.js +2 -0
  50. package/lib/esm/api/transport/RNBleTransportFactory.js.map +7 -0
  51. package/lib/esm/package.json +1 -1
  52. package/lib/types/api/index.d.ts +2 -1
  53. package/lib/types/api/index.d.ts.map +1 -1
  54. package/lib/types/api/model/Errors.d.ts +5 -0
  55. package/lib/types/api/model/Errors.d.ts.map +1 -1
  56. package/lib/types/api/permissions/AndroidPermissionsService.d.ts +12 -0
  57. package/lib/types/api/permissions/AndroidPermissionsService.d.ts.map +1 -0
  58. package/lib/types/api/permissions/AndroidPermissionsService.test.d.ts +2 -0
  59. package/lib/types/api/permissions/AndroidPermissionsService.test.d.ts.map +1 -0
  60. package/lib/types/api/permissions/DefaultPermissionsService.d.ts +6 -0
  61. package/lib/types/api/permissions/DefaultPermissionsService.d.ts.map +1 -0
  62. package/lib/types/api/permissions/IOSPermissionsService.test.d.ts +2 -0
  63. package/lib/types/api/permissions/IOSPermissionsService.test.d.ts.map +1 -0
  64. package/lib/types/api/permissions/PermissionsAndroidNarrowedType.d.ts +20 -0
  65. package/lib/types/api/permissions/PermissionsAndroidNarrowedType.d.ts.map +1 -0
  66. package/lib/types/api/permissions/PermissionsService.d.ts +5 -0
  67. package/lib/types/api/permissions/PermissionsService.d.ts.map +1 -0
  68. package/lib/types/api/transport/RNBleApduSender.d.ts.map +1 -1
  69. package/lib/types/api/transport/RNBleTransport.d.ts +9 -14
  70. package/lib/types/api/transport/RNBleTransport.d.ts.map +1 -1
  71. package/lib/types/api/transport/RNBleTransportFactory.d.ts +3 -0
  72. package/lib/types/api/transport/RNBleTransportFactory.d.ts.map +1 -0
  73. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  74. package/package.json +6 -6
@@ -1,8 +1,9 @@
1
- import { PermissionsAndroid, Platform } from "react-native";
2
- import { BleManager } from "react-native-ble-plx";
3
- import { type ApduReceiverServiceFactory, type ApduSenderServiceFactory, type ConnectError, DeviceConnectionStateMachine, type DeviceConnectionStateMachineParams, type DeviceId, type DeviceModelDataSource, type DisconnectHandler, type DmkError, type LoggerPublisherService, type Transport, TransportConnectedDevice, type TransportDiscoveredDevice, type TransportFactory, type TransportIdentifier } from "@ledgerhq/device-management-kit";
1
+ import { Platform } from "react-native";
2
+ import { type BleManager } from "react-native-ble-plx";
3
+ import { type ApduReceiverServiceFactory, type ApduSenderServiceFactory, type ConnectError, DeviceConnectionStateMachine, type DeviceConnectionStateMachineParams, type DeviceId, type DeviceModelDataSource, type DisconnectHandler, type DmkError, type LoggerPublisherService, type Transport, TransportConnectedDevice, type TransportDiscoveredDevice, type TransportIdentifier } from "@ledgerhq/device-management-kit";
4
4
  import { Either } from "purify-ts";
5
5
  import { type Observable } from "rxjs";
6
+ import { type PermissionsService } from "../permissions/PermissionsService";
6
7
  import { RNBleApduSender, type RNBleApduSenderConstructorArgs, type RNBleApduSenderDependencies } from "../transport/RNBleApduSender";
7
8
  export declare const rnBleTransportIdentifier = "RN_BLE";
8
9
  export declare class RNBleTransport implements Transport {
@@ -12,16 +13,15 @@ export declare class RNBleTransport implements Transport {
12
13
  private readonly _apduReceiverFactory;
13
14
  private readonly _manager;
14
15
  private readonly _platform;
15
- private readonly _permissionsAndroid;
16
+ private readonly _permissionsService;
16
17
  private readonly _deviceConnectionStateMachineFactory;
17
18
  private readonly _deviceApduSenderFactory;
18
19
  private _logger;
19
- private _isSupported;
20
20
  private _deviceConnectionsById;
21
21
  private readonly identifier;
22
22
  private _reconnectionSubscription;
23
23
  private readonly _bleStateSubject;
24
- constructor(_deviceModelDataSource: DeviceModelDataSource, _loggerServiceFactory: (tag: string) => LoggerPublisherService, _apduSenderFactory: ApduSenderServiceFactory, _apduReceiverFactory: ApduReceiverServiceFactory, _manager: BleManager, _platform?: Platform, _permissionsAndroid?: PermissionsAndroid, _deviceConnectionStateMachineFactory?: (args: DeviceConnectionStateMachineParams<RNBleApduSenderDependencies>) => DeviceConnectionStateMachine<RNBleApduSenderDependencies>, _deviceApduSenderFactory?: (args: RNBleApduSenderConstructorArgs, loggerFactory: (tag: string) => LoggerPublisherService) => RNBleApduSender);
24
+ constructor(_deviceModelDataSource: DeviceModelDataSource, _loggerServiceFactory: (tag: string) => LoggerPublisherService, _apduSenderFactory: ApduSenderServiceFactory, _apduReceiverFactory: ApduReceiverServiceFactory, _manager: BleManager, _platform: Platform, _permissionsService: PermissionsService, _deviceConnectionStateMachineFactory?: (args: DeviceConnectionStateMachineParams<RNBleApduSenderDependencies>) => DeviceConnectionStateMachine<RNBleApduSenderDependencies>, _deviceApduSenderFactory?: (args: RNBleApduSenderConstructorArgs, loggerFactory: (tag: string) => LoggerPublisherService) => RNBleApduSender);
25
25
  /**
26
26
  * Not implemented for now as the return signature is not really usable.
27
27
  * Use listenToAvailableDevices instead.
@@ -86,14 +86,9 @@ export declare class RNBleTransport implements Transport {
86
86
  */
87
87
  getIdentifier(): TransportIdentifier;
88
88
  /**
89
- * Requests the necessary permissions based on the operating system.
90
- * For iOS, it automatically sets the permissions as granted.
91
- * For Android, it checks and requests location, Bluetooth scan, and Bluetooth connect permissions, depending on the API level.
92
- * If permissions are granted, updates the internal support state and logs the result.
93
- *
94
- * @return {Promise<boolean>} A promise that resolves to true if the required permissions are granted, otherwise false.
89
+ * Checks if the necessary permissions are granted and requests them if not.
95
90
  */
96
- requestPermission(): Promise<boolean>;
91
+ checkAndRequestPermissions(): Promise<boolean>;
97
92
  /**
98
93
  * Handles the event when a Bluetooth device gets disconnected. This method attempts
99
94
  * to reconnect to the device, retries a certain number of times on failure, and
@@ -104,6 +99,7 @@ export declare class RNBleTransport implements Transport {
104
99
  * @return {void}
105
100
  */
106
101
  private _handleDeviceDisconnected;
102
+ private _listenToDeviceDisconnected;
107
103
  private tryToReconnect;
108
104
  /**
109
105
  * Handles the reconnection of a device. Configures the device connection and its corresponding
@@ -119,5 +115,4 @@ export declare class RNBleTransport implements Transport {
119
115
  private _handleDeviceReconnected;
120
116
  private _safeCancel;
121
117
  }
122
- export declare const RNBleTransportFactory: TransportFactory;
123
118
  //# sourceMappingURL=RNBleTransport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RNBleTransport.d.ts","sourceRoot":"","sources":["../../../../src/api/transport/RNBleTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RNBleTransport.d.ts","sourceRoot":"","sources":["../../../../src/api/transport/RNBleTransport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { TransportFactory } from "@ledgerhq/device-management-kit";
2
+ export declare const RNBleTransportFactory: TransportFactory;
3
+ //# sourceMappingURL=RNBleTransportFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RNBleTransportFactory.d.ts","sourceRoot":"","sources":["../../../../src/api/transport/RNBleTransportFactory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAQxE,eAAO,MAAM,qBAAqB,EAAE,gBAmBjC,CAAC"}