Skip to content

Commit

Permalink
Merge pull request #2020 from cprussin/fix-last-stake-account
Browse files Browse the repository at this point in the history
fix(staking): fix last stake account when moving between devnet
  • Loading branch information
cprussin authored Oct 9, 2024
2 parents 2f7d072 + a56fc93 commit 854bca0
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 7 deletions.
3 changes: 1 addition & 2 deletions apps/staking/src/components/Dashboard/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
22 changes: 17 additions & 5 deletions apps/staking/src/hooks/use-api.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,12 @@ const useApiContext = (hermesUrl: string, pythnetRpcUrl: string) => {
revalidateOnReconnect: false,
},
);
const lastStakeAccount = useLocalStorageValue<string>("last-stake-account");
const lastStakeAccountMainnet = useLocalStorageValue<string>(
`last-stake-account.mainnet`,
);
const lastStakeAccountDevnet = useLocalStorageValue<string>(
`last-stake-account.devnet`,
);

return useMemo(() => {
if (wallet.connecting) {
Expand All @@ -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,
Expand All @@ -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,
);
Expand Down Expand Up @@ -256,7 +267,8 @@ const useApiContext = (hermesUrl: string, pythnetRpcUrl: string) => {
pythnetClient,
stakeAccounts,
hermesClient,
lastStakeAccount,
lastStakeAccountMainnet,
lastStakeAccountDevnet,
mutate,
]);
};
Expand Down

0 comments on commit 854bca0

Please sign in to comment.