text: 
  import { createSelector } from 'reselect'
  import {
    CAVEAT_NAMES,
  } from '../../../app/scripts/controllers/permissions/enums'
  
  const permissionsSelector = (state, origin) => {
    return origin && state.metamask.domains && state.metamask.domains[origin]
  }
  
  // all permissions for the origin probably too expensive for deep equality check
  const accountsPermissionSelector = createSelector(
    permissionsSelector,
    (domain = {}) => {
  
      return (
        Array.isArray(domain.permissions)
          ? domain.permissions.find(
            perm => perm.parentCapability === 'eth_accounts'
          )
          : {}
      )
    }
  )
  
  /**
   * Selects the permitted accounts from an eth_accounts permission.
   * Expects input from accountsPermissionsSelector.
   * @returns - An empty array or an array of accounts.
   */
  export const getPermittedAccounts = createSelector(
    accountsPermissionSelector, // deep equal check performed on this output
    (accountsPermission = {}) => {
  
      const accountsCaveat = (
        Array.isArray(accountsPermission.caveats) &&
        accountsPermission.caveats.find(
          c => c.name === CAVEAT_NAMES.exposedAccounts
        )
      )
  
      return (
        accountsCaveat && Array.isArray(accountsCaveat.value)
          ? accountsCaveat.value
          : []
      )
    }
  )
  