Commit 539a6e05 authored by Moody Salem's avatar Moody Salem

don't fetch pool tick data

parent 3693c83b
{
"name": "Uniswap V2 Unsupported List",
"name": "Unsupported Tokens",
"timestamp": "2021-01-05T20:47:02.923Z",
"version": {
"major": 1,
......
import { computePoolAddress, Tick } from '@uniswap/v3-sdk'
import { computePoolAddress } from '@uniswap/v3-sdk'
import { ZERO_ADDRESS } from './../constants/index'
import { Currency } from '@uniswap/sdk-core'
import { useMemo } from 'react'
......@@ -8,7 +8,6 @@ import { wrappedCurrency } from '../utils/wrappedCurrency'
import { Pool, FeeAmount } from '@uniswap/v3-sdk'
import { useV3Factory, useV3Pool } from 'hooks/useContract'
import { V3_CORE_FACTORY_ADDRESSES } from 'constants/v3'
import { useAllV3Ticks } from 'hooks/useAllV3Ticks'
export enum PoolState {
LOADING = 'LOADING',
......@@ -71,13 +70,9 @@ export function usePool(currencyA?: Currency, currencyB?: Currency, feeAmount?:
const liquidity = liquidityResult?.[0]
// fetch tick data for pool
const { tickData, loading: tickLoading, syncing: tickSyncing } = useAllV3Ticks(token0, token1, feeAmount)
return useMemo(() => {
// still loading data
if (slot0Loading || addressesLoading || liquidityLoading || tickLoading || tickSyncing)
return [PoolState.LOADING, null]
if (slot0Loading || addressesLoading || liquidityLoading) return [PoolState.LOADING, null]
// invalid pool setup
if (!tokenA || !tokenB || !feeAmount || tokenA.equals(tokenB)) return [PoolState.INVALID, null]
......@@ -87,17 +82,7 @@ export function usePool(currencyA?: Currency, currencyB?: Currency, feeAmount?:
return [PoolState.NOT_EXISTS, null]
}
const tickList: Tick[] = tickData
.map((tick) => {
return new Tick({
index: tick.tick,
liquidityGross: tick.liquidityGross,
liquidityNet: tick.liquidityNet,
})
})
.sort((tickA, tickB) => (tickA.index > tickB.index ? 1 : -1))
return [PoolState.EXISTS, new Pool(tokenA, tokenB, feeAmount, slot0.sqrtPriceX96, liquidity, slot0.tick, tickList)]
return [PoolState.EXISTS, new Pool(tokenA, tokenB, feeAmount, slot0.sqrtPriceX96, liquidity, slot0.tick)]
}, [
addressesLoading,
feeAmount,
......@@ -106,9 +91,6 @@ export function usePool(currencyA?: Currency, currencyB?: Currency, feeAmount?:
poolAddressFromFactory,
slot0,
slot0Loading,
tickData,
tickLoading,
tickSyncing,
tokenA,
tokenB,
])
......
......@@ -18,6 +18,7 @@ interface TickData {
liquidityGross: number
}
/// for now, reconsider using this function, it consumes a lot of data and cpu to fetch all the ticks.
export function useAllV3Ticks(
token0: Token | undefined,
token1: Token | undefined,
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment