diff --git a/redux/assetsSlice.ts b/redux/assetsSlice.ts index e5db5ec4..5734383b 100644 --- a/redux/assetsSlice.ts +++ b/redux/assetsSlice.ts @@ -42,8 +42,7 @@ export const assetSlice = createSlice({ builder.addCase(fetchRefPrices.fulfilled, (state, action) => { missingPriceTokens.forEach((missingToken) => { const missingTokenId = missingToken[defaultNetwork]; - - if (missingTokenId && state.data[missingTokenId]) { + if (missingTokenId && state.data[missingTokenId] && !state.data[missingTokenId]["price"]) { state.data[missingTokenId]["price"] = { decimals: action.payload[missingToken.mainnet].decimal, usd: Number(action.payload[missingToken.mainnet].price), diff --git a/redux/selectors/recomputeHealthFactorRepayFromDeposits.ts b/redux/selectors/recomputeHealthFactorRepayFromDeposits.ts index ac92e9de..5c21ffc5 100644 --- a/redux/selectors/recomputeHealthFactorRepayFromDeposits.ts +++ b/redux/selectors/recomputeHealthFactorRepayFromDeposits.ts @@ -48,7 +48,11 @@ export const recomputeHealthFactorRepayFromDeposits = (tokenId: string, amount: } } - const adjustedCollateralSum = getAdjustedSum("collateral", account.portfolio, assets.data); + const adjustedCollateralSum = getAdjustedSum( + "collateral", + clonedAccount.portfolio, + assets.data, + ); const adjustedBorrowedSum = getAdjustedSum("borrowed", clonedAccount.portfolio, assets.data); const healthFactor = adjustedCollateralSum.div(adjustedBorrowedSum).mul(100).toNumber(); diff --git a/store/assets.ts b/store/assets.ts index c0e9bdab..f5692141 100644 --- a/store/assets.ts +++ b/store/assets.ts @@ -3,6 +3,7 @@ import Decimal from "decimal.js"; import { IAssetEntry, IAssetDetailed, AssetEntry, ViewMethodsLogic } from "../interfaces"; import { getBurrow } from "../utils"; import { DEFAULT_PRECISION } from "./constants"; +import { lpTokenPrefix } from "../utils/config"; Decimal.set({ precision: DEFAULT_PRECISION }); @@ -33,5 +34,5 @@ export const getAssetDetailed = async (token_id: string): Promise => { const assets: IAssetEntry[] = await getAssets(); const detailedAssets = await Promise.all(assets.map((asset) => getAssetDetailed(asset.token_id))); - return detailedAssets; + return detailedAssets.filter((asset) => !asset.token_id.includes(lpTokenPrefix)); }; diff --git a/utils/config.ts b/utils/config.ts index d936653e..0e898489 100644 --- a/utils/config.ts +++ b/utils/config.ts @@ -4,6 +4,7 @@ export const LOGIC_CONTRACT_NAME = process.env.NEXT_PUBLIC_CONTRACT_NAME as stri export const DUST_THRESHOLD = 0.001; export const hiddenAssets = ["meta-token.near", "usn"]; +export const lpTokenPrefix = "shadow_ref_v1"; export const defaultNetwork = (process.env.NEXT_PUBLIC_DEFAULT_NETWORK || process.env.NODE_ENV ||