24 lines
972 B
TypeScript
24 lines
972 B
TypeScript
import useSWR from "swr"
|
|
import { getDynamicBuilder, getLookupFn } from "@polkadot-api/metadata-builders"
|
|
|
|
import { useUnstableProvider } from "./useUnstableProvider"
|
|
import { useMetadata } from "./useMetadata"
|
|
|
|
export const useExistentialDeposit = () => {
|
|
const { chainId } = useUnstableProvider()
|
|
const metadata = useMetadata()
|
|
const { data: existentialDeposit } = useSWR(
|
|
chainId && metadata
|
|
? ["existentialDeposit", chainId, metadata]
|
|
: null,
|
|
([_, chainId, metadata]) => {
|
|
const builder = getDynamicBuilder(getLookupFn(metadata))
|
|
const codec = builder.buildConstant("Balances", "ExistentialDeposit")
|
|
const constants = metadata?.pallets?.find(obj => obj.name === "Balances")?.constants
|
|
const value = constants?.find(obj => obj.name === "ExistentialDeposit")?.value
|
|
return value ? codec.dec(value) : undefined
|
|
}
|
|
)
|
|
return existentialDeposit
|
|
}
|