fix: filter disallowed collaterals

This commit is contained in:
Justin Starry 2020-11-27 10:49:09 +08:00
parent b5a0170685
commit f8db6bfde0
1 changed files with 14 additions and 1 deletions

View File

@ -1,10 +1,11 @@
import React from "react";
import { useLendingReserves } from "../../hooks";
import { LendingReserve } from "../../models";
import { LendingMarket, LendingReserve } from "../../models";
import { TokenIcon } from "../TokenIcon";
import { getTokenName } from "../../utils/utils";
import { Select } from "antd";
import { useConnectionConfig } from "../../contexts/connection";
import { cache, ParsedAccount } from "../../contexts/accounts";
const { Option } = Select;
@ -16,6 +17,13 @@ export const CollateralSelector = (props: {
const { reserveAccounts } = useLendingReserves();
const { tokenMap } = useConnectionConfig();
const market = cache.get(props.reserve.lendingMarket) as ParsedAccount<
LendingMarket
>;
const onlyQuoteAllowed = !props.reserve.liquidityMint.equals(
market.info.quoteMint
);
return (
<Select
size="large"
@ -34,6 +42,11 @@ export const CollateralSelector = (props: {
>
{reserveAccounts
.filter((reserve) => reserve.info !== props.reserve)
.filter(
(reserve) =>
!onlyQuoteAllowed ||
reserve.info.liquidityMint.equals(market.info.quoteMint)
)
.map((reserve) => {
const mint = reserve.info.liquidityMint.toBase58();
const address = reserve.pubkey.toBase58();