diff --git a/explorer-v2/next.config.ts b/explorer-v2/next.config.ts index 9c0e03fea6..02e12b3e1c 100644 --- a/explorer-v2/next.config.ts +++ b/explorer-v2/next.config.ts @@ -16,8 +16,8 @@ const nextConfig: NextConfig = { basePath: false, permanent: true, }, - ] - } + ]; + }, }; export default nextConfig; diff --git a/explorer-v2/package.json b/explorer-v2/package.json index 9ec1f64cd8..55ba1d4d00 100644 --- a/explorer-v2/package.json +++ b/explorer-v2/package.json @@ -19,6 +19,7 @@ "@emotion/react": "^11.13.5", "@emotion/styled": "^11.13.5", "@interchain-ui/react": "^1.26.1", + "@keplr-wallet/types": "^0.12.211", "@mui/icons-material": "^5.16.11", "@mui/material": "^6.1.10", "@mui/material-nextjs": "^6.1.9", diff --git a/explorer-v2/public/icons/copy-file-dark.svg b/explorer-v2/public/icons/copy-file-dark.svg new file mode 100644 index 0000000000..136232c089 --- /dev/null +++ b/explorer-v2/public/icons/copy-file-dark.svg @@ -0,0 +1,35 @@ + + + + + diff --git a/explorer-v2/public/icons/cross-dark.svg b/explorer-v2/public/icons/cross-dark.svg new file mode 100644 index 0000000000..bfef836501 --- /dev/null +++ b/explorer-v2/public/icons/cross-dark.svg @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + diff --git a/explorer-v2/public/icons/elipse-dark.svg b/explorer-v2/public/icons/elipse-dark.svg new file mode 100644 index 0000000000..59f751268d --- /dev/null +++ b/explorer-v2/public/icons/elipse-dark.svg @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/explorer-v2/public/icons/explorer-card-dark.svg b/explorer-v2/public/icons/explorer-card-dark.svg new file mode 100644 index 0000000000..978b9ebefc --- /dev/null +++ b/explorer-v2/public/icons/explorer-card-dark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/explorer-v2/public/icons/gateway-dark.svg b/explorer-v2/public/icons/gateway-dark.svg new file mode 100644 index 0000000000..6233434825 --- /dev/null +++ b/explorer-v2/public/icons/gateway-dark.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/explorer-v2/public/icons/nym-logo-white.svg b/explorer-v2/public/icons/nym-logo-white.svg new file mode 100644 index 0000000000..8aa1eeb37a --- /dev/null +++ b/explorer-v2/public/icons/nym-logo-white.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/explorer-v2/public/icons/stake-card-dark.svg b/explorer-v2/public/icons/stake-card-dark.svg new file mode 100644 index 0000000000..7c430015de --- /dev/null +++ b/explorer-v2/public/icons/stake-card-dark.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/explorer-v2/public/icons/token-dark.svg b/explorer-v2/public/icons/token-dark.svg new file mode 100644 index 0000000000..52b22163be --- /dev/null +++ b/explorer-v2/public/icons/token-dark.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + diff --git a/explorer-v2/src/app/(pages)/account/[address]/page.tsx b/explorer-v2/src/app/(pages)/account/[address]/page.tsx index 283494e74f..6b0016de68 100644 --- a/explorer-v2/src/app/(pages)/account/[address]/page.tsx +++ b/explorer-v2/src/app/(pages)/account/[address]/page.tsx @@ -1,12 +1,10 @@ -import { fetchObservatoryNodes } from "@/app/api"; -import type { IObservatoryNode } from "@/app/api/types"; +import AccountPageButtonGroup from "@/components/accountPageComponents/AccountPageButtonGroup"; import { Box, Typography } from "@mui/material"; import Grid from "@mui/material/Grid2"; import { AccountBalancesCard } from "../../../../components/accountPageComponents/AccountBalancesCard"; import { AccountInfoCard } from "../../../../components/accountPageComponents/AccountInfoCard"; import { ContentLayout } from "../../../../components/contentLayout/ContentLayout"; import SectionHeading from "../../../../components/headings/SectionHeading"; -import ExplorerButtonGroup from "../../../../components/toggleButton/ToggleButton"; export default async function Account({ params, @@ -16,12 +14,6 @@ export default async function Account({ try { const address = (await params).address; - const nymNodes: IObservatoryNode[] = await fetchObservatoryNodes(); - - const nymNode = nymNodes.find( - (node) => node.bonding_address === address, - ); - return ( @@ -31,23 +23,7 @@ export default async function Account({ - + diff --git a/explorer-v2/src/app/(pages)/nym-node/[id]/page.tsx b/explorer-v2/src/app/(pages)/nym-node/[id]/page.tsx index 84daa3c76c..4c6202cc53 100644 --- a/explorer-v2/src/app/(pages)/nym-node/[id]/page.tsx +++ b/explorer-v2/src/app/(pages)/nym-node/[id]/page.tsx @@ -1,14 +1,13 @@ -import { fetchNodeIdByIdentityKey, fetchNodeInfo } from "@/app/api"; import { ContentLayout } from "@/components/contentLayout/ContentLayout"; import SectionHeading from "@/components/headings/SectionHeading"; import { BasicInfoCard } from "@/components/nymNodePageComponents/BasicInfoCard"; import { NodeDataCard } from "@/components/nymNodePageComponents/NodeDataCard"; // import { NodeChatCard } from "@/components/nymNodePageComponents/ChatCard"; import NodeDelegationsCard from "@/components/nymNodePageComponents/NodeDelegationsCard"; +import NodePageButtonGroup from "@/components/nymNodePageComponents/NodePageButtonGroup"; import { NodeParametersCard } from "@/components/nymNodePageComponents/NodeParametersCard"; import { NodeProfileCard } from "@/components/nymNodePageComponents/NodeProfileCard"; import { NodeRoleCard } from "@/components/nymNodePageComponents/NodeRoleCard"; -import ExplorerButtonGroup from "@/components/toggleButton/ToggleButton"; import { Box } from "@mui/material"; import Grid from "@mui/material/Grid2"; @@ -18,22 +17,7 @@ export default async function NymNode({ params: Promise<{ id: string }>; // node_id or identity_key }) { try { - let id: string | number; - const paramsId = (await params).id; - - // check if the params id is a node_id or identity_key - - if (paramsId.length > 10) { - id = await fetchNodeIdByIdentityKey(paramsId); - } else { - id = Number(paramsId); - } - - const observatoryNymNode = await fetchNodeInfo(id); - - if (!observatoryNymNode) { - return null; - } + const paramId = (await params).id; return ( @@ -41,23 +25,7 @@ export default async function NymNode({ - {observatoryNymNode.bonding_address && ( - - )} + - + - + - + - + - + - + {/* {author} - ) + ), )} diff --git a/explorer-v2/src/app/api/index.tsx b/explorer-v2/src/app/api/index.tsx index 687372c2f2..5129c073ae 100644 --- a/explorer-v2/src/app/api/index.tsx +++ b/explorer-v2/src/app/api/index.tsx @@ -53,21 +53,6 @@ export const fetchGatewayStatus = async ( return response.json(); }; -export const fetchNodeInfo = async ( - id: number, -): Promise => { - const nodes = await fetchObservatoryNodes(); - return nodes?.find((node) => node.node_id === id); -}; - -export const fetchNodeIdByIdentityKey = async ( - identity_key: string, -): Promise => { - const nodes = await fetchObservatoryNodes(); - const node = nodes?.find((node) => node.identity_key === identity_key); - return node?.node_id || 0; -}; - export const fetchNodeDelegations = async ( id: number, ): Promise => { @@ -207,8 +192,6 @@ export const fetchAccountBalance = async ( return data; }; - - export const fetchObservatoryNodes = async (): Promise => { const allNodes: IObservatoryNode[] = []; let page = 1; @@ -239,7 +222,6 @@ export const fetchObservatoryNodes = async (): Promise => { page++; // Move to the next page } } - return allNodes; }; diff --git a/explorer-v2/src/app/api/urls.ts b/explorer-v2/src/app/api/urls.ts index a2f439318f..c1cd2ede91 100644 --- a/explorer-v2/src/app/api/urls.ts +++ b/explorer-v2/src/app/api/urls.ts @@ -1,4 +1,3 @@ - export const CURRENT_EPOCH = "https://validator.nymtech.net/api/v1/epoch/current"; export const CURRENT_EPOCH_REWARDS = diff --git a/explorer-v2/src/app/page.tsx b/explorer-v2/src/app/page.tsx index f5bbe35eb7..8476f2f778 100644 --- a/explorer-v2/src/app/page.tsx +++ b/explorer-v2/src/app/page.tsx @@ -6,7 +6,7 @@ import SectionHeading from "../components/headings/SectionHeading"; import { CurrentEpochCard } from "../components/landingPageComponents/CurrentEpochCard"; import { NetworkStakeCard } from "../components/landingPageComponents/NetworkStakeCard"; import { NoiseCard } from "../components/landingPageComponents/NoiseCard"; -import { RewardsCard } from "../components/landingPageComponents/StakersNumberCard"; +import { StakersNumberCard } from "../components/landingPageComponents/StakersNumberCard"; import { TokenomicsCard } from "../components/landingPageComponents/TokenomicsCard"; import NodeTable from "../components/nodeTable/NodeTableWithAction"; import NodeAndAddressSearch from "../components/search/NodeAndAddressSearch"; @@ -15,34 +15,33 @@ export default async function Home() { return ( - - + - + - + - + diff --git a/explorer-v2/src/app/react-query.ts b/explorer-v2/src/app/react-query.ts new file mode 100644 index 0000000000..adca0823e2 --- /dev/null +++ b/explorer-v2/src/app/react-query.ts @@ -0,0 +1,10 @@ +import { QueryClient } from "@tanstack/react-query"; + +let queryClient: QueryClient | null = null; + +export function getQueryClient() { + if (!queryClient) { + queryClient = new QueryClient(); + } + return queryClient; +} diff --git a/explorer-v2/src/components/accountPageComponents/AccountBalancesCard.tsx b/explorer-v2/src/components/accountPageComponents/AccountBalancesCard.tsx index a7f07be196..5abd9d5b59 100644 --- a/explorer-v2/src/components/accountPageComponents/AccountBalancesCard.tsx +++ b/explorer-v2/src/components/accountPageComponents/AccountBalancesCard.tsx @@ -70,6 +70,9 @@ export const AccountBalancesCard = (props: IAccountBalancesCardProps) => { queryKey: ["accountBalance", address], queryFn: () => fetchAccountBalance(address), enabled: !!address, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, }); const { @@ -79,6 +82,9 @@ export const AccountBalancesCard = (props: IAccountBalancesCardProps) => { } = useQuery({ queryKey: ["nymPrice"], queryFn: fetchNymPrice, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, }); if (isLoading || isLoadingPrice) { diff --git a/explorer-v2/src/components/accountPageComponents/AccountBalancesTable.tsx b/explorer-v2/src/components/accountPageComponents/AccountBalancesTable.tsx index d91b186917..c9d1ce1f30 100644 --- a/explorer-v2/src/components/accountPageComponents/AccountBalancesTable.tsx +++ b/explorer-v2/src/components/accountPageComponents/AccountBalancesTable.tsx @@ -12,6 +12,7 @@ import TableContainer from "@mui/material/TableContainer"; import TableHead from "@mui/material/TableHead"; import TableRow from "@mui/material/TableRow"; import Typography from "@mui/material/Typography"; +import { useTheme } from "@mui/material/styles"; import useMediaQuery from "@mui/material/useMediaQuery"; import * as React from "react"; import { TABLET_WIDTH } from "../../app/constants"; @@ -38,6 +39,7 @@ const progressBarColours = [ const Row = (props: IAccontStatsRowProps) => { const tablet = useMediaQuery(TABLET_WIDTH); + const theme = useTheme(); const { type, @@ -60,11 +62,17 @@ const Row = (props: IAccontStatsRowProps) => { sx={{ borderBottom: isLastRow ? "none" - : "1px solid rgba(224, 224, 224, 1)", + : `1px solid ${theme.palette.mode === "dark" ? "rgba(255, 255, 255, 0.1)" : "rgba(224, 224, 224, 1)"}`, width: "25%", }} > - + {type} @@ -73,12 +81,18 @@ const Row = (props: IAccontStatsRowProps) => { sx={{ borderBottom: isLastRow ? "none" - : "1px solid rgba(224, 224, 224, 1)", + : `1px solid ${theme.palette.mode === "dark" ? "rgba(255, 255, 255, 0.1)" : "rgba(224, 224, 224, 1)"}`, width: "25%", }} > - + {allocation}% { sx={{ borderBottom: isLastRow ? "none" - : "1px solid rgba(224, 224, 224, 1)", + : `1px solid ${theme.palette.mode === "dark" ? "rgba(255, 255, 255, 0.1)" : "rgba(224, 224, 224, 1)"}`, width: "20%", }} > - + {amount.toFixed(4)} NYM @@ -105,13 +125,17 @@ const Row = (props: IAccontStatsRowProps) => { sx={{ borderBottom: isLastRow ? "none" - : "1px solid rgba(224, 224, 224, 1)", + : `1px solid ${theme.palette.mode === "dark" ? "rgba(255, 255, 255, 0.1)" : "rgba(224, 224, 224, 1)"}`, width: "20%", }} > ${value} @@ -120,7 +144,7 @@ const Row = (props: IAccontStatsRowProps) => { sx={{ borderBottom: isLastRow ? "none" - : "1px solid rgba(224, 224, 224, 1)", + : `1px solid ${theme.palette.mode === "dark" ? "rgba(255, 255, 255, 0.1)" : "rgba(224, 224, 224, 1)"}`, width: "10%", }} > @@ -142,13 +166,20 @@ const Row = (props: IAccontStatsRowProps) => { sx={{ borderBottom: isLastRow ? "none" - : "1px solid rgba(224, 224, 224, 1)", + : `1px solid ${theme.palette.mode === "dark" ? "rgba(255, 255, 255, 0.1)" : "rgba(224, 224, 224, 1)"}`, width: "45%", }} > - {type} + + {type} + @@ -157,19 +188,31 @@ const Row = (props: IAccontStatsRowProps) => { sx={{ borderBottom: isLastRow ? "none" - : "1px solid rgba(224, 224, 224, 1)", + : `1px solid ${theme.palette.mode === "dark" ? "rgba(255, 255, 255, 0.1)" : "rgba(224, 224, 224, 1)"}`, width: "45%", }} > - {amount.toFixed(4)} NYM - $ {value} + + {amount.toFixed(4)} NYM + + + $ {value} + @@ -199,7 +242,13 @@ const Row = (props: IAccontStatsRowProps) => { borderBottom: "none", // Explicitly remove border }} > - + {historyRow.type} @@ -218,7 +267,13 @@ const Row = (props: IAccontStatsRowProps) => { borderBottom: "none", // Explicitly remove border }} > - + {historyRow.amount.toFixed(4)} NYM @@ -241,6 +296,8 @@ export interface IAccountBalancesTableProps { export const AccountBalancesTable = (props: IAccountBalancesTableProps) => { const { rows } = props; const tablet = useMediaQuery(TABLET_WIDTH); + const theme = useTheme(); + const progressBarPercentages = () => { return rows.map((row) => row.allocation); }; @@ -267,22 +324,54 @@ export const AccountBalancesTable = (props: IAccountBalancesTableProps) => { {tablet ? ( - + Type - + Allocation - + Amount - + Value @@ -291,12 +380,28 @@ export const AccountBalancesTable = (props: IAccountBalancesTableProps) => { ) : ( - + Type - + Amount / Value diff --git a/explorer-v2/src/components/accountPageComponents/AccountInfoCard.tsx b/explorer-v2/src/components/accountPageComponents/AccountInfoCard.tsx index a252ef1ba2..17d99c6ca7 100644 --- a/explorer-v2/src/components/accountPageComponents/AccountInfoCard.tsx +++ b/explorer-v2/src/components/accountPageComponents/AccountInfoCard.tsx @@ -18,6 +18,9 @@ export const AccountInfoCard = (props: IAccountInfoCardProps) => { queryKey: ["accountBalance", address], queryFn: () => fetchAccountBalance(address), enabled: !!address, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, }); if (isLoading) { diff --git a/explorer-v2/src/components/accountPageComponents/AccountPageButtonGroup.tsx b/explorer-v2/src/components/accountPageComponents/AccountPageButtonGroup.tsx new file mode 100644 index 0000000000..77de4488b0 --- /dev/null +++ b/explorer-v2/src/components/accountPageComponents/AccountPageButtonGroup.tsx @@ -0,0 +1,47 @@ +"use client"; + +import { fetchObservatoryNodes } from "@/app/api"; +import ExplorerButtonGroup from "@/components/toggleButton/ToggleButton"; +import { useQuery } from "@tanstack/react-query"; + +type Props = { + address: string; +}; + +export default function AccountPageButtonGroup({ address }: Props) { + const { data: nymNodes, isError } = useQuery({ + queryKey: ["nymNodes"], + queryFn: fetchObservatoryNodes, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, + }); + + if (!nymNodes || isError) return null; + + const nymNode = nymNodes.find((node) => node.bonding_address === address); + + if (!nymNode) return null; + + if (nymNode.bonding_address) + return ( + + ); +} diff --git a/explorer-v2/src/components/blogs/BlogArticleCards.tsx b/explorer-v2/src/components/blogs/BlogArticleCards.tsx index cb2506a0e4..7f61e35274 100644 --- a/explorer-v2/src/components/blogs/BlogArticleCards.tsx +++ b/explorer-v2/src/components/blogs/BlogArticleCards.tsx @@ -1,9 +1,9 @@ import fs from "node:fs/promises"; import path from "node:path"; +import { type IconName, icons } from "@/utils/getIconByName"; import Grid from "@mui/material/Grid2"; import ExplorerHeroCard from "../cards/ExplorerHeroCard"; import type { BlogArticleWithLink } from "./types"; -import { icons, IconName } from "@/utils/getIconByName"; // TODO: Articles should be sorted by date @@ -14,6 +14,7 @@ const BlogArticlesCards = async ({ limit?: number; ids?: Array; }) => { + // --- Data Fetching --- const blogsDir = path.join(process.cwd(), "/src/data"); const blogsDirFilenames = await fs.readdir(blogsDir); @@ -29,6 +30,7 @@ const BlogArticlesCards = async ({ }; }), ); + // --- End Data Fetching --- const limitedOrFilteredBlogArticles = ( blogArticles: BlogArticleWithLink[], @@ -62,6 +64,9 @@ const BlogArticlesCards = async ({ ); }) .map((blogArticle) => { + const iconLightSrc = icons[blogArticle.iconLight as IconName]?.src; + const iconDarkSrc = icons[blogArticle.iconDark as IconName]?.src; + return ( diff --git a/explorer-v2/src/components/blogs/types.ts b/explorer-v2/src/components/blogs/types.ts index 211448f49d..6b3eef66b6 100644 --- a/explorer-v2/src/components/blogs/types.ts +++ b/explorer-v2/src/components/blogs/types.ts @@ -6,7 +6,8 @@ type BlogArticle = { label: string; description: string; image: string; - icon: string; + iconLight: string; + iconDark: string; attributes: { blogAuthors: string[]; date: Date; diff --git a/explorer-v2/src/components/cards/ExplorerCard.tsx b/explorer-v2/src/components/cards/ExplorerCard.tsx index a710aa7047..99093357f2 100644 --- a/explorer-v2/src/components/cards/ExplorerCard.tsx +++ b/explorer-v2/src/components/cards/ExplorerCard.tsx @@ -1,18 +1,14 @@ -import { Card, CardContent, CardHeader, type SxProps } from "@mui/material"; +import { + Card, + CardContent, + CardHeader, + type SxProps, + useTheme, +} from "@mui/material"; const cardStyles = { p: 2, -}; - -const cardTitleStyles: SxProps = { - variant: "h5", - color: "pine.600", - letterSpacing: 0.7, -}; -const cardSubtitleStyles: SxProps = { - variant: "h2", - mt: 3, - color: "pine.400", + bgcolor: "background.paper", }; const ExplorerCard = ({ @@ -26,13 +22,27 @@ const ExplorerCard = ({ children: React.ReactNode; sx?: SxProps; }) => { + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; + + const cardLabelStyles: SxProps = { + variant: "h5", + color: isDarkMode ? "pine.300" : "pine.600", + letterSpacing: 0.7, + }; + + const cardTitleStyles: SxProps = { + variant: "h2", + mt: 3, + color: isDarkMode ? "base.white" : "pine.950", + }; + return ( {children} diff --git a/explorer-v2/src/components/cards/ExplorerHeroCard.tsx b/explorer-v2/src/components/cards/ExplorerHeroCard.tsx index 218b01d89b..2c500e7c8b 100644 --- a/explorer-v2/src/components/cards/ExplorerHeroCard.tsx +++ b/explorer-v2/src/components/cards/ExplorerHeroCard.tsx @@ -1,10 +1,13 @@ +"use client"; import { + Box, Card, CardContent, CardHeader, Stack, type SxProps, Typography, + useTheme, } from "@mui/material"; import Image from "next/image"; import ArrowUpRight from "../../components/icons/ArrowUpRight"; @@ -14,7 +17,7 @@ const cardStyles = { p: 3, cursor: "pointer", "&:hover": { - bgcolor: "accent.main", + // Hover style adjusted based on theme mode below }, }; const cardContentStyles = { @@ -28,40 +31,71 @@ const ExplorerHeroCard = ({ title, label, description, - icon, + iconLightSrc, + iconDarkSrc, link, sx, }: { title: string; label: string; description: string; - icon: string; + iconLightSrc: string; + iconDarkSrc: string; link: string; sx?: SxProps; }) => { + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; + + const dynamicCardStyles = { + ...cardStyles, + bgcolor: isDarkMode ? "pine.300" : "background.paper", + "&:hover": { + bgcolor: isDarkMode ? "pine.600" : "accent.main", + }, + ...sx, + }; + + const dynamicTitleStyles = { + ...titleStyles, + color: isDarkMode ? "pine.950" : "inherit", + }; + + const dynamicDescriptionStyles = { + color: isDarkMode ? "pine.950" : "inherit", + }; + + const iconSrc = isDarkMode ? iconDarkSrc : iconLightSrc; + return ( - + - + {label} - + + + } /> {"explorer-blog-image"} - {title} - {description} + + {title} + + + {description} + diff --git a/explorer-v2/src/components/copyToClipboard/CopyToClipboard.tsx b/explorer-v2/src/components/copyToClipboard/CopyToClipboard.tsx index a0af46d01b..841bf21ff3 100644 --- a/explorer-v2/src/components/copyToClipboard/CopyToClipboard.tsx +++ b/explorer-v2/src/components/copyToClipboard/CopyToClipboard.tsx @@ -1,9 +1,10 @@ "use client"; -import { IconButton, Typography } from "@mui/material"; +import { IconButton, Typography, useTheme } from "@mui/material"; import { useCopyToClipboard } from "@uidotdev/usehooks"; import { useEffect } from "react"; import CopyFile from "../icons/CopyFile"; +import CopyFileDark from "../icons/CopyFileDark"; const CLEAR_AFTER_MS = 10_000; @@ -18,6 +19,7 @@ const CopyToClipboard = ({ }) => { const [copiedText, setCopiedText] = useCopyToClipboard(); const hasCopied = Boolean(copiedText); + const theme = useTheme(); useEffect(() => { if (hasCopied) { @@ -39,7 +41,8 @@ const CopyToClipboard = ({ return ( setCopiedText(text)}> - {Icon || } + {Icon || + (theme.palette.mode === "dark" ? : )} ); }; diff --git a/explorer-v2/src/components/countryFlag/CountryFlag.tsx b/explorer-v2/src/components/countryFlag/CountryFlag.tsx index 093e942e3f..ef8f33bd15 100644 --- a/explorer-v2/src/components/countryFlag/CountryFlag.tsx +++ b/explorer-v2/src/components/countryFlag/CountryFlag.tsx @@ -1,4 +1,4 @@ -import { Stack, Typography } from "@mui/material"; +import { Stack, Typography, useTheme } from "@mui/material"; import Flag from "react-world-flags"; interface ICountryFlag { @@ -7,11 +7,17 @@ interface ICountryFlag { } const CountryFlag = ({ countryCode, countryName }: ICountryFlag) => { + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; + return ( - + {countryName} diff --git a/explorer-v2/src/components/footer/SocialIcon.tsx b/explorer-v2/src/components/footer/SocialIcon.tsx index 5678edda0f..3067506d8a 100644 --- a/explorer-v2/src/components/footer/SocialIcon.tsx +++ b/explorer-v2/src/components/footer/SocialIcon.tsx @@ -1,6 +1,6 @@ "use client"; -import Image from "next/image"; import { icons } from "@/utils/getIconByName"; +import Image from "next/image"; // import { useMainContext } from "@/context"; export const SocialIcon = ({ channel }: { channel: string }): JSX.Element => { diff --git a/explorer-v2/src/components/header/DesktopHeader.tsx b/explorer-v2/src/components/header/DesktopHeader.tsx index f9b0411ae4..548fd564f0 100644 --- a/explorer-v2/src/components/header/DesktopHeader.tsx +++ b/explorer-v2/src/components/header/DesktopHeader.tsx @@ -4,6 +4,7 @@ import { Link } from "../../components/muiLink"; import { Wrapper } from "../../components/wrapper"; import ConnectWallet from "../wallet/ConnectWallet"; import HeaderItem from "./HeaderItem"; +import { DarkLightSwitchDesktop } from "./Switch"; import MENU_DATA from "./menuItems"; export const DesktopHeader = () => { @@ -50,6 +51,7 @@ export const DesktopHeader = () => { ))} + diff --git a/explorer-v2/src/components/header/MobileHeader.tsx b/explorer-v2/src/components/header/MobileHeader.tsx index 2f8f9ba4a0..d0fb98cd0a 100644 --- a/explorer-v2/src/components/header/MobileHeader.tsx +++ b/explorer-v2/src/components/header/MobileHeader.tsx @@ -1,15 +1,18 @@ "use client"; import { Close as CloseIcon, Menu as MenuIcon } from "@mui/icons-material"; import { Box, Drawer, IconButton, Typography } from "@mui/material"; +import { useTheme } from "@mui/material/styles"; import { useState } from "react"; import { Link } from "../../components/muiLink"; import { Wrapper } from "../../components/wrapper"; import NymLogo from "../icons/NymLogo"; import ConnectWallet from "../wallet/ConnectWallet"; +import { DarkLightSwitchDesktop } from "./Switch"; import MENU_DATA from "./menuItems"; export const MobileHeader = () => { const [drawerOpen, setDrawerOpen] = useState(false); + const theme = useTheme(); // Mobile menu handlers const toggleDrawer = (open: boolean) => { @@ -31,10 +34,14 @@ export const MobileHeader = () => { sx: { width: "100%", height: "100%", - bgcolor: "base.white", + bgcolor: + theme.palette.mode === "dark" ? "pine.900" : "base.white", overflow: "hidden", position: "relative", - color: "background.main", + color: + theme.palette.mode === "dark" + ? "base.white" + : "background.main", }, }} > @@ -65,7 +72,10 @@ export const MobileHeader = () => { display: "flex", width: "100%", padding: 3.75, - color: "background.main", + color: + theme.palette.mode === "dark" + ? "base.white" + : "background.main", justifyContent: "space-between", alignItems: "center", }} @@ -84,10 +94,20 @@ export const MobileHeader = () => { width: "10px", height: "10px", borderRadius: "100%", - bgcolor: "primary.main", + bgcolor: + theme.palette.mode === "dark" + ? "base.white" + : "primary.main", }} /> - + {menu.title} @@ -139,16 +159,27 @@ const MobileMenuHeader = ({ + {!drawerOpen && } toggleDrawer(!drawerOpen)}> {drawerOpen ? : } - {!drawerOpen && } + + {!drawerOpen && } + ); diff --git a/explorer-v2/src/components/header/Switch.tsx b/explorer-v2/src/components/header/Switch.tsx new file mode 100644 index 0000000000..ff40a40fb6 --- /dev/null +++ b/explorer-v2/src/components/header/Switch.tsx @@ -0,0 +1,78 @@ +"use client"; +import { Button } from "@mui/material"; +import type { PaletteMode } from "@mui/material"; +import Switch from "@mui/material/Switch"; +import { styled } from "@mui/material/styles"; +import { useLocalStorage } from "@uidotdev/usehooks"; +import * as React from "react"; + +export const DarkLightSwitch = styled(Switch)(({ theme }) => ({ + width: 55, + height: 34, + padding: 7, + "& .MuiSwitch-switchBase": { + margin: 1, + padding: 2, + transform: "translateX(4px)", + "&.Mui-checked": { + color: "#fff", + transform: "translateX(22px)", + "& .MuiSwitch-thumb:before": { + backgroundImage: + 'url(\'data:image/svg+xml;utf8,\')', + }, + "& + .MuiSwitch-track": { + opacity: 1, + backgroundColor: theme.palette.mode === "dark" ? "#8796A5" : "#aab4be", + }, + }, + }, + "& .MuiSwitch-thumb": { + backgroundColor: theme.palette.text.primary, + width: 25, + height: 25, + marginTop: "2px", + "&:before": { + content: "''", + position: "absolute", + width: "100%", + height: "100%", + left: 0, + top: 0, + backgroundRepeat: "no-repeat", + backgroundPosition: "center", + backgroundImage: + 'url(\'data:image/svg+xml;utf8,\')', + }, + }, + "& .MuiSwitch-track": { + opacity: 1, + backgroundColor: theme.palette.mode === "dark" ? "#8796A5" : "#aab4be", + borderRadius: 20 / 2, + }, +})); + +// export const DarkLightSwitchMobile: FCWithChildren = () => { +// const { toggleMode } = useMainContext(); +// return ( +// +// ); +// }; + +export const DarkLightSwitchDesktop: FCWithChildren<{ + defaultChecked: boolean; +}> = ({ defaultChecked }) => { + const [mode, setMode] = useLocalStorage("mode", "dark"); + + console.log("mode", mode); + + const toggleMode = () => setMode((m) => (m !== "light" ? "light" : "dark")); + + return ( + + ); +}; diff --git a/explorer-v2/src/components/header/menuItems.ts b/explorer-v2/src/components/header/menuItems.ts index e201f0987d..7697dcb031 100644 --- a/explorer-v2/src/components/header/menuItems.ts +++ b/explorer-v2/src/components/header/menuItems.ts @@ -19,8 +19,7 @@ const MENU_DATA: MenuItem[] = [ id: 3, title: "Onboarding", url: "/onboarding", - } - + }, ]; export default MENU_DATA; diff --git a/explorer-v2/src/components/icons/ArrowUpRight.tsx b/explorer-v2/src/components/icons/ArrowUpRight.tsx index e74a08625e..1ecbe72744 100644 --- a/explorer-v2/src/components/icons/ArrowUpRight.tsx +++ b/explorer-v2/src/components/icons/ArrowUpRight.tsx @@ -3,12 +3,7 @@ import Image from "next/image"; import { icons } from "@/utils/getIconByName"; const ArrowUpRight = () => ( - Arrow Up Right + Arrow Up Right ); export default ArrowUpRight; diff --git a/explorer-v2/src/components/icons/Chevron.tsx b/explorer-v2/src/components/icons/Chevron.tsx index 33ac3259a5..39f66351c2 100644 --- a/explorer-v2/src/components/icons/Chevron.tsx +++ b/explorer-v2/src/components/icons/Chevron.tsx @@ -1,14 +1,9 @@ -import Image from "next/image"; import { icons } from "@/utils/getIconByName"; +import Image from "next/image"; const ChevronMenu = () => { return ( - Chevron Menu + Chevron Menu ); }; diff --git a/explorer-v2/src/components/icons/CopyFile.tsx b/explorer-v2/src/components/icons/CopyFile.tsx index b8f61d031d..280357f929 100644 --- a/explorer-v2/src/components/icons/CopyFile.tsx +++ b/explorer-v2/src/components/icons/CopyFile.tsx @@ -1,6 +1,5 @@ -import Image from "next/image"; import { icons } from "@/utils/getIconByName"; - +import Image from "next/image"; const CopyFile = ({ className }: { className?: string }) => ( ( + Copyfile +); + +export default CopyFile; diff --git a/explorer-v2/src/components/icons/Cross.tsx b/explorer-v2/src/components/icons/Cross.tsx index af3c46952b..3319447f40 100644 --- a/explorer-v2/src/components/icons/Cross.tsx +++ b/explorer-v2/src/components/icons/Cross.tsx @@ -1,5 +1,5 @@ -import Image from "next/image"; import { icons } from "@/utils/getIconByName"; +import Image from "next/image"; const Cross = () => ( cross diff --git a/explorer-v2/src/components/icons/CrossDark.tsx b/explorer-v2/src/components/icons/CrossDark.tsx new file mode 100644 index 0000000000..f45854498a --- /dev/null +++ b/explorer-v2/src/components/icons/CrossDark.tsx @@ -0,0 +1,8 @@ +import { icons } from "@/utils/getIconByName"; +import Image from "next/image"; + +const CrossDark = () => ( + cross +); + +export default CrossDark; diff --git a/explorer-v2/src/components/icons/Elips.tsx b/explorer-v2/src/components/icons/Elips.tsx index 9b72319729..d33a5182eb 100644 --- a/explorer-v2/src/components/icons/Elips.tsx +++ b/explorer-v2/src/components/icons/Elips.tsx @@ -1,5 +1,5 @@ -import Image from "next/image"; import { icons } from "@/utils/getIconByName"; +import Image from "next/image"; export const Elips = () => ( Elips diff --git a/explorer-v2/src/components/icons/ElipseDark.tsx b/explorer-v2/src/components/icons/ElipseDark.tsx new file mode 100644 index 0000000000..c98b743137 --- /dev/null +++ b/explorer-v2/src/components/icons/ElipseDark.tsx @@ -0,0 +1,6 @@ +import { icons } from "@/utils/getIconByName"; +import Image from "next/image"; + +export const ElipseDark = () => ( + Elips +); diff --git a/explorer-v2/src/components/icons/Gateway.tsx b/explorer-v2/src/components/icons/Gateway.tsx index c2f9594d18..d8b55512d0 100644 --- a/explorer-v2/src/components/icons/Gateway.tsx +++ b/explorer-v2/src/components/icons/Gateway.tsx @@ -1,5 +1,5 @@ -import Image from "next/image"; import { icons } from "@/utils/getIconByName"; +import Image from "next/image"; const Gateway = () => { return ( diff --git a/explorer-v2/src/components/icons/NymLogo.tsx b/explorer-v2/src/components/icons/NymLogo.tsx index 1461799c75..0a3434d637 100644 --- a/explorer-v2/src/components/icons/NymLogo.tsx +++ b/explorer-v2/src/components/icons/NymLogo.tsx @@ -1,9 +1,19 @@ -import Image from "next/image"; +"use client"; import { icons } from "@/utils/getIconByName"; +import type { PaletteMode } from "@mui/material"; +import { useLocalStorage } from "@uidotdev/usehooks"; +import Image from "next/image"; const NymLogo = () => { + const [mode] = useLocalStorage("mode", "dark"); + return ( - Nym Logo + Nym Logo ); }; export default NymLogo; diff --git a/explorer-v2/src/components/icons/Token.tsx b/explorer-v2/src/components/icons/Token.tsx index 3cd0475ef0..7b0ac0d1c8 100644 --- a/explorer-v2/src/components/icons/Token.tsx +++ b/explorer-v2/src/components/icons/Token.tsx @@ -1,5 +1,5 @@ -import Image from "next/image"; import { icons } from "@/utils/getIconByName"; +import Image from "next/image"; export const Token = () => { return Token; diff --git a/explorer-v2/src/components/icons/TokenDark.tsx b/explorer-v2/src/components/icons/TokenDark.tsx new file mode 100644 index 0000000000..57e3ba4fac --- /dev/null +++ b/explorer-v2/src/components/icons/TokenDark.tsx @@ -0,0 +1,6 @@ +import { icons } from "@/utils/getIconByName"; +import Image from "next/image"; + +export const TokenDark = () => { + return Token; +}; diff --git a/explorer-v2/src/components/input/Input.tsx b/explorer-v2/src/components/input/Input.tsx index 4bc147243a..12730a5006 100644 --- a/explorer-v2/src/components/input/Input.tsx +++ b/explorer-v2/src/components/input/Input.tsx @@ -24,6 +24,15 @@ const Input = ({ value={value} onChange={onChange} onKeyDown={onKeyDown} + sx={{ + "& .MuiInputBase-input": { + color: "#575D63 !important", + "&::placeholder": { + color: "#575D63 !important", + opacity: "1 !important", + }, + }, + }} slotProps={{ input: { sx: { diff --git a/explorer-v2/src/components/landingPageComponents/CurrentEpochCard.tsx b/explorer-v2/src/components/landingPageComponents/CurrentEpochCard.tsx index b6a4d7ce45..7dfe141bcc 100644 --- a/explorer-v2/src/components/landingPageComponents/CurrentEpochCard.tsx +++ b/explorer-v2/src/components/landingPageComponents/CurrentEpochCard.tsx @@ -30,7 +30,6 @@ const getStartEndTime = (start: string, end: string) => { export const CurrentEpochCard = () => { const { data, isError, isLoading, epochStatus } = useEpochContext(); - const [startTime, setStartTime] = useState(""); const [endTime, setEndTime] = useState(""); const [progress, setProgress] = useState(0); diff --git a/explorer-v2/src/components/landingPageComponents/NetworkStakeCard.tsx b/explorer-v2/src/components/landingPageComponents/NetworkStakeCard.tsx index be4cd9902b..770cc4ae52 100644 --- a/explorer-v2/src/components/landingPageComponents/NetworkStakeCard.tsx +++ b/explorer-v2/src/components/landingPageComponents/NetworkStakeCard.tsx @@ -1,6 +1,6 @@ "use client"; import { fetchNoise } from "@/app/api"; -import { Box, Skeleton, Stack, Typography } from "@mui/material"; +import { Box, Skeleton, Stack, Typography, useTheme } from "@mui/material"; import { useQuery } from "@tanstack/react-query"; import type { ExplorerData, IPacketsAndStakingData } from "../../app/api/types"; import { formatBigNum } from "../../utils/formatBigNumbers"; @@ -8,6 +8,8 @@ import ExplorerCard from "../cards/ExplorerCard"; import { LineChart } from "../lineChart"; export const NetworkStakeCard = () => { + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; const { data: packetsAndStaking, isLoading: isStakingLoading, @@ -15,6 +17,9 @@ export const NetworkStakeCard = () => { } = useQuery({ queryKey: ["noise"], queryFn: fetchNoise, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, }); if (isStakingLoading) { @@ -31,7 +36,13 @@ export const NetworkStakeCard = () => { if (isStakingError || !packetsAndStaking) { return ( - + Failed to load data @@ -45,21 +56,19 @@ export const NetworkStakeCard = () => { const lastTotalStake = packetsAndStaking[packetsAndStaking.length - 1]?.total_stake / 1_000_000; + const startDate = new Date("2025-02-26").getTime(); // Convert to timestamp - const startDate = new Date("2025-02-26").getTime(); // Convert to timestamp - - const data = packetsAndStakingData - .slice(0, -1) // Exclude the last element - .filter((item: IPacketsAndStakingData) => { - const itemDate = new Date(item.date_utc).getTime(); // Convert each date to timestamp - return itemDate >= startDate; // Compare timestamps - }) - .map((item: IPacketsAndStakingData) => ({ - date_utc: item.date_utc, - numericData: item.total_stake / 1000000, - })); - - + const data = packetsAndStakingData + .slice(0, -1) // Exclude the last element + .filter((item: IPacketsAndStakingData) => { + const itemDate = new Date(item.date_utc).getTime(); // Convert each date to timestamp + return itemDate >= startDate; // Compare timestamps + }) + .map((item: IPacketsAndStakingData) => ({ + date_utc: item.date_utc, + numericData: item.total_stake / 1000000, + })) + .filter((item) => item.numericData >= 50_000_000); const stakeLineGraphData = { color: "#00CA33", @@ -74,7 +83,11 @@ export const NetworkStakeCard = () => { {title} diff --git a/explorer-v2/src/components/landingPageComponents/NoiseCard.tsx b/explorer-v2/src/components/landingPageComponents/NoiseCard.tsx index 08aff8c6aa..fdd3786404 100644 --- a/explorer-v2/src/components/landingPageComponents/NoiseCard.tsx +++ b/explorer-v2/src/components/landingPageComponents/NoiseCard.tsx @@ -1,7 +1,14 @@ "use client"; import { fetchNoise } from "@/app/api"; import InfoOutlinedIcon from "@mui/icons-material/InfoOutlined"; -import { Box, Skeleton, Stack, Tooltip, Typography } from "@mui/material"; +import { + Box, + Skeleton, + Stack, + Tooltip, + Typography, + useTheme, +} from "@mui/material"; import { useQuery } from "@tanstack/react-query"; import type { IPacketsAndStakingData } from "../../app/api/types"; import { formatBigNum } from "../../utils/formatBigNumbers"; @@ -10,9 +17,14 @@ import { LineChart } from "../lineChart"; import { UpDownPriceIndicator } from "../price/UpDownPriceIndicator"; export const NoiseCard = () => { + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; const { data, isLoading, isError } = useQuery({ queryKey: ["noise"], queryFn: fetchNoise, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, }); if (isLoading) { @@ -29,7 +41,13 @@ export const NoiseCard = () => { if (isError || !data) { return ( - + Failed to load data @@ -43,8 +61,6 @@ export const NoiseCard = () => { const noiseLast24H = todaysData.total_packets_sent + todaysData.total_packets_received; - - const noisePrevious24H = yesterdaysData.total_packets_sent + yesterdaysData.total_packets_received; @@ -91,15 +107,19 @@ export const NoiseCard = () => { date_utc: item.date_utc, numericData: item.total_packets_sent + item.total_packets_received, }; - }); - + }) + .filter((item) => item.numericData >= 2_500_000_000); return ( {noiseLast24HFormatted} diff --git a/explorer-v2/src/components/landingPageComponents/StakersNumberCard.tsx b/explorer-v2/src/components/landingPageComponents/StakersNumberCard.tsx index 87759eefee..c7d081cf16 100644 --- a/explorer-v2/src/components/landingPageComponents/StakersNumberCard.tsx +++ b/explorer-v2/src/components/landingPageComponents/StakersNumberCard.tsx @@ -1,20 +1,27 @@ "use client"; import { fetchObservatoryNodes } from "@/app/api"; import type { IObservatoryNode } from "@/app/api/types"; -import { Skeleton, Typography } from "@mui/material"; +import { Skeleton, Typography, useTheme } from "@mui/material"; import { useQuery } from "@tanstack/react-query"; import ExplorerCard from "../cards/ExplorerCard"; -export const RewardsCard = () => { +export const StakersNumberCard = () => { const { - data: observatoryNodes, + data: nymNodes, isLoading, isError, } = useQuery({ - queryKey: ["observatoryNodes"], + queryKey: ["nymNodes"], queryFn: () => fetchObservatoryNodes(), + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; + if (isLoading) { return ( @@ -23,26 +30,33 @@ export const RewardsCard = () => { ); } - if (isError || !observatoryNodes) { + if (isError || !nymNodes) { return ( - + Failed to load node data. ); } + const getActiveStakersNumber = (nodes: IObservatoryNode[]): number => { return nodes.reduce( (sum, node) => sum + node.rewarding_details.unique_delegations, 0, ); }; - const allStakers = getActiveStakersNumber(observatoryNodes); + const allStakers = getActiveStakersNumber(nymNodes); return ( - + {allStakers} diff --git a/explorer-v2/src/components/landingPageComponents/TokenomicsCard.tsx b/explorer-v2/src/components/landingPageComponents/TokenomicsCard.tsx index 4a7cab17e4..8a45c9e54e 100644 --- a/explorer-v2/src/components/landingPageComponents/TokenomicsCard.tsx +++ b/explorer-v2/src/components/landingPageComponents/TokenomicsCard.tsx @@ -16,6 +16,10 @@ export const TokenomicsCard = () => { } = useQuery({ queryKey: ["nymPrice"], queryFn: fetchNymPrice, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); const { @@ -25,6 +29,10 @@ export const TokenomicsCard = () => { } = useQuery({ queryKey: ["epochRewards"], queryFn: fetchEpochRewards, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); const { @@ -34,6 +42,10 @@ export const TokenomicsCard = () => { } = useQuery({ queryKey: ["noise"], queryFn: fetchNoise, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); if (isLoading || isEpochLoading || isStakingLoading) { diff --git a/explorer-v2/src/components/lineChart/index.tsx b/explorer-v2/src/components/lineChart/index.tsx index f5adfd5637..2b758e1853 100644 --- a/explorer-v2/src/components/lineChart/index.tsx +++ b/explorer-v2/src/components/lineChart/index.tsx @@ -1,4 +1,5 @@ "use client"; +import { useTheme } from "@mui/material"; import { ResponsiveLine } from "@nivo/line"; export interface ILineChartData { @@ -25,6 +26,9 @@ export const LineChart = ({ color: string; label: string; }) => { + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; + const chartData: ILineAxes = { id: label, data: data.map((item) => ({ @@ -55,6 +59,7 @@ export const LineChart = ({ return ( 7 ? "every 5 days" : "every 2 days", + tickValues: chartData.data.length > 7 ? "every 6 days" : "every 2 days", + }} + sliceTooltip={(slice) => { + const point = slice.slice.points[0]; + const value = point.data.y as number; + const date = point.data.x as Date; + + return ( +
+
+ {date.toLocaleDateString()} +
+
+ {label}: {yformat(value)} +
+
+ ); }} /> ); diff --git a/explorer-v2/src/components/list/ListItem.tsx b/explorer-v2/src/components/list/ListItem.tsx index c844a56158..76d2fe121b 100644 --- a/explorer-v2/src/components/list/ListItem.tsx +++ b/explorer-v2/src/components/list/ListItem.tsx @@ -1,16 +1,10 @@ -import { Divider, Stack, type SxProps, Typography } from "@mui/material"; - -const listItemLabelStyle: SxProps = { - color: "pine.600", - letterSpacing: 0.7, - flexGrow: 1, -}; - -const listItemValueStyle: SxProps = { - fontSize: "small", - fontWeight: 300, - color: "pine.950", -}; +import { + Divider, + Stack, + type SxProps, + Typography, + useTheme, +} from "@mui/material"; const ExplorerListItem = ({ label, @@ -23,6 +17,21 @@ const ExplorerListItem = ({ row?: boolean; divider?: boolean; }) => { + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; + + const listItemLabelStyle: SxProps = { + color: isDarkMode ? "pine.300" : "pine.600", + letterSpacing: 0.7, + flexGrow: 1, + }; + + const listItemValueStyle: SxProps = { + fontSize: "small", + fontWeight: 300, + color: isDarkMode ? "base.white" : "pine.950", + }; + return ( <> { + const theme = useTheme(); if (!props.open) { return null; } @@ -41,7 +46,7 @@ const SimpleModal = (props: SimpleModalProps) => { {title}
- + {theme.palette.mode === "dark" ? : }
{children} diff --git a/explorer-v2/src/components/nodeTable/NodeTable.tsx b/explorer-v2/src/components/nodeTable/NodeTable.tsx index 418d9ab5c1..f0ba4f154f 100644 --- a/explorer-v2/src/components/nodeTable/NodeTable.tsx +++ b/explorer-v2/src/components/nodeTable/NodeTable.tsx @@ -71,6 +71,7 @@ const NodeTable = ({ nodes }: { nodes: MappedNymNodes }) => { const queryClient = useQueryClient(); const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down("sm")); + const isDarkMode = theme.palette.mode === "dark"; const [infoModalProps, setInfoModalProps] = useState({ open: false, @@ -337,25 +338,75 @@ const NodeTable = ({ nodes }: { nodes: MappedNymNodes }) => { }, muiTablePaperProps: { elevation: 0, + sx: { + bgcolor: isDarkMode ? "#0F1720" : "background.paper", + }, }, muiTableHeadRowProps: { sx: { - bgcolor: "background.paper", + bgcolor: isDarkMode ? "#374042" : "background.paper", }, }, muiTableHeadCellProps: { sx: { alignItems: "center", paddingRight: 0, + color: isDarkMode ? "#FFFFFF" : "inherit", }, }, - + muiSearchTextFieldProps: { + InputProps: { + style: { + color: isDarkMode ? "#475569" : "inherit", + }, + }, + sx: { + backgroundColor: isDarkMode ? "#374042" : "white", + "& .MuiOutlinedInput-root": { + color: isDarkMode ? "#475569" : "inherit", + backgroundColor: isDarkMode ? "#374042" : "white", + }, + "& .MuiOutlinedInput-notchedOutline": { + borderColor: isDarkMode ? "#334155" : "inherit", + }, + "&:hover .MuiOutlinedInput-notchedOutline": { + borderColor: isDarkMode ? "#475569" : "inherit", + }, + }, + variant: "outlined", + size: "small", + }, + muiFilterTextFieldProps: { + InputProps: { + sx: { + color: isDarkMode ? "#FFFFFF" : "inherit", + }, + }, + sx: { + "& .MuiInputBase-root": { + backgroundColor: isDarkMode ? "#1C2A2E" : "white", + }, + "& .MuiInputBase-input::placeholder": { + color: isDarkMode ? "#94A3B8" : "inherit", + opacity: 1, + }, + "& .MuiOutlinedInput-notchedOutline": { + borderColor: isDarkMode ? "#334155" : "inherit", + }, + "&:hover .MuiOutlinedInput-notchedOutline": { + borderColor: isDarkMode ? "#475569" : "inherit", + }, + }, + variant: "outlined", + size: "small", + }, muiTableBodyCellProps: { sx: { border: "none", - whiteSpace: "unset", // Allow text wrapping in body cells - wordBreak: "break-word", // Ensure long text breaks correctly + whiteSpace: "unset", + wordBreak: "break-word", paddingRight: 0, + color: isDarkMode ? "#FFFFFF" : "inherit", }, }, muiTableBodyRowProps: ({ row }) => ({ @@ -364,11 +415,16 @@ const NodeTable = ({ nodes }: { nodes: MappedNymNodes }) => { }, hover: true, sx: { - ":nth-child(odd)": { - bgcolor: "#F3F7FB !important", - }, - ":nth-child(even)": { - bgcolor: "white !important", + backgroundColor: isDarkMode + ? row.index % 2 === 0 + ? "#3E4A4C !important" + : "#374042 !important" + : row.index % 2 === 0 + ? "#F3F7FB" + : "white", + "&:hover": { + backgroundColor: `${isDarkMode ? "#2A3436" : "#E5E7EB"} !important`, + transition: "background-color 0.2s ease", }, cursor: "pointer", }, diff --git a/explorer-v2/src/components/nodeTable/NodeTableWithAction.tsx b/explorer-v2/src/components/nodeTable/NodeTableWithAction.tsx index 1786d17af8..54cce06fa1 100644 --- a/explorer-v2/src/components/nodeTable/NodeTableWithAction.tsx +++ b/explorer-v2/src/components/nodeTable/NodeTableWithAction.tsx @@ -66,6 +66,10 @@ const NodeTableWithAction = () => { } = useQuery({ queryKey: ["epochRewards"], queryFn: fetchEpochRewards, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); // Use React Query to fetch Nym nodes @@ -76,6 +80,10 @@ const NodeTableWithAction = () => { } = useQuery({ queryKey: ["nymNodes"], queryFn: fetchObservatoryNodes, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); // Handle loading state diff --git a/explorer-v2/src/components/nymNodePageComponents/BasicInfoCard.tsx b/explorer-v2/src/components/nymNodePageComponents/BasicInfoCard.tsx index 8edca43ae6..6c46d53a44 100644 --- a/explorer-v2/src/components/nymNodePageComponents/BasicInfoCard.tsx +++ b/explorer-v2/src/components/nymNodePageComponents/BasicInfoCard.tsx @@ -1,25 +1,32 @@ "use client"; +import type { IObservatoryNode } from "@/app/api/types"; import { Skeleton, Stack, Typography } from "@mui/material"; import { useQuery } from "@tanstack/react-query"; -import { fetchNodeInfo } from "../../app/api"; +import { fetchObservatoryNodes } from "../../app/api"; import { formatBigNum } from "../../utils/formatBigNumbers"; import ExplorerCard from "../cards/ExplorerCard"; import CopyToClipboard from "../copyToClipboard/CopyToClipboard"; import ExplorerListItem from "../list/ListItem"; -interface IBasicInfoCardProps { - id: number; -} +type Props = { + paramId: string; +}; + +export const BasicInfoCard = ({ paramId }: Props) => { + let nodeInfo: IObservatoryNode | undefined; -export const BasicInfoCard = ({ id }: IBasicInfoCardProps) => { const { - data: nodeInfo, + data: nymNodes, isLoading, isError, } = useQuery({ - queryKey: ["nodeInfo", id], - queryFn: () => fetchNodeInfo(id), + queryKey: ["nymNodes"], + queryFn: fetchObservatoryNodes, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); if (isLoading) { @@ -35,7 +42,7 @@ export const BasicInfoCard = ({ id }: IBasicInfoCardProps) => { ); } - if (isError || !nodeInfo) { + if (isError || !nymNodes) { return ( @@ -45,6 +52,16 @@ export const BasicInfoCard = ({ id }: IBasicInfoCardProps) => { ); } + // get node info based on wether it's dentity_key or node_id + + if (paramId.length > 10) { + nodeInfo = nymNodes.find((node) => node.identity_key === paramId); + } else { + nodeInfo = nymNodes.find((node) => node.node_id === Number(paramId)); + } + + if (!nodeInfo) return null; + const selfBond = formatBigNum( Number(nodeInfo.rewarding_details.operator) / 1_000_000, ); diff --git a/explorer-v2/src/components/nymNodePageComponents/DelegationsTable.tsx b/explorer-v2/src/components/nymNodePageComponents/DelegationsTable.tsx index 25fa7ce93e..370388e752 100644 --- a/explorer-v2/src/components/nymNodePageComponents/DelegationsTable.tsx +++ b/explorer-v2/src/components/nymNodePageComponents/DelegationsTable.tsx @@ -1,6 +1,8 @@ "use client"; -import { Stack, Typography } from "@mui/material"; +import { fetchNodeDelegations } from "@/app/api"; +import { Stack, Typography, useTheme } from "@mui/material"; +import { useQuery } from "@tanstack/react-query"; import { type MRT_ColumnDef, MaterialReactTable, @@ -27,12 +29,22 @@ const getNymsFormated = (unyms: string) => { return balance.toFixed(); }; -const DelegationsTable = ({ - delegations, -}: { - delegations: NodeRewardDetails[]; -}) => { +type Props = { + id: number; +}; + +const DelegationsTable = ({ id }: Props) => { const router = useRouter(); + const theme = useTheme(); + + const { data: delegations = [], isError } = useQuery({ + queryKey: ["nodeDelegations", id], + queryFn: () => fetchNodeDelegations(id), + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, + }); const columns: MRT_ColumnDef[] = useMemo( () => [ @@ -113,7 +125,10 @@ const DelegationsTable = ({ }, muiTableHeadRowProps: { sx: { - bgcolor: "background.paper", + bgcolor: + theme.palette.mode === "dark" + ? "rgba(255, 255, 255, 0.05)" + : "background.paper", }, }, @@ -129,15 +144,30 @@ const DelegationsTable = ({ hover: true, sx: { ":nth-child(odd)": { - bgcolor: "#F3F7FB !important", + bgcolor: + theme.palette.mode === "dark" + ? "rgba(255, 255, 255, 0.05) !important" + : "#F3F7FB !important", }, ":nth-child(even)": { - bgcolor: "white !important", + bgcolor: + theme.palette.mode === "dark" + ? "transparent !important" + : "white !important", }, cursor: "pointer", + "&:hover": { + bgcolor: + theme.palette.mode === "dark" + ? "rgba(255, 255, 255, 0.1) !important" + : "rgba(0, 0, 0, 0.04) !important", + }, }, }), }); + + if (isError) return null; + return ; }; diff --git a/explorer-v2/src/components/nymNodePageComponents/NodeDataCard.tsx b/explorer-v2/src/components/nymNodePageComponents/NodeDataCard.tsx index 689b9f7550..ccac2c1920 100644 --- a/explorer-v2/src/components/nymNodePageComponents/NodeDataCard.tsx +++ b/explorer-v2/src/components/nymNodePageComponents/NodeDataCard.tsx @@ -1,18 +1,20 @@ "use client"; -import { useQuery } from "@tanstack/react-query"; -import { fetchEpochRewards, fetchNodeInfo } from "../../app/api"; - +import type { IObservatoryNode } from "@/app/api/types"; import { Skeleton, Typography } from "@mui/material"; +import { useQuery } from "@tanstack/react-query"; import { format } from "date-fns"; +import { fetchEpochRewards, fetchObservatoryNodes } from "../../app/api"; import ExplorerCard from "../cards/ExplorerCard"; import ExplorerListItem from "../list/ListItem"; -interface INodeMetricsCardProps { - id: number; // Node ID -} +type Props = { + paramId: string; +}; + +export const NodeDataCard = ({ paramId }: Props) => { + let nodeInfo: IObservatoryNode | undefined; -export const NodeDataCard = ({ id }: INodeMetricsCardProps) => { const { data: epochRewardsData, isLoading: isEpochLoading, @@ -20,19 +22,27 @@ export const NodeDataCard = ({ id }: INodeMetricsCardProps) => { } = useQuery({ queryKey: ["epochRewards"], queryFn: fetchEpochRewards, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); // Fetch node information const { - data: nodeInfo, - isLoading: isNodeLoading, - isError: isNodeError, + data: nymNodes, + isLoading, + isError, } = useQuery({ - queryKey: ["nodeInfo", id], - queryFn: () => fetchNodeInfo(id), + queryKey: ["nymNodes"], + queryFn: fetchObservatoryNodes, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); - if (isEpochLoading || isNodeLoading) { + if (isEpochLoading || isLoading) { return ( @@ -43,7 +53,7 @@ export const NodeDataCard = ({ id }: INodeMetricsCardProps) => { ); } - if (isEpochError || isNodeError || !nodeInfo || !epochRewardsData) { + if (isEpochError || isError || !nymNodes || !epochRewardsData) { return ( @@ -53,6 +63,16 @@ export const NodeDataCard = ({ id }: INodeMetricsCardProps) => { ); } + // get node info based on wether it's dentity_key or node_id + + if (paramId.length > 10) { + nodeInfo = nymNodes.find((node) => node.identity_key === paramId); + } else { + nodeInfo = nymNodes.find((node) => node.node_id === Number(paramId)); + } + + if (!nodeInfo) return null; + const softwareUpdateTime = format( new Date(nodeInfo.description.build_information.build_timestamp), "dd/MM/yyyy", diff --git a/explorer-v2/src/components/nymNodePageComponents/NodeDelegationsCard.tsx b/explorer-v2/src/components/nymNodePageComponents/NodeDelegationsCard.tsx index 3db9996a40..8a3b059a94 100644 --- a/explorer-v2/src/components/nymNodePageComponents/NodeDelegationsCard.tsx +++ b/explorer-v2/src/components/nymNodePageComponents/NodeDelegationsCard.tsx @@ -1,25 +1,42 @@ "use client"; -import { fetchNodeDelegations } from "@/app/api"; +import { fetchObservatoryNodes } from "@/app/api"; +import type { IObservatoryNode } from "@/app/api/types"; import { Skeleton, Typography } from "@mui/material"; import { useQuery } from "@tanstack/react-query"; import ExplorerCard from "../cards/ExplorerCard"; import DelegationsTable from "./DelegationsTable"; -interface NodeDelegationsCardProps { - id: number; // Node ID -} +type Props = { + paramId: string; +}; + +const NodeDelegationsCard = ({ paramId }: Props) => { + let nodeInfo: IObservatoryNode | undefined; -const NodeDelegationsCard = ({ id }: NodeDelegationsCardProps) => { const { - data: delegations = [], - isLoading, + data: nymNodes, isError, + isLoading, } = useQuery({ - queryKey: ["nodeDelegations", id], - queryFn: () => fetchNodeDelegations(id), + queryKey: ["nymNodes"], + queryFn: fetchObservatoryNodes, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); + if (paramId.length > 10) { + nodeInfo = nymNodes?.find((node) => node.identity_key === paramId); + } else { + nodeInfo = nymNodes?.find((node) => node.node_id === Number(paramId)); + } + + if (!nodeInfo) return null; + + const id = nodeInfo.node_id; + if (isLoading) { return ( @@ -43,7 +60,7 @@ const NodeDelegationsCard = ({ id }: NodeDelegationsCardProps) => { return ( - + ); }; diff --git a/explorer-v2/src/components/nymNodePageComponents/NodePageButtonGroup.tsx b/explorer-v2/src/components/nymNodePageComponents/NodePageButtonGroup.tsx new file mode 100644 index 0000000000..7c33f49263 --- /dev/null +++ b/explorer-v2/src/components/nymNodePageComponents/NodePageButtonGroup.tsx @@ -0,0 +1,54 @@ +"use client"; + +import { fetchObservatoryNodes } from "@/app/api"; +import type { IObservatoryNode } from "@/app/api/types"; +import ExplorerButtonGroup from "@/components/toggleButton/ToggleButton"; +import { useQuery } from "@tanstack/react-query"; + +type Props = { + paramId: string; +}; + +export default function NodePageButtonGroup({ paramId }: Props) { + let nodeInfo: IObservatoryNode | undefined; + + const { data: nymNodes, isError } = useQuery({ + queryKey: ["nymNodes"], + queryFn: fetchObservatoryNodes, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, + }); + + if (!nymNodes || isError) return null; + + // get node info based on wether it's dentity_key or node_id + + if (paramId.length > 10) { + nodeInfo = nymNodes.find((node) => node.identity_key === paramId); + } else { + nodeInfo = nymNodes.find((node) => node.node_id === Number(paramId)); + } + + if (!nodeInfo) return null; + + if (nodeInfo.bonding_address) + return ( + + ); +} diff --git a/explorer-v2/src/components/nymNodePageComponents/NodeParametersCard.tsx b/explorer-v2/src/components/nymNodePageComponents/NodeParametersCard.tsx index 305896f3b0..d73e72ddcd 100644 --- a/explorer-v2/src/components/nymNodePageComponents/NodeParametersCard.tsx +++ b/explorer-v2/src/components/nymNodePageComponents/NodeParametersCard.tsx @@ -3,16 +3,18 @@ import { formatBigNum } from "@/utils/formatBigNumbers"; import { Skeleton, Typography } from "@mui/material"; import { useQuery } from "@tanstack/react-query"; -import { fetchEpochRewards, fetchNodeInfo } from "../../app/api"; -import type { RewardingDetails } from "../../app/api/types"; +import { fetchEpochRewards, fetchObservatoryNodes } from "../../app/api"; +import type { IObservatoryNode, RewardingDetails } from "../../app/api/types"; import ExplorerCard from "../cards/ExplorerCard"; import ExplorerListItem from "../list/ListItem"; -interface INodeParametersCardProps { - id: number; // Node ID -} +type Props = { + paramId: string; +}; + +export const NodeParametersCard = ({ paramId }: Props) => { + let nodeInfo: IObservatoryNode | undefined; -export const NodeParametersCard = ({ id }: INodeParametersCardProps) => { // Fetch epoch rewards const { data: epochRewardsData, @@ -21,19 +23,27 @@ export const NodeParametersCard = ({ id }: INodeParametersCardProps) => { } = useQuery({ queryKey: ["epochRewards"], queryFn: fetchEpochRewards, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); // Fetch node information const { - data: nodeInfo, - isLoading: isNodeLoading, - isError: isNodeError, + data: nymNodes, + isLoading, + isError, } = useQuery({ - queryKey: ["nodeInfo", id], - queryFn: () => fetchNodeInfo(id), + queryKey: ["nymNodes"], + queryFn: fetchObservatoryNodes, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); - if (isEpochLoading || isNodeLoading) { + if (isEpochLoading || isLoading) { return ( @@ -44,7 +54,7 @@ export const NodeParametersCard = ({ id }: INodeParametersCardProps) => { ); } - if (isEpochError || isNodeError || !nodeInfo || !epochRewardsData) { + if (isEpochError || isError || !nymNodes || !epochRewardsData) { return ( @@ -53,6 +63,15 @@ export const NodeParametersCard = ({ id }: INodeParametersCardProps) => { ); } + // get node info based on wether it's dentity_key or node_id + + if (paramId.length > 10) { + nodeInfo = nymNodes.find((node) => node.identity_key === paramId); + } else { + nodeInfo = nymNodes.find((node) => node.node_id === Number(paramId)); + } + + if (!nodeInfo) return null; const totalStake = formatBigNum(Number(nodeInfo.total_stake) / 1_000_000); const totalStakeFormatted = `${totalStake} NYM`; diff --git a/explorer-v2/src/components/nymNodePageComponents/NodeProfileCard.tsx b/explorer-v2/src/components/nymNodePageComponents/NodeProfileCard.tsx index c55ddc4a7a..5bef0c4cf1 100644 --- a/explorer-v2/src/components/nymNodePageComponents/NodeProfileCard.tsx +++ b/explorer-v2/src/components/nymNodePageComponents/NodeProfileCard.tsx @@ -1,12 +1,20 @@ "use client"; +import type { IObservatoryNode } from "@/app/api/types"; import { useChain } from "@cosmos-kit/react"; -import { Box, Button, Skeleton, Stack, Typography } from "@mui/material"; +import { + Box, + Button, + Skeleton, + Stack, + Typography, + useTheme, +} from "@mui/material"; import { useQuery } from "@tanstack/react-query"; import DOMPurify from "isomorphic-dompurify"; import { useCallback, useState } from "react"; import { RandomAvatar } from "react-random-avatars"; -import { fetchNodeInfo } from "../../app/api"; +import { fetchObservatoryNodes } from "../../app/api"; import { COSMOS_KIT_USE_CHAIN } from "../../config"; import { useNymClient } from "../../hooks/useNymClient"; import ExplorerCard from "../cards/ExplorerCard"; @@ -18,11 +26,14 @@ import StakeModal from "../staking/StakeModal"; import { fee } from "../staking/schemas"; import ConnectWallet from "../wallet/ConnectWallet"; -interface INodeProfileCardProps { - id: number; // Node ID -} +type Props = { + paramId: string; +}; + +export const NodeProfileCard = ({ paramId }: Props) => { + let nodeInfo: IObservatoryNode | undefined; + const theme = useTheme(); -export const NodeProfileCard = ({ id }: INodeProfileCardProps) => { const { isWalletConnected } = useChain(COSMOS_KIT_USE_CHAIN); const { nymClient } = useNymClient(); const [infoModalProps, setInfoModalProps] = useState({ @@ -36,14 +47,79 @@ export const NodeProfileCard = ({ id }: INodeProfileCardProps) => { // Fetch node info const { - data: nodeInfo, - isLoading: isNodeLoading, - isError: isNodeError, + data: nymNodes, + isLoading: isLoadingNymNodes, + isError, } = useQuery({ - queryKey: ["nodeInfo", id], - queryFn: () => fetchNodeInfo(id), + queryKey: ["nymNodes"], + queryFn: fetchObservatoryNodes, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); + // get node info based on wether it's dentity_key or node_id + + if (paramId.length > 10) { + nodeInfo = nymNodes?.find((node) => node.identity_key === paramId); + } else { + nodeInfo = nymNodes?.find((node) => node.node_id === Number(paramId)); + } + + const handleOnSelectStake = useCallback(() => { + if (!nodeInfo) return; + if (!isWalletConnected) { + setInfoModalProps({ + open: true, + title: "Connect Wallet", + message: "Connect your wallet to stake", + Action: ( + + setInfoModalProps({ + open: false, + }) + } + /> + ), + onClose: () => setInfoModalProps({ open: false }), + }); + return; + } + if (nodeInfo) { + setSelectedNodeForStaking({ + nodeId: nodeInfo.node_id, + identityKey: nodeInfo.identity_key, + }); + } + }, [isWalletConnected, nodeInfo]); + + if (isLoadingNymNodes) { + return ( + + + + + + ); + } + if (isError || !nymNodes) { + return ( + + + Failed to load node data. + + + ); + } + const handleStakeOnNode = async ({ nodeId, amount, @@ -86,53 +162,8 @@ export const NodeProfileCard = ({ id }: INodeProfileCardProps) => { setIsLoading(false); }; - const handleOnSelectStake = useCallback(() => { - if (!isWalletConnected) { - setInfoModalProps({ - open: true, - title: "Connect Wallet", - message: "Connect your wallet to stake", - Action: ( - - setInfoModalProps({ - open: false, - }) - } - /> - ), - onClose: () => setInfoModalProps({ open: false }), - }); - return; - } - if (nodeInfo) { - setSelectedNodeForStaking({ - nodeId: nodeInfo.node_id, - identityKey: nodeInfo.identity_key, - }); - } - }, [isWalletConnected, nodeInfo]); + if (!nodeInfo) return null; - if (isNodeLoading) { - return ( - - - - - - ); - } - - if (isNodeError || !nodeInfo) { - return ( - - - Failed to load node data. - - - ); - } const cleanMoniker = DOMPurify.sanitize( nodeInfo?.self_description.moniker, ).replace(/&/g, "&"); @@ -158,13 +189,24 @@ export const NodeProfileCard = ({ id }: INodeProfileCardProps) => { variant="h3" mt={3} mb={1} - sx={{ color: "pine.950", wordWrap: "break-word", maxWidth: "95%" }} + sx={{ + color: theme.palette.mode === "dark" ? "base.white" : "pine.950", + wordWrap: "break-word", + maxWidth: "95%", + }} > {cleanMoniker || "Moniker"} {nodeInfo.description.auxiliary_details.location && ( - Location: + + Location: + { )} {nodeInfo && ( - + {cleanDescription} )} diff --git a/explorer-v2/src/components/nymNodePageComponents/NodeRoleCard.tsx b/explorer-v2/src/components/nymNodePageComponents/NodeRoleCard.tsx index fdb24001af..5c3a2a49bf 100644 --- a/explorer-v2/src/components/nymNodePageComponents/NodeRoleCard.tsx +++ b/explorer-v2/src/components/nymNodePageComponents/NodeRoleCard.tsx @@ -5,16 +5,20 @@ import { useQuery } from "@tanstack/react-query"; import { fetchEpochRewards, fetchGatewayStatus, - fetchNodeInfo, + fetchObservatoryNodes, } from "../../app/api"; -import type { LastProbeResult, NodeDescription } from "../../app/api/types"; +import type { + IObservatoryNode, + LastProbeResult, + NodeDescription, +} from "../../app/api/types"; import ExplorerCard from "../cards/ExplorerCard"; import ExplorerListItem from "../list/ListItem"; import StarRating from "../starRating/StarRating"; -interface INodeRoleCardProps { - id: number; // Node ID -} +type Props = { + paramId: string; +}; type NodeDescriptionNotNull = NonNullable; type DeclaredRoleKey = keyof NodeDescriptionNotNull["declared_role"]; @@ -143,15 +147,21 @@ function calculateWireguardPerformance(probeResult: LastProbeResult): number { } } -export const NodeRoleCard = ({ id }: INodeRoleCardProps) => { +export const NodeRoleCard = ({ paramId }: Props) => { + let nodeInfo: IObservatoryNode | undefined; + // Fetch node info const { - data: nodeInfo, + data: nymNodes, isLoading, isError, } = useQuery({ - queryKey: ["nodeInfo", id], - queryFn: () => fetchNodeInfo(id), + queryKey: ["nymNodes"], + queryFn: fetchObservatoryNodes, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); const { data: epochRewardsData, @@ -160,9 +170,17 @@ export const NodeRoleCard = ({ id }: INodeRoleCardProps) => { } = useQuery({ queryKey: ["epochRewards"], queryFn: fetchEpochRewards, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); - // Extract node roles once `nodeInfo` is available + if (paramId.length > 10) { + nodeInfo = nymNodes?.find((node) => node.identity_key === paramId); + } else { + nodeInfo = nymNodes?.find((node) => node.node_id === Number(paramId)); + } // Extract node roles once `nodeInfo` is available const nodeRoles = nodeInfo ? getNodeRoles(nodeInfo.description.declared_role) : []; @@ -177,6 +195,9 @@ export const NodeRoleCard = ({ id }: INodeRoleCardProps) => { queryKey: ["gatewayStatus", nodeInfo?.identity_key], queryFn: () => fetchGatewayStatus(nodeInfo?.identity_key || ""), enabled: !!nodeInfo?.identity_key && shouldFetchGatewayStatus, // ✅ Only fetch if needed + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, }); if (isLoading || isEpochLoading) { @@ -189,7 +210,7 @@ export const NodeRoleCard = ({ id }: INodeRoleCardProps) => { ); } - if (isError || !nodeInfo || !epochRewardsData || isEpochError) { + if (isError || !nymNodes || !epochRewardsData || isEpochError) { return ( @@ -205,6 +226,8 @@ export const NodeRoleCard = ({ id }: INodeRoleCardProps) => { )); + if (!nodeInfo) return null; + const qualityOfServiceStars = nodeInfo?.uptime ? calculateQualityOfServiceStars(nodeInfo.uptime) : gatewayStatus diff --git a/explorer-v2/src/components/staking/OriginalStakeCard.tsx b/explorer-v2/src/components/staking/OriginalStakeCard.tsx index bfc0dde890..62a9785d4b 100644 --- a/explorer-v2/src/components/staking/OriginalStakeCard.tsx +++ b/explorer-v2/src/components/staking/OriginalStakeCard.tsx @@ -1,6 +1,6 @@ "use client"; -import { Skeleton, Typography } from "@mui/material"; +import { Skeleton, Typography, useTheme } from "@mui/material"; import { useQuery } from "@tanstack/react-query"; import { fetchOriginalStake } from "../../app/api"; import { useNymClient } from "../../hooks/useNymClient"; @@ -9,6 +9,8 @@ import ExplorerCard from "../cards/ExplorerCard"; const OriginalStakeCard = () => { const { address } = useNymClient(); + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; // Use React Query to fetch original stake const { @@ -19,6 +21,9 @@ const OriginalStakeCard = () => { queryKey: ["originalStake", address], queryFn: () => fetchOriginalStake(address || ""), enabled: !!address, // Only fetch if address exists + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, }); if (!address) { @@ -36,7 +41,10 @@ const OriginalStakeCard = () => { if (isError) { return ( - + Failed to load original stake. @@ -47,7 +55,11 @@ const OriginalStakeCard = () => { {`${formatBigNum(originalStake / 1_000_000)} NYM`} diff --git a/explorer-v2/src/components/staking/StakeModal.tsx b/explorer-v2/src/components/staking/StakeModal.tsx index c50e9a1b9f..9ebbb75a95 100644 --- a/explorer-v2/src/components/staking/StakeModal.tsx +++ b/explorer-v2/src/components/staking/StakeModal.tsx @@ -99,6 +99,17 @@ const StakeModal = ({ initialValue={identityKey} readOnly showTickOnValid={false} + sx={{ + "& .MuiInputBase-input": { + color: "rgba(0, 0, 0, 0.87)", + "&::placeholder": { + color: "rgba(0, 0, 0, 0.54)", + }, + }, + "& .Mui-disabled": { + color: "rgba(0, 0, 0, 0.38)", + }, + }} /> @@ -113,6 +124,17 @@ const StakeModal = ({ onChanged={setAmount} denom={"nym"} validationError={errorAmount} + sx={{ + "& .MuiInputBase-input": { + color: "rgba(0, 0, 0, 0.87)", + "&::placeholder": { + color: "rgba(0, 0, 0, 0.54)", + }, + }, + "& .Mui-disabled": { + color: "rgba(0, 0, 0, 0.38)", + }, + }} /> diff --git a/explorer-v2/src/components/staking/StakeTable.tsx b/explorer-v2/src/components/staking/StakeTable.tsx index ce07fd13c9..95b191f858 100644 --- a/explorer-v2/src/components/staking/StakeTable.tsx +++ b/explorer-v2/src/components/staking/StakeTable.tsx @@ -98,13 +98,10 @@ const StakeTable = ({ nodes }: { nodes: MappedNymNodes }) => { const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down("sm")); - + const isDarkMode = theme.palette.mode === "dark"; const router = useRouter(); - const queryClient = useQueryClient(); - // Custom Hook for fetching pending events - const handleRefetch = useCallback(async () => { await queryClient.invalidateQueries(); }, [queryClient]); @@ -563,41 +560,93 @@ const StakeTable = ({ nodes }: { nodes: MappedNymNodes }) => { sx: { fontFamily: "labGrotesqueMono", fontSize: "14px", + color: isDarkMode ? "#FFFFFF" : "inherit", }, }, color: "primary", shape: "circular", }, - initialState: { - columnPinning: isMobile ? {} : { right: ["Action", "Favorite"] }, // No pinning on mobile + columnPinning: isMobile ? {} : { right: ["Action", "Favorite"] }, }, muiColumnActionsButtonProps: { sx: { - color: "red", + color: isDarkMode ? "#FFFFFF" : "inherit", }, size: "small", }, muiTablePaperProps: { elevation: 0, - }, - muiTableHeadCellProps: { sx: { - alignItems: "center", + bgcolor: isDarkMode ? "#0F1720" : "background.paper", }, }, muiTableHeadRowProps: { sx: { - bgcolor: "background.paper", + bgcolor: isDarkMode ? "#374042" : "background.paper", }, }, - + muiTableHeadCellProps: { + sx: { + alignItems: "center", + paddingRight: 0, + color: isDarkMode ? "#FFFFFF" : "inherit", + }, + }, + muiSearchTextFieldProps: { + InputProps: { + style: { + color: isDarkMode ? "#475569" : "inherit", + }, + }, + sx: { + backgroundColor: isDarkMode ? "#374042" : "white", + "& .MuiOutlinedInput-root": { + color: isDarkMode ? "#475569" : "inherit", + backgroundColor: isDarkMode ? "#374042" : "white", + }, + "& .MuiOutlinedInput-notchedOutline": { + borderColor: isDarkMode ? "#334155" : "inherit", + }, + "&:hover .MuiOutlinedInput-notchedOutline": { + borderColor: isDarkMode ? "#475569" : "inherit", + }, + }, + variant: "outlined", + size: "small", + }, + muiFilterTextFieldProps: { + InputProps: { + sx: { + color: isDarkMode ? "#FFFFFF" : "inherit", + }, + }, + sx: { + "& .MuiInputBase-root": { + backgroundColor: isDarkMode ? "#1C2A2E" : "white", + }, + "& .MuiInputBase-input::placeholder": { + color: isDarkMode ? "#94A3B8" : "inherit", + opacity: 1, + }, + "& .MuiOutlinedInput-notchedOutline": { + borderColor: isDarkMode ? "#334155" : "inherit", + }, + "&:hover .MuiOutlinedInput-notchedOutline": { + borderColor: isDarkMode ? "#475569" : "inherit", + }, + }, + variant: "outlined", + size: "small", + }, muiTableBodyCellProps: { sx: { border: "none", - whiteSpace: "unset", // Allow text wrapping in body cells + whiteSpace: "unset", wordBreak: "break-word", + paddingRight: 0, + color: isDarkMode ? "#FFFFFF" : "inherit", }, }, muiTableBodyRowProps: ({ row }) => ({ @@ -606,11 +655,16 @@ const StakeTable = ({ nodes }: { nodes: MappedNymNodes }) => { }, hover: true, sx: { - ":nth-child(odd)": { - bgcolor: "#F3F7FB !important", - }, - ":nth-child(even)": { - bgcolor: "white !important", + backgroundColor: isDarkMode + ? row.index % 2 === 0 + ? "#3E4A4C !important" + : "#374042 !important" + : row.index % 2 === 0 + ? "#F3F7FB" + : "white", + "&:hover": { + backgroundColor: `${isDarkMode ? "#2A3436" : "#E5E7EB"} !important`, + transition: "background-color 0.2s ease", }, cursor: "pointer", }, diff --git a/explorer-v2/src/components/staking/StakeTableWithAction.tsx b/explorer-v2/src/components/staking/StakeTableWithAction.tsx index bdf24ef5e6..adbf14b697 100644 --- a/explorer-v2/src/components/staking/StakeTableWithAction.tsx +++ b/explorer-v2/src/components/staking/StakeTableWithAction.tsx @@ -64,6 +64,10 @@ const StakeTableWithAction = () => { } = useQuery({ queryKey: ["epochRewards"], queryFn: fetchEpochRewards, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); // Use React Query to fetch Nym nodes @@ -74,6 +78,10 @@ const StakeTableWithAction = () => { } = useQuery({ queryKey: ["nymNodes"], queryFn: fetchObservatoryNodes, + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, + refetchOnMount: false, }); // Handle loading state diff --git a/explorer-v2/src/components/staking/SubHeaderRowActions.tsx b/explorer-v2/src/components/staking/SubHeaderRowActions.tsx index 645f2462b3..3f5d9c3a9e 100644 --- a/explorer-v2/src/components/staking/SubHeaderRowActions.tsx +++ b/explorer-v2/src/components/staking/SubHeaderRowActions.tsx @@ -1,5 +1,7 @@ "use client"; +import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate"; +import { GasPrice } from "@cosmjs/stargate"; import { useChain } from "@cosmos-kit/react"; import { Button, Stack } from "@mui/material"; import type { Delegation } from "@nymproject/contract-clients/Mixnet.types"; @@ -13,8 +15,6 @@ import Loading from "../loading"; import InfoModal, { type InfoModalProps } from "../modal/InfoModal"; import RedeemRewardsModal from "../redeemRewards/RedeemRewardsModal"; -const fee = { gas: "1000000", amount: [{ amount: "1000000", denom: "unym" }] }; - // Fetch delegations const fetchDelegations = async ( address: string, @@ -34,7 +34,7 @@ const SubHeaderRowActions = () => { }); const { address, nymClient } = useNymClient(); - const { getSigningCosmWasmClient } = useChain(COSMOS_KIT_USE_CHAIN); + const { getOfflineSigner } = useChain(COSMOS_KIT_USE_CHAIN); const queryClient = useQueryClient(); @@ -59,6 +59,9 @@ const SubHeaderRowActions = () => { queryKey: ["totalStakerRewards", address], queryFn: () => fetchTotalStakerRewards(address || ""), enabled: !!address, // Only fetch if address is available + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, }); const handleRefetch = useCallback(async () => { @@ -75,6 +78,15 @@ const SubHeaderRowActions = () => { throw new Error("Wallet, client, or delegations not available."); } + const signer = await getOfflineSigner(); + const gasPrice = GasPrice.fromString("0.025unym"); + + const client = await SigningCosmWasmClient.connectWithSigner( + "https://rpc.nymtech.net/", + signer, + { gasPrice }, + ); + const messages = delegations.map((delegation: NodeRewardDetails) => ({ contractAddress: NYM_MIXNET_CONTRACT, funds: [], @@ -85,12 +97,10 @@ const SubHeaderRowActions = () => { }, })); - const cosmWasmSigningClient = await getSigningCosmWasmClient(); - - const result = await cosmWasmSigningClient.executeMultiple( + const result = await client.executeMultiple( address, messages, - fee, + "auto", "Redeeming all rewards", ); // Success state @@ -118,13 +128,7 @@ const SubHeaderRowActions = () => { } finally { setIsLoading(false); } - }, [ - address, - nymClient, - delegations, - getSigningCosmWasmClient, - handleRefetch, - ]); + }, [address, nymClient, delegations, handleRefetch, getOfflineSigner]); const handleRedeemRewardsButtonClick = () => { setOpenRedeemRewardsModal(true); diff --git a/explorer-v2/src/components/staking/TotalRewardsCard.tsx b/explorer-v2/src/components/staking/TotalRewardsCard.tsx index 3017a7ca37..cc9a4ac67e 100644 --- a/explorer-v2/src/components/staking/TotalRewardsCard.tsx +++ b/explorer-v2/src/components/staking/TotalRewardsCard.tsx @@ -1,6 +1,6 @@ "use client"; -import { Skeleton, Typography } from "@mui/material"; +import { Skeleton, Typography, useTheme } from "@mui/material"; import { useQuery } from "@tanstack/react-query"; import { fetchTotalStakerRewards } from "../../app/api"; import { useNymClient } from "../../hooks/useNymClient"; @@ -9,8 +9,10 @@ import ExplorerCard from "../cards/ExplorerCard"; const TotalRewardsCard = () => { const { address } = useNymClient(); + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; - // Use React Query to fetch total staker rewards + // Use React Query to fetch total rewards const { data: totalStakerRewards = 0, isLoading, @@ -19,6 +21,9 @@ const TotalRewardsCard = () => { queryKey: ["totalStakerRewards", address], queryFn: () => fetchTotalStakerRewards(address || ""), enabled: !!address, // Only fetch if address exists + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, }); if (!address) { @@ -36,7 +41,10 @@ const TotalRewardsCard = () => { if (isError) { return ( - + Failed to load total rewards. @@ -47,7 +55,11 @@ const TotalRewardsCard = () => { {`${formatBigNum(totalStakerRewards / 1_000_000)} NYM`} diff --git a/explorer-v2/src/components/staking/TotalStakeCard.tsx b/explorer-v2/src/components/staking/TotalStakeCard.tsx index 020d0c73a6..7ec1982fb3 100644 --- a/explorer-v2/src/components/staking/TotalStakeCard.tsx +++ b/explorer-v2/src/components/staking/TotalStakeCard.tsx @@ -1,6 +1,6 @@ "use client"; -import { Skeleton, Typography } from "@mui/material"; +import { Skeleton, Typography, useTheme } from "@mui/material"; import { useQuery } from "@tanstack/react-query"; import { fetchBalances } from "../../app/api"; import { useNymClient } from "../../hooks/useNymClient"; @@ -9,6 +9,8 @@ import ExplorerCard from "../cards/ExplorerCard"; const TotalStakeCard = () => { const { address } = useNymClient(); + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; // Use React Query to fetch total stake const { @@ -19,6 +21,9 @@ const TotalStakeCard = () => { queryKey: ["totalStake", address], queryFn: () => fetchBalances(address || ""), enabled: !!address, // Only fetch if address exists + staleTime: 10 * 60 * 1000, // 10 minutes + refetchOnWindowFocus: false, // Prevents unnecessary refetching + refetchOnReconnect: false, }); if (!address) { @@ -36,7 +41,10 @@ const TotalStakeCard = () => { if (isError) { return ( - + Failed to load total stake. @@ -47,7 +55,11 @@ const TotalStakeCard = () => { {`${formatBigNum(totalStake / 1_000_000)} NYM`} diff --git a/explorer-v2/src/components/wallet/ConnectWallet.tsx b/explorer-v2/src/components/wallet/ConnectWallet.tsx index 33308e77e7..387927706c 100644 --- a/explorer-v2/src/components/wallet/ConnectWallet.tsx +++ b/explorer-v2/src/components/wallet/ConnectWallet.tsx @@ -7,9 +7,11 @@ import { type ButtonProps, IconButton, Typography, + useTheme, } from "@mui/material"; import { COSMOS_KIT_USE_CHAIN } from "../../config"; import Cross from "../icons/Cross"; +import CrossDark from "../icons/CrossDark"; import { WalletAddress } from "./WalletAddress"; import { WalletBalance } from "./WalletBalance"; @@ -21,6 +23,7 @@ interface ButtonPropsWithOnClick extends ButtonProps { const ConnectWallet = ({ ...buttonProps }: ButtonPropsWithOnClick) => { const { connect, disconnect, address, isWalletConnected } = useChain(COSMOS_KIT_USE_CHAIN); + const theme = useTheme(); const handleConnectWallet = async () => { buttonProps.onClick?.(); @@ -58,7 +61,7 @@ const ConnectWallet = ({ ...buttonProps }: ButtonPropsWithOnClick) => { > Disconnect - + {theme.palette.mode === "dark" ? : }
diff --git a/explorer-v2/src/components/wallet/WalletAddress.tsx b/explorer-v2/src/components/wallet/WalletAddress.tsx index 8e0a2c5444..ad326ec379 100644 --- a/explorer-v2/src/components/wallet/WalletAddress.tsx +++ b/explorer-v2/src/components/wallet/WalletAddress.tsx @@ -1,11 +1,16 @@ -import { Stack, Typography } from "@mui/material"; +"use client"; +import { Stack, Typography, useTheme } from "@mui/material"; import React from "react"; import { Elips } from "../../components/icons/Elips"; +import { ElipseDark } from "../../components/icons/ElipseDark"; export const trimAddress = (address = "", trimBy = 6) => `${address.slice(0, trimBy)}...${address.slice(-trimBy)}`; export const WalletAddress = ({ address }: { address?: string }) => { + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; + if (!address) { return null; } @@ -14,7 +19,7 @@ export const WalletAddress = ({ address }: { address?: string }) => { return ( - + {isDarkMode ? : } {displayAddress} diff --git a/explorer-v2/src/components/wallet/WalletBalance.tsx b/explorer-v2/src/components/wallet/WalletBalance.tsx index e233f2b090..ac9841051b 100644 --- a/explorer-v2/src/components/wallet/WalletBalance.tsx +++ b/explorer-v2/src/components/wallet/WalletBalance.tsx @@ -1,20 +1,23 @@ "use client"; import { COSMOS_KIT_USE_CHAIN } from "@/config"; import { useChain } from "@cosmos-kit/react"; -import { Stack, Typography } from "@mui/material"; +import { Stack, Typography, useTheme } from "@mui/material"; import React from "react"; import { Token } from "../../components/icons/Token"; +import { TokenDark } from "../../components/icons/TokenDark"; import useGetWalletBalance from "../../hooks/useGetWalletBalance"; export const WalletBalance = () => { const { isWalletConnected } = useChain(COSMOS_KIT_USE_CHAIN); const { formattedBalance, isLoading, isError, refetch } = useGetWalletBalance(); + const theme = useTheme(); + const isDarkMode = theme.palette.mode === "dark"; if (isLoading) { return ( - + {isDarkMode ? : } Loading... @@ -30,7 +33,7 @@ export const WalletBalance = () => { return ( - + {isDarkMode ? : } {formattedBalance} NYM diff --git a/explorer-v2/src/data/Welcome-to-explorer-2.json b/explorer-v2/src/data/Welcome-to-explorer-2.json index 747224eac7..b8d0317d9d 100644 --- a/explorer-v2/src/data/Welcome-to-explorer-2.json +++ b/explorer-v2/src/data/Welcome-to-explorer-2.json @@ -8,7 +8,8 @@ "date": "Mon Jan 20 2025 10:26:09 GMT+0000 (Greenwich Mean Time)", "readingTime": 5 }, - "icon": "explorerCard", + "iconLight": "explorerCard", + "iconDark": "explorerCardDark", "image": "/explorer/images/Network.webp", "overview": { "content": [ diff --git a/explorer-v2/src/data/buy-nym.json b/explorer-v2/src/data/buy-nym.json index 1dea28eb09..c1598f9e04 100644 --- a/explorer-v2/src/data/buy-nym.json +++ b/explorer-v2/src/data/buy-nym.json @@ -8,7 +8,8 @@ "date": "Mon Jan 05 2025 10:26:09 GMT+0000 (Greenwich Mean Time)", "readingTime": 5 }, - "icon": "gateway", + "iconLight": "gateway", + "iconDark": "gatewayDark", "image": "/explorer/images/placeholder.webp", "overview": { "content": [ diff --git a/explorer-v2/src/data/operate-a-node.json b/explorer-v2/src/data/operate-a-node.json index 88293043be..4b2aa883be 100644 --- a/explorer-v2/src/data/operate-a-node.json +++ b/explorer-v2/src/data/operate-a-node.json @@ -8,7 +8,8 @@ "date": "Mon Jan 05 2025 10:26:09 GMT+0000 (Greenwich Mean Time)", "readingTime": 5 }, - "icon": "gateway", + "iconLight": "gateway", + "iconDark": "gatewayDark", "image": "/explorer/images/placeholder.webp", "overview": { "content": [ diff --git a/explorer-v2/src/data/staking-guide.json b/explorer-v2/src/data/staking-guide.json index 274d9d22bd..e587cf25a0 100644 --- a/explorer-v2/src/data/staking-guide.json +++ b/explorer-v2/src/data/staking-guide.json @@ -8,7 +8,8 @@ "date": "Mon Jan 05 2025 10:26:09 GMT+0000 (Greenwich Mean Time)", "readingTime": 5 }, - "icon": "stakeCard", + "iconLight": "stakeCard", + "iconDark": "stakeCardDark", "image": "/explorer/images/stake-article.webp", "overview": { "content": [ diff --git a/explorer-v2/src/providers/ClientThemeProvider.tsx b/explorer-v2/src/providers/ClientThemeProvider.tsx new file mode 100644 index 0000000000..83382e38eb --- /dev/null +++ b/explorer-v2/src/providers/ClientThemeProvider.tsx @@ -0,0 +1,30 @@ +"use client"; + +import { CssBaseline, type PaletteMode } from "@mui/material"; +import { ThemeProvider as MUIThemeProvider } from "@mui/material"; +import { AppRouterCacheProvider } from "@mui/material-nextjs/v15-appRouter"; +import { useLocalStorage } from "@uidotdev/usehooks"; +import { useEffect, useState } from "react"; +import { darkTheme, lightTheme } from "../theme/theme"; + +const ClientThemeProvider = ({ children }: { children: React.ReactNode }) => { + const [isMounted, setIsMounted] = useState(false); + const [mode] = useLocalStorage("mode", "dark"); + + useEffect(() => { + setIsMounted(true); + }, []); + + if (!isMounted) return null; // or a loading spinner if you prefer + + return ( + + + + {children} + + + ); +}; + +export default ClientThemeProvider; diff --git a/explorer-v2/src/providers/ClientThemeWrapper.tsx b/explorer-v2/src/providers/ClientThemeWrapper.tsx new file mode 100644 index 0000000000..e3ae2cb9f3 --- /dev/null +++ b/explorer-v2/src/providers/ClientThemeWrapper.tsx @@ -0,0 +1,13 @@ +"use client"; + +import dynamic from "next/dynamic"; + +const ClientThemeProvider = dynamic(() => import("./ClientThemeProvider"), { + ssr: false, +}); + +const ClientThemeWrapper = ({ children }: { children: React.ReactNode }) => { + return {children}; +}; + +export default ClientThemeWrapper; diff --git a/explorer-v2/src/providers/CosmosKitProvider.tsx b/explorer-v2/src/providers/CosmosKitProvider.tsx index 05e20081e5..5ffd8bb29c 100644 --- a/explorer-v2/src/providers/CosmosKitProvider.tsx +++ b/explorer-v2/src/providers/CosmosKitProvider.tsx @@ -70,6 +70,7 @@ const CosmosKitProvider = ({ children }: { children: React.ReactNode }) => { chains={chainsWithNyx} assetLists={assetsWithNyx} wallets={[...keplr]} + throwErrors > {children} diff --git a/explorer-v2/src/providers/QueryProvider.tsx b/explorer-v2/src/providers/QueryProvider.tsx index 00e9a75db2..690028b4f3 100644 --- a/explorer-v2/src/providers/QueryProvider.tsx +++ b/explorer-v2/src/providers/QueryProvider.tsx @@ -1,16 +1,17 @@ "use client"; -import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import { getQueryClient } from "@/app/react-query"; +import { QueryClientProvider } from "@tanstack/react-query"; import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; -import { type ReactNode, useState } from "react"; +import type { ReactNode } from "react"; interface QueryProviderProps { children: ReactNode; } export const QueryProvider = ({ children }: QueryProviderProps) => { - // Create QueryClient instance - const [queryClient] = useState(() => new QueryClient()); + // Get QueryClient instance from lib + const queryClient = getQueryClient(); return ( diff --git a/explorer-v2/src/providers/ThemeProvider.tsx b/explorer-v2/src/providers/ThemeProvider.tsx index 1cc4fa2b9a..c0f5e29621 100644 --- a/explorer-v2/src/providers/ThemeProvider.tsx +++ b/explorer-v2/src/providers/ThemeProvider.tsx @@ -1,18 +1,7 @@ -"use client"; -import { CssBaseline } from "@mui/material"; -import { ThemeProvider as MUIThemeProvider } from "@mui/material"; -import { AppRouterCacheProvider } from "@mui/material-nextjs/v15-appRouter"; -import { lightTheme } from "../theme/theme"; +import ClientThemeWrapper from "./ClientThemeWrapper"; const ThemeProvider = ({ children }: { children: React.ReactNode }) => { - return ( - - - - {children} - - - ); + return {children}; }; export default ThemeProvider; diff --git a/explorer-v2/src/theme/colours.ts b/explorer-v2/src/theme/colours.ts index 8b089b40df..eb577966fd 100644 --- a/explorer-v2/src/theme/colours.ts +++ b/explorer-v2/src/theme/colours.ts @@ -15,8 +15,10 @@ export const colours = { pine: { 25: "#F9FBFB", 200: "#CAD6D7", + 300: "#A6B9BA", 600: "#4C666A", 800: "#3E4A4C", + 900: "#374042", 950: "#242B2D", }, base: { diff --git a/explorer-v2/src/theme/mui-theme.d.ts b/explorer-v2/src/theme/mui-theme.d.ts index 9a0098db09..a46d57365a 100644 --- a/explorer-v2/src/theme/mui-theme.d.ts +++ b/explorer-v2/src/theme/mui-theme.d.ts @@ -13,6 +13,20 @@ declare module "@mui/material/styles" { medium: Palette["primary"]; light: Palette["primary"]; gray: Palette["primary"]; + pine: { + 25: string; + 200: string; + 300: string; + 600: string; + 800: string; + 900: string; + 950: string; + }; + base: { + white: string; + black: string; + transparent: string; + }; } interface PaletteOptions { accent?: PaletteOptions["primary"]; @@ -20,6 +34,20 @@ declare module "@mui/material/styles" { medium?: PaletteOptions["primary"]; light?: PaletteOptions["primary"]; gray?: PaletteOptions["primary"]; + pine?: { + 25?: string; + 200?: string; + 300?: string; + 600?: string; + 800?: string; + 900?: string; + 950?: string; + }; + base?: { + white?: string; + black?: string; + transparent?: string; + }; } // Apply CustomTypography to TypographyVariants diff --git a/explorer-v2/src/theme/theme.tsx b/explorer-v2/src/theme/theme.tsx index cd881d3bda..ce9780fd91 100644 --- a/explorer-v2/src/theme/theme.tsx +++ b/explorer-v2/src/theme/theme.tsx @@ -2,6 +2,7 @@ import { labGrotesque } from "@/fonts"; import { colours } from "@/theme/colours"; import { body, headings, subtitles } from "@/theme/typography"; import { type ThemeOptions, createTheme } from "@mui/material/styles"; + const lightMode = { mode: "light" as const, accent: colours.green[500], @@ -9,6 +10,7 @@ const lightMode = { background: colours.gray[200], medium: colours.haze[200], light: colours.base.white, + paper: colours.base.white, }; const darkMode = { @@ -18,6 +20,7 @@ const darkMode = { background: colours.pine[950], medium: colours.pine[800], light: colours.pine[200], + paper: colours.pine[900], }; // createDesignTokens function to generate design tokens based on mode @@ -33,13 +36,13 @@ const createDesignTokens = (mode: "light" | "dark") => { background: { default: palette.background, main: palette.background, - paper: palette.light, + paper: palette.paper, }, secondary: { main: palette.accent, }, text: { - primary: palette.primary, + primary: mode === "dark" ? colours.base.white : palette.primary, secondary: palette.medium, }, success: { diff --git a/explorer-v2/src/utils/getIconByName.tsx b/explorer-v2/src/utils/getIconByName.tsx index 17d4f87225..25a75f87e7 100644 --- a/explorer-v2/src/utils/getIconByName.tsx +++ b/explorer-v2/src/utils/getIconByName.tsx @@ -1,32 +1,45 @@ import type { StaticImageData } from "next/image"; -import nymLogo from "@/../public/icons/nym-logo.svg"; -import token from "@/../public/icons/token.svg"; -import gateway from "@/../public/icons/gateway.svg"; -import elips from "@/../public/icons/elips.svg"; -import cross from "@/../public/icons/cross.svg"; +import arrowUpRight from "@/../public/icons/arrow-up-right.svg"; +import arrow from "@/../public/icons/arrow-up-right.svg"; +import chevronMenu from "@/../public/icons/chevronMenu.svg"; +import copyFileDark from "@/../public/icons/copy-file-dark.svg"; import copyFile from "@/../public/icons/copy-file.svg"; -import chevronMenu from "@/../public/icons/chevronMenu.svg" -import document from "@/../public/icons/document.svg" -import download from "@/../public/icons/download.svg" -import discord from "@/../public/icons/discord.svg" -import github from "@/../public/icons/github.svg" -import telegram from "@/../public/icons/telegram.svg" -import twitter from "@/../public/icons/twitter.svg" -import youtube from "@/../public/icons/youtube.svg" -import youTubeInverted from "@/../public/icons/youtubeInverted.svg" -import arrowUpRight from "@/../public/icons/arrow-up-right.svg" -import arrow from "@/../public/icons/arrow-up-right.svg" -import explorerCard from "@/../public/icons/explorer-card.svg" -import stakeCard from "@/../public/icons/stake-card.svg" +import crossDark from "@/../public/icons/cross-dark.svg"; +import cross from "@/../public/icons/cross.svg"; +import discord from "@/../public/icons/discord.svg"; +import document from "@/../public/icons/document.svg"; +import download from "@/../public/icons/download.svg"; +import elips from "@/../public/icons/elips.svg"; +import elipseDark from "@/../public/icons/elipse-dark.svg"; +import explorerCardDark from "@/../public/icons/explorer-card-dark.svg"; +import explorerCard from "@/../public/icons/explorer-card.svg"; +import gatewayDark from "@/../public/icons/gateway-dark.svg"; +import gateway from "@/../public/icons/gateway.svg"; +import github from "@/../public/icons/github.svg"; +import nymLogoWhite from "@/../public/icons/nym-logo-white.svg"; +import nymLogo from "@/../public/icons/nym-logo.svg"; +import stakeCardDark from "@/../public/icons/stake-card-dark.svg"; +import stakeCard from "@/../public/icons/stake-card.svg"; +import telegram from "@/../public/icons/telegram.svg"; +import tokenDark from "@/../public/icons/token-dark.svg"; +import token from "@/../public/icons/token.svg"; +import twitter from "@/../public/icons/twitter.svg"; +import youtube from "@/../public/icons/youtube.svg"; +import youTubeInverted from "@/../public/icons/youtubeInverted.svg"; export type IconName = | "nymLogo" + | "nymLogoWhite" | "token" + | "tokenDark" | "gateway" | "elips" + | "elipseDark" | "cross" + | "crossDark" | "copyFile" + | "copyFileDark" | "chevronMenu" | "document" | "download" @@ -40,6 +53,9 @@ export type IconName = | "arrow" | "stakeCard" | "explorerCard" + | "explorerCardDark" + | "stakeCardDark" + | "gatewayDark"; export type Icons = { [key in IconName]: StaticImageData; @@ -47,11 +63,16 @@ export type Icons = { export const icons: Icons = { nymLogo, + nymLogoWhite, token, + tokenDark, gateway, elips, + elipseDark, cross, + crossDark, copyFile, + copyFileDark, chevronMenu, document, download, @@ -64,6 +85,8 @@ export const icons: Icons = { arrowUpRight, arrow, stakeCard, - explorerCard - + explorerCard, + stakeCardDark, + explorerCardDark, + gatewayDark, }; diff --git a/package.json b/package.json index dbf9d0561b..3ff6703dd9 100644 --- a/package.json +++ b/package.json @@ -1,60 +1,67 @@ { - "name": "@nymproject/nymsphere", - "version": "1.0.0", - "private": true, - "license": "Apache 2.0", - "workspaces": [ - "dist/wasm/**", - "dist/node/**", - "dist/ts/**", - "sdk/typescript/packages/mui-theme", - "sdk/typescript/packages/react-components", - "sdk/typescript/packages/validator-client", - "ts-packages/*", - "nym-wallet", - "explorer-nextjs", - "explorer-v2", - "types", - "clients/validator" - ], - "scripts": { - "nuke": "npx rimraf **/node_modules node_modules", - "scrub": "npx rimraf **/dist dist", - "clean": "lerna run clean", - "build": "run-s build:types build:packages", - "build:wasm": "make sdk-wasm-build", - "build:types": "lerna run --scope @nymproject/types build --stream", - "build:packages": "run-s build:packages:theme build:packages:react", - "build:packages:theme": "lerna run --scope @nymproject/mui-theme build", - "build:packages:react": "lerna run --scope @nymproject/react build", - "build:react-example": "lerna run --scope @nymproject/react-webpack-with-theme-example build --stream", - "build:playground": "lerna run --scope @nymproject/react storybook:build --stream", - "build:ci:storybook": "yarn build && yarn dev:on && run-p build:react-example build:playground && yarn build:ci:storybook:collect-artifacts", - "build:ci:storybook:collect-artifacts": "mkdir -p ts-packages/dist && mv sdk/typescript/packages/react-components/storybook-static ts-packages/dist/storybook && mv sdk/typescript/examples/react/mui-theme/dist ts-packages/dist/example", - "prebuild:ci": "yarn dev:on && yarn", - "build:ci": "run-s build:types build:packages build:wasm build:ci:sdk", - "postbuild:ci": "yarn dev:off", - "build:ci:sdk": "lerna run --scope '{@nymproject/sdk,@nymproject/node-tester,@nymproject/contract-clients,@nymproject/sdk-react,@nymproject/mix-fetch,@nymproject/nodejs-client,@nymproject/mix-fetch-node}' build --stream", - "docs:prod:build": "run-s docs:prod:build:ws", - "docs:prod:build:ws": "lerna run docs:prod:build --stream", - "sdk:build": "./sdk/typescript/scripts/build-prod-sdk.sh", - "sdk:publish": "./sdk/typescript/scripts/publish.sh", - "lint": "lerna run lint --stream", - "lint:fix": "lerna run lint:fix --stream", - "tsc": "lerna run tsc --stream", - "types:lint:fix": "lerna run lint:fix --scope @nymproject/types --scope @nymproject/nym-wallet-app", - "audit:fix": "npm_config_yes=true npx yarn-audit-fix -- --dry-run", - "dev:on": "node sdk/typescript/scripts/dev-mode-add.mjs", - "dev:off": "node sdk/typescript/scripts/dev-mode-remove.mjs" - }, - "devDependencies": { - "@npmcli/node-gyp": "^3.0.0", - "lerna": "^7.3.0", - "node-gyp": "^9.3.1", - "npm-run-all": "^4.1.5", - "tslog": "3.3.3" - }, - "dependencies": { - "lucide-react": "^0.453.0" - } -} + "name": "@nymproject/nymsphere", + "version": "1.0.0", + "private": true, + "license": "Apache 2.0", + "workspaces": [ + "dist/wasm/**", + "dist/node/**", + "dist/ts/**", + "sdk/typescript/packages/mui-theme", + "sdk/typescript/packages/react-components", + "sdk/typescript/packages/validator-client", + "ts-packages/*", + "nym-wallet", + "explorer-nextjs", + "explorer-v2", + "types", + "clients/validator" + ], + "scripts": { + "nuke": "npx rimraf **/node_modules node_modules", + "scrub": "npx rimraf **/dist dist", + "clean": "lerna run clean", + "build": "run-s build:types build:packages", + "build:wasm": "make sdk-wasm-build", + "build:types": "lerna run --scope @nymproject/types build --stream", + "build:packages": "run-s build:packages:theme build:packages:react", + "build:packages:theme": "lerna run --scope @nymproject/mui-theme build", + "build:packages:react": "lerna run --scope @nymproject/react build", + "build:react-example": "lerna run --scope @nymproject/react-webpack-with-theme-example build --stream", + "build:playground": "lerna run --scope @nymproject/react storybook:build --stream", + "build:ci:storybook": "yarn build && yarn dev:on && run-p build:react-example build:playground && yarn build:ci:storybook:collect-artifacts", + "build:ci:storybook:collect-artifacts": "mkdir -p ts-packages/dist && mv sdk/typescript/packages/react-components/storybook-static ts-packages/dist/storybook && mv sdk/typescript/examples/react/mui-theme/dist ts-packages/dist/example", + "prebuild:ci": "yarn dev:on && yarn", + "build:ci": "run-s build:types build:packages build:wasm build:ci:sdk", + "postbuild:ci": "yarn dev:off", + "build:ci:sdk": "lerna run --scope '{@nymproject/sdk,@nymproject/node-tester,@nymproject/contract-clients,@nymproject/sdk-react,@nymproject/mix-fetch,@nymproject/nodejs-client,@nymproject/mix-fetch-node}' build --stream", + "docs:prod:build": "run-s docs:prod:build:ws", + "docs:prod:build:ws": "lerna run docs:prod:build --stream", + "sdk:build": "./sdk/typescript/scripts/build-prod-sdk.sh", + "sdk:publish": "./sdk/typescript/scripts/publish.sh", + "lint": "lerna run lint --stream", + "lint:fix": "lerna run lint:fix --stream", + "tsc": "lerna run tsc --stream", + "types:lint:fix": "lerna run lint:fix --scope @nymproject/types --scope @nymproject/nym-wallet-app", + "audit:fix": "npm_config_yes=true npx yarn-audit-fix -- --dry-run", + "dev:on": "node sdk/typescript/scripts/dev-mode-add.mjs", + "dev:off": "node sdk/typescript/scripts/dev-mode-remove.mjs" + }, + "devDependencies": { + "@npmcli/node-gyp": "^3.0.0", + "lerna": "^7.3.0", + "node-gyp": "^9.3.1", + "npm-run-all": "^4.1.5", + "tslog": "3.3.3" + }, + "dependencies": { + "lucide-react": "^0.453.0" + }, + "resolutions": { + "@cosmjs/amino": "^0.32.4", + "@cosmjs/proto-signing": "^0.32.4", + "@cosmjs/stargate": "^0.32.4", + "@cosmjs/cosmwasm-stargate": "^0.32.4", + "cosmjs-types": "^0.9.0" + } +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index eb718f0bcc..6d064a4d8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -42,7 +42,7 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.26.5", "@babel/compat-data@^7.26.8": +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.26.8": version "7.26.8" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367" integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== @@ -90,13 +90,13 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.26.10", "@babel/generator@^7.7.2": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.10.tgz#a60d9de49caca16744e6340c3658dfef6138c3f7" - integrity sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang== +"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.26.10", "@babel/generator@^7.27.0", "@babel/generator@^7.7.2": + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.0.tgz#764382b5392e5b9aff93cadb190d0745866cbc2c" + integrity sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw== dependencies: - "@babel/parser" "^7.26.10" - "@babel/types" "^7.26.10" + "@babel/parser" "^7.27.0" + "@babel/types" "^7.27.0" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2" @@ -109,33 +109,33 @@ "@babel/types" "^7.25.9" "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9", "@babel/helper-compilation-targets@^7.26.5": - version "7.26.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz#75d92bb8d8d51301c0d49e52a65c9a7fe94514d8" - integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA== + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz#de0c753b1cd1d9ab55d473c5a5cf7170f0a81880" + integrity sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA== dependencies: - "@babel/compat-data" "^7.26.5" + "@babel/compat-data" "^7.26.8" "@babel/helper-validator-option" "^7.25.9" browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0", "@babel/helper-create-class-features-plugin@^7.25.9": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz#d6f83e3039547fbb39967e78043cd3c8b7820c71" - integrity sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg== +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0", "@babel/helper-create-class-features-plugin@^7.25.9", "@babel/helper-create-class-features-plugin@^7.27.0": + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.0.tgz#518fad6a307c6a96f44af14912b2c20abe9bfc30" + integrity sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg== dependencies: "@babel/helper-annotate-as-pure" "^7.25.9" "@babel/helper-member-expression-to-functions" "^7.25.9" "@babel/helper-optimise-call-expression" "^7.25.9" "@babel/helper-replace-supers" "^7.26.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/traverse" "^7.26.9" + "@babel/traverse" "^7.27.0" semver "^6.3.1" "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.9": - version "7.26.3" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz#5169756ecbe1d95f7866b90bb555b022595302a0" - integrity sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong== + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.0.tgz#0e41f7d38c2ebe06ebd9cf0e02fb26019c77cd95" + integrity sha512-fO8l08T76v48BhpNRW/nQ0MxfnSdoSKUJBMjubOAYffsVuGG5qOfMq7N6Es7UJvi7Y8goXXo07EfcHZXDPuELQ== dependencies: "@babel/helper-annotate-as-pure" "^7.25.9" regexpu-core "^6.2.0" @@ -155,10 +155,10 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-define-polyfill-provider@^0.6.3": - version "0.6.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz#f4f2792fae2ef382074bc2d713522cf24e6ddb21" - integrity sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg== +"@babel/helper-define-polyfill-provider@^0.6.3", "@babel/helper-define-polyfill-provider@^0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz#15e8746368bfa671785f5926ff74b3064c291fab" + integrity sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -267,12 +267,12 @@ "@babel/types" "^7.25.9" "@babel/helpers@^7.12.5", "@babel/helpers@^7.26.10": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.10.tgz#6baea3cd62ec2d0c1068778d63cb1314f6637384" - integrity sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g== + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.0.tgz#53d156098defa8243eab0f32fa17589075a1b808" + integrity sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg== dependencies: - "@babel/template" "^7.26.9" - "@babel/types" "^7.26.10" + "@babel/template" "^7.27.0" + "@babel/types" "^7.27.0" "@babel/highlight@^7.10.4": version "7.25.9" @@ -284,12 +284,12 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.26.10", "@babel/parser@^7.26.9": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.10.tgz#e9bdb82f14b97df6569b0b038edd436839c57749" - integrity sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA== +"@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.26.10", "@babel/parser@^7.27.0": + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.0.tgz#3d7d6ee268e41d2600091cbd4e145ffee85a44ec" + integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg== dependencies: - "@babel/types" "^7.26.10" + "@babel/types" "^7.27.0" "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": version "7.25.9" @@ -609,11 +609,11 @@ "@babel/helper-plugin-utils" "^7.26.5" "@babel/plugin-transform-block-scoping@^7.12.12", "@babel/plugin-transform-block-scoping@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz#c33665e46b06759c93687ca0f84395b80c0473a1" - integrity sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg== + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.0.tgz#acc2c0d98a7439bbde4244588ddbd4904701d47f" + integrity sha512-u1jGphZ8uDI2Pj/HJj6YQ6XQLZCNjOlprjxB5SVz6rq2T6SwAR+CdrWK0CP7F+9rDVMXdB0+r6Am5G5aobOjAQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.26.5" "@babel/plugin-transform-class-properties@^7.25.9": version "7.25.9" @@ -763,7 +763,7 @@ "@babel/helper-module-transforms" "^7.25.9" "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-commonjs@^7.25.9", "@babel/plugin-transform-modules-commonjs@^7.26.3": +"@babel/plugin-transform-modules-commonjs@^7.26.3": version "7.26.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz#8f011d44b20d02c3de44d8850d971d8497f981fb" integrity sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ== @@ -922,11 +922,11 @@ "@babel/helper-plugin-utils" "^7.25.9" "@babel/plugin-transform-regenerator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz#03a8a4670d6cebae95305ac6defac81ece77740b" - integrity sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg== + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.0.tgz#822feebef43d6a59a81f696b2512df5b1682db31" + integrity sha512-LX/vCajUJQDqE7Aum/ELUMZAY19+cDpghxrnyt5I1tV6X5PyC86AOoWXWFYFeIvauyeSA6/ktn4tQVn/3ZifsA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.26.5" regenerator-transform "^0.15.2" "@babel/plugin-transform-regexp-modifiers@^7.26.0": @@ -974,19 +974,19 @@ "@babel/helper-plugin-utils" "^7.26.5" "@babel/plugin-transform-typeof-symbol@^7.26.7": - version "7.26.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz#d0e33acd9223744c1e857dbd6fa17bd0a3786937" - integrity sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw== + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.0.tgz#044a0890f3ca694207c7826d0c7a65e5ac008aae" + integrity sha512-+LLkxA9rKJpNoGsbLnAgOCdESl73vwYn+V6b+5wHbrE7OGKVDPHIQvbFSzqE6rwqaCw2RE+zdJrlLkcf8YOA0w== dependencies: "@babel/helper-plugin-utils" "^7.26.5" -"@babel/plugin-transform-typescript@^7.25.9": - version "7.26.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz#2e9caa870aa102f50d7125240d9dbf91334b0950" - integrity sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw== +"@babel/plugin-transform-typescript@^7.27.0": + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.0.tgz#a29fd3481da85601c7e34091296e9746d2cccba8" + integrity sha512-fRGGjO2UEGPjvEcyAZXRXAS8AfdaQoq7HnxAbJoAoW10B9xOKesmmndJv+Sym2a+9FHWZ9KbyyLCe9s0Sn5jtg== dependencies: "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.27.0" "@babel/helper-plugin-utils" "^7.26.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" "@babel/plugin-syntax-typescript" "^7.25.9" @@ -1128,15 +1128,15 @@ "@babel/plugin-transform-react-pure-annotations" "^7.25.9" "@babel/preset-typescript@^7.12.7", "@babel/preset-typescript@^7.15.0", "@babel/preset-typescript@^7.18.6": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz#4a570f1b8d104a242d923957ffa1eaff142a106d" - integrity sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg== + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.27.0.tgz#4dcb8827225975f4290961b0b089f9c694ca50c7" + integrity sha512-vxaPFfJtHhgeOVXRKuHpHPAOgymmy8V8I65T1q53R7GCZlefKeCaTyDs3zOPHTTbmquvNlQYC5klEvWsBAtrBQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.26.5" "@babel/helper-validator-option" "^7.25.9" "@babel/plugin-syntax-jsx" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.25.9" - "@babel/plugin-transform-typescript" "^7.25.9" + "@babel/plugin-transform-modules-commonjs" "^7.26.3" + "@babel/plugin-transform-typescript" "^7.27.0" "@babel/register@^7.12.1": version "7.25.9" @@ -1156,14 +1156,7 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.0", "@babel/runtime@^7.25.7", "@babel/runtime@^7.26.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.10.tgz#a07b4d8fa27af131a633d7b3524db803eb4764c2" - integrity sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/runtime@^7.23.2", "@babel/runtime@^7.25.0", "@babel/runtime@^7.26.10": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.0", "@babel/runtime@^7.25.0", "@babel/runtime@^7.25.7", "@babel/runtime@^7.26.0", "@babel/runtime@^7.26.10", "@babel/runtime@^7.27.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.27.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.0.tgz#fbee7cf97c709518ecc1f590984481d5460d4762" integrity sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw== @@ -1177,32 +1170,32 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/template@^7.12.7", "@babel/template@^7.25.9", "@babel/template@^7.26.9", "@babel/template@^7.3.3": - version "7.26.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.26.9.tgz#4577ad3ddf43d194528cff4e1fa6b232fa609bb2" - integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA== +"@babel/template@^7.12.7", "@babel/template@^7.25.9", "@babel/template@^7.26.9", "@babel/template@^7.27.0", "@babel/template@^7.3.3": + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.0.tgz#b253e5406cc1df1c57dcd18f11760c2dbf40c0b4" + integrity sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA== dependencies: "@babel/code-frame" "^7.26.2" - "@babel/parser" "^7.26.9" - "@babel/types" "^7.26.9" + "@babel/parser" "^7.27.0" + "@babel/types" "^7.27.0" -"@babel/traverse@^7.1.6", "@babel/traverse@^7.12.11", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10", "@babel/traverse@^7.26.5", "@babel/traverse@^7.26.8", "@babel/traverse@^7.26.9", "@babel/traverse@^7.7.2": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.10.tgz#43cca33d76005dbaa93024fae536cc1946a4c380" - integrity sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A== +"@babel/traverse@^7.1.6", "@babel/traverse@^7.12.11", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10", "@babel/traverse@^7.26.5", "@babel/traverse@^7.26.8", "@babel/traverse@^7.27.0", "@babel/traverse@^7.7.2": + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.0.tgz#11d7e644779e166c0442f9a07274d02cd91d4a70" + integrity sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA== dependencies: "@babel/code-frame" "^7.26.2" - "@babel/generator" "^7.26.10" - "@babel/parser" "^7.26.10" - "@babel/template" "^7.26.9" - "@babel/types" "^7.26.10" + "@babel/generator" "^7.27.0" + "@babel/parser" "^7.27.0" + "@babel/template" "^7.27.0" + "@babel/types" "^7.27.0" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.11", "@babel/types@^7.12.7", "@babel/types@^7.2.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.26.9", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.26.10" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.10.tgz#396382f6335bd4feb65741eacfc808218f859259" - integrity sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ== +"@babel/types@^7.0.0", "@babel/types@^7.12.11", "@babel/types@^7.12.7", "@babel/types@^7.2.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.27.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.0.tgz#ef9acb6b06c3173f6632d993ecb6d4ae470b4559" + integrity sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg== dependencies: "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" @@ -1272,21 +1265,21 @@ integrity sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA== "@chain-registry/client@^1.49.11": - version "1.53.94" - resolved "https://registry.yarnpkg.com/@chain-registry/client/-/client-1.53.94.tgz#cbee6721abb8a7cdbf54383c3c7746c0b2e32a46" - integrity sha512-3W5xhQAkpb3105uEdXMLtcWaKi624rbsXnC+amqcTWD1jQ6XGKjK9bB2niAkLwqlTc6aUzMUXQ68bY03wd4vpw== + version "1.53.111" + resolved "https://registry.yarnpkg.com/@chain-registry/client/-/client-1.53.111.tgz#3d482fa2dcd86f474d4ed5c37a6d577bb08d6708" + integrity sha512-PPm9VL+GGZl/Kfe8qP3iDJgOvjHNbhAoM9IQq7tke8XefknOqfcZIss5yZIzMtb/agZXHdlPLBh6gv3ru5wU/g== dependencies: - "@chain-registry/types" "^0.50.94" - "@chain-registry/utils" "^1.51.94" + "@chain-registry/types" "^0.50.111" + "@chain-registry/utils" "^1.51.111" bfs-path "^1.0.2" cross-fetch "^3.1.5" "@chain-registry/keplr@^1.69.13": - version "1.74.155" - resolved "https://registry.yarnpkg.com/@chain-registry/keplr/-/keplr-1.74.155.tgz#a2b06fb6c32572f2f9997ccc294919af4433dafc" - integrity sha512-yeapzR7xTjWta5Xk1ngiLhk3cHASj85lKvVvq+XCCWzhOCMGlx9nI5cL5vyOZOa4jXDnCWBnoUYbEv920xTxdA== + version "1.74.179" + resolved "https://registry.yarnpkg.com/@chain-registry/keplr/-/keplr-1.74.179.tgz#f4fe2219c4bbacb6d39578b849b6d60636330c41" + integrity sha512-7sT3fruD6AeSl/J/kJ6J2MIFJIQUAo3Zln223f/ESXnXCa85E6naOYdA8YXTdNSpgjiBNO5PSm4qHvum/bS5AA== dependencies: - "@chain-registry/types" "^0.50.94" + "@chain-registry/types" "^0.50.111" "@keplr-wallet/cosmos" "0.12.28" "@keplr-wallet/crypto" "0.12.28" semver "^7.5.0" @@ -1296,22 +1289,17 @@ resolved "https://registry.yarnpkg.com/@chain-registry/types/-/types-0.46.15.tgz#f4c0219fb7060d97cb224b55f349adb1d436aac9" integrity sha512-gzf+pkAbEZ7fKuTuwmrEAEcx1K/BNrKuCnB9s+WwSo9Ad/3s+GV5LOXcOOxjjHh9Mrs9kvnxKvzKjOwWu8gDJw== -"@chain-registry/types@^0.50.107", "@chain-registry/types@^0.50.36": - version "0.50.107" - resolved "https://registry.yarnpkg.com/@chain-registry/types/-/types-0.50.107.tgz#460bac6486ac609702accd3f2ad619b523c5b9fa" - integrity sha512-9J88lyxWAgWgjAcV8LhYwhCGXnZmSnxH0WWbHY5JHJ05BDWuWRcWV4NE+9p085tfDKeOo56ua+gTG1hfeMUXsA== +"@chain-registry/types@^0.50.111", "@chain-registry/types@^0.50.36": + version "0.50.111" + resolved "https://registry.yarnpkg.com/@chain-registry/types/-/types-0.50.111.tgz#d2cf7f537420e8532b342d6ff099847774f6caaa" + integrity sha512-Z6gAqAx4fM0C9/dYpjUeKGi2q05QqWDzH+NvXRVYbZ101VvJoucW9EzJNXykEJ5G/3RUBm6cJSx8pFs9355R8g== -"@chain-registry/types@^0.50.94": - version "0.50.94" - resolved "https://registry.yarnpkg.com/@chain-registry/types/-/types-0.50.94.tgz#9c9cdeb45b122dae116f19ba04418ad6a183e154" - integrity sha512-D9PvO09UTjdKD+MmHFNSP//vfWXVEt1ILXOBGvZfi9kBy1a5xM4tCLuH/DH6kX5hjZHGxFmcBUwvYwh1kUJc7w== - -"@chain-registry/utils@^1.51.94": - version "1.51.94" - resolved "https://registry.yarnpkg.com/@chain-registry/utils/-/utils-1.51.94.tgz#12629111096d7a46f22d23520e5f7c10cb08e3fa" - integrity sha512-RqeB+eam7UxlO6XMKo6jmo4b1lMWlPujTxoWkU8X82G4QGYz4ixtQ016ldez0Ek6/jRWbUC4OPOS0NVPnNiEuQ== +"@chain-registry/utils@^1.51.111": + version "1.51.111" + resolved "https://registry.yarnpkg.com/@chain-registry/utils/-/utils-1.51.111.tgz#46b8d5aae710f7e4e87278501079d340fc990a41" + integrity sha512-iyqpK0jQiSSYqakJ6YhcbpxAiJTuDTXvx3NxfmRcmO5kJAaFjNuKDijEkvC0ZLPCNYQwEDTQ6eY4IsYj7DfPGg== dependencies: - "@chain-registry/types" "^0.50.94" + "@chain-registry/types" "^0.50.111" bignumber.js "9.1.2" sha.js "^2.4.11" @@ -1328,7 +1316,7 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@confio/ics23@^0.6.3", "@confio/ics23@^0.6.8": +"@confio/ics23@^0.6.8": version "0.6.8" resolved "https://registry.yarnpkg.com/@confio/ics23/-/ics23-0.6.8.tgz#2a6b4f1f2b7b20a35d9a0745bb5a446e72930b3d" integrity sha512-wB6uo+3A50m0sW/EWcU64xpV/8wShZ6bMTa7pF8eYsTrSkQA7oLUIJcs/wb8g4y2Oyq701BaGiO6n/ak5WXO1w== @@ -1336,26 +1324,6 @@ "@noble/hashes" "^1.0.0" protobufjs "^6.8.8" -"@cosmjs/amino@^0.25.6": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.25.6.tgz#cdf9632253bfab7b1d2ef967124953d7bf16351f" - integrity sha512-9dXN2W7LHjDtJUGNsQ9ok0DfxeN3ca/TXnxCR3Ikh/5YqBqxI8Gel1J9PQO9L6EheYyh045Wff4bsMaLjyEeqQ== - dependencies: - "@cosmjs/crypto" "^0.25.6" - "@cosmjs/encoding" "^0.25.6" - "@cosmjs/math" "^0.25.6" - "@cosmjs/utils" "^0.25.6" - -"@cosmjs/amino@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.29.5.tgz#053b4739a90b15b9e2b781ccd484faf64bd49aec" - integrity sha512-Qo8jpC0BiziTSUqpkNatBcwtKNhCovUnFul9SlT/74JUCdLYaeG5hxr3q1cssQt++l4LvlcpF+OUXL48XjNjLw== - dependencies: - "@cosmjs/crypto" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - "@cosmjs/amino@^0.32.3", "@cosmjs/amino@^0.32.4": version "0.32.4" resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.32.4.tgz#3908946c0394e6d431694c8992c5147079a1c860" @@ -1366,54 +1334,7 @@ "@cosmjs/math" "^0.32.4" "@cosmjs/utils" "^0.32.4" -"@cosmjs/cosmwasm-launchpad@^0.25.6": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-launchpad/-/cosmwasm-launchpad-0.25.6.tgz#b03a96c8d5b5b4742ec4c56b4a01b1f4f33f7f57" - integrity sha512-rzpYg/A8tvXbY6p89LabPB1mqCtTUv+33nN+s+VWMH0oOl0LSIgLE0yIT61kwTaf2dWQvRVeFaiRLFC72/w/zw== - dependencies: - "@cosmjs/crypto" "^0.25.6" - "@cosmjs/encoding" "^0.25.6" - "@cosmjs/launchpad" "^0.25.6" - "@cosmjs/math" "^0.25.6" - "@cosmjs/utils" "^0.25.6" - pako "^2.0.2" - -"@cosmjs/cosmwasm-stargate@^0.25.5": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.25.6.tgz#26a788213833aaffc4bc1a87df650741e0b8fd63" - integrity sha512-STaxur5Xk5hqndLEztpa1TqvpdQyg2xD//2ZNFw2fgxf1JQtP0RfFbA3bnBkYwbGARx5cnng8QeZmSUcXnTVxA== - dependencies: - "@cosmjs/amino" "^0.25.6" - "@cosmjs/cosmwasm-launchpad" "^0.25.6" - "@cosmjs/crypto" "^0.25.6" - "@cosmjs/encoding" "^0.25.6" - "@cosmjs/math" "^0.25.6" - "@cosmjs/proto-signing" "^0.25.6" - "@cosmjs/stargate" "^0.25.6" - "@cosmjs/tendermint-rpc" "^0.25.6" - "@cosmjs/utils" "^0.25.6" - long "^4.0.0" - pako "^2.0.2" - protobufjs "~6.10.2" - -"@cosmjs/cosmwasm-stargate@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.29.5.tgz#3f257da682658833e0f4eb9e8ff758e4d927663a" - integrity sha512-TNdSvm2tEE3XMCuxHxquzls56t40hC8qnLeYJWHsY2ECZmRK3KrnpRReEr7N7bLtODToK7X/riYrV0JaYxjrYA== - dependencies: - "@cosmjs/amino" "^0.29.5" - "@cosmjs/crypto" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/proto-signing" "^0.29.5" - "@cosmjs/stargate" "^0.29.5" - "@cosmjs/tendermint-rpc" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - cosmjs-types "^0.5.2" - long "^4.0.0" - pako "^2.0.2" - -"@cosmjs/cosmwasm-stargate@^0.32.3": +"@cosmjs/cosmwasm-stargate@^0.25.5", "@cosmjs/cosmwasm-stargate@^0.29.5", "@cosmjs/cosmwasm-stargate@^0.32.3", "@cosmjs/cosmwasm-stargate@^0.32.4": version "0.32.4" resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.32.4.tgz#2ee93f2cc0b1c146ac369b2bf8ef9ee2e159fd50" integrity sha512-Fuo9BGEiB+POJ5WeRyBGuhyKR1ordvxZGLPuPosFJOH9U0gKMgcjwKMCgAlWFkMlHaTB+tNdA8AifWiHrI7VgA== @@ -1429,22 +1350,6 @@ cosmjs-types "^0.9.0" pako "^2.0.2" -"@cosmjs/crypto@^0.25.6": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.25.6.tgz#695d2d0d2195bdbdd5825d415385646244900bbb" - integrity sha512-ec+YcQLrg2ibcxtNrh4FqQnG9kG9IE/Aik2NH6+OXQdFU/qFuBTxSFcKDgzzBOChwlkXwydllM9Jjbp+dgIzRw== - dependencies: - "@cosmjs/encoding" "^0.25.6" - "@cosmjs/math" "^0.25.6" - "@cosmjs/utils" "^0.25.6" - bip39 "^3.0.2" - bn.js "^4.11.8" - elliptic "^6.5.3" - js-sha3 "^0.8.0" - libsodium-wrappers "^0.7.6" - ripemd160 "^2.0.2" - sha.js "^2.4.11" - "@cosmjs/crypto@^0.29.5": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.29.5.tgz#ab99fc382b93d8a8db075780cf07487a0f9519fd" @@ -1471,15 +1376,6 @@ elliptic "^6.5.4" libsodium-wrappers-sumo "^0.7.11" -"@cosmjs/encoding@^0.25.6": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.25.6.tgz#da741a33eaf063a6d3611d7d68db5ca3938e0ef5" - integrity sha512-0imUOB8XkUstI216uznPaX1hqgvLQ2Xso3zJj5IV5oJuNlsfDj9nt/iQxXWbJuettc6gvrFfpf+Vw2vBZSZ75g== - dependencies: - base64-js "^1.3.0" - bech32 "^1.1.4" - readonly-date "^1.0.0" - "@cosmjs/encoding@^0.29.5": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.29.5.tgz#009a4b1c596cdfd326f30ccfa79f5e56daa264f2" @@ -1498,14 +1394,6 @@ bech32 "^1.1.4" readonly-date "^1.0.0" -"@cosmjs/json-rpc@^0.25.6": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.25.6.tgz#4f888630e84ee114b164758ec5b48f134068656c" - integrity sha512-Mn9og3/IEzC6jWoYXs0ONqFJc8HxVjXzrZPLgaRRdMZEUBvctxdhynau1wbE4LdkYQHbu4aiRu1q1jMYGFAj4A== - dependencies: - "@cosmjs/stream" "^0.25.6" - xstream "^11.14.0" - "@cosmjs/json-rpc@^0.29.5": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.29.5.tgz#5e483a9bd98a6270f935adf0dfd8a1e7eb777fe4" @@ -1522,20 +1410,7 @@ "@cosmjs/stream" "^0.32.4" xstream "^11.14.0" -"@cosmjs/launchpad@^0.25.6": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/launchpad/-/launchpad-0.25.6.tgz#c75f5d21be57af55fcb892f929520fa97f2d5bcc" - integrity sha512-4Yhn4cX50UE6jZz/hWqKeeCmvrlrz0BBwOdYX/29k25FqP+oLAow1xKm6UxgYuuAq8Pg/bUvswxSqwegZJTb6g== - dependencies: - "@cosmjs/amino" "^0.25.6" - "@cosmjs/crypto" "^0.25.6" - "@cosmjs/encoding" "^0.25.6" - "@cosmjs/math" "^0.25.6" - "@cosmjs/utils" "^0.25.6" - axios "^0.21.1" - fast-deep-equal "^3.1.3" - -"@cosmjs/math@^0.25.5", "@cosmjs/math@^0.25.6": +"@cosmjs/math@^0.25.5": version "0.25.6" resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.25.6.tgz#25c7b106aaded889a5b80784693caa9e654b0c28" integrity sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A== @@ -1556,29 +1431,7 @@ dependencies: bn.js "^5.2.0" -"@cosmjs/proto-signing@^0.25.5", "@cosmjs/proto-signing@^0.25.6": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.25.6.tgz#d9fc57b8e0a46cda97e192bd0435157b24949ff8" - integrity sha512-JpQ+Vnv9s6i3x8f3Jo0lJZ3VMnj3R5sMgX+8ti1LtB7qEYRR85qbDrEG9hDGIKqJJabvrAuCHnO6hYi0vJEJHA== - dependencies: - "@cosmjs/amino" "^0.25.6" - long "^4.0.0" - protobufjs "~6.10.2" - -"@cosmjs/proto-signing@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.29.5.tgz#af3b62a46c2c2f1d2327d678b13b7262db1fe87c" - integrity sha512-QRrS7CiKaoETdgIqvi/7JC2qCwCR7lnWaUsTzh/XfRy3McLkEd+cXbKAW3cygykv7IN0VAEIhZd2lyIfT8KwNA== - dependencies: - "@cosmjs/amino" "^0.29.5" - "@cosmjs/crypto" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - cosmjs-types "^0.5.2" - long "^4.0.0" - -"@cosmjs/proto-signing@^0.32.3", "@cosmjs/proto-signing@^0.32.4": +"@cosmjs/proto-signing@^0.25.5", "@cosmjs/proto-signing@^0.29.5", "@cosmjs/proto-signing@^0.32.3", "@cosmjs/proto-signing@^0.32.4": version "0.32.4" resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.32.4.tgz#5a06e087c6d677439c8c9b25b5223d5e72c4cd93" integrity sha512-QdyQDbezvdRI4xxSlyM1rSVBO2st5sqtbEIl3IX03uJ7YiZIQHyv6vaHVf1V4mapusCqguiHJzm4N4gsFdLBbQ== @@ -1590,16 +1443,6 @@ "@cosmjs/utils" "^0.32.4" cosmjs-types "^0.9.0" -"@cosmjs/socket@^0.25.6": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.25.6.tgz#7876bc24e1f16315fbb9e97bd63dea65ba90647d" - integrity sha512-hu+pW3Fy0IuhstXgxnZ2Iq0RUnGYoTWfqrxbTsgXBJge4MpEQs2YwGXgJZPMJXedBQivG0tU3r/Wvam0EWuRkQ== - dependencies: - "@cosmjs/stream" "^0.25.6" - isomorphic-ws "^4.0.1" - ws "^7" - xstream "^11.14.0" - "@cosmjs/socket@^0.29.5": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.29.5.tgz#a48df6b4c45dc6a6ef8e47232725dd4aa556ac2d" @@ -1620,41 +1463,7 @@ ws "^7" xstream "^11.14.0" -"@cosmjs/stargate@^0.25.5", "@cosmjs/stargate@^0.25.6": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.25.6.tgz#ed7428aafd8fe1c12dc4b86f7967deb88117f61a" - integrity sha512-+LM1sK6vGuotJF9fBCBlaDL/yJhfzCV6KbsaWt3teHAKZhKYOd/9mKGiB4H9bfg4h3r+e+FZGiNkH/mdXkcgEw== - dependencies: - "@confio/ics23" "^0.6.3" - "@cosmjs/amino" "^0.25.6" - "@cosmjs/encoding" "^0.25.6" - "@cosmjs/math" "^0.25.6" - "@cosmjs/proto-signing" "^0.25.6" - "@cosmjs/stream" "^0.25.6" - "@cosmjs/tendermint-rpc" "^0.25.6" - "@cosmjs/utils" "^0.25.6" - long "^4.0.0" - protobufjs "~6.10.2" - -"@cosmjs/stargate@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.29.5.tgz#d597af1c85a3c2af7b5bdbec34d5d40692cc09e4" - integrity sha512-hjEv8UUlJruLrYGJcUZXM/CziaINOKwfVm2BoSdUnNTMxGvY/jC1ABHKeZUYt9oXHxEJ1n9+pDqzbKc8pT0nBw== - dependencies: - "@confio/ics23" "^0.6.8" - "@cosmjs/amino" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/proto-signing" "^0.29.5" - "@cosmjs/stream" "^0.29.5" - "@cosmjs/tendermint-rpc" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - cosmjs-types "^0.5.2" - long "^4.0.0" - protobufjs "~6.11.3" - xstream "^11.14.0" - -"@cosmjs/stargate@^0.32.3", "@cosmjs/stargate@^0.32.4": +"@cosmjs/stargate@^0.25.5", "@cosmjs/stargate@^0.29.5", "@cosmjs/stargate@^0.32.3", "@cosmjs/stargate@^0.32.4": version "0.32.4" resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.32.4.tgz#bd0e4d3bf613b629addbf5f875d3d3b50f640af1" integrity sha512-usj08LxBSsPRq9sbpCeVdyLx2guEcOHfJS9mHGCLCXpdAPEIEQEtWLDpEUc0LEhWOx6+k/ChXTc5NpFkdrtGUQ== @@ -1670,13 +1479,6 @@ cosmjs-types "^0.9.0" xstream "^11.14.0" -"@cosmjs/stream@^0.25.6": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.25.6.tgz#1bf7536ed919be3fd7fbffa477c98ef5a93eac70" - integrity sha512-2mXIzf+WaFd+GSrRaJJETVXeZoC5sosuKChFERxSY8zXQ/f3OaG9J6m+quHpPbU3nAIEtnF1jgBVqJiD+NKwGQ== - dependencies: - xstream "^11.14.0" - "@cosmjs/stream@^0.29.5": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.29.5.tgz#350981cac496d04939b92ee793b9b19f44bc1d4e" @@ -1691,21 +1493,6 @@ dependencies: xstream "^11.14.0" -"@cosmjs/tendermint-rpc@^0.25.6": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.25.6.tgz#8198a08b0d0e1d6580618f3f22db83366329c9c3" - integrity sha512-wsvxTI7DReWJu+SVlXLblzh5NJppnh1mljuaTHodMf7HBxrXdbcCcBAO8oMbMgEqOASEY5G+z51wktxhrn9RtA== - dependencies: - "@cosmjs/crypto" "^0.25.6" - "@cosmjs/encoding" "^0.25.6" - "@cosmjs/json-rpc" "^0.25.6" - "@cosmjs/math" "^0.25.6" - "@cosmjs/socket" "^0.25.6" - "@cosmjs/stream" "^0.25.6" - axios "^0.21.1" - readonly-date "^1.0.0" - xstream "^11.14.0" - "@cosmjs/tendermint-rpc@^0.29.5": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.29.5.tgz#f205c10464212bdf843f91bb2e4a093b618cb5c2" @@ -1738,11 +1525,6 @@ readonly-date "^1.0.0" xstream "^11.14.0" -"@cosmjs/utils@^0.25.6": - version "0.25.6" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.25.6.tgz#934d9a967180baa66163847616a74358732227ca" - integrity sha512-ofOYiuxVKNo238vCPPlaDzqPXy2AQ/5/nashBo5rvPZJkxt9LciGfUEQWPCOb1BIJDNx2Dzu0z4XCf/dwzl0Dg== - "@cosmjs/utils@^0.29.5": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.29.5.tgz#3fed1b3528ae8c5f1eb5d29b68755bebfd3294ee" @@ -1895,18 +1677,18 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@emnapi/core@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.3.1.tgz#9c62d185372d1bddc94682b87f376e03dfac3f16" - integrity sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog== +"@emnapi/core@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.4.0.tgz#8844b02d799198158ac1fea21ae2bc81b881da9a" + integrity sha512-H+N/FqT07NmLmt6OFFtDfwe8PNygprzBikrEMyQfgqSmT0vzE515Pz7R8izwB9q/zsH/MA64AKoul3sA6/CzVg== dependencies: "@emnapi/wasi-threads" "1.0.1" tslib "^2.4.0" -"@emnapi/runtime@^1.2.0", "@emnapi/runtime@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.3.1.tgz#0fcaa575afc31f455fd33534c19381cfce6c6f60" - integrity sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw== +"@emnapi/runtime@^1.2.0", "@emnapi/runtime@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.4.0.tgz#8f509bf1059a5551c8fe829a1c4e91db35fdfbee" + integrity sha512-64WYIf4UYcdLnbKn/umDlNjQDSS8AgZrI/R9+x5ilkUVFxXcA1Ebl+gQLc/6mERA4407Xof0R7wEyEuj091CVw== dependencies: tslib "^2.4.0" @@ -2168,46 +1950,46 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.9.tgz#50dea3616bc8191fb8e112283b49eaff03e78429" integrity sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg== -"@formatjs/ecma402-abstract@2.3.3": - version "2.3.3" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.3.tgz#fbc7555c9e4fdd104cd5e23129fa3735be3ad0ba" - integrity sha512-pJT1OkhplSmvvr6i3CWTPvC/FGC06MbN5TNBfRO6Ox62AEz90eMq+dVvtX9Bl3jxCEkS0tATzDarRZuOLw7oFg== +"@formatjs/ecma402-abstract@2.3.4": + version "2.3.4" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.4.tgz#e90c5a846ba2b33d92bc400fdd709da588280fbc" + integrity sha512-qrycXDeaORzIqNhBOx0btnhpD1c+/qFIHAN9znofuMJX6QBwtbrmlpWfD4oiUUD2vJUOIYFA/gYtg2KAMGG7sA== dependencies: - "@formatjs/fast-memoize" "2.2.6" - "@formatjs/intl-localematcher" "0.6.0" - decimal.js "10" - tslib "2" + "@formatjs/fast-memoize" "2.2.7" + "@formatjs/intl-localematcher" "0.6.1" + decimal.js "^10.4.3" + tslib "^2.8.0" -"@formatjs/fast-memoize@2.2.6": - version "2.2.6" - resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.6.tgz#fac0a84207a1396be1f1aa4ee2805b179e9343d1" - integrity sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw== +"@formatjs/fast-memoize@2.2.7": + version "2.2.7" + resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz#707f9ddaeb522a32f6715bb7950b0831f4cc7b15" + integrity sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ== dependencies: - tslib "2" + tslib "^2.8.0" -"@formatjs/icu-messageformat-parser@2.11.1": - version "2.11.1" - resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.1.tgz#59d69124b9cf3186800a576c0228947d10594347" - integrity sha512-o0AhSNaOfKoic0Sn1GkFCK4MxdRsw7mPJ5/rBpIqdvcC7MIuyUSW8WChUEvrK78HhNpYOgqCQbINxCTumJLzZA== +"@formatjs/icu-messageformat-parser@2.11.2": + version "2.11.2" + resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.2.tgz#85aea211bea40aa81ee1d44ac7accc3cf5500a73" + integrity sha512-AfiMi5NOSo2TQImsYAg8UYddsNJ/vUEv/HaNqiFjnI3ZFfWihUtD5QtuX6kHl8+H+d3qvnE/3HZrfzgdWpsLNA== dependencies: - "@formatjs/ecma402-abstract" "2.3.3" - "@formatjs/icu-skeleton-parser" "1.8.13" - tslib "2" + "@formatjs/ecma402-abstract" "2.3.4" + "@formatjs/icu-skeleton-parser" "1.8.14" + tslib "^2.8.0" -"@formatjs/icu-skeleton-parser@1.8.13": - version "1.8.13" - resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.13.tgz#5e8b1e1bb467c937735fecb4cb4b345932151a44" - integrity sha512-N/LIdTvVc1TpJmMt2jVg0Fr1F7Q1qJPdZSCs19unMskCmVQ/sa0H9L8PWt13vq+gLdLg1+pPsvBLydL1Apahjg== +"@formatjs/icu-skeleton-parser@1.8.14": + version "1.8.14" + resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.14.tgz#b9581d00363908efb29817fdffc32b79f41dabe5" + integrity sha512-i4q4V4qslThK4Ig8SxyD76cp3+QJ3sAqr7f6q9VVfeGtxG9OhiAk3y9XF6Q41OymsKzsGQ6OQQoJNY4/lI8TcQ== dependencies: - "@formatjs/ecma402-abstract" "2.3.3" - tslib "2" + "@formatjs/ecma402-abstract" "2.3.4" + tslib "^2.8.0" -"@formatjs/intl-localematcher@0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.6.0.tgz#33cf0d33279572c990e02ab75a93122569878082" - integrity sha512-4rB4g+3hESy1bHSBG3tDFaMY2CH67iT7yne1e+0CLTsGLDcmoEWWpJjjpWVaYgYfYuohIRuo0E+N536gd2ZHZA== +"@formatjs/intl-localematcher@0.6.1": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.6.1.tgz#25dc30675320bf65a9d7f73876fc1e4064c0e299" + integrity sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg== dependencies: - tslib "2" + tslib "^2.8.0" "@formkit/auto-animate@^0.8.2": version "0.8.2" @@ -2281,6 +2063,13 @@ optionalDependencies: "@img/sharp-libvips-darwin-arm64" "1.0.4" +"@img/sharp-darwin-arm64@0.34.1": + version "0.34.1" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.1.tgz#e79a4756bea9a06a7aadb4391ee53cb154a4968c" + integrity sha512-pn44xgBtgpEbZsu+lWf2KNb6OAf70X68k+yk69Ic2Xz11zHR/w24/U49XT7AeRwJ0Px+mhALhU5LPci1Aymk7A== + optionalDependencies: + "@img/sharp-libvips-darwin-arm64" "1.1.0" + "@img/sharp-darwin-x64@0.33.5": version "0.33.5" resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz#e03d3451cd9e664faa72948cc70a403ea4063d61" @@ -2288,46 +2077,98 @@ optionalDependencies: "@img/sharp-libvips-darwin-x64" "1.0.4" +"@img/sharp-darwin-x64@0.34.1": + version "0.34.1" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.1.tgz#f1f1d386719f6933796415d84937502b7199a744" + integrity sha512-VfuYgG2r8BpYiOUN+BfYeFo69nP/MIwAtSJ7/Zpxc5QF3KS22z8Pvg3FkrSFJBPNQ7mmcUcYQFBmEQp7eu1F8Q== + optionalDependencies: + "@img/sharp-libvips-darwin-x64" "1.1.0" + "@img/sharp-libvips-darwin-arm64@1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz#447c5026700c01a993c7804eb8af5f6e9868c07f" integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg== +"@img/sharp-libvips-darwin-arm64@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.1.0.tgz#843f7c09c7245dc0d3cfec2b3c83bb08799a704f" + integrity sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA== + "@img/sharp-libvips-darwin-x64@1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz#e0456f8f7c623f9dbfbdc77383caa72281d86062" integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== +"@img/sharp-libvips-darwin-x64@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.1.0.tgz#1239c24426c06a8e833815562f78047a3bfbaaf8" + integrity sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ== + "@img/sharp-libvips-linux-arm64@1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz#979b1c66c9a91f7ff2893556ef267f90ebe51704" integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== +"@img/sharp-libvips-linux-arm64@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.1.0.tgz#20d276cefd903ee483f0441ba35961679c286315" + integrity sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew== + "@img/sharp-libvips-linux-arm@1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz#99f922d4e15216ec205dcb6891b721bfd2884197" integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== +"@img/sharp-libvips-linux-arm@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.1.0.tgz#067c0b566eae8063738cf1b1db8f8a8573b5465c" + integrity sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA== + +"@img/sharp-libvips-linux-ppc64@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.1.0.tgz#682334595f2ca00e0a07a675ba170af165162802" + integrity sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ== + "@img/sharp-libvips-linux-s390x@1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz#f8a5eb1f374a082f72b3f45e2fb25b8118a8a5ce" integrity sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== +"@img/sharp-libvips-linux-s390x@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.1.0.tgz#82fcd68444b3666384235279c145c2b28d8ee302" + integrity sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA== + "@img/sharp-libvips-linux-x64@1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz#d4c4619cdd157774906e15770ee119931c7ef5e0" integrity sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== +"@img/sharp-libvips-linux-x64@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.1.0.tgz#65b2b908bf47156b0724fde9095676c83a18cf5a" + integrity sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q== + "@img/sharp-libvips-linuxmusl-arm64@1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz#166778da0f48dd2bded1fa3033cee6b588f0d5d5" integrity sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== +"@img/sharp-libvips-linuxmusl-arm64@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.1.0.tgz#72accf924e80b081c8db83b900b444a67c203f01" + integrity sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w== + "@img/sharp-libvips-linuxmusl-x64@1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz#93794e4d7720b077fcad3e02982f2f1c246751ff" integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== +"@img/sharp-libvips-linuxmusl-x64@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.1.0.tgz#1fa052737e203f46bf44192acd01f9faf11522d7" + integrity sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A== + "@img/sharp-linux-arm64@0.33.5": version "0.33.5" resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz#edb0697e7a8279c9fc829a60fc35644c4839bb22" @@ -2335,6 +2176,13 @@ optionalDependencies: "@img/sharp-libvips-linux-arm64" "1.0.4" +"@img/sharp-linux-arm64@0.34.1": + version "0.34.1" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.1.tgz#c36ef964499b8cfc2d2ed88fe68f27ce41522c80" + integrity sha512-kX2c+vbvaXC6vly1RDf/IWNXxrlxLNpBVWkdpRq5Ka7OOKj6nr66etKy2IENf6FtOgklkg9ZdGpEu9kwdlcwOQ== + optionalDependencies: + "@img/sharp-libvips-linux-arm64" "1.1.0" + "@img/sharp-linux-arm@0.33.5": version "0.33.5" resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz#422c1a352e7b5832842577dc51602bcd5b6f5eff" @@ -2342,6 +2190,13 @@ optionalDependencies: "@img/sharp-libvips-linux-arm" "1.0.5" +"@img/sharp-linux-arm@0.34.1": + version "0.34.1" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.1.tgz#c96e38ff028d645912bb0aa132a7178b96997866" + integrity sha512-anKiszvACti2sGy9CirTlNyk7BjjZPiML1jt2ZkTdcvpLU1YH6CXwRAZCA2UmRXnhiIftXQ7+Oh62Ji25W72jA== + optionalDependencies: + "@img/sharp-libvips-linux-arm" "1.1.0" + "@img/sharp-linux-s390x@0.33.5": version "0.33.5" resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz#f5c077926b48e97e4a04d004dfaf175972059667" @@ -2349,6 +2204,13 @@ optionalDependencies: "@img/sharp-libvips-linux-s390x" "1.0.4" +"@img/sharp-linux-s390x@0.34.1": + version "0.34.1" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.1.tgz#8ac58d9a49dcb08215e76c8d450717979b7815c3" + integrity sha512-7s0KX2tI9mZI2buRipKIw2X1ufdTeaRgwmRabt5bi9chYfhur+/C1OXg3TKg/eag1W+6CCWLVmSauV1owmRPxA== + optionalDependencies: + "@img/sharp-libvips-linux-s390x" "1.1.0" + "@img/sharp-linux-x64@0.33.5": version "0.33.5" resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz#d806e0afd71ae6775cc87f0da8f2d03a7c2209cb" @@ -2356,6 +2218,13 @@ optionalDependencies: "@img/sharp-libvips-linux-x64" "1.0.4" +"@img/sharp-linux-x64@0.34.1": + version "0.34.1" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.1.tgz#3d8652efac635f0dba39d5e3b8b49515a2b2dee1" + integrity sha512-wExv7SH9nmoBW3Wr2gvQopX1k8q2g5V5Iag8Zk6AVENsjwd+3adjwxtp3Dcu2QhOXr8W9NusBU6XcQUohBZ5MA== + optionalDependencies: + "@img/sharp-libvips-linux-x64" "1.1.0" + "@img/sharp-linuxmusl-arm64@0.33.5": version "0.33.5" resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz#252975b915894fb315af5deea174651e208d3d6b" @@ -2363,6 +2232,13 @@ optionalDependencies: "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" +"@img/sharp-linuxmusl-arm64@0.34.1": + version "0.34.1" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.1.tgz#b267e6a3e06f9e4d345cde471e5480c5c39e6969" + integrity sha512-DfvyxzHxw4WGdPiTF0SOHnm11Xv4aQexvqhRDAoD00MzHekAj9a/jADXeXYCDFH/DzYruwHbXU7uz+H+nWmSOQ== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-arm64" "1.1.0" + "@img/sharp-linuxmusl-x64@0.33.5": version "0.33.5" resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz#3f4609ac5d8ef8ec7dadee80b560961a60fd4f48" @@ -2370,6 +2246,13 @@ optionalDependencies: "@img/sharp-libvips-linuxmusl-x64" "1.0.4" +"@img/sharp-linuxmusl-x64@0.34.1": + version "0.34.1" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.1.tgz#a8dee4b6227f348c4bbacaa6ac3dc584a1a80391" + integrity sha512-pax/kTR407vNb9qaSIiWVnQplPcGU8LRIJpDT5o8PdAx5aAA7AS3X9PS8Isw1/WfqgQorPotjrZL3Pqh6C5EBg== + optionalDependencies: + "@img/sharp-libvips-linuxmusl-x64" "1.1.0" + "@img/sharp-wasm32@0.33.5": version "0.33.5" resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz#6f44f3283069d935bb5ca5813153572f3e6f61a1" @@ -2377,16 +2260,33 @@ dependencies: "@emnapi/runtime" "^1.2.0" +"@img/sharp-wasm32@0.34.1": + version "0.34.1" + resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.34.1.tgz#f7dfd66b6c231269042d3d8750c90f28b9ddcba1" + integrity sha512-YDybQnYrLQfEpzGOQe7OKcyLUCML4YOXl428gOOzBgN6Gw0rv8dpsJ7PqTHxBnXnwXr8S1mYFSLSa727tpz0xg== + dependencies: + "@emnapi/runtime" "^1.4.0" + "@img/sharp-win32-ia32@0.33.5": version "0.33.5" resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz#1a0c839a40c5351e9885628c85f2e5dfd02b52a9" integrity sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ== +"@img/sharp-win32-ia32@0.34.1": + version "0.34.1" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.1.tgz#4bc293705df76a5f0a02df66ca3dc12e88f61332" + integrity sha512-WKf/NAZITnonBf3U1LfdjoMgNO5JYRSlhovhRhMxXVdvWYveM4kM3L8m35onYIdh75cOMCo1BexgVQcCDzyoWw== + "@img/sharp-win32-x64@0.33.5": version "0.33.5" resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz#56f00962ff0c4e0eb93d34a047d29fa995e3e342" integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== +"@img/sharp-win32-x64@0.34.1": + version "0.34.1" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.1.tgz#8a7922fec949f037c204c79f6b83238d2482384b" + integrity sha512-hw1iIAHpNE8q3uMIRCgGOeDoz9KtFNarFLQclLxr/LK1VBkj8nby18RjFvr6aP7USRYAjTZW6yisnBWMX571Tw== + "@interchain-ui/react@^1.26.1": version "1.26.3" resolved "https://registry.yarnpkg.com/@interchain-ui/react/-/react-1.26.3.tgz#71c18d95a43eb57b2b3b2ecc256a24e4edc73cd9" @@ -2828,11 +2728,11 @@ protobufjs "^6.11.2" "@keplr-wallet/provider-extension@^0.12.95": - version "0.12.202" - resolved "https://registry.yarnpkg.com/@keplr-wallet/provider-extension/-/provider-extension-0.12.202.tgz#0dd75b1ee7bcb369784e804fb3157b1ee61a3aae" - integrity sha512-bNht3kg4TJfVh/6CTEXbceL6I9ObzwCD/0/dyC86nInBNwAURq+rIByKnQKwliDOCXX263Jg4q7DjDnRpyn+zg== + version "0.12.216" + resolved "https://registry.yarnpkg.com/@keplr-wallet/provider-extension/-/provider-extension-0.12.216.tgz#801ef152a4f6895a0094e0c352e550568f2e8c67" + integrity sha512-xApuOMTCZ5BQ06jaU6mvQLc9PmFdOJBsxD2H7ZMhzO6AhnYzKAsIzEMZEEFiHClu4IR/sGru9CIEQP/zlxHTaA== dependencies: - "@keplr-wallet/types" "0.12.202" + "@keplr-wallet/types" "0.12.216" deepmerge "^4.2.2" long "^4.0.0" @@ -2841,10 +2741,10 @@ resolved "https://registry.yarnpkg.com/@keplr-wallet/simple-fetch/-/simple-fetch-0.12.28.tgz#44225df5b329c823076280df1ec9930a21b1373e" integrity sha512-T2CiKS2B5n0ZA7CWw0CA6qIAH0XYI1siE50MP+i+V0ZniCGBeL+BMcDw64vFJUcEH+1L5X4sDAzV37fQxGwllA== -"@keplr-wallet/types@0.12.202", "@keplr-wallet/types@^0.12.95": - version "0.12.202" - resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.12.202.tgz#471439a5695e6a29be993c8b7888bdd800c489cb" - integrity sha512-Z3zITuyT0eGPxuq0z/GCAXCRziWNgKRmU1DRISoWISpCD3VFR4wlBiIDRS5g3/ms7g1NAUy6GCCPjbz3E1clig== +"@keplr-wallet/types@0.12.216", "@keplr-wallet/types@^0.12.211", "@keplr-wallet/types@^0.12.95": + version "0.12.216" + resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.12.216.tgz#ba3ce36bae47754e6ebcbadb7e6cda9a0367e5b6" + integrity sha512-mTXsEmM1rtsi/G9mgkGG7ALesFdMISnRuydKEefLszt9yIrxqlAIo1d/WL32ZSACNQ5mVbGX/Tg0ne7ltmE58w== dependencies: long "^4.0.0" @@ -3018,30 +2918,23 @@ clsx "^2.1.1" prop-types "^15.8.1" -"@mui/core-downloads-tracker@^5.16.14": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.14.tgz#e6536f1b6caa873f7915fbf9703fdc840a5a98d9" - integrity sha512-sbjXW+BBSvmzn61XyTMun899E7nGPTXwqD9drm1jBUAvWEhJpPFIRxwQQiATWZnd9rvdxtnhhdsDxEGWI0jxqA== +"@mui/core-downloads-tracker@^5.17.1": + version "5.17.1" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.17.1.tgz#49b88ecb68b800431b5c2f2bfb71372d1f1478fa" + integrity sha512-OcZj+cs6EfUD39IoPBOgN61zf1XFVY+imsGoBDwXeSq2UHJZE3N59zzBOVjclck91Ne3e9gudONOeILvHCIhUA== -"@mui/core-downloads-tracker@^6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.10.tgz#d01f0beda966f7a7d31400274b693d4ceb55747b" - integrity sha512-cblGjlM6+xsptwyaALw8RbRIUoqmKxOqLxlk2LkTDhxqUuql1YSOKKLH3w+Yd2QLz28b7MR65sx1OjsRZUfOSQ== +"@mui/core-downloads-tracker@^6.4.11": + version "6.4.11" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-6.4.11.tgz#0752eea024d8ff0f120b0f26aee4342c79112847" + integrity sha512-CzAQs9CTzlwbsF9ZYB4o4lLwBv1/qNE264NjuYao+ctAXsmlPtYa8RtER4UsUXSMxNN9Qi+aQdYcKl2sUpnmAw== -"@mui/icons-material@^5.16.11": +"@mui/icons-material@^5.16.11", "@mui/icons-material@^5.2.0": version "5.17.1" resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.17.1.tgz#2b14832473d4d3738d8194665af359377eb91752" integrity sha512-CN86LocjkunFGG0yPlO4bgqHkNGgaEOEc3X/jG5Bzm401qYw79/SaLrofA7yAKCCXAGdIGnLoMHohc3+ubs95A== dependencies: "@babel/runtime" "^7.23.9" -"@mui/icons-material@^5.2.0": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.16.14.tgz#4fdecb05c15b1696f6f668fc29d549875544c892" - integrity sha512-heL4S+EawrP61xMXBm59QH6HODsu0gxtZi5JtnXF2r+rghzyU/3Uftlt1ij8rmJh+cFdKTQug1L9KkZB5JgpMQ== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/lab@5.0.0-alpha.170": version "5.0.0-alpha.170" resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.170.tgz#4519dfc8d1c51ca54fb9d8b91b95a3733d07be16" @@ -3063,15 +2956,15 @@ "@babel/runtime" "^7.26.0" "@mui/material@^5.2.2": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.16.14.tgz#da8a75822f039d8c1b0ab7fb4146d767c2f9248a" - integrity sha512-eSXQVCMKU2xc7EcTxe/X/rC9QsV2jUe8eLM3MUCPYbo6V52eCE436akRIvELq/AqZpxx2bwkq7HC0cRhLB+yaw== + version "5.17.1" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.17.1.tgz#596f542a51fc74db75da2df66565b4874ce4049d" + integrity sha512-2B33kQf+GmPnrvXXweWAx+crbiUEsxCdCN979QDYnlH9ox4pd+0/IBriWLV+l6ORoBF60w39cWjFnJYGFdzXcw== dependencies: "@babel/runtime" "^7.23.9" - "@mui/core-downloads-tracker" "^5.16.14" - "@mui/system" "^5.16.14" - "@mui/types" "^7.2.15" - "@mui/utils" "^5.16.14" + "@mui/core-downloads-tracker" "^5.17.1" + "@mui/system" "^5.17.1" + "@mui/types" "~7.2.15" + "@mui/utils" "^5.17.1" "@popperjs/core" "^2.11.8" "@types/react-transition-group" "^4.4.10" clsx "^2.1.0" @@ -3081,13 +2974,13 @@ react-transition-group "^4.4.5" "@mui/material@^6.1.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-6.4.10.tgz#9b9093cfd547f57e41862cdbd92636a22db07664" - integrity sha512-L1B0+Vg9NFjo3NcfODH3bohl6fIkzjyDBHBHb3Al4QI7owaJrFm2sSDyfz++iatzICug6U6q5tHLQrCLO71xkg== + version "6.4.11" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-6.4.11.tgz#ac5c42c25fc807545eef4de0e88a47b52de8ed75" + integrity sha512-k2D3FLJS+/qD0qnd6ZlAjGFvaaxe1Dl10NyvpeDzIebMuYdn8VqYe6XBgGueEAtnzSJM4V03VD9kb5Fi24dnTA== dependencies: "@babel/runtime" "^7.26.0" - "@mui/core-downloads-tracker" "^6.4.10" - "@mui/system" "^6.4.10" + "@mui/core-downloads-tracker" "^6.4.11" + "@mui/system" "^6.4.11" "@mui/types" "~7.2.24" "@mui/utils" "^6.4.9" "@popperjs/core" "^2.11.8" @@ -3098,13 +2991,13 @@ react-is "^19.0.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.16.14": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.14.tgz#7ad2b8a8fe0417f9fdfd05011806b9cb33c1a20a" - integrity sha512-12t7NKzvYi819IO5IapW2BcR33wP/KAVrU8d7gLhGHoAmhDxyXlRoKiRij3TOD8+uzk0B6R9wHUNKi4baJcRNg== +"@mui/private-theming@^5.17.1": + version "5.17.1" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.17.1.tgz#b4b6fbece27830754ef78186e3f1307dca42f295" + integrity sha512-XMxU0NTYcKqdsG8LRmSoxERPXwMbp16sIXPcLVgLGII/bVNagX0xaheWAwFv8+zDK7tI3ajllkuD3GZZE++ICQ== dependencies: "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.16.14" + "@mui/utils" "^5.17.1" prop-types "^15.8.1" "@mui/private-theming@^6.4.9": @@ -3126,10 +3019,10 @@ csstype "^3.1.3" prop-types "^15.8.1" -"@mui/styled-engine@^6.4.9": - version "6.4.9" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-6.4.9.tgz#d6d6b5f180466001284f897ff7d7010a8e329497" - integrity sha512-qZRWO0cT407NI4ZRjZcH+1SOu8f3JzLHqdMlg52GyEufM9pkSZFnf7xjpwnlvkixcGjco6wLlMD0VB43KRcBuA== +"@mui/styled-engine@^6.4.11": + version "6.4.11" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-6.4.11.tgz#a48f48165382943018f70519de1d31e036abb054" + integrity sha512-74AUmlHXaGNbyUqdK/+NwDJOZqgRQw6BcNvhoWYLq3LGbLTkE+khaJ7soz6cIabE4CPYqO2/QAIU1Z/HEjjpcw== dependencies: "@babel/runtime" "^7.26.0" "@emotion/cache" "^11.13.5" @@ -3139,15 +3032,15 @@ prop-types "^15.8.1" "@mui/styles@^5.2.2": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.16.14.tgz#a9482d0287ae83636c146817ba99f7dde6fcdaca" - integrity sha512-J3iE718GbU06mnD9qu57/Fx+TosuBlhzs8nk1Q87QRQ76xo6qzLc3ek9n3dUPourGXWVenTxv1YX8lTOAnbHBA== + version "5.17.1" + resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.17.1.tgz#1d51a6eee7fdb396979199e6b08a2d0b3ca9e6f8" + integrity sha512-GxNtcD1jXjj1i81vyuaeNxCpph/ApxSxgJ+G8A2jUY5/bMOxXSmgUdupbB0JLexsDIqmaSqTePVN0jnMZc1iZQ== dependencies: "@babel/runtime" "^7.23.9" "@emotion/hash" "^0.9.1" - "@mui/private-theming" "^5.16.14" - "@mui/types" "^7.2.15" - "@mui/utils" "^5.16.14" + "@mui/private-theming" "^5.17.1" + "@mui/types" "~7.2.15" + "@mui/utils" "^5.17.1" clsx "^2.1.0" csstype "^3.1.3" hoist-non-react-statics "^3.3.2" @@ -3161,64 +3054,71 @@ jss-plugin-vendor-prefixer "^10.10.0" prop-types "^15.8.1" -"@mui/system@^5.15.14", "@mui/system@^5.15.15", "@mui/system@^5.16.14": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.14.tgz#92765ba01a3d1f8ee4967248cb00077d7aed225b" - integrity sha512-KBxMwCb8mSIABnKvoGbvM33XHyT+sN0BzEBG+rsSc0lLQGzs7127KWkCA6/H8h6LZ00XpBEME5MAj8mZLiQ1tw== +"@mui/system@^5.15.14", "@mui/system@^5.15.15", "@mui/system@^5.17.1": + version "5.17.1" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.17.1.tgz#1f987cce91bf738545a8cf5f99152cd2728e6077" + integrity sha512-aJrmGfQpyF0U4D4xYwA6ueVtQcEMebET43CUmKMP7e7iFh3sMIF3sBR0l8Urb4pqx1CBjHAaWgB0ojpND4Q3Jg== dependencies: "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.16.14" + "@mui/private-theming" "^5.17.1" "@mui/styled-engine" "^5.16.14" - "@mui/types" "^7.2.15" - "@mui/utils" "^5.16.14" + "@mui/types" "~7.2.15" + "@mui/utils" "^5.17.1" clsx "^2.1.0" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/system@^6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-6.4.10.tgz#622eb2b73d94137e34abcd105d7708d67e80e70b" - integrity sha512-RyBGQwP3tgo4JEibK+RwVu1a6nQ6y8urMCNsb2aiN/nvTxxumq6P26aoG4GTUf8L4O1sthC4lMXlP4r8ixDkMg== +"@mui/system@^6.4.11": + version "6.4.11" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-6.4.11.tgz#f209e0792d008be2f75af41fada2ee9e06adeef2" + integrity sha512-gibtsrZEwnDaT5+I/KloOj/yHluX5G8heknuxBpQOdEQ3Gc0avjSImn5hSeKp8D4thiwZiApuggIjZw1dQguUA== dependencies: "@babel/runtime" "^7.26.0" "@mui/private-theming" "^6.4.9" - "@mui/styled-engine" "^6.4.9" + "@mui/styled-engine" "^6.4.11" "@mui/types" "~7.2.24" "@mui/utils" "^6.4.9" clsx "^2.1.1" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/types@^7.2.14", "@mui/types@^7.2.15", "@mui/types@~7.2.24": +"@mui/types@^7.2.14", "@mui/types@^7.4.1": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.4.1.tgz#5611268faa0b46ab0c622c02b54f3f30f9809c2d" + integrity sha512-gUL8IIAI52CRXP/MixT1tJKt3SI6tVv4U/9soFsTtAsHzaJQptZ42ffdHZV3niX1ei0aUgMvOxBBN0KYqdG39g== + dependencies: + "@babel/runtime" "^7.27.0" + +"@mui/types@~7.2.15", "@mui/types@~7.2.24": version "7.2.24" resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.24.tgz#5eff63129d9c29d80bbf2d2e561bd0690314dec2" integrity sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw== -"@mui/utils@^5.15.14", "@mui/utils@^5.16.14", "@mui/utils@^5.7.0": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.14.tgz#7217e876a5092cd04c184b34bca348e0befaef8c" - integrity sha512-wn1QZkRzSmeXD1IguBVvJJHV3s6rxJrfb6YuC9Kk6Noh9f8Fb54nUs5JRkKm+BOerRhj5fLg05Dhx/H3Ofb8Mg== +"@mui/utils@^5.15.14", "@mui/utils@^5.17.1", "@mui/utils@^5.7.0": + version "5.17.1" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.17.1.tgz#72ba4ffa79f7bdf69d67458139390f18484b6e6b" + integrity sha512-jEZ8FTqInt2WzxDV8bhImWBqeQRD99c/id/fq83H0ER9tFl+sfZlaAoCdznGvbSQQ9ividMxqSV2c7cC1vBcQg== dependencies: "@babel/runtime" "^7.23.9" - "@mui/types" "^7.2.15" + "@mui/types" "~7.2.15" "@types/prop-types" "^15.7.12" clsx "^2.1.1" prop-types "^15.8.1" react-is "^19.0.0" -"@mui/utils@^5.16.6 || ^6.0.0 || ^7.0.0 || ^7.0.0-beta", "@mui/utils@^6.4.8": - version "6.4.8" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.4.8.tgz#f80ee0c0ac47f1cd47c2031a5fb87243322b6bf3" - integrity sha512-C86gfiZ5BfZ51KqzqoHi1WuuM2QdSKoFhbkZeAfQRB+jCc4YNhhj11UXFVMMsqBgZ+Zy8IHNJW3M9Wj/LOwRXQ== +"@mui/utils@^5.16.6 || ^6.0.0 || ^7.0.0 || ^7.0.0-beta": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-7.0.2.tgz#b6842a9f979a619b65011a84a1964b85b205a9a4" + integrity sha512-72gcuQjPzhj/MLmPHLCgZjy2VjOH4KniR/4qRtXTTXIEwbkgcN+Y5W/rC90rWtMmZbjt9svZev/z+QHUI4j74w== dependencies: - "@babel/runtime" "^7.26.0" - "@mui/types" "~7.2.24" + "@babel/runtime" "^7.27.0" + "@mui/types" "^7.4.1" "@types/prop-types" "^15.7.14" clsx "^2.1.1" prop-types "^15.8.1" - react-is "^19.0.0" + react-is "^19.1.0" -"@mui/utils@^6.4.9": +"@mui/utils@^6.4.8", "@mui/utils@^6.4.9": version "6.4.9" resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.4.9.tgz#b0df01daa254c7c32a1a30b30a5179e19ef071a7" integrity sha512-Y12Q9hbK9g+ZY0T3Rxrx9m2m10gaphDuUMgWxyV5kNJevVxXYCLclYUCC9vXaIk1/NdNDTcW2Yfr2OGvNFNmHg== @@ -3313,9 +3213,9 @@ "@mui/utils" "^5.16.6 || ^6.0.0 || ^7.0.0 || ^7.0.0-beta" "@mui/x-tree-view@^7.11.1": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@mui/x-tree-view/-/x-tree-view-7.28.0.tgz#d46c0be7b982d04694ad7e193ca3f8172bd1577c" - integrity sha512-L41Vo/rAdchRQIVfFyCf92hRtHrVoiuA6E1vf9Ie3IgXRLznj6CMUicOctB+hO2/uQZPuc7WVfvLZFZ/7ur6HA== + version "7.28.1" + resolved "https://registry.yarnpkg.com/@mui/x-tree-view/-/x-tree-view-7.28.1.tgz#2b61da7a4b97c5326cdc87d211d8a15f4f3026bf" + integrity sha512-nXrP5pDgoi6snxngIezL8PRvkWECqSApq8Rh8+TVsslBog+XmWs5PHgUXaKsCgi3SN0eNOvjz0+e4I0c+qkuvA== dependencies: "@babel/runtime" "^7.25.7" "@mui/utils" "^5.16.6 || ^6.0.0 || ^7.0.0 || ^7.0.0-beta" @@ -3325,13 +3225,13 @@ prop-types "^15.8.1" react-transition-group "^4.4.5" -"@napi-rs/wasm-runtime@^0.2.7": - version "0.2.7" - resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.7.tgz#288f03812a408bc53c2c3686c65f38fe90f295eb" - integrity sha512-5yximcFK5FNompXfJFoWanu5l8v1hNGqNHh9du1xETp9HWk/B/PzvchX55WYOPaIeNglG8++68AAiauBAtbnzw== +"@napi-rs/wasm-runtime@^0.2.8": + version "0.2.8" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.8.tgz#642e8390ee78ed21d6b79c467aa610e249224ed6" + integrity sha512-OBlgKdX7gin7OIq4fadsjpg+cp2ZphvAIKucHsNfTdJiqdOmOEwQd/bHi0VwNrcw5xpBJyUw6cK/QilCqy1BSg== dependencies: - "@emnapi/core" "^1.3.1" - "@emnapi/runtime" "^1.3.1" + "@emnapi/core" "^1.4.0" + "@emnapi/runtime" "^1.4.0" "@tybys/wasm-util" "^0.9.0" "@next/env@14.2.21": @@ -3339,10 +3239,10 @@ resolved "https://registry.yarnpkg.com/@next/env/-/env-14.2.21.tgz#09ff0813d29c596397e141205d4f5fd5c236bdd0" integrity sha512-lXcwcJd5oR01tggjWJ6SrNNYFGuOOMB9c251wUNkjCpkoXOPkDeF/15c3mnVlBqrW4JJXb2kVxDFhC4GduJt2A== -"@next/env@15.2.4": - version "15.2.4" - resolved "https://registry.yarnpkg.com/@next/env/-/env-15.2.4.tgz#060f8d8ddb02be5c825eab4ccd9ab619001efffb" - integrity sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g== +"@next/env@15.3.0": + version "15.3.0" + resolved "https://registry.yarnpkg.com/@next/env/-/env-15.3.0.tgz#ea3a2a02e8023097efa23ec573540f522815e9d4" + integrity sha512-6mDmHX24nWlHOlbwUiAOmMyY7KELimmi+ed8qWcJYjqXeC+G6JzPZ3QosOAfjNwgMIzwhXBiRiCgdh8axTTdTA== "@next/eslint-plugin-next@14.1.4": version "14.1.4" @@ -3363,70 +3263,70 @@ resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.21.tgz#32a31992aace1440981df9cf7cb3af7845d94fec" integrity sha512-HwEjcKsXtvszXz5q5Z7wCtrHeTTDSTgAbocz45PHMUjU3fBYInfvhR+ZhavDRUYLonm53aHZbB09QtJVJj8T7g== -"@next/swc-darwin-arm64@15.2.4": - version "15.2.4" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.4.tgz#3a54f67aa2e0096a9147bd24dff1492e151819ae" - integrity sha512-1AnMfs655ipJEDC/FHkSr0r3lXBgpqKo4K1kiwfUf3iE68rDFXZ1TtHdMvf7D0hMItgDZ7Vuq3JgNMbt/+3bYw== +"@next/swc-darwin-arm64@15.3.0": + version "15.3.0" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.3.0.tgz#804660ea060920ed9835d079a0af64552771ccf4" + integrity sha512-PDQcByT0ZfF2q7QR9d+PNj3wlNN4K6Q8JoHMwFyk252gWo4gKt7BF8Y2+KBgDjTFBETXZ/TkBEUY7NIIY7A/Kw== "@next/swc-darwin-x64@14.2.21": version "14.2.21" resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.21.tgz#5ab4b3f6685b6b52f810d0f5cf6e471480ddffdb" integrity sha512-TSAA2ROgNzm4FhKbTbyJOBrsREOMVdDIltZ6aZiKvCi/v0UwFmwigBGeqXDA97TFMpR3LNNpw52CbVelkoQBxA== -"@next/swc-darwin-x64@15.2.4": - version "15.2.4" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.2.4.tgz#9b540f24afde1b7878623fdba9695344d26b7d67" - integrity sha512-3qK2zb5EwCwxnO2HeO+TRqCubeI/NgCe+kL5dTJlPldV/uwCnUgC7VbEzgmxbfrkbjehL4H9BPztWOEtsoMwew== +"@next/swc-darwin-x64@15.3.0": + version "15.3.0" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.3.0.tgz#0e352c9aee544b18d3e4c138487ecc6aa71469b4" + integrity sha512-m+eO21yg80En8HJ5c49AOQpFDq+nP51nu88ZOMCorvw3g//8g1JSUsEiPSiFpJo1KCTQ+jm9H0hwXK49H/RmXg== "@next/swc-linux-arm64-gnu@14.2.21": version "14.2.21" resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.21.tgz#8a0e1fa887aef19ca218af2af515d0a5ee67ba3f" integrity sha512-0Dqjn0pEUz3JG+AImpnMMW/m8hRtl1GQCNbO66V1yp6RswSTiKmnHf3pTX6xMdJYSemf3O4Q9ykiL0jymu0TuA== -"@next/swc-linux-arm64-gnu@15.2.4": - version "15.2.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.2.4.tgz#417a234c9f4dc5495094a8979859ac528c0f1f58" - integrity sha512-HFN6GKUcrTWvem8AZN7tT95zPb0GUGv9v0d0iyuTb303vbXkkbHDp/DxufB04jNVD+IN9yHy7y/6Mqq0h0YVaQ== +"@next/swc-linux-arm64-gnu@15.3.0": + version "15.3.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.3.0.tgz#2dbdc7e7234bb56031ede78ad48275f66a09cdce" + integrity sha512-H0Kk04ZNzb6Aq/G6e0un4B3HekPnyy6D+eUBYPJv9Abx8KDYgNMWzKt4Qhj57HXV3sTTjsfc1Trc1SxuhQB+Tg== "@next/swc-linux-arm64-musl@14.2.21": version "14.2.21" resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.21.tgz#ddad844406b42fa8965fe11250abc85c1fe0fd05" integrity sha512-Ggfw5qnMXldscVntwnjfaQs5GbBbjioV4B4loP+bjqNEb42fzZlAaK+ldL0jm2CTJga9LynBMhekNfV8W4+HBw== -"@next/swc-linux-arm64-musl@15.2.4": - version "15.2.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.2.4.tgz#9bca76375508a175956f2d51f8547d0d6f9ffa64" - integrity sha512-Oioa0SORWLwi35/kVB8aCk5Uq+5/ZIumMK1kJV+jSdazFm2NzPDztsefzdmzzpx5oGCJ6FkUC7vkaUseNTStNA== +"@next/swc-linux-arm64-musl@15.3.0": + version "15.3.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.3.0.tgz#410143ca5650e366da5483bd5078ba9dfdd96185" + integrity sha512-k8GVkdMrh/+J9uIv/GpnHakzgDQhrprJ/FbGQvwWmstaeFG06nnAoZCJV+wO/bb603iKV1BXt4gHG+s2buJqZA== "@next/swc-linux-x64-gnu@14.2.21": version "14.2.21" resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.21.tgz#db55fd666f9ba27718f65caa54b622a912cdd16b" integrity sha512-uokj0lubN1WoSa5KKdThVPRffGyiWlm/vCc/cMkWOQHw69Qt0X1o3b2PyLLx8ANqlefILZh1EdfLRz9gVpG6tg== -"@next/swc-linux-x64-gnu@15.2.4": - version "15.2.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.2.4.tgz#c3d5041d53a5b228bf521ed49649e0f2a7aff947" - integrity sha512-yb5WTRaHdkgOqFOZiu6rHV1fAEK0flVpaIN2HB6kxHVSy/dIajWbThS7qON3W9/SNOH2JWkVCyulgGYekMePuw== +"@next/swc-linux-x64-gnu@15.3.0": + version "15.3.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.3.0.tgz#1db7dc39e528a2de8ba11156585dfc74b4d6e2aa" + integrity sha512-ZMQ9yzDEts/vkpFLRAqfYO1wSpIJGlQNK9gZ09PgyjBJUmg8F/bb8fw2EXKgEaHbCc4gmqMpDfh+T07qUphp9A== "@next/swc-linux-x64-musl@14.2.21": version "14.2.21" resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.21.tgz#dddb850353624efcd58c4c4e30ad8a1aab379642" integrity sha512-iAEBPzWNbciah4+0yI4s7Pce6BIoxTQ0AGCkxn/UBuzJFkYyJt71MadYQkjPqCQCJAFQ26sYh7MOKdU+VQFgPg== -"@next/swc-linux-x64-musl@15.2.4": - version "15.2.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.2.4.tgz#b2a51a108b1c412c69a504556cde0517631768c7" - integrity sha512-Dcdv/ix6srhkM25fgXiyOieFUkz+fOYkHlydWCtB0xMST6X9XYI3yPDKBZt1xuhOytONsIFJFB08xXYsxUwJLw== +"@next/swc-linux-x64-musl@15.3.0": + version "15.3.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.3.0.tgz#3f7f0fb55a16d7b87801451555cb929117b8ff88" + integrity sha512-RFwq5VKYTw9TMr4T3e5HRP6T4RiAzfDJ6XsxH8j/ZeYq2aLsBqCkFzwMI0FmnSsLaUbOb46Uov0VvN3UciHX5A== "@next/swc-win32-arm64-msvc@14.2.21": version "14.2.21" resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.21.tgz#290012ee57b196d3d2d04853e6bf0179cae9fbaf" integrity sha512-plykgB3vL2hB4Z32W3ktsfqyuyGAPxqwiyrAi2Mr8LlEUhNn9VgkiAl5hODSBpzIfWweX3er1f5uNpGDygfQVQ== -"@next/swc-win32-arm64-msvc@15.2.4": - version "15.2.4" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.2.4.tgz#7d687b42512abd36f44c2c787d58a1590f174b69" - integrity sha512-dW0i7eukvDxtIhCYkMrZNQfNicPDExt2jPb9AZPpL7cfyUo7QSNl1DjsHjmmKp6qNAqUESyT8YFl/Aw91cNJJg== +"@next/swc-win32-arm64-msvc@15.3.0": + version "15.3.0" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.3.0.tgz#1eb4ba20beae55d41e02e1780bc45ceabd45550f" + integrity sha512-a7kUbqa/k09xPjfCl0RSVAvEjAkYBYxUzSVAzk2ptXiNEL+4bDBo9wNC43G/osLA/EOGzG4CuNRFnQyIHfkRgQ== "@next/swc-win32-ia32-msvc@14.2.21": version "14.2.21" @@ -3438,10 +3338,10 @@ resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.21.tgz#21ff892286555b90538a7d1b505ea21a005d6ead" integrity sha512-sT6+llIkzpsexGYZq8cjjthRyRGe5cJVhqh12FmlbxHqna6zsDDK8UNaV7g41T6atFHCJUPeLb3uyAwrBwy0NA== -"@next/swc-win32-x64-msvc@15.2.4": - version "15.2.4" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.2.4.tgz#779a0ea272fa4f509387f3b320e2d70803943a95" - integrity sha512-SbnWkJmkS7Xl3kre8SdMF6F/XDh1DTFEhp0jRTj/uB8iPKoU2bb2NDfcu+iifv1+mxQEd1g2vvSxcZbXSKyWiQ== +"@next/swc-win32-x64-msvc@15.3.0": + version "15.3.0" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.3.0.tgz#68740dee9831fcd738ab2056438bd3de75712f65" + integrity sha512-vHUQS4YVGJPmpjn7r5lEZuMhK5UQBNBRSB+iGDvJjaNk649pTIcRluDWNb9siunyLLiu/LDPHfvxBtNamyuLTw== "@nivo/annotations@0.88.0": version "0.88.0" @@ -3908,9 +3808,9 @@ integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== "@pmmmwh/react-refresh-webpack-plugin@^0.5.3", "@pmmmwh/react-refresh-webpack-plugin@^0.5.4": - version "0.5.15" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz#f126be97c30b83ed777e2aeabd518bc592e6e7c4" - integrity sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ== + version "0.5.16" + resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.16.tgz#36795b3d5a967032a769977780f2dcc01f4e9c4a" + integrity sha512-kLQc9xz6QIqd2oIYyXRUiAp79kGpFBm3fEM9ahfG1HI0WI5gdZ2OVHWdmZYnwODt7ISck+QuQ6sBPrtvUBML7Q== dependencies: ansi-html "^0.0.9" core-js-pure "^3.23.3" @@ -5706,9 +5606,9 @@ global "^4.4.0" "@storybook/client-logger@^6.4.0 || >=6.5.0-0": - version "8.6.7" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-8.6.7.tgz#d4f84cd62ae4285b35f43d764c591df9941d3f75" - integrity sha512-a74L33wHuecuFFgkhW+Pwv5h7OeleAU/rsDKs3kLTIw2WCAnpRx89QLnScO8Ot1vGUUzwAmNaJXt0cJB3YLumQ== + version "8.6.12" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-8.6.12.tgz#50e1f693465122956107aad581d4826e354cf673" + integrity sha512-yvUfcH604qsX6s6O9n+U7giEw1MIFZqJ9Q3qvef05/EU4Xy8xdErol+q0wvLPI5O4/26AQMOB9EqavGqTFt6Ng== "@storybook/components@6.5.16": version "6.5.16" @@ -5936,9 +5836,9 @@ global "^4.4.0" "@storybook/instrumenter@^6.4.0 || >=6.5.0-0": - version "8.6.7" - resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-8.6.7.tgz#c0adb9341661acc359b0d6adcb3ffab3160904b1" - integrity sha512-FeQiV0g5crCWs0P1wKY4xZzb4PxAYNcrm2+9LLGVqwnC7qzrSCPf0p10MlveVfwsen1m6Wbqfe+wl21c31Hfmg== + version "8.6.12" + resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-8.6.12.tgz#7a99e061c3b9574b38d5677540852ba2b330e6a5" + integrity sha512-VK5fYAF8jMwWP/u3YsmSwKGh+FeSY8WZn78flzRUwirp2Eg1WWjsqPRubAk7yTpcqcC/km9YMF3KbqfzRv2s/A== dependencies: "@storybook/global" "^5.0.0" "@vitest/utils" "^2.1.1" @@ -6381,34 +6281,34 @@ dependencies: remove-accents "0.5.0" -"@tanstack/query-core@5.71.5": - version "5.71.5" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.71.5.tgz#bb373ffca396fa70edb0bc9ef5722add6ba6f0b9" - integrity sha512-XOQ5SyjCdwhxyLksGKWSL5poqyEXYPDnsrZAzJm2LgrMm4Yh6VOrfC+IFosXreDw9HNqC11YAMY3HlfHjNzuaA== +"@tanstack/query-core@5.72.2": + version "5.72.2" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.72.2.tgz#448dbdc68c6c836d7b202eafdd1b89fb9379f3d4" + integrity sha512-fxl9/0yk3mD/FwTmVEf1/H6N5B975H0luT+icKyX566w6uJG0x6o+Yl+I38wJRCaogiMkstByt+seXfDbWDAcA== -"@tanstack/query-devtools@5.71.5": - version "5.71.5" - resolved "https://registry.yarnpkg.com/@tanstack/query-devtools/-/query-devtools-5.71.5.tgz#65ba36c1589a88707a4985b8b0e7742171ba72e3" - integrity sha512-Fq1JeAp+I52Md/KnyeFxzG7G0RpdHgeOfDNhSPkZQs/JqqXuAfpUf+wFHDz+vP0GZbSnla2JmcLSQebOkIb1yA== +"@tanstack/query-devtools@5.72.2": + version "5.72.2" + resolved "https://registry.yarnpkg.com/@tanstack/query-devtools/-/query-devtools-5.72.2.tgz#35a8bc7951d31cfdbbed1f7774909a61c60f35ef" + integrity sha512-mMKnGb+iOhVBcj6jaerCFRpg8pACStdG8hmUBHPtToeZzs4ctjBUL1FajqpVn2WaMxnq8Wya+P3Q5tPFNM9jQw== "@tanstack/react-query-devtools@^5.64.2": - version "5.71.5" - resolved "https://registry.yarnpkg.com/@tanstack/react-query-devtools/-/react-query-devtools-5.71.5.tgz#9d34b9e7e5622bc5b0aafbe9149031ef87d7977f" - integrity sha512-VErQ29hgwmLrZjMmHp83iv+UdeCbqAyj/JR1mZjDbf+ghyJT+Hmh8jfbh6WYzKh8Fnej7uwl3nHbCsqd3VjoWw== + version "5.72.2" + resolved "https://registry.yarnpkg.com/@tanstack/react-query-devtools/-/react-query-devtools-5.72.2.tgz#e84bd3ccfd3e21cb9b86d83ace13469e612ffde3" + integrity sha512-n53qr9JdHCJTCUba6OvMhwiV2CcsckngOswKEE7nM5pQBa/fW9c43qw8omw1RPT2s+aC7MuwS8fHsWT8g+j6IQ== dependencies: - "@tanstack/query-devtools" "5.71.5" + "@tanstack/query-devtools" "5.72.2" "@tanstack/react-query-next-experimental@^5.66.0": - version "5.71.8" - resolved "https://registry.yarnpkg.com/@tanstack/react-query-next-experimental/-/react-query-next-experimental-5.71.8.tgz#d7f390a5edce5bfc586a0badd1019f51a1a2840b" - integrity sha512-9Onh/EfSTk1p2EXpkX+G2dqhsMA89FGO3/5g4aX2EmBstZun582TSbEH2hyje1GTyEKPAnGDNdj5OCALWkTWUg== + version "5.72.2" + resolved "https://registry.yarnpkg.com/@tanstack/react-query-next-experimental/-/react-query-next-experimental-5.72.2.tgz#746d27a483172be3fd74094135fc4386bf1aeb8c" + integrity sha512-s53o3ZKpja2v5Bdga+rxUY+/NzXrNbxRj/JyL7FNgruOmqurF8sJgeQxG7eMV9AHp1iN3Fk12Zezjfv5w3NjMg== "@tanstack/react-query@^5.64.2": - version "5.71.5" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.71.5.tgz#1018f083945ba5e2b91997eec9b9c767efce1e1b" - integrity sha512-WpxZWy4fDASjY+iAaXB+aY+LC95PQ34W6EWVkjJ0hdzWWbczFnr9nHvHkVDpwdR18I1NO8igNGQJFrLrgyzI8Q== + version "5.72.2" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.72.2.tgz#677a2b239bfee2dbeb75c3f4dc541a8fffa33d6d" + integrity sha512-SVNHzyBUYiis+XiCl+8yiPZmMYei2AKYY94wM/zpvB5l1jxqOo82FQTziSJ4pBi96jtYqvYrTMxWynmbQh3XKw== dependencies: - "@tanstack/query-core" "5.71.5" + "@tanstack/query-core" "5.72.2" "@tanstack/react-table@8.20.5": version "8.20.5" @@ -6446,11 +6346,11 @@ "@tanstack/virtual-core" "3.11.2" "@tanstack/react-virtual@^3.10.5": - version "3.13.4" - resolved "https://registry.yarnpkg.com/@tanstack/react-virtual/-/react-virtual-3.13.4.tgz#1188d4e452c8c7569cf42d0f605018ed67941e5c" - integrity sha512-jPWC3BXvVLHsMX67NEHpJaZ+/FySoNxFfBEiF4GBc1+/nVwdRm+UcSCYnKP3pXQr0eEsDpXi/PQZhNfJNopH0g== + version "3.13.6" + resolved "https://registry.yarnpkg.com/@tanstack/react-virtual/-/react-virtual-3.13.6.tgz#30243c8c3166673caf66bfbf5352e1b314a3a4cd" + integrity sha512-WT7nWs8ximoQ0CDx/ngoFP7HbQF9Q2wQe4nh2NB+u2486eX3nZRE40P9g6ccCVq7ZfTSH5gFOuCoVH5DLNS/aA== dependencies: - "@tanstack/virtual-core" "3.13.4" + "@tanstack/virtual-core" "3.13.6" "@tanstack/table-core@8.20.5": version "8.20.5" @@ -6472,87 +6372,87 @@ resolved "https://registry.yarnpkg.com/@tanstack/virtual-core/-/virtual-core-3.11.2.tgz#00409e743ac4eea9afe5b7708594d5fcebb00212" integrity sha512-vTtpNt7mKCiZ1pwU9hfKPhpdVO2sVzFQsxoVBGtOSHxlrRRzYr8iQ2TlwbAcRYCcEiZ9ECAM8kBzH0v2+VzfKw== -"@tanstack/virtual-core@3.13.4": - version "3.13.4" - resolved "https://registry.yarnpkg.com/@tanstack/virtual-core/-/virtual-core-3.13.4.tgz#31ac7710d102ed59463f922ab088dde5a9e62010" - integrity sha512-fNGO9fjjSLns87tlcto106enQQLycCKR4DPNpgq3djP5IdcPFdPAmaKjsgzIeRhH7hWrELgW12hYnRthS5kLUw== +"@tanstack/virtual-core@3.13.6": + version "3.13.6" + resolved "https://registry.yarnpkg.com/@tanstack/virtual-core/-/virtual-core-3.13.6.tgz#329f962f1596b3280736c266a982897ed2112157" + integrity sha512-cnQUeWnhNP8tJ4WsGcYiX24Gjkc9ALstLbHcBj1t3E7EimN6n6kHH+DPV4PpDnuw00NApQp+ViojMj1GRdwYQg== "@tauri-apps/api@^2.0.0", "@tauri-apps/api@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/api/-/api-2.4.0.tgz#1b93976a129383ad914e979402431a63045c6329" - integrity sha512-F1zXTsmwcCp+ocg6fbzD/YL0OHeSG1eynCag1UNlX2tD5+dlXy7eRbTu9cAcscPjcR7Nix7by2wiv/+VfWUieg== + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/api/-/api-2.4.1.tgz#33b681a6fdb83f73fd8cb03bf94e71a5603ede1c" + integrity sha512-5sYwZCSJb6PBGbBL4kt7CnE5HHbBqwH+ovmOW6ZVju3nX4E3JX6tt2kRklFEH7xMOIwR0btRkZktuLhKvyEQYg== -"@tauri-apps/cli-darwin-arm64@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.4.0.tgz#f727421a1a41538ba046faf98fb24e7703418e0b" - integrity sha512-MVzYrahJBgDyzUJ2gNEU8H+0oCVEucN115+CVorFnidHcJ6DtDRMCaKLkpjOZNfJyag1WQ25fu7imvZSe0mz/g== +"@tauri-apps/cli-darwin-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.4.1.tgz#f2cff2c8d6efce9f78875cca603861aa8fb10dd1" + integrity sha512-QME7s8XQwy3LWClTVlIlwXVSLKkeJ/z88pr917Mtn9spYOjnBfsgHAgGdmpWD3NfJxjg7CtLbhH49DxoFL+hLg== -"@tauri-apps/cli-darwin-x64@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.4.0.tgz#0fd659ed5a34dc7077bcea66c4cc00808bc2f58d" - integrity sha512-/4IdbWv6IWSuBn0WVe5JkiSIP1gZhXCZRcumSsYq3ZmOlq4BqXeXT36Oig5mlDnS/2/UpNS94kd8gOA1DNdIeQ== +"@tauri-apps/cli-darwin-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.4.1.tgz#8afb9f5edd51383b51c0bcedb1a71181e5a7ebf8" + integrity sha512-/r89IcW6Ya1sEsFUEH7wLNruDTj7WmDWKGpPy7gATFtQr5JEY4heernqE82isjTUimnHZD8SCr0jA3NceI4ybw== -"@tauri-apps/cli-linux-arm-gnueabihf@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.4.0.tgz#b7fa0bf87184caa751d1f92db5d320586f918291" - integrity sha512-rOjlk3Vd6R847LXds4pOAFKUL5NVdSWlaiQvr4H9WDUwIWWoxnj7SQfpryTtElDb2wV7a0BNaOCXCpyFEAXjkw== +"@tauri-apps/cli-linux-arm-gnueabihf@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.4.1.tgz#51b691f3c96566ef93d519b990b170c1435a03e7" + integrity sha512-9tDijkRB+CchAGjXxYdY9l/XzFpLp1yihUtGXJz9eh+3qIoRI043n3e+6xmU8ZURr7XPnu+R4sCmXs6HD+NCEQ== -"@tauri-apps/cli-linux-arm64-gnu@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.4.0.tgz#12cea428829a635de446c6695da4b2ce7e5f5ea9" - integrity sha512-X/uCwao6R/weWT2y4f3JKJMeUsujo9H4nBMAv9RZhRsz93n9Amw9ETavAOP11pyhl57YkasvKTCRQN6FwsaoXg== +"@tauri-apps/cli-linux-arm64-gnu@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.4.1.tgz#51fdfbace0bb935a8548d8faa1a1e4bbd2b47871" + integrity sha512-pnFGDEXBAzS4iDYAVxTRhAzNu3K2XPGflYyBc0czfHDBXopqRgMyj5Q9Wj7HAwv6cM8BqzXINxnb2ZJFGmbSgA== -"@tauri-apps/cli-linux-arm64-musl@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.0.tgz#4c9e3826c5254b2c70192f8560c5064c65e741c2" - integrity sha512-GhvQtrTjadW3eLSmfrSfybSqgJMZzUXC+0WqDzFovLug3a1a1go0m9QK9YGvYLkyEpTY5zRxLtwv+tbZXN4tZw== +"@tauri-apps/cli-linux-arm64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.1.tgz#181605badc4f346ee9f8a3e21eb9ea85b96571d1" + integrity sha512-Hp0zXgeZNKmT+eoJSCxSBUm2QndNuRxR55tmIeNm3vbyUMJN/49uW7nurZ5fBPsacN4Pzwlx1dIMK+Gnr9A69w== -"@tauri-apps/cli-linux-riscv64-gnu@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-riscv64-gnu/-/cli-linux-riscv64-gnu-2.4.0.tgz#39a8fed2f60cd34d55695a1583e9a8dfa33f98f0" - integrity sha512-NgeNihQ9uHS/ibMWLge5VA/BgsS/g8VPSVtCp8DSPyub3bBuCy79A8V+bzNKlMOiDVrqK4vQ//FS9kSxoJOtXw== +"@tauri-apps/cli-linux-riscv64-gnu@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-riscv64-gnu/-/cli-linux-riscv64-gnu-2.4.1.tgz#6c14dcb34d49d7b6135e47bba3e3a0200e0f805b" + integrity sha512-3T3bo2E4fdYRvzcXheWUeQOVB+LunEEi92iPRgOyuSVexVE4cmHYl+MPJF+EUV28Et0hIVTsHibmDO0/04lAFg== -"@tauri-apps/cli-linux-x64-gnu@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.4.0.tgz#e4fc5751fe578cd14cff172791d2839bd2b5f970" - integrity sha512-ebRmV2HLIVms1KlNNueQCp3OrXBv6cimU3mYEh5NbZ8dH88f2sF46dFCyPq8Qr/Zti4qPEaAArVG7RYFjfECPw== +"@tauri-apps/cli-linux-x64-gnu@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.4.1.tgz#2cb71b1295031697dd1429ef4c33372ecbbef3d9" + integrity sha512-kLN0FdNONO+2i+OpU9+mm6oTGufRC00e197TtwjpC0N6K2K8130w7Q3FeODIM2CMyg0ov3tH+QWqKW7GNhHFzg== -"@tauri-apps/cli-linux-x64-musl@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.0.tgz#b136eb34dbfeddf078d3a2023086da9a0b39499e" - integrity sha512-FOp2cBFyq5LnUr3he95Z99PQm3nCSJv2GZNeH7UqmUpeHwdcYuhBERU7C+8VDJJPR98Q5fkcoV00Pc4nw0v5KQ== +"@tauri-apps/cli-linux-x64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.1.tgz#3dfcea3c4f869570f0c32ff4c0ea7a9d88a36d3b" + integrity sha512-a8exvA5Ub9eg66a6hsMQKJIkf63QAf9OdiuFKOsEnKZkNN2x0NLgfvEcqdw88VY0UMs9dBoZ1AGbWMeYnLrLwQ== -"@tauri-apps/cli-win32-arm64-msvc@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.4.0.tgz#18bba98ba67690a1fb76c540a9df01c7f220d68a" - integrity sha512-SVf1wDagYsaFM+mpUYKmjNveKodcUSGPEM27WmMW4Enh6aXGzTJi4IYOE3GEFOJF1BpRNscslwE1Rd064kfpcg== +"@tauri-apps/cli-win32-arm64-msvc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.4.1.tgz#4deaf5e509c240730226202300538b5b8d4176ff" + integrity sha512-4JFrslsMCJQG1c573T9uqQSAbF3j/tMKkMWzsIssv8jvPiP++OG61A2/F+y9te9/Q/O95cKhDK63kaiO5xQaeg== -"@tauri-apps/cli-win32-ia32-msvc@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.4.0.tgz#cd5b3a1d3fda1dae254922cece455e394afaf43d" - integrity sha512-j+fOFVeSSejk9hrUePY7bJuaYr+80xr+ftjXzxCj0CS0d2oSbq+lT8/zS514WemJk9e9yxUus+2ke/Ng17wkkQ== +"@tauri-apps/cli-win32-ia32-msvc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.4.1.tgz#cd8267ad44685b070ff98c9c075b195b4fb41f96" + integrity sha512-9eXfFORehYSCRwxg2KodfmX/mhr50CI7wyBYGbPLePCjr5z0jK/9IyW6r0tC+ZVjwpX48dkk7hKiUgI25jHjzA== -"@tauri-apps/cli-win32-x64-msvc@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.4.0.tgz#d509a54c6cdf1436978dcf853f8ec3d903573799" - integrity sha512-nv84b3a8eI5Y7ksTLBKjjvtr9NOlAGGGo7OJbjKT+xZLdiPOZ0nJ2cT+4IdfnNAZ33pKJugAfuj1fBvQKeTy0w== +"@tauri-apps/cli-win32-x64-msvc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.4.1.tgz#66d2a5dcb8d829e3d0ff4b0b8e0e28c4c2058301" + integrity sha512-60a4Ov7Jrwqz2hzDltlS7301dhSAmM9dxo+IRBD3xz7yobKrgaHXYpWvnRomYItHcDd51VaKc9292H8/eE/gsw== "@tauri-apps/cli@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@tauri-apps/cli/-/cli-2.4.0.tgz#d1174ee62f5d982a2c6e65101c53e6763e40b2d6" - integrity sha512-Esg7s20tuSULd2YF3lmtMa1vF7yr5eh/TlBHXjEyrC+XSD9aBxHVoXb6oz7oKybDY9Jf9OiBa0bf2PbybcmOLA== + version "2.4.1" + resolved "https://registry.yarnpkg.com/@tauri-apps/cli/-/cli-2.4.1.tgz#8114d293c1d021e0ea20927544e0ae54d370fc48" + integrity sha512-9Ta81jx9+57FhtU/mPIckDcOBtPTUdKM75t4+aA0X84b8Sclb0jy1xA8NplmcRzp2fsfIHNngU2NiRxsW5+yOQ== optionalDependencies: - "@tauri-apps/cli-darwin-arm64" "2.4.0" - "@tauri-apps/cli-darwin-x64" "2.4.0" - "@tauri-apps/cli-linux-arm-gnueabihf" "2.4.0" - "@tauri-apps/cli-linux-arm64-gnu" "2.4.0" - "@tauri-apps/cli-linux-arm64-musl" "2.4.0" - "@tauri-apps/cli-linux-riscv64-gnu" "2.4.0" - "@tauri-apps/cli-linux-x64-gnu" "2.4.0" - "@tauri-apps/cli-linux-x64-musl" "2.4.0" - "@tauri-apps/cli-win32-arm64-msvc" "2.4.0" - "@tauri-apps/cli-win32-ia32-msvc" "2.4.0" - "@tauri-apps/cli-win32-x64-msvc" "2.4.0" + "@tauri-apps/cli-darwin-arm64" "2.4.1" + "@tauri-apps/cli-darwin-x64" "2.4.1" + "@tauri-apps/cli-linux-arm-gnueabihf" "2.4.1" + "@tauri-apps/cli-linux-arm64-gnu" "2.4.1" + "@tauri-apps/cli-linux-arm64-musl" "2.4.1" + "@tauri-apps/cli-linux-riscv64-gnu" "2.4.1" + "@tauri-apps/cli-linux-x64-gnu" "2.4.1" + "@tauri-apps/cli-linux-x64-musl" "2.4.1" + "@tauri-apps/cli-win32-arm64-msvc" "2.4.1" + "@tauri-apps/cli-win32-ia32-msvc" "2.4.1" + "@tauri-apps/cli-win32-x64-msvc" "2.4.1" "@tauri-apps/plugin-clipboard-manager@^2.2.2": version "2.2.2" @@ -6709,9 +6609,9 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + version "7.27.0" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9" + integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== dependencies: "@babel/types" "^7.0.0" @@ -6724,9 +6624,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" - integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.7.tgz#968cdc2366ec3da159f61166428ee40f370e56c2" + integrity sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng== dependencies: "@babel/types" "^7.20.7" @@ -6885,9 +6785,9 @@ "@types/estree" "*" "@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" + integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== "@types/estree@^0.0.51": version "0.0.51" @@ -6915,13 +6815,12 @@ "@types/send" "*" "@types/express@*": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.0.tgz#13a7d1f75295e90d19ed6e74cab3678488eaa96c" - integrity sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ== + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.1.tgz#138d741c6e5db8cc273bec5285cd6e9d0779fc9f" + integrity sha512-UZUw8vjpWFXuDnjFTh7/5c2TWDlQqeXHi6hcN7F2XSVT5P+WmUnnbFS3KA6Jnc6IsEqI2qCVu2bK0R0J4A8ZQQ== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^5.0.0" - "@types/qs" "*" "@types/serve-static" "*" "@types/express@^4.17.13": @@ -7120,31 +7019,26 @@ "@types/node" "*" "@types/node@*", "@types/node@>=13.7.0": - version "22.13.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.13.10.tgz#df9ea358c5ed991266becc3109dc2dc9125d77e4" - integrity sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw== + version "22.14.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.14.0.tgz#d3bfa3936fef0dbacd79ea3eb17d521c628bb47e" + integrity sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA== dependencies: - undici-types "~6.20.0" + undici-types "~6.21.0" "@types/node@10.12.18": version "10.12.18" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67" integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ== -"@types/node@^13.7.0": - version "13.13.52" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.52.tgz#03c13be70b9031baaed79481c0c0cfb0045e53f7" - integrity sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ== - "@types/node@^14.0.10 || ^16.0.0", "@types/node@^14.14.20 || ^16.0.0", "@types/node@^16.7.13": version "16.18.126" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.126.tgz#27875faa2926c0f475b39a8bb1e546c0176f8d4b" integrity sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw== "@types/node@^20": - version "20.17.24" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.24.tgz#2325476954e6fc8c2f11b9c61e26ba6eb7d3f5b6" - integrity sha512-d7fGCyB96w9BnWQrOsJtpyiSaBcAYYr75bnK6ZRjDbql2cGLj/3GsL5OYmLPNq76l7Gf2q4Rv9J2o6h5CrD9sA== + version "20.17.30" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.30.tgz#1d93f656d3b869dbef7b796568ac457606ba58d0" + integrity sha512-7zf4YyHA+jvBNfVrk2Gtvs6x7E8V+YDW05bNfG2XkWDJfYRXrTiP/DsB2zSYTaHX0bGIujTBQdMVAhb+j7mwpg== dependencies: undici-types "~6.19.2" @@ -7208,9 +7102,9 @@ integrity sha512-Z+2VcYXJwOqQ79HreLU/1fyQ88eXSSFh6I3JdrEHQIfYSI0kCQpTGvOrbE6jFGGYXKsHuwY9tBa/w5Uo6KzrEg== "@types/react-dom@^18", "@types/react-dom@^18.0.10": - version "18.3.5" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.5.tgz#45f9f87398c5dcea085b715c58ddcf1faf65f716" - integrity sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q== + version "18.3.6" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.6.tgz#fa59a5e9a33499a792af6c1130f55921ef49d268" + integrity sha512-nf22//wEbKXusP6E9pfOCDwFdHAX4u172eaJI4YkDRQEZiorm6KfYnSC2SWLDMVWUOWPERmJnN0ujeAfTBLvrw== "@types/react-transition-group@^4.4.10", "@types/react-transition-group@^4.4.11", "@types/react-transition-group@^4.4.12": version "4.4.12" @@ -7218,16 +7112,16 @@ integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== "@types/react@*": - version "19.0.10" - resolved "https://registry.yarnpkg.com/@types/react/-/react-19.0.10.tgz#d0c66dafd862474190fe95ce11a68de69ed2b0eb" - integrity sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g== + version "19.1.0" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.1.0.tgz#73c43ad9bc43496ca8184332b111e2aef63fc9da" + integrity sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w== dependencies: csstype "^3.0.2" "@types/react@^18", "@types/react@^18.0.26": - version "18.3.18" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.18.tgz#9b382c4cd32e13e463f97df07c2ee3bbcd26904b" - integrity sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ== + version "18.3.20" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.20.tgz#b0dccda9d2f1bc24d2a04b1d0cb5d0b9a3576ad3" + integrity sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg== dependencies: "@types/prop-types" "*" csstype "^3.0.2" @@ -7243,9 +7137,9 @@ integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== "@types/semver@^7.3.12", "@types/semver@^7.3.8": - version "7.5.8" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.7.0.tgz#64c441bdae033b378b6eef7d0c3d77c329b9378e" + integrity sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA== "@types/send@*": version "0.17.4" @@ -7354,9 +7248,9 @@ source-map "^0.6.0" "@types/ws@^8.5.5": - version "8.18.0" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.0.tgz#8a2ec491d6f0685ceaab9a9b7ff44146236993b5" - integrity sha512-8svvI3hMyvN0kKCJMvTJP/x6Y/EoQbepff882wL+Sn5QsXb3etnamgrJq4isrBxSJj5L2AuXcI0+bgkoAXGUJw== + version "8.18.1" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" + integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== dependencies: "@types/node" "*" @@ -7408,15 +7302,15 @@ tsutils "^3.21.0" "@typescript-eslint/eslint-plugin@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz#151c4878700a5ad229ce6713d2674d58b626b3d9" - integrity sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ== + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.1.tgz#593639d9bb5239b2d877d65757b7e2c9100a2e84" + integrity sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.29.0" - "@typescript-eslint/type-utils" "8.29.0" - "@typescript-eslint/utils" "8.29.0" - "@typescript-eslint/visitor-keys" "8.29.0" + "@typescript-eslint/scope-manager" "8.29.1" + "@typescript-eslint/type-utils" "8.29.1" + "@typescript-eslint/utils" "8.29.1" + "@typescript-eslint/visitor-keys" "8.29.1" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" @@ -7451,14 +7345,14 @@ debug "^4.3.4" "@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.29.0.tgz#b98841e0a8099728cb8583da92326fcb7f5be1d2" - integrity sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g== + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.29.1.tgz#10bf37411be0a199c27b6515726e22fe8d3df8d0" + integrity sha512-zczrHVEqEaTwh12gWBIJWj8nx+ayDcCJs06yoNMY0kwjMWDM6+kppljY+BxWI06d2Ja+h4+WdufDcwMnnMEWmg== dependencies: - "@typescript-eslint/scope-manager" "8.29.0" - "@typescript-eslint/types" "8.29.0" - "@typescript-eslint/typescript-estree" "8.29.0" - "@typescript-eslint/visitor-keys" "8.29.0" + "@typescript-eslint/scope-manager" "8.29.1" + "@typescript-eslint/types" "8.29.1" + "@typescript-eslint/typescript-estree" "8.29.1" + "@typescript-eslint/visitor-keys" "8.29.1" debug "^4.3.4" "@typescript-eslint/scope-manager@5.62.0": @@ -7477,13 +7371,13 @@ "@typescript-eslint/types" "6.21.0" "@typescript-eslint/visitor-keys" "6.21.0" -"@typescript-eslint/scope-manager@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz#8fd9872823aef65ff71d3f6d1ec9316ace0b6bf3" - integrity sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw== +"@typescript-eslint/scope-manager@8.29.1": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.29.1.tgz#cfdfd4144f20c38b9d3e430efd6480e297ef52f6" + integrity sha512-2nggXGX5F3YrsGN08pw4XpMLO1Rgtnn4AzTegC2MDesv6q3QaTU5yU7IbS1tf1IwCR0Hv/1EFygLn9ms6LIpDA== dependencies: - "@typescript-eslint/types" "8.29.0" - "@typescript-eslint/visitor-keys" "8.29.0" + "@typescript-eslint/types" "8.29.1" + "@typescript-eslint/visitor-keys" "8.29.1" "@typescript-eslint/type-utils@5.62.0": version "5.62.0" @@ -7495,13 +7389,13 @@ debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/type-utils@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz#98dcfd1193cb4e2b2d0294a8656ce5eb58c443a9" - integrity sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q== +"@typescript-eslint/type-utils@8.29.1": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.29.1.tgz#653dfff5c1711bc920a6a46a5a2c274899f00179" + integrity sha512-DkDUSDwZVCYN71xA4wzySqqcZsHKic53A4BLqmrWFFpOpNSoxX233lwGu/2135ymTCR04PoKiEEEvN1gFYg4Tw== dependencies: - "@typescript-eslint/typescript-estree" "8.29.0" - "@typescript-eslint/utils" "8.29.0" + "@typescript-eslint/typescript-estree" "8.29.1" + "@typescript-eslint/utils" "8.29.1" debug "^4.3.4" ts-api-utils "^2.0.1" @@ -7515,10 +7409,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== -"@typescript-eslint/types@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.29.0.tgz#65add70ab4ef66beaa42a5addf87dab2b05b1f33" - integrity sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg== +"@typescript-eslint/types@8.29.1": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.29.1.tgz#984ed1283fedbfb41d3993a9abdcb7b299971500" + integrity sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -7547,13 +7441,13 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/typescript-estree@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz#d201a4f115327ec90496307c9958262285065b00" - integrity sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow== +"@typescript-eslint/typescript-estree@8.29.1": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.1.tgz#4ac085665ed5390d11c0e3426427978570e3b747" + integrity sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g== dependencies: - "@typescript-eslint/types" "8.29.0" - "@typescript-eslint/visitor-keys" "8.29.0" + "@typescript-eslint/types" "8.29.1" + "@typescript-eslint/visitor-keys" "8.29.1" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -7575,15 +7469,15 @@ eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/utils@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.29.0.tgz#d6d22b19c8c4812a874f00341f686b45b9fe895f" - integrity sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA== +"@typescript-eslint/utils@8.29.1": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.29.1.tgz#3d206c8c8def3527a8eb0588e94e3e60f7e167c9" + integrity sha512-QAkFEbytSaB8wnmB+DflhUPz6CLbFWE2SnSCrRMEa+KnXIzDYbpsn++1HGvnfAsUY44doDXmvRkO5shlM/3UfA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.29.0" - "@typescript-eslint/types" "8.29.0" - "@typescript-eslint/typescript-estree" "8.29.0" + "@typescript-eslint/scope-manager" "8.29.1" + "@typescript-eslint/types" "8.29.1" + "@typescript-eslint/typescript-estree" "8.29.1" "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" @@ -7601,12 +7495,12 @@ "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" -"@typescript-eslint/visitor-keys@8.29.0": - version "8.29.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz#2356336c9efdc3597ffcd2aa1ce95432852b743d" - integrity sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg== +"@typescript-eslint/visitor-keys@8.29.1": + version "8.29.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.1.tgz#9b74e5098c71138d42bbf2178fbe4dfad45d6b9a" + integrity sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg== dependencies: - "@typescript-eslint/types" "8.29.0" + "@typescript-eslint/types" "8.29.1" eslint-visitor-keys "^4.2.0" "@uidotdev/usehooks@^2.4.1": @@ -7619,62 +7513,82 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== -"@unrs/rspack-resolver-binding-darwin-arm64@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@unrs/rspack-resolver-binding-darwin-arm64/-/rspack-resolver-binding-darwin-arm64-1.1.2.tgz#90b20c786402cafcea09aeb3587c627edd365995" - integrity sha512-bQx2L40UF5XxsXwkD26PzuspqUbUswWVbmclmUC+c83Cv/EFrFJ1JaZj5Q5jyYglKGOtyIWY/hXTCdWRN9vT0Q== +"@unrs/resolver-binding-darwin-arm64@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.4.1.tgz#56a6638f202eff593dab780cc7b45ea020489dc6" + integrity sha512-8Tv+Bsd0BjGwfEedIyor4inw8atppRxM5BdUnIt+3mAm/QXUm7Dw74CHnXpfZKXkp07EXJGiA8hStqCINAWhdw== -"@unrs/rspack-resolver-binding-darwin-x64@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@unrs/rspack-resolver-binding-darwin-x64/-/rspack-resolver-binding-darwin-x64-1.1.2.tgz#36c9a645e2fc663732943b9ba317e9d97bab0709" - integrity sha512-dMi9a7//BsuPTnhWEDxmdKZ6wxQlPnAob8VSjefGbKX/a+pHfTaX1pm/jv2VPdarP96IIjCKPatJS/TtLQeGQA== +"@unrs/resolver-binding-darwin-x64@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.4.1.tgz#9b935596b19fe249a4823af84e1949605fe084b8" + integrity sha512-X8c3PhWziEMKAzZz+YAYWfwawi5AEgzy/hmfizAB4C70gMHLKmInJcp1270yYAOs7z07YVFI220pp50z24Jk3A== -"@unrs/rspack-resolver-binding-freebsd-x64@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@unrs/rspack-resolver-binding-freebsd-x64/-/rspack-resolver-binding-freebsd-x64-1.1.2.tgz#4e35d673e3e99f81754d93bca73ce1c9f6cd1d45" - integrity sha512-RiBZQ+LSORQObfhV1yH7jGz+4sN3SDYtV53jgc8tUVvqdqVDaUm1KA3zHLffmoiYNGrYkE3sSreGC+FVpsB4Vg== +"@unrs/resolver-binding-freebsd-x64@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.4.1.tgz#72bc9ae0299aad59bb07c53776f1f470f4457528" + integrity sha512-UUr/nREy1UdtxXQnmLaaTXFGOcGxPwNIzeJdb3KXai3TKtC1UgNOB9s8KOA4TaxOUBR/qVgL5BvBwmUjD5yuVA== -"@unrs/rspack-resolver-binding-linux-arm-gnueabihf@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@unrs/rspack-resolver-binding-linux-arm-gnueabihf/-/rspack-resolver-binding-linux-arm-gnueabihf-1.1.2.tgz#b68bede53bdf65d4ac957b06d3f5cfc666f45043" - integrity sha512-IyKIFBtOvuPCJt1WPx9e9ovTGhZzrIbW11vWzw4aPmx3VShE+YcMpAldqQubdCep0UVKZyFt+2hQDQZwFiJ4jg== +"@unrs/resolver-binding-linux-arm-gnueabihf@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.4.1.tgz#82921377ff7e20b28ca26f636b2231fe449d4a53" + integrity sha512-e3pII53dEeS8inkX6A1ad2UXE0nuoWCqik4kOxaDnls0uJUq0ntdj5d9IYd+bv5TDwf9DSge/xPOvCmRYH+Tsw== -"@unrs/rspack-resolver-binding-linux-arm64-gnu@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@unrs/rspack-resolver-binding-linux-arm64-gnu/-/rspack-resolver-binding-linux-arm64-gnu-1.1.2.tgz#fe9b9792e478ab779de7de1d222389b67e711b83" - integrity sha512-RfYtlCtJrv5i6TO4dSlpbyOJX9Zbhmkqrr9hjDfr6YyE5KD0ywLRzw8UjXsohxG1XWgRpb2tvPuRYtURJwbqWg== +"@unrs/resolver-binding-linux-arm-musleabihf@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.4.1.tgz#9b315738ecd677f9caa93717891016636a2ee820" + integrity sha512-e/AKKd9gR+HNmVyDEPI/PIz2t0DrA3cyonHNhHVjrkxe8pMCiYiqhtn1+h+yIpHUtUlM6Y1FNIdivFa+r7wrEQ== -"@unrs/rspack-resolver-binding-linux-arm64-musl@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@unrs/rspack-resolver-binding-linux-arm64-musl/-/rspack-resolver-binding-linux-arm64-musl-1.1.2.tgz#0514f0ab586db7c6cb38b2726e27e3da123508a9" - integrity sha512-MaITzkoqsn1Rm3+YnplubgAQEfOt+2jHfFvuFhXseUfcfbxe8Zyc3TM7LKwgv7mRVjIl+/yYN5JqL0cjbnhAnQ== +"@unrs/resolver-binding-linux-arm64-gnu@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.4.1.tgz#98e1bba4f7c7761fdea4ed5effc0a5ad6954cc79" + integrity sha512-vtIu34luF1jRktlHtiwm2mjuE8oJCsFiFr8hT5+tFQdqFKjPhbJXn83LswKsOhy0GxAEevpXDI4xxEwkjuXIPA== -"@unrs/rspack-resolver-binding-linux-x64-gnu@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@unrs/rspack-resolver-binding-linux-x64-gnu/-/rspack-resolver-binding-linux-x64-gnu-1.1.2.tgz#901c347e1fd9d09fd8ef8e51dad73e41d2d4c2d7" - integrity sha512-Nu981XmzQqis/uB3j4Gi3p5BYCd/zReU5zbJmjMrEH7IIRH0dxZpdOmS/+KwEk6ao7Xd8P2D2gDHpHD/QTp0aQ== +"@unrs/resolver-binding-linux-arm64-musl@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.4.1.tgz#62fb410adcf82b6513891639ef74f7e0339bb681" + integrity sha512-H3PaOuGyhFXiyJd+09uPhGl4gocmhyi1BRzvsP8Lv5AQO3p3/ZY7WjV4t2NkBksm9tMjf3YbOVHyPWi2eWsNYw== -"@unrs/rspack-resolver-binding-linux-x64-musl@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@unrs/rspack-resolver-binding-linux-x64-musl/-/rspack-resolver-binding-linux-x64-musl-1.1.2.tgz#b71c69e130ea5560a492db95bfc1767674cb95ba" - integrity sha512-xJupeDvaRpV0ADMuG1dY9jkOjhUzTqtykvchiU2NldSD+nafSUcMWnoqzNUx7HGiqbTMOw9d9xT8ZiFs+6ZFyQ== +"@unrs/resolver-binding-linux-ppc64-gnu@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.4.1.tgz#0a0d7bc9eb5ff70678f266a8ee80a464ebbec0e3" + integrity sha512-4+GmJcaaFntCi1S01YByqp8wLMjV/FyQyHVGm0vedIhL1Vfx7uHkz/sZmKsidRwokBGuxi92GFmSzqT2O8KcNA== -"@unrs/rspack-resolver-binding-wasm32-wasi@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@unrs/rspack-resolver-binding-wasm32-wasi/-/rspack-resolver-binding-wasm32-wasi-1.1.2.tgz#47500e79a272596a6654f6c9b5538ce522638209" - integrity sha512-un6X/xInks+KEgGpIHFV8BdoODHRohaDRvOwtjq+FXuoI4Ga0P6sLRvf4rPSZDvoMnqUhZtVNG0jG9oxOnrrLQ== +"@unrs/resolver-binding-linux-s390x-gnu@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.4.1.tgz#02c9dd02ac1c6192253749cc7fca35b9d7a249bd" + integrity sha512-6RDQVCmtFYTlhy89D5ixTqo9bTQqFhvNN0Ey1wJs5r+01Dq15gPHRXv2jF2bQATtMrOfYwv+R2ZR9ew1N1N3YQ== + +"@unrs/resolver-binding-linux-x64-gnu@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.4.1.tgz#83fa32f5da9a5f3143185b2d0bc2ad95e4a7a102" + integrity sha512-XpU9uzIkD86+19NjCXxlVPISMUrVXsXo5htxtuG+uJ59p5JauSRZsIxQxzzfKzkxEjdvANPM/lS1HFoX6A6QeA== + +"@unrs/resolver-binding-linux-x64-musl@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.4.1.tgz#32405d987943b4fd621f783f33fad700e3ac2d0f" + integrity sha512-3CDjG/spbTKCSHl66QP2ekHSD+H34i7utuDIM5gzoNBcZ1gTO0Op09Wx5cikXnhORRf9+HyDWzm37vU1PLSM1A== + +"@unrs/resolver-binding-wasm32-wasi@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.4.1.tgz#21d18351367e3bfe035636df05153d7f08823568" + integrity sha512-50tYhvbCTnuzMn7vmP8IV2UKF7ITo1oihygEYq9wW2DUb/Y+QMqBHJUSCABRngATjZ4shOK6f2+s0gQX6ElENQ== dependencies: - "@napi-rs/wasm-runtime" "^0.2.7" + "@napi-rs/wasm-runtime" "^0.2.8" -"@unrs/rspack-resolver-binding-win32-arm64-msvc@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@unrs/rspack-resolver-binding-win32-arm64-msvc/-/rspack-resolver-binding-win32-arm64-msvc-1.1.2.tgz#0aaac1f46e7d41aaf82a830a87bb4700c110b367" - integrity sha512-2lCFkeT1HYUb/OOStBS1m67aZOf9BQxRA+Wf/xs94CGgzmoQt7H4V/BrkB/GSGKsudXjkiwt2oHNkHiowAS90A== +"@unrs/resolver-binding-win32-arm64-msvc@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.4.1.tgz#563563b9ea7761dd7d20603792b518c4924d6f50" + integrity sha512-KyJiIne/AqV4IW0wyQO34wSMuJwy3VxVQOfIXIPyQ/Up6y/zi2P/WwXb78gHsLiGRUqCA9LOoCX+6dQZde0g1g== -"@unrs/rspack-resolver-binding-win32-x64-msvc@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@unrs/rspack-resolver-binding-win32-x64-msvc/-/rspack-resolver-binding-win32-x64-msvc-1.1.2.tgz#68ad3b231d092e979bf4174c73b593fe1332b906" - integrity sha512-EYfya5HCQ/8Yfy7rvAAX2rGytu81+d/CIhNCbZfNKLQ690/qFsdEeTXRsMQW1afHoluMM50PsjPYu8ndy8fSQg== +"@unrs/resolver-binding-win32-ia32-msvc@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.4.1.tgz#c734d9389fe57912b5b3b05aa000d9cb6771ceee" + integrity sha512-y2NUD7pygrBolN2NoXUrwVqBpKPhF8DiSNE5oB5/iFO49r2DpoYqdj5HPb3F42fPBH5qNqj6Zg63+xCEzAD2hw== + +"@unrs/resolver-binding-win32-x64-msvc@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.4.1.tgz#e32c666092bc419fd7c3e28fea7c74292aaa94a3" + integrity sha512-hVXaObGI2lGFmrtT77KSbPQ3I+zk9IU500wobjk0+oX59vg/0VqAzABNtt3YSQYgXTC2a/LYxekLfND/wlt0yQ== "@vanilla-extract/css-utils@^0.1.4": version "0.1.4" @@ -8739,9 +8653,9 @@ axios@^0.21.1, axios@^0.21.2: follow-redirects "^1.14.0" axios@^1.0.0, axios@^1.3.3, axios@^1.6.0: - version "1.8.3" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.3.tgz#9ebccd71c98651d547162a018a1a95a4b4ed4de8" - integrity sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A== + version "1.8.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.4.tgz#78990bb4bc63d2cae072952d374835950a82f447" + integrity sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -8832,12 +8746,12 @@ babel-plugin-named-exports-order@^0.0.2: integrity sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw== babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.12" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz#ca55bbec8ab0edeeef3d7b8ffd75322e210879a9" - integrity sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og== + version "0.4.13" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz#7d445f0e0607ebc8fb6b01d7e8fb02069b91dd8b" + integrity sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.3" + "@babel/helper-define-polyfill-provider" "^0.6.4" semver "^6.3.1" babel-plugin-polyfill-corejs3@^0.1.0: @@ -8857,11 +8771,11 @@ babel-plugin-polyfill-corejs3@^0.11.0: core-js-compat "^3.40.0" babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz#abeb1f3f1c762eace37587f42548b08b57789bc8" - integrity sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q== + version "0.6.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz#428c615d3c177292a22b4f93ed99e358d7906a9b" + integrity sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.3" + "@babel/helper-define-polyfill-provider" "^0.6.4" babel-plugin-react-docgen@^4.2.1: version "4.2.1" @@ -8997,11 +8911,16 @@ big.js@^6.2.1: resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.2.tgz#be3bb9ac834558b53b099deef2a1d06ac6368e1a" integrity sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ== -bignumber.js@9.1.2, bignumber.js@^9.1.2: +bignumber.js@9.1.2: version "9.1.2" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== +bignumber.js@^9.1.2: + version "9.2.1" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.2.1.tgz#3ad0854ad933560a25bbc7c93bc3b7ea6edcad85" + integrity sha512-+NzaKgOUvInq9TIUZ1+DRspzf/HApkCwD4btfuasFTdrfnOxqx853TgDpMolp+uv4RpRp7bPcEU2zKr9+fRmyw== + binary-extensions@^1.0.0: version "1.13.1" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" @@ -9032,7 +8951,7 @@ bip32@^2.0.6: typeforce "^1.11.5" wif "^2.0.6" -bip39@^3.0.2, bip39@^3.0.3: +bip39@^3.0.3: version "3.1.0" resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3" integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A== @@ -9562,9 +9481,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001688: - version "1.0.30001705" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001705.tgz#dc3510bcdef261444ca944b7be9c8d0bb7fafeef" - integrity sha512-S0uyMMiYvA7CxNgomYBwwwPUnWzFD83f3B1ce5jHUfHTH//QL6hHsreI8RVC5606R4ssqravelYO5TU6t8sEyg== + version "1.0.30001713" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz#6b33a8857e6c7dcb41a0caa2dd0f0489c823a52d" + integrity sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q== capture-exit@^2.0.0: version "2.0.0" @@ -9589,11 +9508,11 @@ ccount@^2.0.0: integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== chain-registry@^1.69.64: - version "1.69.173" - resolved "https://registry.yarnpkg.com/chain-registry/-/chain-registry-1.69.173.tgz#21baa0aa8900b3a76c837f09482ebba4765f5c4c" - integrity sha512-OLWL2yPvh/UUZ5U3KSC9eePG5HdTLku2Wv5wUNBowXcgtUk0dAY1Pz/ACnqQ5NH8bhzS9+Sb9RkDpehogOukow== + version "1.69.179" + resolved "https://registry.yarnpkg.com/chain-registry/-/chain-registry-1.69.179.tgz#23e36a3ae9cfbad298148dd3f665d0df3e62ef6a" + integrity sha512-hZSam9WHpdxktZEh4GjZeNnWYfj0ye0F0Ok5yHxPDhl96hOR1IVnOBhj8LoDzpvUV87czuJn6AeSrotrw4s15A== dependencies: - "@chain-registry/types" "^0.50.107" + "@chain-registry/types" "^0.50.111" chalk@4.1.0: version "4.1.0" @@ -10310,23 +10229,7 @@ cosmiconfig@^8.2.0: parse-json "^5.2.0" path-type "^4.0.0" -cosmjs-types@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.4.1.tgz#3b2a53ba60d33159dd075596ce8267cfa7027063" - integrity sha512-I7E/cHkIgoJzMNQdFF0YVqPlaTqrqKHrskuSTIqlEyxfB5Lf3WKCajSXVK2yHOfOFfSux/RxEdpMzw/eO4DIog== - dependencies: - long "^4.0.0" - protobufjs "~6.11.2" - -cosmjs-types@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.5.2.tgz#2d42b354946f330dfb5c90a87fdc2a36f97b965d" - integrity sha512-zxCtIJj8v3Di7s39uN4LNcN3HIE1z0B9Z0SPE8ZNQR0oSzsuSe1ACgxoFkvhkS7WBasCAFcglS11G2hyfd5tPg== - dependencies: - long "^4.0.0" - protobufjs "~6.11.2" - -cosmjs-types@^0.9.0: +cosmjs-types@^0.4.1, cosmjs-types@^0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.9.0.tgz#c3bc482d28c7dfa25d1445093fdb2d9da1f6cfcc" integrity sha512-MN/yUe6mkJwHnCFfsNPeCfXVhyxHYW6c/xDUzrSbBycYzw++XvWDMJArXp2pLdgD6FQ8DW79vkPjeNKVrXaHeQ== @@ -10921,7 +10824,7 @@ decimal.js-light@^2.4.1: resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934" integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== -decimal.js@10, decimal.js@^10.2.1, decimal.js@^10.4.3: +decimal.js@^10.2.1, decimal.js@^10.4.3: version "10.5.0" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.5.0.tgz#0f371c7cf6c4898ce0afb09836db73cd82010f22" integrity sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw== @@ -11124,9 +11027,9 @@ des.js@^1.0.0: minimalistic-assert "^1.0.0" destr@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.3.tgz#7f9e97cb3d16dbdca7be52aca1644ce402cfe449" - integrity sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ== + version "2.0.5" + resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.5.tgz#7d112ff1b925fb8d2079fac5bdb4a90973b51fdb" + integrity sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA== destroy@1.2.0: version "1.2.0" @@ -11330,7 +11233,7 @@ domhandler@^5.0.2, domhandler@^5.0.3: dependencies: domelementtype "^2.3.0" -dompurify@^3.2.4: +dompurify@^3.2.5: version "3.2.5" resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.2.5.tgz#11b108656a5fb72b24d916df17a1421663d7129c" integrity sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ== @@ -11461,9 +11364,9 @@ ejs@^3.1.7: jake "^10.8.5" electron-to-chromium@^1.5.73: - version "1.5.119" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.119.tgz#4e105e419209b33e1c44b4d1b5fc6fb27fac0209" - integrity sha512-Ku4NMzUjz3e3Vweh7PhApPrZSS4fyiCIbcIrG9eKrriYVLmbMepETR/v6SU7xPm98QTqMSYiCwfO89QNjXLkbQ== + version "1.5.135" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.135.tgz#6d835020fa0c7f02f30d7608c2f3c0a764236699" + integrity sha512-8gXUdEmvb+WCaYUhA0Svr08uSeRjM2w3x5uHOc1QbaEVzJXB8rgm5eptieXzyKoVEtinLvW6MtTcurA65PeS1Q== elliptic@^6.4.0, elliptic@^6.5.3, elliptic@^6.5.4, elliptic@^6.5.5: version "6.6.1" @@ -11887,17 +11790,17 @@ eslint-import-resolver-root-import@^1.0.4: json5 "^2.1.0" eslint-import-resolver-typescript@^3.5.2: - version "3.9.1" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.9.1.tgz#0ab8d0ed911e875684a96976a118adee5d1c9daa" - integrity sha512-euxa5rTGqHeqVxmOHT25hpk58PxkQ4mNoX6Yun4ooGaCHAxOCojJYNvjmyeOQxj/LyW+3fulH0+xtk+p2kPPTw== + version "3.10.0" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.0.tgz#5bca4c579e17174e95bf67526b424d07b46c352e" + integrity sha512-aV3/dVsT0/H9BtpNwbaqvl+0xGMRGzncLyhm793NFGvbwGGvzyAykqWZ8oZlZuGwuHkwJjhWJkG1cM3ynvd2pQ== dependencies: "@nolyfill/is-core-module" "1.0.39" debug "^4.4.0" get-tsconfig "^4.10.0" - is-bun-module "^1.3.0" - rspack-resolver "^1.1.0" + is-bun-module "^2.0.0" stable-hash "^0.0.5" tinyglobby "^0.2.12" + unrs-resolver "^1.3.2" eslint-module-utils@^2.12.0: version "2.12.0" @@ -11990,31 +11893,7 @@ eslint-plugin-react-hooks@^5.0.0: resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz#1be0080901e6ac31ce7971beed3d3ec0a423d9e3" integrity sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg== -eslint-plugin-react@^7.29.2, eslint-plugin-react@^7.33.2: - version "7.37.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz#1b6c80b6175b6ae4b26055ae4d55d04c414c7181" - integrity sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ== - dependencies: - array-includes "^3.1.8" - array.prototype.findlast "^1.2.5" - array.prototype.flatmap "^1.3.3" - array.prototype.tosorted "^1.1.4" - doctrine "^2.1.0" - es-iterator-helpers "^1.2.1" - estraverse "^5.3.0" - hasown "^2.0.2" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.8" - object.fromentries "^2.0.8" - object.values "^1.2.1" - prop-types "^15.8.1" - resolve "^2.0.0-next.5" - semver "^6.3.1" - string.prototype.matchall "^4.0.12" - string.prototype.repeat "^1.0.0" - -eslint-plugin-react@^7.35.0: +eslint-plugin-react@^7.29.2, eslint-plugin-react@^7.33.2, eslint-plugin-react@^7.35.0: version "7.37.5" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz#2975511472bdda1b272b34d779335c9b0e877065" integrity sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA== @@ -13716,9 +13595,9 @@ html-encoding-sniffer@^4.0.0: whatwg-encoding "^3.1.1" html-entities@^2.1.0, html-entities@^2.3.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.5.2.tgz#201a3cf95d3a15be7099521620d19dfb4f65359f" - integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA== + version "2.6.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.6.0.tgz#7c64f1ea3b36818ccae3d3fb48b6974208e984f8" + integrity sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ== html-escaper@^2.0.0: version "2.0.2" @@ -13841,9 +13720,9 @@ http-errors@~1.6.2: statuses ">= 1.4.0 < 2" http-parser-js@>=0.5.1: - version "0.5.9" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.9.tgz#b817b3ca0edea6236225000d795378707c169cec" - integrity sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw== + version "0.5.10" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.10.tgz#b3277bd6d7ed5588e20ea73bf724fcbe44609075" + integrity sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA== http-proxy-agent@^4.0.1: version "4.0.1" @@ -13872,9 +13751,9 @@ http-proxy-agent@^7.0.2: debug "^4.3.4" http-proxy-middleware@^2.0.3, http-proxy-middleware@^2.0.6: - version "2.0.7" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz#915f236d92ae98ef48278a95dedf17e991936ec6" - integrity sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA== + version "2.0.8" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.8.tgz#0c3cc655df8213caa51a365f2b69aff377f7bfbf" + integrity sha512-/iazaeFPmL8KLA6QB7DFAU4O5j+9y/TA0D019MbLtPuFI56VK4BXFzM6j6QS9oGpScy8IIDH4S2LHv3zg/63Bw== dependencies: "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" @@ -14161,14 +14040,14 @@ interpret@^2.2.0: integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== intl-messageformat@^10.1.0: - version "10.7.15" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.7.15.tgz#5cdc62139ef39ece1b083db32dae4d1c9fa5b627" - integrity sha512-LRyExsEsefQSBjU2p47oAheoKz+EOJxSLDdjOaEjdriajfHsMXOmV/EhMvYSg9bAgCUHasuAC+mcUBe/95PfIg== + version "10.7.16" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.7.16.tgz#d909f9f9f4ab857fbe681d559b958dd4dd9f665a" + integrity sha512-UmdmHUmp5CIKKjSoE10la5yfU+AYJAaiYLsodbjL4lji83JNvgOQUjGaGhGrpFCb0Uh7sl7qfP1IyILa8Z40ug== dependencies: - "@formatjs/ecma402-abstract" "2.3.3" - "@formatjs/fast-memoize" "2.2.6" - "@formatjs/icu-messageformat-parser" "2.11.1" - tslib "2" + "@formatjs/ecma402-abstract" "2.3.4" + "@formatjs/fast-memoize" "2.2.7" + "@formatjs/icu-messageformat-parser" "2.11.2" + tslib "^2.8.0" ip-address@^9.0.5: version "9.0.5" @@ -14313,12 +14192,12 @@ is-buffer@^2.0.0: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-bun-module@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/is-bun-module/-/is-bun-module-1.3.0.tgz#ea4d24fdebfcecc98e81bcbcb506827fee288760" - integrity sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA== +is-bun-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-bun-module/-/is-bun-module-2.0.0.tgz#4d7859a87c0fcac950c95e666730e745eae8bddd" + integrity sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ== dependencies: - semver "^7.6.3" + semver "^7.7.1" is-callable@^1.2.7: version "1.2.7" @@ -14785,11 +14664,11 @@ isobject@^4.0.0: integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== isomorphic-dompurify@^2.21.0: - version "2.22.0" - resolved "https://registry.yarnpkg.com/isomorphic-dompurify/-/isomorphic-dompurify-2.22.0.tgz#675b751bb80dc1e96a5c6760bbc6396b03f4786d" - integrity sha512-A2xsDNST1yB94rErEnwqlzSvGllCJ4e8lDMe1OWBH2hvpfc/2qzgMEiDshTO1HwO+PIDTiYeOc7ZDB7Ds49BOg== + version "2.23.0" + resolved "https://registry.yarnpkg.com/isomorphic-dompurify/-/isomorphic-dompurify-2.23.0.tgz#9f0a50410c6ab5014cee64df386426a1d8b0be23" + integrity sha512-f9w5fPJwlu+VK1uowFy4eWYgd7uxl0nQJbtorGp1OAs6JeY1qPkBQKNee1RXrnr68GqZ86PwQ6LF/5rW1TrOZQ== dependencies: - dompurify "^3.2.4" + dompurify "^3.2.5" jsdom "^26.0.0" isomorphic-unfetch@^3.1.0: @@ -15475,7 +15354,7 @@ joi@^17.11.0: "@sideway/formula" "^3.0.1" "@sideway/pinpoint" "^2.0.0" -js-sha3@0.8.0, js-sha3@^0.8.0: +js-sha3@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== @@ -15813,71 +15692,71 @@ lazy-universal-dotenv@^3.0.1: dotenv "^8.0.0" dotenv-expand "^5.1.0" -lefthook-darwin-arm64@1.11.6: - version "1.11.6" - resolved "https://registry.yarnpkg.com/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.11.6.tgz#bffd9f18a8119b07c5a8d6d671ceb012a66d796c" - integrity sha512-gWgdWrKgZgX+bKc6Vs/x7JkO+58lLOpRzpteLx//82D0MKVPlNZwjd4zz4AbIBXtM4Hcj+6gSsOzQ7QDXxjVvQ== +lefthook-darwin-arm64@1.11.8: + version "1.11.8" + resolved "https://registry.yarnpkg.com/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.11.8.tgz#243704d45e41e7ad41ff71c3248741feccaeb53b" + integrity sha512-myew7k1hz00Uyrdh4a7gQkzlRDKALb4pHmh1GDH0ZMBoy3348qlN3HegAnvwcx2tlWSxqfwkBj+xmBS2c7ujAw== -lefthook-darwin-x64@1.11.6: - version "1.11.6" - resolved "https://registry.yarnpkg.com/lefthook-darwin-x64/-/lefthook-darwin-x64-1.11.6.tgz#52a1d5e2a9aa7dea8175dfbf7b8932f856287605" - integrity sha512-Ia0TjTKuYcSaDTuoCnbWtpPZ2VEoKzgn33OB90VjNaSVs4ooE0PIdpO+w00x1elqIaf1pbrpq6HgeB26Du8KbQ== +lefthook-darwin-x64@1.11.8: + version "1.11.8" + resolved "https://registry.yarnpkg.com/lefthook-darwin-x64/-/lefthook-darwin-x64-1.11.8.tgz#d03a3d739440f3ed236cb3d1e3e94789b3b8506a" + integrity sha512-hwwnY0jDMVDlEXDNCQIxx+sgYjSKJ2tx1LEbf7JsBv8icPMppY9UTKleRKzNv0qSaA5MKLciSWVAhi98/QzFJA== -lefthook-freebsd-arm64@1.11.6: - version "1.11.6" - resolved "https://registry.yarnpkg.com/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.11.6.tgz#6aae629dbcaf188b3518388c204c0766685cdda3" - integrity sha512-PxIwj+hmjLahyzEmcIfalIBDhgklAQCavwM4sGCgbzDi4/+VQX+4aEs4pQqtd7v3aohmjtO/4n2emzTI8donww== +lefthook-freebsd-arm64@1.11.8: + version "1.11.8" + resolved "https://registry.yarnpkg.com/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.11.8.tgz#ccdf123fa38f81d8000807b91c4d256dd1e43980" + integrity sha512-cllq5oqik463TwhR/3kU19gZv/MHzEl7bYIlmeXJGyS4VBZ2zbrcy5dYj0u58DkxOYjM3Jpi+0xS7FQwSOkRMg== -lefthook-freebsd-x64@1.11.6: - version "1.11.6" - resolved "https://registry.yarnpkg.com/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.11.6.tgz#ffff50541c31c15a44ec923a8d6772e21558249a" - integrity sha512-3o1lMKxz1VtWaP/o117wgUn3ZOpefMoSf+8LuiTzI3/PDprIuzgyw2nXKlBZAMDpNPHMNnJeQNts9XLMRmkldg== +lefthook-freebsd-x64@1.11.8: + version "1.11.8" + resolved "https://registry.yarnpkg.com/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.11.8.tgz#677adea29eb91472f766db66b6781e3810025864" + integrity sha512-qGPo95rvzarOl7RUWcnVtkqKTYGpyFnJNnU47bvspeancENQcjzF2QLQnvfVfuTR6oR2rhHE/2z9aq//gxQJ+w== -lefthook-linux-arm64@1.11.6: - version "1.11.6" - resolved "https://registry.yarnpkg.com/lefthook-linux-arm64/-/lefthook-linux-arm64-1.11.6.tgz#01a51d0bc84ee3cc04ba4b4ec20a2ac8fa766b68" - integrity sha512-nKPFZ5cA9f5tVn0ybDVqcXXlpTHZqo05N4KQRhWTj5Nem+JoD2YzJIlvZhdJhUrldERqj6deDMXChH5T3z4Rrw== +lefthook-linux-arm64@1.11.8: + version "1.11.8" + resolved "https://registry.yarnpkg.com/lefthook-linux-arm64/-/lefthook-linux-arm64-1.11.8.tgz#4e02b3e44478bdcde8c199de96758bffc58d07a3" + integrity sha512-i5B5BQntVNg/7Glei36U2uCsVdUiJVmxna2eJalMW06t2cb84fsNKPUqQCiUb/mmbs8YaNgZTG/AKezsGP3RgQ== -lefthook-linux-x64@1.11.6: - version "1.11.6" - resolved "https://registry.yarnpkg.com/lefthook-linux-x64/-/lefthook-linux-x64-1.11.6.tgz#382da328f510c7ce4c64ddce7cc2b1d5bf5b54e4" - integrity sha512-naN8dllLCOEeP+wznLnq+oXrs1dvt/iMLkcl+pOPWLqFccPfDiHzr8V8GslaTa+rSFsAnvjR7SJIOi5C29xedA== +lefthook-linux-x64@1.11.8: + version "1.11.8" + resolved "https://registry.yarnpkg.com/lefthook-linux-x64/-/lefthook-linux-x64-1.11.8.tgz#eb7c6ba1a1eaf75153df760becbe408bea18f6e4" + integrity sha512-B7zqxVc+9bQ6Bkdfu2TreJNoY6J2AFXIcm/JTD1NQMBHTkIbFysSQUKqiaCs9BHUCGuNOCTpuk7YHa9nlszRiA== -lefthook-openbsd-arm64@1.11.6: - version "1.11.6" - resolved "https://registry.yarnpkg.com/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.11.6.tgz#febf8dfec0d49ccc0307f590f06c71dc8344ba52" - integrity sha512-dPxhJfYQ667T+U3pz1+O3mTRNHzXH/BvPlXSH+oy8uiSry4AtVNRXkVvXPUcpLlrAy6HuFYodsrpCIlWFeYwiQ== +lefthook-openbsd-arm64@1.11.8: + version "1.11.8" + resolved "https://registry.yarnpkg.com/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.11.8.tgz#dda1f8907d89f4595ab8e4a24f91dae83f14dfaf" + integrity sha512-08kdSBxtcdTFRMIQwaziXGdG3RxrzH2QkRWeNAoUG7PpV5itIb5j+xnZqOeYM6eTLgf7QUle1xKcNwcWACuefw== -lefthook-openbsd-x64@1.11.6: - version "1.11.6" - resolved "https://registry.yarnpkg.com/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.11.6.tgz#49fd7242f0ea2cb7f98223de034263ab5fa044e9" - integrity sha512-9D26kcSsjiW4D0AuVDdi+0ZqrsOzRWOpMS/kcUbLfrU99yCvma0rMTqKbbDMkVur/znS7qL53oGahXCXDNA+IQ== +lefthook-openbsd-x64@1.11.8: + version "1.11.8" + resolved "https://registry.yarnpkg.com/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.11.8.tgz#11b303811c5141c911ea90557b90cf00fb9f52df" + integrity sha512-HlGr9t33BAnKZz9I11qRMijJpGg6/iMtb8ODIcStdM72FGgadqSLBHbNAJbD4dnN2wwR1PPu2POut/OYQfpGtg== -lefthook-windows-arm64@1.11.6: - version "1.11.6" - resolved "https://registry.yarnpkg.com/lefthook-windows-arm64/-/lefthook-windows-arm64-1.11.6.tgz#705b7c3c3e35a9795496e4251950ff5aaae59e46" - integrity sha512-xdCenr4+BFnfBEhiXj6GJp02EPmcwTAGa7NYm6hVTfDwGXw24tuLv7lpnGjgK3kovN6EukgLH1FYkeyDOBEMnA== +lefthook-windows-arm64@1.11.8: + version "1.11.8" + resolved "https://registry.yarnpkg.com/lefthook-windows-arm64/-/lefthook-windows-arm64-1.11.8.tgz#9911760ad38a74f97e8dc35eae419e274628e8d4" + integrity sha512-iBgsUdLL3d6Ty5N3s4gCgxjIDviP7flBeVb6BUy5BbNzjW+OzljKx8DlzTAUmMnUJuo+a+svYYCjqwcNs1/nvA== -lefthook-windows-x64@1.11.6: - version "1.11.6" - resolved "https://registry.yarnpkg.com/lefthook-windows-x64/-/lefthook-windows-x64-1.11.6.tgz#71d92d874a7885645eb34c6c7712a91ebfb43dda" - integrity sha512-Fg2GzLhzeDV/GX8+ydrI0wBOytQWpPkNdngx+a8B/feCDbwjAiFklDG5oV4ytuWrtg1JPEEWLJd6nHefj4wtHA== +lefthook-windows-x64@1.11.8: + version "1.11.8" + resolved "https://registry.yarnpkg.com/lefthook-windows-x64/-/lefthook-windows-x64-1.11.8.tgz#c3c2ce866f16712cb8c6ff4f0a13d246716f5d2b" + integrity sha512-nFFS6jB7PxHXJ7nIg59+507j1myFeX1Kq3ssqGI5uxK42nCcSKXBGnnEjUnq3WpbWM8b9Ly005jDb4LN0yIvVw== lefthook@^1.8.5: - version "1.11.6" - resolved "https://registry.yarnpkg.com/lefthook/-/lefthook-1.11.6.tgz#e13c23a83095c5de258b0702280b097dcba1b029" - integrity sha512-j0VmMM50WlPDassmgvapRum9po29Tv1BXzBNFpzGkk9E91CEG9jKik/OHyH/r/na+q8qNIUUyPL6QQuTN/UhQQ== + version "1.11.8" + resolved "https://registry.yarnpkg.com/lefthook/-/lefthook-1.11.8.tgz#07b0b3edbff7ed0127b0c17a188265bb7271f037" + integrity sha512-U+x49i83GWjRigejsiEnGMsH34SjUFtSGd4VuEUWDFzDc2uerzTx5oqFv0GMwCIXTxsecoPqop+e+1gop8DDXA== optionalDependencies: - lefthook-darwin-arm64 "1.11.6" - lefthook-darwin-x64 "1.11.6" - lefthook-freebsd-arm64 "1.11.6" - lefthook-freebsd-x64 "1.11.6" - lefthook-linux-arm64 "1.11.6" - lefthook-linux-x64 "1.11.6" - lefthook-openbsd-arm64 "1.11.6" - lefthook-openbsd-x64 "1.11.6" - lefthook-windows-arm64 "1.11.6" - lefthook-windows-x64 "1.11.6" + lefthook-darwin-arm64 "1.11.8" + lefthook-darwin-x64 "1.11.8" + lefthook-freebsd-arm64 "1.11.8" + lefthook-freebsd-x64 "1.11.8" + lefthook-linux-arm64 "1.11.8" + lefthook-linux-x64 "1.11.8" + lefthook-openbsd-arm64 "1.11.8" + lefthook-openbsd-x64 "1.11.8" + lefthook-windows-arm64 "1.11.8" + lefthook-windows-x64 "1.11.8" lerna@^7.3.0: version "7.4.2" @@ -16958,9 +16837,9 @@ mime-db@1.52.0: integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== "mime-db@>= 1.43.0 < 2": - version "1.53.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" - integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== + version "1.54.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.30, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" @@ -17200,9 +17079,9 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== mobx@^6.1.7: - version "6.13.6" - resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.13.6.tgz#3b80895c7c9df456efc86ae0b6983ccea1da6cc6" - integrity sha512-r19KNV0uBN4b+ER8Z0gA4y+MzDYIQ2SvOmn3fUrqPnWXdQfakd9yfbPBDBF/p5I+bd3N5Rk1fHONIvMay+bJGA== + version "6.13.7" + resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.13.7.tgz#70e5dda7a45da947f773b3cd3b065dfe7c8a75de" + integrity sha512-aChaVU/DO5aRPmk1GX8L+whocagUUpBQqoPtJk+cm7UOXUk87J4PeWCh6nNmTTIfEhiR9DI/+FnA8dln/hTK7g== mocha@^10.0.0: version "10.8.2" @@ -17314,9 +17193,9 @@ nanoclone@^0.2.1: integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== nanoid@^3.3.1, nanoid@^3.3.6, nanoid@^3.3.8: - version "3.3.10" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.10.tgz#7bc882237698ef787d5cbba109e3b0168ba6e7b1" - integrity sha512-vSJJTG+t/dIKAUhUDw/dLdZ9s//5OxcHqLaDWWrW4Cdq7o6tdLIczUkMXt2MBNmk6sJRZBZRXVixs7URY1CmIg== + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== nanomatch@^1.2.9: version "1.2.13" @@ -17389,11 +17268,11 @@ next@14.2.21: "@next/swc-win32-x64-msvc" "14.2.21" next@^15.2.0: - version "15.2.4" - resolved "https://registry.yarnpkg.com/next/-/next-15.2.4.tgz#e05225e9511df98e3b2edc713e17f4c970bff961" - integrity sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ== + version "15.3.0" + resolved "https://registry.yarnpkg.com/next/-/next-15.3.0.tgz#f8aa64ab584664db75648bd87d5d68c02eb2d56f" + integrity sha512-k0MgP6BsK8cZ73wRjMazl2y2UcXj49ZXLDEgx6BikWuby/CN+nh81qFFI16edgd7xYpe/jj2OZEIwCoqnzz0bQ== dependencies: - "@next/env" "15.2.4" + "@next/env" "15.3.0" "@swc/counter" "0.1.3" "@swc/helpers" "0.5.15" busboy "1.6.0" @@ -17401,15 +17280,15 @@ next@^15.2.0: postcss "8.4.31" styled-jsx "5.1.6" optionalDependencies: - "@next/swc-darwin-arm64" "15.2.4" - "@next/swc-darwin-x64" "15.2.4" - "@next/swc-linux-arm64-gnu" "15.2.4" - "@next/swc-linux-arm64-musl" "15.2.4" - "@next/swc-linux-x64-gnu" "15.2.4" - "@next/swc-linux-x64-musl" "15.2.4" - "@next/swc-win32-arm64-msvc" "15.2.4" - "@next/swc-win32-x64-msvc" "15.2.4" - sharp "^0.33.5" + "@next/swc-darwin-arm64" "15.3.0" + "@next/swc-darwin-x64" "15.3.0" + "@next/swc-linux-arm64-gnu" "15.3.0" + "@next/swc-linux-arm64-musl" "15.3.0" + "@next/swc-linux-x64-gnu" "15.3.0" + "@next/swc-linux-x64-musl" "15.3.0" + "@next/swc-win32-arm64-msvc" "15.3.0" + "@next/swc-win32-x64-msvc" "15.3.0" + sharp "^0.34.1" nice-try@^1.0.4: version "1.0.5" @@ -17779,12 +17658,7 @@ num2fraction@^1.2.2: resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" integrity sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg== -nwsapi@^2.2.0: - version "2.2.18" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.18.tgz#3c4d7927e1ef4d042d319438ecfda6cd81b7ee41" - integrity sha512-p1TRH/edngVEHVbwqWnxUViEmq5znDvyB+Sik5cmuLpGOIfDf/39zLiq3swPF8Vakqn+gvNiOQAZu8djYlQILA== - -nwsapi@^2.2.16: +nwsapi@^2.2.0, nwsapi@^2.2.16: version "2.2.20" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.20.tgz#22e53253c61e7b0e7e93cef42c891154bcca11ef" integrity sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA== @@ -17893,7 +17767,7 @@ object.assign@^4.1.2, object.assign@^4.1.4, object.assign@^4.1.7: has-symbols "^1.1.0" object-keys "^1.1.1" -object.entries@^1.1.0, object.entries@^1.1.5, object.entries@^1.1.8, object.entries@^1.1.9: +object.entries@^1.1.0, object.entries@^1.1.5, object.entries@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.9.tgz#e4770a6a1444afb61bd39f984018b5bede25f8b3" integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw== @@ -18602,9 +18476,9 @@ pino@7.11.0: thread-stream "^0.15.1" pirates@^4.0.1, pirates@^4.0.4, pirates@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + version "4.0.7" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22" + integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== pkg-dir@^3.0.0: version "3.0.0" @@ -19152,7 +19026,7 @@ property-information@^7.0.0: resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.0.0.tgz#3508a6d6b0b8eb3ca6eb2c6623b164d2ed2ab112" integrity sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg== -protobufjs@^6.11.2, protobufjs@^6.8.8, protobufjs@~6.11.2, protobufjs@~6.11.3: +protobufjs@^6.11.2, protobufjs@^6.8.8: version "6.11.4" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa" integrity sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw== @@ -19171,25 +19045,6 @@ protobufjs@^6.11.2, protobufjs@^6.8.8, protobufjs@~6.11.2, protobufjs@~6.11.3: "@types/node" ">=13.7.0" long "^4.0.0" -protobufjs@~6.10.2: - version "6.10.3" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.10.3.tgz#11ed1dd02acbfcb330becf1611461d4b407f9eef" - integrity sha512-yvAslS0hNdBhlSKckI4R1l7wunVilX66uvrjzE4MimiAt7/qw1nLpMhZrn/ObuUTM/c3Xnfl01LYMdcSJe6dwg== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/long" "^4.0.1" - "@types/node" "^13.7.0" - long "^4.0.0" - protocols@^2.0.0, protocols@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.2.tgz#822e8fcdcb3df5356538b3e91bfd890b067fd0a4" @@ -19494,9 +19349,9 @@ react-error-boundary@^4.0.13: "@babel/runtime" "^7.12.5" react-hook-form@^7.14.2: - version "7.54.2" - resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.54.2.tgz#8c26ed54c71628dff57ccd3c074b1dd377cfb211" - integrity sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg== + version "7.55.0" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.55.0.tgz#df3c80a20a68f6811f49bec3406defaefb6dce80" + integrity sha512-XRnjsH3GVMQz1moZTW53MxfoWN7aDpUg/GpVNc4A3eXRVNdGXfbzJ4vM4aLQ8g6XCUh1nIbx70aaNCl7kxnjog== react-i18next@^15.4.0: version "15.4.1" @@ -19530,10 +19385,10 @@ react-is@^18.0.0, react-is@^18.3.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== -react-is@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.0.0.tgz#d6669fd389ff022a9684f708cf6fa4962d1fea7a" - integrity sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g== +react-is@^19.0.0, react-is@^19.1.0: + version "19.1.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.1.0.tgz#805bce321546b7e14c084989c77022351bbdd11b" + integrity sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg== react-markdown@^9.0.3: version "9.1.0" @@ -19810,9 +19665,9 @@ recharts-scale@^0.4.4: decimal.js-light "^2.4.1" recharts@^2.1.13: - version "2.15.1" - resolved "https://registry.yarnpkg.com/recharts/-/recharts-2.15.1.tgz#0941adf0402528d54f6d81997eb15840c893aa3c" - integrity sha512-v8PUTUlyiDe56qUj82w/EDVuzEFXwEHp9/xOowGAZwfLjB9uAy3GllQVIYMWF6nU+qibx85WF75zD7AjqoT54Q== + version "2.15.2" + resolved "https://registry.yarnpkg.com/recharts/-/recharts-2.15.2.tgz#12adcda964b4054fba517512eb94fdff1463b0c1" + integrity sha512-xv9lVztv3ingk7V3Jf05wfAZbM9Q2umJzu5t/cfnAK7LUslNrGT7LPBr74G+ok8kSCeFMaePmWMg0rcYOnczTw== dependencies: clsx "^2.0.0" eventemitter3 "^4.0.1" @@ -20210,7 +20065,7 @@ rimraf@^4.4.1: dependencies: glob "^9.2.0" -ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: +ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== @@ -20267,23 +20122,6 @@ rrweb-cssom@^0.8.0: resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz#3021d1b4352fbf3b614aaeed0bc0d5739abe0bc2" integrity sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw== -rspack-resolver@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/rspack-resolver/-/rspack-resolver-1.1.2.tgz#33b91858f7ae962d086ab00cbf66b8a4b8e9b570" - integrity sha512-eHhz+9JWHFdbl/CVVqEP6kviLFZqw1s0MWxLdsGMtUKUspSO3SERptPohmrUIC9jT1bGV9Bd3+r8AmWbdfNAzQ== - optionalDependencies: - "@unrs/rspack-resolver-binding-darwin-arm64" "1.1.2" - "@unrs/rspack-resolver-binding-darwin-x64" "1.1.2" - "@unrs/rspack-resolver-binding-freebsd-x64" "1.1.2" - "@unrs/rspack-resolver-binding-linux-arm-gnueabihf" "1.1.2" - "@unrs/rspack-resolver-binding-linux-arm64-gnu" "1.1.2" - "@unrs/rspack-resolver-binding-linux-arm64-musl" "1.1.2" - "@unrs/rspack-resolver-binding-linux-x64-gnu" "1.1.2" - "@unrs/rspack-resolver-binding-linux-x64-musl" "1.1.2" - "@unrs/rspack-resolver-binding-wasm32-wasi" "1.1.2" - "@unrs/rspack-resolver-binding-win32-arm64-msvc" "1.1.2" - "@unrs/rspack-resolver-binding-win32-x64-msvc" "1.1.2" - rsvp@^4.8.4: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -20487,7 +20325,7 @@ semver@7.5.3: dependencies: lru-cache "^6.0.0" -semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.0, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3: +semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.0, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3, semver@^7.7.1: version "7.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== @@ -20652,7 +20490,7 @@ shallow-clone@^3.0.0: dependencies: kind-of "^6.0.2" -sharp@^0.33.1, sharp@^0.33.5: +sharp@^0.33.1: version "0.33.5" resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.5.tgz#13e0e4130cc309d6a9497596715240b2ec0c594e" integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw== @@ -20681,6 +20519,36 @@ sharp@^0.33.1, sharp@^0.33.5: "@img/sharp-win32-ia32" "0.33.5" "@img/sharp-win32-x64" "0.33.5" +sharp@^0.34.1: + version "0.34.1" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.34.1.tgz#e5922894b0cc7ddf159eeabc6d5668e4e8b11d61" + integrity sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg== + dependencies: + color "^4.2.3" + detect-libc "^2.0.3" + semver "^7.7.1" + optionalDependencies: + "@img/sharp-darwin-arm64" "0.34.1" + "@img/sharp-darwin-x64" "0.34.1" + "@img/sharp-libvips-darwin-arm64" "1.1.0" + "@img/sharp-libvips-darwin-x64" "1.1.0" + "@img/sharp-libvips-linux-arm" "1.1.0" + "@img/sharp-libvips-linux-arm64" "1.1.0" + "@img/sharp-libvips-linux-ppc64" "1.1.0" + "@img/sharp-libvips-linux-s390x" "1.1.0" + "@img/sharp-libvips-linux-x64" "1.1.0" + "@img/sharp-libvips-linuxmusl-arm64" "1.1.0" + "@img/sharp-libvips-linuxmusl-x64" "1.1.0" + "@img/sharp-linux-arm" "0.34.1" + "@img/sharp-linux-arm64" "0.34.1" + "@img/sharp-linux-s390x" "0.34.1" + "@img/sharp-linux-x64" "0.34.1" + "@img/sharp-linuxmusl-arm64" "0.34.1" + "@img/sharp-linuxmusl-x64" "0.34.1" + "@img/sharp-wasm32" "0.34.1" + "@img/sharp-win32-ia32" "0.34.1" + "@img/sharp-win32-x64" "0.34.1" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -22104,16 +21972,16 @@ tslib@1.14.1, tslib@^1.8.1, tslib@^1.9.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== - tslib@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== +tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tslog@3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/tslog/-/tslog-3.3.3.tgz#751a469e0d36841bd7e03676c27e53e7ffe9bc3d" @@ -22276,9 +22144,9 @@ typeforce@^1.11.5: integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g== "typescript@>=3 < 6", typescript@^5: - version "5.8.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.2.tgz#8170b3702f74b79db2e5a96207c15e65807999e4" - integrity sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ== + version "5.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" + integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== typescript@^4.6.2, typescript@^4.8.4: version "4.9.5" @@ -22286,9 +22154,9 @@ typescript@^4.6.2, typescript@^4.8.4: integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== ufo@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.4.tgz#16d6949674ca0c9e0fbbae1fa20a71d7b1ded754" - integrity sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ== + version "1.6.1" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.6.1.tgz#ac2db1d54614d1b22c1d603e3aef44a85d8f146b" + integrity sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA== uglify-js@^3.1.4: version "3.19.3" @@ -22320,10 +22188,10 @@ undici-types@~6.19.2: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== -undici-types@~6.20.0: - version "6.20.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" - integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== unfetch@^4.2.0: version "4.2.0" @@ -22554,6 +22422,27 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== +unrs-resolver@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/unrs-resolver/-/unrs-resolver-1.4.1.tgz#da01a5ca745a431b109af6798a775d9c4ba4ae0d" + integrity sha512-MhPB3wBI5BR8TGieTb08XuYlE8oFVEXdSAgat3psdlRyejl8ojQ8iqPcjh094qCZ1r+TnkxzP6BeCd/umfHckQ== + optionalDependencies: + "@unrs/resolver-binding-darwin-arm64" "1.4.1" + "@unrs/resolver-binding-darwin-x64" "1.4.1" + "@unrs/resolver-binding-freebsd-x64" "1.4.1" + "@unrs/resolver-binding-linux-arm-gnueabihf" "1.4.1" + "@unrs/resolver-binding-linux-arm-musleabihf" "1.4.1" + "@unrs/resolver-binding-linux-arm64-gnu" "1.4.1" + "@unrs/resolver-binding-linux-arm64-musl" "1.4.1" + "@unrs/resolver-binding-linux-ppc64-gnu" "1.4.1" + "@unrs/resolver-binding-linux-s390x-gnu" "1.4.1" + "@unrs/resolver-binding-linux-x64-gnu" "1.4.1" + "@unrs/resolver-binding-linux-x64-musl" "1.4.1" + "@unrs/resolver-binding-wasm32-wasi" "1.4.1" + "@unrs/resolver-binding-win32-arm64-msvc" "1.4.1" + "@unrs/resolver-binding-win32-ia32-msvc" "1.4.1" + "@unrs/resolver-binding-win32-x64-msvc" "1.4.1" + unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" @@ -22646,9 +22535,9 @@ use-clipboard-copy@^0.2.0: clipboard-copy "^3.0.0" use-sync-external-store@^1.2.2, use-sync-external-store@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz#adbc795d8eeb47029963016cefdf89dc799fcebc" - integrity sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw== + version "1.5.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0" + integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== use@^3.1.0: version "3.1.1" @@ -23135,9 +23024,9 @@ webpack@4: webpack-sources "^1.4.1" "webpack@>=4.43.0 <6.0.0", webpack@^5.75.0, webpack@^5.9.0: - version "5.98.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.98.0.tgz#44ae19a8f2ba97537978246072fb89d10d1fbd17" - integrity sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA== + version "5.99.5" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.99.5.tgz#86e3b3a5a03377ea5da271c929934003f5ac5dd8" + integrity sha512-q+vHBa6H9qwBLUlHL4Y7L0L1/LlyBKZtS9FHNCQmtayxjI5RKC9yD8gpvLeqGv5lCQp1Re04yi0MF40pf30Pvg== dependencies: "@types/eslint-scope" "^3.7.7" "@types/estree" "^1.0.6"