chore: fix warnings
This commit is contained in:
parent
dec3d42a0a
commit
94762b0763
|
@ -80,9 +80,9 @@ export default function CollateralInput(props: {
|
||||||
</div>
|
</div>
|
||||||
<div className='ccy-input-header' style={{ padding: '0px 10px 5px 7px' }}>
|
<div className='ccy-input-header' style={{ padding: '0px 10px 5px 7px' }}>
|
||||||
<NumericInput
|
<NumericInput
|
||||||
value={parseFloat(lastAmount || '0.00') == props.amount ? lastAmount : props.amount?.toFixed(6)?.toString()}
|
value={parseFloat(lastAmount || '0.00') === props.amount ? lastAmount : props.amount?.toFixed(6)?.toString()}
|
||||||
onChange={(val: string) => {
|
onChange={(val: string) => {
|
||||||
if (props.onInputChange && parseFloat(val) != props.amount) {
|
if (props.onInputChange && parseFloat(val) !== props.amount) {
|
||||||
if (!val || !parseFloat(val)) props.onInputChange(null);
|
if (!val || !parseFloat(val)) props.onInputChange(null);
|
||||||
else props.onInputChange(parseFloat(val));
|
else props.onInputChange(parseFloat(val));
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@ import React, { useCallback, useContext, useEffect, useState } from 'react';
|
||||||
import { MINT_TO_MARKET } from './../models/marketOverrides';
|
import { MINT_TO_MARKET } from './../models/marketOverrides';
|
||||||
import { POOLS_WITH_AIRDROP } from './../models/airdrops';
|
import { POOLS_WITH_AIRDROP } from './../models/airdrops';
|
||||||
import { convert, fromLamports, getPoolName, getTokenName, KnownTokenMap, STABLE_COINS } from './../utils/utils';
|
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 { cache, getMultipleAccounts, ParsedAccount } from './accounts';
|
||||||
import { Market, MARKETS, Orderbook, TOKEN_MINTS } from '@project-serum/serum';
|
import { Market, MARKETS, Orderbook, TOKEN_MINTS } from '@project-serum/serum';
|
||||||
import { AccountInfo, Connection, PublicKey } from '@solana/web3.js';
|
import { AccountInfo, Connection, PublicKey } from '@solana/web3.js';
|
||||||
|
@ -69,7 +69,6 @@ export function MarketProvider({ children = null as any }) {
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
let timer = 0;
|
let timer = 0;
|
||||||
let bonfidaTimer = 0;
|
|
||||||
|
|
||||||
const updateData = async () => {
|
const updateData = async () => {
|
||||||
await refreshAccounts(connection, [...accountsToObserve.keys()]);
|
await refreshAccounts(connection, [...accountsToObserve.keys()]);
|
||||||
|
@ -78,23 +77,6 @@ export function MarketProvider({ children = null as any }) {
|
||||||
timer = window.setTimeout(() => updateData(), REFRESH_INTERVAL);
|
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<string, RecentPoolData>());
|
|
||||||
|
|
||||||
setDailyVolume(map);
|
|
||||||
} catch {
|
|
||||||
// ignore
|
|
||||||
}
|
|
||||||
|
|
||||||
bonfidaTimer = window.setTimeout(() => bonfidaQuery(), BONFIDA_POOL_INTERVAL);
|
|
||||||
};
|
|
||||||
|
|
||||||
const initalQuery = async () => {
|
const initalQuery = async () => {
|
||||||
const reverseSerumMarketCache = new Map<string, string>();
|
const reverseSerumMarketCache = new Map<string, string>();
|
||||||
[...marketByMint.keys()].forEach((mint) => {
|
[...marketByMint.keys()].forEach((mint) => {
|
||||||
|
@ -165,7 +147,6 @@ export function MarketProvider({ children = null as any }) {
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
window.clearTimeout(timer);
|
window.clearTimeout(timer);
|
||||||
window.clearTimeout(bonfidaTimer);
|
|
||||||
};
|
};
|
||||||
}, [marketByMint, accountsToObserve, connection]);
|
}, [marketByMint, accountsToObserve, connection]);
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ import { usePoolAndTradeInfoFrom } from './utils';
|
||||||
export default function Breakdown({ item }: { item: Position }) {
|
export default function Breakdown({ item }: { item: Position }) {
|
||||||
const { enrichedPools, leverage } = usePoolAndTradeInfoFrom(item);
|
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;
|
let myPart = item.collateral.value || 0;
|
||||||
const brokeragePart = (item.collateral.value || 0) * leverage - myPart;
|
const brokeragePart = (item.collateral.value || 0) * leverage - myPart;
|
||||||
|
|
|
@ -33,7 +33,7 @@ export function useLeverage({
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!desiredType || !newPosition.asset.value || !enrichedPools || enrichedPools.length == 0) {
|
if (!desiredType || !newPosition.asset.value || !enrichedPools || enrichedPools.length === 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ export function useLeverage({
|
||||||
|
|
||||||
const priceImpact = Math.abs(100 - 100 * (newSupplyRatio / supplyRatio));
|
const priceImpact = Math.abs(100 - 100 * (newSupplyRatio / supplyRatio));
|
||||||
const marginToLeverage = 100 / leverageDesired; // Would be 20% for 5x
|
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
|
// Obviously we allow 1x as edge case
|
||||||
// if their marginToLeverage ratio < priceImpact, we say hey ho no go
|
// if their marginToLeverage ratio < priceImpact, we say hey ho no go
|
||||||
setNewPosition({ ...newPosition, error: LABELS.LEVERAGE_LIMIT_MESSAGE });
|
setNewPosition({ ...newPosition, error: LABELS.LEVERAGE_LIMIT_MESSAGE });
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import { useEffect } from 'react';
|
|
||||||
import { ParsedAccount } from '../../../contexts/accounts';
|
import { ParsedAccount } from '../../../contexts/accounts';
|
||||||
import { useEnrichedPools } from '../../../contexts/market';
|
import { useEnrichedPools } from '../../../contexts/market';
|
||||||
import { UserDeposit, useUserDeposits } from '../../../hooks';
|
import { UserDeposit, useUserDeposits } from '../../../hooks';
|
||||||
|
@ -30,7 +29,7 @@ export function usePoolAndTradeInfoFrom(
|
||||||
|
|
||||||
const userDeposits = useUserDeposits();
|
const userDeposits = useUserDeposits();
|
||||||
const collateralDeposit = userDeposits.userDeposits.find(
|
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] : []);
|
const enrichedPools = useEnrichedPools(pool ? [pool] : []);
|
||||||
|
|
Loading…
Reference in New Issue