List milkTIA (#757)

* tidy: update svgs

* feat: list milkTIA

* env: updated the version

* fix: fixed null return of RedBank

* fix: useMarketEnabledAssets
This commit is contained in:
Linkie Link
2024-01-31 14:37:31 +01:00
committed by GitHub
parent 0dc17e3263
commit 2d5efec4cb
17 changed files with 483 additions and 302 deletions
@@ -58,7 +58,7 @@ export default function LendingActionButtons(props: Props) {
return (
<div className='flex flex-row space-x-2'>
{accountLendValue && (
{accountLendValue && accountLendValue.isGreaterThan(0) && (
<Button
leftIcon={<ArrowDownLine />}
iconClassName={iconClassnames}
+2 -2
View File
@@ -2,7 +2,7 @@ import AvailableLendsTable from 'components/earn/lend/Table/AvailableLendsTable'
import DepositedLendsTable from 'components/earn/lend/Table/DepositedLendsTable'
import useLendingMarketAssetsTableData from 'components/earn/lend/Table/useLendingMarketAssetsTableData'
import { BN_ZERO } from 'constants/math'
import useLendEnabledAssets from 'hooks/assets/useLendEnabledAssets'
import useMarketEnabledAssets from 'hooks/assets/useMarketEnabledAssets'
export default function Lends() {
const { accountLentAssets, availableAssets, allAssets } = useLendingMarketAssetsTableData()
@@ -19,7 +19,7 @@ export default function Lends() {
}
function Fallback() {
const assets = useLendEnabledAssets()
const assets = useMarketEnabledAssets()
const data: LendingMarketTableData[] = assets.map((asset) => ({
asset,
+15
View File
@@ -0,0 +1,15 @@
const milkTIA: AssetMetaData = {
symbol: 'milkTIA',
id: 'milkTIA',
name: 'MilkyWay liquid staked TIA',
color: '#E69EFE',
logo: '/images/tokens/milktia.svg',
decimals: 6,
hasOraclePrice: true,
isEnabled: true,
isMarket: true,
isDisplayCurrency: true,
isAutoLendEnabled: false,
}
export default milkTIA
+6
View File
@@ -11,6 +11,7 @@ import OSMO_WBTC from 'configs/assets/lp/OSMO_WBTC'
import OSMO_WETH from 'configs/assets/lp/OSMO_WETH'
import stATOM_ATOM from 'configs/assets/lp/stATOM_ATOM'
import MARS from 'configs/assets/MARS'
import milkTIA from 'configs/assets/milkTIA'
import OSMO from 'configs/assets/OSMO'
import stATOM from 'configs/assets/stATOM'
import stOSMO from 'configs/assets/stOSMO'
@@ -98,6 +99,11 @@ const ASSETS = [
poolId: 1245,
denom: 'ibc/831F0B1BBB1D08A2B75311892876D71565478C532967545476DF4C2D7492E48C',
},
{
...milkTIA,
poolId: 1335,
denom: 'factory/osmo1f5vfcph2dvfeqcqkhetwv75fda69z7e5c2dldm3kvgj23crkv6wqcn47a0/umilkTIA',
},
OSMO_ATOM,
OSMO_USDC,
OSMO_WETH,
+4 -2
View File
@@ -20,7 +20,7 @@ export default function useMarkets() {
const { data: assetParams } = useAssetParams()
const assets = useAssets()
return useSWR(
const result = useSWR(
!!marketInfos?.length &&
!!marketDepositCaps?.length &&
!!assetParams.length &&
@@ -38,5 +38,7 @@ export default function useMarkets() {
{
fallbackData: [],
},
).data
)
return result.data
}
+45 -20
View File
@@ -16,26 +16,51 @@ export function resolveMarketResponse(
assetParamsResponse: AssetParams,
assetCapResponse: TotalDepositResponse,
): Market {
return {
asset,
apy: {
borrow: convertAprToApy(Number(marketResponse.borrow_rate), 365) * 100,
deposit: convertAprToApy(Number(marketResponse.liquidity_rate), 365) * 100,
},
debt: marketResponse.debt ?? BN_ZERO,
deposits: marketResponse.deposits ?? BN_ZERO,
liquidity: marketResponse.liquidity ?? BN_ZERO,
depositEnabled: assetParamsResponse.red_bank.deposit_enabled,
borrowEnabled: assetParamsResponse.red_bank.borrow_enabled,
cap: {
denom: assetCapResponse.denom,
used: BN(assetCapResponse.amount),
max: BN(assetParamsResponse.deposit_cap),
},
ltv: {
max: Number(assetParamsResponse.max_loan_to_value),
liq: Number(assetParamsResponse.liquidation_threshold),
},
try {
return {
asset,
apy: {
borrow: convertAprToApy(Number(marketResponse.borrow_rate), 365) * 100,
deposit: convertAprToApy(Number(marketResponse.liquidity_rate), 365) * 100,
},
debt: marketResponse.debt ?? BN_ZERO,
deposits: marketResponse.deposits ?? BN_ZERO,
liquidity: marketResponse.liquidity ?? BN_ZERO,
depositEnabled: assetParamsResponse.red_bank.deposit_enabled,
borrowEnabled: assetParamsResponse.red_bank.borrow_enabled,
cap: {
denom: assetCapResponse.denom,
used: BN(assetCapResponse.amount),
max: BN(assetParamsResponse.deposit_cap),
},
ltv: {
max: Number(assetParamsResponse.max_loan_to_value),
liq: Number(assetParamsResponse.liquidation_threshold),
},
}
} catch (e) {
console.log(e)
return {
asset,
apy: {
borrow: 0,
deposit: 0,
},
debt: BN_ZERO,
deposits: BN_ZERO,
liquidity: BN_ZERO,
depositEnabled: false,
borrowEnabled: false,
cap: {
denom: '',
used: BN_ZERO,
max: BN_ZERO,
},
ltv: {
max: 0,
liq: 0,
},
}
}
}