diff --git a/src/components/CollateralInput/index.tsx b/src/components/CollateralInput/index.tsx index ba116e6..ff88045 100644 --- a/src/components/CollateralInput/index.tsx +++ b/src/components/CollateralInput/index.tsx @@ -80,9 +80,9 @@ export default function CollateralInput(props: {
{ - if (props.onInputChange && parseFloat(val) != props.amount) { + if (props.onInputChange && parseFloat(val) !== props.amount) { if (!val || !parseFloat(val)) props.onInputChange(null); else props.onInputChange(parseFloat(val)); } diff --git a/src/contexts/market.tsx b/src/contexts/market.tsx index df8ece7..b890ff2 100644 --- a/src/contexts/market.tsx +++ b/src/contexts/market.tsx @@ -2,7 +2,7 @@ import React, { useCallback, useContext, useEffect, useState } from 'react'; import { MINT_TO_MARKET } from './../models/marketOverrides'; import { POOLS_WITH_AIRDROP } from './../models/airdrops'; import { convert, fromLamports, getPoolName, getTokenName, KnownTokenMap, STABLE_COINS } from './../utils/utils'; -import { useConnection, useConnectionConfig } from './connection'; +import { useConnectionConfig } from './connection'; import { cache, getMultipleAccounts, ParsedAccount } from './accounts'; import { Market, MARKETS, Orderbook, TOKEN_MINTS } from '@project-serum/serum'; import { AccountInfo, Connection, PublicKey } from '@solana/web3.js'; @@ -69,7 +69,6 @@ export function MarketProvider({ children = null as any }) { useEffect(() => { let timer = 0; - let bonfidaTimer = 0; const updateData = async () => { await refreshAccounts(connection, [...accountsToObserve.keys()]); @@ -78,23 +77,6 @@ export function MarketProvider({ children = null as any }) { timer = window.setTimeout(() => updateData(), REFRESH_INTERVAL); }; - const bonfidaQuery = async () => { - try { - const resp = await window.fetch('https://serum-api.bonfida.com/pools-recent'); - const data = await resp.json(); - const map = (data?.data as RecentPoolData[]).reduce((acc, item) => { - acc.set(item.pool_identifier, item); - return acc; - }, new Map()); - - setDailyVolume(map); - } catch { - // ignore - } - - bonfidaTimer = window.setTimeout(() => bonfidaQuery(), BONFIDA_POOL_INTERVAL); - }; - const initalQuery = async () => { const reverseSerumMarketCache = new Map(); [...marketByMint.keys()].forEach((mint) => { @@ -165,7 +147,6 @@ export function MarketProvider({ children = null as any }) { return () => { window.clearTimeout(timer); - window.clearTimeout(bonfidaTimer); }; }, [marketByMint, accountsToObserve, connection]); diff --git a/src/views/marginTrading/newPosition/Breakdown.tsx b/src/views/marginTrading/newPosition/Breakdown.tsx index 46155d8..47f4379 100644 --- a/src/views/marginTrading/newPosition/Breakdown.tsx +++ b/src/views/marginTrading/newPosition/Breakdown.tsx @@ -9,7 +9,7 @@ import { usePoolAndTradeInfoFrom } from './utils'; export default function Breakdown({ item }: { item: Position }) { const { enrichedPools, leverage } = usePoolAndTradeInfoFrom(item); - const exchangeRate = enrichedPools.length == 0 ? 1 : enrichedPools[0].liquidityB / enrichedPools[0].liquidityA; + const exchangeRate = enrichedPools.length === 0 ? 1 : enrichedPools[0].liquidityB / enrichedPools[0].liquidityA; let myPart = item.collateral.value || 0; const brokeragePart = (item.collateral.value || 0) * leverage - myPart; diff --git a/src/views/marginTrading/newPosition/leverage.ts b/src/views/marginTrading/newPosition/leverage.ts index 4e1e4f3..657b1b0 100644 --- a/src/views/marginTrading/newPosition/leverage.ts +++ b/src/views/marginTrading/newPosition/leverage.ts @@ -33,7 +33,7 @@ export function useLeverage({ return; } - if (!desiredType || !newPosition.asset.value || !enrichedPools || enrichedPools.length == 0) { + if (!desiredType || !newPosition.asset.value || !enrichedPools || enrichedPools.length === 0) { return; } @@ -65,7 +65,7 @@ export function useLeverage({ const priceImpact = Math.abs(100 - 100 * (newSupplyRatio / supplyRatio)); const marginToLeverage = 100 / leverageDesired; // Would be 20% for 5x - if (marginToLeverage < priceImpact && leverageDesired != 1) { + if (marginToLeverage < priceImpact && leverageDesired !== 1) { // Obviously we allow 1x as edge case // if their marginToLeverage ratio < priceImpact, we say hey ho no go setNewPosition({ ...newPosition, error: LABELS.LEVERAGE_LIMIT_MESSAGE }); diff --git a/src/views/marginTrading/newPosition/utils.ts b/src/views/marginTrading/newPosition/utils.ts index 7b9a7ca..116636d 100644 --- a/src/views/marginTrading/newPosition/utils.ts +++ b/src/views/marginTrading/newPosition/utils.ts @@ -1,4 +1,3 @@ -import { useEffect } from 'react'; import { ParsedAccount } from '../../../contexts/accounts'; import { useEnrichedPools } from '../../../contexts/market'; import { UserDeposit, useUserDeposits } from '../../../hooks'; @@ -30,7 +29,7 @@ export function usePoolAndTradeInfoFrom( const userDeposits = useUserDeposits(); const collateralDeposit = userDeposits.userDeposits.find( - (u) => u.reserve.info.liquidityMint.toBase58() == collType?.info?.liquidityMint?.toBase58() + (u) => u.reserve.info.liquidityMint.toBase58() === collType?.info?.liquidityMint?.toBase58() ); const enrichedPools = useEnrichedPools(pool ? [pool] : []);