When attempting to connect a Stax or Flex device using the SDK, the transport will quietly fail at the transport creation step. User receives the HID request, but the SDK hangs after it is accepted.
Example usage:
let transport = await TransportWebHID.create();
const appEth = new AppEth(transport);
const result = await appEth.getAddress(
getHDPathForVendorAndType(0, 'Ledger'),
false,
false,
);
Console includes the following log when the Chrome HID request appears:
Chooser dialog is not displaying a FIDO HID device: vendorId=11415, productId=28693, name='Ledger Flex', serial='0001'
Expected behavior
Successfully pair with Ledger device, or throw an error that the transport pairing has failed.
Impacted Library name
@ledgerhq/hw-transport-webhid
Impacted Library version
6.29.2
Describe the bug
When attempting to connect a Stax or Flex device using the SDK, the transport will quietly fail at the transport creation step. User receives the HID request, but the SDK hangs after it is accepted.
Example usage:
Console includes the following log when the Chrome HID request appears:
Expected behavior
Successfully pair with Ledger device, or throw an error that the transport pairing has failed.
Additional context
A reference implementation for Rainbow Wallet is available here: https://github.com/rainbow-me/browser-extension/blob/cf5a7051818905bffa56f5c8ab5bef7040f76f53/src/entries/popup/handlers/wallet.ts#L443
Screenshot of the HID and accompanying logs: