Deletes useMangoGroupConfig hook

This commit is contained in:
Kieran Gillen 2022-03-31 16:58:01 +02:00
parent 578846d9b9
commit f10a1dbce0
10 changed files with 13 additions and 34 deletions

View File

@ -4,7 +4,6 @@ import { ChevronDownIcon } from '@heroicons/react/solid'
import { abbreviateAddress } from '../utils'
import useMangoStore, { WalletToken } from '../stores/useMangoStore'
import { RefreshClockwiseIcon } from './icons'
import useMangoGroupConfig from '../hooks/useMangoGroupConfig'
import { useTranslation } from 'next-i18next'
import { LinkButton } from './Button'
import { Label } from './Input'
@ -23,7 +22,7 @@ const AccountSelect = ({
hideAddress = false,
}: AccountSelectProps) => {
const { t } = useTranslation('common')
const groupConfig = useMangoGroupConfig()
const groupConfig = useMangoStore((s) => s.selectedMangoGroup.config)
const tokenSymbols = useMemo(
() => groupConfig.tokens.map((t) => t.symbol),
[groupConfig]

View File

@ -1,6 +1,5 @@
import { useEffect, useState } from 'react'
import { MenuIcon, PlusCircleIcon } from '@heroicons/react/outline'
import useMangoGroupConfig from '../hooks/useMangoGroupConfig'
import MarketMenuItem from './MarketMenuItem'
import { LinkButton } from './Button'
import MarketsModal from './MarketsModal'
@ -8,13 +7,14 @@ import useLocalStorageState from '../hooks/useLocalStorageState'
import { useViewport } from '../hooks/useViewport'
import { breakpoints } from './TradePageGrid'
import { useTranslation } from 'next-i18next'
import useMangoStore from 'stores/useMangoStore'
const MarketSelect = () => {
const { t } = useTranslation('common')
const groupConfig = useMangoStore((s) => s.selectedMangoGroup.config)
const [showMarketsModal, setShowMarketsModal] = useState(false)
const [hiddenMarkets] = useLocalStorageState('hiddenMarkets', [])
const [sortedMarkets, setSortedMarkets] = useState([])
const groupConfig = useMangoGroupConfig()
const { width } = useViewport()
const isMobile = width ? width < breakpoints.md : false

View File

@ -1,6 +1,5 @@
import React, { useMemo, useState } from 'react'
import { ChevronLeftIcon, ChevronRightIcon } from '@heroicons/react/solid'
import useMangoGroupConfig from '../hooks/useMangoGroupConfig'
import Modal from './Modal'
import { ElementTitle } from './styles'
import Button, { LinkButton } from './Button'
@ -197,7 +196,7 @@ const SettingsContent = ({ settingsView, setSettingsView }) => {
const DefaultMarketSettings = ({ setSettingsView }) => {
const { t } = useTranslation('common')
const groupConfig = useMangoGroupConfig()
const groupConfig = useMangoStore((s) => s.selectedMangoGroup.config)
const allMarkets = [
...groupConfig.spotMarkets,
...groupConfig.perpMarkets,

View File

@ -1,5 +1,4 @@
import { Fragment, useCallback, useMemo, useRef, useState } from 'react'
import useMangoGroupConfig from '../hooks/useMangoGroupConfig'
import { Popover, Transition } from '@headlessui/react'
import { SearchIcon } from '@heroicons/react/outline'
import { ChevronDownIcon } from '@heroicons/react/solid'
@ -9,7 +8,7 @@ import MarketNavItem from './MarketNavItem'
import useMangoStore from '../stores/useMangoStore'
const SwitchMarketDropdown = () => {
const groupConfig = useMangoGroupConfig()
const groupConfig = useMangoStore((s) => s.selectedMangoGroup.config)
const marketConfig = useMangoStore((s) => s.selectedMarket.config)
const baseSymbol = marketConfig.baseSymbol
const isPerpMarket = marketConfig.kind === 'perp'

View File

@ -12,11 +12,11 @@ import Button, { LinkButton } from './Button'
import Modal from './Modal'
import { ElementTitle } from './styles'
import { useTranslation } from 'next-i18next'
import useMangoGroupConfig from '../hooks/useMangoGroupConfig'
import { Popover, Transition } from '@headlessui/react'
import Checkbox from './Checkbox'
import dayjs from 'dayjs'
import DateRangePicker from './DateRangePicker'
import useMangoStore from 'stores/useMangoStore'
interface TradeHistoryFilterModalProps {
filters: any
@ -36,7 +36,7 @@ const TradeHistoryFilterModal: FunctionComponent<
const [sizeTo, setSizeTo] = useState(filters?.size?.values?.to || '')
const [valueFrom, setValueFrom] = useState(filters?.value?.values?.from || '')
const [valueTo, setValueTo] = useState(filters?.value?.values?.to || '')
const groupConfig = useMangoGroupConfig()
const groupConfig = useMangoStore((s) => s.selectedMangoGroup.config)
const markets = useMemo(
() =>
[...groupConfig.perpMarkets, ...groupConfig.spotMarkets].sort((a, b) =>

View File

@ -1,6 +1,5 @@
import { PerpMarket } from '@blockworks-foundation/mango-client'
import { useState, useMemo } from 'react'
import useMangoGroupConfig from '../../hooks/useMangoGroupConfig'
import useMangoStore from '../../stores/useMangoStore'
import Chart from '../Chart'
import BN from 'bn.js'
@ -40,7 +39,9 @@ function calculateFundingRate(
export default function StatsPerps({ perpStats }) {
const { t } = useTranslation('common')
const [selectedAsset, setSelectedAsset] = useState<string>('BTC-PERP')
const marketConfigs = useMangoGroupConfig().perpMarkets
const marketConfigs = useMangoStore(
(s) => s.selectedMangoGroup.config
).perpMarkets
const selectedMarketConfig = marketConfigs.find(
(m) => m.name === selectedAsset
)

View File

@ -1,16 +0,0 @@
import { useMemo } from 'react'
import useMangoStore from '../stores/useMangoStore'
import { Config } from '@blockworks-foundation/mango-client'
import { GroupConfig } from '@blockworks-foundation/mango-client/lib/src/config'
export default function useMangoGroupConfig(): GroupConfig {
const mangoGroupName = useMangoStore((state) => state.selectedMangoGroup.name)
const cluster = useMangoStore((s) => s.connection.cluster)
const mangoGroupConfig = useMemo(
() => Config.ids().getGroup(cluster, mangoGroupName),
[cluster, mangoGroupName]
)
return mangoGroupConfig
}

View File

@ -1,7 +1,6 @@
import { useEffect, useState } from 'react'
import { I80F48 } from '@blockworks-foundation/mango-client'
import useMangoStore from '../stores/useMangoStore'
import useMangoGroupConfig from './useMangoGroupConfig'
import { tokenPrecision } from '../utils'
const useMangoStats = () => {
@ -33,7 +32,7 @@ const useMangoStats = () => {
const mangoGroup = useMangoStore((s) => s.selectedMangoGroup.current)
const mangoGroupName = useMangoStore((s) => s.selectedMangoGroup.name)
const connection = useMangoStore((s) => s.connection.current)
const config = useMangoGroupConfig()
const config = useMangoStore((s) => s.selectedMangoGroup.config)
useEffect(() => {
const fetchHistoricalStats = async () => {

View File

@ -1,6 +1,5 @@
import React, { useEffect } from 'react'
import { useRouter } from 'next/router'
import useMangoGroupConfig from '../hooks/useMangoGroupConfig'
import useMangoStore, { serumProgramId } from '../stores/useMangoStore'
import {
getMarketByBaseSymbolAndKind,
@ -41,7 +40,7 @@ const PerpMarket: React.FC = () => {
const [alphaAccepted] = useLocalStorageState(ALPHA_MODAL_KEY, false)
const [showTour] = useLocalStorageState(SHOW_TOUR_KEY, false)
const { connected } = useWallet()
const groupConfig = useMangoGroupConfig()
const groupConfig = useMangoStore((s) => s.selectedMangoGroup.config)
const setMangoStore = useMangoStore((s) => s.set)
const mangoAccount = useMangoStore(mangoAccountSelector)
const mangoGroup = useMangoStore((s) => s.selectedMangoGroup.current)

View File

@ -1,7 +1,6 @@
import { useTranslation } from 'next-i18next'
import { useEffect, useState } from 'react'
import { ChevronRightIcon } from '@heroicons/react/solid'
import useMangoGroupConfig from '../hooks/useMangoGroupConfig'
import useMangoStore from '../stores/useMangoStore'
import Link from 'next/link'
import { formatUsdValue } from '../utils'
@ -20,7 +19,7 @@ export async function getStaticProps({ locale }) {
const SelectMarket = () => {
const { t } = useTranslation('common')
const groupConfig = useMangoGroupConfig()
const groupConfig = useMangoStore((s) => s.selectedMangoGroup.config)
const mangoGroup = useMangoStore((s) => s.selectedMangoGroup.current)
const mangoCache = useMangoStore((s) => s.selectedMangoGroup.cache)