From cb6ee2b3fe15a7217259218c2e1774b8fc776da9 Mon Sep 17 00:00:00 2001 From: David Walsh Date: Fri, 20 Jan 2023 14:20:18 -0600 Subject: [PATCH] Use async/await instead of Promise.resolve (#16221) --- .../account-import-strategies/index.js | 12 +++---- app/scripts/controllers/onboarding.js | 4 +-- app/scripts/controllers/preferences.js | 20 ++++++------ app/scripts/lib/decrypt-message-manager.js | 4 +-- .../lib/encryption-public-key-manager.js | 4 +-- app/scripts/lib/message-manager.js | 4 +-- app/scripts/lib/personal-message-manager.js | 4 +-- app/scripts/lib/typed-message-manager.js | 4 +-- test/lib/mock-encryptor.js | 12 +++---- ui/store/actions.js | 32 +++++++++---------- 10 files changed, 48 insertions(+), 52 deletions(-) diff --git a/app/scripts/account-import-strategies/index.js b/app/scripts/account-import-strategies/index.js index e4f13a0d0..61243985e 100644 --- a/app/scripts/account-import-strategies/index.js +++ b/app/scripts/account-import-strategies/index.js @@ -6,14 +6,10 @@ import { addHexPrefix } from '../lib/util'; import { stripHexPrefix } from '../../../shared/modules/hexstring-utils'; const accountImporter = { - importAccount(strategy, args) { - try { - const importer = this.strategies[strategy]; - const privateKeyHex = importer(...args); - return Promise.resolve(privateKeyHex); - } catch (e) { - return Promise.reject(e); - } + async importAccount(strategy, args) { + const importer = this.strategies[strategy]; + const privateKeyHex = importer(...args); + return privateKeyHex; }, strategies: { diff --git a/app/scripts/controllers/onboarding.js b/app/scripts/controllers/onboarding.js index ad8ef8b8c..b52a9b87e 100644 --- a/app/scripts/controllers/onboarding.js +++ b/app/scripts/controllers/onboarding.js @@ -46,11 +46,11 @@ export default class OnboardingController { // * Sets the completedOnboarding state to true, indicating that the user has completed the // * onboarding process. // */ - completeOnboarding() { + async completeOnboarding() { this.store.updateState({ completedOnboarding: true, }); - return Promise.resolve(true); + return true; } /** diff --git a/app/scripts/controllers/preferences.js b/app/scripts/controllers/preferences.js index 99f891d84..2484ef451 100644 --- a/app/scripts/controllers/preferences.js +++ b/app/scripts/controllers/preferences.js @@ -385,7 +385,7 @@ export default class PreferencesController { * @param {string} label - the custom label for the account * @returns {Promise} */ - setAccountLabel(account, label) { + async setAccountLabel(account, label) { if (!account) { throw new Error( `setAccountLabel requires a valid address, got ${String(account)}`, @@ -396,7 +396,7 @@ export default class PreferencesController { identities[address] = identities[address] || {}; identities[address].name = label; this.store.updateState({ identities }); - return Promise.resolve(label); + return label; } /** @@ -439,7 +439,7 @@ export default class PreferencesController { * @param {string} url - The RPC url to remove from frequentRpcList. * @returns {Promise} Promise resolving to updated frequentRpcList. */ - removeFromFrequentRpcList(url) { + async removeFromFrequentRpcList(url) { const rpcList = this.getFrequentRpcListDetail(); const index = rpcList.findIndex((element) => { return element.rpcUrl === url; @@ -448,7 +448,7 @@ export default class PreferencesController { rpcList.splice(index, 1); } this.store.updateState({ frequentRpcListDetail: rpcList }); - return Promise.resolve(rpcList); + return rpcList; } /** @@ -467,7 +467,7 @@ export default class PreferencesController { * @param {boolean} activated - Indicates whether or not the UI feature should be displayed * @returns {Promise} Promises a new object; the updated featureFlags object. */ - setFeatureFlag(feature, activated) { + async setFeatureFlag(feature, activated) { const currentFeatureFlags = this.store.getState().featureFlags; const updatedFeatureFlags = { ...currentFeatureFlags, @@ -476,7 +476,7 @@ export default class PreferencesController { this.store.updateState({ featureFlags: updatedFeatureFlags }); - return Promise.resolve(updatedFeatureFlags); + return updatedFeatureFlags; } /** @@ -487,7 +487,7 @@ export default class PreferencesController { * @param {boolean} value - Indicates whether or not the preference should be enabled or disabled. * @returns {Promise} Promises a new object; the updated preferences object. */ - setPreference(preference, value) { + async setPreference(preference, value) { const currentPreferences = this.getPreferences(); const updatedPreferences = { ...currentPreferences, @@ -495,7 +495,7 @@ export default class PreferencesController { }; this.store.updateState({ preferences: updatedPreferences }); - return Promise.resolve(updatedPreferences); + return updatedPreferences; } /** @@ -522,9 +522,9 @@ export default class PreferencesController { * @param {string} domain - The new IPFS gateway domain * @returns {Promise} A promise of the update IPFS gateway domain */ - setIpfsGateway(domain) { + async setIpfsGateway(domain) { this.store.updateState({ ipfsGateway: domain }); - return Promise.resolve(domain); + return domain; } /** diff --git a/app/scripts/lib/decrypt-message-manager.js b/app/scripts/lib/decrypt-message-manager.js index 4805ec398..197b66763 100644 --- a/app/scripts/lib/decrypt-message-manager.js +++ b/app/scripts/lib/decrypt-message-manager.js @@ -222,9 +222,9 @@ export default class DecryptMessageManager extends EventEmitter { * @param {object} msgParams - The msgParams to modify * @returns {Promise} Promises the msgParams with the metamaskId property removed */ - prepMsgForDecryption(msgParams) { + async prepMsgForDecryption(msgParams) { delete msgParams.metamaskId; - return Promise.resolve(msgParams); + return msgParams; } /** diff --git a/app/scripts/lib/encryption-public-key-manager.js b/app/scripts/lib/encryption-public-key-manager.js index cf96c320a..6230c9224 100644 --- a/app/scripts/lib/encryption-public-key-manager.js +++ b/app/scripts/lib/encryption-public-key-manager.js @@ -210,9 +210,9 @@ export default class EncryptionPublicKeyManager extends EventEmitter { * @param {object} msgParams - The msgParams to modify * @returns {Promise} Promises the msgParams with the metamaskId property removed */ - prepMsgForEncryptionPublicKey(msgParams) { + async prepMsgForEncryptionPublicKey(msgParams) { delete msgParams.metamaskId; - return Promise.resolve(msgParams); + return msgParams; } /** diff --git a/app/scripts/lib/message-manager.js b/app/scripts/lib/message-manager.js index dfc4e3ec3..d34a0fcfa 100644 --- a/app/scripts/lib/message-manager.js +++ b/app/scripts/lib/message-manager.js @@ -204,9 +204,9 @@ export default class MessageManager extends EventEmitter { * @param {object} msgParams - The msgParams to modify * @returns {Promise} Promises the msgParams with the metamaskId property removed */ - prepMsgForSigning(msgParams) { + async prepMsgForSigning(msgParams) { delete msgParams.metamaskId; - return Promise.resolve(msgParams); + return msgParams; } /** diff --git a/app/scripts/lib/personal-message-manager.js b/app/scripts/lib/personal-message-manager.js index 338458a66..7cc44b6ca 100644 --- a/app/scripts/lib/personal-message-manager.js +++ b/app/scripts/lib/personal-message-manager.js @@ -231,9 +231,9 @@ export default class PersonalMessageManager extends EventEmitter { * @param {object} msgParams - The msgParams to modify * @returns {Promise} Promises the msgParams with the metamaskId property removed */ - prepMsgForSigning(msgParams) { + async prepMsgForSigning(msgParams) { delete msgParams.metamaskId; - return Promise.resolve(msgParams); + return msgParams; } /** diff --git a/app/scripts/lib/typed-message-manager.js b/app/scripts/lib/typed-message-manager.js index e41fd0fd6..e368a306f 100644 --- a/app/scripts/lib/typed-message-manager.js +++ b/app/scripts/lib/typed-message-manager.js @@ -295,10 +295,10 @@ export default class TypedMessageManager extends EventEmitter { * @param {object} msgParams - The msgParams to modify * @returns {Promise} Promises the msgParams with the metamaskId property removed */ - prepMsgForSigning(msgParams) { + async prepMsgForSigning(msgParams) { delete msgParams.metamaskId; delete msgParams.version; - return Promise.resolve(msgParams); + return msgParams; } /** diff --git a/test/lib/mock-encryptor.js b/test/lib/mock-encryptor.js index 1d2add75d..96becf603 100644 --- a/test/lib/mock-encryptor.js +++ b/test/lib/mock-encryptor.js @@ -3,13 +3,13 @@ const mockKey = Buffer.alloc(32); let cacheVal; const mockEncryptor = { - encrypt(_, dataObj) { + async encrypt(_, dataObj) { cacheVal = dataObj; - return Promise.resolve(mockHex); + return mockHex; }, - decrypt() { - return Promise.resolve(cacheVal || {}); + async decrypt() { + return cacheVal || {}; }, encryptWithDetail(_, dataObj) { @@ -26,8 +26,8 @@ const mockEncryptor = { return this.decrypt(key, text); }, - keyFromPassword() { - return Promise.resolve(mockKey); + async keyFromPassword() { + return mockKey; }, generateSalt() { diff --git a/ui/store/actions.js b/ui/store/actions.js index 97efb5605..f168f7aa7 100644 --- a/ui/store/actions.js +++ b/ui/store/actions.js @@ -3276,11 +3276,11 @@ export function loadingMethodDataFinished() { } export function getContractMethodData(data = '') { - return (dispatch, getState) => { + return async (dispatch, getState) => { const prefixedData = addHexPrefix(data); const fourBytePrefix = prefixedData.slice(0, 10); if (fourBytePrefix.length < 10) { - return Promise.resolve({}); + return {}; } const { knownMethodData } = getState().metamask; if ( @@ -3288,25 +3288,25 @@ export function getContractMethodData(data = '') { knownMethodData[fourBytePrefix] && Object.keys(knownMethodData[fourBytePrefix]).length !== 0 ) { - return Promise.resolve(knownMethodData[fourBytePrefix]); + return knownMethodData[fourBytePrefix]; } dispatch(loadingMethodDataStarted()); log.debug(`loadingMethodData`); - return getMethodDataAsync(fourBytePrefix).then(({ name, params }) => { - dispatch(loadingMethodDataFinished()); - callBackgroundMethod( - 'addKnownMethodData', - [fourBytePrefix, { name, params }], - (err) => { - if (err) { - dispatch(displayWarning(err.message)); - } - }, - ); - return { name, params }; - }); + const { name, params } = await getMethodDataAsync(fourBytePrefix); + + dispatch(loadingMethodDataFinished()); + callBackgroundMethod( + 'addKnownMethodData', + [fourBytePrefix, { name, params }], + (err) => { + if (err) { + dispatch(displayWarning(err.message)); + } + }, + ); + return { name, params }; }; }