diff --git a/apps/staking/src/components/Dashboard/index.tsx b/apps/staking/src/components/Dashboard/index.tsx index 75fc14de2..9eea46b95 100644 --- a/apps/staking/src/components/Dashboard/index.tsx +++ b/apps/staking/src/components/Dashboard/index.tsx @@ -249,8 +249,7 @@ const useIntegrityStakingSum = ( publishers .map((publisher) => publisher.positions?.[field] ?? 0n) .reduce((acc, cur) => acc + cur, 0n), - // eslint-disable-next-line react-hooks/exhaustive-deps - publishers.map((publisher) => publisher.positions?.[field]), + [publishers, field], ); // eslint-disable-next-line unicorn/no-array-reduce diff --git a/apps/staking/src/hooks/use-api.tsx b/apps/staking/src/hooks/use-api.tsx index c18621bd8..7d9b22f7c 100644 --- a/apps/staking/src/hooks/use-api.tsx +++ b/apps/staking/src/hooks/use-api.tsx @@ -186,7 +186,12 @@ const useApiContext = (hermesUrl: string, pythnetRpcUrl: string) => { revalidateOnReconnect: false, }, ); - const lastStakeAccount = useLocalStorageValue("last-stake-account"); + const lastStakeAccountMainnet = useLocalStorageValue( + `last-stake-account.mainnet`, + ); + const lastStakeAccountDevnet = useLocalStorageValue( + `last-stake-account.devnet`, + ); return useMemo(() => { if (wallet.connecting) { @@ -213,11 +218,17 @@ const useApiContext = (hermesUrl: string, pythnetRpcUrl: string) => { } else { const [firstAccount, ...otherAccounts] = stakeAccounts.data; if (firstAccount) { - const selectedAccount = lastStakeAccount.value + const localStorageValue = isMainnet + ? lastStakeAccountMainnet + : lastStakeAccountDevnet; + const selectedAccount = localStorageValue.value ? stakeAccounts.data.find( - (account) => account.toBase58() === lastStakeAccount.value, + (account) => account.toBase58() === localStorageValue.value, ) : undefined; + if (!selectedAccount) { + localStorageValue.set(firstAccount.toBase58()); + } return State[StateType.Loaded]( isMainnet, pythStakingClient, @@ -226,7 +237,7 @@ const useApiContext = (hermesUrl: string, pythnetRpcUrl: string) => { selectedAccount ?? firstAccount, [firstAccount, ...otherAccounts], (account: PublicKey) => { - lastStakeAccount.set(account.toBase58()); + localStorageValue.set(account.toBase58()); }, mutate, ); @@ -256,7 +267,8 @@ const useApiContext = (hermesUrl: string, pythnetRpcUrl: string) => { pythnetClient, stakeAccounts, hermesClient, - lastStakeAccount, + lastStakeAccountMainnet, + lastStakeAccountDevnet, mutate, ]); };