return new Promise(r => setTimeout(r, 1000, { status: Ledger.#STATUS_CODES[response] }))
}
+ static #onConnectHid = async (e: HIDConnectionEvent): Promise<void> => {
+ console.log(e)
+ if (e.device?.vendorId === ledgerUSBVendorId) {
+ console.log('Ledger connected via HID')
+ const { hid } = globalThis.navigator
+ hid.addEventListener('disconnect', this.#onDisconnectHid)
+ hid.removeEventListener('connect', this.#onConnectHid)
+ }
+ }
+
+ static #onDisconnectHid = async (e: HIDConnectionEvent): Promise<void> => {
+ console.log(e)
+ if (e.device?.vendorId === ledgerUSBVendorId) {
+ console.log('Ledger disconnected via HID')
+ const { hid } = globalThis.navigator
+ hid.addEventListener('connect', this.#onConnectHid)
+ hid.removeEventListener('disconnect', this.#onDisconnectHid)
+ this.#status = 'DISCONNECTED'
+ }
+ }
+
static #onConnectUsb = async (e: USBConnectionEvent): Promise<void> => {
console.log(e)
if (e.device?.vendorId === ledgerUSBVendorId) {
- console.log('Ledger connected')
+ console.log('Ledger connected via USB')
const { usb } = globalThis.navigator
usb.addEventListener('disconnect', this.#onDisconnectUsb)
usb.removeEventListener('connect', this.#onConnectUsb)
static #onDisconnectUsb = async (e: USBConnectionEvent): Promise<void> => {
console.log(e)
if (e.device?.vendorId === ledgerUSBVendorId) {
- console.log('Ledger disconnected')
+ console.log('Ledger disconnected via USB')
const { usb } = globalThis.navigator
usb.addEventListener('connect', this.#onConnectUsb)
usb.removeEventListener('disconnect', this.#onDisconnectUsb)