mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Ensure proper transport type is set before attempting to connect ledger wallet (#12594)
* Ensure proper transport type is set before attempting to connect ledger wallet * Fix unit tests
This commit is contained in:
parent
c0f0e1cfc4
commit
e6ae6e09b8
@ -849,6 +849,10 @@ export default class MetamaskController extends EventEmitter {
|
|||||||
this.attemptLedgerTransportCreation,
|
this.attemptLedgerTransportCreation,
|
||||||
this,
|
this,
|
||||||
),
|
),
|
||||||
|
establishLedgerTransportPreference: nodeify(
|
||||||
|
this.establishLedgerTransportPreference,
|
||||||
|
this,
|
||||||
|
),
|
||||||
|
|
||||||
// mobile
|
// mobile
|
||||||
fetchInfoToSync: nodeify(this.fetchInfoToSync, this),
|
fetchInfoToSync: nodeify(this.fetchInfoToSync, this),
|
||||||
@ -1252,6 +1256,7 @@ export default class MetamaskController extends EventEmitter {
|
|||||||
this.preferencesController.setAddresses(addresses);
|
this.preferencesController.setAddresses(addresses);
|
||||||
this.selectFirstIdentity();
|
this.selectFirstIdentity();
|
||||||
}
|
}
|
||||||
|
|
||||||
return vault;
|
return vault;
|
||||||
} finally {
|
} finally {
|
||||||
releaseLock();
|
releaseLock();
|
||||||
@ -1565,6 +1570,11 @@ export default class MetamaskController extends EventEmitter {
|
|||||||
return await keyring.attemptMakeApp();
|
return await keyring.attemptMakeApp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async establishLedgerTransportPreference() {
|
||||||
|
const transportPreference = this.preferencesController.getLedgerTransportPreference();
|
||||||
|
return await this.setLedgerTransportPreference(transportPreference);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch account list from a trezor device.
|
* Fetch account list from a trezor device.
|
||||||
*
|
*
|
||||||
|
@ -409,6 +409,10 @@ export function connectHardware(deviceName, page, hdPath, t) {
|
|||||||
let accounts;
|
let accounts;
|
||||||
try {
|
try {
|
||||||
const { ledgerTransportType } = getState().metamask;
|
const { ledgerTransportType } = getState().metamask;
|
||||||
|
|
||||||
|
if (deviceName === 'ledger') {
|
||||||
|
await promisifiedBackground.establishLedgerTransportPreference();
|
||||||
|
}
|
||||||
if (
|
if (
|
||||||
deviceName === 'ledger' &&
|
deviceName === 'ledger' &&
|
||||||
ledgerTransportType === LEDGER_TRANSPORT_TYPES.WEBHID
|
ledgerTransportType === LEDGER_TRANSPORT_TYPES.WEBHID
|
||||||
|
@ -548,6 +548,8 @@ describe('Actions', () => {
|
|||||||
(_, __, ___, cb) => cb(),
|
(_, __, ___, cb) => cb(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
background.establishLedgerTransportPreference.callsFake((cb) => cb());
|
||||||
|
|
||||||
actions._setBackgroundConnection(background);
|
actions._setBackgroundConnection(background);
|
||||||
|
|
||||||
await store.dispatch(
|
await store.dispatch(
|
||||||
@ -563,6 +565,8 @@ describe('Actions', () => {
|
|||||||
cb(new Error('error')),
|
cb(new Error('error')),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
background.establishLedgerTransportPreference.callsFake((cb) => cb());
|
||||||
|
|
||||||
actions._setBackgroundConnection(background);
|
actions._setBackgroundConnection(background);
|
||||||
|
|
||||||
const expectedActions = [
|
const expectedActions = [
|
||||||
|
Loading…
Reference in New Issue
Block a user