Skip to content

Commit

Permalink
Fix _getPermittedAccounts type safety (#10819)
Browse files Browse the repository at this point in the history
  • Loading branch information
rekmarks authored Apr 5, 2021
1 parent 966b2dc commit e142bf0
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions app/scripts/controllers/permissions/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ export class PermissionsController {
this.validatePermittedAccounts([account]);

const oldPermittedAccounts = this._getPermittedAccounts(origin);
if (!oldPermittedAccounts) {
if (oldPermittedAccounts.length === 0) {
throw new Error(`Origin does not have 'eth_accounts' permission`);
} else if (oldPermittedAccounts.includes(account)) {
throw new Error('Account is already permitted for origin');
Expand Down Expand Up @@ -335,7 +335,7 @@ export class PermissionsController {
this.validatePermittedAccounts([account]);

const oldPermittedAccounts = this._getPermittedAccounts(origin);
if (!oldPermittedAccounts) {
if (oldPermittedAccounts.length === 0) {
throw new Error(`Origin does not have 'eth_accounts' permission`);
} else if (!oldPermittedAccounts.includes(account)) {
throw new Error('Account is not permitted for origin');
Expand Down Expand Up @@ -612,15 +612,15 @@ export class PermissionsController {
* Get current set of permitted accounts for the given origin
*
* @param {string} origin - The origin to obtain permitted accounts for
* @returns {Array<string>|null} The list of permitted accounts
* @returns {Array<string>} The list of permitted accounts
*/
_getPermittedAccounts(origin) {
const permittedAccounts = this.permissions
.getPermission(origin, 'eth_accounts')
?.caveats?.find((caveat) => caveat.name === CAVEAT_NAMES.exposedAccounts)
?.value;

return permittedAccounts || null;
return permittedAccounts || [];
}

/**
Expand Down

0 comments on commit e142bf0

Please sign in to comment.