useMetadata.ts 604 B
Newer Older
Andrei Eres's avatar
Andrei Eres committed
import { Chain } from '@polkadot/extension-chains/types'
Andrei Eres's avatar
Andrei Eres committed
import { getMetadata } from '../utils/getMetadata'
Andrei Eres's avatar
Andrei Eres committed
import { useEffect, useState } from 'react'

Andrei Eres's avatar
Andrei Eres committed
export function useMetadata(
Andrei Eres's avatar
Andrei Eres committed
  genesisHash?: string | null,
  isPartial?: boolean
): Chain | null {
  const [chain, setChain] = useState<Chain | null>(null)

Andrei Eres's avatar
Andrei Eres committed
    if (genesisHash) {
      getMetadata(genesisHash, isPartial)
        .then(setChain)
        .catch((error) => {
Andrei Eres's avatar
Andrei Eres committed
          console.error(error)
          setChain(null)
        })
    } else {
      setChain(null)
    }
  }, [genesisHash, isPartial])

  return chain
}