JSPM

@ledgerhq/hw-transport-webusb

4.60.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 85732
  • Score
    100M100P100Q196615F
  • License Apache-2.0

Ledger Hardware Wallet WebUSB implementation of the communication layer

Package Exports

  • @ledgerhq/hw-transport-webusb

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@ledgerhq/hw-transport-webusb) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Github, Ledger Devs Slack

@ledgerhq/hw-transport-webusb

Allows to communicate with Ledger Hardware Wallets.

[Web] (WebUSB) – WebUSB check browser support.

Important: The transport functions create() and listen() must be in the context of an user interaction (like a "click" event), otherwise it will fails with DOM Exception.

API

Table of Contents

TransportWebUSB

Extends Transport

WebUSB Transport implementation

Parameters

  • device USBDevice

Examples

import TransportWebUSB from "@ledgerhq/hw-transport-webusb";
...
TransportWebUSB.create().then(transport => ...)

close

Release the transport device

Returns Promise<void>

exchange

Exchange with the device using APDU protocol.

Parameters

Returns Promise<Buffer> a promise of apdu response

isSupported

Check if WebUSB transport is supported.

list

List the WebUSB devices that was previously authorized by the user.

listen

Actively listen to WebUSB devices and emit ONE device that was either accepted before, if not it will trigger the native permission UI.

Important: it must be called in the context of a UI click!

Parameters
  • observer Observer<DescriptorEvent<USBDevice>>

Returns Subscription

request

Similar to create() except it will always display the device permission (even if some devices are already accepted).

openConnected

Similar to create() except it will never display the device permission (it returns a Promise<?Transport>, null if it fails to find a device).

open

Create a Ledger transport with a USBDevice

Parameters
  • device USBDevice