diff --git a/components/stats/PerpMarketSettingsTable.tsx b/components/stats/PerpMarketSettingsTable.tsx index 5093c1fa..fe28390d 100644 --- a/components/stats/PerpMarketSettingsTable.tsx +++ b/components/stats/PerpMarketSettingsTable.tsx @@ -12,16 +12,14 @@ import { // import Tooltip from '@components/shared/Tooltip' import { Disclosure, Transition } from '@headlessui/react' import { getOracleProvider } from 'hooks/useOracleProvider' -import useMangoGroup from 'hooks/useMangoGroup' const PerpMarketSettingsTable = () => { const { t } = useTranslation(['common', 'trade']) const perpMarkets = mangoStore((s) => s.perpMarkets) const { width } = useViewport() const showTableView = width ? width > breakpoints.md : false - const { group } = useMangoGroup() - return group ? ( + return ( {showTableView ? ( @@ -63,10 +61,7 @@ const PerpMarketSettingsTable = () => { publicKey, } = market - const [oracleProvider, oracleLinkPath] = getOracleProvider( - market, - group - ) + const [oracleProvider, oracleLinkPath] = getOracleProvider(market) return ( @@ -155,10 +150,7 @@ const PerpMarketSettingsTable = () => { maxFunding, publicKey, } = market - const [oracleProvider, oracleLinkPath] = getOracleProvider( - market, - group - ) + const [oracleProvider, oracleLinkPath] = getOracleProvider(market) return ( {({ open }) => ( @@ -301,7 +293,7 @@ const PerpMarketSettingsTable = () => { )} - ) : null + ) } export default PerpMarketSettingsTable diff --git a/components/stats/TokenSettingsTable.tsx b/components/stats/TokenSettingsTable.tsx index f927b318..f604b896 100644 --- a/components/stats/TokenSettingsTable.tsx +++ b/components/stats/TokenSettingsTable.tsx @@ -68,10 +68,7 @@ const TokenSettingsTable = () => { )?.logoURI } - const [oracleProvider, oracleLinkPath] = getOracleProvider( - bank, - group - ) + const [oracleProvider, oracleLinkPath] = getOracleProvider(bank) // const mintInfo = group.mintInfosMapByMint.get( // bank.mint.toString() @@ -154,10 +151,7 @@ const TokenSettingsTable = () => { (t) => t.address === bank.mint.toString() )?.logoURI } - const [oracleProvider, oracleLinkPath] = getOracleProvider( - bank, - group - ) + const [oracleProvider, oracleLinkPath] = getOracleProvider(bank) // const mintInfo = group.mintInfosMapByMint.get( // bank.mint.toString() // ) diff --git a/components/token/TokenPage.tsx b/components/token/TokenPage.tsx index e6deef8a..42988c0d 100644 --- a/components/token/TokenPage.tsx +++ b/components/token/TokenPage.tsx @@ -20,6 +20,7 @@ import CoingeckoStats from './CoingeckoStats' import { useQuery } from '@tanstack/react-query' import FormatNumericValue from '@components/shared/FormatNumericValue' import TopTokenAccounts from './TopTokenAccounts' +import TokenParams from './TokenParams' const DEFAULT_COINGECKO_VALUES = { ath: 0, @@ -191,7 +192,7 @@ const TokenPage = () => { % - {bank ? : null} + {coingeckoTokenInfo?.market_data ? ( {

No CoinGecko data...

)} + ) : loading ? (
diff --git a/components/token/TokenParams.tsx b/components/token/TokenParams.tsx new file mode 100644 index 00000000..4237edb3 --- /dev/null +++ b/components/token/TokenParams.tsx @@ -0,0 +1,177 @@ +import { + Bank, + I80F48, + toUiDecimals, + toUiDecimalsForQuote, +} from '@blockworks-foundation/mango-v4' +import Tooltip from '@components/shared/Tooltip' +import { ArrowTopRightOnSquareIcon } from '@heroicons/react/20/solid' +import { BN } from '@project-serum/anchor' +import { getOracleProvider } from 'hooks/useOracleProvider' +import { useTranslation } from 'next-i18next' +import { useMemo } from 'react' +import { formatCurrencyValue } from 'utils/numbers' + +const TokenParams = ({ bank }: { bank: Bank }) => { + const { t } = useTranslation(['common', 'activity', 'token']) + + const [oracleProvider, oracleLinkPath] = useMemo(() => { + if (!bank) return ['Unavaliable', ''] + return getOracleProvider(bank) + }, [bank]) + + return ( +
+
+

{`${bank.name} ${t('token:parameters')}`}

+
+
+
+ +

+ {t('token:init-asset-liability-weight')} +

+
+
+

+ {bank.initAssetWeight.toFixed(2)} +

+ | +

{bank.initLiabWeight.toFixed(2)}

+
+
+
+ +

+ {t('token:maint-asset-liability-weight')} +

+
+
+

+ {bank.maintAssetWeight.toFixed(2)} +

+ | +

{bank.maintLiabWeight.toFixed(2)}

+
+
+
+ +

{t('borrow-fee')}

+
+

+ {(100 * bank.loanOriginationFeeRate.toNumber()).toFixed(2)}% +

+
+
+ +

{t('token:borrow-upkeep-rate')}

+
+

+ {(100 * bank.loanFeeRate.toNumber()).toFixed(2)}% +

+
+
+ +

{t('activity:liquidation-fee')}

+
+

+ {(bank.liquidationFee.toNumber() * 100).toFixed(2)}% +

+
+
+ +

+ {t('token:deposit-borrow-scaling-start')} +

+
+
+

+ {formatCurrencyValue( + toUiDecimalsForQuote(bank.depositWeightScaleStartQuote) + )} +

+ | +

+ {formatCurrencyValue( + toUiDecimalsForQuote(bank.borrowWeightScaleStartQuote) + )} +

+
+
+
+
+
+ +

{t('token:net-borrow-period')}

+
+

+ {bank.netBorrowLimitWindowSizeTs.div(new BN(3600)).toNumber()}hrs +

+
+
+ +

+ {t('token:net-borrows-in-period')} +

+
+

+ {formatCurrencyValue( + toUiDecimalsForQuote( + I80F48.fromI64(bank.netBorrowsInWindow).mul(bank.price) + ) + )} +

+
+
+ +

+ {t('token:net-borrow-limit-in-period')} +

+
+

+ {formatCurrencyValue( + toUiDecimals(bank.netBorrowLimitPerWindowQuote, 6) + )} +

+
+
+

{t('token:oracle')}

+ + {oracleProvider} + + +
+
+ +

{t('token:oracle-confidence')}

+
+

+ {(100 * bank.oracleConfig.confFilter.toNumber()).toFixed(2)}% +

+
+
+ +

{t('token:oracle-staleness')}

+
+

+ {bank.oracleConfig.maxStalenessSlots.toNumber()}{' '} + Slots +

+
+
+
+ ) +} + +export default TokenParams diff --git a/hooks/useOracleProvider.ts b/hooks/useOracleProvider.ts index c7556c74..4a5b2e53 100644 --- a/hooks/useOracleProvider.ts +++ b/hooks/useOracleProvider.ts @@ -1,18 +1,16 @@ import { Bank, - Group, OracleProvider, PerpMarket, Serum3Market, } from '@blockworks-foundation/mango-v4' +import mangoStore from '@store/mangoStore' import { useMemo } from 'react' import { formatTokenSymbol } from 'utils/tokens' -import useMangoGroup from './useMangoGroup' import useSelectedMarket from './useSelectedMarket' export const getOracleProvider = ( - marketOrBank: PerpMarket | Serum3Market | Bank, - group: Group + marketOrBank: PerpMarket | Serum3Market | Bank ) => { let marketOrBase: PerpMarket | Bank let name: string @@ -23,6 +21,8 @@ export const getOracleProvider = ( marketOrBase = marketOrBank name = marketOrBank.name.split('-')[0] } else { + const group = mangoStore.getState().group + if (!group) return ['Unavailable', ''] const baseBank = group.getFirstBankByTokenIndex(marketOrBank.baseTokenIndex) marketOrBase = baseBank name = formatTokenSymbol(baseBank.name) @@ -50,12 +50,11 @@ export const getOracleProvider = ( const useOracleProvider = () => { const { selectedMarket } = useSelectedMarket() - const { group } = useMangoGroup() const [oracleProvider, oracleLinkPath] = useMemo(() => { - if (!group || !selectedMarket) return ['', ''] - return getOracleProvider(selectedMarket, group) - }, [group, selectedMarket]) + if (!selectedMarket) return ['', ''] + return getOracleProvider(selectedMarket) + }, [selectedMarket]) return { oracleProvider, oracleLinkPath } } diff --git a/public/locales/en/common.json b/public/locales/en/common.json index d259df69..2150c67d 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -145,6 +145,7 @@ "token": "Token", "tokens": "Tokens", "token-collateral-multiplier": "{{token}} Collateral Multiplier", + "tooltip-borrow-fee": "The fee for originating a loan.", "tooltip-borrow-rate": "The variable interest rate you'll pay on your borrowed balance", "tooltip-collateral-value": "The USD amount you can trade or borrow against", "total": "Total", diff --git a/public/locales/en/token.json b/public/locales/en/token.json index d6026462..2930b592 100644 --- a/public/locales/en/token.json +++ b/public/locales/en/token.json @@ -4,22 +4,45 @@ "borrowing": "Borrowing", "borrows": "Borrows", "borrow-rates": "Borrow Rates", + "borrow-upkeep-rate": "Borrow Upkeep Rate", "chart-unavailable": "Chart Unavailable", "circulating-supply": "Circulating Supply", + "deposit-borrow-scaling-start": "Deposit/Borrow Scaling Start", "deposits": "Deposits", "deposit-rates": "Deposit Rates", "fees-tooltip": "Fees collected for loan origination, loan upkeep and Openbook hosting rebates.", "fdv": "Fully Diluted Value", "go-to-account": "Go To Account", + "init-asset-liability-weight": "Init Asset/Liability Weight", + "insurance-rate-curve": "Insurance Rate Curve", "lending": "Lending", + "maint-asset-liability-weight": "Maint Asset/Liability Weight", "market-cap": "Market Cap", "max-supply": "Max Supply", + "net-borrow-limit-in-period": "Net Borrow Limit in Period", + "net-borrow-period": "Net Borrow Period", + "net-borrows-in-period": "Net Borrows in Period", "no-borrowers": "No Borrowers...", "no-depositors": "No Depositors...", + "oracle": "Oracle", + "oracle-confidence": "Oracle Confidence", + "oracle-staleness": "Oracle Staleness", + "parameters": "Parameters", "token-details": "Token Details", "token-fees-collected": "Token Fees Collected", "token-not-found": "Token Not Found", "token-not-found-desc": "'{{token}}' is either not listed or we're having issues loading the data.", + "tooltip-borrow-upkeep-rate": "The yearly rate paid to the DAO on open borrows. This is included in the displayed borrow interest rate.", + "tooltip-deposit-borrow-scaling-start": "This acts as a soft limit for deposits and borrows. For deposits, if this value is exceeded the asset weight for deposits is scaled down. For borrows, the liability weight for borrows is scaled up.", + "tooltip-init-asset-liability-weight": "The contribution a token has to your initial account health. Asset weight is applied to deposits that increase health and liability weight is applied to borrows that reduce it. Initial health controls your ability to withdraw and open new positions and is shown as an account's free collateral.", + "tooltip-insurance-rate-curve": "Interest rates are dependent on token utilization. The more tokens that are lent out the higher the rate. The curve scales up and down with long term trends in utilization.", + "tooltip-liquidation-fee": "The fee paid to liqudators when {{symbol}} is liquidated.", + "tooltip-maint-asset-liability-weight": "The contribution a token has to your maintenance account health. Asset weight is applied to deposits that increase health and liability weight is applied to borrows that reduce it. Maintenance health is what's displayed on your account page. If this value reaches zero your account will be liquidated.", + "tooltip-net-borrow-period": "As a safety feature, the amount of new borrows is limited. The limit resets at regular periods. This is the amount of time between resets.", + "tooltip-net-borrow-limit-in-period": "The maximum value of allowed net borrows. Once this value is reached, new borrows will be disabled until the end of the period.", + "tooltip-net-borrows-in-period": "Current value of net borrows (borrows - repayments) in this period.", + "tooltip-oracle-confidence": "Oracles work by aggregating multiple price sources. If these sources disagree too much, confidence will be low. If it's below this threshold, the price is considered invalid.", + "tooltip-oracle-staleness": "Price is considered valid when it is last updated within {{slots}} slots.", "tooltip-token-fees-collected": "These fees accrue in every native token listed on Mango. The values in this chart are derived from the current market value.", "top-borrowers": "Top {{symbol}} Borrowers", "top-depositors": "Top {{symbol}} Depositors", diff --git a/public/locales/es/common.json b/public/locales/es/common.json index d259df69..2150c67d 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -145,6 +145,7 @@ "token": "Token", "tokens": "Tokens", "token-collateral-multiplier": "{{token}} Collateral Multiplier", + "tooltip-borrow-fee": "The fee for originating a loan.", "tooltip-borrow-rate": "The variable interest rate you'll pay on your borrowed balance", "tooltip-collateral-value": "The USD amount you can trade or borrow against", "total": "Total", diff --git a/public/locales/es/token.json b/public/locales/es/token.json index d6026462..2930b592 100644 --- a/public/locales/es/token.json +++ b/public/locales/es/token.json @@ -4,22 +4,45 @@ "borrowing": "Borrowing", "borrows": "Borrows", "borrow-rates": "Borrow Rates", + "borrow-upkeep-rate": "Borrow Upkeep Rate", "chart-unavailable": "Chart Unavailable", "circulating-supply": "Circulating Supply", + "deposit-borrow-scaling-start": "Deposit/Borrow Scaling Start", "deposits": "Deposits", "deposit-rates": "Deposit Rates", "fees-tooltip": "Fees collected for loan origination, loan upkeep and Openbook hosting rebates.", "fdv": "Fully Diluted Value", "go-to-account": "Go To Account", + "init-asset-liability-weight": "Init Asset/Liability Weight", + "insurance-rate-curve": "Insurance Rate Curve", "lending": "Lending", + "maint-asset-liability-weight": "Maint Asset/Liability Weight", "market-cap": "Market Cap", "max-supply": "Max Supply", + "net-borrow-limit-in-period": "Net Borrow Limit in Period", + "net-borrow-period": "Net Borrow Period", + "net-borrows-in-period": "Net Borrows in Period", "no-borrowers": "No Borrowers...", "no-depositors": "No Depositors...", + "oracle": "Oracle", + "oracle-confidence": "Oracle Confidence", + "oracle-staleness": "Oracle Staleness", + "parameters": "Parameters", "token-details": "Token Details", "token-fees-collected": "Token Fees Collected", "token-not-found": "Token Not Found", "token-not-found-desc": "'{{token}}' is either not listed or we're having issues loading the data.", + "tooltip-borrow-upkeep-rate": "The yearly rate paid to the DAO on open borrows. This is included in the displayed borrow interest rate.", + "tooltip-deposit-borrow-scaling-start": "This acts as a soft limit for deposits and borrows. For deposits, if this value is exceeded the asset weight for deposits is scaled down. For borrows, the liability weight for borrows is scaled up.", + "tooltip-init-asset-liability-weight": "The contribution a token has to your initial account health. Asset weight is applied to deposits that increase health and liability weight is applied to borrows that reduce it. Initial health controls your ability to withdraw and open new positions and is shown as an account's free collateral.", + "tooltip-insurance-rate-curve": "Interest rates are dependent on token utilization. The more tokens that are lent out the higher the rate. The curve scales up and down with long term trends in utilization.", + "tooltip-liquidation-fee": "The fee paid to liqudators when {{symbol}} is liquidated.", + "tooltip-maint-asset-liability-weight": "The contribution a token has to your maintenance account health. Asset weight is applied to deposits that increase health and liability weight is applied to borrows that reduce it. Maintenance health is what's displayed on your account page. If this value reaches zero your account will be liquidated.", + "tooltip-net-borrow-period": "As a safety feature, the amount of new borrows is limited. The limit resets at regular periods. This is the amount of time between resets.", + "tooltip-net-borrow-limit-in-period": "The maximum value of allowed net borrows. Once this value is reached, new borrows will be disabled until the end of the period.", + "tooltip-net-borrows-in-period": "Current value of net borrows (borrows - repayments) in this period.", + "tooltip-oracle-confidence": "Oracles work by aggregating multiple price sources. If these sources disagree too much, confidence will be low. If it's below this threshold, the price is considered invalid.", + "tooltip-oracle-staleness": "Price is considered valid when it is last updated within {{slots}} slots.", "tooltip-token-fees-collected": "These fees accrue in every native token listed on Mango. The values in this chart are derived from the current market value.", "top-borrowers": "Top {{symbol}} Borrowers", "top-depositors": "Top {{symbol}} Depositors", diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index d259df69..2150c67d 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -145,6 +145,7 @@ "token": "Token", "tokens": "Tokens", "token-collateral-multiplier": "{{token}} Collateral Multiplier", + "tooltip-borrow-fee": "The fee for originating a loan.", "tooltip-borrow-rate": "The variable interest rate you'll pay on your borrowed balance", "tooltip-collateral-value": "The USD amount you can trade or borrow against", "total": "Total", diff --git a/public/locales/ru/token.json b/public/locales/ru/token.json index d6026462..2930b592 100644 --- a/public/locales/ru/token.json +++ b/public/locales/ru/token.json @@ -4,22 +4,45 @@ "borrowing": "Borrowing", "borrows": "Borrows", "borrow-rates": "Borrow Rates", + "borrow-upkeep-rate": "Borrow Upkeep Rate", "chart-unavailable": "Chart Unavailable", "circulating-supply": "Circulating Supply", + "deposit-borrow-scaling-start": "Deposit/Borrow Scaling Start", "deposits": "Deposits", "deposit-rates": "Deposit Rates", "fees-tooltip": "Fees collected for loan origination, loan upkeep and Openbook hosting rebates.", "fdv": "Fully Diluted Value", "go-to-account": "Go To Account", + "init-asset-liability-weight": "Init Asset/Liability Weight", + "insurance-rate-curve": "Insurance Rate Curve", "lending": "Lending", + "maint-asset-liability-weight": "Maint Asset/Liability Weight", "market-cap": "Market Cap", "max-supply": "Max Supply", + "net-borrow-limit-in-period": "Net Borrow Limit in Period", + "net-borrow-period": "Net Borrow Period", + "net-borrows-in-period": "Net Borrows in Period", "no-borrowers": "No Borrowers...", "no-depositors": "No Depositors...", + "oracle": "Oracle", + "oracle-confidence": "Oracle Confidence", + "oracle-staleness": "Oracle Staleness", + "parameters": "Parameters", "token-details": "Token Details", "token-fees-collected": "Token Fees Collected", "token-not-found": "Token Not Found", "token-not-found-desc": "'{{token}}' is either not listed or we're having issues loading the data.", + "tooltip-borrow-upkeep-rate": "The yearly rate paid to the DAO on open borrows. This is included in the displayed borrow interest rate.", + "tooltip-deposit-borrow-scaling-start": "This acts as a soft limit for deposits and borrows. For deposits, if this value is exceeded the asset weight for deposits is scaled down. For borrows, the liability weight for borrows is scaled up.", + "tooltip-init-asset-liability-weight": "The contribution a token has to your initial account health. Asset weight is applied to deposits that increase health and liability weight is applied to borrows that reduce it. Initial health controls your ability to withdraw and open new positions and is shown as an account's free collateral.", + "tooltip-insurance-rate-curve": "Interest rates are dependent on token utilization. The more tokens that are lent out the higher the rate. The curve scales up and down with long term trends in utilization.", + "tooltip-liquidation-fee": "The fee paid to liqudators when {{symbol}} is liquidated.", + "tooltip-maint-asset-liability-weight": "The contribution a token has to your maintenance account health. Asset weight is applied to deposits that increase health and liability weight is applied to borrows that reduce it. Maintenance health is what's displayed on your account page. If this value reaches zero your account will be liquidated.", + "tooltip-net-borrow-period": "As a safety feature, the amount of new borrows is limited. The limit resets at regular periods. This is the amount of time between resets.", + "tooltip-net-borrow-limit-in-period": "The maximum value of allowed net borrows. Once this value is reached, new borrows will be disabled until the end of the period.", + "tooltip-net-borrows-in-period": "Current value of net borrows (borrows - repayments) in this period.", + "tooltip-oracle-confidence": "Oracles work by aggregating multiple price sources. If these sources disagree too much, confidence will be low. If it's below this threshold, the price is considered invalid.", + "tooltip-oracle-staleness": "Price is considered valid when it is last updated within {{slots}} slots.", "tooltip-token-fees-collected": "These fees accrue in every native token listed on Mango. The values in this chart are derived from the current market value.", "top-borrowers": "Top {{symbol}} Borrowers", "top-depositors": "Top {{symbol}} Depositors", diff --git a/public/locales/zh/common.json b/public/locales/zh/common.json index d259df69..2150c67d 100644 --- a/public/locales/zh/common.json +++ b/public/locales/zh/common.json @@ -145,6 +145,7 @@ "token": "Token", "tokens": "Tokens", "token-collateral-multiplier": "{{token}} Collateral Multiplier", + "tooltip-borrow-fee": "The fee for originating a loan.", "tooltip-borrow-rate": "The variable interest rate you'll pay on your borrowed balance", "tooltip-collateral-value": "The USD amount you can trade or borrow against", "total": "Total", diff --git a/public/locales/zh/token.json b/public/locales/zh/token.json index 3eecffdd..2930b592 100644 --- a/public/locales/zh/token.json +++ b/public/locales/zh/token.json @@ -4,22 +4,45 @@ "borrowing": "Borrowing", "borrows": "Borrows", "borrow-rates": "Borrow Rates", + "borrow-upkeep-rate": "Borrow Upkeep Rate", "chart-unavailable": "Chart Unavailable", "circulating-supply": "Circulating Supply", + "deposit-borrow-scaling-start": "Deposit/Borrow Scaling Start", "deposits": "Deposits", "deposit-rates": "Deposit Rates", - "fdv": "Fully Diluted Value", "fees-tooltip": "Fees collected for loan origination, loan upkeep and Openbook hosting rebates.", + "fdv": "Fully Diluted Value", "go-to-account": "Go To Account", + "init-asset-liability-weight": "Init Asset/Liability Weight", + "insurance-rate-curve": "Insurance Rate Curve", "lending": "Lending", + "maint-asset-liability-weight": "Maint Asset/Liability Weight", "market-cap": "Market Cap", "max-supply": "Max Supply", + "net-borrow-limit-in-period": "Net Borrow Limit in Period", + "net-borrow-period": "Net Borrow Period", + "net-borrows-in-period": "Net Borrows in Period", "no-borrowers": "No Borrowers...", "no-depositors": "No Depositors...", + "oracle": "Oracle", + "oracle-confidence": "Oracle Confidence", + "oracle-staleness": "Oracle Staleness", + "parameters": "Parameters", "token-details": "Token Details", "token-fees-collected": "Token Fees Collected", "token-not-found": "Token Not Found", "token-not-found-desc": "'{{token}}' is either not listed or we're having issues loading the data.", + "tooltip-borrow-upkeep-rate": "The yearly rate paid to the DAO on open borrows. This is included in the displayed borrow interest rate.", + "tooltip-deposit-borrow-scaling-start": "This acts as a soft limit for deposits and borrows. For deposits, if this value is exceeded the asset weight for deposits is scaled down. For borrows, the liability weight for borrows is scaled up.", + "tooltip-init-asset-liability-weight": "The contribution a token has to your initial account health. Asset weight is applied to deposits that increase health and liability weight is applied to borrows that reduce it. Initial health controls your ability to withdraw and open new positions and is shown as an account's free collateral.", + "tooltip-insurance-rate-curve": "Interest rates are dependent on token utilization. The more tokens that are lent out the higher the rate. The curve scales up and down with long term trends in utilization.", + "tooltip-liquidation-fee": "The fee paid to liqudators when {{symbol}} is liquidated.", + "tooltip-maint-asset-liability-weight": "The contribution a token has to your maintenance account health. Asset weight is applied to deposits that increase health and liability weight is applied to borrows that reduce it. Maintenance health is what's displayed on your account page. If this value reaches zero your account will be liquidated.", + "tooltip-net-borrow-period": "As a safety feature, the amount of new borrows is limited. The limit resets at regular periods. This is the amount of time between resets.", + "tooltip-net-borrow-limit-in-period": "The maximum value of allowed net borrows. Once this value is reached, new borrows will be disabled until the end of the period.", + "tooltip-net-borrows-in-period": "Current value of net borrows (borrows - repayments) in this period.", + "tooltip-oracle-confidence": "Oracles work by aggregating multiple price sources. If these sources disagree too much, confidence will be low. If it's below this threshold, the price is considered invalid.", + "tooltip-oracle-staleness": "Price is considered valid when it is last updated within {{slots}} slots.", "tooltip-token-fees-collected": "These fees accrue in every native token listed on Mango. The values in this chart are derived from the current market value.", "top-borrowers": "Top {{symbol}} Borrowers", "top-depositors": "Top {{symbol}} Depositors", diff --git a/public/locales/zh_tw/common.json b/public/locales/zh_tw/common.json index 6d0c3ae7..600fe333 100644 --- a/public/locales/zh_tw/common.json +++ b/public/locales/zh_tw/common.json @@ -145,6 +145,7 @@ "token": "幣種", "token-collateral-multiplier": "{{token}}質押品乘數", "tokens": "幣種", + "tooltip-borrow-fee": "The fee for originating a loan.", "tooltip-borrow-rate": "您將為借入餘額支付的可變利率", "tooltip-collateral-value": "您可以交易或借入的美元金額", "total": "總計", diff --git a/public/locales/zh_tw/token.json b/public/locales/zh_tw/token.json index 6d3792bf..7222bd89 100644 --- a/public/locales/zh_tw/token.json +++ b/public/locales/zh_tw/token.json @@ -2,24 +2,47 @@ "all-time-high": "歷史高價", "all-time-low": "歷史低價", "borrow-rates": "借貸利率", + "borrow-upkeep-rate": "Borrow Upkeep Fee", "borrowing": "借入", "borrows": "借貸", "chart-unavailable": "無法顯示圖表", "circulating-supply": "流通供應量", + "deposit-borrow-scaling-start": "Deposit/Borrow Scaling Start", "deposit-rates": "存款利率", "deposits": "存款", "fdv": "全稀釋市值", "fees-tooltip": "為貸款發放、貸款維護和Openbook收取的費用。", "go-to-account": "檢視帳戶", + "init-asset-liability-weight": "Init Asset/Liability Weight", + "insurance-rate-curve": "Insurance Rate Curve", "lending": "借出", + "maint-asset-liability-weight": "Maint Asset/Liability Weight", "market-cap": "總市值", "max-supply": "最大供應量", + "net-borrow-limit-in-period": "Net Borrow Limit in Period", + "net-borrow-period": "Net Borrow Period", + "net-borrows-in-period": "Net Borrows in Period", "no-borrowers": "無借貸者...", "no-depositors": "無存款者...", + "oracle": "Oracle", + "oracle-confidence": "Oracle Confidence", + "oracle-staleness": "Oracle Staleness", + "parameters": "Parameters", "token-details": "幣種細節", "token-fees-collected": "Token Fees Collected", "token-not-found": "查不到幣種", "token-not-found-desc": "'{{token}}'未列入或我們在加載數據時出錯。", + "tooltip-borrow-upkeep-rate": "The yearly rate paid to the DAO on open borrows. This is included in the displayed borrow interest rate.", + "tooltip-deposit-borrow-scaling-start": "This acts as a soft limit for deposits and borrows. For deposits, if this value is exceeded the asset weight for deposits is scaled down. For borrows, the liability weight for borrows is scaled up.", + "tooltip-init-asset-liability-weight": "The contribution a token has to your initial account health. Asset weight is applied to deposits that increase health and liability weight is applied to borrows that reduce it. Initial health controls your ability to withdraw and open new positions and is shown as an account's free collateral.", + "tooltip-insurance-rate-curve": "Interest rates are dependent on token utilization. The more tokens that are lent out the higher the rate. The curve scales up and down with long term trends in utilization.", + "tooltip-liquidation-fee": "The fee paid to liqudators when {{symbol}} is liquidated.", + "tooltip-maint-asset-liability-weight": "The contribution a token has to your maintenance account health. Asset weight is applied to deposits that increase health and liability weight is applied to borrows that reduce it. Maintenance health is what's displayed on your account page. If this value reaches zero your account will be liquidated.", + "tooltip-net-borrow-period": "As a safety feature, the amount of new borrows is limited. The limit resets at regular periods. This is the amount of time between resets.", + "tooltip-net-borrow-limit-in-period": "The maximum value of allowed net borrows. Once this value is reached, new borrows will be disabled until the end of the period.", + "tooltip-net-borrows-in-period": "Current value of net borrows (borrows - repayments) in this period.", + "tooltip-oracle-confidence": "Oracles work by aggregating multiple price sources. If these sources disagree too much, confidence will be low. If it's below this threshold, the price is considered invalid.", + "tooltip-oracle-staleness": "Price is considered valid when it is last updated within {{slots}} slots.", "tooltip-token-fees-collected": "These fees accrue in every native token listed on Mango. The values in this chart are derived from the current market value.", "top-borrowers": "頂級{{symbol}}借貸者", "top-depositors": "頂級{{symbol}}存款者",