From 18a9f235fb18541e31218e05225b21d15dedb14e Mon Sep 17 00:00:00 2001 From: "nature.xie" Date: Fri, 5 Jan 2024 16:12:32 +0800 Subject: [PATCH 1/3] hide lp asset --- store/assets.ts | 3 ++- utils/config.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/store/assets.ts b/store/assets.ts index c0e9bdab..641d83bb 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 { hiddenAssets } 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) => !hiddenAssets.includes(asset.token_id)); }; diff --git a/utils/config.ts b/utils/config.ts index d936653e..6067b914 100644 --- a/utils/config.ts +++ b/utils/config.ts @@ -3,7 +3,7 @@ import { ConnectConfig } from "near-api-js"; export const LOGIC_CONTRACT_NAME = process.env.NEXT_PUBLIC_CONTRACT_NAME as string; export const DUST_THRESHOLD = 0.001; -export const hiddenAssets = ["meta-token.near", "usn"]; +export const hiddenAssets = ["meta-token.near", "usn", "shadow_ref_v1-711", "shadow_ref_v1-269"]; export const defaultNetwork = (process.env.NEXT_PUBLIC_DEFAULT_NETWORK || process.env.NODE_ENV || From d4eac5e205b5712306ab363d8050330ca0e8cf22 Mon Sep 17 00:00:00 2001 From: "nature.xie" Date: Sat, 13 Jan 2024 14:03:24 +0800 Subject: [PATCH 2/3] update get price logic --- redux/assetsSlice.ts | 3 +-- store/assets.ts | 4 ++-- utils/config.ts | 3 ++- 3 files changed, 5 insertions(+), 5 deletions(-) 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/store/assets.ts b/store/assets.ts index 641d83bb..f5692141 100644 --- a/store/assets.ts +++ b/store/assets.ts @@ -3,7 +3,7 @@ import Decimal from "decimal.js"; import { IAssetEntry, IAssetDetailed, AssetEntry, ViewMethodsLogic } from "../interfaces"; import { getBurrow } from "../utils"; import { DEFAULT_PRECISION } from "./constants"; -import { hiddenAssets } from "../utils/config"; +import { lpTokenPrefix } from "../utils/config"; Decimal.set({ precision: DEFAULT_PRECISION }); @@ -34,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.filter((asset) => !hiddenAssets.includes(asset.token_id)); + return detailedAssets.filter((asset) => !asset.token_id.includes(lpTokenPrefix)); }; diff --git a/utils/config.ts b/utils/config.ts index 6067b914..0e898489 100644 --- a/utils/config.ts +++ b/utils/config.ts @@ -3,7 +3,8 @@ import { ConnectConfig } from "near-api-js"; export const LOGIC_CONTRACT_NAME = process.env.NEXT_PUBLIC_CONTRACT_NAME as string; export const DUST_THRESHOLD = 0.001; -export const hiddenAssets = ["meta-token.near", "usn", "shadow_ref_v1-711", "shadow_ref_v1-269"]; +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 || From 140040fcd18e638f610b9cfced3ef1dec7bc1013 Mon Sep 17 00:00:00 2001 From: "nature.xie" Date: Sat, 13 Jan 2024 23:07:50 +0800 Subject: [PATCH 3/3] update repay health factor logic --- redux/selectors/recomputeHealthFactorRepayFromDeposits.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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();