diff --git a/wallet/src/ui/app/redux/slices/permissions/index.ts b/wallet/src/ui/app/redux/slices/permissions/index.ts index 6ccf638e5402c..e6f337d144304 100644 --- a/wallet/src/ui/app/redux/slices/permissions/index.ts +++ b/wallet/src/ui/app/redux/slices/permissions/index.ts @@ -7,7 +7,6 @@ import { createSelector, createSlice, } from '@reduxjs/toolkit'; -import Browser from 'webextension-polyfill'; import { activeAccountSelector } from '../account'; @@ -43,26 +42,13 @@ export const respondToPermissionRequest = createAsyncThunk< } ); -// Todo: move this to the wallet adapter -// Get all permissions from from storage -// remove the permission for a given origin -// set the new permissions in storage export const revokeAppPermissionByOrigin = createAsyncThunk< void, { origin: string }, AppThunkConfig ->('revoke-app-permission', async ({ origin }, { dispatch }) => { - const connectedApps = await Browser.storage.local.get('permissions'); - if (connectedApps.permissions[origin]) { - const appId = connectedApps.permissions[origin].id; - delete connectedApps.permissions[origin]; - // remove app from state store - dispatch(revokeAppPermission(appId)); - await Browser.storage.local.set({ - permissions: connectedApps.permissions, - }); - return; - } +>('revoke-app-permission', async ({ origin }, { extra: { background } }) => { + await background.disconnectApp(origin); + await background.sendGetPermissionRequests(); return; }); @@ -74,9 +60,6 @@ const slice = createSlice({ permissionsAdapter.setAll(state, payload); state.initialized = true; }, - revokeAppPermission: (state, { payload }: PayloadAction) => { - permissionsAdapter.removeOne(state, payload); - }, }, extraReducers: (build) => { build.addCase( @@ -98,7 +81,7 @@ const slice = createSlice({ export default slice.reducer; -export const { setPermissions, revokeAppPermission } = slice.actions; +export const { setPermissions } = slice.actions; export const permissionsSelectors = permissionsAdapter.getSelectors( (state: RootState) => state.permissions