uniswap-interface-uncensored/src/state/index.ts

37 lines
1017 B
TypeScript

import { configureStore, getDefaultMiddleware } from '@reduxjs/toolkit'
import { save, load } from 'redux-localstorage-simple'
import application from './application/reducer'
import { updateVersion } from './global/actions'
import user from './user/reducer'
import transactions from './transactions/reducer'
import swap from './swap/reducer'
import mint from './mint/reducer'
import lists from './lists/reducer'
import burn from './burn/reducer'
import multicall from './multicall/reducer'
const PERSISTED_KEYS: string[] = ['user', 'transactions', 'lists']
const store = configureStore({
reducer: {
application,
user,
transactions,
swap,
mint,
burn,
multicall,
lists
},
middleware: [...getDefaultMiddleware({ thunk: false }), save({ states: PERSISTED_KEYS })],
preloadedState: load({ states: PERSISTED_KEYS })
})
store.dispatch(updateVersion())
export default store
export type AppState = ReturnType<typeof store.getState>
export type AppDispatch = typeof store.dispatch