From adf37de5727413f2f2736c0d884eb98dabc28550 Mon Sep 17 00:00:00 2001 From: katspaugh <381895+katspaugh@users.noreply.github.com> Date: Wed, 15 Dec 2021 16:25:28 +0100 Subject: [PATCH 1/3] Chore: unpromisify localStorage --- .../actions/loadCurrentSessionFromStorage.ts | 4 +- src/logic/currentSession/utils/index.ts | 10 ++--- src/logic/safe/hooks/useLocalSafes.tsx | 4 +- src/logic/safe/store/actions/fetchSafe.ts | 12 +++--- .../store/actions/loadSafesFromStorage.ts | 6 +-- .../middleware/notificationsMiddleware.ts | 10 ++--- src/logic/safe/utils/safeStorage.ts | 24 +++++------ .../wallets/transactionDataCheck/index.ts | 6 +-- src/routes/CreateSafePage/CreateSafePage.tsx | 10 +++-- .../components/SafeCreationProcess.tsx | 42 +++++++++---------- src/routes/LoadSafePage/LoadSafePage.tsx | 6 +-- .../Apps/components/AppsList.test.tsx | 6 +-- .../components/Apps/hooks/useLegalConsent.ts | 12 +----- src/utils/storage/index.ts | 11 ++--- 14 files changed, 67 insertions(+), 96 deletions(-) diff --git a/src/logic/currentSession/store/actions/loadCurrentSessionFromStorage.ts b/src/logic/currentSession/store/actions/loadCurrentSessionFromStorage.ts index 2d9bcf3be9..6cffc5cd03 100644 --- a/src/logic/currentSession/store/actions/loadCurrentSessionFromStorage.ts +++ b/src/logic/currentSession/store/actions/loadCurrentSessionFromStorage.ts @@ -5,8 +5,8 @@ import { getCurrentSessionFromStorage } from 'src/logic/currentSession/utils' const loadCurrentSessionFromStorage = () => - async (dispatch: Dispatch): Promise => { - const currentSession = await getCurrentSessionFromStorage() + (dispatch: Dispatch): void => { + const currentSession = getCurrentSessionFromStorage() dispatch(loadCurrentSession(currentSession)) } diff --git a/src/logic/currentSession/utils/index.ts b/src/logic/currentSession/utils/index.ts index 2680648529..be7311153c 100644 --- a/src/logic/currentSession/utils/index.ts +++ b/src/logic/currentSession/utils/index.ts @@ -3,13 +3,9 @@ import { CurrentSessionState } from 'src/logic/currentSession/store/reducer/curr const CURRENT_SESSION_STORAGE_KEY = 'CURRENT_SESSION' -export const getCurrentSessionFromStorage = async (): Promise => +export const getCurrentSessionFromStorage = (): CurrentSessionState | undefined => loadFromStorage(CURRENT_SESSION_STORAGE_KEY) -export const saveCurrentSessionToStorage = async (currentSession: CurrentSessionState): Promise => { - try { - await saveToStorage(CURRENT_SESSION_STORAGE_KEY, currentSession) - } catch (err) { - console.error('Error storing currentSession in localStorage', err) - } +export const saveCurrentSessionToStorage = (currentSession: CurrentSessionState): void => { + saveToStorage(CURRENT_SESSION_STORAGE_KEY, currentSession) } diff --git a/src/logic/safe/hooks/useLocalSafes.tsx b/src/logic/safe/hooks/useLocalSafes.tsx index d5a9464000..8a5d9e3012 100644 --- a/src/logic/safe/hooks/useLocalSafes.tsx +++ b/src/logic/safe/hooks/useLocalSafes.tsx @@ -21,8 +21,8 @@ const useLocalSafes = (): LocalSafes => { // Reload added Safes from the localStorage when addedAddresses changes useEffect(() => { const getLocalSafes = () => { - getChains().forEach(async ({ chainId }) => { - const localSafe = await getLocalNetworkSafesById(chainId) + getChains().forEach(({ chainId }) => { + const localSafe = getLocalNetworkSafesById(chainId) setLocalSafes((prevSafes) => ({ ...prevSafes, ...(localSafe && { [chainId]: localSafe }), diff --git a/src/logic/safe/store/actions/fetchSafe.ts b/src/logic/safe/store/actions/fetchSafe.ts index c21e0d7bd2..0c3fc1a43c 100644 --- a/src/logic/safe/store/actions/fetchSafe.ts +++ b/src/logic/safe/store/actions/fetchSafe.ts @@ -29,13 +29,11 @@ export const buildSafe = async (safeAddress: string): Promise = // setting `loadedViaUrl` to false, as `buildSafe` is called on safe Load or Open flows const safeInfo: Partial = { address, loadedViaUrl: false } - const [remote, local] = await Promise.all([ - getSafeInfo(safeAddress).catch((err) => { - err.log() - return null - }), - getLocalSafe(safeAddress), - ]) + const local = getLocalSafe(safeAddress) + const remote = await getSafeInfo(safeAddress).catch((err) => { + err.log() + return null + }) // remote (client-gateway) const remoteSafeInfo = remote ? await extractRemoteSafeInfo(remote) : {} diff --git a/src/logic/safe/store/actions/loadSafesFromStorage.ts b/src/logic/safe/store/actions/loadSafesFromStorage.ts index 65fd31ca52..b8805b0438 100644 --- a/src/logic/safe/store/actions/loadSafesFromStorage.ts +++ b/src/logic/safe/store/actions/loadSafesFromStorage.ts @@ -5,16 +5,14 @@ import { addOrUpdateSafe } from './addOrUpdateSafe' const loadSafesFromStorage = () => - async (dispatch: Dispatch): Promise => { - const safes = await getLocalSafes() + (dispatch: Dispatch): void => { + const safes = getLocalSafes() if (safes) { safes.forEach((safeProps) => { dispatch(addOrUpdateSafe(buildSafe(safeProps))) }) } - - return Promise.resolve() } export default loadSafesFromStorage diff --git a/src/logic/safe/store/middleware/notificationsMiddleware.ts b/src/logic/safe/store/middleware/notificationsMiddleware.ts index 5e5e1f5e81..2b7a582e0c 100644 --- a/src/logic/safe/store/middleware/notificationsMiddleware.ts +++ b/src/logic/safe/store/middleware/notificationsMiddleware.ts @@ -28,13 +28,13 @@ const watchedActions = [ADD_OR_UPDATE_SAFE, ADD_QUEUED_TRANSACTIONS, ADD_HISTORY const LAST_TIME_USED_LOGGED_IN_ID = 'LAST_TIME_USED_LOGGED_IN_ID' -const sendAwaitingTransactionNotification = async ( +const sendAwaitingTransactionNotification = ( dispatch, safeAddress, awaitingTxsSubmissionDateList, notificationKey, notificationClickedCb, -) => { +): void => { if (!dispatch || !safeAddress || !awaitingTxsSubmissionDateList || !notificationKey) { return } @@ -42,7 +42,7 @@ const sendAwaitingTransactionNotification = async ( return } - let lastTimeUserLoggedInForSafes = (await loadFromStorage>(LAST_TIME_USED_LOGGED_IN_ID)) || {} + let lastTimeUserLoggedInForSafes = loadFromStorage>(LAST_TIME_USED_LOGGED_IN_ID) || {} const lastTimeUserLoggedIn = lastTimeUserLoggedInForSafes[safeAddress] ? lastTimeUserLoggedInForSafes[safeAddress] : null @@ -63,7 +63,7 @@ const sendAwaitingTransactionNotification = async ( ...lastTimeUserLoggedInForSafes, [safeAddress]: new Date(), } - await saveToStorage(LAST_TIME_USED_LOGGED_IN_ID, lastTimeUserLoggedInForSafes) + saveToStorage(LAST_TIME_USED_LOGGED_IN_ID, lastTimeUserLoggedInForSafes) } // any/AnyAction used as our Redux state is not typed @@ -121,7 +121,7 @@ const notificationsMiddleware = ) } - await sendAwaitingTransactionNotification( + sendAwaitingTransactionNotification( dispatch, safeAddress, awaitingTxsSubmissionDateList, diff --git a/src/logic/safe/utils/safeStorage.ts b/src/logic/safe/utils/safeStorage.ts index 708c730d35..8668b579df 100644 --- a/src/logic/safe/utils/safeStorage.ts +++ b/src/logic/safe/utils/safeStorage.ts @@ -6,33 +6,29 @@ export const SAFES_KEY = 'SAFES' export type StoredSafes = Record -export const loadStoredSafes = (): Promise => { +export const loadStoredSafes = (): StoredSafes | undefined => { return loadFromStorage(SAFES_KEY) } -export const loadStoredNetworkSafeById = (id: ChainId): Promise => { +export const loadStoredNetworkSafeById = (id: ChainId): StoredSafes | undefined => { return loadFromStorage(SAFES_KEY, getStoragePrefix(id)) } -export const saveSafes = async (safes: StoredSafes): Promise => { - try { - await saveToStorage(SAFES_KEY, safes) - } catch (err) { - console.error('Error storing Safe info in localstorage', err) - } +export const saveSafes = (safes: StoredSafes): void => { + saveToStorage(SAFES_KEY, safes) } -export const getLocalSafes = async (): Promise => { - const storedSafes = await loadStoredSafes() +export const getLocalSafes = (): SafeRecordProps[] | undefined => { + const storedSafes = loadStoredSafes() return storedSafes ? Object.values(storedSafes) : undefined } -export const getLocalNetworkSafesById = async (id: ChainId): Promise => { - const storedSafes = await loadStoredNetworkSafeById(id) +export const getLocalNetworkSafesById = (id: ChainId): SafeRecordProps[] | undefined => { + const storedSafes = loadStoredNetworkSafeById(id) return storedSafes ? Object.values(storedSafes) : undefined } -export const getLocalSafe = async (safeAddress: string): Promise => { - const storedSafes = await loadStoredSafes() +export const getLocalSafe = (safeAddress: string): SafeRecordProps | undefined => { + const storedSafes = loadStoredSafes() return storedSafes?.[safeAddress] } diff --git a/src/logic/wallets/transactionDataCheck/index.ts b/src/logic/wallets/transactionDataCheck/index.ts index b4a03bbfbb..283bfbdd67 100644 --- a/src/logic/wallets/transactionDataCheck/index.ts +++ b/src/logic/wallets/transactionDataCheck/index.ts @@ -4,9 +4,9 @@ import contractDataImage from './images/contractData.png' const USER_ENABLED_LEDGER_TX_DATA = 'USER_ENABLED_LEDGER_TX_DATA' function transactionDataCheck(): any { - return async (stateAndHelpers) => { + return (stateAndHelpers) => { const { wallet } = stateAndHelpers - const isTransactionDataEnabled = await loadFromStorage(USER_ENABLED_LEDGER_TX_DATA) + const isTransactionDataEnabled = loadFromStorage(USER_ENABLED_LEDGER_TX_DATA) if (wallet && wallet.name.toUpperCase() === WALLET_PROVIDER.LEDGER && !isTransactionDataEnabled) { return { heading: 'Allow Transaction Data', // edit modal heading here @@ -14,7 +14,7 @@ function transactionDataCheck(): any { eventCode: 'allowTransactionData', button: { text: 'Done', - onclick: async () => await saveToStorage(USER_ENABLED_LEDGER_TX_DATA, true), + onclick: () => saveToStorage(USER_ENABLED_LEDGER_TX_DATA, true), }, icon: ` diff --git a/src/routes/CreateSafePage/CreateSafePage.tsx b/src/routes/CreateSafePage/CreateSafePage.tsx index 0c8bdd4bd4..e6bd836001 100644 --- a/src/routes/CreateSafePage/CreateSafePage.tsx +++ b/src/routes/CreateSafePage/CreateSafePage.tsx @@ -46,9 +46,11 @@ function CreateSafePage(): ReactElement { const provider = !!providerName && !isWrongNetwork useEffect(() => { - async function checkIfSafeIsPendingToBeCreated() { + const checkIfSafeIsPendingToBeCreated = async (): Promise => { setIsLoading(true) - const safePendingToBeCreated = (await loadFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY)) as CreateSafeFormValues + const safePendingToBeCreated = await Promise.resolve( + loadFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY), + ) if (provider) { await instantiateSafeContracts() setSafePendingToBeCreated(safePendingToBeCreated) @@ -63,8 +65,8 @@ function CreateSafePage(): ReactElement { const location = useLocation() const safeRandomName = useMnemonicSafeName() - async function showSafeCreationProcess(newSafeFormValues: CreateSafeFormValues) { - await saveToStorage(SAFE_PENDING_CREATION_STORAGE_KEY, { ...newSafeFormValues }) + const showSafeCreationProcess = (newSafeFormValues: CreateSafeFormValues): void => { + saveToStorage(SAFE_PENDING_CREATION_STORAGE_KEY, { ...newSafeFormValues }) setSafePendingToBeCreated(newSafeFormValues) } diff --git a/src/routes/CreateSafePage/components/SafeCreationProcess.tsx b/src/routes/CreateSafePage/components/SafeCreationProcess.tsx index 64b069b7f0..3ae5b5448b 100644 --- a/src/routes/CreateSafePage/components/SafeCreationProcess.tsx +++ b/src/routes/CreateSafePage/components/SafeCreationProcess.tsx @@ -61,8 +61,8 @@ function SafeCreationProcess(): ReactElement { const [showModal, setShowModal] = useState(false) const [modalData, setModalData] = useState({ safeAddress: '' }) - const createNewSafe = useCallback(async () => { - const safeCreationFormValues = (await loadFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY)) as CreateSafeFormValues + const createNewSafe = useCallback(() => { + const safeCreationFormValues = loadFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY) if (!safeCreationFormValues) { goToWelcomePage() @@ -115,27 +115,22 @@ function SafeCreationProcess(): ReactElement { }, [userAddressAccount]) useEffect(() => { - const load = async () => { - const safeCreationFormValues = (await loadFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY)) as CreateSafeFormValues - - if (!safeCreationFormValues) { - goToWelcomePage() - return - } - - const safeCreationTxHash = safeCreationFormValues[FIELD_NEW_SAFE_CREATION_TX_HASH] - if (safeCreationTxHash) { - setSafeCreationTxHash(safeCreationTxHash) - } else { - createNewSafe() - } + const safeCreationFormValues = loadFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY) + if (!safeCreationFormValues) { + goToWelcomePage() + return } - load() + const safeCreationTxHash = safeCreationFormValues[FIELD_NEW_SAFE_CREATION_TX_HASH] + if (safeCreationTxHash) { + setSafeCreationTxHash(safeCreationTxHash) + } else { + createNewSafe() + } }, [createNewSafe]) const onSafeCreated = async (newSafeAddress: string): Promise => { - const createSafeFormValues = (await loadFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY)) as CreateSafeFormValues + const createSafeFormValues = loadFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY) if (!createSafeFormValues) { goToWelcomePage() @@ -182,8 +177,8 @@ function SafeCreationProcess(): ReactElement { }) } - const onRetry = async () => { - const safeCreationFormValues = (await loadFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY)) as CreateSafeFormValues + const onRetry = (): void => { + const safeCreationFormValues = loadFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY) if (!safeCreationFormValues) { goToWelcomePage() @@ -192,7 +187,7 @@ function SafeCreationProcess(): ReactElement { setSafeCreationTxHash(undefined) delete safeCreationFormValues.safeCreationTxHash - await saveToStorage(SAFE_PENDING_CREATION_STORAGE_KEY, safeCreationFormValues) + saveToStorage(SAFE_PENDING_CREATION_STORAGE_KEY, safeCreationFormValues) createNewSafe() } @@ -201,8 +196,9 @@ function SafeCreationProcess(): ReactElement { goToWelcomePage() } - async function onClickModalButton() { - await removeFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY) + function onClickModalButton() { + removeFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY) + const { safeName, safeCreationTxHash, safeAddress } = modalData history.push({ pathname: generateSafeRoute(SAFE_ROUTES.ASSETS_BALANCES, { diff --git a/src/routes/LoadSafePage/LoadSafePage.tsx b/src/routes/LoadSafePage/LoadSafePage.tsx index 264c84730f..7c150f0bd6 100644 --- a/src/routes/LoadSafePage/LoadSafePage.tsx +++ b/src/routes/LoadSafePage/LoadSafePage.tsx @@ -81,7 +81,7 @@ function Load(): ReactElement { dispatch(addressBookSafeLoad([...ownerEntries, safeEntry])) } - const onSubmitLoadSafe = async (values: LoadSafeFormValues) => { + const onSubmitLoadSafe = async (values: LoadSafeFormValues): Promise => { const address = values[FIELD_LOAD_SAFE_ADDRESS] if (!isValidAddress(address)) { return @@ -91,10 +91,10 @@ function Load(): ReactElement { const checksummedAddress = checksumAddress(address || '') const safeProps = await buildSafe(checksummedAddress) - const storedSafes = (await loadStoredSafes()) || {} + const storedSafes = loadStoredSafes() || {} storedSafes[checksummedAddress] = safeProps - await saveSafes(storedSafes) + saveSafes(storedSafes) dispatch(addOrUpdateSafe(safeProps)) // Go to the newly added Safe diff --git a/src/routes/safe/components/Apps/components/AppsList.test.tsx b/src/routes/safe/components/Apps/components/AppsList.test.tsx index dea8b77964..f6478167ea 100644 --- a/src/routes/safe/components/Apps/components/AppsList.test.tsx +++ b/src/routes/safe/components/Apps/components/AppsList.test.tsx @@ -18,10 +18,10 @@ const spyTrackEventGA = jest.fn() beforeEach(async () => { // Includes an id that doesn't exist in the remote apps to check that there's no error - await saveToStorage(appUtils.PINNED_SAFE_APP_IDS, ['14', '24', '228']) + saveToStorage(appUtils.PINNED_SAFE_APP_IDS, ['14', '24', '228']) // populate custom app - await saveToStorage(appUtils.APPS_STORAGE_KEY, [ + saveToStorage(appUtils.APPS_STORAGE_KEY, [ { url: 'https://apps.gnosis-safe.io/drain-safe', }, @@ -206,7 +206,7 @@ describe('Safe Apps -> AppsList -> Search', () => { describe('Safe Apps -> AppsList -> Pinning apps', () => { it('Shows a tutorial message when there are no pinned apps', async () => { - await saveToStorage(appUtils.PINNED_SAFE_APP_IDS, []) + saveToStorage(appUtils.PINNED_SAFE_APP_IDS, []) render() diff --git a/src/routes/safe/components/Apps/hooks/useLegalConsent.ts b/src/routes/safe/components/Apps/hooks/useLegalConsent.ts index c9bbf86ada..02acf4c305 100644 --- a/src/routes/safe/components/Apps/hooks/useLegalConsent.ts +++ b/src/routes/safe/components/Apps/hooks/useLegalConsent.ts @@ -7,17 +7,7 @@ const useLegalConsent = (): { consentReceived: boolean | undefined; onConsentRec const [consentReceived, setConsentReceived] = useState() useEffect(() => { - const checkLegalDisclaimer = async () => { - const storedConsentReceived = await loadFromStorage(APPS_LEGAL_CONSENT_RECEIVED) - - if (storedConsentReceived) { - setConsentReceived(true) - } else { - setConsentReceived(false) - } - } - - checkLegalDisclaimer() + setConsentReceived(loadFromStorage(APPS_LEGAL_CONSENT_RECEIVED) || false) }, []) const onConsentReceipt = useCallback((): void => { diff --git a/src/utils/storage/index.ts b/src/utils/storage/index.ts index 656108332d..34e9cb3b93 100644 --- a/src/utils/storage/index.ts +++ b/src/utils/storage/index.ts @@ -19,23 +19,18 @@ export const storage = new Storage(window.localStorage, '') export const getStoragePrefix = (id = _getChainId()): string => { const name = STORAGE_KEYS[id] || id - // Legacy ImmortalDB prefix - // @TODO: migrate it return `_immortal|v2_${name}__` } -export const loadFromStorage = async ( - key: string, - prefix = getStoragePrefix(), -): Promise => { +export const loadFromStorage = (key: string, prefix = getStoragePrefix()): T | undefined => { return storage.getItem(`${prefix}${key}`) } -export const saveToStorage = async (key: string, value: T): Promise => { +export const saveToStorage = (key: string, value: T): void => { storage.setItem(`${getStoragePrefix()}${key}`, value) } -export const removeFromStorage = async (key: string): Promise => { +export const removeFromStorage = (key: string): void => { storage.removeItem(`${getStoragePrefix()}${key}`) } From ac8e7cb960a2b68d613e5cc2a9189509882d04d6 Mon Sep 17 00:00:00 2001 From: katspaugh <381895+katspaugh@users.noreply.github.com> Date: Wed, 15 Dec 2021 16:35:54 +0100 Subject: [PATCH 2/3] Update mock --- src/logic/safe/utils/mocks/remoteConfig.json | 57 -------------------- src/utils/storage/index.ts | 2 + 2 files changed, 2 insertions(+), 57 deletions(-) diff --git a/src/logic/safe/utils/mocks/remoteConfig.json b/src/logic/safe/utils/mocks/remoteConfig.json index f99107921b..b11063378e 100644 --- a/src/logic/safe/utils/mocks/remoteConfig.json +++ b/src/logic/safe/utils/mocks/remoteConfig.json @@ -64,62 +64,6 @@ "SPENDING_LIMIT" ] }, - { - "transactionService": "https://safe-transaction.avalanche.gnosis.io", - "chainId": "43114", - "chainName": "Avalanche", - "shortName": "Avalanche", - "l2": true, - "description": "", - "rpcUri": { - "authentication": "NO_AUTHENTICATION", - "value": "https://api.avax.network/ext/bc/C/rpc" - }, - "safeAppsRpcUri": { - "authentication": "NO_AUTHENTICATION", - "value": "https://api.avax.network/ext/bc/C/rpc" - }, - "publicRpcUri": { - "authentication": "NO_AUTHENTICATION", - "value": "https://api.avax.network/ext/bc/C/rpc" - }, - "blockExplorerUriTemplate": { - "address": "https://snowtrace.io/address/{{address}}", - "txHash": "https://snowtrace.io/tx/{{txHash}}", - "api": "https://api.snowtrace.io/api?module={{module}}&action={{action}}&address={{address}}&apiKey={{apiKey}}" - }, - "nativeCurrency": { - "name": "Avalanche", - "symbol": "AVAX", - "decimals": 18, - "logoUri": "https://safe-transaction-assets.staging.gnosisdev.com/chains/43114/currency_logo.png" - }, - "theme": { - "textColor": "#ffffff", - "backgroundColor": "#e84142" - }, - "gasPrice": [], - "disabledWallets": [ - "authereum", - "fortmatic", - "keystone", - "lattice", - "opera", - "operaTouch", - "portis", - "torus", - "trezor", - "trust" - ], - "features": [ - "CONTRACT_INTERACTION", - "DOMAIN_LOOKUP", - "EIP1559", - "ERC721", - "SAFE_APPS", - "SAFE_TX_GAS_OPTIONAL" - ] - }, { "transactionService": "https://safe-transaction-polygon.staging.gnosisdev.com", "chainId": "137", @@ -168,7 +112,6 @@ "fortmatic", "keystone", "lattice", - "ledger", "opera", "operaTouch", "portis", diff --git a/src/utils/storage/index.ts b/src/utils/storage/index.ts index 34e9cb3b93..ca99f38986 100644 --- a/src/utils/storage/index.ts +++ b/src/utils/storage/index.ts @@ -19,6 +19,8 @@ export const storage = new Storage(window.localStorage, '') export const getStoragePrefix = (id = _getChainId()): string => { const name = STORAGE_KEYS[id] || id + // Legacy ImmortalDB prefix + // @TODO: migrate it return `_immortal|v2_${name}__` } From 075ed041a602301d890055bed14d7366b9adb391 Mon Sep 17 00:00:00 2001 From: katspaugh <381895+katspaugh@users.noreply.github.com> Date: Wed, 15 Dec 2021 16:38:33 +0100 Subject: [PATCH 3/3] Add a todo comment --- src/routes/CreateSafePage/CreateSafePage.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/routes/CreateSafePage/CreateSafePage.tsx b/src/routes/CreateSafePage/CreateSafePage.tsx index e6bd836001..63712f1cc1 100644 --- a/src/routes/CreateSafePage/CreateSafePage.tsx +++ b/src/routes/CreateSafePage/CreateSafePage.tsx @@ -48,9 +48,13 @@ function CreateSafePage(): ReactElement { useEffect(() => { const checkIfSafeIsPendingToBeCreated = async (): Promise => { setIsLoading(true) + + // Removing the await completely is breaking the tests for a mysterious reason + // @TODO: remove the promise const safePendingToBeCreated = await Promise.resolve( loadFromStorage(SAFE_PENDING_CREATION_STORAGE_KEY), ) + if (provider) { await instantiateSafeContracts() setSafePendingToBeCreated(safePendingToBeCreated)