diff --git a/src/components/icons/phantom.svg b/src/components/icons/phantom.svg
new file mode 100644
index 00000000..95e08c2d
--- /dev/null
+++ b/src/components/icons/phantom.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/screens/staking/lib/staking_sdk/context/selectors.ts b/src/screens/staking/lib/staking_sdk/context/selectors.ts
index aa54a8e6..cc728cbf 100644
--- a/src/screens/staking/lib/staking_sdk/context/selectors.ts
+++ b/src/screens/staking/lib/staking_sdk/context/selectors.ts
@@ -272,7 +272,7 @@ export const getAllRewards = (
if (!rewards) return acc;
const newValue = rewards.reduce((acc2, reward) => {
- const normalised = normaliseCoin(reward);
+ const normalised = normaliseCoin(reward.coin);
const coinPrice = state.coinsPrices[normalised.denom as CoinDenom];
diff --git a/src/screens/staking/lib/staking_sdk/staking_client.ts b/src/screens/staking/lib/staking_sdk/staking_client.ts
index d32c856e..a826ea79 100644
--- a/src/screens/staking/lib/staking_sdk/staking_client.ts
+++ b/src/screens/staking/lib/staking_sdk/staking_client.ts
@@ -32,16 +32,18 @@ const rewardsDivisor = new BigNumber(10).pow(18);
const parseStakingRewards = async (res: ClaimableRewardsResponse) =>
Array.isArray(res)
- ? res
- .map((coin) => {
- const num = new BigNumber(coin.amount);
+ ? res.map((reward) => {
+ const { coin } = reward;
+ const num = new BigNumber(coin.amount);
- return {
+ return {
+ ...reward,
+ coin: normaliseCoin({
amount: num.dividedBy(rewardsDivisor).toString(),
denom: coin.denom,
- };
- })
- .map(normaliseCoin)
+ }),
+ };
+ })
: res;
type StakeResponse = {
diff --git a/src/screens/staking/lib/staking_sdk/staking_client_types.ts b/src/screens/staking/lib/staking_sdk/staking_client_types.ts
index 47076249..cd3260c1 100644
--- a/src/screens/staking/lib/staking_sdk/staking_client_types.ts
+++ b/src/screens/staking/lib/staking_sdk/staking_client_types.ts
@@ -46,4 +46,9 @@ export type AccountDetailResponse = {
unbonding: Unbonding[];
};
-export type ClaimableRewardsResponse = Coin[] | Record;
+type Reward = {
+ address: string;
+ coin: Coin;
+};
+
+export type ClaimableRewardsResponse = Record | Reward[];
diff --git a/src/screens/staking/lib/staking_sdk/utils/accounts.ts b/src/screens/staking/lib/staking_sdk/utils/accounts.ts
index 4713e601..e26c299e 100644
--- a/src/screens/staking/lib/staking_sdk/utils/accounts.ts
+++ b/src/screens/staking/lib/staking_sdk/utils/accounts.ts
@@ -80,8 +80,8 @@ export const sortAccounts = (a: Account, b: Account) => {
export const getClaimableRewardsForAccount = (start: Coin, account: Account) =>
(Array.isArray(account.rewards) ? account.rewards : []).reduce(
(acc2, reward) => {
- if (start.denom?.toUpperCase() === reward.denom?.toUpperCase()) {
- return sumCoins(acc2, reward);
+ if (start.denom?.toUpperCase() === reward.coin.denom?.toUpperCase()) {
+ return sumCoins(acc2, reward.coin);
}
return acc2;
diff --git a/src/screens/staking/lib/wallet_info.ts b/src/screens/staking/lib/wallet_info.ts
index ce83f159..85bbc85a 100644
--- a/src/screens/staking/lib/wallet_info.ts
+++ b/src/screens/staking/lib/wallet_info.ts
@@ -1,9 +1,9 @@
import type { Translate } from "next-translate";
import type { FC } from "react";
-import IconPhantom from "@src/components/icons/icon_search.svg";
import IconKeplr from "@src/components/icons/keplr.svg";
import IconLeap from "@src/components/icons/leap.svg";
+import IconPhantom from "@src/components/icons/phantom.svg";
import IconSolflare from "@src/components/icons/solana_wallet.svg";
import { WalletId } from "./staking_sdk/core/base";