From: Chris Duncan Date: Mon, 11 Aug 2025 13:15:09 +0000 (-0700) Subject: Privatize ledger event handlers. X-Git-Tag: v0.10.5~41^2~120 X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=6f68701ae83d450206aee0db79f0ddf550f36c2d;p=libnemo.git Privatize ledger event handlers. --- diff --git a/src/lib/wallet/ledger.ts b/src/lib/wallet/ledger.ts index bfbd9e8..661a3d3 100644 --- a/src/lib/wallet/ledger.ts +++ b/src/lib/wallet/ledger.ts @@ -258,27 +258,6 @@ export class Ledger extends Wallet { } } - onConnectUsb = async (e: USBConnectionEvent): Promise => { - console.log(e) - if (e.device?.vendorId === ledgerUSBVendorId) { - console.log('Ledger connected') - const { usb } = globalThis.navigator - usb.addEventListener('disconnect', this.onDisconnectUsb) - usb.removeEventListener('connect', this.onConnectUsb) - } - } - - onDisconnectUsb = async (e: USBConnectionEvent): Promise => { - console.log(e) - if (e.device?.vendorId === ledgerUSBVendorId) { - console.log('Ledger disconnected') - const { usb } = globalThis.navigator - usb.addEventListener('connect', this.onConnectUsb) - usb.removeEventListener('disconnect', this.onDisconnectUsb) - this.#status = 'DISCONNECTED' - } - } - /** * Sign a block with the Ledger device. * @@ -518,6 +497,27 @@ export class Ledger extends Wallet { return { status: Ledger.#STATUS_CODES[response] } } + #onConnectUsb = async (e: USBConnectionEvent): Promise => { + console.log(e) + if (e.device?.vendorId === ledgerUSBVendorId) { + console.log('Ledger connected') + const { usb } = globalThis.navigator + usb.addEventListener('disconnect', this.#onDisconnectUsb) + usb.removeEventListener('connect', this.#onConnectUsb) + } + } + + #onDisconnectUsb = async (e: USBConnectionEvent): Promise => { + console.log(e) + if (e.device?.vendorId === ledgerUSBVendorId) { + console.log('Ledger disconnected') + const { usb } = globalThis.navigator + usb.addEventListener('connect', this.#onConnectUsb) + usb.removeEventListener('disconnect', this.#onDisconnectUsb) + this.#status = 'DISCONNECTED' + } + } + /** * Open the Nano app by launching a user flow. *