1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Selector performance improvements (#17410)

* Stop checksumming addresses unnecesarily

* Fix lint
This commit is contained in:
Frederik Bolding 2023-02-27 17:33:21 +01:00 committed by GitHub
parent 64bfe6f307
commit 63cbcc7147
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -49,7 +49,6 @@ import {
import { TEMPLATED_CONFIRMATION_MESSAGE_TYPES } from '../pages/confirmation/templates'; import { TEMPLATED_CONFIRMATION_MESSAGE_TYPES } from '../pages/confirmation/templates';
import { STATIC_MAINNET_TOKEN_LIST } from '../../shared/constants/tokens'; import { STATIC_MAINNET_TOKEN_LIST } from '../../shared/constants/tokens';
import { toChecksumHexAddress } from '../../shared/modules/hexstring-utils';
import { DAY } from '../../shared/constants/time'; import { DAY } from '../../shared/constants/time';
import { import {
getNativeCurrency, getNativeCurrency,
@ -394,7 +393,7 @@ export function getEnsResolutionByAddress(state, address) {
const entry = const entry =
getAddressBookEntry(state, address) || getAddressBookEntry(state, address) ||
Object.values(state.metamask.identities).find((identity) => Object.values(state.metamask.identities).find((identity) =>
isEqualCaseInsensitive(identity.address, toChecksumHexAddress(address)), isEqualCaseInsensitive(identity.address, address),
); );
return entry?.name || ''; return entry?.name || '';
@ -403,7 +402,7 @@ export function getEnsResolutionByAddress(state, address) {
export function getAddressBookEntry(state, address) { export function getAddressBookEntry(state, address) {
const addressBook = getAddressBook(state); const addressBook = getAddressBook(state);
const entry = addressBook.find((contact) => const entry = addressBook.find((contact) =>
isEqualCaseInsensitive(contact.address, toChecksumHexAddress(address)), isEqualCaseInsensitive(contact.address, address),
); );
return entry; return entry;
} }
@ -412,14 +411,14 @@ export function getAddressBookEntryOrAccountName(state, address) {
const entry = const entry =
getAddressBookEntry(state, address) || getAddressBookEntry(state, address) ||
Object.values(state.metamask.identities).find((identity) => Object.values(state.metamask.identities).find((identity) =>
isEqualCaseInsensitive(identity.address, toChecksumHexAddress(address)), isEqualCaseInsensitive(identity.address, address),
); );
return entry && entry.name !== '' ? entry.name : address; return entry && entry.name !== '' ? entry.name : address;
} }
export function getAccountName(identities, address) { export function getAccountName(identities, address) {
const entry = Object.values(identities).find((identity) => const entry = Object.values(identities).find((identity) =>
isEqualCaseInsensitive(identity.address, toChecksumHexAddress(address)), isEqualCaseInsensitive(identity.address, address),
); );
return entry && entry.name !== '' ? entry.name : ''; return entry && entry.name !== '' ? entry.name : '';
} }
@ -427,7 +426,7 @@ export function getAccountName(identities, address) {
export function getMetadataContractName(state, address) { export function getMetadataContractName(state, address) {
const tokenList = getTokenList(state); const tokenList = getTokenList(state);
const entry = Object.values(tokenList).find((identity) => const entry = Object.values(tokenList).find((identity) =>
isEqualCaseInsensitive(identity.address, toChecksumHexAddress(address)), isEqualCaseInsensitive(identity.address, address),
); );
return entry && entry.name !== '' ? entry.name : ''; return entry && entry.name !== '' ? entry.name : '';
} }
@ -840,9 +839,8 @@ export const getMemoizedMetadataContractName = createDeepEqualSelector(
getTokenList, getTokenList,
(_tokenList, address) => address, (_tokenList, address) => address,
(tokenList, address) => { (tokenList, address) => {
const checksumHexAddress = toChecksumHexAddress(address);
const entry = Object.values(tokenList).find((identity) => const entry = Object.values(tokenList).find((identity) =>
isEqualCaseInsensitive(identity.address, checksumHexAddress), isEqualCaseInsensitive(identity.address, address),
); );
return entry && entry.name !== '' ? entry.name : ''; return entry && entry.name !== '' ? entry.name : '';
}, },