{"_id":"@bangjelkoski/ledgerhq-hw-transport-webhid","_rev":"1-e3ae36b6536b47065e5ca14cf4c1b93e","name":"@bangjelkoski/ledgerhq-hw-transport-webhid","dist-tags":{"latest":"6.30.0-beta.0"},"versions":{"6.30.0":{"name":"@bangjelkoski/ledgerhq-hw-transport-webhid","version":"6.30.0","keywords":["Ledger","LedgerWallet","WebHID","NanoS","Blue","Hardware Wallet"],"license":"Apache-2.0","_id":"@bangjelkoski/ledgerhq-hw-transport-webhid@6.30.0","maintainers":[{"name":"bangjelkoski","email":"bangjelkoskii@gmail.com"}],"homepage":"https://github.com/LedgerHQ/ledger-live/tree/develop/libs/ledgerjs/packages/hw-transport-webhid","bugs":{"url":"https://github.com/LedgerHQ/ledger-live/issues"},"dist":{"shasum":"810e63d2f3bb4d6c4ac76319992dfa2415ee01b8","tarball":"https://registry.npmjs.org/@bangjelkoski/ledgerhq-hw-transport-webhid/-/ledgerhq-hw-transport-webhid-6.30.0.tgz","fileCount":16,"integrity":"sha512-YB04tXi6BV7zv/MHg4fP3ZlBZ5nQk3BEGm4XhWyznptuR5/XUzqEUBB5OY2W8Ftg4+3ZNlqePFp9lphmWIy22w==","signatures":[{"sig":"MEUCIHdLbaMxITd65KnlFUhmzWVraC/p0EtRSe8FfQWXtHxgAiEAoqNSuqi71hm9uZIEM8j+UhQk1f3VOD+YpwaC8wilBns=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74781},"main":"lib/TransportWebHID.js","types":"lib/TransportWebHID.d.ts","module":"lib-es/TransportWebHID.js","gitHead":"dd0dea64b58e5a9125c8a422dcffd29e5ef6abec","scripts":{"doc":"documentation readme src/** --section=API --pe ts --re ts --re d.ts","flow":"flow","lint":"eslint ./src --no-error-on-unmatched-pattern --ext .ts,.tsx --cache","test":"jest","build":"tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es","clean":"rimraf lib lib-es","watch":"tsc --watch","lint:fix":"pnpm lint --fix","prewatch":"pnpm build","watch:es":"tsc --watch -m esnext --moduleResolution bundler --outDir lib-es","unimported":"unimported"},"_npmUser":{"name":"bangjelkoski","email":"bangjelkoskii@gmail.com"},"repository":{"url":"git+https://github.com/LedgerHQ/ledger-live.git","type":"git"},"_npmVersion":"10.8.2","description":"Ledger Hardware Wallet WebHID implementation of the communication layer","directories":{},"_nodeVersion":"20.18.2","dependencies":{"@ledgerhq/logs":"workspace:^","@ledgerhq/errors":"workspace:^","@ledgerhq/devices":"workspace:*","@ledgerhq/hw-transport":"workspace:^"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rimraf":"^4.4.1","ts-jest":"^29.1.1","ts-node":"^10.4.0","@types/jest":"^29.5.10","@types/node":"^22.10.10","documentation":"14.0.2","@types/w3c-web-hid":"^1.0.2","source-map-support":"^0.5.21"},"_npmOperationalInternal":{"tmp":"tmp/ledgerhq-hw-transport-webhid_6.30.0_1740050539960_0.3220815971361357","host":"s3://npm-registry-packages-npm-production"}},"6.30.0-beta.0":{"name":"@bangjelkoski/ledgerhq-hw-transport-webhid","version":"6.30.0-beta.0","description":"Ledger Hardware Wallet WebHID implementation of the communication layer","keywords":["Ledger","LedgerWallet","WebHID","NanoS","Blue","Hardware Wallet"],"repository":{"type":"git","url":"git+https://github.com/LedgerHQ/ledger-live.git"},"bugs":{"url":"https://github.com/LedgerHQ/ledger-live/issues"},"homepage":"https://github.com/LedgerHQ/ledger-live/tree/develop/libs/ledgerjs/packages/hw-transport-webhid","publishConfig":{"access":"public"},"main":"lib/TransportWebHID.js","module":"lib-es/TransportWebHID.js","types":"lib/TransportWebHID.d.ts","license":"Apache-2.0","dependencies":{"@ledgerhq/devices":"8.4.4","@ledgerhq/logs":"^6.12.0","@ledgerhq/errors":"^6.19.1","@ledgerhq/hw-transport":"npm:@bangjelkoski/ledgerhq-hw-transport@^6.31.4-beta.0"},"devDependencies":{"@types/jest":"^29.5.10","@types/node":"^22.10.10","@types/w3c-web-hid":"^1.0.2","documentation":"14.0.2","jest":"^29.7.0","rimraf":"^4.4.1","source-map-support":"^0.5.21","ts-jest":"^29.1.1","ts-node":"^10.4.0"},"gitHead":"dd0dea64b58e5a9125c8a422dcffd29e5ef6abec","scripts":{"flow":"flow","clean":"rimraf lib lib-es","build":"tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es","prewatch":"pnpm build","watch":"tsc --watch","watch:es":"tsc --watch -m esnext --moduleResolution bundler --outDir lib-es","doc":"documentation readme src/** --section=API --pe ts --re ts --re d.ts","lint":"eslint ./src --no-error-on-unmatched-pattern --ext .ts,.tsx --cache","lint:fix":"pnpm lint --fix","test":"jest","unimported":"unimported"},"_id":"@bangjelkoski/ledgerhq-hw-transport-webhid@6.30.0-beta.0","_integrity":"sha512-e6G9iIIe6gr8TyN2VZITf3YC3n5LV1SK8hE9s0Y2tk0kl4CEYRD5jNZs3hPSfMI2wYElNjhprS3874A/V4tSKQ==","_resolved":"/private/var/folders/81/1f_q36hn2lv9zvbgjm_bfv140000gn/T/4516cdb100fdb1834b9ed25514c76540/bangjelkoski-ledgerhq-hw-transport-webhid-6.30.0-beta.0.tgz","_from":"file:bangjelkoski-ledgerhq-hw-transport-webhid-6.30.0-beta.0.tgz","_nodeVersion":"20.18.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-e6G9iIIe6gr8TyN2VZITf3YC3n5LV1SK8hE9s0Y2tk0kl4CEYRD5jNZs3hPSfMI2wYElNjhprS3874A/V4tSKQ==","shasum":"9afc97f7e6d3fbb6174f1ae551194f6e9606fcc6","tarball":"https://registry.npmjs.org/@bangjelkoski/ledgerhq-hw-transport-webhid/-/ledgerhq-hw-transport-webhid-6.30.0-beta.0.tgz","fileCount":17,"unpackedSize":75915,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCXIPEDk0xq3YLCG+hVhQRxrUbzgkygYpRzi25G84T8aQIhAJJZbJpdzPm7F9luKKFDYc+2sO7bb3/4S6tMtImJ8/r+"}]},"_npmUser":{"name":"bangjelkoski","email":"bangjelkoskii@gmail.com"},"directories":{},"maintainers":[{"name":"bangjelkoski","email":"bangjelkoskii@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ledgerhq-hw-transport-webhid_6.30.0-beta.0_1740051921314_0.7651695163193051"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-20T11:22:19.865Z","modified":"2025-02-20T11:45:21.629Z","6.30.0":"2025-02-20T11:22:20.141Z","6.30.0-beta.0":"2025-02-20T11:45:21.486Z"},"bugs":{"url":"https://github.com/LedgerHQ/ledger-live/issues"},"license":"Apache-2.0","homepage":"https://github.com/LedgerHQ/ledger-live/tree/develop/libs/ledgerjs/packages/hw-transport-webhid","keywords":["Ledger","LedgerWallet","WebHID","NanoS","Blue","Hardware Wallet"],"repository":{"type":"git","url":"git+https://github.com/LedgerHQ/ledger-live.git"},"description":"Ledger Hardware Wallet WebHID implementation of the communication layer","maintainers":[{"name":"bangjelkoski","email":"bangjelkoskii@gmail.com"}],"readme":"<img src=\"https://user-images.githubusercontent.com/4631227/191834116-59cf590e-25cc-4956-ae5c-812ea464f324.png\" height=\"100\" />\n\n[GitHub](https://github.com/LedgerHQ/ledger-live/),\n[Ledger Devs Discord](https://developers.ledger.com/discord-pro),\n[Developer Portal](https://developers.ledger.com/)\n\n## @ledgerhq/hw-transport-webhid\n\nAllows to communicate with Ledger Hardware Wallets.\n\n**\\[Web]** **(WebHID)** – WebHID [check browser support](https://caniuse.com/webhid).\n\n***\n\n## Are you adding Ledger support to your software wallet?\n\nYou may be using this package to open a USB connection between your web application and the device.\n\nFor a smooth and quick integration:\n\n*   See the developers’ documentation on the [Developer Portal](https://developers.ledger.com/docs/transport/overview/) and\n*   Go on [Discord](https://developers.ledger.com/discord-pro/) to chat with developer support and the developer community.\n\n***\n\n### FAQ: \"DOM Exception\" is triggered when creating the transport\n\nThe transport functions `create()` and `listen()` must be called in the context of a user interaction (like a **\"click\"** event), otherwise it fails with DOM Exception. This is by WebUSB design. You also must run on HTTPS.\n\n### How to use this transport?\n\nPlease check `@ledgerhq/hw-transport-webusb` documentation because it is very similar paradigm.\n\n### Support status\n\nWebUSB is currently only supported on Google Chrome / Chromium DEV version and by explicitly enabling `chrome://flags/#enable-experimental-web-platform-features`\n\n## API\n\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\n\n#### Table of Contents\n\n*   [TransportWebHID](#transportwebhid)\n    *   [Parameters](#parameters)\n    *   [Examples](#examples)\n    *   [close](#close)\n    *   [exchange](#exchange)\n        *   [Parameters](#parameters-1)\n    *   [isSupported](#issupported)\n    *   [list](#list)\n    *   [listen](#listen)\n        *   [Parameters](#parameters-2)\n    *   [request](#request)\n    *   [openConnected](#openconnected)\n    *   [open](#open)\n        *   [Parameters](#parameters-3)\n\n### TransportWebHID\n\n**Extends Transport**\n\nWebHID Transport implementation\n\n#### Parameters\n\n*   `device` **HIDDevice**&#x20;\n\n#### Examples\n\n```javascript\nimport TransportWebHID from \"@ledgerhq/hw-transport-webhid\";\n...\nTransportWebHID.create().then(transport => ...)\n```\n\n#### close\n\nRelease the transport device\n\nReturns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\\<void>**&#x20;\n\n#### exchange\n\nExchange with the device using APDU protocol.\n\n##### Parameters\n\n*   `apdu` **[Buffer](https://nodejs.org/api/buffer.html)**&#x20;\n\nReturns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[Buffer](https://nodejs.org/api/buffer.html)>** a promise of apdu response\n\n#### isSupported\n\nCheck if WebUSB transport is supported.\n\n#### list\n\nList the WebUSB devices that was previously authorized by the user.\n\n#### listen\n\nActively listen to WebUSB devices and emit ONE device\nthat was either accepted before, if not it will trigger the native permission UI.\n\nImportant: it must be called in the context of a UI click!\n\n##### Parameters\n\n*   `observer` **Observer\\<DescriptorEvent\\<HIDDevice>>**&#x20;\n\nReturns **Subscription**&#x20;\n\n#### request\n\nSimilar to create() except it will always display the device permission (even if some devices are already accepted).\n\n#### openConnected\n\nSimilar to create() except it will never display the device permission (it returns a Promise\\<?Transport>, null if it fails to find a device).\n\n#### open\n\nCreate a Ledger transport with a HIDDevice\n\n##### Parameters\n\n*   `device` **HIDDevice**&#x20;\n","readmeFilename":"README.md"}