@bytezhang/hardware-ledger-connector-ble 0.0.27 → 0.0.29

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,21 @@
1
+ import { DeviceDescriptor, IConnector } from '@bytezhang/hardware-wallet-core';
2
+ import { LedgerConnectorBase, IDmk } from '@bytezhang/ledger-adapter';
3
+
4
+ interface LedgerBleConnectorOptions {
5
+ dmk?: IDmk;
6
+ }
7
+ declare class LedgerBleConnector extends LedgerConnectorBase {
8
+ constructor(options?: LedgerBleConnectorOptions);
9
+ protected _resolveConnectId(descriptor: DeviceDescriptor): string;
10
+ }
11
+
12
+ /**
13
+ * Create a LedgerBleConnector.
14
+ *
15
+ * @param dmk - Optional pre-built DMK instance. If omitted, the connector
16
+ * will lazily create one using `@ledgerhq/device-management-kit`
17
+ * and `@ledgerhq/device-transport-kit-react-native-ble`.
18
+ */
19
+ declare function createLedgerBleConnector(dmk?: IDmk): IConnector;
20
+
21
+ export { LedgerBleConnector, type LedgerBleConnectorOptions, createLedgerBleConnector };
@@ -0,0 +1,21 @@
1
+ import { DeviceDescriptor, IConnector } from '@bytezhang/hardware-wallet-core';
2
+ import { LedgerConnectorBase, IDmk } from '@bytezhang/ledger-adapter';
3
+
4
+ interface LedgerBleConnectorOptions {
5
+ dmk?: IDmk;
6
+ }
7
+ declare class LedgerBleConnector extends LedgerConnectorBase {
8
+ constructor(options?: LedgerBleConnectorOptions);
9
+ protected _resolveConnectId(descriptor: DeviceDescriptor): string;
10
+ }
11
+
12
+ /**
13
+ * Create a LedgerBleConnector.
14
+ *
15
+ * @param dmk - Optional pre-built DMK instance. If omitted, the connector
16
+ * will lazily create one using `@ledgerhq/device-management-kit`
17
+ * and `@ledgerhq/device-transport-kit-react-native-ble`.
18
+ */
19
+ declare function createLedgerBleConnector(dmk?: IDmk): IConnector;
20
+
21
+ export { LedgerBleConnector, type LedgerBleConnectorOptions, createLedgerBleConnector };
package/dist/index.js CHANGED
@@ -42,32 +42,14 @@ function extractBleHexId(name) {
42
42
  const match = name.match(/\b([0-9A-Fa-f]{4})$/);
43
43
  return match ? match[1].toUpperCase() : void 0;
44
44
  }
45
- async function metroLedgerKitImporter(pkg) {
46
- switch (pkg) {
47
- case "@ledgerhq/device-management-kit":
48
- return import("@ledgerhq/device-management-kit/lib/cjs/index.js");
49
- case "@ledgerhq/device-signer-kit-ethereum":
50
- return import("@ledgerhq/device-signer-kit-ethereum/lib/cjs/index.js");
51
- case "@ledgerhq/device-signer-kit-bitcoin":
52
- return import("@ledgerhq/device-signer-kit-bitcoin");
53
- case "@ledgerhq/device-signer-kit-solana":
54
- return import("@ledgerhq/device-signer-kit-solana/lib/cjs/index.js");
55
- default:
56
- throw new Error(`Unknown Ledger kit package: ${pkg}`);
57
- }
58
- }
59
45
  var LedgerBleConnector = class extends import_ledger_adapter.LedgerConnectorBase {
60
46
  constructor(options) {
61
47
  super(
62
48
  async () => {
63
- const { rnBleTransportFactory } = await import("@ledgerhq/device-transport-kit-react-native-ble");
64
- return rnBleTransportFactory;
49
+ const { RNBleTransportFactory } = await import("@ledgerhq/device-transport-kit-react-native-ble");
50
+ return RNBleTransportFactory;
65
51
  },
66
- {
67
- connectionType: "ble",
68
- dmk: options?.dmk,
69
- importLedgerKit: metroLedgerKitImporter
70
- }
52
+ { connectionType: "ble", dmk: options?.dmk }
71
53
  );
72
54
  }
73
55
  _resolveConnectId(descriptor) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/LedgerBleConnector.ts"],"sourcesContent":["import type { IConnector } from '@bytezhang/hardware-wallet-core';\nimport type { IDmk } from '@bytezhang/ledger-adapter';\n\nimport {\n LedgerBleConnector,\n} from './LedgerBleConnector';\nimport type { LedgerBleConnectorOptions } from './LedgerBleConnector';\n\nexport { LedgerBleConnector };\nexport type { LedgerBleConnectorOptions };\n\n/**\n * Create a LedgerBleConnector.\n *\n * @param dmk - Optional pre-built DMK instance. If omitted, the connector\n * will lazily create one using `@ledgerhq/device-management-kit`\n * and `@ledgerhq/device-transport-kit-react-native-ble`.\n */\nexport function createLedgerBleConnector(dmk?: IDmk): IConnector {\n return new LedgerBleConnector({ dmk });\n}\n","import type { DeviceDescriptor } from '@bytezhang/hardware-wallet-core';\nimport type { IDmk } from '@bytezhang/ledger-adapter';\nimport { LedgerConnectorBase } from '@bytezhang/ledger-adapter';\n\n// ---------------------------------------------------------------------------\n// Utilities\n// ---------------------------------------------------------------------------\n\nfunction extractBleHexId(name?: string): string | undefined {\n if (!name) return undefined;\n const match = name.match(/\\b([0-9A-Fa-f]{4})$/);\n return match ? match[1].toUpperCase() : undefined;\n}\n\n/**\n * Metro (React Native) can't resolve packages that only have \"exports\"\n * (no \"main\" field). This importer uses explicit CJS paths.\n */\n/**\n * Metro (React Native) can't resolve packages that only have \"exports\"\n * (no \"main\" field). This importer uses explicit CJS paths for those packages.\n */\nasync function metroLedgerKitImporter(pkg: string): Promise<any> {\n switch (pkg) {\n case '@ledgerhq/device-management-kit':\n return import('@ledgerhq/device-management-kit/lib/cjs/index.js' as any);\n case '@ledgerhq/device-signer-kit-ethereum':\n return import('@ledgerhq/device-signer-kit-ethereum/lib/cjs/index.js' as any);\n case '@ledgerhq/device-signer-kit-bitcoin':\n return import('@ledgerhq/device-signer-kit-bitcoin');\n case '@ledgerhq/device-signer-kit-solana':\n return import('@ledgerhq/device-signer-kit-solana/lib/cjs/index.js' as any);\n default:\n throw new Error(`Unknown Ledger kit package: ${pkg}`);\n }\n}\n\n// ---------------------------------------------------------------------------\n// LedgerBleConnector\n// ---------------------------------------------------------------------------\n\nexport interface LedgerBleConnectorOptions {\n dmk?: IDmk;\n}\n\nexport class LedgerBleConnector extends LedgerConnectorBase {\n constructor(options?: LedgerBleConnectorOptions) {\n super(\n async () => {\n const { rnBleTransportFactory } = await import(\n '@ledgerhq/device-transport-kit-react-native-ble'\n );\n return rnBleTransportFactory;\n },\n {\n connectionType: 'ble',\n dmk: options?.dmk,\n importLedgerKit: metroLedgerKitImporter,\n },\n );\n }\n\n protected override _resolveConnectId(descriptor: DeviceDescriptor): string {\n return extractBleHexId(descriptor.name) || descriptor.path;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,4BAAoC;AAMpC,SAAS,gBAAgB,MAAmC;AAC1D,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,QAAQ,KAAK,MAAM,qBAAqB;AAC9C,SAAO,QAAQ,MAAM,CAAC,EAAE,YAAY,IAAI;AAC1C;AAUA,eAAe,uBAAuB,KAA2B;AAC/D,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,aAAO,OAAO,kDAAyD;AAAA,IACzE,KAAK;AACH,aAAO,OAAO,uDAA8D;AAAA,IAC9E,KAAK;AACH,aAAO,OAAO,qCAAqC;AAAA,IACrD,KAAK;AACH,aAAO,OAAO,qDAA4D;AAAA,IAC5E;AACE,YAAM,IAAI,MAAM,+BAA+B,GAAG,EAAE;AAAA,EACxD;AACF;AAUO,IAAM,qBAAN,cAAiC,0CAAoB;AAAA,EAC1D,YAAY,SAAqC;AAC/C;AAAA,MACE,YAAY;AACV,cAAM,EAAE,sBAAsB,IAAI,MAAM,OACtC,iDACF;AACA,eAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,gBAAgB;AAAA,QAChB,KAAK,SAAS;AAAA,QACd,iBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EAEmB,kBAAkB,YAAsC;AACzE,WAAO,gBAAgB,WAAW,IAAI,KAAK,WAAW;AAAA,EACxD;AACF;;;AD/CO,SAAS,yBAAyB,KAAwB;AAC/D,SAAO,IAAI,mBAAmB,EAAE,IAAI,CAAC;AACvC;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/LedgerBleConnector.ts"],"sourcesContent":["import type { IConnector } from '@bytezhang/hardware-wallet-core';\nimport type { IDmk } from '@bytezhang/ledger-adapter';\n\nimport {\n LedgerBleConnector,\n} from './LedgerBleConnector';\nimport type { LedgerBleConnectorOptions } from './LedgerBleConnector';\n\nexport { LedgerBleConnector };\nexport type { LedgerBleConnectorOptions };\n\n/**\n * Create a LedgerBleConnector.\n *\n * @param dmk - Optional pre-built DMK instance. If omitted, the connector\n * will lazily create one using `@ledgerhq/device-management-kit`\n * and `@ledgerhq/device-transport-kit-react-native-ble`.\n */\nexport function createLedgerBleConnector(dmk?: IDmk): IConnector {\n return new LedgerBleConnector({ dmk });\n}\n","import type { DeviceDescriptor } from '@bytezhang/hardware-wallet-core';\nimport type { IDmk } from '@bytezhang/ledger-adapter';\nimport { LedgerConnectorBase } from '@bytezhang/ledger-adapter';\n\nfunction extractBleHexId(name?: string): string | undefined {\n if (!name) return undefined;\n const match = name.match(/\\b([0-9A-Fa-f]{4})$/);\n return match ? match[1].toUpperCase() : undefined;\n}\n\nexport interface LedgerBleConnectorOptions {\n dmk?: IDmk;\n}\n\nexport class LedgerBleConnector extends LedgerConnectorBase {\n constructor(options?: LedgerBleConnectorOptions) {\n super(\n async () => {\n const { RNBleTransportFactory } = await import(\n '@ledgerhq/device-transport-kit-react-native-ble'\n );\n return RNBleTransportFactory;\n },\n { connectionType: 'ble', dmk: options?.dmk },\n );\n }\n\n protected override _resolveConnectId(descriptor: DeviceDescriptor): string {\n return extractBleHexId(descriptor.name) || descriptor.path;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,4BAAoC;AAEpC,SAAS,gBAAgB,MAAmC;AAC1D,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,QAAQ,KAAK,MAAM,qBAAqB;AAC9C,SAAO,QAAQ,MAAM,CAAC,EAAE,YAAY,IAAI;AAC1C;AAMO,IAAM,qBAAN,cAAiC,0CAAoB;AAAA,EAC1D,YAAY,SAAqC;AAC/C;AAAA,MACE,YAAY;AACV,cAAM,EAAE,sBAAsB,IAAI,MAAM,OACtC,iDACF;AACA,eAAO;AAAA,MACT;AAAA,MACA,EAAE,gBAAgB,OAAO,KAAK,SAAS,IAAI;AAAA,IAC7C;AAAA,EACF;AAAA,EAEmB,kBAAkB,YAAsC;AACzE,WAAO,gBAAgB,WAAW,IAAI,KAAK,WAAW;AAAA,EACxD;AACF;;;ADZO,SAAS,yBAAyB,KAAwB;AAC/D,SAAO,IAAI,mBAAmB,EAAE,IAAI,CAAC;AACvC;","names":[]}
package/dist/index.mjs CHANGED
@@ -5,32 +5,14 @@ function extractBleHexId(name) {
5
5
  const match = name.match(/\b([0-9A-Fa-f]{4})$/);
6
6
  return match ? match[1].toUpperCase() : void 0;
7
7
  }
8
- async function metroLedgerKitImporter(pkg) {
9
- switch (pkg) {
10
- case "@ledgerhq/device-management-kit":
11
- return import("@ledgerhq/device-management-kit/lib/cjs/index.js");
12
- case "@ledgerhq/device-signer-kit-ethereum":
13
- return import("@ledgerhq/device-signer-kit-ethereum/lib/cjs/index.js");
14
- case "@ledgerhq/device-signer-kit-bitcoin":
15
- return import("@ledgerhq/device-signer-kit-bitcoin");
16
- case "@ledgerhq/device-signer-kit-solana":
17
- return import("@ledgerhq/device-signer-kit-solana/lib/cjs/index.js");
18
- default:
19
- throw new Error(`Unknown Ledger kit package: ${pkg}`);
20
- }
21
- }
22
8
  var LedgerBleConnector = class extends LedgerConnectorBase {
23
9
  constructor(options) {
24
10
  super(
25
11
  async () => {
26
- const { rnBleTransportFactory } = await import("@ledgerhq/device-transport-kit-react-native-ble");
27
- return rnBleTransportFactory;
12
+ const { RNBleTransportFactory } = await import("@ledgerhq/device-transport-kit-react-native-ble");
13
+ return RNBleTransportFactory;
28
14
  },
29
- {
30
- connectionType: "ble",
31
- dmk: options?.dmk,
32
- importLedgerKit: metroLedgerKitImporter
33
- }
15
+ { connectionType: "ble", dmk: options?.dmk }
34
16
  );
35
17
  }
36
18
  _resolveConnectId(descriptor) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/LedgerBleConnector.ts","../src/index.ts"],"sourcesContent":["import type { DeviceDescriptor } from '@bytezhang/hardware-wallet-core';\nimport type { IDmk } from '@bytezhang/ledger-adapter';\nimport { LedgerConnectorBase } from '@bytezhang/ledger-adapter';\n\n// ---------------------------------------------------------------------------\n// Utilities\n// ---------------------------------------------------------------------------\n\nfunction extractBleHexId(name?: string): string | undefined {\n if (!name) return undefined;\n const match = name.match(/\\b([0-9A-Fa-f]{4})$/);\n return match ? match[1].toUpperCase() : undefined;\n}\n\n/**\n * Metro (React Native) can't resolve packages that only have \"exports\"\n * (no \"main\" field). This importer uses explicit CJS paths.\n */\n/**\n * Metro (React Native) can't resolve packages that only have \"exports\"\n * (no \"main\" field). This importer uses explicit CJS paths for those packages.\n */\nasync function metroLedgerKitImporter(pkg: string): Promise<any> {\n switch (pkg) {\n case '@ledgerhq/device-management-kit':\n return import('@ledgerhq/device-management-kit/lib/cjs/index.js' as any);\n case '@ledgerhq/device-signer-kit-ethereum':\n return import('@ledgerhq/device-signer-kit-ethereum/lib/cjs/index.js' as any);\n case '@ledgerhq/device-signer-kit-bitcoin':\n return import('@ledgerhq/device-signer-kit-bitcoin');\n case '@ledgerhq/device-signer-kit-solana':\n return import('@ledgerhq/device-signer-kit-solana/lib/cjs/index.js' as any);\n default:\n throw new Error(`Unknown Ledger kit package: ${pkg}`);\n }\n}\n\n// ---------------------------------------------------------------------------\n// LedgerBleConnector\n// ---------------------------------------------------------------------------\n\nexport interface LedgerBleConnectorOptions {\n dmk?: IDmk;\n}\n\nexport class LedgerBleConnector extends LedgerConnectorBase {\n constructor(options?: LedgerBleConnectorOptions) {\n super(\n async () => {\n const { rnBleTransportFactory } = await import(\n '@ledgerhq/device-transport-kit-react-native-ble'\n );\n return rnBleTransportFactory;\n },\n {\n connectionType: 'ble',\n dmk: options?.dmk,\n importLedgerKit: metroLedgerKitImporter,\n },\n );\n }\n\n protected override _resolveConnectId(descriptor: DeviceDescriptor): string {\n return extractBleHexId(descriptor.name) || descriptor.path;\n }\n}\n","import type { IConnector } from '@bytezhang/hardware-wallet-core';\nimport type { IDmk } from '@bytezhang/ledger-adapter';\n\nimport {\n LedgerBleConnector,\n} from './LedgerBleConnector';\nimport type { LedgerBleConnectorOptions } from './LedgerBleConnector';\n\nexport { LedgerBleConnector };\nexport type { LedgerBleConnectorOptions };\n\n/**\n * Create a LedgerBleConnector.\n *\n * @param dmk - Optional pre-built DMK instance. If omitted, the connector\n * will lazily create one using `@ledgerhq/device-management-kit`\n * and `@ledgerhq/device-transport-kit-react-native-ble`.\n */\nexport function createLedgerBleConnector(dmk?: IDmk): IConnector {\n return new LedgerBleConnector({ dmk });\n}\n"],"mappings":";AAEA,SAAS,2BAA2B;AAMpC,SAAS,gBAAgB,MAAmC;AAC1D,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,QAAQ,KAAK,MAAM,qBAAqB;AAC9C,SAAO,QAAQ,MAAM,CAAC,EAAE,YAAY,IAAI;AAC1C;AAUA,eAAe,uBAAuB,KAA2B;AAC/D,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,aAAO,OAAO,kDAAyD;AAAA,IACzE,KAAK;AACH,aAAO,OAAO,uDAA8D;AAAA,IAC9E,KAAK;AACH,aAAO,OAAO,qCAAqC;AAAA,IACrD,KAAK;AACH,aAAO,OAAO,qDAA4D;AAAA,IAC5E;AACE,YAAM,IAAI,MAAM,+BAA+B,GAAG,EAAE;AAAA,EACxD;AACF;AAUO,IAAM,qBAAN,cAAiC,oBAAoB;AAAA,EAC1D,YAAY,SAAqC;AAC/C;AAAA,MACE,YAAY;AACV,cAAM,EAAE,sBAAsB,IAAI,MAAM,OACtC,iDACF;AACA,eAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,gBAAgB;AAAA,QAChB,KAAK,SAAS;AAAA,QACd,iBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EAEmB,kBAAkB,YAAsC;AACzE,WAAO,gBAAgB,WAAW,IAAI,KAAK,WAAW;AAAA,EACxD;AACF;;;AC/CO,SAAS,yBAAyB,KAAwB;AAC/D,SAAO,IAAI,mBAAmB,EAAE,IAAI,CAAC;AACvC;","names":[]}
1
+ {"version":3,"sources":["../src/LedgerBleConnector.ts","../src/index.ts"],"sourcesContent":["import type { DeviceDescriptor } from '@bytezhang/hardware-wallet-core';\nimport type { IDmk } from '@bytezhang/ledger-adapter';\nimport { LedgerConnectorBase } from '@bytezhang/ledger-adapter';\n\nfunction extractBleHexId(name?: string): string | undefined {\n if (!name) return undefined;\n const match = name.match(/\\b([0-9A-Fa-f]{4})$/);\n return match ? match[1].toUpperCase() : undefined;\n}\n\nexport interface LedgerBleConnectorOptions {\n dmk?: IDmk;\n}\n\nexport class LedgerBleConnector extends LedgerConnectorBase {\n constructor(options?: LedgerBleConnectorOptions) {\n super(\n async () => {\n const { RNBleTransportFactory } = await import(\n '@ledgerhq/device-transport-kit-react-native-ble'\n );\n return RNBleTransportFactory;\n },\n { connectionType: 'ble', dmk: options?.dmk },\n );\n }\n\n protected override _resolveConnectId(descriptor: DeviceDescriptor): string {\n return extractBleHexId(descriptor.name) || descriptor.path;\n }\n}\n","import type { IConnector } from '@bytezhang/hardware-wallet-core';\nimport type { IDmk } from '@bytezhang/ledger-adapter';\n\nimport {\n LedgerBleConnector,\n} from './LedgerBleConnector';\nimport type { LedgerBleConnectorOptions } from './LedgerBleConnector';\n\nexport { LedgerBleConnector };\nexport type { LedgerBleConnectorOptions };\n\n/**\n * Create a LedgerBleConnector.\n *\n * @param dmk - Optional pre-built DMK instance. If omitted, the connector\n * will lazily create one using `@ledgerhq/device-management-kit`\n * and `@ledgerhq/device-transport-kit-react-native-ble`.\n */\nexport function createLedgerBleConnector(dmk?: IDmk): IConnector {\n return new LedgerBleConnector({ dmk });\n}\n"],"mappings":";AAEA,SAAS,2BAA2B;AAEpC,SAAS,gBAAgB,MAAmC;AAC1D,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,QAAQ,KAAK,MAAM,qBAAqB;AAC9C,SAAO,QAAQ,MAAM,CAAC,EAAE,YAAY,IAAI;AAC1C;AAMO,IAAM,qBAAN,cAAiC,oBAAoB;AAAA,EAC1D,YAAY,SAAqC;AAC/C;AAAA,MACE,YAAY;AACV,cAAM,EAAE,sBAAsB,IAAI,MAAM,OACtC,iDACF;AACA,eAAO;AAAA,MACT;AAAA,MACA,EAAE,gBAAgB,OAAO,KAAK,SAAS,IAAI;AAAA,IAC7C;AAAA,EACF;AAAA,EAEmB,kBAAkB,YAAsC;AACzE,WAAO,gBAAgB,WAAW,IAAI,KAAK,WAAW;AAAA,EACxD;AACF;;;ACZO,SAAS,yBAAyB,KAAwB;AAC/D,SAAO,IAAI,mBAAmB,EAAE,IAAI,CAAC;AACvC;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytezhang/hardware-ledger-connector-ble",
3
- "version": "0.0.27",
3
+ "version": "0.0.29",
4
4
  "description": "IConnector implementation for Ledger hardware wallets via React Native BLE",
5
5
  "author": "OneKey",
6
6
  "license": "MIT",
@@ -46,8 +46,8 @@
46
46
  "connector"
47
47
  ],
48
48
  "dependencies": {
49
- "@bytezhang/hardware-wallet-core": "0.0.27",
50
- "@bytezhang/ledger-adapter": "0.0.27",
49
+ "@bytezhang/hardware-wallet-core": "0.0.29",
50
+ "@bytezhang/ledger-adapter": "0.0.29",
51
51
  "@ledgerhq/device-management-kit": "^1.1.0",
52
52
  "@ledgerhq/device-signer-kit-ethereum": "^1.9.0",
53
53
  "@ledgerhq/device-signer-kit-bitcoin": "^1.0.0",