diff --git a/package-lock.json b/package-lock.json
index 29be2840..403b138a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,7 +21,7 @@
         "@mui/material": "^5.15.2",
         "@mui/x-data-grid": "^6.18.6",
         "@mui/x-date-pickers": "^6.18.6",
-        "@reduxjs/toolkit": "^1.9.7",
+        "@reduxjs/toolkit": "^2.0.1",
         "@web3modal/ethereum": "^2.7.1",
         "@web3modal/react": "^2.7.1",
         "abi-coder": "^4.1.1",
@@ -44,7 +44,7 @@
         "react-dom": "^18.2.0",
         "react-hook-form": "^7.49.2",
         "react-i18next": "^12.3.1",
-        "react-redux": "^8.1.3",
+        "react-redux": "^9.0.4",
         "redis": "^4.6.12",
         "redis-om": "^0.4.3",
         "request-ip": "^3.3.0",
@@ -3547,18 +3547,18 @@
       }
     },
     "node_modules/@reduxjs/toolkit": {
-      "version": "1.9.7",
-      "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz",
-      "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.0.1.tgz",
+      "integrity": "sha512-fxIjrR9934cmS8YXIGd9e7s1XRsEU++aFc9DVNMFMRTM5Vtsg2DCRMj21eslGtDt43IUf9bJL3h5bwUlZleibA==",
       "dependencies": {
-        "immer": "^9.0.21",
-        "redux": "^4.2.1",
-        "redux-thunk": "^2.4.2",
-        "reselect": "^4.1.8"
+        "immer": "^10.0.3",
+        "redux": "^5.0.0",
+        "redux-thunk": "^3.1.0",
+        "reselect": "^5.0.1"
       },
       "peerDependencies": {
         "react": "^16.9.0 || ^17.0.0 || ^18",
-        "react-redux": "^7.2.1 || ^8.0.2"
+        "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0"
       },
       "peerDependenciesMeta": {
         "react": {
@@ -3569,6 +3569,11 @@
         }
       }
     },
+    "node_modules/@reduxjs/toolkit/node_modules/reselect": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.0.1.tgz",
+      "integrity": "sha512-D72j2ubjgHpvuCiORWkOUxndHJrxDaSolheiz5CO+roz8ka97/4msh2E8F5qay4GawR5vzBt5MkbDHT+Rdy/Wg=="
+    },
     "node_modules/@rushstack/eslint-patch": {
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz",
@@ -4307,7 +4312,7 @@
       "version": "18.2.18",
       "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz",
       "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "@types/react": "*"
       }
@@ -8848,9 +8853,9 @@
       }
     },
     "node_modules/immer": {
-      "version": "9.0.21",
-      "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz",
-      "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==",
+      "version": "10.0.3",
+      "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.3.tgz",
+      "integrity": "sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==",
       "funding": {
         "type": "opencollective",
         "url": "https://opencollective.com/immer"
@@ -12275,35 +12280,23 @@
       "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
     },
     "node_modules/react-redux": {
-      "version": "8.1.3",
-      "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz",
-      "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==",
+      "version": "9.0.4",
+      "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.0.4.tgz",
+      "integrity": "sha512-9J1xh8sWO0vYq2sCxK2My/QO7MzUMRi3rpiILP/+tDr8krBHixC6JMM17fMK88+Oh3e4Ae6/sHIhNBgkUivwFA==",
       "dependencies": {
-        "@babel/runtime": "^7.12.1",
-        "@types/hoist-non-react-statics": "^3.3.1",
         "@types/use-sync-external-store": "^0.0.3",
-        "hoist-non-react-statics": "^3.3.2",
-        "react-is": "^18.0.0",
         "use-sync-external-store": "^1.0.0"
       },
       "peerDependencies": {
-        "@types/react": "^16.8 || ^17.0 || ^18.0",
-        "@types/react-dom": "^16.8 || ^17.0 || ^18.0",
-        "react": "^16.8 || ^17.0 || ^18.0",
-        "react-dom": "^16.8 || ^17.0 || ^18.0",
-        "react-native": ">=0.59",
-        "redux": "^4 || ^5.0.0-beta.0"
+        "@types/react": "^18.2.25",
+        "react": "^18.0",
+        "react-native": ">=0.69",
+        "redux": "^5.0.0"
       },
       "peerDependenciesMeta": {
         "@types/react": {
           "optional": true
         },
-        "@types/react-dom": {
-          "optional": true
-        },
-        "react-dom": {
-          "optional": true
-        },
         "react-native": {
           "optional": true
         },
@@ -12312,11 +12305,6 @@
         }
       }
     },
-    "node_modules/react-redux/node_modules/react-is": {
-      "version": "18.2.0",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
-      "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
-    },
     "node_modules/react-simple-animate": {
       "version": "3.5.2",
       "resolved": "https://registry.npmjs.org/react-simple-animate/-/react-simple-animate-3.5.2.tgz",
@@ -12442,19 +12430,16 @@
       }
     },
     "node_modules/redux": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz",
-      "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==",
-      "dependencies": {
-        "@babel/runtime": "^7.9.2"
-      }
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
+      "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w=="
     },
     "node_modules/redux-thunk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz",
-      "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz",
+      "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==",
       "peerDependencies": {
-        "redux": "^4"
+        "redux": "^5.0.0"
       }
     },
     "node_modules/reflect.getprototypeof": {
@@ -16769,14 +16754,21 @@
       "requires": {}
     },
     "@reduxjs/toolkit": {
-      "version": "1.9.7",
-      "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz",
-      "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.0.1.tgz",
+      "integrity": "sha512-fxIjrR9934cmS8YXIGd9e7s1XRsEU++aFc9DVNMFMRTM5Vtsg2DCRMj21eslGtDt43IUf9bJL3h5bwUlZleibA==",
       "requires": {
-        "immer": "^9.0.21",
-        "redux": "^4.2.1",
-        "redux-thunk": "^2.4.2",
-        "reselect": "^4.1.8"
+        "immer": "^10.0.3",
+        "redux": "^5.0.0",
+        "redux-thunk": "^3.1.0",
+        "reselect": "^5.0.1"
+      },
+      "dependencies": {
+        "reselect": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.0.1.tgz",
+          "integrity": "sha512-D72j2ubjgHpvuCiORWkOUxndHJrxDaSolheiz5CO+roz8ka97/4msh2E8F5qay4GawR5vzBt5MkbDHT+Rdy/Wg=="
+        }
       }
     },
     "@rushstack/eslint-patch": {
@@ -17407,7 +17399,7 @@
       "version": "18.2.18",
       "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz",
       "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "@types/react": "*"
       }
@@ -20928,9 +20920,9 @@
       "dev": true
     },
     "immer": {
-      "version": "9.0.21",
-      "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz",
-      "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA=="
+      "version": "10.0.3",
+      "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.3.tgz",
+      "integrity": "sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A=="
     },
     "import-fresh": {
       "version": "3.3.0",
@@ -23401,23 +23393,12 @@
       "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
     },
     "react-redux": {
-      "version": "8.1.3",
-      "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz",
-      "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==",
+      "version": "9.0.4",
+      "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.0.4.tgz",
+      "integrity": "sha512-9J1xh8sWO0vYq2sCxK2My/QO7MzUMRi3rpiILP/+tDr8krBHixC6JMM17fMK88+Oh3e4Ae6/sHIhNBgkUivwFA==",
       "requires": {
-        "@babel/runtime": "^7.12.1",
-        "@types/hoist-non-react-statics": "^3.3.1",
         "@types/use-sync-external-store": "^0.0.3",
-        "hoist-non-react-statics": "^3.3.2",
-        "react-is": "^18.0.0",
         "use-sync-external-store": "^1.0.0"
-      },
-      "dependencies": {
-        "react-is": {
-          "version": "18.2.0",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
-          "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
-        }
       }
     },
     "react-simple-animate": {
@@ -23515,17 +23496,14 @@
       "dev": true
     },
     "redux": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz",
-      "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==",
-      "requires": {
-        "@babel/runtime": "^7.9.2"
-      }
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
+      "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w=="
     },
     "redux-thunk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz",
-      "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz",
+      "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==",
       "requires": {}
     },
     "reflect.getprototypeof": {
diff --git a/package.json b/package.json
index 6e80a70b..1a99f68b 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,7 @@
     "@mui/material": "^5.15.2",
     "@mui/x-data-grid": "^6.18.6",
     "@mui/x-date-pickers": "^6.18.6",
-    "@reduxjs/toolkit": "^1.9.7",
+    "@reduxjs/toolkit": "^2.0.1",
     "@web3modal/ethereum": "^2.7.1",
     "@web3modal/react": "^2.7.1",
     "abi-coder": "^4.1.1",
@@ -52,7 +52,7 @@
     "react-dom": "^18.2.0",
     "react-hook-form": "^7.49.2",
     "react-i18next": "^12.3.1",
-    "react-redux": "^8.1.3",
+    "react-redux": "^9.0.4",
     "redis": "^4.6.12",
     "redis-om": "^0.4.3",
     "request-ip": "^3.3.0",
diff --git a/src/redux/slices/account.ts b/src/redux/slices/account.ts
index 419d4ea0..2e32eb54 100644
--- a/src/redux/slices/account.ts
+++ b/src/redux/slices/account.ts
@@ -21,7 +21,7 @@ const emptyUsd = {
     decimals: 6,
 };
 
-const initialState: AccountState = {
+export const INITIAL_ACCOUNT_STATE: AccountState = {
     address: undefined,
     balance: emptyEth,
     balanceUsd1: emptyUsd,
@@ -30,7 +30,7 @@ const initialState: AccountState = {
 
 export const accountSlice = createSlice({
     name: 'account',
-    initialState,
+    initialState: INITIAL_ACCOUNT_STATE,
     reducers: {
         setAccount(state, action: PayloadAction<string>) {
             state.address = action.payload;
diff --git a/src/redux/slices/application.ts b/src/redux/slices/application.ts
index 8f19c1f7..8fc23318 100644
--- a/src/redux/slices/application.ts
+++ b/src/redux/slices/application.ts
@@ -16,7 +16,7 @@ export interface ApplicationState {
     premiumCalculationInProgress: boolean;
 }
 
-const initialState: ApplicationState = {
+export const INITIAL_APPLICATION_STATE: ApplicationState = {
     productComponentState: ComponentState.Active,
     bundles: [],
     isLoadingBundles: false,
@@ -31,7 +31,7 @@ const initialState: ApplicationState = {
 
 export const applicationSlice = createSlice({
     name: 'application',
-    initialState,
+    initialState: INITIAL_APPLICATION_STATE,
     reducers: {
         addBundle: (state, action: PayloadAction<BundleData>) => {
             const hasBundle = state.bundles.find((bundle) => bundle.id === action.payload.id) !== undefined;
diff --git a/src/redux/slices/bundles.ts b/src/redux/slices/bundles.ts
index 771cfac9..2fceb28a 100644
--- a/src/redux/slices/bundles.ts
+++ b/src/redux/slices/bundles.ts
@@ -21,7 +21,7 @@ export interface BundlesState {
     isShowBundleExtend: boolean;
 }
 
-const initialState: BundlesState = {
+export const INITIAL_BUNDLES_STATE: BundlesState = {
     bundles: [],
     maxActiveBundles: 0,
     showBundle: undefined,
@@ -34,7 +34,7 @@ const initialState: BundlesState = {
 
 export const bundlesSlice = createSlice({
     name: 'bundles',
-    initialState,
+    initialState: INITIAL_BUNDLES_STATE,
     reducers: {
         addBundle: (state, action: PayloadAction<BundleData>) => {
             const hasBundle = state.bundles.find((bundle) => bundle.id === action.payload.id) !== undefined;
diff --git a/src/redux/slices/chain.ts b/src/redux/slices/chain.ts
index a841635c..571953cf 100644
--- a/src/redux/slices/chain.ts
+++ b/src/redux/slices/chain.ts
@@ -19,7 +19,7 @@ export interface ChainState {
     blockTime: number,
 }
 
-const initialState: ChainState = {
+export const INITIAL_CHAIN_STATE: ChainState = {
     chainId: "0x0",
     isConnected: false,
     isExpectedChain: true,
@@ -32,7 +32,7 @@ const initialState: ChainState = {
 
 export const chainSlice = createSlice({
     name: 'chain',
-    initialState,
+    initialState: INITIAL_CHAIN_STATE,
     reducers: {
         connectChain(state, action: PayloadAction<ChainState>) {
             state.provider?.removeAllListeners();
@@ -40,7 +40,7 @@ export const chainSlice = createSlice({
         },
         disconnectChain(state) {
             state.provider?.removeAllListeners();
-            Object.assign(state, initialState);
+            Object.assign(state, INITIAL_CHAIN_STATE);
         },
         updateSigner(state, action: PayloadAction<Signer>) {
             state.signer = action.payload;
diff --git a/src/redux/slices/policies.ts b/src/redux/slices/policies.ts
index 1e5165d9..e1602912 100644
--- a/src/redux/slices/policies.ts
+++ b/src/redux/slices/policies.ts
@@ -9,7 +9,7 @@ export interface PoliciesState {
     isDepegged: boolean;
 }
 
-const initialState: PoliciesState = {
+export const INITIAL_POLICIES_STATE: PoliciesState = {
     policies: [],
     claimedPolicy: null,
     isLoading: false,
@@ -18,7 +18,7 @@ const initialState: PoliciesState = {
 
 export const policiesSlice = createSlice({
     name: 'policies',
-    initialState,
+    initialState: INITIAL_POLICIES_STATE,
     reducers: {
         addPolicy: (state, action: PayloadAction<PolicyData>) => {
             if (action.payload.id !== '') { 
diff --git a/src/redux/slices/price.ts b/src/redux/slices/price.ts
index e2b072f1..f25e3da4 100644
--- a/src/redux/slices/price.ts
+++ b/src/redux/slices/price.ts
@@ -31,7 +31,7 @@ const initialPrice = {
 } as PriceInfo;
 
 
-const initialState: PriceState = {
+export const INITIAL_PRICE_STATE: PriceState = {
     symbol: "USDC",
     name: "USD Coin",
     decimals: 8,
@@ -47,7 +47,7 @@ const initialState: PriceState = {
 
 export const priceSlice = createSlice({
     name: 'price',
-    initialState,
+    initialState: INITIAL_PRICE_STATE,
     reducers: {
         setCoin: (state, action: PayloadAction<{ symbol: string, name: string, decimals: number}>) => {
             state.symbol = action.payload.symbol;
diff --git a/src/redux/slices/transaction.ts b/src/redux/slices/transaction.ts
index b14f7f29..b03b335f 100644
--- a/src/redux/slices/transaction.ts
+++ b/src/redux/slices/transaction.ts
@@ -10,7 +10,7 @@ export interface TransactionState {
     waitingForTransactionParams: any;
 }
 
-const initialState: TransactionState = {
+export const INITIAL_TRANSACTION_STATE: TransactionState = {
     isActive: null,
     isWaitingForUser: false,
     waitingForUserParams: {},
@@ -20,7 +20,7 @@ const initialState: TransactionState = {
 
 export const transactionSlice = createSlice({
     name: 'transaction',
-    initialState,
+    initialState: INITIAL_TRANSACTION_STATE,
     reducers: {
         start: (state, action: PayloadAction<{ type?: TrxType }>) => {
             // console.log('start', action.payload.type);
diff --git a/src/redux/store.ts b/src/redux/store.ts
index ca51f48c..e4ac183d 100644
--- a/src/redux/store.ts
+++ b/src/redux/store.ts
@@ -1,4 +1,4 @@
-import { combineReducers, configureStore, PreloadedState } from '@reduxjs/toolkit';
+import { combineReducers, configureStore } from '@reduxjs/toolkit';
 import accountReducer from './slices/account';
 import applicationReducer from './slices/application';
 import bundlesReducer from './slices/bundles';
@@ -18,7 +18,7 @@ const rootReducer = combineReducers({
     transaction: transactionReducer,
 })
 
-export const setupStore = (preloadedState?: PreloadedState<RootState>) => {
+export const setupStore = (preloadedState?: RootState) => {
     return configureStore({
         reducer: rootReducer,
         preloadedState
diff --git a/src/version.json b/src/version.json
index 0bfa7f3e..f1925d3c 100644
--- a/src/version.json
+++ b/src/version.json
@@ -1 +1 @@
-{ "name": "depeg-ui", "version": "dev", "date": "202T-0D-A1" }
\ No newline at end of file
+{"name": "depeg-interface", "version": "1.2.7", "date": "2023-12-27" }
diff --git a/tests/util/render_with_provider.tsx b/tests/util/render_with_provider.tsx
index db0872c9..1c3f368e 100644
--- a/tests/util/render_with_provider.tsx
+++ b/tests/util/render_with_provider.tsx
@@ -1,24 +1,40 @@
-import React, { PropsWithChildren } from 'react'
-import { render } from '@testing-library/react'
-import type { RenderOptions } from '@testing-library/react'
-import type { PreloadedState } from '@reduxjs/toolkit'
-import { Provider } from 'react-redux'
-import { RootState, AppStore, setupStore } from '../../src/redux/store'
 import { LocalizationProvider } from '@mui/x-date-pickers'
 import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'
+import type { RenderOptions } from '@testing-library/react'
+import { render } from '@testing-library/react'
+import React, { PropsWithChildren } from 'react'
+import { Provider } from 'react-redux'
+import { AccountState, INITIAL_ACCOUNT_STATE } from '../../src/redux/slices/account'
+import { ApplicationState, INITIAL_APPLICATION_STATE } from '../../src/redux/slices/application'
+import { BundlesState, INITIAL_BUNDLES_STATE } from '../../src/redux/slices/bundles'
+import { ChainState, INITIAL_CHAIN_STATE } from '../../src/redux/slices/chain'
+import { INITIAL_POLICIES_STATE, PoliciesState } from '../../src/redux/slices/policies'
+import { INITIAL_PRICE_STATE, PriceState } from '../../src/redux/slices/price'
+import { INITIAL_TRANSACTION_STATE } from '../../src/redux/slices/transaction'
+import { AppStore, RootState, setupStore } from '../../src/redux/store'
 
 
 // This type interface extends the default options for render from RTL, as well
 // as allows the user to specify other things such as initialState, store.
 interface ExtendedRenderOptions extends Omit<RenderOptions, 'queries'> {
-    preloadedState?: PreloadedState<RootState>
+    preloadedState?: RootState
     store?: AppStore
 }
 
+export const EMPTY_ROOT_STATE: RootState = {
+    account: INITIAL_ACCOUNT_STATE,
+    application: INITIAL_APPLICATION_STATE,
+    bundles: INITIAL_BUNDLES_STATE,
+    chain: INITIAL_CHAIN_STATE,
+    policies: INITIAL_POLICIES_STATE,
+    price: INITIAL_PRICE_STATE,
+    transaction: INITIAL_TRANSACTION_STATE,
+};
+
 export function renderWithProviders(
     ui: React.ReactElement,
     {
-        preloadedState = {},
+        preloadedState = EMPTY_ROOT_STATE,
         // Automatically create a store instance if no store was passed in
         store = setupStore(preloadedState),
         ...renderOptions