mirror of https://github.com/certusone/oyster.git
fix: filter disallowed collaterals
This commit is contained in:
parent
b5a0170685
commit
f8db6bfde0
|
@ -1,10 +1,11 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useLendingReserves } from "../../hooks";
|
import { useLendingReserves } from "../../hooks";
|
||||||
import { LendingReserve } from "../../models";
|
import { LendingMarket, LendingReserve } from "../../models";
|
||||||
import { TokenIcon } from "../TokenIcon";
|
import { TokenIcon } from "../TokenIcon";
|
||||||
import { getTokenName } from "../../utils/utils";
|
import { getTokenName } from "../../utils/utils";
|
||||||
import { Select } from "antd";
|
import { Select } from "antd";
|
||||||
import { useConnectionConfig } from "../../contexts/connection";
|
import { useConnectionConfig } from "../../contexts/connection";
|
||||||
|
import { cache, ParsedAccount } from "../../contexts/accounts";
|
||||||
|
|
||||||
const { Option } = Select;
|
const { Option } = Select;
|
||||||
|
|
||||||
|
@ -16,6 +17,13 @@ export const CollateralSelector = (props: {
|
||||||
const { reserveAccounts } = useLendingReserves();
|
const { reserveAccounts } = useLendingReserves();
|
||||||
const { tokenMap } = useConnectionConfig();
|
const { tokenMap } = useConnectionConfig();
|
||||||
|
|
||||||
|
const market = cache.get(props.reserve.lendingMarket) as ParsedAccount<
|
||||||
|
LendingMarket
|
||||||
|
>;
|
||||||
|
const onlyQuoteAllowed = !props.reserve.liquidityMint.equals(
|
||||||
|
market.info.quoteMint
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Select
|
<Select
|
||||||
size="large"
|
size="large"
|
||||||
|
@ -34,6 +42,11 @@ export const CollateralSelector = (props: {
|
||||||
>
|
>
|
||||||
{reserveAccounts
|
{reserveAccounts
|
||||||
.filter((reserve) => reserve.info !== props.reserve)
|
.filter((reserve) => reserve.info !== props.reserve)
|
||||||
|
.filter(
|
||||||
|
(reserve) =>
|
||||||
|
!onlyQuoteAllowed ||
|
||||||
|
reserve.info.liquidityMint.equals(market.info.quoteMint)
|
||||||
|
)
|
||||||
.map((reserve) => {
|
.map((reserve) => {
|
||||||
const mint = reserve.info.liquidityMint.toBase58();
|
const mint = reserve.info.liquidityMint.toBase58();
|
||||||
const address = reserve.pubkey.toBase58();
|
const address = reserve.pubkey.toBase58();
|
||||||
|
|
Loading…
Reference in New Issue