@onekeyfe/hwk-ledger-connector-webhid 1.1.26-alpha.10
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/index.d.mts +38 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.js +71 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +33 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +61 -0
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { LedgerConnectorBase } from '@onekeyfe/hwk-ledger-adapter';
|
|
2
|
+
import { DeviceDescriptor, IConnector } from '@onekeyfe/hwk-adapter-core';
|
|
3
|
+
import { DeviceManagementKit } from '@ledgerhq/device-management-kit';
|
|
4
|
+
|
|
5
|
+
interface LedgerWebHidConnectorOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Pre-built DMK instance. If not provided, a DMK will be created
|
|
8
|
+
* lazily on first use via `@ledgerhq/device-management-kit` and
|
|
9
|
+
* `@ledgerhq/device-transport-kit-web-hid`.
|
|
10
|
+
*/
|
|
11
|
+
dmk?: DeviceManagementKit;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* IConnector implementation for Ledger hardware wallets via WebHID.
|
|
15
|
+
*
|
|
16
|
+
* Extends LedgerConnectorBase with the WebHID transport factory.
|
|
17
|
+
* Overrides connectId resolution to handle BLE devices that may appear
|
|
18
|
+
* via a WebHID+BLE combo transport.
|
|
19
|
+
*/
|
|
20
|
+
declare class LedgerWebHidConnector extends LedgerConnectorBase {
|
|
21
|
+
constructor(options?: LedgerWebHidConnectorOptions);
|
|
22
|
+
/**
|
|
23
|
+
* Override connectId resolution for BLE devices discovered via WebHID+BLE combo.
|
|
24
|
+
* For USB devices, the DMK path (ephemeral UUID) is used as-is.
|
|
25
|
+
*/
|
|
26
|
+
protected _resolveConnectId(descriptor: DeviceDescriptor): string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Create a LedgerWebHidConnector.
|
|
31
|
+
*
|
|
32
|
+
* @param dmk - Optional pre-built DMK instance. If omitted, the connector
|
|
33
|
+
* will lazily create one using `@ledgerhq/device-management-kit`
|
|
34
|
+
* and `@ledgerhq/device-transport-kit-web-hid`.
|
|
35
|
+
*/
|
|
36
|
+
declare function createLedgerWebHidConnector(dmk?: DeviceManagementKit): IConnector;
|
|
37
|
+
|
|
38
|
+
export { LedgerWebHidConnector, type LedgerWebHidConnectorOptions, createLedgerWebHidConnector };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { LedgerConnectorBase } from '@onekeyfe/hwk-ledger-adapter';
|
|
2
|
+
import { DeviceDescriptor, IConnector } from '@onekeyfe/hwk-adapter-core';
|
|
3
|
+
import { DeviceManagementKit } from '@ledgerhq/device-management-kit';
|
|
4
|
+
|
|
5
|
+
interface LedgerWebHidConnectorOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Pre-built DMK instance. If not provided, a DMK will be created
|
|
8
|
+
* lazily on first use via `@ledgerhq/device-management-kit` and
|
|
9
|
+
* `@ledgerhq/device-transport-kit-web-hid`.
|
|
10
|
+
*/
|
|
11
|
+
dmk?: DeviceManagementKit;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* IConnector implementation for Ledger hardware wallets via WebHID.
|
|
15
|
+
*
|
|
16
|
+
* Extends LedgerConnectorBase with the WebHID transport factory.
|
|
17
|
+
* Overrides connectId resolution to handle BLE devices that may appear
|
|
18
|
+
* via a WebHID+BLE combo transport.
|
|
19
|
+
*/
|
|
20
|
+
declare class LedgerWebHidConnector extends LedgerConnectorBase {
|
|
21
|
+
constructor(options?: LedgerWebHidConnectorOptions);
|
|
22
|
+
/**
|
|
23
|
+
* Override connectId resolution for BLE devices discovered via WebHID+BLE combo.
|
|
24
|
+
* For USB devices, the DMK path (ephemeral UUID) is used as-is.
|
|
25
|
+
*/
|
|
26
|
+
protected _resolveConnectId(descriptor: DeviceDescriptor): string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Create a LedgerWebHidConnector.
|
|
31
|
+
*
|
|
32
|
+
* @param dmk - Optional pre-built DMK instance. If omitted, the connector
|
|
33
|
+
* will lazily create one using `@ledgerhq/device-management-kit`
|
|
34
|
+
* and `@ledgerhq/device-transport-kit-web-hid`.
|
|
35
|
+
*/
|
|
36
|
+
declare function createLedgerWebHidConnector(dmk?: DeviceManagementKit): IConnector;
|
|
37
|
+
|
|
38
|
+
export { LedgerWebHidConnector, type LedgerWebHidConnectorOptions, createLedgerWebHidConnector };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/index.ts
|
|
31
|
+
var index_exports = {};
|
|
32
|
+
__export(index_exports, {
|
|
33
|
+
LedgerWebHidConnector: () => LedgerWebHidConnector,
|
|
34
|
+
createLedgerWebHidConnector: () => createLedgerWebHidConnector
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(index_exports);
|
|
37
|
+
|
|
38
|
+
// src/LedgerWebHidConnector.ts
|
|
39
|
+
var import_hwk_ledger_adapter = require("@onekeyfe/hwk-ledger-adapter");
|
|
40
|
+
var LedgerWebHidConnector = class extends import_hwk_ledger_adapter.LedgerConnectorBase {
|
|
41
|
+
constructor(options) {
|
|
42
|
+
super(
|
|
43
|
+
async () => {
|
|
44
|
+
const { webHidTransportFactory } = await import("@ledgerhq/device-transport-kit-web-hid");
|
|
45
|
+
return webHidTransportFactory;
|
|
46
|
+
},
|
|
47
|
+
{ connectionType: "usb", dmk: options?.dmk }
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Override connectId resolution for BLE devices discovered via WebHID+BLE combo.
|
|
52
|
+
* For USB devices, the DMK path (ephemeral UUID) is used as-is.
|
|
53
|
+
*/
|
|
54
|
+
_resolveConnectId(descriptor) {
|
|
55
|
+
if (descriptor.transport === "BLE") {
|
|
56
|
+
return (0, import_hwk_ledger_adapter.extractBleHexId)(descriptor.name) || descriptor.path;
|
|
57
|
+
}
|
|
58
|
+
return descriptor.path;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// src/index.ts
|
|
63
|
+
function createLedgerWebHidConnector(dmk) {
|
|
64
|
+
return new LedgerWebHidConnector({ dmk });
|
|
65
|
+
}
|
|
66
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
67
|
+
0 && (module.exports = {
|
|
68
|
+
LedgerWebHidConnector,
|
|
69
|
+
createLedgerWebHidConnector
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/LedgerWebHidConnector.ts"],"sourcesContent":["import { LedgerWebHidConnector } from './LedgerWebHidConnector';\n\nimport type { IConnector } from '@onekeyfe/hwk-adapter-core';\nimport type { DeviceManagementKit } from '@ledgerhq/device-management-kit';\nimport type { LedgerWebHidConnectorOptions } from './LedgerWebHidConnector';\n\nexport { LedgerWebHidConnector };\nexport type { LedgerWebHidConnectorOptions };\n\n/**\n * Create a LedgerWebHidConnector.\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-web-hid`.\n */\nexport function createLedgerWebHidConnector(dmk?: DeviceManagementKit): IConnector {\n return new LedgerWebHidConnector({ dmk });\n}\n","import { LedgerConnectorBase, extractBleHexId } from '@onekeyfe/hwk-ledger-adapter';\n\nimport type { DeviceDescriptor } from '@onekeyfe/hwk-adapter-core';\nimport type { DeviceManagementKit } from '@ledgerhq/device-management-kit';\n\nexport interface LedgerWebHidConnectorOptions {\n /**\n * Pre-built DMK instance. If not provided, a DMK will be created\n * lazily on first use via `@ledgerhq/device-management-kit` and\n * `@ledgerhq/device-transport-kit-web-hid`.\n */\n dmk?: DeviceManagementKit;\n}\n\n/**\n * IConnector implementation for Ledger hardware wallets via WebHID.\n *\n * Extends LedgerConnectorBase with the WebHID transport factory.\n * Overrides connectId resolution to handle BLE devices that may appear\n * via a WebHID+BLE combo transport.\n */\nexport class LedgerWebHidConnector extends LedgerConnectorBase {\n constructor(options?: LedgerWebHidConnectorOptions) {\n super(\n async () => {\n const { webHidTransportFactory } = await import('@ledgerhq/device-transport-kit-web-hid');\n return webHidTransportFactory;\n },\n { connectionType: 'usb', dmk: options?.dmk }\n );\n }\n\n /**\n * Override connectId resolution for BLE devices discovered via WebHID+BLE combo.\n * For USB devices, the DMK path (ephemeral UUID) is used as-is.\n */\n protected override _resolveConnectId(descriptor: DeviceDescriptor): string {\n if (descriptor.transport === 'BLE') {\n return extractBleHexId(descriptor.name) || descriptor.path;\n }\n return descriptor.path;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,gCAAqD;AAqB9C,IAAM,wBAAN,cAAoC,8CAAoB;AAAA,EAC7D,YAAY,SAAwC;AAClD;AAAA,MACE,YAAY;AACV,cAAM,EAAE,uBAAuB,IAAI,MAAM,OAAO,wCAAwC;AACxF,eAAO;AAAA,MACT;AAAA,MACA,EAAE,gBAAgB,OAAO,KAAK,SAAS,IAAI;AAAA,IAC7C;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMmB,kBAAkB,YAAsC;AACzE,QAAI,WAAW,cAAc,OAAO;AAClC,iBAAO,2CAAgB,WAAW,IAAI,KAAK,WAAW;AAAA,IACxD;AACA,WAAO,WAAW;AAAA,EACpB;AACF;;;AD1BO,SAAS,4BAA4B,KAAuC;AACjF,SAAO,IAAI,sBAAsB,EAAE,IAAI,CAAC;AAC1C;","names":[]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// src/LedgerWebHidConnector.ts
|
|
2
|
+
import { LedgerConnectorBase, extractBleHexId } from "@onekeyfe/hwk-ledger-adapter";
|
|
3
|
+
var LedgerWebHidConnector = class extends LedgerConnectorBase {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(
|
|
6
|
+
async () => {
|
|
7
|
+
const { webHidTransportFactory } = await import("@ledgerhq/device-transport-kit-web-hid");
|
|
8
|
+
return webHidTransportFactory;
|
|
9
|
+
},
|
|
10
|
+
{ connectionType: "usb", dmk: options?.dmk }
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Override connectId resolution for BLE devices discovered via WebHID+BLE combo.
|
|
15
|
+
* For USB devices, the DMK path (ephemeral UUID) is used as-is.
|
|
16
|
+
*/
|
|
17
|
+
_resolveConnectId(descriptor) {
|
|
18
|
+
if (descriptor.transport === "BLE") {
|
|
19
|
+
return extractBleHexId(descriptor.name) || descriptor.path;
|
|
20
|
+
}
|
|
21
|
+
return descriptor.path;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// src/index.ts
|
|
26
|
+
function createLedgerWebHidConnector(dmk) {
|
|
27
|
+
return new LedgerWebHidConnector({ dmk });
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
LedgerWebHidConnector,
|
|
31
|
+
createLedgerWebHidConnector
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/LedgerWebHidConnector.ts","../src/index.ts"],"sourcesContent":["import { LedgerConnectorBase, extractBleHexId } from '@onekeyfe/hwk-ledger-adapter';\n\nimport type { DeviceDescriptor } from '@onekeyfe/hwk-adapter-core';\nimport type { DeviceManagementKit } from '@ledgerhq/device-management-kit';\n\nexport interface LedgerWebHidConnectorOptions {\n /**\n * Pre-built DMK instance. If not provided, a DMK will be created\n * lazily on first use via `@ledgerhq/device-management-kit` and\n * `@ledgerhq/device-transport-kit-web-hid`.\n */\n dmk?: DeviceManagementKit;\n}\n\n/**\n * IConnector implementation for Ledger hardware wallets via WebHID.\n *\n * Extends LedgerConnectorBase with the WebHID transport factory.\n * Overrides connectId resolution to handle BLE devices that may appear\n * via a WebHID+BLE combo transport.\n */\nexport class LedgerWebHidConnector extends LedgerConnectorBase {\n constructor(options?: LedgerWebHidConnectorOptions) {\n super(\n async () => {\n const { webHidTransportFactory } = await import('@ledgerhq/device-transport-kit-web-hid');\n return webHidTransportFactory;\n },\n { connectionType: 'usb', dmk: options?.dmk }\n );\n }\n\n /**\n * Override connectId resolution for BLE devices discovered via WebHID+BLE combo.\n * For USB devices, the DMK path (ephemeral UUID) is used as-is.\n */\n protected override _resolveConnectId(descriptor: DeviceDescriptor): string {\n if (descriptor.transport === 'BLE') {\n return extractBleHexId(descriptor.name) || descriptor.path;\n }\n return descriptor.path;\n }\n}\n","import { LedgerWebHidConnector } from './LedgerWebHidConnector';\n\nimport type { IConnector } from '@onekeyfe/hwk-adapter-core';\nimport type { DeviceManagementKit } from '@ledgerhq/device-management-kit';\nimport type { LedgerWebHidConnectorOptions } from './LedgerWebHidConnector';\n\nexport { LedgerWebHidConnector };\nexport type { LedgerWebHidConnectorOptions };\n\n/**\n * Create a LedgerWebHidConnector.\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-web-hid`.\n */\nexport function createLedgerWebHidConnector(dmk?: DeviceManagementKit): IConnector {\n return new LedgerWebHidConnector({ dmk });\n}\n"],"mappings":";AAAA,SAAS,qBAAqB,uBAAuB;AAqB9C,IAAM,wBAAN,cAAoC,oBAAoB;AAAA,EAC7D,YAAY,SAAwC;AAClD;AAAA,MACE,YAAY;AACV,cAAM,EAAE,uBAAuB,IAAI,MAAM,OAAO,wCAAwC;AACxF,eAAO;AAAA,MACT;AAAA,MACA,EAAE,gBAAgB,OAAO,KAAK,SAAS,IAAI;AAAA,IAC7C;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMmB,kBAAkB,YAAsC;AACzE,QAAI,WAAW,cAAc,OAAO;AAClC,aAAO,gBAAgB,WAAW,IAAI,KAAK,WAAW;AAAA,IACxD;AACA,WAAO,WAAW;AAAA,EACpB;AACF;;;AC1BO,SAAS,4BAA4B,KAAuC;AACjF,SAAO,IAAI,sBAAsB,EAAE,IAAI,CAAC;AAC1C;","names":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@onekeyfe/hwk-ledger-connector-webhid",
|
|
3
|
+
"version": "1.1.26-alpha.10",
|
|
4
|
+
"description": "IConnector implementation for Ledger hardware wallets via WebHID (DMK)",
|
|
5
|
+
"author": "OneKey",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"module": "dist/index.mjs",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"import": {
|
|
13
|
+
"types": "./dist/index.d.mts",
|
|
14
|
+
"default": "./dist/index.mjs"
|
|
15
|
+
},
|
|
16
|
+
"require": {
|
|
17
|
+
"types": "./dist/index.d.ts",
|
|
18
|
+
"default": "./dist/index.js"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist"
|
|
24
|
+
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "tsup",
|
|
27
|
+
"dev": "tsup --watch",
|
|
28
|
+
"clean": "rimraf dist",
|
|
29
|
+
"test": "jest"
|
|
30
|
+
},
|
|
31
|
+
"publishConfig": {
|
|
32
|
+
"access": "public"
|
|
33
|
+
},
|
|
34
|
+
"repository": {
|
|
35
|
+
"type": "git",
|
|
36
|
+
"url": "git+https://github.com/OneKeyHQ/hardware-js-sdk.git",
|
|
37
|
+
"directory": "packages/hwk-ledger-connector-webhid"
|
|
38
|
+
},
|
|
39
|
+
"keywords": [
|
|
40
|
+
"ledger",
|
|
41
|
+
"webhid",
|
|
42
|
+
"hardware-wallet",
|
|
43
|
+
"onekey",
|
|
44
|
+
"connector"
|
|
45
|
+
],
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@ledgerhq/device-management-kit": "^1.1.0",
|
|
48
|
+
"@ledgerhq/device-signer-kit-bitcoin": "^1.0.0",
|
|
49
|
+
"@ledgerhq/device-signer-kit-ethereum": "^1.9.0",
|
|
50
|
+
"@ledgerhq/device-signer-kit-solana": "^1.7.0",
|
|
51
|
+
"@ledgerhq/device-transport-kit-web-hid": "^1.0.0",
|
|
52
|
+
"@onekeyfe/hwk-adapter-core": "1.1.26-alpha.10",
|
|
53
|
+
"@onekeyfe/hwk-ledger-adapter": "1.1.26-alpha.10"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"rimraf": "^5.0.0",
|
|
57
|
+
"tsup": "^8.0.0",
|
|
58
|
+
"typescript": "^5.4.0"
|
|
59
|
+
},
|
|
60
|
+
"gitHead": "4cab4ba97dee894aa87145ced1e629c06f0ab8b7"
|
|
61
|
+
}
|