{"version":3,"file":"static/chunks/pages/[moonChainKey]/open-gov-1d5928b94fb3af54.js","mappings":"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","sources":["webpack://_N_E/?3f0d","webpack://_N_E/./components/AvatarWithAddressOrIdentity/AvatarWithAddressOrIdentity.tsx","webpack://_N_E/./components/AvatarWithAddressOrIdentity/index.ts","webpack://_N_E/./components/PageLoader/PageLoader.tsx","webpack://_N_E/./components/PageLoader/index.ts","webpack://_N_E/./components/Pagination/Pagination.tsx","webpack://_N_E/./components/Pagination/index.ts","webpack://_N_E/./components/ProxyDropdown/ProxyDropdown.tsx","webpack://_N_E/./components/ProxyDropdown/index.ts","webpack://_N_E/./components/ProxySwitch/ProxiedAccount.tsx","webpack://_N_E/./components/ProxySwitch/ProxySwitch.tsx","webpack://_N_E/./components/ProxySwitch/index.ts","webpack://_N_E/./components/pages/open-gov/DelegateVote/DelegateVotes.tsx","webpack://_N_E/./components/pages/open-gov/DelegateVote/index.ts","webpack://_N_E/./components/ProposalTimeProgress/ProposalTimeProgress.tsx","webpack://_N_E/./components/ProposalTimeProgress/index.ts","webpack://_N_E/./components/pages/open-gov/Referenda/Snippet.tsx","webpack://_N_E/./components/pages/open-gov/Referenda/ReferendumRow.tsx","webpack://_N_E/./lib/hooks/queries/open-gov/useVotesForTrackAndAddress.ts","webpack://_N_E/./lib/hooks/queries/open-gov/useVoteForProposalAndAddress.ts","webpack://_N_E/./lib/hooks/queries/proxy/useAllProxies.ts","webpack://_N_E/./lib/hooks/queries/proxy/useProxiedAccounts.ts","webpack://_N_E/./lib/hooks/flags/useVoteDelegationBaseUrlFlag.ts","webpack://_N_E/./lib/hooks/useVoteDelegationUrls.ts","webpack://_N_E/./lib/services/contracts/Batch/BatchABI.ts","webpack://_N_E/./lib/services/contracts/Batch/constants.ts","webpack://_N_E/./components/pages/open-gov/Referenda/ReferendaTable.tsx","webpack://_N_E/./components/pages/open-gov/Referenda/StatusSelector.tsx","webpack://_N_E/./lib/hooks/services/api/useReferenda.ts","webpack://_N_E/./components/pages/open-gov/Referenda/Referenda.tsx","webpack://_N_E/./components/pages/open-gov/Referenda/index.ts","webpack://_N_E/./lib/hooks/queries/open-gov/useVoteCount.ts","webpack://_N_E/./components/pages/open-gov/StatsPanel/LegendCard.tsx","webpack://_N_E/./components/pages/open-gov/StatsPanel/ReferendaChart.tsx","webpack://_N_E/./lib/hooks/queries/open-gov/useOngoingReferendaIds.ts","webpack://_N_E/./lib/hooks/queries/open-gov/useReferendaStatistics.ts","webpack://_N_E/./components/pages/open-gov/StatsPanel/AllProposals.tsx","webpack://_N_E/./components/pages/open-gov/StatsPanel/HeaderCard.tsx","webpack://_N_E/./components/pages/open-gov/StatsPanel/LockedFundsSummary/LockedFundsSummaryForTrack.tsx","webpack://_N_E/./lib/hooks/queries/useReferendaLocks.ts","webpack://_N_E/./components/pages/open-gov/StatsPanel/LockedFundsSummary/LockedFundsSummary.tsx","webpack://_N_E/./components/pages/open-gov/StatsPanel/LockedFundsSummary/index.ts","webpack://_N_E/./components/pages/open-gov/StatsPanel/VoteDelegate.tsx","webpack://_N_E/./lib/hooks/services/api/useTopVoteDelegates.ts","webpack://_N_E/./components/pages/open-gov/StatsPanel/TopVoteDelegates.tsx","webpack://_N_E/./lib/hooks/contracts/voting/useUnlockOpenGov.ts","webpack://_N_E/./components/pages/open-gov/UnlockOpenGov/UnlockOpenGov.tsx","webpack://_N_E/./components/pages/open-gov/UnlockOpenGov/index.ts","webpack://_N_E/./lib/hooks/queries/open-gov/useReferendumCount.ts","webpack://_N_E/./components/pages/open-gov/StatsPanel/StatsPanel.tsx","webpack://_N_E/./components/pages/open-gov/StatsPanel/index.ts","webpack://_N_E/./components/pages/open-gov/TrackParams/ParamCard.tsx","webpack://_N_E/./components/pages/open-gov/TrackParams/TrackParams.tsx","webpack://_N_E/./components/pages/open-gov/TrackParams/index.ts","webpack://_N_E/./pages/[moonChainKey]/open-gov/index.tsx","webpack://_N_E/./lib/styles/common.module.css"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/[moonChainKey]/open-gov\",\n function () {\n return require(\"private-next-pages/[moonChainKey]/open-gov/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/[moonChainKey]/open-gov\"])\n });\n }\n ","import { Group, Text } from '@mantine/core';\nimport { Avatar } from 'components/Avatar';\nimport { useIdentity } from 'hooks/queries/useIdentities';\nimport { candidateDisplay } from 'utils/text';\n\ntype Props = {\n address: string;\n withAddress?: boolean;\n};\n\nexport const AvatarWithAddressOrIdentity = ({\n address,\n withAddress = false,\n}: Props): JSX.Element => {\n const proxyIdentity = useIdentity(address);\n const hasIdentity = proxyIdentity && proxyIdentity.display;\n\n return (\n \n \n {candidateDisplay(proxyIdentity, address)}\n {withAddress && hasIdentity && (\n {candidateDisplay(undefined, address, 5, 5)}\n )}\n \n );\n};\n","export { AvatarWithAddressOrIdentity } from 'components/AvatarWithAddressOrIdentity/AvatarWithAddressOrIdentity';\n","import { Center, Loader } from '@mantine/core';\n\nexport const PageLoader = () => {\n return (\n
\n \n
\n );\n};\n","export * from './PageLoader';\n","import { Group, Pagination as PaginationMantine, Select } from '@mantine/core';\nimport { useTranslation } from 'next-i18next';\nimport { Dispatch, SetStateAction, useMemo } from 'react';\n\ninterface Props {\n total: number;\n activePage: number;\n setActivePage: Dispatch> | ((page: number) => void);\n recordsPerPage?: number;\n setRecordsPerPage?: Dispatch>;\n}\n\nexport const Pagination = ({\n total,\n activePage,\n setActivePage,\n recordsPerPage = 10,\n setRecordsPerPage,\n}: Props) => {\n const { t } = useTranslation();\n\n const totalPages = Math.ceil((total ?? 0) / recordsPerPage);\n\n const data = useMemo(() => {\n return [...Array(10).keys()].map((index) => {\n const step = index * 5 + 5;\n\n return {\n value: `${step}`,\n label: t('perPage', { count: step }),\n };\n });\n }, [t]);\n\n return (\n \n {\n if (control === 'previous') {\n return { 'aria-label': t('icons.pagination.previous') };\n }\n\n if (control === 'next') {\n return { 'aria-label': t('icons.pagination.next') };\n }\n\n return {};\n }}\n />\n {setRecordsPerPage && (\n {\n setRecordsPerPage(+(v as string));\n setActivePage(1);\n }}\n />\n )}\n \n );\n};\n","export * from './Pagination';\n","import {\n Combobox,\n Group,\n InputBase,\n Loader,\n Text,\n useCombobox,\n} from '@mantine/core';\nimport { AvatarWithAddressOrIdentity } from 'components/AvatarWithAddressOrIdentity';\nimport { useProxiedAccounts } from 'hooks/queries/proxy/useProxiedAccounts';\nimport { useAddress } from 'hooks/useAddress';\nimport { useTranslation } from 'next-i18next';\nimport { useMemo } from 'react';\nimport { ProxyType } from 'services/contracts/Proxy/constants';\n\ninterface Props {\n proxyType: ProxyType;\n selected: string;\n size?: string;\n onChange: (proxyAddress: string) => void;\n}\n\nexport function ProxyDropdown({\n proxyType,\n selected,\n size = 'md',\n onChange,\n ...other\n}: Props) {\n const combobox = useCombobox({\n onDropdownClose: () => combobox.resetSelectedOption(),\n });\n\n const { t } = useTranslation();\n const address = useAddress();\n const { accounts, isLoading } = useProxiedAccounts(address, proxyType);\n\n const isDisabled = !accounts?.length;\n const noProxies = !isLoading && !accounts?.length;\n\n const options = useMemo(\n () =>\n accounts?.map(({ address, proxyType }) => (\n \n \n \n \n {t('type')}\n {':'}\n \n \n {proxyType}\n \n \n \n )),\n [accounts, t],\n );\n\n return (\n {\n combobox.toggleDropdown();\n onChange(value);\n }}\n {...other}\n >\n \n }\n onClick={() => combobox.toggleDropdown()}\n rightSectionPointerEvents={'none'}\n disabled={noProxies}\n >\n {isLoading && }\n {noProxies && {t('noResults')}}\n {selected && }\n {!selected && !isLoading && !noProxies && (\n {t('selectProxiedAccount')}\n )}\n \n \n \n {options}\n \n \n );\n}\n","export { ProxyDropdown } from 'components/ProxyDropdown/ProxyDropdown';\n","import { Collapse, Grid, Paper, Text, useMantineTheme } from '@mantine/core';\nimport { ProxyDropdown } from 'components/ProxyDropdown';\nimport { useIsProxyAvailableFlag } from 'hooks/flags/useIsProxyAvailableFlag';\nimport {\n useIsValidGovProxy,\n useIsValidStakingProxy,\n} from 'hooks/queries/proxy/useIsValidPorxy';\nimport { useIsMounted } from 'hooks/useIsMounted';\nimport { useThemeColors } from 'hooks/useThemeColors';\nimport { Trans, useTranslation } from 'next-i18next';\nimport { useEffect, useState } from 'react';\nimport { useProxiedAddress } from 'recoil/proxiedAddress';\nimport { ProxyType } from 'services/contracts/Proxy/constants';\nimport { sliceEllipsis } from 'utils/text';\nimport { useAccount } from 'wagmi';\n\ninterface Props {\n type: ProxyType;\n}\n\nexport const ProxiedAccount = ({ type }: Props) => {\n const { t } = useTranslation();\n const theme = useMantineTheme();\n const { themeColors } = useThemeColors();\n const { isConnected } = useAccount();\n const isMounted = useIsMounted();\n const { isEnabled, proxiedAddress, setProxiedAddress } = useProxiedAddress();\n const isProxyAvailable = useIsProxyAvailableFlag();\n const [localProxiedAddress, setLocalProxiedAddress] =\n useState(proxiedAddress);\n const isValidGovProxy = useIsValidGovProxy(localProxiedAddress);\n const isValidStakingProxy = useIsValidStakingProxy(localProxiedAddress);\n const isValid =\n type === ProxyType.Governance ? isValidGovProxy : isValidStakingProxy;\n\n useEffect(() => {\n if (localProxiedAddress && isValid === undefined) return;\n\n if (localProxiedAddress && isValid) {\n setProxiedAddress(localProxiedAddress);\n } else {\n setProxiedAddress('');\n }\n }, [isValid, localProxiedAddress, setProxiedAddress]);\n\n if (!isMounted || !isConnected || !isProxyAvailable) {\n return undefined;\n }\n\n return (\n \n \n \n \n setLocalProxiedAddress(address)}\n selected={localProxiedAddress}\n />\n {isValid === false && (\n ,\n }}\n />\n )}\n \n \n \n \n );\n};\n","import { Switch } from '@mantine/core';\nimport { useIsProxyAvailableFlag } from 'hooks/flags/useIsProxyAvailableFlag';\nimport { useIsMounted } from 'hooks/useIsMounted';\nimport { useTranslation } from 'next-i18next';\nimport { useProxiedAddress } from 'recoil/proxiedAddress';\nimport { useAccount } from 'wagmi';\n\nexport const ProxySwitch = () => {\n const { t } = useTranslation();\n const { isEnabled, toggle } = useProxiedAddress();\n const isMounted = useIsMounted();\n const isProxyAvailable = useIsProxyAvailableFlag();\n const { isConnected } = useAccount();\n\n if (!isProxyAvailable) return undefined;\n\n return (\n \n );\n};\n","export * from './ProxiedAccount';\nexport * from './ProxySwitch';\n","import { useMantineTheme } from '@mantine/core';\nimport { ActionButton, ActionButtonProps } from 'components/ActionButton';\nimport { OffsiteLink } from 'components/OffsiteLink';\nimport { useIsDarkMode } from 'hooks/useIsDarkMode';\nimport { useVoteDelegationUrls } from 'hooks/useVoteDelegationUrls';\nimport { useTranslation } from 'next-i18next';\n\nexport function DelegateVotes(props: ActionButtonProps) {\n const { t } = useTranslation();\n const { other, black } = useMantineTheme();\n const { delegationUrl } = useVoteDelegationUrls();\n const isDark = useIsDarkMode();\n\n if (!delegationUrl) {\n return undefined;\n }\n\n return (\n \n \n \n );\n}\n","export { DelegateVotes } from './DelegateVotes';\n","import { RingProgress, Tooltip } from '@mantine/core';\nimport { useTrack } from 'hooks/queries/useTracks';\nimport { useProgressBarData } from 'hooks/useProgressBarData';\nimport { useTranslation } from 'next-i18next';\nimport { ReferendumStatus } from 'types/governance';\nimport { ProposalInformation } from 'types/governance/proposalInformation';\nimport { getReferendumStatusColor } from 'utils/theme';\n\ninterface Props {\n referendum: ProposalInformation;\n}\n\nexport const RING_SIZE = 27;\n\nexport const ProposalTimeProgress = ({ referendum }: Props) => {\n const { t } = useTranslation('governance');\n const track = useTrack(referendum?.origin);\n\n const { percentage, remainingTime } = useProgressBarData({\n initialBlock: referendum.latestBlock,\n finalBlock: track?.decisionPeriod,\n });\n\n return (\n \n \n \n );\n};\n","export * from './ProposalTimeProgress';\n","import { Group, Tooltip } from '@mantine/core';\nimport { PassingOrFailingLabel } from 'components/PassingOrFailingLabel';\nimport {\n ProposalTimeProgress,\n RING_SIZE,\n} from 'components/ProposalTimeProgress';\nimport { VotesProgressBar } from 'components/VotesProgressBar';\nimport { VoteFunctionIcon } from 'components/pages/referendum/VoteInfo/VoteFunctionIcon';\nimport { useVoteForProposalAndAddress } from 'hooks/queries/open-gov/useVoteForProposalAndAddress';\nimport { useIsMounted } from 'hooks/useIsMounted';\nimport { useTranslation } from 'next-i18next';\nimport { ReferendumStatus } from 'types/governance';\nimport { ProposalInformation } from 'types/governance/proposalInformation';\n\ninterface Props {\n info: ProposalInformation;\n}\n\nexport const Snippet = ({ info }: Props) => {\n const { t } = useTranslation('governance');\n const vote = useVoteForProposalAndAddress(info);\n const hasVote = vote && Object.keys(vote).length;\n const isMounted = useIsMounted();\n\n if (!isMounted) return null;\n\n return (\n \n {hasVote && (\n \n
\n \n
\n \n )}\n \n \n {info.status === ReferendumStatus.DECIDING && (\n \n )}\n
\n );\n};\n","import { ActionIcon, Group, Stack, Table, Text } from '@mantine/core';\nimport { Avatar } from 'components/Avatar';\nimport { Snippet } from 'components/pages/open-gov/Referenda/Snippet';\nimport { StatusBadge } from 'components/pages/referendum';\nimport { useIdentity } from 'hooks/queries/useIdentities';\nimport { useRouteLink } from 'hooks/router/useRouteLink';\nimport { useBlockTimestampElapsedTime } from 'hooks/useBlockTime';\nimport { useTranslation } from 'next-i18next';\nimport { useRouter } from 'next/router';\nimport { IoChevronForward } from 'react-icons/io5';\nimport { ProposalInformation } from 'types/governance/proposalInformation';\nimport { candidateDisplay, sliceEllipsis } from 'utils/text';\n\nexport const rowHeight = 73;\n\ninterface Props {\n info: ProposalInformation;\n isOverview: boolean;\n}\n\nexport const ReferendumRow = ({ info, isOverview }: Props) => {\n const { t } = useTranslation('governance');\n const { locale = 'en' } = useRouter();\n const router = useRouter();\n\n const { fullPath: referendumDetailPath } = useRouteLink(\n `referendum/${info.index}`,\n );\n const identity = useIdentity(info?.proposer?.address);\n const proposeTime = useBlockTimestampElapsedTime(info.proposeTime);\n\n const summary =\n info?.title ||\n info.polkassemblyTitle ||\n info?.description ||\n info?.polkassemblyDescription ||\n t('untitled');\n\n return (\n router.push(referendumDetailPath)}\n >\n \n {`#${info.index}`}\n \n \n \n \n {info.proposeTime &&\n new Date(info.proposeTime * 1000).toLocaleString(locale)}\n \n {proposeTime}\n \n \n \n \n {sliceEllipsis(summary, 50, 0)}\n {info.active && }\n \n \n \n \n \n {candidateDisplay(identity, info?.proposer?.address)}\n \n \n \n \n \n \n \n {isOverview && (\n \n \n {(info?.origin && t(info?.origin)) || ''}\n {`[${info.trackId}]`}\n \n \n )}\n \n \n \n \n \n \n );\n};\n","import {\n PalletConvictionVotingVoteAccountVote,\n PalletConvictionVotingVoteVoting,\n} from '@polkadot/types/lookup';\nimport { useAddress } from 'hooks/useAddress';\nimport { useApi } from 'hooks/useApi';\nimport { useApiCall } from 'hooks/useApiCall';\nimport { ProposalInformation } from 'types/governance/proposalInformation';\nimport { ConvictionLabel, VoteFunctions } from 'types/governance/voting';\nimport { getConvictionLabel } from 'utils/governance';\n\nexport interface DetailedVoteInfo {\n voteFunction?: VoteFunctions;\n standardInfo?: StandardVoteInfo;\n splitInfo?: SplitVoteInfo;\n abstainInfo?: AbstainVoteInfo;\n}\n\ninterface StandardVoteInfo {\n decision?: VoteFunctions.VOTE_YES | VoteFunctions.VOTE_NO;\n conviction: ConvictionLabel;\n amount: bigint;\n}\n\ninterface SplitVoteInfo {\n ayeAmount: bigint;\n nayAmount: bigint;\n}\n\ninterface AbstainVoteInfo extends SplitVoteInfo {\n amount: bigint;\n}\n\ntype DetailedVoteInfoPerProposal = Map;\n\nfunction extractStandardVoteInfo(\n voteData: PalletConvictionVotingVoteAccountVote,\n): StandardVoteInfo | undefined {\n if (voteData.isStandard) {\n const { vote, balance } = voteData.asStandard;\n\n return {\n amount: balance.toBigInt(),\n conviction: getConvictionLabel(vote.conviction),\n decision: vote.isAye\n ? VoteFunctions.VOTE_YES\n : vote.isNay\n ? VoteFunctions.VOTE_NO\n : undefined,\n };\n }\n\n return undefined;\n}\n\nfunction extractSplitVoteInfo(\n voteData: PalletConvictionVotingVoteAccountVote,\n): SplitVoteInfo | undefined {\n if (voteData.isSplit) {\n const { nay, aye } = voteData.asSplit;\n\n return {\n ayeAmount: aye.toBigInt(),\n nayAmount: nay.toBigInt(),\n };\n }\n\n return undefined;\n}\n\nfunction extractAbstainVoteInfo(\n voteData: PalletConvictionVotingVoteAccountVote,\n): AbstainVoteInfo | undefined {\n if (voteData.isSplitAbstain) {\n const { nay, aye, abstain } = voteData.asSplitAbstain;\n\n return {\n amount: abstain.toBigInt(),\n ayeAmount: aye.toBigInt(),\n nayAmount: nay.toBigInt(),\n };\n }\n\n return undefined;\n}\n\nfunction transformVotesForTrackAndAddress(\n data: PalletConvictionVotingVoteVoting | undefined,\n): DetailedVoteInfoPerProposal {\n const votesByProposalId: DetailedVoteInfoPerProposal = new Map();\n\n if (data?.isCasting) {\n data.asCasting.votes.map(([proposalId, voteData]) => {\n const standardInfo = extractStandardVoteInfo(voteData);\n\n const voteFunction = voteData.isSplitAbstain\n ? VoteFunctions.VOTE_ABSTAIN\n : voteData.isSplit\n ? VoteFunctions.VOTE_SPLIT\n : standardInfo?.decision;\n\n votesByProposalId.set(proposalId.toNumber(), {\n voteFunction,\n standardInfo,\n splitInfo: extractSplitVoteInfo(voteData),\n abstainInfo: extractAbstainVoteInfo(voteData),\n });\n });\n }\n\n return votesByProposalId;\n}\n\nexport function useVotesForTrackAndAddress(\n proposal: ProposalInformation | undefined,\n address?: string,\n): DetailedVoteInfoPerProposal | undefined {\n const api = useApi();\n const walletAddress = useAddress();\n const addressToUse = address || walletAddress;\n\n return useApiCall(\n api?.query.convictionVoting.votingFor,\n [addressToUse, proposal?.trackId],\n transformVotesForTrackAndAddress,\n );\n}\n","import {\n DetailedVoteInfo,\n useVotesForTrackAndAddress,\n} from 'hooks/queries/open-gov/useVotesForTrackAndAddress';\nimport { useProxiedOrAddress } from 'hooks/useProxiedOrAddress';\nimport { useMemo } from 'react';\nimport { ProposalInformation } from 'types/governance/proposalInformation';\n\nexport function useVoteForProposalAndAddress(\n proposal: ProposalInformation | undefined,\n): DetailedVoteInfo | undefined {\n const address = useProxiedOrAddress();\n const votesByProposal = useVotesForTrackAndAddress(proposal, address);\n\n return useMemo(\n () =>\n votesByProposal\n ? votesByProposal.get(proposal?.index || 0) || {}\n : undefined,\n [proposal?.index, votesByProposal],\n );\n}\n","import { StorageKey, Vec, u128 } from '@polkadot/types';\nimport { PalletProxyProxyDefinition } from '@polkadot/types/lookup';\nimport { ITuple } from '@polkadot/types/types';\nimport { useApi } from 'hooks/useApi';\nimport { useMoonChain } from 'hooks/useMoonChainConfig';\n\nimport { AccountId20 } from '@polkadot/types/interfaces';\nimport { UseQueryResult, useQuery } from '@tanstack/react-query';\nimport { ProxyType } from 'services/contracts/Proxy/constants';\n\nexport type ProxiedAccount = { address: string; proxyType: ProxyType };\ntype ProxiesEntriesIndexed = Record;\n\nfunction transform(\n entries:\n | [\n StorageKey<[AccountId20]>,\n ITuple<[Vec, u128]>,\n ][]\n | [][] = [],\n): ProxiesEntriesIndexed {\n const result: ProxiesEntriesIndexed = {};\n\n entries.forEach((entry = []) => {\n if (!entry.length) return;\n\n entry[1]?.[0]?.forEach(({ delegate, delay, proxyType: type }) => {\n const address = entry[0]?.args[0].toString();\n const proxyType = type.toString() as ProxyType;\n const delayed = delay.toNumber();\n const delegated = delegate.toString();\n\n if (!result[delegated]) {\n result[delegated] = [];\n }\n\n if (!delayed && address) {\n result[delegated].push({ address, proxyType });\n }\n });\n });\n\n return result;\n}\n\nexport function useAllProxies(\n enabled = true,\n): UseQueryResult {\n const api = useApi();\n const { key } = useMoonChain();\n\n return useQuery({\n queryKey: ['all-proxies', key],\n queryFn: async () => {\n const res = await api?.query.proxy.proxies.entries();\n\n return res ? transform(res) : undefined;\n },\n enabled: !!api && enabled,\n });\n}\n","import {\n ProxiedAccount,\n useAllProxies,\n} from 'hooks/queries/proxy/useAllProxies';\nimport { useMemo } from 'react';\nimport { ProxyType } from 'services/contracts/Proxy/constants';\n\nconst whitelist = [ProxyType.Any, ProxyType.NonTransfer];\n\nexport function useProxiedAccounts(\n address?: string,\n proxyType?: ProxyType,\n): {\n accounts: ProxiedAccount[] | undefined;\n isLoading: boolean;\n} {\n const { data: allProxies, isLoading } = useAllProxies(!!address);\n\n const accounts = useMemo(() => {\n if (!allProxies || !address) return;\n\n if (!allProxies?.[address]) {\n return [];\n }\n\n if (proxyType) {\n return allProxies[address].filter((proxy) =>\n isProxyTypeNeeded(proxyType, proxy.proxyType),\n );\n }\n\n return allProxies[address];\n }, [allProxies, address, proxyType]);\n\n return {\n accounts,\n isLoading: isLoading || (!!address && !isLoading && !accounts),\n };\n}\n\nfunction isProxyTypeNeeded(\n proxyToLook: ProxyType,\n currentProxyType: ProxyType,\n): boolean {\n return (\n proxyToLook === currentProxyType || whitelist.includes(currentProxyType)\n );\n}\n","import { useFeatureByChain } from 'hooks/flags/useFeatureByChain';\n\nexport function useVoteDelegationBaseUrlFlag(): string | undefined {\n return useFeatureByChain('vote_delegation_base_url');\n}\n","import { useVoteDelegationBaseUrlFlag } from 'hooks/flags/useVoteDelegationBaseUrlFlag';\n\ninterface VoteDelegationUrls {\n delegationUrl?: string;\n delegateAddressUrl?: string;\n}\n\nexport function useVoteDelegationUrls(): VoteDelegationUrls {\n const baseUrl = useVoteDelegationBaseUrlFlag();\n\n return {\n delegationUrl: baseUrl ? `${baseUrl}/delegate-tokens` : undefined,\n delegateAddressUrl: baseUrl\n ? `${baseUrl}/profile/{{address}}#statement`\n : undefined,\n };\n}\n","export const ABI = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: 'uint256',\n name: 'index',\n type: 'uint256',\n },\n ],\n name: 'SubcallFailed',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: 'uint256',\n name: 'index',\n type: 'uint256',\n },\n ],\n name: 'SubcallSucceeded',\n type: 'event',\n },\n {\n inputs: [\n {\n internalType: 'address[]',\n name: 'to',\n type: 'address[]',\n },\n {\n internalType: 'uint256[]',\n name: 'value',\n type: 'uint256[]',\n },\n {\n internalType: 'bytes[]',\n name: 'callData',\n type: 'bytes[]',\n },\n {\n internalType: 'uint64[]',\n name: 'gasLimit',\n type: 'uint64[]',\n },\n ],\n name: 'batchAll',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address[]',\n name: 'to',\n type: 'address[]',\n },\n {\n internalType: 'uint256[]',\n name: 'value',\n type: 'uint256[]',\n },\n {\n internalType: 'bytes[]',\n name: 'callData',\n type: 'bytes[]',\n },\n {\n internalType: 'uint64[]',\n name: 'gasLimit',\n type: 'uint64[]',\n },\n ],\n name: 'batchSome',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address[]',\n name: 'to',\n type: 'address[]',\n },\n {\n internalType: 'uint256[]',\n name: 'value',\n type: 'uint256[]',\n },\n {\n internalType: 'bytes[]',\n name: 'callData',\n type: 'bytes[]',\n },\n {\n internalType: 'uint64[]',\n name: 'gasLimit',\n type: 'uint64[]',\n },\n ],\n name: 'batchSomeUntilFailure',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n] as const;\n","import { ABI } from './BatchABI';\n\nexport const BATCH_CONTRACT_ADDRESS =\n '0x0000000000000000000000000000000000000808';\n\nexport const BatchContractABI = ABI;\n","import { Box, Group, Loader, Table, Text } from '@mantine/core';\nimport { NoRecordsFound } from 'components/NoRecordsFound';\nimport {\n ReferendumRow,\n rowHeight,\n} from 'components/pages/open-gov/Referenda/ReferendumRow';\nimport commonClasses from 'lib/styles/common.module.css';\nimport { useTranslation } from 'next-i18next';\nimport { useMemo } from 'react';\nimport { ProposalInformation } from 'types/governance/proposalInformation';\n\ninterface Props {\n referenda?: ProposalInformation[];\n activePage: number;\n recordsPerPage: number | undefined;\n cardWidth: string | number;\n isOverview: boolean;\n}\n\nconst headerHeight = 44;\n\nexport const ReferendaTable = ({\n referenda,\n activePage,\n recordsPerPage = 0,\n cardWidth,\n isOverview,\n}: Props) => {\n const { t } = useTranslation('governance');\n\n const rows = useMemo(() => {\n return referenda\n ?.slice((activePage - 1) * recordsPerPage, activePage * recordsPerPage)\n .map((referendum, i) => (\n \n ));\n }, [referenda, activePage, recordsPerPage, isOverview]);\n\n return (\n \n {!referenda ? (\n \n \n \n ) : !referenda.length ? (\n \n ) : (\n \n \n \n \n {t('index')}\n \n {t('proposeTime')}\n {t('summary')}\n {t('proposer')}\n {t('status')}\n {isOverview && {t('origin')}}\n \n \n \n {rows}\n \n )}\n \n );\n};\n","import {\n Badge,\n Combobox,\n Group,\n InputBase,\n Text,\n useCombobox,\n} from '@mantine/core';\nimport { defaultTabFilter } from 'components/pages/open-gov/Referenda/Referenda';\nimport { useTranslation } from 'next-i18next';\nimport { Dispatch, SetStateAction, useMemo } from 'react';\nimport { ReferendumStatus } from 'types/governance';\nimport { getReferendumStatusColor } from 'utils/theme';\n\ninterface Props {\n statusFilter: string;\n setStatusFilter: Dispatch>;\n}\n\nexport const StatusSelector = ({ statusFilter, setStatusFilter }: Props) => {\n const { t } = useTranslation();\n const combobox = useCombobox({\n onDropdownClose: () => combobox.resetSelectedOption(),\n });\n\n const statusColor = getReferendumStatusColor(\n statusFilter as ReferendumStatus,\n );\n const data = useMemo(\n () =>\n [defaultTabFilter, ...Object.keys(ReferendumStatus)].map((key) => {\n const value =\n key === defaultTabFilter\n ? defaultTabFilter\n : ReferendumStatus[key as keyof typeof ReferendumStatus];\n\n return {\n value,\n label: t(`governance:${value}`),\n };\n }),\n [t],\n );\n\n const options = useMemo(\n () =>\n data.map(({ value, label }) => {\n const color = getReferendumStatusColor(value as ReferendumStatus);\n\n return (\n \n \n {color && (\n \n )}\n {label || t('all')}\n \n \n );\n }),\n [data, t],\n );\n\n return (\n {\n setStatusFilter(value as string);\n combobox.closeDropdown();\n }}\n >\n \n }\n onClick={() => combobox.toggleDropdown()}\n leftSection={\n statusColor && (\n \n )\n }\n >\n {t(`governance:${statusFilter}`)}\n \n \n\n \n {options}\n \n \n );\n};\n","import { defaultTabFilter } from 'components/pages/open-gov/Referenda';\nimport { useTracks } from 'hooks/queries/useTracks';\nimport { useMoonChainKeyParam } from 'hooks/useMoonChainParam';\nimport { api } from 'lib/trpc/react';\nimport { useMemo } from 'react';\nimport { FIVE_MIN_IN_MILLISECONDS } from 'server/api/trpc.constants';\nimport { ReferendumStatus } from 'types/governance';\nimport { ProposalInformation } from 'types/governance/proposalInformation';\n\ninterface ReferendumInfoResponse {\n referendaByStatus: Map<\n ReferendaStatusFilter,\n ProposalInformation[] | undefined\n >;\n referendaByTracks: Map;\n hasFailed: boolean;\n isLoading: boolean;\n error: string | null;\n}\n\ntype ReferendaStatusFilter = ReferendumStatus | 'all';\n\nexport type DateFilter = [Date | null, Date | null];\n\nfunction filterReferendaList(\n referenda: ProposalInformation[] | undefined,\n statusFilter?: string,\n dateFilter?: DateFilter,\n proposerFilter?: string,\n activeFilter?: boolean,\n): ProposalInformation[] | undefined {\n return referenda\n ?.filter((x) => (activeFilter ? x.active : x))\n ?.filter((x) =>\n // biome-ignore lint/suspicious/noDoubleEquals: \n statusFilter != defaultTabFilter ? x.status === statusFilter : x,\n )\n .filter((x) => {\n const dateFrom = dateFilter?.[0] ? dateFilter[0].getTime() : null;\n const dateTo = dateFilter?.[1]\n ? dateFilter[1].getTime() + 86399 * 1000 // workaround for Mantine bug which considers start of the day\n : null;\n\n const proposeTime = (x?.proposeTime || 0) * 1000;\n\n return dateFrom && dateTo\n ? proposeTime >= dateFrom && proposeTime <= dateTo\n : x;\n })\n .filter((x) =>\n proposerFilter\n ? x?.proposer?.display\n ?.toLowerCase()\n .includes(proposerFilter.toLowerCase()) ||\n x?.proposer?.address\n .toLowerCase()\n .includes(proposerFilter.toLowerCase())\n : x,\n );\n}\n\nexport function useReferenda(\n track: string | undefined,\n statusFilter?: string,\n dateFilter?: DateFilter,\n proposerFilter?: string,\n activeFilter?: boolean,\n): ReferendumInfoResponse {\n const tracks = useTracks();\n\n const moonChainKey = useMoonChainKeyParam();\n\n const { data, isLoading, error, isError } =\n api.openGov.referendaDescriptionListByChain.useQuery(\n {\n moonChainKey,\n },\n { enabled: !!moonChainKey, staleTime: FIVE_MIN_IN_MILLISECONDS },\n );\n\n const filteredByTrack = useMemo(() => {\n const trackId = track ? tracks?.get(track)?.id : undefined;\n\n // track root has id 0, so we need to check for undefined\n if (trackId !== undefined) {\n return data?.filter((referendum) => referendum.trackId === trackId);\n }\n\n return data;\n }, [track, data, tracks]);\n\n const filteredReferenda = useMemo(\n () =>\n filterReferendaList(\n filteredByTrack,\n statusFilter,\n dateFilter,\n proposerFilter,\n activeFilter,\n ),\n [filteredByTrack, statusFilter, dateFilter, proposerFilter, activeFilter],\n );\n\n const referendaByStatus = useMemo(() => {\n const filtered = Object.values(ReferendumStatus).map<\n [ReferendumStatus, ProposalInformation[] | undefined]\n >((status) => [\n status,\n filteredReferenda?.filter((referendum) => referendum.status === status),\n ]);\n\n return new Map([\n [defaultTabFilter, filteredReferenda],\n ...filtered,\n ]);\n }, [filteredReferenda]);\n\n const referendaByTracks = useMemo(() => {\n if (!tracks) {\n return new Map();\n }\n\n const filtered: [string, ProposalInformation[] | undefined][] = Array.from(\n tracks,\n ([name, info]) => [\n name,\n filteredReferenda?.filter(\n (referendum) => referendum.trackId === info.id,\n ),\n ],\n );\n\n return new Map([\n [defaultTabFilter, filteredReferenda],\n ...filtered,\n ]);\n }, [filteredReferenda, tracks]);\n\n return {\n referendaByStatus,\n referendaByTracks,\n hasFailed: isError,\n isLoading,\n error: error?.message ?? null,\n };\n}\n","import {\n Box,\n Card,\n Checkbox,\n CloseButton,\n Group,\n Stack,\n Tabs,\n Text,\n TextInput,\n} from '@mantine/core';\nimport { DatePickerInput } from '@mantine/dates';\nimport {\n useDebouncedValue,\n useLocalStorage,\n useViewportSize,\n} from '@mantine/hooks';\nimport { Pagination } from 'components/Pagination';\nimport { ReferendaTable } from 'components/pages/open-gov/Referenda/ReferendaTable';\nimport { StatusSelector } from 'components/pages/open-gov/Referenda/StatusSelector';\nimport { useTracks } from 'hooks/queries/useTracks';\nimport { DateFilter, useReferenda } from 'hooks/services/api/useReferenda';\nimport { useTranslation } from 'next-i18next';\nimport { useEffect, useRef, useState } from 'react';\nimport { ReferendumStatus } from 'types/governance';\nimport { trackIconsMap } from 'utils/theme';\n\ninterface Props {\n track?: string;\n isOverview: boolean;\n}\n\nexport const defaultTabFilter = 'all';\n\nexport const Referenda = ({ track, isOverview }: Props) => {\n const { t } = useTranslation();\n const [activePage, setActivePage] = useState(1);\n const [statusFilter, setStatusFilter] = useState(defaultTabFilter);\n const [dateFilter, setDateFilter] = useState([null, null]);\n const [proposerFilter, setProposerFilter] = useState('');\n const [activeFilter, setActiveFilter] = useLocalStorage({\n defaultValue: false,\n key: 'active-proposals-filter',\n });\n const [debouncedProposedFilter] = useDebouncedValue(proposerFilter, 400);\n const [recordsPerPage, setRecordsPerPage] = useLocalStorage({\n defaultValue: 10,\n key: 'referenda_records_per_page',\n });\n const [tabFilter, setTabFilter] = useState(defaultTabFilter);\n const ref = useRef(null);\n const { width } = useViewportSize();\n const [cardWidth, setCardWith] = useState('100%');\n const { referendaByStatus, referendaByTracks, hasFailed } = useReferenda(\n track,\n statusFilter,\n dateFilter,\n debouncedProposedFilter,\n activeFilter,\n );\n const tracks = useTracks();\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: \n useEffect(() => {\n setStatusFilter(defaultTabFilter);\n setTabFilter(defaultTabFilter);\n }, [track]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: \n useEffect(() => {\n if (ref.current && ref.current['offsetWidth'])\n setCardWith(ref.current['offsetWidth']);\n }, [ref, width]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: \n useEffect(() => {\n setActivePage(1);\n }, [statusFilter, dateFilter, proposerFilter]);\n\n const groupedReferenda = !track ? referendaByTracks : referendaByStatus;\n\n const tabFilters = !track\n ? [\n defaultTabFilter,\n ...Array.from(tracks || [], ([trackName]) => trackName),\n ]\n : [defaultTabFilter, ...Object.values(ReferendumStatus)];\n\n const tabs = tabFilters.map((filter) => {\n const filteredReferenda = groupedReferenda.get(filter);\n\n return (\n \n \n {trackIconsMap.get(filter)}\n \n {t(`governance:${filter}`)}\n \n {filteredReferenda && (\n \n {'('}\n {filteredReferenda.length}\n {')'}\n \n )}\n \n \n );\n });\n\n const panels = tabFilters.map((filter) => (\n \n {hasFailed ? (\n \n {t('connectionError')}\n \n ) : (\n \n )}\n \n ));\n\n return (\n \n \n {\n setActivePage(1);\n setActiveFilter(e.currentTarget.checked);\n }}\n />\n \n \n \n \n {\n setActivePage(1);\n setTabFilter(value as string);\n }}\n >\n {tabs}\n \n \n \n setProposerFilter(event.currentTarget.value)\n }\n rightSection={\n setProposerFilter('')} />\n }\n />\n \n \n \n \n {panels}\n \n \n \n \n );\n};\n","export * from './Referenda';\n","import { useMoonChainKeyParam } from 'hooks/useMoonChainParam';\nimport { api } from 'lib/trpc/react';\nimport { FIVE_MIN_IN_MILLISECONDS } from 'server/api/trpc.constants';\n\ninterface VoteCountResponse {\n totalVotes: number;\n hasFailed: boolean;\n}\n\nexport function useVoteCount(referendumIds?: number[]): VoteCountResponse {\n const moonChainKey = useMoonChainKeyParam();\n\n const { data, isError } =\n api.openGov.proposalVotesCountByChainAndIDs.useQuery(\n {\n moonChainKey,\n referendumIDs: referendumIds || [],\n valid: true, // we only want to count valid votes\n },\n {\n enabled: !!moonChainKey && !!referendumIds,\n staleTime: FIVE_MIN_IN_MILLISECONDS,\n },\n );\n\n return { totalVotes: data?.total as number, hasFailed: isError };\n}\n","import { Badge, Card, Group, Stack, Text } from '@mantine/core';\nimport { useVoteCount } from 'hooks/queries/open-gov/useVoteCount';\nimport { TrackInfo } from 'hooks/queries/useTracks';\nimport { useThemeColors } from 'hooks/useThemeColors';\nimport { useTranslation } from 'next-i18next';\n\ninterface Props {\n trackInfo: TrackInfo;\n color: string;\n referendumIds?: number[];\n}\n\nexport const LegendCard = ({ trackInfo, color, referendumIds }: Props) => {\n const { t } = useTranslation('governance');\n const { totalVotes, hasFailed } = useVoteCount(referendumIds);\n const { themeColors } = useThemeColors();\n\n return (\n \n \n \n \n {t(trackInfo.name)}\n \n {t('ongoingCount', { count: referendumIds?.length || 0 })}\n {referendumIds?.length &&\n !hasFailed &&\n t('ongoingVoteCount', { count: totalVotes })}\n \n \n \n \n );\n};\n","import { ArcElement, Chart, Plugin, Tooltip } from 'chart.js';\nimport { useThemeColors } from 'hooks/useThemeColors';\nimport { useEffect } from 'react';\nimport { Doughnut } from 'react-chartjs-2';\n\nChart.register(ArcElement, Tooltip);\n\ninterface Props {\n centerLabel: string;\n chartData: ChartData;\n}\n\nexport interface ChartData {\n colors: string[];\n labels: string[];\n referendaCounts: number[];\n}\n\nexport const ReferendaChart = ({\n centerLabel,\n chartData: { colors, labels, referendaCounts },\n}: Props) => {\n const {\n themeColors: { whiteDark, secondaryTexts },\n } = useThemeColors();\n\n useEffect(() => {\n Chart.register(ArcElement);\n }, []);\n\n const data = {\n labels: labels,\n datasets: [\n {\n label: 'Total referenda',\n data: referendaCounts,\n backgroundColor: colors,\n borderWidth: 5,\n borderColor: whiteDark,\n },\n ],\n };\n\n const plugins: Plugin<'doughnut', object>[] | undefined = [\n {\n id: 'total',\n beforeDraw: function (chart) {\n const width = chart.width;\n const height = chart.height;\n const ctx = chart.ctx;\n\n ctx.restore();\n const fontSize = (height / 200).toFixed(2);\n\n ctx.font = fontSize + 'em sans-serif';\n ctx.fillStyle = secondaryTexts;\n ctx.textBaseline = 'top';\n const text = centerLabel;\n const textX = Math.round((width - ctx.measureText(text).width) / 2);\n const textY = height / 2 - 10;\n\n ctx.fillText(text, textX, textY);\n ctx.save();\n },\n },\n ];\n\n const options = {\n plugins: {\n legend: {\n display: false,\n },\n },\n cutout: 100,\n };\n\n return (\n
\n \n
\n );\n};\n","import { StorageKey } from '@polkadot/types';\nimport { PalletReferendaReferendumInfo } from '@polkadot/types/lookup';\nimport { useApi } from 'hooks/useApi';\nimport { useApiCall } from 'hooks/useApiCall';\nimport { useMemo } from 'react';\n\nfunction transformOngoingReferendaIds(\n data: [StorageKey, PalletReferendaReferendumInfo][],\n): Record {\n const ongoingIdsByTrack: Record = {};\n\n data?.forEach(([idHash, info]) => {\n if (info.isOngoing) {\n const id = Number((idHash.toHuman() as number[])[0]);\n const trackId = info.asOngoing.track.toNumber();\n\n if (ongoingIdsByTrack[trackId]) {\n ongoingIdsByTrack[trackId].push(id);\n } else {\n ongoingIdsByTrack[trackId] = [id];\n }\n }\n });\n\n return ongoingIdsByTrack;\n}\n\ninterface OngoingReferendaIds {\n total?: number;\n ongoingIdsByTrack?: Record;\n}\n\nexport function useOngoingReferendaIds(): OngoingReferendaIds {\n const api = useApi();\n\n const ongoingIdsByTrack = useApiCall(\n api?.query.referenda.referendumInfoFor.entries,\n [],\n transformOngoingReferendaIds,\n );\n\n const total = useMemo(\n () =>\n Object.values(ongoingIdsByTrack || {}).reduce(\n (acc, arr) => acc + arr.length,\n 0,\n ),\n [ongoingIdsByTrack],\n );\n\n return { total, ongoingIdsByTrack };\n}\n","import { useMoonChain } from 'hooks/useMoonChainConfig';\nimport { api } from 'lib/trpc/react';\nimport { useMemo } from 'react';\nimport { SubscanReferendaStatistics } from 'services/subscan';\n\nexport interface ReferendaStatistics {\n referendaCount: number;\n referendaCountByTrack: Map;\n votingTotal: number;\n}\n\nfunction transformReferendaStatistics(\n data: SubscanReferendaStatistics,\n): ReferendaStatistics {\n const referendaCountByTrack = new Map(\n data.origins?.map((origin) => [origin.Origins, origin.Count]),\n );\n\n return {\n referendaCount: data.OriginsCount,\n votingTotal: data.voting_total,\n referendaCountByTrack,\n };\n}\n\ninterface ReferendumInfoResponse {\n statistics?: ReferendaStatistics;\n hasFailed: boolean;\n isLoading: boolean;\n}\n\nexport function useReferendaStatistics(): ReferendumInfoResponse {\n const { key } = useMoonChain();\n\n const { data, isError, isLoading } =\n api.openGov.getReferendaStatistics.useQuery(\n {\n moonChainKey: key,\n },\n {\n enabled: !!key,\n staleTime: 30000,\n },\n );\n\n const transformedData = useMemo(\n () => (data ? transformReferendaStatistics(data) : undefined),\n [data],\n );\n\n return { statistics: transformedData, hasFailed: isError, isLoading };\n}\n","import {\n Card,\n Center,\n Grid,\n Stack,\n Text,\n Title,\n useMantineTheme,\n} from '@mantine/core';\nimport { useResizeObserver } from '@mantine/hooks';\nimport { LegendCard } from 'components/pages/open-gov/StatsPanel/LegendCard';\nimport { ReferendaChart } from 'components/pages/open-gov/StatsPanel/ReferendaChart';\nimport { useOngoingReferendaIds } from 'hooks/queries/open-gov/useOngoingReferendaIds';\nimport { useReferendaStatistics } from 'hooks/queries/open-gov/useReferendaStatistics';\nimport { useTracks } from 'hooks/queries/useTracks';\nimport { useIsMounted } from 'hooks/useIsMounted';\nimport { useTranslation } from 'next-i18next';\nimport { buildReferendaChartData } from 'utils/charts';\n\ninterface Props {\n total?: number;\n}\n\nexport const AllProposals = ({ total }: Props) => {\n const { t } = useTranslation();\n const tracks = useTracks();\n const { ongoingIdsByTrack } = useOngoingReferendaIds();\n const { statistics, hasFailed } = useReferendaStatistics();\n const {\n colors: { referendaChart },\n } = useMantineTheme();\n const [ref, rect] = useResizeObserver();\n const isMounted = useIsMounted();\n\n const chartData = buildReferendaChartData(\n tracks,\n statistics,\n referendaChart,\n t,\n );\n\n const cardsSpan = rect.width > 532 ? 5 : 12;\n\n const centerLabel = t('governance:totalProposals', { total });\n\n return (\n \n \n {t('governance:allProposals')}\n \n\n \n \n \n {tracks &&\n Array.from(tracks, ([track, info], index) => (\n \n ))}\n \n \n \n {isMounted && (\n
\n {hasFailed ? (\n {t('connectionError')}\n ) : (\n total !== undefined && (\n \n )\n )}\n
\n )}\n
\n
\n
\n );\n};\n","import { Card, Group, Stack, Text, ThemeIcon } from '@mantine/core';\nimport { ReactNode } from 'react';\nimport { IoInformationCircleOutline } from 'react-icons/io5';\n\ninterface Props {\n icon: ReactNode;\n title: string;\n subtitle: ReactNode | string;\n showInfoIcon?: boolean;\n}\n\nexport const HeaderCard = ({\n icon,\n title,\n subtitle,\n showInfoIcon = false,\n}: Props) => {\n const isStr = typeof subtitle === 'string';\n const subtitleToRender = isStr ? (\n {subtitle}\n ) : (\n subtitle\n );\n\n return (\n \n \n \n \n {icon}\n \n \n {title}\n {subtitleToRender}\n \n \n {showInfoIcon && }\n \n \n );\n};\n","import { List, Text } from '@mantine/core';\nimport { LocksDetails } from 'hooks/queries/useReferendaLocks';\nimport { Tracks } from 'hooks/queries/useTracks';\nimport { useMoonChain } from 'hooks/useMoonChainConfig';\nimport { useMoonChainToDecimals } from 'hooks/useToDecimal';\nimport { useTranslation } from 'next-i18next';\nimport {\n getLockedFundsSummaryForDelegation,\n getLockedFundsSummaryForVote,\n getTrackByNumericId,\n} from 'utils/governance';\n\ninterface Props {\n trackId: string;\n trackLocks: LocksDetails;\n tracks: Tracks | undefined;\n latestBlock: number | undefined;\n}\n\nexport const LockedFundsSummaryForTrack = ({\n trackId,\n trackLocks,\n tracks,\n latestBlock,\n}: Props) => {\n const { t } = useTranslation('governance');\n const { nativeAsset: asset, decimals } = useMoonChain();\n const { lockedAmount, votes, delegation, unlockableAmount } = trackLocks;\n const lockedAmountString = `${useMoonChainToDecimals(lockedAmount)} ${asset.originSymbol}`;\n const unlockableAmountString = `${useMoonChainToDecimals(unlockableAmount)} ${asset.originSymbol}`;\n const track = getTrackByNumericId(tracks, Number(trackId));\n const symbol = asset.originSymbol;\n\n if (!track) return null;\n\n return (\n \n \n {t('lockSummary.lockedForTrack', {\n track: t(track.name),\n amount: lockedAmountString,\n })}\n {unlockableAmount > 0n &&\n t('lockSummary.readyToBeUnlocked', {\n amount: unlockableAmountString,\n })}\n \n {votes.map((vote, index) => (\n \n {getLockedFundsSummaryForVote({\n t,\n vote,\n latestBlock,\n decimals,\n symbol,\n })}\n \n ))}\n {delegation && (\n \n {getLockedFundsSummaryForDelegation({\n t,\n decimals,\n symbol,\n delegation,\n })}\n \n )}\n \n );\n};\n","import { Vec, u16, u32, u128 } from '@polkadot/types';\nimport {\n PalletConvictionVotingVoteAccountVote,\n PalletConvictionVotingVoteDelegating,\n PalletConvictionVotingVotePriorLock,\n PalletConvictionVotingVoteVoting,\n PalletReferendaReferendumInfoConvictionVotingTally,\n} from '@polkadot/types/lookup';\nimport { ITuple } from '@polkadot/types/types';\nimport { useLatestBlock } from 'hooks/queries/useLatestBlock';\nimport { useApi } from 'hooks/useApi';\nimport { useApiCall } from 'hooks/useApiCall';\nimport { useProxiedOrAddress } from 'hooks/useProxiedOrAddress';\nimport { useMemo } from 'react';\nimport {\n extractReferendumIds,\n getBalanceAndConviction,\n getDetailedLocks,\n} from 'utils/governance';\nimport { Address } from 'viem';\n\ntype TrackId = string;\ntype ReferendumId = string;\n\nexport interface Vote {\n referendumId: ReferendumId;\n conviction: number;\n balance: bigint;\n endBlock?: number;\n}\n\nexport interface Delegation {\n conviction: number;\n balance: bigint;\n address: Address;\n}\n\nexport type TrackVotesAndDelegation = Record<\n TrackId,\n {\n votes: Vote[];\n delegation: Delegation | undefined;\n prior: Prior | undefined;\n }\n>;\n\nexport type TrackLocks = Record;\n\nexport interface Prior {\n amount: bigint;\n unlockableAtBlock: number;\n}\n\nexport interface LocksDetails {\n lockedAmount: bigint;\n votes: Vote[];\n unlockableVotes: Vote[];\n unlockableAmount: bigint;\n delegation?: Delegation;\n prior?: Prior;\n}\n\nexport type LockedFundsByTrack = Record;\n\nfunction transformClassLocks(\n locks: [u16, u128][],\n params: Address[],\n): [Address, string][] {\n return locks.map((lock) => [params[0], lock[0].toString()]);\n}\n\nfunction transformLockedByTrack(locks: [u16, u128][]): LockedFundsByTrack {\n return locks.reduce((acc, [track, amount]) => {\n acc[track.toNumber()] = amount.toBigInt();\n\n return acc;\n }, {});\n}\n\nfunction transformVotingFor(\n convictionVoting: PalletConvictionVotingVoteVoting[],\n params: string[][],\n): TrackVotesAndDelegation {\n const votesAndDelegations: TrackVotesAndDelegation = {};\n\n convictionVoting.forEach((vote, index) => {\n const track = params[0][index][1];\n\n const votes = vote.isCasting\n ? transformCastingVotes(vote.asCasting.votes)\n : [];\n const delegation = vote.isDelegating\n ? transformDelegation(vote.asDelegating)\n : undefined;\n const prior = vote.isCasting\n ? transformPrior(vote.asCasting.prior)\n : vote.isDelegating\n ? transformPrior(vote.asDelegating.prior)\n : undefined;\n\n votesAndDelegations[track] = { votes, delegation, prior };\n });\n\n return votesAndDelegations;\n}\n\nfunction transformPrior(\n prior: PalletConvictionVotingVotePriorLock,\n): Prior | undefined {\n const block = prior[0].toNumber();\n const amount = prior[1].toBigInt();\n\n if (block === 0) {\n return undefined;\n }\n\n return { unlockableAtBlock: block, amount };\n}\n\nfunction transformCastingVotes(\n votes: Vec>,\n): Vote[] {\n return votes.map(([referendumId, accountVote]) => {\n const { balance, conviction } = getBalanceAndConviction(accountVote);\n\n return {\n referendumId: referendumId.toString(),\n conviction,\n balance,\n };\n });\n}\n\nfunction transformDelegation(\n delegation: PalletConvictionVotingVoteDelegating,\n): Delegation {\n return {\n balance: delegation.balance.toBigInt(),\n address: delegation.target.toHex(),\n conviction: delegation.conviction.toNumber(),\n };\n}\n\nexport interface ReferendaInfo {\n endBlock: number | undefined;\n aborted: boolean;\n}\n\nfunction transformReferendaInfo(\n referenda: PalletReferendaReferendumInfoConvictionVotingTally[],\n params: string[][],\n): Record {\n const info: Record = {};\n\n referenda.forEach((referendum, index) => {\n let endBlock = undefined;\n let aborted = false;\n\n if (referendum.isKilled) {\n endBlock = referendum.asKilled;\n aborted = true;\n } else if (referendum.isCancelled) {\n endBlock = referendum.asCancelled[0];\n aborted = true;\n } else if (referendum.isTimedOut) {\n endBlock = referendum.asTimedOut[0];\n aborted = true;\n } else if (referendum.isApproved) {\n endBlock = referendum.asApproved[0];\n } else if (referendum.isRejected) {\n endBlock = referendum.asRejected[0];\n }\n\n info[params[0][index]] = {\n endBlock: endBlock ? endBlock.toNumber() : undefined,\n aborted,\n };\n });\n\n return info;\n}\n\nexport function useReferendaLocks(): TrackLocks | undefined {\n const address = useProxiedOrAddress();\n const api = useApi();\n const latestBlock = useLatestBlock();\n const lockPeriod = (\n api?.consts.convictionVoting?.voteLockingPeriod as u32\n )?.toNumber();\n\n const classLocks = useApiCall(\n api?.query.convictionVoting?.classLocksFor,\n [address],\n transformClassLocks,\n );\n\n const votingFor = useApiCall(\n api?.query.convictionVoting?.votingFor.multi,\n [classLocks],\n transformVotingFor,\n );\n\n const lockedByTrack = useApiCall(\n api?.query.convictionVoting?.classLocksFor,\n [address],\n transformLockedByTrack,\n );\n\n const referendaInfoParams = useMemo(\n () => extractReferendumIds(votingFor),\n [votingFor],\n );\n\n const referendaInfo = useApiCall(\n api?.query.referenda?.referendumInfoFor.multi,\n [referendaInfoParams],\n transformReferendaInfo,\n );\n\n return useMemo(() => {\n if (!votingFor || !referendaInfo || !latestBlock) return undefined;\n\n return getDetailedLocks(\n votingFor,\n referendaInfo,\n lockPeriod,\n lockedByTrack,\n latestBlock,\n );\n }, [votingFor, referendaInfo, latestBlock, lockPeriod, lockedByTrack]);\n}\n","import { Box, Tooltip } from '@mantine/core';\nimport { MoonTokenAmount } from 'components/TokenAmount';\nimport { HeaderCard } from 'components/pages/open-gov/StatsPanel/HeaderCard';\nimport { LockedFundsSummaryForTrack } from 'components/pages/open-gov/StatsPanel/LockedFundsSummary/LockedFundsSummaryForTrack';\nimport { useMoonBalances } from 'hooks/queries/balances/useMoonChainBalances';\nimport { useLatestBlock } from 'hooks/queries/useLatestBlock';\nimport { useReferendaLocks } from 'hooks/queries/useReferendaLocks';\nimport { useTracks } from 'hooks/queries/useTracks';\nimport { useProxiedOrAddress } from 'hooks/useProxiedOrAddress';\nimport { useTranslation } from 'next-i18next';\nimport { TfiLock } from 'react-icons/tfi';\n\nexport const LockedFundsSummary = () => {\n const { t } = useTranslation('governance');\n const locks = useReferendaLocks();\n const address = useProxiedOrAddress();\n const balances = useMoonBalances(address);\n const tracks = useTracks();\n const latestBlock = useLatestBlock();\n\n const summaryDisabled = !locks || Object.values(locks).length === 0;\n\n const locksByTracksComponents = [];\n\n for (const trackId in locks) {\n const trackLocks = locks[trackId];\n\n locksByTracksComponents.push(\n ,\n );\n }\n\n return (\n {locksByTracksComponents}}\n position={'right'}\n disabled={summaryDisabled}\n >\n \n }\n title={t('lockedTokens')}\n subtitle={}\n showInfoIcon={!summaryDisabled}\n />\n \n \n );\n};\n","export * from './LockedFundsSummary';\nexport * from './LockedFundsSummaryForTrack';\n","import {\n Box,\n Grid,\n Group,\n Progress,\n Stack,\n Text,\n Tooltip,\n useMantineTheme,\n} from '@mantine/core';\nimport { Avatar } from 'components/Avatar';\nimport { OffsiteLink } from 'components/OffsiteLink';\nimport { MoonTokenAmount } from 'components/TokenAmount';\nimport { useIdentity } from 'hooks/queries/useIdentities';\nimport { useTracks } from 'hooks/queries/useTracks';\nimport { useVoteDelegationUrls } from 'hooks/useVoteDelegationUrls';\nimport { VoteDelegate as VoteDelegateInterface } from 'models/open-gov/votesDelegates/votesDelegates.types';\nimport { useTranslation } from 'next-i18next';\nimport { ReactNode } from 'react';\nimport { calcProgressValue } from 'utils/calc';\nimport { getTrackByNumericId } from 'utils/governance';\nimport { candidateDisplay } from 'utils/text';\nimport { trackIconsMap } from 'utils/theme';\n\ninterface Props {\n index: number;\n voteDelegate: VoteDelegateInterface;\n highestDelegatedAmount?: bigint;\n}\n\nexport const VoteDelegate = ({\n index,\n voteDelegate: { address, delegators, highestDelegated, delegatedByTracks },\n highestDelegatedAmount,\n}: Props) => {\n const { t } = useTranslation('governance');\n const {\n colors: { referendaChart },\n } = useMantineTheme();\n const identity = useIdentity(address);\n const { delegateAddressUrl } = useVoteDelegationUrls();\n const tracks = useTracks();\n\n const percentage = calcProgressValue(\n highestDelegated,\n highestDelegatedAmount,\n );\n const candidateDisplayLabel = candidateDisplay(identity, address, 32);\n\n const tooltipEntries: ReactNode[] = [];\n\n const sortedDelegatedByTracks = new Map(\n [...delegatedByTracks.entries()].sort(),\n );\n\n sortedDelegatedByTracks.forEach((delegatedByTrack, trackId) => {\n const track = getTrackByNumericId(tracks, Number(trackId));\n\n tooltipEntries.push(\n track && (\n \n \n {trackIconsMap.get(track.name)}\n {t(track.name)}\n \n \n \n ),\n );\n });\n\n return (\n \n \n \n \n \n {delegateAddressUrl ? (\n \n \n {candidateDisplayLabel}\n \n \n ) : (\n {candidateDisplayLabel}\n )}\n \n \n \n \n \n \n \n {t('numberOfDelegators', { count: delegators })}\n {'/'}\n {tooltipEntries}}>\n
\n \n
\n \n \n \n
\n
\n );\n};\n","import { useMoonChainKeyParam } from 'hooks/useMoonChainParam';\nimport { api } from 'lib/trpc/react';\nimport { type VoteDelegate } from 'models/open-gov/votesDelegates/votesDelegates.types';\nimport { FIVE_MIN_IN_MILLISECONDS } from 'server/api/trpc.constants';\n\ntype UseTopVoteDelegatesResult = {\n data: VoteDelegate[] | undefined;\n isLoading: boolean;\n isError: boolean;\n error?: string;\n};\n\nexport const useTopVoteDelegates = (): UseTopVoteDelegatesResult => {\n const moonChainKey = useMoonChainKeyParam();\n\n const { data, isLoading, error, isError } =\n api.openGov.fetchTopeVoteDelegatesByChain.useQuery(\n {\n moonChainKey,\n },\n { enabled: !!moonChainKey, staleTime: FIVE_MIN_IN_MILLISECONDS },\n );\n\n return { data, isLoading, error: error?.message, isError };\n};\n","import { Card, Skeleton, Stack, Title } from '@mantine/core';\nimport { VoteDelegate } from 'components/pages/open-gov/StatsPanel/VoteDelegate';\nimport { useTopVoteDelegates } from 'hooks/services/api/useTopVoteDelegates';\nimport { useTranslation } from 'next-i18next';\n\nexport const TopVoteDelegates = () => {\n const { t } = useTranslation('governance');\n const { data: topVoteDelegates, isLoading } = useTopVoteDelegates();\n\n const highestDelegatedAmount = topVoteDelegates?.[0]?.highestDelegated;\n\n const renderList = () => {\n return (\n \n {topVoteDelegates?.map((voteDelegate, index) => (\n \n ))}\n \n );\n };\n\n return (\n \n \n {t('topVoteDelegates')}\n \n {isLoading ? {renderList()} : renderList()}\n \n );\n};\n","import {\n UseWriteContractAndConfirmReturnType,\n useWriteContractAndConfirm,\n} from 'hooks/contracts/useWriteContractAndConfirm';\nimport { TransactionAction } from 'hooks/notifications/useWalletNotifications';\nimport { TrackLocks } from 'hooks/queries/useReferendaLocks';\nimport { useProxiedOrAddress } from 'hooks/useProxiedOrAddress';\nimport { useEffect, useState } from 'react';\nimport {\n BATCH_CONTRACT_ADDRESS,\n BatchContractABI,\n} from 'services/contracts/Batch/constants';\nimport {\n CONVICTION_VOTING_CONTRACT_ADDRESS,\n ConvictionVotingContractABI,\n} from 'services/contracts/ConvictionVoting/constants';\nimport { BatchFunctions } from 'types/contracts/functions';\nimport { Address, encodeFunctionData } from 'viem';\n\nconst action = TransactionAction.UNLOCK;\n\nasync function getCalls(\n detailedLocks: TrackLocks,\n address: Address,\n): Promise {\n const calls: string[] = [];\n\n for (const track in detailedLocks) {\n const voteCalls = detailedLocks[track].unlockableVotes.map(\n ({ referendumId }) =>\n encodeFunctionData({\n abi: ConvictionVotingContractABI,\n functionName: 'removeOtherVote',\n args: [address, Number(track), Number(referendumId)],\n }),\n );\n const unlockCall = encodeFunctionData({\n abi: ConvictionVotingContractABI,\n functionName: 'unlock',\n args: [Number(track), address],\n });\n\n calls.push(...voteCalls, unlockCall);\n }\n\n return calls;\n}\n\nexport function useUnlockOpenGov(\n detailedLocks: TrackLocks | undefined,\n): UseWriteContractAndConfirmReturnType {\n const address = useProxiedOrAddress();\n const [calls, setCalls] = useState([]);\n\n useEffect(() => {\n if (!detailedLocks || !Object.values(detailedLocks).length || !address) {\n return;\n }\n\n getCalls(detailedLocks, address as Address).then(setCalls);\n }, [detailedLocks, address]);\n\n return useWriteContractAndConfirm({\n action,\n contractAddress: BATCH_CONTRACT_ADDRESS,\n contractAbi: BatchContractABI,\n functionName: BatchFunctions.BATCH_ALL,\n args: [\n Array(calls.length).fill(CONVICTION_VOTING_CONTRACT_ADDRESS),\n [],\n calls,\n [],\n ],\n });\n}\n","import { Stack, Tooltip } from '@mantine/core';\nimport { ActionButton } from 'components/ActionButton';\nimport { useUnlockOpenGov } from 'hooks/contracts/voting/useUnlockOpenGov';\nimport { useLatestBlock } from 'hooks/queries/useLatestBlock';\nimport { useReferendaLocks } from 'hooks/queries/useReferendaLocks';\nimport { useTracks } from 'hooks/queries/useTracks';\nimport { useIsMounted } from 'hooks/useIsMounted';\nimport { useMoonChain } from 'hooks/useMoonChainConfig';\nimport { useProxiedOrAddress } from 'hooks/useProxiedOrAddress';\nimport { useTranslation } from 'next-i18next';\nimport {\n extractUnlockableTracksIds,\n generateTooltipLabelRows,\n} from 'utils/governance';\n\nexport function UnlockOpenGov() {\n const { t } = useTranslation('governance');\n const address = useProxiedOrAddress();\n const isMounted = useIsMounted();\n const locks = useReferendaLocks();\n const tracks = useTracks();\n const latestBlock = useLatestBlock();\n const {\n decimals,\n nativeAsset: { originSymbol },\n } = useMoonChain();\n\n const { writeContract, isPending } = useUnlockOpenGov(locks);\n\n if (!isMounted || !address || !locks) {\n return null;\n }\n\n const unlockableTracksIds = extractUnlockableTracksIds(locks, latestBlock);\n\n const tooltipLabelRows = generateTooltipLabelRows({\n locks,\n tracks,\n decimals,\n symbol: originSymbol,\n t,\n latestBlock,\n });\n\n const label = tooltipLabelRows.length ? (\n {tooltipLabelRows}\n ) : (\n t('noLocksReady')\n );\n\n return (\n \n
\n writeContract()}\n loading={isPending}\n disabled={!unlockableTracksIds.length}\n >\n {t('unlockOpenGovFunds')}\n \n
\n
\n );\n}\n","export { UnlockOpenGov } from './UnlockOpenGov';\n","import { useApi } from 'hooks/useApi';\nimport { useApiCall } from 'hooks/useApiCall';\n\nexport function useReferendumCount(): number {\n const api = useApi();\n\n return useApiCall(api?.query.referenda.referendumCount, [], (count) =>\n count.toNumber(),\n );\n}\n","import { Box, Grid, Group } from '@mantine/core';\nimport { DelegateVotes } from 'components/pages/open-gov/DelegateVote';\nimport { AllProposals } from 'components/pages/open-gov/StatsPanel/AllProposals';\nimport { HeaderCard } from 'components/pages/open-gov/StatsPanel/HeaderCard';\nimport { LockedFundsSummary } from 'components/pages/open-gov/StatsPanel/LockedFundsSummary/';\nimport { TopVoteDelegates } from 'components/pages/open-gov/StatsPanel/TopVoteDelegates';\nimport { UnlockOpenGov } from 'components/pages/open-gov/UnlockOpenGov';\nimport { useOngoingReferendaIds } from 'hooks/queries/open-gov/useOngoingReferendaIds';\nimport { useReferendumCount } from 'hooks/queries/open-gov/useReferendumCount';\nimport { useTranslation } from 'next-i18next';\nimport { TfiPieChart } from 'react-icons/tfi';\n\nexport const StatsPanel = () => {\n const { t } = useTranslation('governance');\n const referendaCount = useReferendumCount();\n const ongoing = useOngoingReferendaIds();\n\n return (\n \n \n \n }\n title={t('ongoingProposals')}\n subtitle={t('ongoingVsTotalReferendaCount', {\n ongoing: ongoing.total,\n total: referendaCount,\n })}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","export * from './StatsPanel';\n","import { Box, Card, Group, Skeleton, Text, Tooltip } from '@mantine/core';\nimport { TrackInfo } from 'hooks/queries/useTracks';\nimport { useThemeColors } from 'hooks/useThemeColors';\nimport { useTranslation } from 'next-i18next';\nimport { ReactNode } from 'react';\nimport { IoInformationCircleOutline } from 'react-icons/io5';\n\ninterface Props {\n track?: TrackInfo;\n icon: ReactNode;\n label: string;\n param: ReactNode;\n showSkeleton?: boolean;\n}\n\nexport const ParamCard = ({\n track,\n icon,\n label,\n param,\n showSkeleton = true,\n}: Props) => {\n const { t } = useTranslation('governance');\n const { themeColors } = useThemeColors();\n\n return (\n \n \n \n {icon}\n \n \n {t(label)}\n \n \n \n \n \n \n \n \n \n {showSkeleton && \n \n \n );\n};\n","import {\n Card,\n Grid,\n Group,\n Skeleton,\n Text,\n useMantineTheme,\n} from '@mantine/core';\nimport { OffsiteLink } from 'components/OffsiteLink';\nimport { MoonTokenAmount } from 'components/TokenAmount';\nimport { DelegateVotes } from 'components/pages/open-gov/DelegateVote';\nimport { ParamCard } from 'components/pages/open-gov/TrackParams/ParamCard';\nimport { TrackInfo } from 'hooks/queries/useTracks';\nimport { useBlockTime } from 'hooks/useBlockTime';\nimport { useMoonChain } from 'hooks/useMoonChainConfig';\nimport { useTranslation } from 'next-i18next';\nimport { BiLineChart } from 'react-icons/bi';\nimport { BsCalendarCheck, BsCalendarEvent } from 'react-icons/bs';\nimport { FaRegMoneyBillAlt } from 'react-icons/fa';\nimport { FiThumbsUp } from 'react-icons/fi';\nimport { IoMdTime } from 'react-icons/io';\n\ninterface Props {\n track?: TrackInfo;\n}\n\nexport const TrackParams = ({ track }: Props) => {\n const { t } = useTranslation('governance');\n const { name } = useMoonChain();\n const {\n other: { colors },\n } = useMantineTheme();\n\n return (\n \n \n \n }\n label={'maxDeciding'}\n param={track?.maxDeciding}\n track={track}\n />\n \n \n }\n label={'decisionDeposit'}\n param={\n \n }\n showSkeleton={false}\n track={track}\n />\n \n \n }\n label={'preparePeriod'}\n param={useBlockTime(track?.preparePeriod, 1)}\n track={track}\n />\n \n \n \n \n }\n label={'decisionPeriod'}\n param={useBlockTime(track?.decisionPeriod, 1)}\n track={track}\n />\n \n \n }\n label={'confirmPeriod'}\n param={useBlockTime(track?.confirmPeriod, 1)}\n track={track}\n />\n \n \n }\n label={'minEnactmentPeriod'}\n param={useBlockTime(track?.minEnactmentPeriod, 1)}\n track={track}\n />\n \n \n \n {t(`trackDescriptions.${track?.name}.lineOne`)}\n \n {t(`trackDescriptions.${track?.name}.lineTwo`, { moonChain: name })}\n \n \n \n \n \n \n \n );\n};\n","export * from './TrackParams';\n","import { Group, Title } from '@mantine/core';\nimport { ActionCallButton } from 'components/ActionCallButton';\nimport { PageLoader } from 'components/PageLoader';\nimport { ProxiedAccount, ProxySwitch } from 'components/ProxySwitch';\nimport { Referenda } from 'components/pages/open-gov/Referenda';\nimport { StatsPanel } from 'components/pages/open-gov/StatsPanel';\nimport { TrackParams } from 'components/pages/open-gov/TrackParams';\nimport { useTracks } from 'hooks/queries/useTracks';\nimport { useIsMounted } from 'hooks/useIsMounted';\nimport { useMoonChainKeyParam } from 'hooks/useMoonChainParam';\nimport type { GetServerSideProps, NextPage } from 'next';\nimport { useTranslation } from 'next-i18next';\nimport Head from 'next/head';\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation';\nimport { useEffect } from 'react';\nimport { ProxyType } from 'services/contracts/Proxy/constants';\nimport { generateServerProps } from 'utils/server';\nimport {\n geValidMoonChainKey,\n isQueryParamValid,\n openGovQueryParamSchema,\n} from 'utils/validation/queryParamValidation';\n\nconst OpenGov: NextPage = () => {\n const { t } = useTranslation('governance');\n const router = useRouter();\n const queryParams = useSearchParams();\n const pathname = usePathname();\n const moonChainKey = useMoonChainKeyParam();\n const queryParamTrackName = queryParams?.get('track') as string;\n const tracks = useTracks();\n const track = tracks?.get(queryParamTrackName);\n const isOverview = !queryParamTrackName;\n const isMounted = useIsMounted();\n const title =\n t(queryParamTrackName || 'governance') + (track ? `[${track.id}]` : '');\n\n const titleForGA = track\n ? t('gaTitles.openGovTrack', {\n track: t(queryParamTrackName || 'governance'),\n ns: 'common',\n })\n : t('gaTitles.openGov', { ns: 'common' });\n\n useEffect(() => {\n const notInTracks =\n queryParamTrackName && !tracks?.has(queryParamTrackName);\n\n if (notInTracks) {\n router.push(pathname ?? `/${moonChainKey}`);\n }\n }, [queryParamTrackName, router, moonChainKey, tracks, pathname]);\n\n return !isMounted ? (\n \n ) : (\n <>\n \n \n {titleForGA}\n \n \n \n {title}\n \n {!track && (\n \n \n \n )}\n {track && (\n \n router.push(\n `/${moonChainKey}/referendum/new?track=${track?.name}`,\n )\n }\n >\n {t('newProposal')}\n \n )}\n \n {!track && }\n {isOverview ? : }\n \n \n );\n};\n\nexport default OpenGov;\n\nexport const getServerSideProps: GetServerSideProps = async ({\n locale,\n params,\n query,\n}) => {\n if (!isQueryParamValid(query, openGovQueryParamSchema)) {\n const moonChainKey = geValidMoonChainKey(params?.moonChainKey as string);\n\n return {\n redirect: {\n destination: `/${moonChainKey}/open-gov`,\n permanent: true,\n },\n };\n }\n\n return await generateServerProps(params?.moonChainKey, locale as string, [\n 'common',\n 'governance',\n ]);\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"highlight-on-hover\":\"common_highlight-on-hover__mglju\"};"],"names":["window","__NEXT_P","push","__webpack_require__","AvatarWithAddressOrIdentity","address","withAddress","param","proxyIdentity","useIdentity","hasIdentity","display","jsx_runtime","jsxs","Group","gap","jsx","Avatar","size","Text","candidateDisplay","undefined","PageLoader","Center","mih","Loader","Pagination","total","activePage","setActivePage","recordsPerPage","setRecordsPerPage","t","useTranslation","data","useMemo","Array","keys","map","step","index","value","concat","label","count","justify","PaginationMantine","onChange","Math","ceil","getControlProps","control","Select","style","width","placeholder","v","ProxyDropdown","proxyType","selected","other","combobox","useCombobox","onDropdownClose","resetSelectedOption","useAddress","accounts","isLoading","useProxiedAccounts","isDisabled","length","noProxies","options","Combobox","Option","mr","fw","c","store","disabled","onOptionSubmit","toggleDropdown","Target","InputBase","component","type","pointer","rightSection","Chevron","onClick","rightSectionPointerEvents","Dropdown","Options","ProxiedAccount","theme","useMantineTheme","themeColors","useThemeColors","isConnected","useAccount","isMounted","useIsMounted","isEnabled","proxiedAddress","setProxiedAddress","useProxiedAddress","isProxyAvailable","useIsProxyAvailableFlag","localProxiedAddress","setLocalProxiedAddress","useState","isValidGovProxy","useIsValidGovProxy","isValidStakingProxy","useIsValidStakingProxy","isValid","ProxyType","Governance","useEffect","Collapse","in","pb","Grid","Col","span","sm","md","lg","xl","Paper","p","spacing","backgroundColor","secondary","Trans","i18nKey","values","sliceEllipsis","components","light","secondaryTexts","ProxySwitch","toggle","Switch","checked","DelegateVotes","props","black","delegationUrl","useVoteDelegationUrls","isDark","useIsDarkMode","ActionButton","variant","OffsiteLink","link","colors","action","ProposalTimeProgress","referendum","track","useTrack","origin","percentage","remainingTime","useProgressBarData","initialBlock","latestBlock","finalBlock","decisionPeriod","Tooltip","withArrow","RingProgress","sections","color","getReferendumStatusColor","ReferendumStatus","DECIDING","thickness","Snippet","info","vote","useVoteForProposalAndAddress","hasVote","Object","mt","h","decision","voteFunction","div","VoteFunctionIcon","VotesProgressBar","showTooltip","w","PassingOrFailingLabel","isCompact","status","rowHeight","ReferendumRow","isOverview","locale","useRouter","router","fullPath","referendumDetailPath","useRouteLink","identity","proposer","proposeTime","useBlockTimestampElapsedTime","summary","title","polkassemblyTitle","description","polkassemblyDescription","Table","Tr","cursor","Td","ta","Stack","Date","toLocaleString","active","StatusBadge","trackId","ActionIcon","IoChevronForward","transformVotesForTrackAndAddress","votesByProposalId","Map","isCasting","asCasting","votes","proposalId","voteData","standardInfo","extractStandardVoteInfo","isStandard","balance","asStandard","amount","toBigInt","conviction","getConvictionLabel","isAye","VoteFunctions","VOTE_YES","isNay","VOTE_NO","isSplitAbstain","VOTE_ABSTAIN","isSplit","VOTE_SPLIT","set","toNumber","splitInfo","extractSplitVoteInfo","nay","aye","asSplit","ayeAmount","nayAmount","abstainInfo","extractAbstainVoteInfo","abstain","asSplitAbstain","proposal","votesByProposal","useVotesForTrackAndAddress","api","useApi","walletAddress","useApiCall","query","convictionVoting","votingFor","useProxiedOrAddress","get","whitelist","Any","NonTransfer","allProxies","useAllProxies","enabled","key","useMoonChain","useQuery","queryKey","queryFn","res","proxy","proxies","entries","transform","result","forEach","entry","delegate","delay","args","toString","delayed","delegated","filter","currentProxyType","proxyToLook","includes","baseUrl","useFeatureByChain","delegateAddressUrl","BATCH_CONTRACT_ADDRESS","BatchContractABI","anonymous","inputs","indexed","internalType","name","outputs","stateMutability","ReferendaTable","referenda","cardWidth","rows","slice","i","Box","className","commonClasses","verticalSpacing","px","highlightOnHover","Thead","Th","Tbody","NoRecordsFound","my","StatusSelector","statusFilter","setStatusFilter","statusColor","defaultTabFilter","wrap","Badge","radius","closeDropdown","defaultValue","leftSection","Referenda","groupedReferenda","dateFilter","setDateFilter","proposerFilter","setProposerFilter","activeFilter","setActiveFilter","useLocalStorage","debouncedProposedFilter","useDebouncedValue","tabFilter","setTabFilter","ref","useRef","useViewportSize","setCardWith","referendaByStatus","referendaByTracks","hasFailed","useReferenda","error","tracks","useTracks","moonChainKey","useMoonChainKeyParam","isError","openGov","referendaDescriptionListByChain","staleTime","FIVE_MIN_IN_MILLISECONDS","filteredByTrack","id","filteredReferenda","x","dateFrom","getTime","dateTo","toLowerCase","filtered","from","message","current","tabFilters","trackName","tabs","Tabs","Tab","trackIconsMap","panels","Panel","py","Checkbox","e","currentTarget","Card","withBorder","overflow","miw","List","grow","DatePickerInput","clearable","allowSingleDateInRange","TextInput","event","CloseButton","LegendCard","trackInfo","referendumIds","totalVotes","useVoteCount","proposalVotesCountByChainAndIDs","referendumIDs","valid","Chart","register","ArcElement","ReferendaChart","centerLabel","chartData","labels","referendaCounts","whiteDark","plugins","beforeDraw","chart","height","ctx","restore","fontSize","toFixed","font","fillStyle","textBaseline","textX","round","measureText","fillText","save","Doughnut","datasets","borderWidth","borderColor","legend","cutout","transformOngoingReferendaIds","ongoingIdsByTrack","idHash","isOngoing","Number","toHuman","asOngoing","useOngoingReferendaIds","referendumInfoFor","reduce","acc","arr","AllProposals","statistics","useReferendaStatistics","getReferendaStatistics","transformReferendaStatistics","referendaCountByTrack","origins","Origins","Count","referendaCount","OriginsCount","votingTotal","voting_total","referendaChart","rect","useResizeObserver","buildReferendaChartData","cardsSpan","shadow","Title","order","mb","pr","HeaderCard","icon","subtitle","showInfoIcon","subtitleToRender","isStr","ThemeIcon","IoInformationCircleOutline","LockedFundsSummaryForTrack","trackLocks","nativeAsset","asset","decimals","lockedAmount","delegation","unlockableAmount","lockedAmountString","useMoonChainToDecimals","originSymbol","unlockableAmountString","getTrackByNumericId","symbol","Item","getLockedFundsSummaryForVote","getLockedFundsSummaryForDelegation","transformClassLocks","locks","params","lock","transformLockedByTrack","transformVotingFor","votesAndDelegations","referendumId","accountVote","getBalanceAndConviction","isDelegating","asDelegating","target","toHex","prior","transformPrior","block","unlockableAtBlock","transformReferendaInfo","endBlock","aborted","isKilled","asKilled","isCancelled","asCancelled","isTimedOut","asTimedOut","isApproved","asApproved","isRejected","asRejected","useReferendaLocks","useLatestBlock","lockPeriod","consts","voteLockingPeriod","_api_consts_convictionVoting_voteLockingPeriod","classLocks","classLocksFor","multi","lockedByTrack","referendaInfoParams","extractReferendumIds","referendaInfo","getDetailedLocks","LockedFundsSummary","balances","useMoonBalances","summaryDisabled","locksByTracksComponents","position","TfiLock","MoonTokenAmount","lockedDemocracy","VoteDelegate","voteDelegate","delegators","highestDelegated","delegatedByTracks","highestDelegatedAmount","calcProgressValue","candidateDisplayLabel","tooltipEntries","sortedDelegatedByTracks","sort","delegatedByTrack","gutter","maw","replace","withIcon","truncate","Progress","styles","section","borderRadius","useTopVoteDelegates","fetchTopeVoteDelegatesByChain","TopVoteDelegates","topVoteDelegates","renderList","Skeleton","TransactionAction","UNLOCK","getCalls","detailedLocks","calls","voteCalls","unlockableVotes","encodeFunctionData","abi","ConvictionVotingContractABI","functionName","unlockCall","UnlockOpenGov","writeContract","isPending","useUnlockOpenGov","setCalls","then","useWriteContractAndConfirm","contractAddress","contractAbi","BatchFunctions","BATCH_ALL","fill","CONVICTION_VOTING_CONTRACT_ADDRESS","unlockableTracksIds","extractUnlockableTracksIds","tooltipLabelRows","generateTooltipLabelRows","gaName","loading","StatsPanel","useReferendumCount","referendumCount","ongoing","TfiPieChart","ParamCard","showSkeleton","multiline","lh","hidden","TrackParams","BiLineChart","maxDeciding","FaRegMoneyBillAlt","decisionDeposit","maxDecimals","BsCalendarEvent","useBlockTime","preparePeriod","IoMdTime","FiThumbsUp","confirmPeriod","BsCalendarCheck","minEnactmentPeriod","visible","pt","moonChain","open_gov","queryParams","useSearchParams","pathname","usePathname","queryParamTrackName","titleForGA","ns","has","Fragment","Head","meta","content","tt","ActionCallButton","module","exports"],"sourceRoot":""}