From 090739bbb7f93d768d94f4d2775f47606205c366 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Thu, 22 Feb 2024 15:25:40 +0100 Subject: [PATCH 01/38] Add dynamically resizing component able to fill up space With this, we can adaptively truncate text based on the available space. When truncated, we can display the full version in a tooltip. --- .../AdaptiveTrimmer/AdaptiveTrimmer.tsx | 140 ++++++++++++++++++ .../AdaptiveTrimmer/MaybeWithTooltip.tsx | 65 ++++++++ 2 files changed, 205 insertions(+) create mode 100644 src/app/components/AdaptiveTrimmer/AdaptiveTrimmer.tsx create mode 100644 src/app/components/AdaptiveTrimmer/MaybeWithTooltip.tsx diff --git a/src/app/components/AdaptiveTrimmer/AdaptiveTrimmer.tsx b/src/app/components/AdaptiveTrimmer/AdaptiveTrimmer.tsx new file mode 100644 index 000000000..878252654 --- /dev/null +++ b/src/app/components/AdaptiveTrimmer/AdaptiveTrimmer.tsx @@ -0,0 +1,140 @@ +import { FC, ReactNode, useCallback, useEffect, useRef, useState } from 'react' +import Box from '@mui/material/Box' +import InfoIcon from '@mui/icons-material/Info' +import { trimLongString } from '../../utils/trimLongString' +import { MaybeWithTooltip } from './MaybeWithTooltip' + +type AdaptiveTrimmerProps = { + text: string | undefined + strategy: 'middle' | 'end' + extraTooltip?: ReactNode +} + +/** + * Display content, potentially shortened as needed. + * + * This component will do automatic detection of available space, + * and determine the best way to display content accordingly. + */ +export const AdaptiveTrimmer: FC = ({ text = '', strategy = 'end', extraTooltip }) => { + // Initial setup + const fullLength = text.length + const textRef = useRef(null) + + // Data about the currently rendered version + const [currentContent, setCurrentContent] = useState('') + const [currentLength, setCurrentLength] = useState(0) + + // Known good - this fits + const [largestKnownGood, setLargestKnownGood] = useState(0) + + // Known bad - this doesn't fit + const [smallestKnownBad, setSmallestKnownBad] = useState(fullLength + 1) + + // Are we exploring our possibilities now? + const [inDiscovery, setInDiscovery] = useState(false) + + const attemptContent = useCallback((content: string, length: number) => { + setCurrentContent(content) + setCurrentLength(length) + }, []) + + const attemptShortenedContent = useCallback( + (length: number) => { + const content = + strategy === 'middle' + ? trimLongString(text, Math.floor(length / 2) - 1, Math.floor(length / 2) - 1)! + : trimLongString(text, length, 0)! + + attemptContent(content, length) + }, + [strategy, text, attemptContent], + ) + + const initDiscovery = useCallback(() => { + setLargestKnownGood(0) + setSmallestKnownBad(fullLength + 1) + attemptContent(text, fullLength) + setInDiscovery(true) + }, [text, fullLength, attemptContent]) + + useEffect(() => { + initDiscovery() + const handleResize = () => { + initDiscovery() + } + + window.addEventListener('resize', handleResize) + return () => window.removeEventListener('resize', handleResize) + }, [initDiscovery]) + + useEffect(() => { + if (inDiscovery) { + if (!textRef.current) { + return + } + const isOverflow = textRef.current.scrollWidth > textRef.current.clientWidth + + if (isOverflow) { + // This is too much + + // Update known bad length + const newSmallestKnownBad = Math.min(currentLength, smallestKnownBad) + setSmallestKnownBad(newSmallestKnownBad) + + // We should try something smaller + attemptShortenedContent(Math.floor((largestKnownGood + newSmallestKnownBad) / 2)) + } else { + // This is OK + + // Update known good length + const newLargestKnownGood = Math.max(currentLength, largestKnownGood) + setLargestKnownGood(currentLength) + + if (currentLength === fullLength) { + // The whole thing fits, so we are good. + setInDiscovery(false) + } else { + if (currentLength + 1 === smallestKnownBad) { + // This the best we can do, for now + setInDiscovery(false) + } else { + // So far, so good, but we should try something longer + attemptShortenedContent(Math.floor((newLargestKnownGood + smallestKnownBad) / 2)) + } + } + } + } + }, [inDiscovery, currentLength, largestKnownGood, smallestKnownBad, attemptShortenedContent, fullLength]) + + if (!text) return null + + const title = + currentLength !== fullLength ? ( + + {text} + {extraTooltip && ( + + + {extraTooltip} + + )} + + ) : ( + extraTooltip + ) + + return ( + + + {currentContent} + + + ) +} diff --git a/src/app/components/AdaptiveTrimmer/MaybeWithTooltip.tsx b/src/app/components/AdaptiveTrimmer/MaybeWithTooltip.tsx new file mode 100644 index 000000000..4edfe0c26 --- /dev/null +++ b/src/app/components/AdaptiveTrimmer/MaybeWithTooltip.tsx @@ -0,0 +1,65 @@ +import { FC, ReactNode } from 'react' +import Tooltip from '@mui/material/Tooltip' +import Box from '@mui/material/Box' +import { SxProps } from '@mui/material/styles' + +type MaybeWithTooltipProps = { + /** + * Do we want to show the tooltip? + * + * Default is true + */ + tooltipWanted?: boolean + + /** + * What should be the content of the tooltip? + * + * Undefined means no tooltip + */ + title?: ReactNode + + /** + * Any extra styles to apply to the span + */ + spanSx?: SxProps + + /** + * The content to show + */ + children: ReactNode +} + +/** + * A component to display some content with or without a tooltip + */ +export const MaybeWithTooltip: FC = ({ + tooltipWanted = true, + title, + children, + spanSx, +}) => + tooltipWanted && !!title ? ( + + {title} + + } + > + + {children} + + + ) : ( + + {children} + + ) From d43edd58a2560f9f1136dfff3d318be323a07c06 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Fri, 23 Feb 2024 03:45:29 +0100 Subject: [PATCH 02/38] Re-style account link to fill space on mobile --- .changelog/1290.trivial.md | 1 + src/app/components/Account/AccountLink.tsx | 104 +++++++++++++++--- .../StyledDescriptionList/index.tsx | 2 + 3 files changed, 89 insertions(+), 18 deletions(-) create mode 100644 .changelog/1290.trivial.md diff --git a/.changelog/1290.trivial.md b/.changelog/1290.trivial.md new file mode 100644 index 000000000..4182da1ae --- /dev/null +++ b/.changelog/1290.trivial.md @@ -0,0 +1 @@ +Update how links and hashes are displayed on mobile diff --git a/src/app/components/Account/AccountLink.tsx b/src/app/components/Account/AccountLink.tsx index b204aa377..19ce16b86 100644 --- a/src/app/components/Account/AccountLink.tsx +++ b/src/app/components/Account/AccountLink.tsx @@ -1,40 +1,108 @@ -import { FC } from 'react' +import { FC, ReactNode } from 'react' import { Link as RouterLink } from 'react-router-dom' import { useScreenSize } from '../../hooks/useScreensize' import Link from '@mui/material/Link' -import { TrimLinkLabel } from '../TrimLinkLabel' import { RouteUtils } from '../../utils/route-utils' +import InfoIcon from '@mui/icons-material/Info' import Typography from '@mui/material/Typography' import { COLORS } from '../../../styles/theme/colors' import { SearchScope } from '../../../types/searchScope' +import { trimLongString } from '../../utils/trimLongString' +import { MaybeWithTooltip } from '../AdaptiveTrimmer/MaybeWithTooltip' +import { AdaptiveTrimmer } from '../AdaptiveTrimmer/AdaptiveTrimmer' -export const AccountLink: FC<{ - scope: SearchScope - address: string - alwaysTrim?: boolean +const WithTypographyAndLink: FC<{ + to: string plain?: boolean -}> = ({ scope, address, alwaysTrim, plain }) => { - const { isTablet } = useScreenSize() - const to = RouteUtils.getAccountRoute(scope, address) + mobile?: boolean + children: ReactNode +}> = ({ children, to, plain, mobile }) => { return ( - {alwaysTrim || isTablet ? ( - - ) : plain ? ( - address + {plain ? ( + children ) : ( - {address} + {children} )} ) } + +export const AccountLink: FC<{ + scope: SearchScope + address: string + + /** + * Should we always trim the text to a short line? + */ + alwaysTrim?: boolean + + /** + * Plain mode? (No link required) + */ + plain?: boolean + + /** + * Any extra tooltips to display + * + * (Besides the content necessary because of potential shortening) + */ + extraTooltip?: ReactNode +}> = ({ scope, address, alwaysTrim, plain, extraTooltip }) => { + const { isTablet } = useScreenSize() + const to = RouteUtils.getAccountRoute(scope, address) + + const tooltipPostfix = extraTooltip ? ( + <> + + {extraTooltip} + + ) : undefined + + // Are we in a table? + if (alwaysTrim) { + // In a table, we only ever want one short line + + return ( + + {trimLongString(address, 6, 6)} + + ) + } + + if (!isTablet) { + // Details in desktop mode. + // We want one long line, with name and address. + + return ( + + {address} + + ) + } + + // We need to show the data in details mode on mobile. + // We want two lines, one for name (if available), one for address + // Both line adaptively shortened to fill available space + return ( + + + + ) +} diff --git a/src/app/components/StyledDescriptionList/index.tsx b/src/app/components/StyledDescriptionList/index.tsx index 2ba5058ac..08865f369 100644 --- a/src/app/components/StyledDescriptionList/index.tsx +++ b/src/app/components/StyledDescriptionList/index.tsx @@ -61,6 +61,8 @@ export const StyledDescriptionList = styled(InlineDescriptionList, { color: COLORS.brandExtraDark, overflowWrap: 'anywhere', alignItems: 'center', + maxWidth: '100%', + overflowX: 'hidden', }, ...(standalone && { '&&': { From f5c192f1b693b0e5b8c11034710b1ec34b6082c4 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Fri, 23 Feb 2024 03:46:09 +0100 Subject: [PATCH 03/38] Make sure account links are always used correctly --- .../Account/ContractCreatorInfo.tsx | 25 ++++++--- src/app/components/Account/index.tsx | 1 + src/app/components/AccountList/index.tsx | 2 +- src/app/components/Tokens/TokenHolders.tsx | 6 +- src/app/components/Tokens/TokenList.tsx | 6 +- src/app/components/Tokens/TokenTransfers.tsx | 4 +- .../Transactions/ConsensusTransactions.tsx | 23 +++----- .../Transactions/RuntimeTransactions.tsx | 56 ++++++------------- .../AccountNFTCollectionCard.tsx | 2 +- .../AccountDetailsPage/AccountTokensCard.tsx | 14 ++++- .../InstanceTitleCard.tsx | 2 +- .../RuntimeTransactionDetailPage/index.tsx | 36 +++++------- src/app/pages/TokenDashboardPage/NFTLinks.tsx | 5 +- .../TokenDashboardPage/TokenDetailsCard.tsx | 6 +- .../TokenDashboardPage/TokenTitleCard.tsx | 6 +- 15 files changed, 98 insertions(+), 96 deletions(-) diff --git a/src/app/components/Account/ContractCreatorInfo.tsx b/src/app/components/Account/ContractCreatorInfo.tsx index a944c8362..fed858109 100644 --- a/src/app/components/Account/ContractCreatorInfo.tsx +++ b/src/app/components/Account/ContractCreatorInfo.tsx @@ -14,7 +14,11 @@ import Box from '@mui/material/Box' import Skeleton from '@mui/material/Skeleton' import { useScreenSize } from '../../hooks/useScreensize' -const TxSender: FC<{ scope: SearchScope; txHash: string }> = ({ scope, txHash }) => { +const TxSender: FC<{ scope: SearchScope; txHash: string; alwaysTrim?: boolean }> = ({ + scope, + txHash, + alwaysTrim, +}) => { const { t } = useTranslation() if (scope.layer === Layer.consensus) { throw AppErrors.UnsupportedLayer @@ -31,7 +35,7 @@ const TxSender: FC<{ scope: SearchScope; txHash: string }> = ({ scope, txHash }) }} /> ) : senderAddress ? ( - + ) : ( t('common.missing') ) @@ -41,7 +45,8 @@ export const ContractCreatorInfo: FC<{ scope: SearchScope isLoading?: boolean creationTxHash: string | undefined -}> = ({ scope, isLoading, creationTxHash }) => { + alwaysTrim?: boolean +}> = ({ scope, isLoading, creationTxHash, alwaysTrim }) => { const { t } = useTranslation() const { isMobile } = useScreenSize() @@ -59,9 +64,9 @@ export const ContractCreatorInfo: FC<{ minWidth: '25%', }} > - + {t('contract.createdAt')} - + ) } @@ -69,7 +74,8 @@ export const ContractCreatorInfo: FC<{ export const DelayedContractCreatorInfo: FC<{ scope: SearchScope contractOasisAddress: string | undefined -}> = ({ scope, contractOasisAddress }) => { + alwaysTrim?: boolean +}> = ({ scope, contractOasisAddress, alwaysTrim }) => { const accountQuery = useGetRuntimeAccountsAddress( scope.network, scope.layer as Runtime, @@ -82,6 +88,11 @@ export const DelayedContractCreatorInfo: FC<{ const creationTxHash = contract?.eth_creation_tx || contract?.creation_tx return ( - + ) } diff --git a/src/app/components/Account/index.tsx b/src/app/components/Account/index.tsx index 3658ba25d..71bca39d4 100644 --- a/src/app/components/Account/index.tsx +++ b/src/app/components/Account/index.tsx @@ -100,6 +100,7 @@ export const Account: FC = ({ account, token, isLoading, tokenPric diff --git a/src/app/components/AccountList/index.tsx b/src/app/components/AccountList/index.tsx index 89050ff45..7f467c356 100644 --- a/src/app/components/AccountList/index.tsx +++ b/src/app/components/AccountList/index.tsx @@ -39,7 +39,7 @@ export const AccountList: FC = ({ isLoading, limit, pagination key: 'size', }, { - content: , + content: , key: 'address', }, ...(verbose diff --git a/src/app/components/Tokens/TokenHolders.tsx b/src/app/components/Tokens/TokenHolders.tsx index 77daeae62..8bc52e63b 100644 --- a/src/app/components/Tokens/TokenHolders.tsx +++ b/src/app/components/Tokens/TokenHolders.tsx @@ -53,7 +53,11 @@ export const TokenHolders: FC = ({ { key: 'address', content: ( - + ), }, { diff --git a/src/app/components/Tokens/TokenList.tsx b/src/app/components/Tokens/TokenList.tsx index 676f8aa60..ec2e0bea4 100644 --- a/src/app/components/Tokens/TokenList.tsx +++ b/src/app/components/Tokens/TokenList.tsx @@ -107,7 +107,11 @@ export const TokenList = (props: TokensProps) => { { content: ( - + ), diff --git a/src/app/components/Tokens/TokenTransfers.tsx b/src/app/components/Tokens/TokenTransfers.tsx index fdf69be27..a0b70bbfe 100644 --- a/src/app/components/Tokens/TokenTransfers.tsx +++ b/src/app/components/Tokens/TokenTransfers.tsx @@ -186,7 +186,7 @@ export const TokenTransfers: FC = ({ {trimLongString(fromAddress)} ) : ( - + )} @@ -210,7 +210,7 @@ export const TokenTransfers: FC = ({ {trimLongString(toAddress)} ) : ( - + ), }, ...(differentTokens diff --git a/src/app/components/Transactions/ConsensusTransactions.tsx b/src/app/components/Transactions/ConsensusTransactions.tsx index 928ee697e..45518dbf4 100644 --- a/src/app/components/Transactions/ConsensusTransactions.tsx +++ b/src/app/components/Transactions/ConsensusTransactions.tsx @@ -1,11 +1,9 @@ import { FC } from 'react' import { useTranslation } from 'react-i18next' import Box from '@mui/material/Box' -import Typography from '@mui/material/Typography' import { Transaction } from '../../../oasis-nexus/api' import { Table, TableCellAlign, TableColProps } from '../../components/Table' import { RoundedBalance } from '../../components/RoundedBalance' -import { trimLongString } from '../../utils/trimLongString' import { TablePaginationProps } from '../Table/TablePagination' import { BlockLink } from '../Blocks/BlockLink' import { AccountLink } from '../Account/AccountLink' @@ -66,7 +64,7 @@ export const ConsensusTransactions: FC = ({ key: 'success', }, { - content: , + content: , key: 'hash', }, { @@ -95,19 +93,12 @@ export const ConsensusTransactions: FC = ({ pr: 3, }} > - {!!ownAddress && transaction.sender === ownAddress ? ( - - {trimLongString(transaction.sender)} - - ) : ( - - )} + ), key: 'from', diff --git a/src/app/components/Transactions/RuntimeTransactions.tsx b/src/app/components/Transactions/RuntimeTransactions.tsx index 0734a689d..dd2519673 100644 --- a/src/app/components/Transactions/RuntimeTransactions.tsx +++ b/src/app/components/Transactions/RuntimeTransactions.tsx @@ -14,8 +14,6 @@ import { TablePaginationProps } from '../Table/TablePagination' import { BlockLink } from '../Blocks/BlockLink' import { AccountLink } from '../Account/AccountLink' import { TransactionLink } from './TransactionLink' -import { trimLongString } from '../../utils/trimLongString' -import Typography from '@mui/material/Typography' import { doesAnyOfTheseLayersSupportEncryptedTransactions } from '../../../types/layers' import { TransactionEncryptionStatus } from '../TransactionEncryptionStatus' import { Age } from '../Age' @@ -104,11 +102,7 @@ export const RuntimeTransactions: FC = ({ : []), { content: ( - + ), key: 'hash', }, @@ -139,24 +133,15 @@ export const RuntimeTransactions: FC = ({ pr: 3, }} > - {!!ownAddress && - (transaction.sender_0_eth === ownAddress || transaction.sender_0 === ownAddress) ? ( - - {trimLongString(transaction.sender_0_eth || transaction.sender_0)} - - ) : ( - - )} + {targetAddress && ( @@ -168,19 +153,14 @@ export const RuntimeTransactions: FC = ({ }, { content: targetAddress ? ( - !!ownAddress && (transaction.to_eth === ownAddress || transaction.to === ownAddress) ? ( - - {trimLongString(targetAddress)} - - ) : ( - - ) + ) : null, key: 'to', }, diff --git a/src/app/pages/AccountDetailsPage/AccountNFTCollectionCard.tsx b/src/app/pages/AccountDetailsPage/AccountNFTCollectionCard.tsx index a03739e64..3ab574b8b 100644 --- a/src/app/pages/AccountDetailsPage/AccountNFTCollectionCard.tsx +++ b/src/app/pages/AccountDetailsPage/AccountNFTCollectionCard.tsx @@ -44,7 +44,7 @@ export const AccountNFTCollectionCard: FC = ({ scope, add isFetched && firstToken && ( - + ) diff --git a/src/app/pages/AccountDetailsPage/AccountTokensCard.tsx b/src/app/pages/AccountDetailsPage/AccountTokensCard.tsx index 71e15c55e..b7b6f3a53 100644 --- a/src/app/pages/AccountDetailsPage/AccountTokensCard.tsx +++ b/src/app/pages/AccountDetailsPage/AccountTokensCard.tsx @@ -30,10 +30,14 @@ type AccountTokensCardProps = AccountDetailsContext & { export const accountTokenContainerId = 'tokens' -export const ContractLink: FC<{ scope: SearchScope; address: string }> = ({ scope, address }) => { +export const ContractLink: FC<{ scope: SearchScope; address: string; alwaysTrim?: boolean }> = ({ + scope, + address, + alwaysTrim, +}) => { return ( - + ) @@ -79,7 +83,11 @@ export const AccountTokensCard: FC = ({ scope, account, { content: ( - + ), key: 'hash', diff --git a/src/app/pages/NFTInstanceDashboardPage/InstanceTitleCard.tsx b/src/app/pages/NFTInstanceDashboardPage/InstanceTitleCard.tsx index ef0b1d0e1..beb512b66 100644 --- a/src/app/pages/NFTInstanceDashboardPage/InstanceTitleCard.tsx +++ b/src/app/pages/NFTInstanceDashboardPage/InstanceTitleCard.tsx @@ -66,7 +66,7 @@ export const InstanceTitleCard: FC = ({ isFetched, isLoa }} > - + diff --git a/src/app/pages/RuntimeTransactionDetailPage/index.tsx b/src/app/pages/RuntimeTransactionDetailPage/index.tsx index 0ea100a08..72897ea8c 100644 --- a/src/app/pages/RuntimeTransactionDetailPage/index.tsx +++ b/src/app/pages/RuntimeTransactionDetailPage/index.tsx @@ -270,24 +270,21 @@ export const RuntimeTransactionDetailView: FC<{ <>
{t('common.from')}
- - - + /> {from && }
@@ -297,21 +294,18 @@ export const RuntimeTransactionDetailView: FC<{ <>
{t('common.to')}
- - - + /> {to && }
diff --git a/src/app/pages/TokenDashboardPage/NFTLinks.tsx b/src/app/pages/TokenDashboardPage/NFTLinks.tsx index e70dd170d..a2c6979dc 100644 --- a/src/app/pages/TokenDashboardPage/NFTLinks.tsx +++ b/src/app/pages/TokenDashboardPage/NFTLinks.tsx @@ -66,8 +66,9 @@ export const NFTInstanceLink: FC = ({ scope, instance }) => { type NFTOwnerLinkProps = { scope: SearchScope owner: string + alwaysTrim?: boolean } -export const NFTOwnerLink: FC = ({ scope, owner }) => { +export const NFTOwnerLink: FC = ({ scope, owner, alwaysTrim }) => { const { t } = useTranslation() return ( @@ -76,7 +77,7 @@ export const NFTOwnerLink: FC = ({ scope, owner }) => { i18nKey="nft.ownerLink" t={t} components={{ - OwnerLink: , + OwnerLink: , }} /> diff --git a/src/app/pages/TokenDashboardPage/TokenDetailsCard.tsx b/src/app/pages/TokenDashboardPage/TokenDetailsCard.tsx index caa1511f5..7c6f91ac9 100644 --- a/src/app/pages/TokenDashboardPage/TokenDetailsCard.tsx +++ b/src/app/pages/TokenDashboardPage/TokenDetailsCard.tsx @@ -69,7 +69,11 @@ export const TokenDetailsCard: FC<{ scope: SearchScope; address: string; searchT
{t('contract.creator')}
- +
{t('common.balance')}
diff --git a/src/app/pages/TokenDashboardPage/TokenTitleCard.tsx b/src/app/pages/TokenDashboardPage/TokenTitleCard.tsx index cfad3b218..fdfb5ab8a 100644 --- a/src/app/pages/TokenDashboardPage/TokenTitleCard.tsx +++ b/src/app/pages/TokenDashboardPage/TokenTitleCard.tsx @@ -25,7 +25,11 @@ export const TokenTitleCard: FC<{ scope: SearchScope; address: string; searchTer {token && ( <> - + )} From 2144e7b5489a5bc4ec66047c4178f6f71d4a3cf0 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Fri, 23 Feb 2024 04:17:37 +0100 Subject: [PATCH 04/38] Update BlockHashLink for mobile --- src/app/components/Blocks/BlockLink.tsx | 34 ++++++++++++++++++++----- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/src/app/components/Blocks/BlockLink.tsx b/src/app/components/Blocks/BlockLink.tsx index f9673b7c8..53a55cf7c 100644 --- a/src/app/components/Blocks/BlockLink.tsx +++ b/src/app/components/Blocks/BlockLink.tsx @@ -7,6 +7,7 @@ import { RouteUtils } from '../../utils/route-utils' import { TrimLinkLabel } from '../TrimLinkLabel' import { SearchScope } from '../../../types/searchScope' import { useScreenSize } from '../../hooks/useScreensize' +import { AdaptiveTrimmer } from '../AdaptiveTrimmer/AdaptiveTrimmer' export const BlockLink: FC<{ scope: SearchScope; height: number }> = ({ scope, height }) => ( @@ -23,15 +24,34 @@ export const BlockHashLink: FC<{ alwaysTrim?: boolean }> = ({ scope, hash, height, alwaysTrim }) => { const { isTablet } = useScreenSize() - return ( - - {isTablet || alwaysTrim ? ( - - ) : ( - + const to = RouteUtils.getBlockRoute(scope, height) + + if (alwaysTrim) { + // Table view + return ( + + + + ) + } + + if (!isTablet) { + // Desktop view + return ( + + {hash} - )} + + ) + } + + // Mobile view + return ( + + + + ) } From 3d8dde034139a8dfd1799608d94ca2a59a6b8f98 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Fri, 23 Feb 2024 04:25:14 +0100 Subject: [PATCH 05/38] Fix token transfers table on tablet --- src/app/components/Tokens/TokenTransfers.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/components/Tokens/TokenTransfers.tsx b/src/app/components/Tokens/TokenTransfers.tsx index a0b70bbfe..7daecf45b 100644 --- a/src/app/components/Tokens/TokenTransfers.tsx +++ b/src/app/components/Tokens/TokenTransfers.tsx @@ -116,7 +116,7 @@ export const TokenTransfers: FC = ({ ownAddress, }) => { const { t } = useTranslation() - const { isMobile } = useScreenSize() + const { isTablet } = useScreenSize() const tableColumns: TableColProps[] = [ { key: 'hash', content: t('common.hash') }, { key: 'block', content: t('common.block') }, @@ -139,7 +139,7 @@ export const TokenTransfers: FC = ({ content: ( ), From d2bf64cf488c112c9c5abf559af85619c89c20a3 Mon Sep 17 00:00:00 2001 From: Csillag Kristof Date: Fri, 23 Feb 2024 14:42:53 +0100 Subject: [PATCH 06/38] Update TransactionLink for mobile --- .../Transactions/TransactionLink.tsx | 85 +++++++++++++++---- 1 file changed, 70 insertions(+), 15 deletions(-) diff --git a/src/app/components/Transactions/TransactionLink.tsx b/src/app/components/Transactions/TransactionLink.tsx index afcd30e8f..a13319bb3 100644 --- a/src/app/components/Transactions/TransactionLink.tsx +++ b/src/app/components/Transactions/TransactionLink.tsx @@ -1,33 +1,88 @@ -import { FC } from 'react' +import { FC, ReactNode } from 'react' import { Link as RouterLink } from 'react-router-dom' import Link from '@mui/material/Link' import Typography from '@mui/material/Typography' +import InfoIcon from '@mui/icons-material/Info' import { useScreenSize } from '../../hooks/useScreensize' -import { TrimLinkLabel } from '../TrimLinkLabel' import { RouteUtils } from '../../utils/route-utils' import { SearchScope } from '../../../types/searchScope' import { COLORS } from '../../../styles/theme/colors' +import { AdaptiveTrimmer } from '../AdaptiveTrimmer/AdaptiveTrimmer' +import { MaybeWithTooltip } from '../AdaptiveTrimmer/MaybeWithTooltip' +import { trimLongString } from '../../utils/trimLongString' +import Box from '@mui/material/Box' + +const WithTypographyAndLink: FC<{ children: ReactNode; plain?: boolean; mobile?: boolean; to: string }> = ({ + children, + plain, + mobile, + to, +}) => ( + + {plain ? ( + children + ) : ( + + {children} + + )} + +) export const TransactionLink: FC<{ alwaysTrim?: boolean scope: SearchScope hash: string plain?: boolean -}> = ({ alwaysTrim, hash, scope, plain }) => { - const { isMobile } = useScreenSize() + extraTooltip?: ReactNode +}> = ({ alwaysTrim, hash, scope, plain, extraTooltip }) => { + const { isTablet } = useScreenSize() const to = RouteUtils.getTransactionRoute(scope, hash) + const tooltipPostfix = extraTooltip ? ( + + + {extraTooltip} + + ) : undefined + + if (alwaysTrim) { + // Table mode + return ( + + + {hash} + {tooltipPostfix} + + } + > + {trimLongString(hash, 6, 6)} + + + ) + } + + if (!isTablet) { + // Desktop mode + return ( + + {hash} + + ) + } + // Mobile mode return ( - - {alwaysTrim || isMobile ? ( - - ) : plain ? ( - hash - ) : ( - - {hash} - - )} - + + + ) } From 35cceccdb5e118593247556b28477ab63382c860 Mon Sep 17 00:00:00 2001 From: Csillag Kristof Date: Fri, 23 Feb 2024 14:45:40 +0100 Subject: [PATCH 07/38] Make sure TransactionLink is used correctly --- .../RuntimeTransactionDetailPage/index.tsx | 42 +++++-------------- 1 file changed, 10 insertions(+), 32 deletions(-) diff --git a/src/app/pages/RuntimeTransactionDetailPage/index.tsx b/src/app/pages/RuntimeTransactionDetailPage/index.tsx index 72897ea8c..cde8153cc 100644 --- a/src/app/pages/RuntimeTransactionDetailPage/index.tsx +++ b/src/app/pages/RuntimeTransactionDetailPage/index.tsx @@ -1,4 +1,4 @@ -import { FC, PropsWithChildren, useState } from 'react' +import { FC, useState } from 'react' import { useParams } from 'react-router-dom' import { useTranslation } from 'react-i18next' import { @@ -20,7 +20,6 @@ import Alert from '@mui/material/Alert' import { CopyToClipboard } from '../../components/CopyToClipboard' import { AppErrors } from '../../../types/errors' import { TextSkeleton } from '../../components/Skeleton' -import Box from '@mui/material/Box' import { BlockLink } from '../../components/Blocks/BlockLink' import { TransactionLink } from '../../components/Transactions/TransactionLink' import { TransactionEvents } from '../../components/Transactions/TransactionEvents' @@ -30,8 +29,6 @@ import { getNameForTicker, Ticker } from '../../../types/ticker' import { AllTokenPrices, useAllTokenPrices } from '../../../coin-gecko/api' import { CurrentFiatValue } from './CurrentFiatValue' import { AddressSwitch, AddressSwitchOption } from '../../components/AddressSwitch' -import InfoIcon from '@mui/icons-material/Info' -import Tooltip from '@mui/material/Tooltip' import { TransactionEncrypted, TransactionNotEncrypted } from '../../components/TransactionEncryptionStatus' import Typography from '@mui/material/Typography' import { LongDataDisplay } from '../../components/LongDataDisplay' @@ -145,23 +142,6 @@ export type TransactionDetailRuntimeBlock = RuntimeTransaction & { markAsNew?: boolean } -const TransactionInfoTooltip: FC> = ({ label, children }) => { - return ( - - - {label} - - } - > - {children} - - ) -} - export const RuntimeTransactionDetailView: FC<{ isLoading?: boolean transaction: TransactionDetailRuntimeBlock | undefined @@ -213,23 +193,21 @@ export const RuntimeTransactionDetailView: FC<{ <>
{t('common.hash')}
- - - + /> + {hash && }
From f561a26c227d809002ae53c2a6edc17ff3a25134 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Thu, 22 Feb 2024 15:25:40 +0100 Subject: [PATCH 08/38] Add adaptive shortener with dynamically content With this, we can adaptively truncate any content based on the available space. When truncated, we can display the full version in a tooltip. The shortened version is generated using a user-specified function. --- .../AdaptiveDynamicTrimmer.tsx | 151 ++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 src/app/components/AdaptiveTrimmer/AdaptiveDynamicTrimmer.tsx diff --git a/src/app/components/AdaptiveTrimmer/AdaptiveDynamicTrimmer.tsx b/src/app/components/AdaptiveTrimmer/AdaptiveDynamicTrimmer.tsx new file mode 100644 index 000000000..d020a7fc2 --- /dev/null +++ b/src/app/components/AdaptiveTrimmer/AdaptiveDynamicTrimmer.tsx @@ -0,0 +1,151 @@ +import { FC, ReactNode, useCallback, useEffect, useRef, useState } from 'react' +import Box from '@mui/material/Box' +import InfoIcon from '@mui/icons-material/Info' +import { MaybeWithTooltip } from './MaybeWithTooltip' + +type AdaptiveDynamicTrimmerProps = { + getFullContent: () => { + content: ReactNode + length: number + } + getShortenedContent: (wantedLength: number) => ReactNode + extraTooltip: ReactNode +} + +/** + * Display content, potentially shortened as needed. + * + * This component will do automatic detection of available space, + * and determine the best way to display content accordingly. + * + * The difference compared to AdaptiveTrimmer is that this component + * expects a function to provide a shortened version of the components. + */ +export const AdaptiveDynamicTrimmer: FC = ({ + getFullContent, + getShortenedContent, + extraTooltip, +}) => { + // Initial setup + const textRef = useRef(null) + const { content: fullContent, length: fullLength } = getFullContent() + + // Data about the currently rendered version + const [currentContent, setCurrentContent] = useState() + const [currentLength, setCurrentLength] = useState(0) + + // Known good - this fits + const [largestKnownGood, setLargestKnownGood] = useState(0) + + // Known bad - this doesn't fit + const [smallestKnownBad, setSmallestKnownBad] = useState(fullLength + 1) + + // Are we exploring our possibilities now? + const [inDiscovery, setInDiscovery] = useState(false) + + const attemptContent = useCallback((content: ReactNode, length: number) => { + setCurrentContent(content) + setCurrentLength(length) + }, []) + + const attemptShortenedContent = useCallback( + (wantedLength: number) => attemptContent(getShortenedContent(wantedLength), wantedLength), + [attemptContent, getShortenedContent], + ) + + const initDiscovery = useCallback(() => { + setLargestKnownGood(0) + setSmallestKnownBad(fullLength + 1) + attemptContent(fullContent, fullLength) + setInDiscovery(true) + }, [fullContent, fullLength, attemptContent]) + + useEffect(() => { + initDiscovery() + const handleResize = () => { + initDiscovery() + } + + window.addEventListener('resize', handleResize) + return () => window.removeEventListener('resize', handleResize) + }, [initDiscovery]) + + useEffect(() => { + if (inDiscovery) { + if (!textRef.current) { + return + } + const isOverflow = textRef.current.scrollWidth > textRef.current.clientWidth + // log('Overflow?', isOverflow) + + if (isOverflow) { + // This is too much + + // Update known bad length + const newSmallestKnownBad = Math.min(currentLength, smallestKnownBad) + setSmallestKnownBad(newSmallestKnownBad) + + // We should try something smaller + attemptShortenedContent(Math.floor((largestKnownGood + newSmallestKnownBad) / 2)) + } else { + // This is OK + + // Update known good length + const newLargestKnownGood = Math.max(currentLength, largestKnownGood) + setLargestKnownGood(currentLength) + + if (currentLength === fullLength) { + // The whole thing fits, so we are good. + setInDiscovery(false) + } else { + if (currentLength + 1 === smallestKnownBad) { + // This the best we can do, for now + setInDiscovery(false) + } else { + // So far, so good, but we should try something longer + attemptShortenedContent(Math.floor((newLargestKnownGood + smallestKnownBad) / 2)) + } + } + } + } + }, [ + attemptShortenedContent, + currentLength, + fullContent, + fullLength, + inDiscovery, + initDiscovery, + largestKnownGood, + smallestKnownBad, + ]) + + const title = + currentLength !== fullLength ? ( + + {fullContent} + {extraTooltip && ( + + + {extraTooltip} + + )} + + ) : ( + extraTooltip + ) + + return ( + + + {currentContent} + + + ) +} From bf0f995d403eb0c02fb7bdfa9cc722731a5ce743 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Wed, 21 Feb 2024 18:03:06 +0100 Subject: [PATCH 09/38] Components for displaying shortened text with highlights --- .../AdaptiveHighlightedText.tsx | 66 +++++++++++++++++ .../HighlightedTrimmedText.tsx | 43 +++++++++++ .../HighlightedText/text-cutting.ts | 74 +++++++++++++++++++ 3 files changed, 183 insertions(+) create mode 100644 src/app/components/HighlightedText/AdaptiveHighlightedText.tsx create mode 100644 src/app/components/HighlightedText/HighlightedTrimmedText.tsx create mode 100644 src/app/components/HighlightedText/text-cutting.ts diff --git a/src/app/components/HighlightedText/AdaptiveHighlightedText.tsx b/src/app/components/HighlightedText/AdaptiveHighlightedText.tsx new file mode 100644 index 000000000..0676bfc26 --- /dev/null +++ b/src/app/components/HighlightedText/AdaptiveHighlightedText.tsx @@ -0,0 +1,66 @@ +import { FC, ReactNode } from 'react' +import InfoIcon from '@mui/icons-material/Info' +import { HighlightedText, HighlightOptions } from './index' +import { AdaptiveDynamicTrimmer } from '../AdaptiveTrimmer/AdaptiveDynamicTrimmer' +import { HighlightedTrimmedText } from './HighlightedTrimmedText' + +type AdaptiveHighlightedTextProps = { + /** + * The text to display + */ + text: string | undefined + + /** + * The pattern to search for (and highlight) + */ + pattern: string | undefined + + /** + * Options for highlighting (case sensitivity, styling, etc.) + * + * (This is optional, sensible defaults are provided.) + */ + options?: HighlightOptions + + /** + * Extra content to put into the tooltip + */ + extraTooltip?: ReactNode +} + +/** + * Display a text with a part highlighted, potentially trimmed to an adaptive length around the highlight + */ +export const AdaptiveHighlightedText: FC = ({ + text, + pattern, + options, + extraTooltip, +}) => { + const fullContent = + + return text ? ( + ({ + content: fullContent, + length: text.length, + })} + getShortenedContent={wantedLength => ( + + )} + extraTooltip={ + extraTooltip ? ( + <> + + {extraTooltip} + + ) : undefined + } + /> + ) : undefined +} diff --git a/src/app/components/HighlightedText/HighlightedTrimmedText.tsx b/src/app/components/HighlightedText/HighlightedTrimmedText.tsx new file mode 100644 index 000000000..ff7c816b9 --- /dev/null +++ b/src/app/components/HighlightedText/HighlightedTrimmedText.tsx @@ -0,0 +1,43 @@ +import { FC } from 'react' + +import { HighlightedText, HighlightOptions } from './index' +import { cutAroundMatch } from './text-cutting' + +type HighlightedTrimmedTextProps = { + /** + * The text to display + */ + text: string | undefined + + /** + * The pattern to search for (and highlight) + */ + pattern: string | undefined + + /** + * Options for highlighting (case sensitivity, styling, etc.) + * + * (This is optional, sensible defaults are provided.) + */ + options?: HighlightOptions + + /** + * What should be the length of the fragment delivered, which + * has the pattern inside it? + */ + fragmentLength: number +} + +/** + * Display a text with a part highlighted, potentially trimmed to shorter length around the highlight + */ +export const HighlightedTrimmedText: FC = props => { + const { text, pattern, fragmentLength, options } = props + return ( + + ) +} diff --git a/src/app/components/HighlightedText/text-cutting.ts b/src/app/components/HighlightedText/text-cutting.ts new file mode 100644 index 000000000..cb7555fa6 --- /dev/null +++ b/src/app/components/HighlightedText/text-cutting.ts @@ -0,0 +1,74 @@ +import { findTextMatch, NormalizerOptions } from './text-matching' + +export interface CutAroundOptions extends NormalizerOptions { + /** + * What should be the length of the fragment delivered, which + * has the pattern inside it? + * + * The default value is 80. + */ + fragmentLength?: number +} + +/** + * Return a part of the corpus that contains the match to the pattern, if any + * + * If the corpus is undefined or empty, undefined is returned. + * + * If either the pattern is undefined or empty, or there is no match, + * an adequately sized part from the beginning of the corpus is returned. + * + * If there is a match, but the corpus is at most as long as the desired fragment length, + * the whole corpus is returned. + * + * If there is a match, and the corpus is longer than the desired fragment length, + * then a part of a corpus is returned, so that the match is within the returned part, + * around the middle. + */ +export function cutAroundMatch( + corpus: string | undefined, + pattern: string | undefined, + options: CutAroundOptions = {}, +): { + hasMatch: boolean + part: string | undefined +} { + const { fragmentLength = 80, ...matchOptions } = options + + if (!corpus) { + // there is nothing to see here + return { + hasMatch: false, + part: undefined, + } + } + + // do we have a match? + const match = pattern ? findTextMatch(corpus, [pattern], matchOptions) : undefined + + if (corpus.length <= fragmentLength) { + // the whole corpus fits into the max size, no need to cut. + return { + hasMatch: !!match, + part: corpus, + } + } + + // how much extra space do we have? + const buffer = fragmentLength - (pattern || '').length + + const matchStart = match?.startPos ?? 0 + + // We will start before the start of the match, by buffer / 2 chars + const startPos = Math.max(Math.min(matchStart - Math.floor(buffer / 2), corpus.length - fragmentLength), 0) + const endPos = Math.min(startPos + fragmentLength, corpus.length) + + // compile the result + const part = + (startPos ? '…' : '') + corpus.substring(startPos, endPos) + (endPos < corpus.length - 1 ? '…' : '') + + return { + hasMatch: true, + part, + } +} From ba2da30019befc6b0cb2f23893077c644929a298 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Sun, 11 Feb 2024 19:15:15 +0100 Subject: [PATCH 10/38] Add chance library (for random stuff) --- package.json | 2 ++ yarn.lock | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/package.json b/package.json index 9d75b9755..9a848f939 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,7 @@ "axios": "1.6.7", "bignumber.js": "9.1.2", "bip39": "^3.1.0", + "chance": "^1.1.11", "date-fns": "3.3.1", "ethers": "^6.11.1", "i18next": "23.10.0", @@ -102,6 +103,7 @@ "@testing-library/jest-dom": "6.4.2", "@testing-library/react": "14.2.1", "@testing-library/user-event": "14.5.2", + "@types/chance": "^1.1.6", "@types/jest": "^29.5.12", "@types/node": "20.11.20", "@types/react": "18.2.59", diff --git a/yarn.lock b/yarn.lock index 9353fb299..9d9e4681f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5377,6 +5377,11 @@ "@types/connect" "*" "@types/node" "*" +"@types/chance@^1.1.6": + version "1.1.6" + resolved "https://registry.yarnpkg.com/@types/chance/-/chance-1.1.6.tgz#2fe3de58742629602c3fbab468093b27207f04ad" + integrity sha512-V+pm3stv1Mvz8fSKJJod6CglNGVqEQ6OyuqitoDkWywEODM/eJd1eSuIp9xt6DrX8BWZ2eDSIzbw1tPCUTvGbQ== + "@types/connect@*": version "3.4.35" resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" @@ -6955,6 +6960,11 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" +chance@^1.1.11: + version "1.1.11" + resolved "https://registry.yarnpkg.com/chance/-/chance-1.1.11.tgz#78e10e1f9220a5bbc60a83e3f28a5d8558d84d1b" + integrity sha512-kqTg3WWywappJPqtgrdvbA380VoXO2eu9VCV895JgbyHsaErXdyHK9LOZ911OvAk6L0obK7kDk9CGs8+oBawVA== + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" From 45a7e8aca25ee38fe9eb689d14623c8030701ae7 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Fri, 23 Feb 2024 05:06:57 +0100 Subject: [PATCH 11/38] Load the Pontus-X account names --- src/app/data/pontusx-account-names.ts | 43 +++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/app/data/pontusx-account-names.ts diff --git a/src/app/data/pontusx-account-names.ts b/src/app/data/pontusx-account-names.ts new file mode 100644 index 000000000..4459e83bd --- /dev/null +++ b/src/app/data/pontusx-account-names.ts @@ -0,0 +1,43 @@ +import axios from 'axios' +import { useQuery } from '@tanstack/react-query' + +const DATA_SOURCE_URL = 'https://raw.githubusercontent.com/deltaDAO/mvg-portal/main/pontusxAddresses.json' + +type AccountMap = Map +type AccountEntry = { + name: string + address: string +} +type AccountData = { + map: AccountMap + list: AccountEntry[] +} + +const getPontusXAccountNames = () => + new Promise((resolve, reject) => { + axios.get(DATA_SOURCE_URL).then(response => { + if (response.status !== 200) reject("Couldn't load names") + if (!response.data) reject("Couldn't load names") + const map = new Map() + const list: AccountEntry[] = [] + Object.entries(response.data).forEach(([address, name]) => { + map.set(address, name) + const normalizedEntry: AccountEntry = { + name: name as string, + address, + } + list.push(normalizedEntry) + }) + resolve({ + map, + list, + }) + }, reject) + }) + +export const usePontusXAccountNames = (enabled: boolean) => { + return useQuery(['pontusXNames'], getPontusXAccountNames, { + enabled, + staleTime: Infinity, + }) +} From 67e201d3bb2914d50507f560de132294c1b07368 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Fri, 23 Feb 2024 17:48:49 +0100 Subject: [PATCH 12/38] Support displaying account names --- src/app/components/Account/AccountLink.tsx | 36 +++++++++++-- src/app/data/pontusx-account-names.ts | 22 ++++++++ src/app/hooks/useAccountName.ts | 61 ++++++++++++++++++++++ 3 files changed, 115 insertions(+), 4 deletions(-) create mode 100644 src/app/hooks/useAccountName.ts diff --git a/src/app/components/Account/AccountLink.tsx b/src/app/components/Account/AccountLink.tsx index 19ce16b86..f1f1ab53b 100644 --- a/src/app/components/Account/AccountLink.tsx +++ b/src/app/components/Account/AccountLink.tsx @@ -7,8 +7,10 @@ import InfoIcon from '@mui/icons-material/Info' import Typography from '@mui/material/Typography' import { COLORS } from '../../../styles/theme/colors' import { SearchScope } from '../../../types/searchScope' +import { useAccountName } from '../../hooks/useAccountName' import { trimLongString } from '../../utils/trimLongString' import { MaybeWithTooltip } from '../AdaptiveTrimmer/MaybeWithTooltip' +import Box from '@mui/material/Box' import { AdaptiveTrimmer } from '../AdaptiveTrimmer/AdaptiveTrimmer' const WithTypographyAndLink: FC<{ @@ -25,7 +27,7 @@ const WithTypographyAndLink: FC<{ ...(mobile ? { maxWidth: '100%', - overflowX: 'hidden', + overflow: 'hidden', } : {}), ...(plain @@ -66,6 +68,7 @@ export const AccountLink: FC<{ extraTooltip?: ReactNode }> = ({ scope, address, alwaysTrim, plain, extraTooltip }) => { const { isTablet } = useScreenSize() + const { name: accountName } = useAccountName(scope, address) const to = RouteUtils.getAccountRoute(scope, address) const tooltipPostfix = extraTooltip ? ( @@ -81,7 +84,21 @@ export const AccountLink: FC<{ return ( - {trimLongString(address, 6, 6)} + + {accountName} + {address} + {tooltipPostfix} + + ) : ( + address + ) + } + > + {accountName ? trimLongString(accountName, 12, 0) : trimLongString(address, 6, 6)} + ) } @@ -92,7 +109,15 @@ export const AccountLink: FC<{ return ( - {address} + + {accountName ? ( + + {accountName} ({address}) + + ) : ( + address + )} + ) } @@ -102,7 +127,10 @@ export const AccountLink: FC<{ // Both line adaptively shortened to fill available space return ( - + <> + + + ) } diff --git a/src/app/data/pontusx-account-names.ts b/src/app/data/pontusx-account-names.ts index 4459e83bd..56f36bdfe 100644 --- a/src/app/data/pontusx-account-names.ts +++ b/src/app/data/pontusx-account-names.ts @@ -1,5 +1,7 @@ import axios from 'axios' import { useQuery } from '@tanstack/react-query' +import type { AccountNameInfo } from '../hooks/useAccountName' +import * as process from 'process' const DATA_SOURCE_URL = 'https://raw.githubusercontent.com/deltaDAO/mvg-portal/main/pontusxAddresses.json' @@ -41,3 +43,23 @@ export const usePontusXAccountNames = (enabled: boolean) => { staleTime: Infinity, }) } + +export const usePontusXAccountName = (address: string, enabled: boolean): AccountNameInfo => { + // When running jest tests, we don't want to load from Pontus-X. + if (process.env.NODE_ENV === 'test') { + return { + name: undefined, + loading: false, + } + } + // This is not a condition that can change while the app is running, so it's OK. + // eslint-disable-next-line react-hooks/rules-of-hooks + const { isLoading, error, data: allNames } = usePontusXAccountNames(enabled) + if (error) { + console.log('Failed to load Pontus-X account names', error) + } + return { + name: allNames?.map.get(address), + loading: isLoading, + } +} diff --git a/src/app/hooks/useAccountName.ts b/src/app/hooks/useAccountName.ts new file mode 100644 index 000000000..20e052bed --- /dev/null +++ b/src/app/hooks/useAccountName.ts @@ -0,0 +1,61 @@ +import { SearchScope } from '../../types/searchScope' +import Chance from 'chance' +import { Layer } from '../../oasis-nexus/api' +import { usePontusXAccountName } from '../data/pontusx-account-names' + +const NO_MATCH = '__no_match__' + +export type AccountNameInfo = { + name: string | undefined + loading: boolean +} + +/** + * Do we want to see some random names? + */ +const DEBUG_MODE = true + +/** + * Look up the name of an account. + */ +const lookupName = (scope: SearchScope, _address: string): string | undefined => { + switch (scope.layer) { + // TODO: look up the data + default: + // If debug mode is on, return mock names in ~50% of the cases, no nome otherwise + return DEBUG_MODE && Math.random() < 0.5 ? new Chance().name() : undefined + } +} + +const nameCache: Map = new Map() + +/** + * Find out the name of an account + * + * This is the entry point that should be used by the application, + * since this function also includes caching. + */ +export const useAccountName = (scope: SearchScope, address: string, dropCache = false): AccountNameInfo => { + const isPontusX = scope.layer === Layer.pontusx + + const pontusXName = usePontusXAccountName(address, isPontusX) + if (isPontusX) return pontusXName + + const key = `${scope.network}.${scope.layer}.${address}` + + if (dropCache) nameCache.delete(key) + const hasMatch = nameCache.has(key) + if (hasMatch) { + const cachedName = nameCache.get(key) + return { + name: cachedName === NO_MATCH ? undefined : cachedName, + loading: false, + } + } + const name = lookupName(scope, address) + nameCache.set(key, name ?? NO_MATCH) + return { + name, + loading: false, + } +} From 7c21f871bbde686527cbe7674658c1dbfbc0a8fe Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Fri, 23 Feb 2024 17:50:13 +0100 Subject: [PATCH 13/38] Support for searching for accounts by name --- src/app/components/Search/search-utils.ts | 5 +++ src/app/data/pontusx-account-names.ts | 29 +++++++++++++++++ src/app/hooks/useAccountName.ts | 13 +++++++- .../DeferredConsensusAccountDetails.tsx | 20 ++++++++++++ .../DeferredRuntimeAccountDetails.tsx | 27 ++++++++++++++++ .../SearchResultsPage/SearchResultsList.tsx | 31 ++++++++++++++++++ src/app/pages/SearchResultsPage/hooks.ts | 32 ++++++++++++++++++- .../useRedirectIfSingleResult.ts | 3 ++ 8 files changed, 158 insertions(+), 2 deletions(-) create mode 100644 src/app/pages/AccountDetailsPage/DeferredConsensusAccountDetails.tsx create mode 100644 src/app/pages/AccountDetailsPage/DeferredRuntimeAccountDetails.tsx diff --git a/src/app/components/Search/search-utils.ts b/src/app/components/Search/search-utils.ts index 752c2fc78..c097b1eee 100644 --- a/src/app/components/Search/search-utils.ts +++ b/src/app/components/Search/search-utils.ts @@ -112,6 +112,11 @@ export const validateAndNormalize = { return searchTerm.toLowerCase() } }, + accountNameFragment: (searchTerm: string) => { + if (searchTerm?.length >= textSearchMininumLength) { + return searchTerm.toLowerCase() + } + }, } satisfies { [name: string]: (searchTerm: string) => string | undefined } export function isSearchValid(searchTerm: string) { diff --git a/src/app/data/pontusx-account-names.ts b/src/app/data/pontusx-account-names.ts index 56f36bdfe..b5474f0c9 100644 --- a/src/app/data/pontusx-account-names.ts +++ b/src/app/data/pontusx-account-names.ts @@ -1,6 +1,9 @@ import axios from 'axios' import { useQuery } from '@tanstack/react-query' import type { AccountNameInfo } from '../hooks/useAccountName' +import { Layer } from '../../oasis-nexus/api' +import { Network } from '../../types/network' +import { findTextMatch } from '../components/HighlightedText/text-matching' import * as process from 'process' const DATA_SOURCE_URL = 'https://raw.githubusercontent.com/deltaDAO/mvg-portal/main/pontusxAddresses.json' @@ -63,3 +66,29 @@ export const usePontusXAccountName = (address: string, enabled: boolean): Accoun loading: isLoading, } } + +export const useSearchForPontusXAccountsByName = ( + network: Network, + nameFragment: string, + enabled: boolean, +) => { + const { isLoading, error, data: allNames } = usePontusXAccountNames(enabled) + if (error) { + console.log('Failed to load Pontus-X account names', error) + } + + const textMatcher = + nameFragment && enabled + ? (entry: AccountEntry): boolean => { + return !!findTextMatch(entry.name, [nameFragment]) + } + : () => false + return { + results: (allNames?.list || []).filter(textMatcher).map(entry => ({ + network, + layer: Layer.pontusx, + address: entry.address, + })), + isLoading, + } +} diff --git a/src/app/hooks/useAccountName.ts b/src/app/hooks/useAccountName.ts index 20e052bed..fe7a95ea7 100644 --- a/src/app/hooks/useAccountName.ts +++ b/src/app/hooks/useAccountName.ts @@ -1,7 +1,7 @@ import { SearchScope } from '../../types/searchScope' import Chance from 'chance' import { Layer } from '../../oasis-nexus/api' -import { usePontusXAccountName } from '../data/pontusx-account-names' +import { usePontusXAccountName, useSearchForPontusXAccountsByName } from '../data/pontusx-account-names' const NO_MATCH = '__no_match__' @@ -59,3 +59,14 @@ export const useAccountName = (scope: SearchScope, address: string, dropCache = loading: false, } } + +export const useSearchForAccountsByName = (scope: SearchScope, nameFragment = '') => { + const isValidPontusXSearch = scope.layer === Layer.pontusx && !!nameFragment + const pontusXResults = useSearchForPontusXAccountsByName(scope.network, nameFragment, isValidPontusXSearch) + return isValidPontusXSearch + ? pontusXResults + : { + isLoading: false, + results: [], + } +} diff --git a/src/app/pages/AccountDetailsPage/DeferredConsensusAccountDetails.tsx b/src/app/pages/AccountDetailsPage/DeferredConsensusAccountDetails.tsx new file mode 100644 index 000000000..b3e3ee690 --- /dev/null +++ b/src/app/pages/AccountDetailsPage/DeferredConsensusAccountDetails.tsx @@ -0,0 +1,20 @@ +import { FC } from 'react' +import { AllTokenPrices } from '../../../coin-gecko/api' +import { Network } from '../../../types/network' + +/** + * Load and display details of a RuntimeAccount + */ +export const DeferredConsensusAccountDetails: FC<{ + network: Network + address: string + tokenPrices: AllTokenPrices + showLayer?: boolean +}> = () => + // { + // network, address, tokenPrices, highlightedPartOfName, showLayer + // }, + { + // TODO: load and display consensus account details when API and component becomes available + return null + } diff --git a/src/app/pages/AccountDetailsPage/DeferredRuntimeAccountDetails.tsx b/src/app/pages/AccountDetailsPage/DeferredRuntimeAccountDetails.tsx new file mode 100644 index 000000000..e00cdd468 --- /dev/null +++ b/src/app/pages/AccountDetailsPage/DeferredRuntimeAccountDetails.tsx @@ -0,0 +1,27 @@ +import { FC } from 'react' +import { Runtime, useGetRuntimeAccountsAddress } from '../../../oasis-nexus/api' +import { AllTokenPrices } from '../../../coin-gecko/api' +import { AccountDetailsView } from './AccountDetailsView' +import { Network } from '../../../types/network' + +/** + * Load and display details of a RuntimeAccount + */ +export const DeferredRuntimeAccountDetails: FC<{ + network: Network + layer: Runtime + address: string + tokenPrices: AllTokenPrices + showLayer?: boolean +}> = ({ network, layer, address, tokenPrices, showLayer }) => { + const { data, isLoading, isError } = useGetRuntimeAccountsAddress(network, layer, address) + return ( + + ) +} diff --git a/src/app/pages/SearchResultsPage/SearchResultsList.tsx b/src/app/pages/SearchResultsPage/SearchResultsList.tsx index 366259b74..bf3eecd5d 100644 --- a/src/app/pages/SearchResultsPage/SearchResultsList.tsx +++ b/src/app/pages/SearchResultsPage/SearchResultsList.tsx @@ -7,6 +7,7 @@ import { RuntimeTransactionDetailView } from '../RuntimeTransactionDetailPage' import { AccountDetailsView } from '../AccountDetailsPage/AccountDetailsView' import { AccountResult, + AccountAddressResult, BlockResult, ContractResult, ProposalResult, @@ -21,6 +22,9 @@ import { AllTokenPrices } from '../../../coin-gecko/api' import { ResultListFrame } from './ResultListFrame' import { TokenDetails } from '../../components/Tokens/TokenDetails' import { ProposalDetailView } from '../ProposalDetailsPage' +import { DeferredRuntimeAccountDetails } from '../AccountDetailsPage/DeferredRuntimeAccountDetails' +import { Layer } from '../../../oasis-nexus/api' +import { DeferredConsensusAccountDetails } from '../AccountDetailsPage/DeferredConsensusAccountDetails' /** * Component for displaying a list of search results @@ -94,6 +98,33 @@ export const SearchResultsList: FC<{ linkLabel={t('search.results.accounts.viewLink')} /> + item.resultType === 'accountAddress', + )} + resultComponent={item => + item.layer === Layer.consensus ? ( + + ) : ( + + ) + } + link={acc => RouteUtils.getAccountRoute(acc, acc.address)} + linkLabel={t('search.results.accounts.viewLink')} + /> + item.resultType === 'contract')} diff --git a/src/app/pages/SearchResultsPage/hooks.ts b/src/app/pages/SearchResultsPage/hooks.ts index 395a96cbf..b5450202e 100644 --- a/src/app/pages/SearchResultsPage/hooks.ts +++ b/src/app/pages/SearchResultsPage/hooks.ts @@ -19,6 +19,7 @@ import { import { RouteUtils } from '../../utils/route-utils' import { SearchParams } from '../../components/Search/search-utils' import { SearchScope } from '../../../types/searchScope' +import { useSearchForAccountsByName } from '../../hooks/useAccountName' function isDefined(item: T): item is NonNullable { return item != null @@ -27,7 +28,7 @@ function isDefined(item: T): item is NonNullable { export type ConditionalResults = { isLoading: boolean; results: T[] } type SearchResultItemCore = HasScope & { - resultType: 'block' | 'transaction' | 'account' | 'contract' | 'token' | 'proposal' + resultType: 'block' | 'transaction' | 'account' | 'accountAddress' | 'contract' | 'token' | 'proposal' } export type BlockResult = SearchResultItemCore & RuntimeBlock & { resultType: 'block' } @@ -36,6 +37,10 @@ export type TransactionResult = SearchResultItemCore & RuntimeTransaction & { re export type AccountResult = SearchResultItemCore & RuntimeAccount & { resultType: 'account' } +export type AccountAddressResult = SearchResultItemCore & { address: string } & { + resultType: 'accountAddress' +} + export type ContractResult = SearchResultItemCore & RuntimeAccount & { resultType: 'contract' } export type TokenResult = SearchResultItemCore & EvmToken & { resultType: 'token' } @@ -46,6 +51,7 @@ export type SearchResultItem = | BlockResult | TransactionResult | AccountResult + | AccountAddressResult | ContractResult | TokenResult | ProposalResult @@ -193,6 +199,25 @@ export function useNetworkProposalsConditionally( } } +type AccountAddressInfo = Pick + +export function useNamedAccountConditionally( + currentScope: SearchScope | undefined, + nameFragment: string | undefined, +): ConditionalResults { + const queries = RouteUtils.getVisibleScopes(currentScope).map(scope => + // eslint-disable-next-line react-hooks/rules-of-hooks + useSearchForAccountsByName(scope, nameFragment), + ) + return { + isLoading: queries.some(query => query.isLoading), + results: queries + .map(query => query.results) + .filter(isDefined) + .flat(), + } +} + export const useSearch = (currentScope: SearchScope | undefined, q: SearchParams) => { const queries = { blockHeight: useBlocksByHeightConditionally(currentScope, q.blockHeight), @@ -201,6 +226,7 @@ export const useSearch = (currentScope: SearchScope | undefined, q: SearchParams oasisAccount: useRuntimeAccountConditionally(currentScope, q.consensusAccount), // TODO: remove evmBech32Account and use evmAccount when API is ready evmBech32Account: useRuntimeAccountConditionally(currentScope, q.evmBech32Account), + accountsByName: useNamedAccountConditionally(currentScope, q.accountNameFragment), tokens: useRuntimeTokenConditionally(currentScope, q.evmTokenNameFragment), proposals: useNetworkProposalsConditionally(q.networkProposalNameFragment), } @@ -211,6 +237,7 @@ export const useSearch = (currentScope: SearchScope | undefined, q: SearchParams ...(queries.oasisAccount.results || []), ...(queries.evmBech32Account.results || []), ].filter(isAccountNonEmpty) + const accountAddresses = queries.accountsByName.results || [] const tokens = queries.tokens.results .map(l => l.evm_tokens) .flat() @@ -228,6 +255,9 @@ export const useSearch = (currentScope: SearchScope | undefined, q: SearchParams ...accounts .filter(account => account.evm_contract) .map((account): ContractResult => ({ ...account, resultType: 'contract' })), + ...accountAddresses.map( + (account): AccountAddressResult => ({ ...account, resultType: 'accountAddress' }), + ), ...tokens.map((token): TokenResult => ({ ...token, resultType: 'token' })), ...proposals.map((proposal): ProposalResult => ({ ...proposal, resultType: 'proposal' })), ] diff --git a/src/app/pages/SearchResultsPage/useRedirectIfSingleResult.ts b/src/app/pages/SearchResultsPage/useRedirectIfSingleResult.ts index ebcb816b8..e3e704e02 100644 --- a/src/app/pages/SearchResultsPage/useRedirectIfSingleResult.ts +++ b/src/app/pages/SearchResultsPage/useRedirectIfSingleResult.ts @@ -35,6 +35,9 @@ export function useRedirectIfSingleResult( case 'account': redirectTo = RouteUtils.getAccountRoute(item, item.address_eth ?? item.address) break + case 'accountAddress': + redirectTo = `${RouteUtils.getAccountRoute(item, item.address)}?q=${searchTerm}` + break case 'contract': redirectTo = RouteUtils.getAccountRoute(item, item.address_eth ?? item.address) break From 898e8031f3951e3ad3d93e27c7bfbac292eaf78d Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Sun, 11 Feb 2024 19:05:11 +0100 Subject: [PATCH 14/38] Implement highlighting matches in account names --- .changelog/1246.feature.md | 1 + src/app/components/Account/AccountLink.tsx | 17 ++++++++++++++--- src/app/components/Account/index.tsx | 12 ++++++++++-- .../AccountDetailsPage/AccountDetailsCard.tsx | 3 +++ .../AccountDetailsPage/AccountDetailsView.tsx | 4 +++- .../DeferredConsensusAccountDetails.tsx | 1 + .../DeferredRuntimeAccountDetails.tsx | 4 +++- src/app/pages/AccountDetailsPage/index.tsx | 3 ++- .../SearchResultsPage/SearchResultsList.tsx | 2 ++ 9 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 .changelog/1246.feature.md diff --git a/.changelog/1246.feature.md b/.changelog/1246.feature.md new file mode 100644 index 000000000..fba6defd8 --- /dev/null +++ b/.changelog/1246.feature.md @@ -0,0 +1 @@ +Initial support for displaying account names diff --git a/src/app/components/Account/AccountLink.tsx b/src/app/components/Account/AccountLink.tsx index f1f1ab53b..abdaa10d0 100644 --- a/src/app/components/Account/AccountLink.tsx +++ b/src/app/components/Account/AccountLink.tsx @@ -11,6 +11,8 @@ import { useAccountName } from '../../hooks/useAccountName' import { trimLongString } from '../../utils/trimLongString' import { MaybeWithTooltip } from '../AdaptiveTrimmer/MaybeWithTooltip' import Box from '@mui/material/Box' +import { HighlightedText } from '../HighlightedText' +import { AdaptiveHighlightedText } from '../HighlightedText/AdaptiveHighlightedText' import { AdaptiveTrimmer } from '../AdaptiveTrimmer/AdaptiveTrimmer' const WithTypographyAndLink: FC<{ @@ -60,13 +62,18 @@ export const AccountLink: FC<{ */ plain?: boolean + /** + * What part of the name should be highlighted (if any) + */ + highlightedPartOfName?: string | undefined + /** * Any extra tooltips to display * * (Besides the content necessary because of potential shortening) */ extraTooltip?: ReactNode -}> = ({ scope, address, alwaysTrim, plain, extraTooltip }) => { +}> = ({ scope, address, alwaysTrim, plain, highlightedPartOfName, extraTooltip }) => { const { isTablet } = useScreenSize() const { name: accountName } = useAccountName(scope, address) const to = RouteUtils.getAccountRoute(scope, address) @@ -112,7 +119,7 @@ export const AccountLink: FC<{ {accountName ? ( - {accountName} ({address}) + ({address}) ) : ( address @@ -128,7 +135,11 @@ export const AccountLink: FC<{ return ( <> - + diff --git a/src/app/components/Account/index.tsx b/src/app/components/Account/index.tsx index 71bca39d4..f614ea69e 100644 --- a/src/app/components/Account/index.tsx +++ b/src/app/components/Account/index.tsx @@ -30,9 +30,17 @@ type AccountProps = { isLoading: boolean tokenPrices: AllTokenPrices showLayer?: boolean + highlightedPartOfName: string | undefined } -export const Account: FC = ({ account, token, isLoading, tokenPrices, showLayer }) => { +export const Account: FC = ({ + account, + token, + isLoading, + tokenPrices, + showLayer, + highlightedPartOfName, +}) => { const { t } = useTranslation() const { isMobile } = useScreenSize() const address = account ? account.address_eth ?? account.address : undefined @@ -67,7 +75,7 @@ export const Account: FC = ({ account, token, isLoading, tokenPric
- +
diff --git a/src/app/pages/AccountDetailsPage/AccountDetailsCard.tsx b/src/app/pages/AccountDetailsPage/AccountDetailsCard.tsx index 23bfe2975..6f81242fe 100644 --- a/src/app/pages/AccountDetailsPage/AccountDetailsCard.tsx +++ b/src/app/pages/AccountDetailsPage/AccountDetailsCard.tsx @@ -12,6 +12,7 @@ type AccountDetailsProps = { account: RuntimeAccount | undefined token: EvmToken | undefined tokenPrices: AllTokenPrices + highlightedPartOfName?: string | undefined } export const AccountDetailsCard: FC = ({ @@ -21,6 +22,7 @@ export const AccountDetailsCard: FC = ({ account, token, tokenPrices, + highlightedPartOfName, }) => { const { t } = useTranslation() return ( @@ -35,6 +37,7 @@ export const AccountDetailsCard: FC = ({ account={account} token={token} tokenPrices={tokenPrices} + highlightedPartOfName={highlightedPartOfName} /> ) diff --git a/src/app/pages/AccountDetailsPage/AccountDetailsView.tsx b/src/app/pages/AccountDetailsPage/AccountDetailsView.tsx index 0c9f70225..4e94e2a4d 100644 --- a/src/app/pages/AccountDetailsPage/AccountDetailsView.tsx +++ b/src/app/pages/AccountDetailsPage/AccountDetailsView.tsx @@ -12,7 +12,8 @@ export const AccountDetailsView: FC<{ token?: EvmToken tokenPrices: AllTokenPrices showLayer?: boolean -}> = ({ isLoading, isError, account, token, tokenPrices, showLayer }) => { + highlightedPartOfName?: string | undefined +}> = ({ isLoading, isError, account, token, tokenPrices, showLayer, highlightedPartOfName }) => { const { t } = useTranslation() return isError ? ( @@ -23,6 +24,7 @@ export const AccountDetailsView: FC<{ isLoading={isLoading} tokenPrices={tokenPrices} showLayer={showLayer} + highlightedPartOfName={highlightedPartOfName} /> ) } diff --git a/src/app/pages/AccountDetailsPage/DeferredConsensusAccountDetails.tsx b/src/app/pages/AccountDetailsPage/DeferredConsensusAccountDetails.tsx index b3e3ee690..5720b4ecd 100644 --- a/src/app/pages/AccountDetailsPage/DeferredConsensusAccountDetails.tsx +++ b/src/app/pages/AccountDetailsPage/DeferredConsensusAccountDetails.tsx @@ -9,6 +9,7 @@ export const DeferredConsensusAccountDetails: FC<{ network: Network address: string tokenPrices: AllTokenPrices + highlightedPartOfName: string | undefined showLayer?: boolean }> = () => // { diff --git a/src/app/pages/AccountDetailsPage/DeferredRuntimeAccountDetails.tsx b/src/app/pages/AccountDetailsPage/DeferredRuntimeAccountDetails.tsx index e00cdd468..882f742cc 100644 --- a/src/app/pages/AccountDetailsPage/DeferredRuntimeAccountDetails.tsx +++ b/src/app/pages/AccountDetailsPage/DeferredRuntimeAccountDetails.tsx @@ -12,8 +12,9 @@ export const DeferredRuntimeAccountDetails: FC<{ layer: Runtime address: string tokenPrices: AllTokenPrices + highlightedPartOfName: string | undefined showLayer?: boolean -}> = ({ network, layer, address, tokenPrices, showLayer }) => { +}> = ({ network, layer, address, tokenPrices, highlightedPartOfName, showLayer }) => { const { data, isLoading, isError } = useGetRuntimeAccountsAddress(network, layer, address) return ( ) } diff --git a/src/app/pages/AccountDetailsPage/index.tsx b/src/app/pages/AccountDetailsPage/index.tsx index 41dbb7e93..2c9c5810e 100644 --- a/src/app/pages/AccountDetailsPage/index.tsx +++ b/src/app/pages/AccountDetailsPage/index.tsx @@ -32,7 +32,7 @@ export const AccountDetailsPage: FC = () => { const { t } = useTranslation() const scope = useRequiredScopeParam() - const { address } = useLoaderData() as AddressLoaderData + const { address, searchTerm } = useLoaderData() as AddressLoaderData const { account, isLoading: isAccountLoading, isError } = useAccount(scope, address) const isContract = !!account?.evm_contract const { token, isLoading: isTokenLoading } = useTokenInfo(scope, address, isContract) @@ -62,6 +62,7 @@ export const AccountDetailsPage: FC = () => { account={account} token={token} tokenPrices={tokenPrices} + highlightedPartOfName={searchTerm} /> ) : ( @@ -117,6 +118,7 @@ export const SearchResultsList: FC<{ layer={item.layer} address={item.address} tokenPrices={tokenPrices} + highlightedPartOfName={searchTerm} showLayer={true} /> ) From 14faeff919b9890e3884447a28fa7d8c296b332e Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Sun, 11 Feb 2024 19:46:46 +0100 Subject: [PATCH 15/38] Apply configuration and branding for Pontus-X Explorer --- .env | 38 ++++++++++----------- .env.production | 38 ++++++++++----------- public/pontusx-og-image.jpg | Bin 0 -> 76898 bytes public/pontusx.webmanifest | 26 ++++++++++++++ public/pontusx/apple-touch.png | Bin 0 -> 18983 bytes public/pontusx/favicon-16x16.png | Bin 0 -> 638 bytes public/pontusx/favicon-32x32.png | Bin 0 -> 1692 bytes public/pontusx/favicon.ico | Bin 0 -> 15406 bytes public/pontusx/logo192.png | Bin 0 -> 14428 bytes public/pontusx/logo512.png | Bin 0 -> 39759 bytes public/pontusx/logo_blue.svg | 1 + public/pontusx/logo_only_blue.svg | 15 ++++++++ public/pontusx/logo_only_white.svg | 15 ++++++++ public/pontusx/logo_white.svg | 1 + src/app/components/CustomIcons/pontusx.svg | 7 ++++ src/app/components/PageLayout/Logotype.tsx | 4 +-- 16 files changed, 105 insertions(+), 40 deletions(-) create mode 100644 public/pontusx-og-image.jpg create mode 100644 public/pontusx.webmanifest create mode 100644 public/pontusx/apple-touch.png create mode 100644 public/pontusx/favicon-16x16.png create mode 100644 public/pontusx/favicon-32x32.png create mode 100644 public/pontusx/favicon.ico create mode 100644 public/pontusx/logo192.png create mode 100644 public/pontusx/logo512.png create mode 100644 public/pontusx/logo_blue.svg create mode 100644 public/pontusx/logo_only_blue.svg create mode 100644 public/pontusx/logo_only_white.svg create mode 100644 public/pontusx/logo_white.svg create mode 100644 src/app/components/CustomIcons/pontusx.svg diff --git a/.env b/.env index fe601435e..bd657b668 100644 --- a/.env +++ b/.env @@ -6,23 +6,23 @@ REACT_APP_BUILD_VERSION= # REACT_APP_TESTNET_API=https://testnet.nexus.stg.oasis.io/v1/ REACT_APP_API=https://nexus.oasis.io/v1/ REACT_APP_TESTNET_API=https://testnet.nexus.oasis.io/v1/ -REACT_APP_META_TITLE=Oasis Explorer -REACT_APP_META_IMAGE=oasis-og-image.jpg -REACT_APP_META_MANIFEST=app.webmanifest -REACT_APP_META_FAVICON=favicon.ico -REACT_APP_META_APPLE_ICON=logo192.png -REACT_APP_META_DESC=Official explorer for the Oasis Network. -REACT_APP_SOCIAL_TELEGRAM=https://t.me/oasisprotocolcommunity -REACT_APP_SOCIAL_TWITTER=https://twitter.com/oasisprotocol -REACT_APP_SOCIAL_DISCORD=https://oasis.io/discord -REACT_APP_SOCIAL_YOUTUBE=https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ -REACT_APP_SOCIAL_REDDIT=https://www.reddit.com/r/oasisnetwork/ -# REACT_APP_SOCIAL_LINKEDIN=https://www.linkedin.com/company/oasisprotocol -# REACT_APP_SOCIAL_DOCS=https://oasisprotocol.org/developers#overview -# REACT_APP_SOCIAL_HOME=https://oasisprotocol.org/ -REACT_APP_PRODUCTION_URLS=https://explorer.oasis.io, https://explorer.prd.oasis.io -REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io -REACT_APP_SHOW_BUILD_BANNERS=true +REACT_APP_META_TITLE=Pontus-X Explorer +REACT_APP_META_IMAGE=pontusx-og-image.jpg +REACT_APP_META_MANIFEST=pontusx.webmanifest +REACT_APP_META_FAVICON=pontusx/favicon.ico +REACT_APP_META_APPLE_ICON=pontusx/logo192.png +REACT_APP_META_DESC=Official explorer for the Pontus-X Network. +# REACT_APP_SOCIAL_TELEGRAM=https://t.me/oasisprotocolcommunity +# REACT_APP_SOCIAL_TWITTER=https://twitter.com/oasisprotocol +# REACT_APP_SOCIAL_DISCORD=https://oasis.io/discord +# REACT_APP_SOCIAL_YOUTUBE=https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ +# REACT_APP_SOCIAL_REDDIT=https://www.reddit.com/r/oasisnetwork/ +REACT_APP_SOCIAL_LINKEDIN=https://www.linkedin.com/company/76729586 +REACT_APP_SOCIAL_DOCS=https://docs.pontus-x.eu/ +REACT_APP_SOCIAL_HOME=https://www.pontus-x.eu/ +#REACT_APP_PRODUCTION_URLS=https://explorer.oasis.io, https://explorer.prd.oasis.io +#REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io +REACT_APP_SHOW_BUILD_BANNERS=false # REACT_APP_FIXED_NETWORK=testnet -# REACT_APP_FIXED_LAYER=sapphire -REACT_APP_SHOW_FIAT_VALUES=true +REACT_APP_FIXED_LAYER=pontusx +REACT_APP_SHOW_FIAT_VALUES=false diff --git a/.env.production b/.env.production index 160a2da18..1a635e908 100644 --- a/.env.production +++ b/.env.production @@ -1,23 +1,23 @@ REACT_APP_BUILD_DATETIME= REACT_APP_BUILD_SHA= REACT_APP_BUILD_VERSION= -REACT_APP_META_TITLE=Oasis Explorer -REACT_APP_META_IMAGE=oasis-og-image.jpg -REACT_APP_META_MANIFEST=app.webmanifest -REACT_APP_META_FAVICON=favicon.ico -REACT_APP_META_APPLE_ICON=logo192.png -REACT_APP_META_DESC=Official explorer for the Oasis Network. -REACT_APP_SOCIAL_TELEGRAM=https://t.me/oasisprotocolcommunity -REACT_APP_SOCIAL_TWITTER=https://twitter.com/oasisprotocol -REACT_APP_SOCIAL_DISCORD=https://oasis.io/discord -REACT_APP_SOCIAL_YOUTUBE=https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ -REACT_APP_SOCIAL_REDDIT=https://www.reddit.com/r/oasisnetwork/ -# REACT_APP_SOCIAL_LINKEDIN=https://www.linkedin.com/company/oasisprotocol -# REACT_APP_SOCIAL_DOCS=https://oasisprotocol.org/developers#overview -# REACT_APP_SOCIAL_HOME=https://oasisprotocol.org/ -REACT_APP_PRODUCTION_URLS=https://explorer.oasis.io, https://explorer.prd.oasis.io -REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io -REACT_APP_SHOW_BUILD_BANNERS=true +REACT_APP_META_TITLE=Pontus-X Explorer +REACT_APP_META_IMAGE=pontusx-og-image.jpg +REACT_APP_META_MANIFEST=pontusx.webmanifest +REACT_APP_META_FAVICON=pontusx/favicon.ico +REACT_APP_META_APPLE_ICON=pontusx/logo192.png +REACT_APP_META_DESC=Official explorer for the Pontus-X Network. +# REACT_APP_SOCIAL_TELEGRAM=https://t.me/oasisprotocolcommunity +# REACT_APP_SOCIAL_TWITTER=https://twitter.com/oasisprotocol +# REACT_APP_SOCIAL_DISCORD=https://oasis.io/discord +# REACT_APP_SOCIAL_YOUTUBE=https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ +# REACT_APP_SOCIAL_REDDIT=https://www.reddit.com/r/oasisnetwork/ +REACT_APP_SOCIAL_LINKEDIN=https://www.linkedin.com/company/76729586 +REACT_APP_SOCIAL_DOCS=https://docs.pontus-x.eu/ +REACT_APP_SOCIAL_HOME=https://www.pontus-x.eu/ +# REACT_APP_PRODUCTION_URLS=https://explorer.oasis.io, https://explorer.prd.oasis.io +# REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io +REACT_APP_SHOW_BUILD_BANNERS=false # REACT_APP_FIXED_NETWORK=testnet -# REACT_APP_FIXED_LAYER=sapphire -REACT_APP_SHOW_FIAT_VALUES=true +REACT_APP_FIXED_LAYER=pontusx +REACT_APP_SHOW_FIAT_VALUES=false diff --git a/public/pontusx-og-image.jpg b/public/pontusx-og-image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3eebcb95f3b9e6824a990080a802fde282d3009f GIT binary patch literal 76898 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

=sEB1I!5-Fe+x|M&!Zb}JVXcE*%8GBg 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 AGZ%U(bzLPUuAcbn0wg&|X{ZG6`3X!=Bm6Ldk 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 literal 0 HcmV?d00001 diff --git a/public/pontusx.webmanifest b/public/pontusx.webmanifest new file mode 100644 index 000000000..b8812a83e --- /dev/null +++ b/public/pontusx.webmanifest @@ -0,0 +1,26 @@ +{ + "$schema": "https://json.schemastore.org/web-manifest-combined.json", + "short_name": "Pontus-X Explorer", + "name": "Official explorer for the Pontus-X Network.", + "icons": [ + { + "src": "./pontusx/favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "./pontusx/logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "./pontusx/logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/pontusx/apple-touch.png b/public/pontusx/apple-touch.png new file mode 100644 index 0000000000000000000000000000000000000000..aa467c6b310d8051e2de75281ab7b38fa717829f GIT binary patch literal 18983 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 Y-?RMG5g>F|8UO$Q07*qoM6N<$f-r?H6aWAK literal 0 HcmV?d00001 diff --git a/public/pontusx/favicon-32x32.png b/public/pontusx/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..879e4a58e11799d927d4af541aaf9d89a82f8968 GIT binary patch literal 1692 zcmV;N24ne&P)0}bpk~4`GO-6>dNFUjmATb7fbjW$Ttr}w^%B|Goml1j{Q>D1 zK>zXG)Fm+;=6hf?L-M~UYHPNj?MpB{m-Q!@|5G#$(EN1HPnOjhzE^O51n+Oko0F8V zH*=>TFLk??&(7`(sAB->x|n1i<%caq}oh_0*z*GGXQoX_zVc2 zQ&Ynvr8C#Fo&oLi^2{2}9xDkQ&-s((0jSPY;_JrH+}2K4JU&yt9WMpd>>Z3orvVJ` z_B}pWNrS^+G+`XLcz9L0>|&)3xC0uLQI_-b0RLfm0BR>4FXdBcnZWmpxcn$qY>}5( z2?NebkI^&*CXN;EYGZ8I%G*^XzXGdym&!NJB2vuTsiwJKmjl3H#&r;$3i_!k?0HJD z0~^tFmV(?{?LnBe(72#Hy~Ox472=hO<(+#jQ#LkKN&hx1b1O=$!2$#K51?rN6(#>K zN4q)t-FshM0$dWzQQ!k2z6uxgY0u1TP&TMkl1y>Jf6ot7MZA_cxE4Bs7DxI1Ia;ys zgXq1#24On$1O($C&*0BZ^6YBNe6^D1MHK*HG+REd@N#V+tTrl^t5lF2$=xxb@UC&9 z-%KNRPDP&<|;qx01cCX`50${P`4Coy%)~2VL=NDzP5wS{N)t#(+hSjjr z#Yf=bQYiXRbW|r(SSBUt1H!DqAy}#;Jh&c9-S-#X3TweNC5bPSQ5iKY+OZFSNb#{+ zhTj%KFeoB@Dd?x7#BgE)bLZa%@JF2I(Y&7$1?RGPfPNVekMg~slp%Zq0?)e~+6zN| z)=nW7plLM|tE#$FV6Y0q9abW8X1k#cfZc+|-P!w6ySz$O1g4U_0N^b^o){5MyOz_|1*TK~sA#wBAPwuu0*I`=8yLM{I-!L8bC_3R-Vvd2 zmug*-#EAV#{_Z6dD+gkxviTO2aCM|_Q6APY_LndvWq&~U(GhSROhh%A#q7G~Ge~*6 zjc%}si<_8y2J;=onJY3wTk|{|NGP`sL>v$<;H-HAFqCc6mpXDRNqhq9*ExHfG_3n) z0B+2Z*8=k02z#3E;WU=XN+wA)jnJ;b`K`kData%fcOCJ_9DqCIf>Eynf{q$CD-_a! zd}&DS$G48!F}Iet}2%oCA0|gE@ z8#z55;p-6IZ{K?z&jZ!<{pFG0zTTmWQIdn9%EgB(8Rq%@txT+)MdlcoPi_N2*;e62 zIS>IRkL8w8+|EIvt!kR@(ze~xF@Va6eH8axL?tg|b z7XUVt^LP2i0ChI+YiiyxR_X4HWENnq1)Ch_q$iIt^#E}FpbQHPnb1o?>=h_~RV;q3 z3I%3Af=K!bU(bcvMF{+YYPlXE?9=gF#JjOf*15yA>ObVi&cv1T$OIpYT&m?yZZ8kO zzEsr{PovXKM|cgwqi%a2QjhnnNL-K+rWya=p_T?W*!<&D-dMhuMb(58Y00hxy8**R z^xjx-bKu7SByN}+S{gR*Pw?LJe+MASwI)-ITbjeIzzk5!{CCS08l~$z0LLX=?~0R8 mdbxP%)brl}bV_9VOMe2GtzN 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 TD!R~fX8?I=C8=5olaT)bEe`_Q literal 0 HcmV?d00001 diff --git a/public/pontusx/logo512.png b/public/pontusx/logo512.png new file mode 100644 index 0000000000000000000000000000000000000000..88006d2a7df6bf78c3d3271527856f94cf673211 GIT binary patch literal 39759 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 literal 0 HcmV?d00001 diff --git a/public/pontusx/logo_blue.svg b/public/pontusx/logo_blue.svg new file mode 100644 index 000000000..986b51129 --- /dev/null +++ b/public/pontusx/logo_blue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/pontusx/logo_only_blue.svg b/public/pontusx/logo_only_blue.svg new file mode 100644 index 000000000..873ccc556 --- /dev/null +++ b/public/pontusx/logo_only_blue.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/public/pontusx/logo_only_white.svg b/public/pontusx/logo_only_white.svg new file mode 100644 index 000000000..e5d7441ad --- /dev/null +++ b/public/pontusx/logo_only_white.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/public/pontusx/logo_white.svg b/public/pontusx/logo_white.svg new file mode 100644 index 000000000..83e28864b --- /dev/null +++ b/public/pontusx/logo_white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/components/CustomIcons/pontusx.svg b/src/app/components/CustomIcons/pontusx.svg new file mode 100644 index 000000000..063e9756d --- /dev/null +++ b/src/app/components/CustomIcons/pontusx.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/app/components/PageLayout/Logotype.tsx b/src/app/components/PageLayout/Logotype.tsx index 1745e8b0a..e8726fdce 100644 --- a/src/app/components/PageLayout/Logotype.tsx +++ b/src/app/components/PageLayout/Logotype.tsx @@ -4,7 +4,7 @@ import { useScreenSize } from '../../hooks/useScreensize' import { useTheme } from '@mui/material/styles' import Box from '@mui/material/Box' import { Link as RouterLink } from 'react-router-dom' -import { OasisIcon } from '../CustomIcons/OasisIcon' +import pontusXIcon from '../CustomIcons/pontusx.svg' import Typography from '@mui/material/Typography' import { getAppTitle } from '../../../config' @@ -36,7 +36,7 @@ export const Logotype: FC = ({ color, showText }) => { color: color || theme.palette.layout.main, }} > - + Pontus-X logo {showText && ( {getAppTitle()} From 3deb6148d3a9828d33e1d2bca9a03e49330f9257 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Tue, 13 Feb 2024 20:16:44 +0100 Subject: [PATCH 16/38] Adjust Pontus-X dashboard - Hide the Tokens card - Tune TX list size --- .../ParatimeDashboardPage/LatestRuntimeTransactions.tsx | 3 +-- src/app/pages/ParatimeDashboardPage/index.tsx | 5 ++++- src/config.ts | 3 +++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/app/pages/ParatimeDashboardPage/LatestRuntimeTransactions.tsx b/src/app/pages/ParatimeDashboardPage/LatestRuntimeTransactions.tsx index 74592c188..1d21d04b7 100644 --- a/src/app/pages/ParatimeDashboardPage/LatestRuntimeTransactions.tsx +++ b/src/app/pages/ParatimeDashboardPage/LatestRuntimeTransactions.tsx @@ -7,14 +7,13 @@ import { Link as RouterLink } from 'react-router-dom' import Link from '@mui/material/Link' import { Layer, useGetRuntimeTransactions } from '../../../oasis-nexus/api' import { RuntimeTransactions } from '../../components/Transactions' -import { NUMBER_OF_ITEMS_ON_DASHBOARD } from '../../config' import { COLORS } from '../../../styles/theme/colors' import { AppErrors } from '../../../types/errors' import { RouteUtils } from '../../utils/route-utils' import { useScreenSize } from '../../hooks/useScreensize' import { SearchScope } from '../../../types/searchScope' -const limit = NUMBER_OF_ITEMS_ON_DASHBOARD +const limit = 15 // NUMBER_OF_ITEMS_ON_DASHBOARD export const LatestRuntimeTransactions: FC<{ scope: SearchScope }> = ({ scope }) => { const { isTablet } = useScreenSize() diff --git a/src/app/pages/ParatimeDashboardPage/index.tsx b/src/app/pages/ParatimeDashboardPage/index.tsx index 53c73a6eb..a00a925cf 100644 --- a/src/app/pages/ParatimeDashboardPage/index.tsx +++ b/src/app/pages/ParatimeDashboardPage/index.tsx @@ -12,11 +12,14 @@ import { PageLayout } from '../../components/PageLayout' import { ParaTimeSnapshot } from './ParaTimeSnapshot' import { TopTokens } from './TopTokens' import { useRequiredScopeParam } from '../../hooks/useScopeParam' +import { paraTimesConfig } from '../../../config' export const ParatimeDashboardPage: FC = () => { const { isMobile } = useScreenSize() const scope = useRequiredScopeParam() + const { hideTokensFromDashboard } = paraTimesConfig[scope.layer]! + return ( @@ -35,7 +38,7 @@ export const ParatimeDashboardPage: FC = () => { )} - {!isMobile && } + {!hideTokensFromDashboard && !isMobile && } diff --git a/src/config.ts b/src/config.ts index b87fc4a5f..89d827b21 100644 --- a/src/config.ts +++ b/src/config.ts @@ -38,6 +38,8 @@ type LayerConfig = { * Specified in milliseconds. */ outOfDateThreshold: number + + hideTokensFromDashboard?: boolean } export enum RuntimeTypes { @@ -148,6 +150,7 @@ const pontusxConfig: LayerConfig = { decimals: 18, type: RuntimeTypes.Evm, outOfDateThreshold: 2 * 60 * 1000, + hideTokensFromDashboard: true, } type LayersConfig = { From 89a040f11cd9fa618a99b5f4661f5f85679e724b Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Tue, 13 Feb 2024 20:18:32 +0100 Subject: [PATCH 17/38] Update i18n texts - Update messaging about getting test tokens - Update messaging about social links --- src/locales/en/translation.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 204d6e604..a4bf89c23 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -299,7 +299,7 @@ "last": "Last" }, "social": { - "description": "Be part of the community and stay in the loop on everything Oasis", + "description": "Learn more about Pontus-X and the team behind it", "discord": "Discord", "header": "Join us", "reddit": "Reddit", @@ -314,8 +314,8 @@ "changeView": "Change view" }, "testnetFaucet": { - "description": "Drops are limited to 10 TEST tokens", - "header": "Oasis Testnet Faucet", + "description": "Do you need some tokens for testing?", + "header": "Test tokens", "request": "Request test tokens" }, "tokens": { From 1a52fca371cdcba7574e7f7397f4627e83b472fc Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Wed, 28 Feb 2024 19:28:46 +0100 Subject: [PATCH 18/38] Add support for displaying privacy policy when required --- .env | 1 + .env.production | 1 + src/app/components/PageLayout/Footer.tsx | 9 +++++++++ src/app/pages/PrivacyPage/index.tsx | 17 +++++++++++++++++ src/config.ts | 2 ++ src/locales/en/translation.json | 3 +++ src/routes.tsx | 10 ++++++++++ src/types/global.d.ts | 1 + 8 files changed, 44 insertions(+) create mode 100644 src/app/pages/PrivacyPage/index.tsx diff --git a/.env b/.env index bd657b668..25501db65 100644 --- a/.env +++ b/.env @@ -26,3 +26,4 @@ REACT_APP_SHOW_BUILD_BANNERS=false # REACT_APP_FIXED_NETWORK=testnet REACT_APP_FIXED_LAYER=pontusx REACT_APP_SHOW_FIAT_VALUES=false +# REACT_APP_SHOW_PRIVACY_POLICY=true diff --git a/.env.production b/.env.production index 1a635e908..c85348bc7 100644 --- a/.env.production +++ b/.env.production @@ -21,3 +21,4 @@ REACT_APP_SHOW_BUILD_BANNERS=false # REACT_APP_FIXED_NETWORK=testnet REACT_APP_FIXED_LAYER=pontusx REACT_APP_SHOW_FIAT_VALUES=false +# REACT_APP_SHOW_PRIVACY_POLICY=true diff --git a/src/app/components/PageLayout/Footer.tsx b/src/app/components/PageLayout/Footer.tsx index 5c5d3db3d..b89adacf5 100644 --- a/src/app/components/PageLayout/Footer.tsx +++ b/src/app/components/PageLayout/Footer.tsx @@ -4,12 +4,14 @@ import Box from '@mui/material/Box' import Typography from '@mui/material/Typography' import { useScreenSize } from '../../hooks/useScreensize' import { styled } from '@mui/material/styles' +import { Link as RouterLink } from 'react-router-dom' import Link from '@mui/material/Link' import { useTheme } from '@mui/material/styles' import { useConstant } from '../../hooks/useConstant' import { AppendMobileSearch } from '../AppendMobileSearch' import { SearchScope } from '../../../types/searchScope' import { api, github } from '../../utils/externalLinks' +import { showPrivacyPolicy } from '../../../config' const FooterBox = styled(Box)(({ theme }) => ({ display: 'flex', @@ -128,6 +130,13 @@ export const Footer: FC = ({ scope, mobileSearchAction }) => { + {showPrivacyPolicy && ( + + + {t('privacyPolicy.title')} + + + )} {isTablet ? t('footer.mobileTitle') : t('footer.title')} | {currentYear} diff --git a/src/app/pages/PrivacyPage/index.tsx b/src/app/pages/PrivacyPage/index.tsx new file mode 100644 index 000000000..e9c612fc6 --- /dev/null +++ b/src/app/pages/PrivacyPage/index.tsx @@ -0,0 +1,17 @@ +import React, { FC } from 'react' +import { useTranslation } from 'react-i18next' + +import { PageLayout } from '../../components/PageLayout' +import { SubPageCard } from '../../components/SubPageCard' + +export const PrivacyPage: FC = () => { + const { t } = useTranslation() + + return ( + + + {t('common.missing')} + + + ) +} diff --git a/src/config.ts b/src/config.ts index 89d827b21..ec54605cb 100644 --- a/src/config.ts +++ b/src/config.ts @@ -201,3 +201,5 @@ export const getFiatCurrencyForScope = (scope: SearchScope | undefined) => (scope ? paraTimesConfig[scope.layer]?.[scope.network]?.fiatCurrency : undefined) ?? 'usd' export const showFiatValues = process.env.REACT_APP_SHOW_FIAT_VALUES === 'true' + +export const showPrivacyPolicy = process.env.REACT_APP_SHOW_PRIVACY_POLICY === 'true' diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index a4bf89c23..4f664d28c 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -530,6 +530,9 @@ "noData": "No data available", "nodes": "Nodes:" }, + "privacyPolicy": { + "title": "Privacy Policy" + }, "search": { "placeholder": "Address, Block, Contract, Transaction hash, Token name, etc.", "error": { diff --git a/src/routes.tsx b/src/routes.tsx index 8021b6bb4..de2fc197c 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -47,6 +47,8 @@ import { ConsensusAccountsPage } from './app/pages/ConsensusAccountsPage' import { ConsensusTransactionsPage } from './app/pages/ConsensusTransactionsPage' import { ConsensusAccountDetailsPage } from './app/pages/ConsensusAccountDetailsPage' import { FC, useEffect } from 'react' +import { PrivacyPage } from './app/pages/PrivacyPage' +import { showPrivacyPolicy } from './config' const NetworkSpecificPart = () => ( @@ -264,6 +266,14 @@ export const routes: RouteObject[] = [ }, ], }, + ...(showPrivacyPolicy + ? [ + { + path: '/privacy', + element: withDefaultTheme(), + }, + ] + : []), ], }, ] diff --git a/src/types/global.d.ts b/src/types/global.d.ts index cac3fc202..697768d7c 100644 --- a/src/types/global.d.ts +++ b/src/types/global.d.ts @@ -26,6 +26,7 @@ declare global { REACT_APP_FIXED_NETWORK?: string REACT_APP_FIXED_LAYER?: string REACT_APP_SHOW_FIAT_VALUES?: string + REACT_APP_SHOW_PRIVACY_POLICY?: string } } } From d184612b4ce61fc8c24d93b7ddebf309e71e5eb1 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Wed, 28 Feb 2024 12:55:32 +0100 Subject: [PATCH 19/38] Add PontusX Privacy Policy --- .env | 2 +- .env.production | 2 +- package.json | 2 + src/app/pages/PrivacyPage/index.tsx | 4 +- src/docs/pontusx_privacy_2024.mdx | 138 ++++++ yarn.lock | 642 ++++++++++++++++++++++++++-- 6 files changed, 751 insertions(+), 39 deletions(-) create mode 100644 src/docs/pontusx_privacy_2024.mdx diff --git a/.env b/.env index 25501db65..955c28894 100644 --- a/.env +++ b/.env @@ -26,4 +26,4 @@ REACT_APP_SHOW_BUILD_BANNERS=false # REACT_APP_FIXED_NETWORK=testnet REACT_APP_FIXED_LAYER=pontusx REACT_APP_SHOW_FIAT_VALUES=false -# REACT_APP_SHOW_PRIVACY_POLICY=true +REACT_APP_SHOW_PRIVACY_POLICY=true diff --git a/.env.production b/.env.production index c85348bc7..596fcd2d9 100644 --- a/.env.production +++ b/.env.production @@ -21,4 +21,4 @@ REACT_APP_SHOW_BUILD_BANNERS=false # REACT_APP_FIXED_NETWORK=testnet REACT_APP_FIXED_LAYER=pontusx REACT_APP_SHOW_FIAT_VALUES=false -# REACT_APP_SHOW_PRIVACY_POLICY=true +REACT_APP_SHOW_PRIVACY_POLICY=true diff --git a/package.json b/package.json index 9a848f939..7290c0aba 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,9 @@ }, "devDependencies": { "@emotion/jest": "11.11.0", + "@mdx-js/react": "^1.6.22", "@parcel/packager-raw-url": "2.11.0", + "@parcel/transformer-mdx": "2.11.0", "@parcel/transformer-webmanifest": "2.11.0", "@plasmohq/parcel-transformer-inject-env": "^0.2.11", "@storybook/addon-actions": "7.6.17", diff --git a/src/app/pages/PrivacyPage/index.tsx b/src/app/pages/PrivacyPage/index.tsx index e9c612fc6..702e060c8 100644 --- a/src/app/pages/PrivacyPage/index.tsx +++ b/src/app/pages/PrivacyPage/index.tsx @@ -4,13 +4,15 @@ import { useTranslation } from 'react-i18next' import { PageLayout } from '../../components/PageLayout' import { SubPageCard } from '../../components/SubPageCard' +import Policy from '../../../docs/pontusx_privacy_2024.mdx' + export const PrivacyPage: FC = () => { const { t } = useTranslation() return ( - {t('common.missing')} + ) diff --git a/src/docs/pontusx_privacy_2024.mdx b/src/docs/pontusx_privacy_2024.mdx new file mode 100644 index 000000000..c8452b1b2 --- /dev/null +++ b/src/docs/pontusx_privacy_2024.mdx @@ -0,0 +1,138 @@ +This privacy policy informs you about how deltaDAO AG (in the following deltaDAO, we, us, our) processes your personal data when you visit our Pontus-X Blockchain Explorer (in the following explorer) and when you contact us. Moreover, this privacy policy informs you about your rights. + +_Last updated on February 23, 2024._ + +# 1. Contact details of the controller and Data Protection Officer + +The controller pursuant to the EU General Data Protection Regulation ("GDPR") for the processing of your personal data is: + +deltaDAO AG +Katharinenstraße 30a +20457 Hamburg +Germany +E-mail: contact@delta-dao.com + +If you have any questions about the protection of your personal data at deltaDAO, please contact our Data Protection Officer: + +Data Protection Officer +deltaDAO AG +Katharinenstraße 30a +20457 Hamburg +Germany +E-mail: privacy@delta-dao.com + +# 2. What's personal data? + +Personal data is any information that can be (directly or indirectly) related to you. deltaDAO processes a minimal amount of personal data, as we believe your personal data belongs to you. We process the following personal data. + +- **Logfile data and IP addresses:** Logfile data including IP addresses are processed when visiting our explorer. +- **E-mail:** If you contact deltaDAO via e-mail, we process your e-mail address and any personal data you decide to provide in your message (such as your name). + +For detailed information about the processing operations, lawfulness, purposes, and how your personal data serves to reach these purposes, please take a look at the chapter "Processing operations according to Article 13 GDPR". + +# 3. Recipients and cross-border data transfer + +**Visiting our explorer** +When visiting our explorer, your IP address and logfile data are processed by Vercel Inc., 340 S Lemon Ave #4133, Walnut, CA 91789, USA. Vercel is a service provider that hosts our explorer. Our explorer is served by Vercel using a Content Delivery Network, a geographically distributed network, with servers within and outside of the European Economic Area (EEA). This means, if you are located within the EEA, your personal data will most likely (but not guaranteed) be processed on a Vercel server within the EEA. + +There is no adequacy decision for the USA from the European Commission. Our cooperation with Vercel is based on a Data Processing Agreement (DPA) including Standard Contractual Clauses (SCC). You have the right to receive a copy of these SCC. To exercise your right, please contact us at . + +- Here you can find Vercel's current [**DPA including SCC** ↗](https://vercel.com/legal/dpa). +- Here you can find Vercel's [**privacy policy** ↗](https://vercel.com/legal/privacy-policy). + +**Contact via e-mail** +When you contact us via e-mail, our (mail) service provider Microsoft Corporation (located at 1 Microsoft Way, Redmond, Washington 98052-8300, USA) supports us in processing your personal data so we can communicate with you. + +There is no adequacy decision for the USA from the European Commission. However, Microsoft is EU-US DPF (EU‐US Data Privacy Framework) certified. The EU‐US DPF is an adequacy decision of the European Commission, limited to certified entities. Moreover, we have restricted storage on the EEA and signed SCC with our provider. You have the right to receive a copy of these SCC. To exercise your right, please contact us at . + +- Here you can find Microsoft's current [**DPA including SCC** ↗](https://www.microsoft.com/licensing/docs/view/Microsoft-Products-and-Services-Data-Protection-Addendum-DPA). +- Here you can find Microsoft's [**privacy policy** ↗](https://privacy.microsoft.com/de-de/privacystatement). +- Here you can find Microsoft's [**Data Privacy Framework List entry** ↗](https://www.dataprivacyframework.gov/list). + +# 4. Processing operations according to Article 13 GDPR + +## **4.1 Providing the Pontus-X Blockchain Explorer** + +The Pontus-X Blockchain Explorer for the Pontus-X ParaTime enables users to inspect and analyze the transactions made on the Pontus-X ParaTime, including the tracking of transaction histories, wallet interactions, and smart contract operations. Logfile data and IP addresses are collected, used, and stored for providing our explorer and its functionalities and to maintain its security. Our explorer is hosted externally by our service provider Vercel (see also chapter 3). + +**Purposes:** Collecting and using your IP address is necessary for providing our explorer because it is a technical requirement for ensuring communication between your device and our explorer. Logfiles including your IP address are created for security, fraud-prevention, abuse-prevention, and troubleshooting purposes. + +**Legal basis:** The legal basis for this processing is our legitimate interest, pursuant to Art. 6(1)(f) GDPR. + +**Legitimate interests:** Our legitimate interest is to provide our explorer and its functionalities to you and to enable security, a technically error-free presentation, and the optimization of the explorer. + +**Retention period:** Vercel retains your personal data for as long as needed to provide their services. Additionally, Vercel does not delete the data when it is needed for the establishment, exercise, or defense of legal claims. In this case, the information is retained as long as needed for exercising respective potential legal claims. + +## **4.2 Contact via e-mail** + +If you contact us via e-mail, deltaDAO collects, uses and stores your e-mail address, and any other information you provide us in your message, such as your name. + +**Purposes:** +We collect, use and store this personal data to respond to your inquiries. + +**Legal basis:** +The legal basis for this processing is our legitimate interest, according to Art. 6(1)(f) GDPR. + +**Legitimate interests:** +Our legitimate interest is to answer your inquiries. + +**Retention period:** +deltaDAO deletes your personal data as soon as we no longer require them for processing your inquiry, except deltaDAO is obliged to comply with legal retention periods or in case of legal disputes. + +# 5. Automated decision making including profiling according to Article 13(2)(f) GDPR + +Automated decision making including profiling does not take place. + +# 6. Cookies + +A cookie is a small file that stores Internet settings. Your web browser downloads it on the first visit to a website. The next time you open this website with the same device, the cookie and the information stored in it are either sent back to the website that created it (first-party cookie) or sent to another website it belongs to (third-party cookie). This enables the website to detect that you have opened it previously with this browser and, in some cases, to vary the displayed content. + +Our explorer does not use cookies. + +# 7. External links + +Our explorer contains links to external websites that are beyond the control and responsibility of deltaDAO. + +# 8. Your rights + +If you want to make use of your rights described below, do not hesitate to contact us. + +**8.1 Right of access (Art. 15 GDPR)** + +You have the right to obtain confirmation as to whether deltaDAO processes personal data about you. If we are processing personal data about you, you have the right to access these personal data and to gain the information defined in Art. 15 GDPR. + +**8.2 Right to rectification (Art. 16 GDPR)** + +You have the right to obtain without undue delay the rectification of inaccurate personal data about you. Additionally, you have the right that incomplete personal data about you are completed. + +**8.3 Right to erasure (Art. 17 GDPR)** + +You have the right to obtain without undue delay the rectification of inaccurate personal data about you. Additionally, you have the right that incomplete personal data about you are completed. + +**8.4 Right to restriction (Art. 18 GDPR)** + +Moreover, you have the right to obtain the restriction of processing your personal data where the defined legal grounds in Art. 18 GDPR apply. + +**8.5 Right to data portability (Art. 20 GDPR)** + +You have the right to receive your personal data in a structured, commonly used, and machine-readable format. Additionally, you have the right to transmit those data to another controller without hindrance, where the defined legal grounds in Art. 20 GDPR apply. You can make use of your right to data portability by contacting us. + +**8.6 Right to object (Art. 21 GDPR)** + +On grounds relating to your particular situation, you have the right to object to the processing of your personal data where we based the processing on legitimate interests (Art. 6(1)(f) GDPR). If you object, deltaDAO will no longer process your personal data unless we can demonstrate compelling legitimate grounds for the processing, overriding your rights, freedoms, and interests, or if the processing is required to establish, exercise, or defend legal claims. + +**8.7 Right to lodge a complaint (Art. 77 GDPR)** + +You have the right to lodge a complaint with a supervisory authority if you consider the processing of your personal data by deltaDAO to infringe the GDPR. You can lodge a complaint in particular + +- in the Member State of your habitual residence, +- in the Member State of your place of work, and +- in the place of the alleged infringement. + +# 9. Questions + +For any requests regarding our privacy policy, please send us an e-mail to [privacy@delta-dao.com](mailto:privacy@delta-dao.com). + +# 10. Changes to the Privacy Policy + +We adjust this policy from time to time, by publishing a new version on our explorer. You can find the date of the current version at the beginning of this policy. The latest version of this policy applies to the processing of your personal data. diff --git a/yarn.lock b/yarn.lock index 9d9e4681f..681a4c6e3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -66,6 +66,28 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.3.tgz#3febd552541e62b5e883a25eb3effd7c7379db11" integrity sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ== +"@babel/core@7.12.9": + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" + integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.7" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.9" + "@babel/types" "^7.12.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.16.0": version "7.22.11" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.11.tgz#8033acaa2aa24c3f814edaaa057f3ce0ba559c24" @@ -117,6 +139,16 @@ eslint-visitor-keys "^2.1.0" semver "^6.3.1" +"@babel/generator@^7.12.5", "@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + "@babel/generator@^7.22.10", "@babel/generator@^7.7.2": version "7.22.10" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.10.tgz#c92254361f398e160645ac58831069707382b722" @@ -147,16 +179,6 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" -"@babel/generator@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" - integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== - dependencies: - "@babel/types" "^7.23.6" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" @@ -331,6 +353,17 @@ dependencies: "@babel/types" "^7.22.15" +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.22.9": version "7.22.9" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz#92dfcb1fbbb2bc62529024f72d942a8c97142129" @@ -342,17 +375,6 @@ "@babel/helper-split-export-declaration" "^7.22.6" "@babel/helper-validator-identifier" "^7.22.5" -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - "@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" @@ -360,6 +382,11 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-plugin-utils@7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" @@ -470,6 +497,15 @@ "@babel/template" "^7.22.5" "@babel/types" "^7.22.10" +"@babel/helpers@^7.12.5": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.0.tgz#a3dd462b41769c95db8091e49cfe019389a9409b" + integrity sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.0" + "@babel/types" "^7.24.0" + "@babel/helpers@^7.22.11": version "7.22.11" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.11.tgz#b02f5d5f2d7abc21ab59eeed80de410ba70b056a" @@ -520,6 +556,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.11.tgz#becf8ee33aad2a35ed5607f521fe6e72a615f905" integrity sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g== +"@babel/parser@^7.12.7", "@babel/parser@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.0.tgz#26a3d1ff49031c53a97d03b604375f028746a9ac" + integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg== + "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" @@ -610,6 +651,15 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" +"@babel/plugin-proposal-object-rest-spread@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" + integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-proposal-optional-chaining@^7.16.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" @@ -737,6 +787,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx@^7.22.5", "@babel/plugin-syntax-jsx@^7.7.2": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" @@ -772,7 +829,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -1385,6 +1442,13 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" +"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-transform-parameters@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz#c3542dd3c39b42c8069936e48717a8d179d63a18" @@ -1392,13 +1456,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-parameters@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-transform-private-methods@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" @@ -1977,6 +2034,15 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/template@^7.12.7", "@babel/template@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + "@babel/template@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" @@ -1995,6 +2061,22 @@ "@babel/parser" "^7.22.5" "@babel/types" "^7.22.5" +"@babel/traverse@^7.12.9", "@babel/traverse@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.0.tgz#4a408fbf364ff73135c714a2ab46a5eab2831b1e" + integrity sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + debug "^4.3.1" + globals "^11.1.0" + "@babel/traverse@^7.18.9", "@babel/traverse@^7.22.11", "@babel/traverse@^7.23.2", "@babel/traverse@^7.23.3": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5" @@ -2020,6 +2102,15 @@ "@babel/helper-validator-identifier" "^7.22.5" to-fast-properties "^2.0.0" +"@babel/types@^7.12.7", "@babel/types@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" + integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + "@babel/types@^7.18.9", "@babel/types@^7.22.19", "@babel/types@^7.23.3", "@babel/types@^7.23.4": version "7.23.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.4.tgz#7206a1810fc512a7f7f7d4dace4cb4c1c9dbfb8e" @@ -2811,6 +2902,36 @@ resolved "https://registry.yarnpkg.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz#8233e8762440b0f4632c47a09b1b6f23de8b934c" integrity sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ== +"@mdx-js/mdx@^1.6.22": + version "1.6.22" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" + integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA== + dependencies: + "@babel/core" "7.12.9" + "@babel/plugin-syntax-jsx" "7.12.1" + "@babel/plugin-syntax-object-rest-spread" "7.8.3" + "@mdx-js/util" "1.6.22" + babel-plugin-apply-mdx-type-prop "1.6.22" + babel-plugin-extract-import-names "1.6.22" + camelcase-css "2.0.1" + detab "2.0.4" + hast-util-raw "6.0.1" + lodash.uniq "4.5.0" + mdast-util-to-hast "10.0.1" + remark-footnotes "2.0.0" + remark-mdx "1.6.22" + remark-parse "8.0.3" + remark-squeeze-paragraphs "4.0.0" + style-to-object "0.3.0" + unified "9.2.0" + unist-builder "2.0.3" + unist-util-visit "2.0.3" + +"@mdx-js/react@^1.6.22": + version "1.6.22" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573" + integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== + "@mdx-js/react@^2.1.5": version "2.3.0" resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-2.3.0.tgz#4208bd6d70f0d0831def28ef28c26149b03180b3" @@ -2819,6 +2940,11 @@ "@types/mdx" "^2.0.0" "@types/react" ">=16" +"@mdx-js/util@1.6.22": + version "1.6.22" + resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" + integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== + "@metamask/jazzicon@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@metamask/jazzicon/-/jazzicon-2.0.0.tgz#5615528e91c0fc5c9d79202d1f0954a7922525a0" @@ -3731,6 +3857,14 @@ "@parcel/plugin" "2.11.0" json5 "^2.2.0" +"@parcel/transformer-mdx@2.11.0": + version "2.11.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-mdx/-/transformer-mdx-2.11.0.tgz#f8288a95bfff86c7483e02f90d63e9d8c67a7b94" + integrity sha512-eajmj52AxgtUFvPu4Iak8+tmABxlzyCpAkJtKBoOWIJn03SsggK2rxVYOrE4fYe0gWfcTBSz2u5Bc15S/Ur3Rg== + dependencies: + "@mdx-js/mdx" "^1.6.22" + "@parcel/plugin" "2.11.0" + "@parcel/transformer-postcss@2.11.0": version "2.11.0" resolved "https://registry.yarnpkg.com/@parcel/transformer-postcss/-/transformer-postcss-2.11.0.tgz#df5e776a7383400a34c54a64a0bd8f998b656316" @@ -5547,6 +5681,13 @@ dependencies: "@types/node" "*" +"@types/hast@^2.0.0": + version "2.3.10" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.10.tgz#5c9d9e0b304bbb8879b857225c5ebab2d81d7643" + integrity sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw== + dependencies: + "@types/unist" "^2" + "@types/html-minifier-terser@^6.0.0": version "6.1.0" resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" @@ -5613,6 +5754,13 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.197.tgz#e95c5ddcc814ec3e84c891910a01e0c8a378c54b" integrity sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g== +"@types/mdast@^3.0.0": + version "3.0.15" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.15.tgz#49c524a263f30ffa28b71ae282f813ed000ab9f5" + integrity sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== + dependencies: + "@types/unist" "^2" + "@types/mdx@^2.0.0": version "2.0.7" resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.7.tgz#c7482e995673e01b83f8e96df83b3843ea76401f" @@ -5678,6 +5826,11 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== +"@types/parse5@^5.0.0": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" + integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== + "@types/pretty-hrtime@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.1.tgz#72a26101dc567b0d68fd956cf42314556e42d601" @@ -5791,6 +5944,11 @@ resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.2.tgz#6286b4c7228d58ab7866d19716f3696e03a09397" integrity sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw== +"@types/unist@^2", "@types/unist@^2.0.2", "@types/unist@^2.0.3": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.10.tgz#04ffa7f406ab628f7f7e97ca23e290cd8ab15efc" + integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== + "@types/unist@^2.0.0": version "2.0.7" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.7.tgz#5b06ad6894b236a1d2bd6b2f07850ca5c59cf4d6" @@ -6537,6 +6695,21 @@ babel-plugin-add-react-displayname@^0.0.5: resolved "https://registry.yarnpkg.com/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz#339d4cddb7b65fd62d1df9db9fe04de134122bd5" integrity sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw== +babel-plugin-apply-mdx-type-prop@1.6.22: + version "1.6.22" + resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz#d216e8fd0de91de3f1478ef3231e05446bc8705b" + integrity sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ== + dependencies: + "@babel/helper-plugin-utils" "7.10.4" + "@mdx-js/util" "1.6.22" + +babel-plugin-extract-import-names@1.6.22: + version "1.6.22" + resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz#de5f9a28eb12f3eb2578bf74472204e66d1a13dc" + integrity sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ== + dependencies: + "@babel/helper-plugin-utils" "7.10.4" + babel-plugin-istanbul@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" @@ -6668,6 +6841,11 @@ babel-preset-react-app@^10.0.1: babel-plugin-macros "^3.1.0" babel-plugin-transform-react-remove-prop-types "^0.4.24" +bail@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" + integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -6905,6 +7083,11 @@ camel-case@^4.1.2: pascal-case "^3.1.2" tslib "^2.0.3" +camelcase-css@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -6935,6 +7118,11 @@ cborg@^2.0.3: resolved "https://registry.yarnpkg.com/cborg/-/cborg-2.0.5.tgz#b5393c8b1843d5c1a61f2b79b4c9f752052a4d44" integrity sha512-xVW1rSIw1ZXbkwl2XhJ7o/jAv0vnVoQv/QlfQxV8a7V5PlA4UU/AcIiXqmpyybwNWy/GPQU1m/aBVNIWr7/T0w== +ccount@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" + integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== + chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -6970,6 +7158,21 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== +character-entities-legacy@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== + +character-entities@^1.0.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== + +character-reference-invalid@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== + chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -7103,6 +7306,11 @@ co@^4.6.0: resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== +collapse-white-space@^1.0.2: + version "1.0.6" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" + integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== + collect-v8-coverage@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" @@ -7160,6 +7368,11 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +comma-separated-tokens@^1.0.0: + version "1.0.8" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" + integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== + commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -7685,6 +7898,13 @@ destroy@1.2.0: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== +detab@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.4.tgz#b927892069aff405fbb9a186fe97a44a92a94b43" + integrity sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g== + dependencies: + repeat-string "^1.5.4" + detect-indent@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" @@ -8889,7 +9109,7 @@ functions-have-names@^1.2.2, functions-have-names@^1.2.3: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -gensync@^1.0.0-beta.2: +gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -9159,6 +9379,74 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" +hast-to-hyperscript@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz#9b67fd188e4c81e8ad66f803855334173920218d" + integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== + dependencies: + "@types/unist" "^2.0.3" + comma-separated-tokens "^1.0.0" + property-information "^5.3.0" + space-separated-tokens "^1.0.0" + style-to-object "^0.3.0" + unist-util-is "^4.0.0" + web-namespaces "^1.0.0" + +hast-util-from-parse5@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz#554e34abdeea25ac76f5bd950a1f0180e0b3bc2a" + integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== + dependencies: + "@types/parse5" "^5.0.0" + hastscript "^6.0.0" + property-information "^5.0.0" + vfile "^4.0.0" + vfile-location "^3.2.0" + web-namespaces "^1.0.0" + +hast-util-parse-selector@^2.0.0: + version "2.2.5" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" + integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== + +hast-util-raw@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-6.0.1.tgz#973b15930b7529a7b66984c98148b46526885977" + integrity sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig== + dependencies: + "@types/hast" "^2.0.0" + hast-util-from-parse5 "^6.0.0" + hast-util-to-parse5 "^6.0.0" + html-void-elements "^1.0.0" + parse5 "^6.0.0" + unist-util-position "^3.0.0" + vfile "^4.0.0" + web-namespaces "^1.0.0" + xtend "^4.0.0" + zwitch "^1.0.0" + +hast-util-to-parse5@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz#1ec44650b631d72952066cea9b1445df699f8479" + integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ== + dependencies: + hast-to-hyperscript "^9.0.0" + property-information "^5.0.0" + web-namespaces "^1.0.0" + xtend "^4.0.0" + zwitch "^1.0.0" + +hastscript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" + integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== + dependencies: + "@types/hast" "^2.0.0" + comma-separated-tokens "^1.0.0" + hast-util-parse-selector "^2.0.0" + property-information "^5.0.0" + space-separated-tokens "^1.0.0" + he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -9232,6 +9520,11 @@ html-tags@^3.1.0: resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== +html-void-elements@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" + integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== + html-webpack-plugin@^5.5.0: version "5.5.3" resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz#72270f4a78e222b5825b296e5e3e1328ad525a3e" @@ -9388,7 +9681,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -9398,6 +9691,11 @@ ini@~4.1.0: resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1" integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== +inline-style-parser@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" + integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== + inquirer@^8.2.0: version "8.2.6" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562" @@ -9455,6 +9753,19 @@ is-absolute-url@^3.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== +is-alphabetical@1.0.4, is-alphabetical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== + +is-alphanumerical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-arguments@^1.0.4, is-arguments@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" @@ -9506,6 +9817,11 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-buffer@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -9525,6 +9841,11 @@ is-date-object@^1.0.1, is-date-object@^1.0.5: dependencies: has-tostringtag "^1.0.0" +is-decimal@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== + is-deflate@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-deflate/-/is-deflate-1.0.0.tgz#c862901c3c161fb09dac7cdc7e784f80e98f2f14" @@ -9576,6 +9897,11 @@ is-gzip@^1.0.0: resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" integrity sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ== +is-hexadecimal@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== + is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" @@ -9631,6 +9957,11 @@ is-path-inside@^3.0.2, is-path-inside@^3.0.3: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== +is-plain-obj@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-plain-object@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" @@ -9724,6 +10055,16 @@ is-what@^4.1.8: resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.15.tgz#de43a81090417a425942d67b1ae86e7fae2eee0e" integrity sha512-uKua1wfy3Yt+YqsD6mTUEa2zSi3G1oPlqTflgaPJ7z63vUGN5pxFpnQfeSLMFnJDEsdvOtkp1rUWkYjB4YfhgA== +is-whitespace-character@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" + integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== + +is-word-character@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" + integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== + is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -10664,6 +11005,11 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.uniq@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -10766,6 +11112,11 @@ map-or-similar@^1.5.0: resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08" integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg== +markdown-escapes@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" + integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== + markdown-it@14.0.0: version "14.0.0" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.0.0.tgz#b4b2ddeb0f925e88d981f84c183b59bac9e3741b" @@ -10811,6 +11162,13 @@ markdownlint@~0.33.0: markdown-it "14.0.0" markdownlint-micromark "0.1.8" +mdast-squeeze-paragraphs@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz#7c4c114679c3bee27ef10b58e2e015be79f1ef97" + integrity sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ== + dependencies: + unist-util-remove "^2.0.0" + mdast-util-definitions@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" @@ -10818,6 +11176,20 @@ mdast-util-definitions@^4.0.0: dependencies: unist-util-visit "^2.0.0" +mdast-util-to-hast@10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz#0cfc82089494c52d46eb0e3edb7a4eb2aea021eb" + integrity sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + mdast-util-definitions "^4.0.0" + mdurl "^1.0.0" + unist-builder "^2.0.0" + unist-util-generated "^1.0.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + mdast-util-to-string@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" @@ -10828,6 +11200,11 @@ mdn-data@2.0.14: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== +mdurl@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== + mdurl@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" @@ -11479,6 +11856,18 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" + integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== + dependencies: + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" + parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -11489,6 +11878,11 @@ parse-json@^5.0.0, parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +parse5@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + parse5@^7.0.0, parse5@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" @@ -11826,6 +12220,13 @@ prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: object-assign "^4.1.1" react-is "^16.13.1" +property-information@^5.0.0, property-information@^5.3.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" + integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== + dependencies: + xtend "^4.0.0" + protobufjs@~7.2.5: version "7.2.5" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.5.tgz#45d5c57387a6d29a17aab6846dcc283f9b8e7f2d" @@ -12328,6 +12729,47 @@ remark-external-links@^8.0.0: space-separated-tokens "^1.0.0" unist-util-visit "^2.0.0" +remark-footnotes@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-2.0.0.tgz#9001c4c2ffebba55695d2dd80ffb8b82f7e6303f" + integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ== + +remark-mdx@1.6.22: + version "1.6.22" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.22.tgz#06a8dab07dcfdd57f3373af7f86bd0e992108bbd" + integrity sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ== + dependencies: + "@babel/core" "7.12.9" + "@babel/helper-plugin-utils" "7.10.4" + "@babel/plugin-proposal-object-rest-spread" "7.12.1" + "@babel/plugin-syntax-jsx" "7.12.1" + "@mdx-js/util" "1.6.22" + is-alphabetical "1.0.4" + remark-parse "8.0.3" + unified "9.2.0" + +remark-parse@8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" + integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== + dependencies: + ccount "^1.0.0" + collapse-white-space "^1.0.2" + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + is-word-character "^1.0.0" + markdown-escapes "^1.0.0" + parse-entities "^2.0.0" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + trim "0.0.1" + trim-trailing-lines "^1.0.0" + unherit "^1.0.4" + unist-util-remove-position "^2.0.0" + vfile-location "^3.0.0" + xtend "^4.0.1" + remark-slug@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-6.1.0.tgz#0503268d5f0c4ecb1f33315c00465ccdd97923ce" @@ -12337,6 +12779,13 @@ remark-slug@^6.0.0: mdast-util-to-string "^1.0.0" unist-util-visit "^2.0.0" +remark-squeeze-paragraphs@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead" + integrity sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw== + dependencies: + mdast-squeeze-paragraphs "^4.0.0" + remove-accents@0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/remove-accents/-/remove-accents-0.4.2.tgz#0a43d3aaae1e80db919e07ae254b285d9e1c7bb5" @@ -12353,6 +12802,11 @@ renderkid@^3.0.0: lodash "^4.17.21" strip-ansi "^6.0.1" +repeat-string@^1.5.4: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -12399,7 +12853,7 @@ resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.2 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.22.1: +resolve@^1.22.1, resolve@^1.3.2: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -12547,7 +13001,7 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" -"semver@2 || 3 || 4 || 5", semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.6.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== @@ -12686,7 +13140,7 @@ source-map-support@^0.5.16, source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.7: +source-map@^0.5.0, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== @@ -12764,6 +13218,11 @@ stackframe@^1.3.4: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== +state-toggle@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" + integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== + statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -12944,6 +13403,13 @@ style-loader@^3.3.1: resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw== +style-to-object@0.3.0, style-to-object@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" + integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== + dependencies: + inline-style-parser "0.1.1" + stylis@4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" @@ -13210,6 +13676,21 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +trim-trailing-lines@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" + integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== + +trim@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + integrity sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ== + +trough@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" + integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== + ts-api-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.2.tgz#7c094f753b6705ee4faee25c3c684ade52d66d99" @@ -13400,6 +13881,14 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +unherit@^1.0.4: + version "1.1.3" + resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" + integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== + dependencies: + inherits "^2.0.0" + xtend "^4.0.0" + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -13423,6 +13912,18 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== +unified@9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" + integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + unique-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" @@ -13430,11 +13931,47 @@ unique-string@^2.0.0: dependencies: crypto-random-string "^2.0.0" +unist-builder@2.0.3, unist-builder@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436" + integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== + +unist-util-generated@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" + integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== + unist-util-is@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== +unist-util-position@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" + integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== + +unist-util-remove-position@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc" + integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== + dependencies: + unist-util-visit "^2.0.0" + +unist-util-remove@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.1.0.tgz#b0b4738aa7ee445c402fda9328d604a02d010588" + integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== + dependencies: + unist-util-is "^4.0.0" + +unist-util-stringify-position@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" + integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== + dependencies: + "@types/unist" "^2.0.2" + unist-util-visit-parents@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" @@ -13443,7 +13980,7 @@ unist-util-visit-parents@^3.0.0: "@types/unist" "^2.0.0" unist-util-is "^4.0.0" -unist-util-visit@^2.0.0: +unist-util-visit@2.0.3, unist-util-visit@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== @@ -13606,6 +14143,29 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== +vfile-location@^3.0.0, vfile-location@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" + integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== + +vfile-message@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" + integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^2.0.0" + +vfile@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" + integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^2.0.0" + vfile-message "^2.0.0" + victory-vendor@^36.6.8: version "36.6.11" resolved "https://registry.yarnpkg.com/victory-vendor/-/victory-vendor-36.6.11.tgz#acae770717c2dae541a54929c304ecab5ab6ac2a" @@ -13674,6 +14234,11 @@ web-encoding@^1.1.5: optionalDependencies: "@zxing/text-encoding" "0.9.0" +web-namespaces@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" + integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -13906,7 +14471,7 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -13971,3 +14536,8 @@ yocto-queue@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +zwitch@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" + integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== From 857d1188358ab30c64046d23a8efbdee00eefa9e Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Thu, 29 Feb 2024 02:11:19 +0100 Subject: [PATCH 20/38] Update Pontus-X privacy policy (title levels only) --- src/docs/pontusx_privacy_2024.mdx | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/docs/pontusx_privacy_2024.mdx b/src/docs/pontusx_privacy_2024.mdx index c8452b1b2..129b50ba5 100644 --- a/src/docs/pontusx_privacy_2024.mdx +++ b/src/docs/pontusx_privacy_2024.mdx @@ -2,7 +2,7 @@ This privacy policy informs you about how deltaDAO AG (in the following deltaDAO _Last updated on February 23, 2024._ -# 1. Contact details of the controller and Data Protection Officer +### 1. Contact details of the controller and Data Protection Officer The controller pursuant to the EU General Data Protection Regulation ("GDPR") for the processing of your personal data is: @@ -21,7 +21,7 @@ Katharinenstraße 30a Germany E-mail: privacy@delta-dao.com -# 2. What's personal data? +### 2. What's personal data? Personal data is any information that can be (directly or indirectly) related to you. deltaDAO processes a minimal amount of personal data, as we believe your personal data belongs to you. We process the following personal data. @@ -30,7 +30,7 @@ Personal data is any information that can be (directly or indirectly) related to For detailed information about the processing operations, lawfulness, purposes, and how your personal data serves to reach these purposes, please take a look at the chapter "Processing operations according to Article 13 GDPR". -# 3. Recipients and cross-border data transfer +### 3. Recipients and cross-border data transfer **Visiting our explorer** When visiting our explorer, your IP address and logfile data are processed by Vercel Inc., 340 S Lemon Ave #4133, Walnut, CA 91789, USA. Vercel is a service provider that hosts our explorer. Our explorer is served by Vercel using a Content Delivery Network, a geographically distributed network, with servers within and outside of the European Economic Area (EEA). This means, if you are located within the EEA, your personal data will most likely (but not guaranteed) be processed on a Vercel server within the EEA. @@ -49,9 +49,9 @@ There is no adequacy decision for the USA from the European Commission. However, - Here you can find Microsoft's [**privacy policy** ↗](https://privacy.microsoft.com/de-de/privacystatement). - Here you can find Microsoft's [**Data Privacy Framework List entry** ↗](https://www.dataprivacyframework.gov/list). -# 4. Processing operations according to Article 13 GDPR +### 4. Processing operations according to Article 13 GDPR -## **4.1 Providing the Pontus-X Blockchain Explorer** +#### **4.1 Providing the Pontus-X Blockchain Explorer** The Pontus-X Blockchain Explorer for the Pontus-X ParaTime enables users to inspect and analyze the transactions made on the Pontus-X ParaTime, including the tracking of transaction histories, wallet interactions, and smart contract operations. Logfile data and IP addresses are collected, used, and stored for providing our explorer and its functionalities and to maintain its security. Our explorer is hosted externally by our service provider Vercel (see also chapter 3). @@ -63,7 +63,7 @@ The Pontus-X Blockchain Explorer for the Pontus-X ParaTime enables users to insp **Retention period:** Vercel retains your personal data for as long as needed to provide their services. Additionally, Vercel does not delete the data when it is needed for the establishment, exercise, or defense of legal claims. In this case, the information is retained as long as needed for exercising respective potential legal claims. -## **4.2 Contact via e-mail** +#### **4.2 Contact via e-mail** If you contact us via e-mail, deltaDAO collects, uses and stores your e-mail address, and any other information you provide us in your message, such as your name. @@ -79,21 +79,21 @@ Our legitimate interest is to answer your inquiries. **Retention period:** deltaDAO deletes your personal data as soon as we no longer require them for processing your inquiry, except deltaDAO is obliged to comply with legal retention periods or in case of legal disputes. -# 5. Automated decision making including profiling according to Article 13(2)(f) GDPR +### 5. Automated decision making including profiling according to Article 13(2)(f) GDPR Automated decision making including profiling does not take place. -# 6. Cookies +### 6. Cookies A cookie is a small file that stores Internet settings. Your web browser downloads it on the first visit to a website. The next time you open this website with the same device, the cookie and the information stored in it are either sent back to the website that created it (first-party cookie) or sent to another website it belongs to (third-party cookie). This enables the website to detect that you have opened it previously with this browser and, in some cases, to vary the displayed content. Our explorer does not use cookies. -# 7. External links +### 7. External links Our explorer contains links to external websites that are beyond the control and responsibility of deltaDAO. -# 8. Your rights +### 8. Your rights If you want to make use of your rights described below, do not hesitate to contact us. @@ -129,10 +129,10 @@ You have the right to lodge a complaint with a supervisory authority if you cons - in the Member State of your place of work, and - in the place of the alleged infringement. -# 9. Questions +### 9. Questions For any requests regarding our privacy policy, please send us an e-mail to [privacy@delta-dao.com](mailto:privacy@delta-dao.com). -# 10. Changes to the Privacy Policy +### 10. Changes to the Privacy Policy We adjust this policy from time to time, by publishing a new version on our explorer. You can find the date of the current version at the beginning of this policy. The latest version of this policy applies to the processing of your personal data. From cb2638aa7fca4f48b7964aa9e10d5262296d6fab Mon Sep 17 00:00:00 2001 From: Moritz Kirstein Date: Thu, 29 Feb 2024 12:05:11 +0100 Subject: [PATCH 21/38] ci: add vercel rewrites --- vercel.json | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 vercel.json diff --git a/vercel.json b/vercel.json new file mode 100644 index 000000000..065976099 --- /dev/null +++ b/vercel.json @@ -0,0 +1,8 @@ +{ + "rewrites": [ + { + "source": "/(.*)", + "destination": "/" + } + ] +} \ No newline at end of file From 6cec6802e8d788a0fe191e14cd6c0df19749d156 Mon Sep 17 00:00:00 2001 From: Moritz Kirstein Date: Thu, 29 Feb 2024 12:06:34 +0100 Subject: [PATCH 22/38] style: adjust colors --- src/styles/theme/testnet/colors.ts | 4 ++-- src/styles/theme/testnet/theme.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/styles/theme/testnet/colors.ts b/src/styles/theme/testnet/colors.ts index 8f9b1420b..6aa62faa7 100644 --- a/src/styles/theme/testnet/colors.ts +++ b/src/styles/theme/testnet/colors.ts @@ -2,6 +2,6 @@ import { COLORS as DEFAULT_COLORS } from '../colors' export const COLORS = { ...DEFAULT_COLORS, - testnet: '#ffa800', - testnetLight: '#fff0e4', + testnet: '#004a67', + testnetLight: '#ffffff', } satisfies { [colorName: string]: string } diff --git a/src/styles/theme/testnet/theme.ts b/src/styles/theme/testnet/theme.ts index 302f423a2..d7e5edfb1 100644 --- a/src/styles/theme/testnet/theme.ts +++ b/src/styles/theme/testnet/theme.ts @@ -11,7 +11,7 @@ export const testnetTheme = createTheme( empty: COLORS.white, }, layout: { - main: COLORS.brandExtraDark, + main: COLORS.testnetLight, border: COLORS.testnet, contrastMain: COLORS.brandExtraDark, contrastSecondary: COLORS.testnet, From c1ecc92c6fdad642de29c147bcbe68401a3e2456 Mon Sep 17 00:00:00 2001 From: Moritz Kirstein Date: Wed, 20 Mar 2024 19:22:01 +0100 Subject: [PATCH 23/38] fix: main color --- src/app/components/PageLayout/Logotype.tsx | 3 ++- src/styles/theme/testnet/theme.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/components/PageLayout/Logotype.tsx b/src/app/components/PageLayout/Logotype.tsx index e8726fdce..c887cc24f 100644 --- a/src/app/components/PageLayout/Logotype.tsx +++ b/src/app/components/PageLayout/Logotype.tsx @@ -7,6 +7,7 @@ import { Link as RouterLink } from 'react-router-dom' import pontusXIcon from '../CustomIcons/pontusx.svg' import Typography from '@mui/material/Typography' import { getAppTitle } from '../../../config' +import { COLORS } from '../../../styles/theme/colors' interface LogotypeProps { color?: string @@ -38,7 +39,7 @@ export const Logotype: FC = ({ color, showText }) => { > Pontus-X logo {showText && ( - + {getAppTitle()} )} diff --git a/src/styles/theme/testnet/theme.ts b/src/styles/theme/testnet/theme.ts index d7e5edfb1..e55459070 100644 --- a/src/styles/theme/testnet/theme.ts +++ b/src/styles/theme/testnet/theme.ts @@ -11,7 +11,7 @@ export const testnetTheme = createTheme( empty: COLORS.white, }, layout: { - main: COLORS.testnetLight, + main: COLORS.testnet, border: COLORS.testnet, contrastMain: COLORS.brandExtraDark, contrastSecondary: COLORS.testnet, From 9d0918d87453af441497f9cbf3efde854be0e3a2 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Wed, 29 May 2024 14:39:47 +0200 Subject: [PATCH 24/38] Add support for overriding names of special scopes Normally, the name of a scope is derived by concatenating the name of the layer (i.e. "Sapphire") and the name of the network (i.e. "Testnet") ==> "Sapphire Testnet" However, in some specific cases, we might want to have something different. This can be achieved by this override function. --- src/config.ts | 6 ++++++ src/types/searchScope.ts | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/config.ts b/src/config.ts index c14207c66..79c0039b0 100644 --- a/src/config.ts +++ b/src/config.ts @@ -3,6 +3,7 @@ import { Layer } from './oasis-nexus/generated/api' import { NativeToken, NativeTokenInfo } from './types/ticker' import { SearchScope } from './types/searchScope' +import { Network } from './types/network' export const consensusDecimals = 9 /** @@ -202,3 +203,8 @@ export const getFiatCurrencyForScope = (scope: SearchScope | undefined) => (scope ? paraTimesConfig[scope.layer]?.[scope.network]?.fiatCurrency : undefined) ?? 'usd' export const showFiatValues = process.env.REACT_APP_SHOW_FIAT_VALUES === 'true' + +export const specialScopeNames: Partial>>> = { + [Network.mainnet]: {}, + [Network.testnet]: {}, +} diff --git a/src/types/searchScope.ts b/src/types/searchScope.ts index 74a8a5888..035d2bfcd 100644 --- a/src/types/searchScope.ts +++ b/src/types/searchScope.ts @@ -2,6 +2,7 @@ import { getNetworkNames, Network } from './network' import { getLayerLabels } from '../app/utils/content' import { HasScope, Layer } from '../oasis-nexus/api' import { TFunction } from 'i18next' +import { specialScopeNames } from '../config' export interface SearchScope { network: Network @@ -14,6 +15,7 @@ export const MainnetEmerald: SearchScope = { } export const getNameForScope = (t: TFunction, scope: SearchScope) => + specialScopeNames[scope.network]?.[scope.layer] ?? `${getLayerLabels(t)[scope.layer]} ${getNetworkNames(t)[scope.network]}` export const getKeyForScope: (scope: SearchScope) => string = ({ network, layer }) => `${network}.${layer}` From 1d1b55816c31b2bdebbffc93191251db125071ad Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Thu, 30 May 2024 19:01:59 +0200 Subject: [PATCH 25/38] Centralize how scope routes are built --- src/app/utils/route-utils.ts | 54 ++++++++++++++---------------------- 1 file changed, 21 insertions(+), 33 deletions(-) diff --git a/src/app/utils/route-utils.ts b/src/app/utils/route-utils.ts index a7162bcdf..b54fb5e7b 100644 --- a/src/app/utils/route-utils.ts +++ b/src/app/utils/route-utils.ts @@ -59,38 +59,34 @@ export abstract class RouteUtils { }, } satisfies Record> - static getDashboardRoute = ({ network, layer }: SearchScope) => { + static getScopeRoute = ({ network, layer }: SearchScope) => { return `/${encodeURIComponent(network)}/${encodeURIComponent(layer)}` } - static getLatestTransactionsRoute = ({ network, layer }: SearchScope) => { - return `/${encodeURIComponent(network)}/${encodeURIComponent(layer)}/tx` + static getDashboardRoute = (scope: SearchScope) => this.getScopeRoute(scope) + + static getLatestTransactionsRoute = (scope: SearchScope) => { + return `${this.getScopeRoute(scope)}/tx` } - static getTopTokensRoute = ({ network, layer }: SearchScope) => { - return `/${encodeURIComponent(network)}/${encodeURIComponent(layer)}/token` + static getTopTokensRoute = (scope: SearchScope) => { + return `${this.getScopeRoute(scope)}/token` } - static getLatestBlocksRoute = ({ network, layer }: SearchScope) => { - return `/${encodeURIComponent(network)}/${encodeURIComponent(layer)}/block` + static getLatestBlocksRoute = (scope: SearchScope) => { + return `${this.getScopeRoute(scope)}/block` } - static getBlockRoute = ({ network, layer }: SearchScope, blockHeight: number) => { - return `/${encodeURIComponent(network)}/${encodeURIComponent(layer)}/block/${encodeURIComponent( - blockHeight, - )}` + static getBlockRoute = (scope: SearchScope, blockHeight: number) => { + return `${this.getScopeRoute(scope)}/block/${encodeURIComponent(blockHeight)}` } static getTransactionRoute = (scope: SearchScope, txHash: string) => { - return `/${encodeURIComponent(scope.network)}/${encodeURIComponent(scope.layer)}/tx/${encodeURIComponent( - txHash, - )}` + return `${this.getScopeRoute(scope)}/tx/${encodeURIComponent(txHash)}` } - static getAccountRoute = ({ network, layer }: SearchScope, account: string) => { - return `/${encodeURIComponent(network)}/${encodeURIComponent(layer)}/address/${encodeURIComponent( - account, - )}` + static getAccountRoute = (scope: SearchScope, accountAddress: string) => { + return `${this.getScopeRoute(scope)}/address/${encodeURIComponent(accountAddress)}` } static getAccountsRoute = (network: Network) => { @@ -122,28 +118,20 @@ export abstract class RouteUtils { static getSearchRoute = (scope: SearchScope | undefined, searchTerm: string) => { return scope - ? `/${encodeURIComponent(scope.network)}/${encodeURIComponent(scope.layer)}/search?q=${encodeURIComponent(searchTerm)}` + ? `${this.getScopeRoute(scope)}/search?q=${encodeURIComponent(searchTerm)}` : `/search?q=${encodeURIComponent(searchTerm)}` } - static getTokenRoute = ({ network, layer }: SearchScope, tokenAddress: string) => { - return `/${encodeURIComponent(network)}/${encodeURIComponent(layer)}/token/${encodeURIComponent( - tokenAddress, - )}` + static getTokenRoute = (scope: SearchScope, tokenAddress: string) => { + return `${this.getScopeRoute(scope)}/token/${encodeURIComponent(tokenAddress)}` } - static getTokenHoldersRoute = ({ network, layer }: SearchScope, tokenAddress: string) => { - return `/${encodeURIComponent(network)}/${encodeURIComponent(layer)}/token/${encodeURIComponent( - tokenAddress, - )}/holders` + static getTokenHoldersRoute = (scope: SearchScope, tokenAddress: string) => { + return `${this.getScopeRoute(scope)}/token/${encodeURIComponent(tokenAddress)}/holders` } - static getNFTInstanceRoute = ( - { network, layer }: SearchScope, - contractAddress: string, - instanceId: string, - ): string => - `/${encodeURIComponent(network)}/${encodeURIComponent(layer)}/token/${encodeURIComponent( + static getNFTInstanceRoute = (scope: SearchScope, contractAddress: string, instanceId: string): string => + `${this.getScopeRoute(scope)}/token/${encodeURIComponent( contractAddress, )}/instance/${encodeURIComponent(instanceId)}` From 0258591b410b84d6940a2013a2a430181a86cae6 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Mon, 3 Jun 2024 16:20:14 +0200 Subject: [PATCH 26/38] Add code for customizing scope paths Normally the "sapphire" paratime on the "testnet" network will be available via "testnet/sapphire". This commit adds a config option to override the paths for specific paratimes with any two-word constant. (So that we can use "magic/kingdom" instead of "testnet/sapphire", if we want to.) --- src/app/utils/route-utils.ts | 53 ++++++++++++++++++++++++++++++------ src/config.ts | 5 ++++ 2 files changed, 50 insertions(+), 8 deletions(-) diff --git a/src/app/utils/route-utils.ts b/src/app/utils/route-utils.ts index b54fb5e7b..db2e42c45 100644 --- a/src/app/utils/route-utils.ts +++ b/src/app/utils/route-utils.ts @@ -5,7 +5,7 @@ import { AppError, AppErrors } from '../../types/errors' import { EvmTokenType, Layer } from '../../oasis-nexus/api' import { Network } from '../../types/network' import { SearchScope } from '../../types/searchScope' -import { isStableDeploy } from '../../config' +import { isStableDeploy, specialScopePaths } from '../../config' import { getSearchTermFromRequest } from '../components/Search/search-utils' import { isLayerHidden } from '../../types/layers' @@ -37,6 +37,33 @@ export type SpecifiedPerEnabledLayer = { export type SpecifiedPerEnabledRuntime = SpecifiedPerEnabledLayer +export const specialScopeRecognition: Partial>>> = {} + +function cacheSpecialScopePaths() { + const networks = Object.keys(specialScopePaths) as Network[] + + networks.forEach(network => { + const networkPaths = specialScopePaths[network]! + const layers = Object.keys(networkPaths) as Layer[] + layers.forEach(layer => { + const [word1, word2] = networkPaths[layer]! + if (!specialScopeRecognition[word1]) { + specialScopeRecognition[word1] = {} + } + if (specialScopeRecognition[word1]![word2]) { + const other = specialScopeRecognition[word1]![word2]! + console.warn( + `Wrong config: conflicting special scope paths ${word1}/${word2} definitions used both for ${other.network}/${other.layer} and ${network}/${layer} `, + ) + } else { + specialScopeRecognition[word1]![word2] = { network, layer } + } + }) + }) +} + +cacheSpecialScopePaths() + export abstract class RouteUtils { private static ENABLED_LAYERS_FOR_NETWORK = { [Network.mainnet]: { @@ -60,7 +87,11 @@ export abstract class RouteUtils { } satisfies Record> static getScopeRoute = ({ network, layer }: SearchScope) => { - return `/${encodeURIComponent(network)}/${encodeURIComponent(layer)}` + const specialPath = specialScopePaths[network]?.[layer] + const result = specialPath + ? `/${specialPath[0]}/${specialPath[1]}` + : `/${encodeURIComponent(network)}/${encodeURIComponent(layer)}` + return result } static getDashboardRoute = (scope: SearchScope) => this.getScopeRoute(scope) @@ -297,19 +328,25 @@ export const runtimeTransactionParamLoader = async ({ params }: LoaderFunctionAr return validateRuntimeTxHashParam(params.hash!) } -export const assertEnabledScope = ({ - network, - layer, -}: { +export const assertEnabledScope = (params: { network: string | undefined layer: string | undefined }): SearchScope => { - if (!network || !RouteUtils.getEnabledNetworks().includes(network as Network)) { + const { network: networkLike, layer: layerLike } = params + if (!networkLike || !layerLike) { + throw new AppError(AppErrors.InvalidUrl) + } + + const { network, layer } = specialScopeRecognition[networkLike]?.[layerLike] ?? { + network: networkLike as Network, + layer: layerLike as Layer, + } + + if (!RouteUtils.getEnabledNetworks().includes(network as Network)) { throw new AppError(AppErrors.InvalidUrl) } if ( - !layer || // missing param !RouteUtils.getAllLayersForNetwork(network as Network).enabled.includes(layer as Layer) // unsupported on network ) { throw new AppError(AppErrors.UnsupportedLayer) diff --git a/src/config.ts b/src/config.ts index 79c0039b0..527106b3a 100644 --- a/src/config.ts +++ b/src/config.ts @@ -208,3 +208,8 @@ export const specialScopeNames: Partial>>> = { + [Network.mainnet]: {}, + [Network.testnet]: {}, +} From 673003a5f506f1cdb6358f64ce7c17caeaca7519 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Wed, 29 May 2024 16:13:06 +0200 Subject: [PATCH 27/38] Add config variable for skipping the graph This is mostly useful if we want to restrict a deployment to display only a few layers. --- .changelog/1441.internal.md | 1 + .env | 1 + .env.production | 1 + src/app/utils/route-utils.ts | 1 + src/routes.tsx | 12 ++++++++---- src/types/global.d.ts | 1 + 6 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 .changelog/1441.internal.md diff --git a/.changelog/1441.internal.md b/.changelog/1441.internal.md new file mode 100644 index 000000000..9de0c9493 --- /dev/null +++ b/.changelog/1441.internal.md @@ -0,0 +1 @@ +Add more configuration options for paratimes diff --git a/.env b/.env index 41f5ce993..ffcfc490d 100644 --- a/.env +++ b/.env @@ -27,4 +27,5 @@ REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io REACT_APP_SHOW_BUILD_BANNERS=true # REACT_APP_FIXED_NETWORK=testnet # REACT_APP_FIXED_LAYER=sapphire +# REACT_APP_SKIP_GRAPH=true REACT_APP_SHOW_FIAT_VALUES=true diff --git a/.env.production b/.env.production index 165b287f8..6551bf3ff 100644 --- a/.env.production +++ b/.env.production @@ -22,4 +22,5 @@ REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io REACT_APP_SHOW_BUILD_BANNERS=true # REACT_APP_FIXED_NETWORK=testnet # REACT_APP_FIXED_LAYER=sapphire +# REACT_APP_SKIP_GRAPH=true REACT_APP_SHOW_FIAT_VALUES=true diff --git a/src/app/utils/route-utils.ts b/src/app/utils/route-utils.ts index db2e42c45..4d99cb82b 100644 --- a/src/app/utils/route-utils.ts +++ b/src/app/utils/route-utils.ts @@ -11,6 +11,7 @@ import { isLayerHidden } from '../../types/layers' export const fixedNetwork = process.env.REACT_APP_FIXED_NETWORK as Network | undefined export const fixedLayer = process.env.REACT_APP_FIXED_LAYER as Layer | undefined +export const skipGraph = !!fixedLayer || !!(process.env.REACT_APP_SKIP_GRAPH as boolean | undefined) export type ScopeFreedom = | 'network' // We can select only the network diff --git a/src/routes.tsx b/src/routes.tsx index 3a733452d..d9c9098ff 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -23,6 +23,7 @@ import { fixedNetwork, fixedLayer, RouteUtils, + skipGraph, } from './app/utils/route-utils' import { RoutingErrorPage } from './app/pages/RoutingErrorPage' import { ThemeByNetwork, withDefaultTheme } from './app/components/ThemeByNetwork' @@ -65,7 +66,7 @@ const NetworkSpecificPart = () => ( ) /** - * In case of being restricted to a specific layer, jump to a dashboard + * In case of being restricted to a specific layer or layers, jump to a dashboard * * This should be rendered on the landing page, since we don't want the opening graph. */ @@ -75,8 +76,11 @@ const RedirectToDashboard: FC = () => { useEffect(() => navigate( RouteUtils.getDashboardRoute({ - network: fixedNetwork ?? RouteUtils.getEnabledNetworksForLayer(fixedLayer!)[0]!, - layer: fixedLayer!, + network: + fixedNetwork ?? fixedLayer + ? RouteUtils.getEnabledNetworksForLayer(fixedLayer)[0]! + : RouteUtils.getEnabledScopes()[0].network, + layer: fixedLayer ?? RouteUtils.getEnabledScopes()[0].layer, }), ), ) @@ -99,7 +103,7 @@ export const routes: RouteObject[] = [ children: [ { path: '/', - element: fixedLayer ? : withDefaultTheme(, true), + element: skipGraph ? : withDefaultTheme(, true), }, ...(!!fixedNetwork && !!fixedLayer ? [] diff --git a/src/types/global.d.ts b/src/types/global.d.ts index 42bdd6740..ce3fbc22b 100644 --- a/src/types/global.d.ts +++ b/src/types/global.d.ts @@ -28,6 +28,7 @@ declare global { REACT_APP_STAGING_URLS?: string REACT_APP_FIXED_NETWORK?: string REACT_APP_FIXED_LAYER?: string + REACT_APP_SKIP_GRAPH?: string REACT_APP_SHOW_FIAT_VALUES: 'true' | 'false' } } From 5fed05e5cf0be76c871e3e724f8b7ee143e70c3f Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Wed, 5 Jun 2024 01:42:51 +0200 Subject: [PATCH 28/38] Rename a component, preparing for extension --- .storybook/preview.tsx | 2 +- src/app/components/AnalyticsConsent/index.tsx | 6 +++--- .../components/{ThemeByNetwork => ThemeByScope}/index.tsx | 6 +++--- src/app/pages/HomePage/index.tsx | 6 +++--- src/app/pages/RoutingErrorPage/index.tsx | 6 +++--- src/app/utils/renderWithProviders.tsx | 2 +- src/routes.tsx | 6 +++--- 7 files changed, 17 insertions(+), 17 deletions(-) rename src/app/components/{ThemeByNetwork => ThemeByScope}/index.tsx (82%) diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index a17c4bcaf..7677f19cb 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -2,7 +2,7 @@ import React from 'react' import { Preview } from '@storybook/react' import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport' import '../src/locales/i18n' -import { withDefaultTheme } from '../src/app/components/ThemeByNetwork' +import { withDefaultTheme } from '../src/app/components/ThemeByScope' import { initialize, mswLoader } from 'msw-storybook-addon' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import { handlers } from '../internals/mocks/msw-handlers' diff --git a/src/app/components/AnalyticsConsent/index.tsx b/src/app/components/AnalyticsConsent/index.tsx index 721cdebe0..4c8ff5d7c 100644 --- a/src/app/components/AnalyticsConsent/index.tsx +++ b/src/app/components/AnalyticsConsent/index.tsx @@ -6,7 +6,7 @@ import Button from '@mui/material/Button' import Link from '@mui/material/Link' import { Trans, useTranslation } from 'react-i18next' import * as matomo from './initializeMatomo' -import { ThemeByNetwork } from '../ThemeByNetwork' +import { ThemeByScope } from '../ThemeByScope' import { Network } from '../../../types/network' import { AnalyticsIsBlocked } from './AnalyticsIsBlocked' import { AnalyticsDialogLayout } from './AnalyticsDialogLayout' @@ -63,7 +63,7 @@ export const AnalyticsConsentProvider = (props: { children: React.ReactNode }) = > {props.children} {/* Theme is needed because AnalyticsConsentProvider is outside network-themed routes */} - + { @@ -80,7 +80,7 @@ export const AnalyticsConsentProvider = (props: { children: React.ReactNode }) = onReload={() => window.location.reload()} onClose={() => setHasAccepted('timed_out_matomo_not_loaded')} /> - + ) } diff --git a/src/app/components/ThemeByNetwork/index.tsx b/src/app/components/ThemeByScope/index.tsx similarity index 82% rename from src/app/components/ThemeByNetwork/index.tsx rename to src/app/components/ThemeByScope/index.tsx index da52c9481..c96cc09c2 100644 --- a/src/app/components/ThemeByNetwork/index.tsx +++ b/src/app/components/ThemeByScope/index.tsx @@ -5,7 +5,7 @@ import { getThemesForNetworks } from '../../../styles/theme' import CssBaseline from '@mui/material/CssBaseline' import { fixedNetwork } from '../../utils/route-utils' -export const ThemeByNetwork: FC<{ network: Network; isRootTheme: boolean; children: React.ReactNode }> = ({ +export const ThemeByScope: FC<{ network: Network; isRootTheme: boolean; children: React.ReactNode }> = ({ network, isRootTheme, children, @@ -17,10 +17,10 @@ export const ThemeByNetwork: FC<{ network: Network; isRootTheme: boolean; childr ) export const withDefaultTheme = (node: ReactNode, alwaysMainnet = false) => ( - {node} - + ) diff --git a/src/app/pages/HomePage/index.tsx b/src/app/pages/HomePage/index.tsx index eab589ecf..0d53f27f6 100644 --- a/src/app/pages/HomePage/index.tsx +++ b/src/app/pages/HomePage/index.tsx @@ -14,7 +14,7 @@ import { useTranslation } from 'react-i18next' import { ParaTimeSelectorStep } from './Graph/types' import { BuildBanner } from '../../components/BuildBanner' import { useSearchQueryNetworkParam } from '../../hooks/useSearchQueryNetworkParam' -import { ThemeByNetwork } from '../../components/ThemeByNetwork' +import { ThemeByScope } from '../../components/ThemeByScope' import { NetworkOfflineBanner } from '../../components/OfflineBanner' import { useIsApiReachable } from '../../components/OfflineBanner/hook' @@ -168,7 +168,7 @@ export const HomePage: FC = () => { )} - + { onGraphZoomedIn={setIsGraphZoomedIn} /> - + diff --git a/src/app/pages/RoutingErrorPage/index.tsx b/src/app/pages/RoutingErrorPage/index.tsx index d581f00b3..159b4f68d 100644 --- a/src/app/pages/RoutingErrorPage/index.tsx +++ b/src/app/pages/RoutingErrorPage/index.tsx @@ -3,18 +3,18 @@ import Divider from '@mui/material/Divider' import { PageLayout } from '../../components/PageLayout' import { ErrorDisplay } from '../../components/ErrorDisplay' import { useRouteError } from 'react-router-dom' -import { ThemeByNetwork } from '../../components/ThemeByNetwork' +import { ThemeByScope } from '../../components/ThemeByScope' import { useScopeParam } from '../../hooks/useScopeParam' import { Network } from '../../../types/network' export const RoutingErrorPage: FC = () => { const scope = useScopeParam() return ( - + - + ) } diff --git a/src/app/utils/renderWithProviders.tsx b/src/app/utils/renderWithProviders.tsx index 8120e51c7..2556b7361 100644 --- a/src/app/utils/renderWithProviders.tsx +++ b/src/app/utils/renderWithProviders.tsx @@ -1,6 +1,6 @@ import { MemoryRouter } from 'react-router-dom' import { render } from '@testing-library/react' -import { withDefaultTheme } from '../components/ThemeByNetwork' +import { withDefaultTheme } from '../components/ThemeByScope' import React from 'react' import { useIsApiReachable, useRuntimeFreshness } from '../components/OfflineBanner/hook' diff --git a/src/routes.tsx b/src/routes.tsx index d9c9098ff..cfb395f37 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -26,7 +26,7 @@ import { skipGraph, } from './app/utils/route-utils' import { RoutingErrorPage } from './app/pages/RoutingErrorPage' -import { ThemeByNetwork, withDefaultTheme } from './app/components/ThemeByNetwork' +import { ThemeByScope, withDefaultTheme } from './app/components/ThemeByScope' import { useRequiredScopeParam } from './app/hooks/useScopeParam' import { TokensPage } from './app/pages/TokensOverviewPage' import { ContractCodeCard } from './app/pages/RuntimeAccountDetailsPage/ContractCodeCard' @@ -60,9 +60,9 @@ import { FC, useEffect } from 'react' import { AnalyticsConsentProvider } from './app/components/AnalyticsConsent' const NetworkSpecificPart = () => ( - + - + ) /** From 97e2bf7eb043c4a6d901f804f01b3b148972b3db Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Wed, 5 Jun 2024 01:44:38 +0200 Subject: [PATCH 29/38] Rename a component, preparing for extension --- src/routes.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/routes.tsx b/src/routes.tsx index cfb395f37..d9f60e242 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -59,7 +59,7 @@ import { ConsensusAccountTransactionsCard } from './app/pages/ConsensusAccountDe import { FC, useEffect } from 'react' import { AnalyticsConsentProvider } from './app/components/AnalyticsConsent' -const NetworkSpecificPart = () => ( +const ScopeSpecificPart = () => ( @@ -115,7 +115,7 @@ export const routes: RouteObject[] = [ ]), { path: '/:_network/consensus', - element: , + element: , errorElement: , loader: async ({ params }): Promise => { return assertEnabledScope({ network: params._network, layer: Layer.consensus }) @@ -190,7 +190,7 @@ export const routes: RouteObject[] = [ }, { path: '/:_network/:_layer', - element: , + element: , errorElement: , loader: async ({ params }): Promise => { return assertEnabledScope({ network: params._network, layer: params._layer }) From 329580828c44f0c282028b7eca44520579e8c381 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Wed, 5 Jun 2024 01:58:31 +0200 Subject: [PATCH 30/38] Change semantics of getThemesForNetworks function Up to now, this function has returned all the themes, for all networks. Now it will only return one theme, for the requested network. --- src/app/components/ThemeByScope/index.tsx | 4 ++-- .../SearchResultsPage/GlobalSearchResultsView.tsx | 5 ++--- .../SearchResultsPage/ScopedSearchResultsView.tsx | 7 ++++--- .../pages/SearchResultsPage/SearchResultsList.tsx | 4 ++-- src/styles/theme/index.ts | 12 ++++++++---- 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/app/components/ThemeByScope/index.tsx b/src/app/components/ThemeByScope/index.tsx index c96cc09c2..a8e3b2905 100644 --- a/src/app/components/ThemeByScope/index.tsx +++ b/src/app/components/ThemeByScope/index.tsx @@ -1,7 +1,7 @@ import { FC, ReactNode } from 'react' import { Network } from '../../../types/network' import { ThemeProvider } from '@mui/material/styles' -import { getThemesForNetworks } from '../../../styles/theme' +import { getThemeForNetwork } from '../../../styles/theme' import CssBaseline from '@mui/material/CssBaseline' import { fixedNetwork } from '../../utils/route-utils' @@ -10,7 +10,7 @@ export const ThemeByScope: FC<{ network: Network; isRootTheme: boolean; children isRootTheme, children, }) => ( - + {isRootTheme && } {children} diff --git a/src/app/pages/SearchResultsPage/GlobalSearchResultsView.tsx b/src/app/pages/SearchResultsPage/GlobalSearchResultsView.tsx index a847b50de..166500163 100644 --- a/src/app/pages/SearchResultsPage/GlobalSearchResultsView.tsx +++ b/src/app/pages/SearchResultsPage/GlobalSearchResultsView.tsx @@ -15,7 +15,7 @@ import { Network, } from '../../../types/network' import { HideMoreResults, ShowMoreResults } from './notifications' -import { getThemesForNetworks } from '../../../styles/theme' +import { getThemeForNetwork } from '../../../styles/theme' import { orderByLayer } from '../../../types/layers' import { useRedirectIfSingleResult } from './useRedirectIfSingleResult' import { SearchParams } from '../../components/Search/search-utils' @@ -30,7 +30,6 @@ export const GlobalSearchResultsView: FC<{ const [othersOpen, setOthersOpen] = useState(false) useRedirectIfSingleResult(undefined, searchParams, searchResults) - const themes = getThemesForNetworks() const networkNames = getNetworkNames(t) const { searchTerm } = searchParams @@ -51,7 +50,7 @@ export const GlobalSearchResultsView: FC<{ } const otherNetworks = RouteUtils.getEnabledNetworks().filter(isNotMainnet) - const notificationTheme = themes[Network.testnet] + const notificationTheme = getThemeForNetwork(Network.testnet) const mainnetResults = searchResults.filter(isOnMainnet).sort(orderByLayer) const otherResults = searchResults.filter(isNotOnMainnet).sort(orderByLayer) diff --git a/src/app/pages/SearchResultsPage/ScopedSearchResultsView.tsx b/src/app/pages/SearchResultsPage/ScopedSearchResultsView.tsx index 27cb31e5f..0030c0f0a 100644 --- a/src/app/pages/SearchResultsPage/ScopedSearchResultsView.tsx +++ b/src/app/pages/SearchResultsPage/ScopedSearchResultsView.tsx @@ -7,7 +7,7 @@ import { getInverseFilterForScope, SearchScope, } from '../../../types/searchScope' -import { getThemesForNetworks } from '../../../styles/theme' +import { getThemeForNetwork } from '../../../styles/theme' import { RouteUtils } from '../../utils/route-utils' import { SearchResults } from './hooks' import { SearchResultsList } from './SearchResultsList' @@ -27,12 +27,13 @@ export const ScopedSearchResultsView: FC<{ const { t } = useTranslation() const [othersOpen, setOthersOpen] = useState(false) const networkNames = getNetworkNames(t) - const themes = getThemesForNetworks() const isInWantedScope = getFilterForScope(wantedScope) const isNotInWantedScope = getInverseFilterForScope(wantedScope) const wantedResults = searchResults.filter(isInWantedScope) const otherResults = searchResults.filter(isNotInWantedScope) - const notificationTheme = themes[otherResults.some(isOnMainnet) ? Network.mainnet : Network.testnet] + const notificationTheme = getThemeForNetwork( + otherResults.some(isOnMainnet) ? Network.mainnet : Network.testnet, + ) useRedirectIfSingleResult(wantedScope, searchParams, searchResults) diff --git a/src/app/pages/SearchResultsPage/SearchResultsList.tsx b/src/app/pages/SearchResultsPage/SearchResultsList.tsx index 9d40a7a91..f20da2258 100644 --- a/src/app/pages/SearchResultsPage/SearchResultsList.tsx +++ b/src/app/pages/SearchResultsPage/SearchResultsList.tsx @@ -15,7 +15,7 @@ import { TokenResult, TransactionResult, } from './hooks' -import { getThemesForNetworks } from '../../../styles/theme' +import { getThemeForNetwork } from '../../../styles/theme' import { Network } from '../../../types/network' import { SubPageCard } from '../../components/SubPageCard' import { AllTokenPrices } from '../../../coin-gecko/api' @@ -44,7 +44,7 @@ export const SearchResultsList: FC<{ if (!numberOfResults) { return null } - const theme = getThemesForNetworks()[networkForTheme] + const theme = getThemeForNetwork(networkForTheme) return ( diff --git a/src/styles/theme/index.ts b/src/styles/theme/index.ts index ff2cec728..a9752c730 100644 --- a/src/styles/theme/index.ts +++ b/src/styles/theme/index.ts @@ -9,7 +9,11 @@ export { testnetTheme } from './testnet/theme' export const tooltipDelay = 500 export const typingDelay = 1000 -export const getThemesForNetworks: () => Record = () => ({ - [Network.mainnet]: defaultTheme, - [Network.testnet]: testnetTheme, -}) +export const getThemeForNetwork = (network: Network): Theme => { + switch (network) { + case Network.mainnet: + return defaultTheme + case Network.testnet: + return testnetTheme + } +} From a8c3990610c90ede7f59a33acc3ea583b8576320 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Wed, 5 Jun 2024 02:03:29 +0200 Subject: [PATCH 31/38] Rename a function --- src/app/components/ThemeByScope/index.tsx | 4 ++-- src/app/pages/SearchResultsPage/GlobalSearchResultsView.tsx | 4 ++-- src/app/pages/SearchResultsPage/ScopedSearchResultsView.tsx | 4 ++-- src/app/pages/SearchResultsPage/SearchResultsList.tsx | 4 ++-- src/styles/theme/index.ts | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/app/components/ThemeByScope/index.tsx b/src/app/components/ThemeByScope/index.tsx index a8e3b2905..3a2579bf7 100644 --- a/src/app/components/ThemeByScope/index.tsx +++ b/src/app/components/ThemeByScope/index.tsx @@ -1,7 +1,7 @@ import { FC, ReactNode } from 'react' import { Network } from '../../../types/network' import { ThemeProvider } from '@mui/material/styles' -import { getThemeForNetwork } from '../../../styles/theme' +import { getThemeForScope } from '../../../styles/theme' import CssBaseline from '@mui/material/CssBaseline' import { fixedNetwork } from '../../utils/route-utils' @@ -10,7 +10,7 @@ export const ThemeByScope: FC<{ network: Network; isRootTheme: boolean; children isRootTheme, children, }) => ( - + {isRootTheme && } {children} diff --git a/src/app/pages/SearchResultsPage/GlobalSearchResultsView.tsx b/src/app/pages/SearchResultsPage/GlobalSearchResultsView.tsx index 166500163..5d9e78c4c 100644 --- a/src/app/pages/SearchResultsPage/GlobalSearchResultsView.tsx +++ b/src/app/pages/SearchResultsPage/GlobalSearchResultsView.tsx @@ -15,7 +15,7 @@ import { Network, } from '../../../types/network' import { HideMoreResults, ShowMoreResults } from './notifications' -import { getThemeForNetwork } from '../../../styles/theme' +import { getThemeForScope } from '../../../styles/theme' import { orderByLayer } from '../../../types/layers' import { useRedirectIfSingleResult } from './useRedirectIfSingleResult' import { SearchParams } from '../../components/Search/search-utils' @@ -50,7 +50,7 @@ export const GlobalSearchResultsView: FC<{ } const otherNetworks = RouteUtils.getEnabledNetworks().filter(isNotMainnet) - const notificationTheme = getThemeForNetwork(Network.testnet) + const notificationTheme = getThemeForScope(Network.testnet) const mainnetResults = searchResults.filter(isOnMainnet).sort(orderByLayer) const otherResults = searchResults.filter(isNotOnMainnet).sort(orderByLayer) diff --git a/src/app/pages/SearchResultsPage/ScopedSearchResultsView.tsx b/src/app/pages/SearchResultsPage/ScopedSearchResultsView.tsx index 0030c0f0a..b5e4676b5 100644 --- a/src/app/pages/SearchResultsPage/ScopedSearchResultsView.tsx +++ b/src/app/pages/SearchResultsPage/ScopedSearchResultsView.tsx @@ -7,7 +7,7 @@ import { getInverseFilterForScope, SearchScope, } from '../../../types/searchScope' -import { getThemeForNetwork } from '../../../styles/theme' +import { getThemeForScope } from '../../../styles/theme' import { RouteUtils } from '../../utils/route-utils' import { SearchResults } from './hooks' import { SearchResultsList } from './SearchResultsList' @@ -31,7 +31,7 @@ export const ScopedSearchResultsView: FC<{ const isNotInWantedScope = getInverseFilterForScope(wantedScope) const wantedResults = searchResults.filter(isInWantedScope) const otherResults = searchResults.filter(isNotInWantedScope) - const notificationTheme = getThemeForNetwork( + const notificationTheme = getThemeForScope( otherResults.some(isOnMainnet) ? Network.mainnet : Network.testnet, ) diff --git a/src/app/pages/SearchResultsPage/SearchResultsList.tsx b/src/app/pages/SearchResultsPage/SearchResultsList.tsx index f20da2258..d98f07b38 100644 --- a/src/app/pages/SearchResultsPage/SearchResultsList.tsx +++ b/src/app/pages/SearchResultsPage/SearchResultsList.tsx @@ -15,7 +15,7 @@ import { TokenResult, TransactionResult, } from './hooks' -import { getThemeForNetwork } from '../../../styles/theme' +import { getThemeForScope } from '../../../styles/theme' import { Network } from '../../../types/network' import { SubPageCard } from '../../components/SubPageCard' import { AllTokenPrices } from '../../../coin-gecko/api' @@ -44,7 +44,7 @@ export const SearchResultsList: FC<{ if (!numberOfResults) { return null } - const theme = getThemeForNetwork(networkForTheme) + const theme = getThemeForScope(networkForTheme) return ( diff --git a/src/styles/theme/index.ts b/src/styles/theme/index.ts index a9752c730..a367f6682 100644 --- a/src/styles/theme/index.ts +++ b/src/styles/theme/index.ts @@ -9,7 +9,7 @@ export { testnetTheme } from './testnet/theme' export const tooltipDelay = 500 export const typingDelay = 1000 -export const getThemeForNetwork = (network: Network): Theme => { +export const getThemeForScope = (network: Network): Theme => { switch (network) { case Network.mainnet: return defaultTheme From 3daebf4c5c2eeec565f6f5b5ce4e51f8a4b46044 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Wed, 5 Jun 2024 02:06:55 +0200 Subject: [PATCH 32/38] Extend getThemeForScope function to accept layer --- src/app/components/ThemeByScope/index.tsx | 14 ++++++++------ src/app/pages/RoutingErrorPage/index.tsx | 2 +- src/routes.tsx | 13 ++++++++----- src/styles/theme/index.ts | 3 ++- 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/app/components/ThemeByScope/index.tsx b/src/app/components/ThemeByScope/index.tsx index 3a2579bf7..23dba0716 100644 --- a/src/app/components/ThemeByScope/index.tsx +++ b/src/app/components/ThemeByScope/index.tsx @@ -4,13 +4,15 @@ import { ThemeProvider } from '@mui/material/styles' import { getThemeForScope } from '../../../styles/theme' import CssBaseline from '@mui/material/CssBaseline' import { fixedNetwork } from '../../utils/route-utils' +import { Layer } from '../../../oasis-nexus/api' -export const ThemeByScope: FC<{ network: Network; isRootTheme: boolean; children: React.ReactNode }> = ({ - network, - isRootTheme, - children, -}) => ( - +export const ThemeByScope: FC<{ + network: Network + layer?: Layer + isRootTheme: boolean + children: React.ReactNode +}> = ({ network, layer, isRootTheme, children }) => ( + {isRootTheme && } {children} diff --git a/src/app/pages/RoutingErrorPage/index.tsx b/src/app/pages/RoutingErrorPage/index.tsx index 159b4f68d..c19db1ac9 100644 --- a/src/app/pages/RoutingErrorPage/index.tsx +++ b/src/app/pages/RoutingErrorPage/index.tsx @@ -10,7 +10,7 @@ import { Network } from '../../../types/network' export const RoutingErrorPage: FC = () => { const scope = useScopeParam() return ( - + diff --git a/src/routes.tsx b/src/routes.tsx index d9f60e242..69c64d5ed 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -59,11 +59,14 @@ import { ConsensusAccountTransactionsCard } from './app/pages/ConsensusAccountDe import { FC, useEffect } from 'react' import { AnalyticsConsentProvider } from './app/components/AnalyticsConsent' -const ScopeSpecificPart = () => ( - - - -) +const ScopeSpecificPart = () => { + const { network, layer } = useRequiredScopeParam() + return ( + + + + ) +} /** * In case of being restricted to a specific layer or layers, jump to a dashboard diff --git a/src/styles/theme/index.ts b/src/styles/theme/index.ts index a367f6682..da7188d3a 100644 --- a/src/styles/theme/index.ts +++ b/src/styles/theme/index.ts @@ -2,6 +2,7 @@ import { Network } from '../../types/network' import { defaultTheme } from './defaultTheme' import { testnetTheme } from './testnet/theme' import type { Theme } from '@mui/material/styles/createTheme' +import { Layer } from '../../oasis-nexus/api' export { defaultTheme } from './defaultTheme' export { testnetTheme } from './testnet/theme' @@ -9,7 +10,7 @@ export { testnetTheme } from './testnet/theme' export const tooltipDelay = 500 export const typingDelay = 1000 -export const getThemeForScope = (network: Network): Theme => { +export const getThemeForScope = (network: Network, layer?: Layer): Theme => { switch (network) { case Network.mainnet: return defaultTheme From fbe90b45de170af250dd5ec82fbc0ba9790dafb0 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Wed, 5 Jun 2024 02:13:25 +0200 Subject: [PATCH 33/38] Add support for adding custom themes for specific paratimes --- src/config.ts | 6 ++++++ src/styles/theme/index.ts | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/src/config.ts b/src/config.ts index 527106b3a..92ad4e2bb 100644 --- a/src/config.ts +++ b/src/config.ts @@ -4,6 +4,7 @@ import { Layer } from './oasis-nexus/generated/api' import { NativeToken, NativeTokenInfo } from './types/ticker' import { SearchScope } from './types/searchScope' import { Network } from './types/network' +import type { Theme } from '@mui/material/styles/createTheme' export const consensusDecimals = 9 /** @@ -213,3 +214,8 @@ export const specialScopePaths: Partial>>> = { + [Network.mainnet]: {}, + [Network.testnet]: {}, +} diff --git a/src/styles/theme/index.ts b/src/styles/theme/index.ts index da7188d3a..aabd697fd 100644 --- a/src/styles/theme/index.ts +++ b/src/styles/theme/index.ts @@ -3,6 +3,7 @@ import { defaultTheme } from './defaultTheme' import { testnetTheme } from './testnet/theme' import type { Theme } from '@mui/material/styles/createTheme' import { Layer } from '../../oasis-nexus/api' +import { specialScopeThemes } from '../../config' export { defaultTheme } from './defaultTheme' export { testnetTheme } from './testnet/theme' @@ -11,6 +12,9 @@ export const tooltipDelay = 500 export const typingDelay = 1000 export const getThemeForScope = (network: Network, layer?: Layer): Theme => { + const specialTheme = layer ? specialScopeThemes[network]?.[layer] : undefined + if (specialTheme) return specialTheme + switch (network) { case Network.mainnet: return defaultTheme From e54b9865eae2977ceec2f0035cc206c8586f5d7c Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Sun, 11 Feb 2024 19:46:46 +0100 Subject: [PATCH 34/38] Apply configuration and branding for Pontus-X Explorer --- .changelog/1355.feature.md | 1 + .env | 42 +++++++-------- .env.production | 49 ++++++++++-------- public/index.html | 2 +- public/pontusx.webmanifest | 26 ++++++++++ public/pontusx/apple-touch.png | Bin 0 -> 18983 bytes public/pontusx/favicon-16x16.png | Bin 0 -> 638 bytes public/pontusx/favicon-32x32.png | Bin 0 -> 1692 bytes public/pontusx/favicon.ico | Bin 0 -> 15406 bytes public/pontusx/logo192.png | Bin 0 -> 14428 bytes public/pontusx/logo512.png | Bin 0 -> 39759 bytes public/pontusx/logo_blue.svg | 1 + public/pontusx/logo_only_blue.svg | 15 ++++++ public/pontusx/logo_only_white.svg | 15 ++++++ public/pontusx/logo_white.svg | 1 + public/pontusx/og-image.png | Bin 0 -> 345077 bytes .../components/CustomIcons/PontusxIcon.tsx | 40 ++++++++++++++ .../CustomIcons/pontusx_horizontal_white.svg | 47 +++++++++++++++++ src/app/components/PageLayout/Logotype.tsx | 17 ++++-- .../components/PageLayout/NetworkSelector.tsx | 4 +- src/app/utils/route-utils.ts | 4 +- src/config.ts | 17 ++++-- src/styles/theme/pontusx/colors.ts | 9 ++++ src/styles/theme/pontusx/devnetTheme.ts | 21 ++++++++ src/styles/theme/pontusx/testnetTheme.ts | 21 ++++++++ src/types/layers.ts | 2 +- 26 files changed, 278 insertions(+), 56 deletions(-) create mode 100644 .changelog/1355.feature.md create mode 100644 public/pontusx.webmanifest create mode 100644 public/pontusx/apple-touch.png create mode 100644 public/pontusx/favicon-16x16.png create mode 100644 public/pontusx/favicon-32x32.png create mode 100644 public/pontusx/favicon.ico create mode 100644 public/pontusx/logo192.png create mode 100644 public/pontusx/logo512.png create mode 100644 public/pontusx/logo_blue.svg create mode 100644 public/pontusx/logo_only_blue.svg create mode 100644 public/pontusx/logo_only_white.svg create mode 100644 public/pontusx/logo_white.svg create mode 100644 public/pontusx/og-image.png create mode 100644 src/app/components/CustomIcons/PontusxIcon.tsx create mode 100644 src/app/components/CustomIcons/pontusx_horizontal_white.svg create mode 100644 src/styles/theme/pontusx/colors.ts create mode 100644 src/styles/theme/pontusx/devnetTheme.ts create mode 100644 src/styles/theme/pontusx/testnetTheme.ts diff --git a/.changelog/1355.feature.md b/.changelog/1355.feature.md new file mode 100644 index 000000000..9fc861e9e --- /dev/null +++ b/.changelog/1355.feature.md @@ -0,0 +1 @@ +Add Pontus-X branding and configuration diff --git a/.env b/.env index ffcfc490d..4d025fb1a 100644 --- a/.env +++ b/.env @@ -8,24 +8,24 @@ REACT_APP_ENABLE_OASIS_MATOMO_ANALYTICS=true # REACT_APP_TESTNET_API=https://testnet.nexus.stg.oasis.io/v1/ REACT_APP_API=https://nexus.oasis.io/v1/ REACT_APP_TESTNET_API=https://testnet.nexus.oasis.io/v1/ -REACT_APP_META_TITLE="Oasis Explorer" -REACT_APP_META_IMAGE="Oasis Explorer - OpenGraph Banner.png" -REACT_APP_META_MANIFEST=app.webmanifest -REACT_APP_META_FAVICON=favicon.svg -REACT_APP_META_APPLE_ICON="Icon Blue 192.png" -REACT_APP_META_DESC="Official explorer for the Oasis Network." -REACT_APP_SOCIAL_TELEGRAM=https://t.me/oasisprotocolcommunity -REACT_APP_SOCIAL_TWITTER=https://twitter.com/oasisprotocol -REACT_APP_SOCIAL_DISCORD=https://oasis.io/discord -REACT_APP_SOCIAL_YOUTUBE=https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ -REACT_APP_SOCIAL_REDDIT=https://www.reddit.com/r/oasisnetwork/ -# REACT_APP_SOCIAL_LINKEDIN=https://www.linkedin.com/company/oasisprotocol -# REACT_APP_SOCIAL_DOCS=https://oasisprotocol.org/developers#overview -# REACT_APP_SOCIAL_HOME=https://oasisprotocol.org/ -REACT_APP_PRODUCTION_URLS="https://explorer.oasis.io, https://explorer.prd.oasis.io" -REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io -REACT_APP_SHOW_BUILD_BANNERS=true -# REACT_APP_FIXED_NETWORK=testnet -# REACT_APP_FIXED_LAYER=sapphire -# REACT_APP_SKIP_GRAPH=true -REACT_APP_SHOW_FIAT_VALUES=true +REACT_APP_META_TITLE=Pontus-X Explorer +REACT_APP_META_IMAGE=pontusx/og-image.png +REACT_APP_META_MANIFEST=pontusx.webmanifest +REACT_APP_META_FAVICON=pontusx/favicon.ico +REACT_APP_META_APPLE_ICON=pontusx/logo192.png +REACT_APP_META_DESC=Official explorer for the Pontus-X Network. +# REACT_APP_SOCIAL_TELEGRAM=https://t.me/oasisprotocolcommunity +# REACT_APP_SOCIAL_TWITTER=https://twitter.com/oasisprotocol +# REACT_APP_SOCIAL_DISCORD=https://oasis.io/discord +# REACT_APP_SOCIAL_YOUTUBE=https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ +# REACT_APP_SOCIAL_REDDIT=https://www.reddit.com/r/oasisnetwork/ +REACT_APP_SOCIAL_LINKEDIN=https://www.linkedin.com/company/76729586 +REACT_APP_SOCIAL_DOCS=https://docs.pontus-x.eu/ +REACT_APP_SOCIAL_HOME=https://www.pontus-x.eu/ +#REACT_APP_PRODUCTION_URLS=https://explorer.oasis.io, https://explorer.prd.oasis.io +#REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io +REACT_APP_SHOW_BUILD_BANNERS=false +REACT_APP_FIXED_NETWORK=testnet +# REACT_APP_FIXED_LAYER=pontusx +REACT_APP_SKIP_GRAPH=true +REACT_APP_SHOW_FIAT_VALUES=false diff --git a/.env.production b/.env.production index 6551bf3ff..093aee1d5 100644 --- a/.env.production +++ b/.env.production @@ -2,25 +2,30 @@ REACT_APP_BUILD_DATETIME= REACT_APP_BUILD_SHA= REACT_APP_BUILD_VERSION= REACT_APP_PRIVACY_POLICY=https://oasisprotocol.org/privacy-policy -REACT_APP_ENABLE_OASIS_MATOMO_ANALYTICS=true -REACT_APP_META_TITLE="Oasis Explorer" -REACT_APP_META_IMAGE="Oasis Explorer - OpenGraph Banner.png" -REACT_APP_META_MANIFEST=app.webmanifest -REACT_APP_META_FAVICON=favicon.svg -REACT_APP_META_APPLE_ICON="Icon Blue 192.png" -REACT_APP_META_DESC="Official explorer for the Oasis Network." -REACT_APP_SOCIAL_TELEGRAM=https://t.me/oasisprotocolcommunity -REACT_APP_SOCIAL_TWITTER=https://twitter.com/oasisprotocol -REACT_APP_SOCIAL_DISCORD=https://oasis.io/discord -REACT_APP_SOCIAL_YOUTUBE=https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ -REACT_APP_SOCIAL_REDDIT=https://www.reddit.com/r/oasisnetwork/ -# REACT_APP_SOCIAL_LINKEDIN=https://www.linkedin.com/company/oasisprotocol -# REACT_APP_SOCIAL_DOCS=https://oasisprotocol.org/developers#overview -# REACT_APP_SOCIAL_HOME=https://oasisprotocol.org/ -REACT_APP_PRODUCTION_URLS="https://explorer.oasis.io, https://explorer.prd.oasis.io" -REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io -REACT_APP_SHOW_BUILD_BANNERS=true -# REACT_APP_FIXED_NETWORK=testnet -# REACT_APP_FIXED_LAYER=sapphire -# REACT_APP_SKIP_GRAPH=true -REACT_APP_SHOW_FIAT_VALUES=true +# REACT_APP_ENABLE_OASIS_MATOMO_ANALYTICS=true +# REACT_APP_API=http://localhost:8008/v1/ +# REACT_APP_API=https://nexus.stg.oasis.io/v1/ +# REACT_APP_TESTNET_API=https://testnet.nexus.stg.oasis.io/v1/ +REACT_APP_API=https://nexus.oasis.io/v1/ +REACT_APP_TESTNET_API=https://testnet.nexus.oasis.io/v1/ +REACT_APP_META_TITLE=Pontus-X Explorer +REACT_APP_META_IMAGE=pontusx/og-image.png +REACT_APP_META_MANIFEST=pontusx.webmanifest +REACT_APP_META_FAVICON=pontusx/favicon.ico +REACT_APP_META_APPLE_ICON=pontusx/logo192.png +REACT_APP_META_DESC=Official explorer for the Pontus-X Network. +# REACT_APP_SOCIAL_TELEGRAM=https://t.me/oasisprotocolcommunity +# REACT_APP_SOCIAL_TWITTER=https://twitter.com/oasisprotocol +# REACT_APP_SOCIAL_DISCORD=https://oasis.io/discord +# REACT_APP_SOCIAL_YOUTUBE=https://www.youtube.com/channel/UC35UFPcZ2F1wjPxhPrSsESQ +# REACT_APP_SOCIAL_REDDIT=https://www.reddit.com/r/oasisnetwork/ +REACT_APP_SOCIAL_LINKEDIN=https://www.linkedin.com/company/76729586 +REACT_APP_SOCIAL_DOCS=https://docs.pontus-x.eu/ +REACT_APP_SOCIAL_HOME=https://www.pontus-x.eu/ +# REACT_APP_PRODUCTION_URLS=https://explorer.oasis.io, https://explorer.prd.oasis.io +# REACT_APP_STAGING_URLS=https://explorer.stg.oasis.io +REACT_APP_SHOW_BUILD_BANNERS=false +REACT_APP_FIXED_NETWORK=testnet +# REACT_APP_FIXED_LAYER=pontusx +REACT_APP_SKIP_GRAPH=true +REACT_APP_SHOW_FIAT_VALUES=false diff --git a/public/index.html b/public/index.html index 1299e5f1b..c63f3cfaa 100644 --- a/public/index.html +++ b/public/index.html @@ -3,7 +3,7 @@ - + diff --git a/public/pontusx.webmanifest b/public/pontusx.webmanifest new file mode 100644 index 000000000..b8812a83e --- /dev/null +++ b/public/pontusx.webmanifest @@ -0,0 +1,26 @@ +{ + "$schema": "https://json.schemastore.org/web-manifest-combined.json", + "short_name": "Pontus-X Explorer", + "name": "Official explorer for the Pontus-X Network.", + "icons": [ + { + "src": "./pontusx/favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "./pontusx/logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "./pontusx/logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/pontusx/apple-touch.png b/public/pontusx/apple-touch.png new file mode 100644 index 0000000000000000000000000000000000000000..aa467c6b310d8051e2de75281ab7b38fa717829f GIT binary patch literal 18983 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 Y-?RMG5g>F|8UO$Q07*qoM6N<$f-r?H6aWAK literal 0 HcmV?d00001 diff --git a/public/pontusx/favicon-32x32.png b/public/pontusx/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..879e4a58e11799d927d4af541aaf9d89a82f8968 GIT binary patch literal 1692 zcmV;N24ne&P)0}bpk~4`GO-6>dNFUjmATb7fbjW$Ttr}w^%B|Goml1j{Q>D1 zK>zXG)Fm+;=6hf?L-M~UYHPNj?MpB{m-Q!@|5G#$(EN1HPnOjhzE^O51n+Oko0F8V zH*=>TFLk??&(7`(sAB->x|n1i<%caq}oh_0*z*GGXQoX_zVc2 zQ&Ynvr8C#Fo&oLi^2{2}9xDkQ&-s((0jSPY;_JrH+}2K4JU&yt9WMpd>>Z3orvVJ` z_B}pWNrS^+G+`XLcz9L0>|&)3xC0uLQI_-b0RLfm0BR>4FXdBcnZWmpxcn$qY>}5( z2?NebkI^&*CXN;EYGZ8I%G*^XzXGdym&!NJB2vuTsiwJKmjl3H#&r;$3i_!k?0HJD z0~^tFmV(?{?LnBe(72#Hy~Ox472=hO<(+#jQ#LkKN&hx1b1O=$!2$#K51?rN6(#>K zN4q)t-FshM0$dWzQQ!k2z6uxgY0u1TP&TMkl1y>Jf6ot7MZA_cxE4Bs7DxI1Ia;ys zgXq1#24On$1O($C&*0BZ^6YBNe6^D1MHK*HG+REd@N#V+tTrl^t5lF2$=xxb@UC&9 z-%KNRPDP&<|;qx01cCX`50${P`4Coy%)~2VL=NDzP5wS{N)t#(+hSjjr z#Yf=bQYiXRbW|r(SSBUt1H!DqAy}#;Jh&c9-S-#X3TweNC5bPSQ5iKY+OZFSNb#{+ zhTj%KFeoB@Dd?x7#BgE)bLZa%@JF2I(Y&7$1?RGPfPNVekMg~slp%Zq0?)e~+6zN| z)=nW7plLM|tE#$FV6Y0q9abW8X1k#cfZc+|-P!w6ySz$O1g4U_0N^b^o){5MyOz_|1*TK~sA#wBAPwuu0*I`=8yLM{I-!L8bC_3R-Vvd2 zmug*-#EAV#{_Z6dD+gkxviTO2aCM|_Q6APY_LndvWq&~U(GhSROhh%A#q7G~Ge~*6 zjc%}si<_8y2J;=onJY3wTk|{|NGP`sL>v$<;H-HAFqCc6mpXDRNqhq9*ExHfG_3n) z0B+2Z*8=k02z#3E;WU=XN+wA)jnJ;b`K`kData%fcOCJ_9DqCIf>Eynf{q$CD-_a! zd}&DS$G48!F}Iet}2%oCA0|gE@ z8#z55;p-6IZ{K?z&jZ!<{pFG0zTTmWQIdn9%EgB(8Rq%@txT+)MdlcoPi_N2*;e62 zIS>IRkL8w8+|EIvt!kR@(ze~xF@Va6eH8axL?tg|b z7XUVt^LP2i0ChI+YiiyxR_X4HWENnq1)Ch_q$iIt^#E}FpbQHPnb1o?>=h_~RV;q3 z3I%3Af=K!bU(bcvMF{+YYPlXE?9=gF#JjOf*15yA>ObVi&cv1T$OIpYT&m?yZZ8kO zzEsr{PovXKM|cgwqi%a2QjhnnNL-K+rWya=p_T?W*!<&D-dMhuMb(58Y00hxy8**R z^xjx-bKu7SByN}+S{gR*Pw?LJe+MASwI)-ITbjeIzzk5!{CCS08l~$z0LLX=?~0R8 mdbxP%)brl}bV_9VOMe2GtzN zb*jDUZ2_T3fP!W|KMcGA>w7>s+Gmq~*lJF8KP!I2%duF}M+_`h-&dm3W zX=L^@2Oelh(@p9A#xyg=q^Aev;|?ix^lF^9x5 z%)#|VjGb&67iXDsW7%eANw%p}KDW8~Ze4V8a?E#1q9(66+q4I72~Zh}m}g>9^Bgp) zR96x)9jNOH{ck1HDs5?wrO$f$bc4==@5pC5-{YN-|B09q_Zw1Z2AocogVPzfQnn_%3w$GSZPiIWRtq zpL@LdHg#Kor;zIj(sA@30^T6x zzmf6?;ge1Q?xXHw(vcpYax>8;eckein0L`p2gkQNxElK+$A21WHTpWm<13~81NvV` z-}%y?!+nl=JC>qgEQ?*bD2!|IBW56Ur^{A^i{73EcO5dV2S$@GE6Ox&8Q*MpT$hYr zkY#>K+gGYcp$Oh(tdmZUmVg0lfw56pm0kDl1L@0UsnP67J3B$d83r7uWu&hHBT8~i zA-d>6zk6w)sywj3%9Cw2l?D2mNc+p$GgFlTo4O`Gridw285&!mU0iNV8oWo5-z51& zTX}rz6S>ChM_WGd70?Ih8K)C9C8_eqpB@9e4lZjO5IXu#^;^#y~XUQ zo`>3i56ZI5$%WbGN8nacUZFbrq^HWCv77UN~yn{^bTJ~ zxf;Au%R6dggP8PA`+49hJWA!)2s(2tO?ca|wq zJVO0^N2@9o=IAp^{lVJ|y}L~3Pg>E;L2-B2rUVj}FNKzkYeMrw{MEzyja zvv(!~Jpbuvw(8ubFbV*(OEiN&P z<3BvaJCH$fV_S1Dd5!fca84sX*yFM^KWA2ff-`^24b8c{P!_{scLcD};OSQ;gs-)?(akK2%`NVw!H ziTk^-K7MA;LecFqAWy$Ae{i%uJgsWka80~@9sRxicZNqyGKe?!RZ`Z*&U>6U^$XC! zTUG|03!-s9+26}fpU!}%v)J>gEd}pE$1`UAa4_EiZ|#YUySrj)zt2fWUWU-xq&--3 zvTOECNAsTA`1*RCx4i766|zHX@9@?db9Nr=v7z}vhB-Qu!dK@h>mT5o3yn#RUNvWo z=AKU-X(MROWFEFcr;q#^b8=~>`GcTawmB++NgV~vfyQrn zaJK2z+8l;VI_ta&%%aV%FVd;N%eG&z4@e&`13mGj2U2g>Fy$?b;nX@% z$`hO{SE(cUzcVMF0hNybTJm?hwq8!2$FUuq`R#g!Mt%a5Itp%o8v)H*iDiBP?gmFk zK6p5wIe&n(C;WA$zn}7S#wdTeN`0wYC;vb?oVua)J>!MN)4c?A9)pgZ6DNy!ETV3q zFWWTRd_ny~k~>UeSLCsaUqbsD^fHmu>qK(sO#KS=SCZDazwHYCVH(&))akjJv7R1o z+g*A5Q5JK))0k>^$+M5o|DOhQPr?()8;8Rb*XX-AyqNuesg<5*< zebtIH@cl3N{f9VzbZ5>cd!M8U66rjjj^EDaoUA*N)n0z`E0_n}VYMda`IXN837C7Z zfSoi!zXiyuGv9L3waBZzK7Q7*`E2tgsqSIa=N01hu8L>&gy_b5xf zbl&|E7{uHRqQBxZKOZ`)>+Wk?sP9bj9d$1R&WXh67nap<7H`P-bS8(_CxAWwm*$w} z@VL>*6x?6rnA`ZL}z?^>&~s>sk4;s z)MdZrI=9$!b<{jeS@+617kitw=N!s8%*ol{Y?M3#+b8fv!WkwSqQzK-L0@(=S^bgy zY1TuNuPeXad7+nH*xcUjq~Z5^!eb?Hx%k5KM0m~c^7)jyj|#bOc5e(ze7#a|wU(!s z@CK;6Uug8DZUz1!4|&t5J5=`MZLOhW$kQ29vT<)|^}(9dJ1%SR3Sc?=QGfB*Io`_S zbnInBra3_TT<+_kH$iL2-j~VtqWA~yu=J*mellr)p7K257Pc}!X{h|rD23K0&lh@2 z%aPxWAN^JRIF5(Lr&fOMW8~Wgc8Yp~#grZ&#|WK0kO&5x%7nHRJQnviC*9eVt7igZ5V068t*>%fw4^l4^f=le7x^ zK3eOXeXc)sOR>50ktI#BD(wlriLnp4RQF4vxCxxe^^slQ-XLH69tR%tfjgm-e9t7E z&4p(xYfHN44c;SekS)nCfpeVoGr>0&s})DdX0&J1CLa^b@pfHp#eQy~KK@n%&5c?! zsg40zWhY^}Pe7x>>O9H6h(B$sh_^Cq{1w>JdUQKL^B`bfy#sq$r}ZP70Vf9@vi~p- z@3&N^7-W2yAGkZc4-$X-rmH)`keuKSgq~tV&%@i5_S_ACe8o!aLht=)q#dYR3Z8sb zKjn)vO?$=N&~Hmw@u$|%2F9K+rIML9;NkT-O8(Ks z6s?hDr`Po3;|jLuVb?t=5mXY2`W zbk1~ZwWV7RosnxJb>*4|%@w%XV-m(dAK8}nxNuBcEt$N0sie^T(8~+0S7PUw6DUj1 z!5jy&PeYeS$Tw5}7j(LW*sPuW4Ek5Bp>?6P-O|8LP95l~X9Xw?36|B1>?b~VaCcTQXwHd~tbL;~6YJRl;zeO6% zL-3X<-#Wm?h`Oh9v5siVwj_s-9~{4WpTlfS75H_@J5g_xF0PVH=l2cO@2yiVXOR9ShuO@&#d=iQ{-&m(q6?;B84`&^f=4T@QR)z?{hLb>{fW(U1r$1~`NvfY~;@0xs-=0V>OwQ%!LX2;-c zsa)}>d((70^=(&w^$p9GY91L+1z&z#@j->ws&wUi^IBrCb2G$K-*oI~GoOQdCGzzK z{|i4R@*2ZRy{$3(Hh`&BCAATEnR|0H`45!loq@13X0pCN)LS`ob(D0F+>U&Twe{^+8f)t!HxIpa*2+KA90L8*sVhxI#=83G z{0y&~p{2VW#e{3g7b%_*A7q%|bd?~#t&8v-Q^Z_VOS^p7NY+jhYpcP#zRr_lfN}5` z*pPE$@>t-n_w4Y!&I{Idb@qswX~ZvGX&(?sY}i#(BZ__nVPb zW7fH0sFgeT#%eLX(fUIBhVN)FmIbUUeP0&evn*}&Qcrnz=nijvx3XFEpud(>-xlkw z{c~HVF%U!AxJh?6im8Kd#BL)k1h<`C@49z6(29pUU^B=_eE(!#GV@+$ zXW!ksyXT&BHcCZF7VQJk2LJ$oCNC$Y2L0{(??OU=eygq7BLV<0VK$PID)N$&6wac>Z8XVNjF^?A|B$(YVG&Q zH^X}vLoMctm zZTxooOm-Vdy&UO(v{T!a+*R3E(r#`coz&0)XF6dwMuKy3%V8eV>x9m&v5u0qloAuUbr$=TFll!DwJ%wlz zm;#5bosJSlzrKBRj$4b-(zDNjnG&KHU3s&7mcjk{`CgN!HSKYK5GlSG(mH`dB~7Y9 z%crCp>wh*@d#y8HUjgwXu8pc#1)b1gK`>L0l>)r~_sQ=rOM>1(c9zq1gO1?he;14d zLzXx6CZfCi7iq*JSPV=)nqrBxGXQ`BATK4Z;k|O6f+|@6D2TdO~C75il$#UFD?(m>LOd??ZUqBWH1i@+>KB_bJ*SW$WM>tN0fOb!!}O}@a_#~1u?+k1y< zfC1Cdo6S?e9u@M)VEyx9!E**Ba)j)Xuy5`AJQq;F$RzW_g%@%lc!L51`$zT$SC|O! zXjm}l!QaF_e3K2>9oINUD+0GH3BKrfd*_(ILoXTaDYT~WLz;Ol_P-WqkZg34qZYAl zA%k@nyP}`IL;8uR_URFl3v*5h`iGrmn%lCk5ZG=Fa-;6arG)5=5C1zzFQ5-G_@bB9 z+d#B;SYA-)X1Xtv>-*UcVR^z_FV2E3R094s4X0iJK0zH60g#1#BYEAi+QK!Vtz_=| z$9Gcp-egVXixgir-@T%IIbTMlB`}U8rHtU~b^S3A_5Ow;=vV75OZt`GwA3ADpAci* z?O@pi65hr#W*)8$i3ON>a;k|e-O&BcZ>H3(G&UIPHXe)~mK+=Gp( zrTWhk8GR@8tyuaQzkS_p*WrYjH|;D4HX$9gXE{|m*u0XN4*Q2mL0d#01ph@*YQM8j z)HuE^5N})Q>7$t3`DN=J=2kS_{5&3eEn)PvbT&3eYP?e&8Cdi(KsbD+ylzG93P0el*!?>)&a=Uqm62$I_Zq!0jWnKVF0% znM}koBAr<|>Z9)*86mKh#PtM`<0*#KLCRo{^9!;Jy3TVy&2To*KEjrQp?ght{L>K} z060L6iRU#-y8X%i^sw_ZrYWe+uV^;GyupKLWgergv0I;oX1qNz0IwgScs9ht^3!ei z0+_ZwLfmZcirf!zs`sE>?{74>@!}MF3P#fE&jM2IdeKjs{-Xdn?__+WHHND#>|9$} zsqq9PIPPp$JX8Ae^+VK{=*ghTqhx$n^{OFL3wMgVwRORBec!5;*}6U{^F~~L$C#P0!0<=M zzB+8k{>&96zAS0wUA`DMZa!Eise94~w@gNd;rBM#q`lvKO7@v;(?2NSbmjVrX-QGv z##fo$19MHJf|?y=4I}6fc(^!ZF6OYw@X5x>{<(|-2lVe0@a@ucqVA~E)T;BQI|~zp z6dnY-c4T(w153pI)yo4}s#fZjH}3f-`t71l&q%u1t1)X(4Jv7bo)<4-7yp>=7VS)$ ziVxvLAY5M8ueBwue?og zf9Xk5Jw=sLf)k0+$R4n=e?>-vg1t*k#glq*10-8XKx7?+H+YP|EM}BVzJLFyp$jJiC|%wL@wtOCk2ZZ zWW(=^+it1*d&<|V!yn!zLNYBY<^|?3CPZ{zKWFqFlDU9V=#!BeDr{ z{sSRPwxN#%!Syq6)N*i4vg*b+Z?(45dvzxC+KD#J*$}!IU#4jDJkKE5WMxq#<7-Wm zI2QdU@}1e$Rn;mZnAi!|k8g^Gw_Vkn9`@zwbV@P=KlF^HZ<+hF!E>I0H=-wnyLvE< z-C0{LNKOS$yyIC&btX3$)bVBO34=}g=T?NVSuY74nanF)x)j%_g=Ln@g9KM!e?IF6 zzua4J+d<$IOZ?XiS+cuJ?v7FRF_5^L{+R7&{P>EK?oMKs_kA3bg;XM>j%w08bE>&6 zUCR1S_87xeWh~95hWU?B<8T!Jq*?p(Sf+<0SU%4MfNzH84>FBA4m_s#5Hd z0{!zLRGHG%wHFbbL<#z!Jky(vDx|QUi^?dvcOl){x3-o#*cBX+KT0eje2b@Uj>t24 zMZs@mt=_g-y~R|SrIt3s&vl)ue~jDf?Jb(%(#YbgpMXMa=TMc zD%P_Ayt01&X3K2>JPJm$ktc{4g460a9!;q;X_<^(F7Jy-}>Y`IG*2AnuZIa=lf zPHKjSeV+jh74_lbUf$dx^%nbQKRR4O6O5Wn1m!l(WG}9nRG;1a_^;IS*Xz6Mhi{_C z8^HS8%?)gDtdmBWQVW&+Soq~Bz0SQEj4xg14V1`!$Uvxjz@JZo9{N9AX{F$P@n zF;VLPJ_NUD_AL$7gP8&DOb|}(_{Q!Qqy1$)n(QxXMzjPz08`r5K-fma0jzw@J`)uN zJ+AQCBsN=@$H);p?5;iUBM*FzgPZT1s6cl^GU(>vLU$Jzr031kDC+}v5-|7@Ym@4GtCQR7`NKdxQvX`>8 z&K#ww3qeejHzdvk)?ZNpp4ZyN*+X5RNhu~aRvwCe-&P(}xC?kK(+R>(aPRfC~I5Y#Au=uT@Zp!K1-O$MwU2lbl{?Byq40l7l&&XO zjNcL?qyQ1q=jWgPJc+e?Eh5iD`WnsH;RS2t@Npr+mpTb^OVPeOF<8LgMd9$zn2-TZ z?$pA0RWBi(-2k#L@!EKe4u&9j+bV3z_fxVLyDp;D5r(gVtPbwFZ8V_oKm|rd(GPoi zYO`9T4kLBo(ksmbWZ+;M!F#JR9gLF~A#CJjXiim~{W(?lO4$B$s~=?dHiu>={$Q(% zWSeAX)-A@cuXCO-zXzv`PGL4B| z57I|rXgrXerRYyrF;wuoozr@OgHAK;kDuGjmW$HGb_L8K|BT$k1|HFsUqg$3SWKf4 zFLnJZ=yRcX1qGP!fL|%)Pc3(Ueqa9%D1Akd350v1J}k3f^59wYz`+)l85^$Ty_m2z zT*#w)HwdktFp$Gpvc}27@@nv2NAWG#Wvh)Tx~`aVH^gP&r~N~qL2KlO>&&AR?mBN9 zV%lVAVl*lHV4*`_A*s(Or)0b66*Tp`g@$Mv=DG%bIWqPi$%`my2JXYe@V^ZaB+PVv zAdy%hC&}o~81GwcP_b^_nOrG!Hm|nG=ewnIHSIPjGZA#L<&nbDsp3B;&HjNRReQF8 z8LSrwHrg8&>9AHA{M#NjYy#m&T+zev&K3o13jPwz1}m87{NL0B9XVT;h*okT1kP9$ z)rh1u!hG%y*rO8&@dhb;5avxMGVP|6-rhAh{|T&@m^W1iY=U$-j}~dmJ^$~Cb=1Cu z&e+K9Eq-}0u-kT6j$cQZARn1-`T`Tq-_i`1{h6r`i+sgm9Z6hSuQIbbHZnj?RAimJ zlj$O{&Yl;Yh1x3Q&qbde+LEV~%;TLA-^2@GpT@8lWX)ZeDmQ_TuEcl08X(dFj*1(dCU>D0HTB4mki!B8gOs?OZRGORJ+C(0wOVA%$BJyUlB=><L4}WY%hYysEF$Ehf8ydqCi99mL&r>R?wC8|^SQzI* zmi+BSFb+@e^^s+Mn_-_^=!8B*lwnU?@Lu<_^}jo3!k_7yL(*a{znE{6G=4D(zq`3` zL8wn!^q#4u@I_21K#7sh&yFr?tJwI=A-s&E_X1yvE|7X~5`B19us%nQqK_O&rso}=s{gVg?roId zB};+)Gu)ds!`BZ)Le;GL&q4f~#6J!2xW-=+WMPrgb}iRfK7w=2U)=p=NVc=4XlBIJ z2s`}S=z~Yeqh#xDQC|j(mk&@nJ}*TFuI{E0tyY_PiNpRt!!6?6*tIc;dvNr;i_w5g z3dGX<7Z2}iM+MlFjKA|QeFQIgDW&RuxmH!vhVkQnD|nfVPR~Oel#erkayt0i9>png zVI4wh85ALDXR`bI5$P3@JSd=PgjNs#;jMR1W$YtE)N}G-n(;uyha9KeJgY3HW~~2a zxz%m4c+CN2ILGGhzvo<41MdxF3g7m&%ZjFoDj)Yla^GJR4MXX`tEGX1C=WVu4sM$^ z%3zLYbp$0ved8MG^W{!nvBJWNbozz0;BlIekDboiJzmmORfjoH^a;`0)s z-9}SKgd+e**lc+^Gx6^!VUvS!4}6uyX7D1|6#8BDh;)@V+u{iu5T6)>BMf|pZRN>! zKn=9kSBJ*R>5eN1^t_{8QziaO8&+=zg3%IH!Be<*i|; z3yg77m1(;f#!Vl`-K}-YBxU9YrTcs_%A&!`Ow^a z3ZHy)u&NPKylxF6ar(GmcL}YyLzX8!S(F}o0^4*kgzOl!j*COS$t01n@NT9mBv3FHqHKR|Fd z(Jfr-9qJqn$TahzYwpK?9qA|YLq&^TNP&PWdX6!}lQ)wWZaKiw5z{83FGdPhliL^n zg9sChi6+54$9;At|0S%K0e=QzF~lvzAp!k=1Izl6vh1{)YV$P)>E|FTS@4@$__J>l zGoc`)%_i@&C2OwbQfVibc-Mh0i_noA?0jb@1M=^F@@%!ygE`rpd9s6o?kVa(zfj7D z!^}|f`nyFs1*)i0=01<`u7b%6z8p^^QTou!-<*wF#U@{KOB4lu&x`cG5Kf!w4hDbO zNCbPiAq4E3YHyWYVL7i9+^H@cx65qRbu>m6-{G75bP4*Vt%J!U^uPwKJQP7T4;6Jt){;cWh*opArd?OY1<~Nd6~sA)p6Xb8MP`cFN#uj#Weh zi_&|8|5AvgzfSmfYw)IvhNOO#s($N2sQ{#vp1s|Ftk;r*vq&%kP(*D^n}kG{aLz^_ zSTteGPq1oarWn$(gc7O6p9o5KPz?Fz^|I=Q{S*HEpe6`roOGVy&;5TyRMT9qyUB^- zqLY^m`mgcgH3vfIhWW8GqGR&B_e(XZ%>L&n&^Ot%r+&2 zycQBP(JByIRVY`(%u`tonLQxhP#iM+kR4kI7F004H~(slY2qEeDKzo0yk9l_dqxJ; znITihRxt#=A!SLB2@Tn5KLwZp-jx4>RbgrOjuKNN%Pov*QDlyxTwy-UrdSa zWT?8gR>gcQ)M(`oo!?B&8dXB~@Sr>TOoLg$gYdqj(r~z?e92}?<=5zQYAK_PFu2P( z6!*D+d`-oI=eOs?xlS-UD(>B zC?7#IRa;qJ6j~e2;=uDcxL{`&n}0SnOPj=!N!9GL(yW9rH;!e9~!W)Dm*0J5KNA` zh>hwruw!Y0x}mU0FK)F(e&HR?;ZO$!(Ltwy@i(p<_W_vg-;AQ}fP;3(;dQo;G}{VW z(wrPZJ~Cv;pnHKc&5f0ccWEVRT;Xo|_LQ}F3WD}gTI9F+sj@h4^uS#>_msH8`6ksG zs(*7B54zFgjU(Z>pnKeH>1!#l#z=3bM+9r9W~qgc+}oat9E+*_k;$|icw_fFFz{6v znap$*jPj#@ljcSknkxYplWwogYOTqoBzv}YNfgu8>xEXOsh#wF*3Trs+ws7O#FUz) zXS8d^aZ?)aOwitp5@r9|Ql%D+Ge)3kI{j8%ZR>;mW#^y0=jmCJqecDTZ66Fh;mCvn z5jSPPwgQ>^f>kHGCa~S!-ziy%0fi=l;+|?)3jK&1d+Esoy6wlE?lL~8r?wtXM%mu5 zGa1|6T^@F&tN6OOlOdV-iG$npVQc*GNf2)@lI1}?ifU=@M96qUTEwB7+Gnf}%#weC zF>`1Kj#=L~F8qQue#o`z{c32Z2eU?aL!N4GgHF8#wPPtN6bN`sgOue>G8bk)zNj2z ztl&frsUUk@|0D-J?u7y}@g>>)%VNg{(J2spK<`>lL9O!YB2>Y>Cdg2nn419F->8;X z5v|4O5xo(C6GLLJZSQUesvbtC*q1z=Y&J#U`YgfBoY^g(u=URx(xN>k=rpEZ%k{E} zhu}e~k|xF^Yx~H5C`x81YGchN>F2<0TyL2qn8Rv>hbO+Way`0>ITqo_(xg{pqn&Xd&Hxqv{UIDxVTxxzoS^3Asu3mXnpE!X@92djyKsG znF5yoZ2q`EoZVAjBGe|hx*-%N*^M-R#eh#m1mF6Tpo@|lkB#G=M;B8+igjw4F3hhS z)mS39Wt8w`O<|1gCPfUh65;jRM8hNg00!o`YIn%mqJm@h1lihWA)T~c^3LG#C|OTM zz?I>5U6)f94T|SoE%q*Jqi}-m@7~SXPfH?yWy$l|@cKvO`%c;P1irymIJJ#>bkdaT zrqa#y0QT7qIY0sN4sdKdpZ&A+9_z&S1k;Lc@Q*xDJ!ZvJ@C~H`&f=0k=50CfTFVOL zYZ|*M0(?tYGHZDA4f`355DKduwae`0=4%4kgIiCbO!7;vceTUYD0E}1Kn*}l!DVAn zEi3%uGL?zRQJK<0(VF;urktB@F1Fve@z`wV6Bh(gLOZl$y?fEjsXOx9tRaqh$y}i_ z4S^3a_Xr!#j#CRo547Pa6$z%;zUVthv0+?sXEnukTz^$)#SaRj8;i6>@zCwVKRQM$ zgpxk7MlmqEAuh+4$Sa7wSL5V8A0ECSI0Xq^9lg7U3Ow;b@?~pkD9A|HW+{KN8*{5_ zwI8^qL+CvR5f+GM@a&1K%Eats+Mbn$tCR{&FU5o9St z#u}iYwY+A<6ROC((o%dU;rQ31Q4^+c7|K&NNm!K)Y3$g|qh0!j;%kc>$FfcJt zg2TRr<)c#LQSCd2?EuFMyfUn#h{r#wiW>qP(LA5ooYLv<5M-U-K!h?GSyutEnq9#C zuT!;7hxwjE!B$w>Bn*>BCxrV^T||~UuaI$`aM(xixHIXvZ?d`S)KGU;1e(F;fJt*1 zWo^wnvnF9FEBt6}RYI+kLa|R&;?iFUM18P5Nb$U>l?dSCq~cUvizc(<&!mPtI# zc^OKZo29u5Wb7}8etL7R+RKFXTc>nDl|U%`TpZp~)(-CW zK;WmwsW4FHFgsY~vOdsDDWmS zZhqMttEQJZ-7}Na&q;4Eb_ra|JpWhL$sPX9o%#KctB*CZ21t0U2-}@tGWxsI4Jsde zC7Ioq&p%_~tsOH+w;)z^9IP`|p7(S-lv}y_?7C?Eccce}lfXjo2$9Ugb`visb7e&) z{?5=lsw3F@_9;6gC}POY$d)cxGUa1C`dMWt?PTEq4`@RgPZqfGRP z`e3-#^J|j4SUe9qR$YdouqVSeG(SJ=Ze{fbhSW|68tR9uGIRh9@nqB#wn2B-wa%xIeEnM9TYsR=_ zH#jMOXlBOr`#Gotr2wF-@pcGs-|z=8kJIAaE7MDbd|aMv>qNQ@+7wsz`LFK*iDhBe zN>-S0nW18aq()xyRh}swgzVJ!a?rxF*G)P^CJ3-tqToiytal>qw0z3n6)D+p&gZHO zFz&A+>v|buEn!8uO{q0SPCOneGA-(Xa^_SqaR;a`7jh84-OwwjJf*V4L9$ktEKm<< zah0!Ex+|W9H6}w+;d8(xjd;rVjQsqh#xBCwO4gjjitCGCcKhCg^-xvIB9VC@urPTC z`*J`dNBZN7JmjHTnPJT+w!S(EKik?fHVqo`>2&RzyfqvO_{6g|RpV2^!N%g7gJ9ik zPG_?T&usLUYl@Q-j zM2DWtD7pmGDe|kn>QbSqf%19X1oMBK7JVf$TYQYtCkQW=^MN4+LKW%m;h&K0v*q*G z>=i?PH7GOMBe^FE-l|1gJ65Vq7mzh)%*Lh?!e}(ngE@;!w9+2%`IYP)_X0ojDnZGH z4z=Q1JJ*^Fcuts!T5I>O>8f$~QpTUCf{$aacAG>C#>n7bSf`)fjrHEvEztgz&i;_a1Y%gwC8(k1q?3aWt&bbLTu26F1b3(`1+?rZaG^sTA_XbO{ z{!wQr9$vHfe-~}$01$t&;cl2)aT)wY(@PPyC6+m%Sn*8d>;b~hMKl^pHk`!~Npo*u*gA|4T zrvdxvwvD)!@3;+g_|WPB`2q3Uha+~3!t7JXU#<9t;bm^vq*&QAdgt-If|r4%j5;Vn zs@`djElFRS(9=*V={b0f-K2J9C}fZKIZ4uKLKadM0@+${@fB4VZ9^?KPe%ch8|6l0 z!cUIEn*=Y%&;Y>)iTN;~J$PLJgCR&oe3f}`UM!n@U>Iaw;yA9b#A3T)R5XIh10T>$fKP7KDPdYW*O>KVM$SBJTD)Wve{<2$MM)2z) z@1{TCb{J*S%@so)y}E+;iE~qdrQ$qp=K9ME&UkWbp)T){9#7!eB=Xbl*vpv)nxl1y z#T#<`(vx=ntjJr9?(p=&v`(%dza?$-(t;RiJvU>SAVp3TWD!9guwvVQ+9;su#5<7Jr1E8BdPfPd`&fXW_q9Q@m4i_SkqfbkenQ z^&IzfsXt&xXqwbxrh(9A?MWdHTLq}kLFp5R|0V(bcR8{Ep@e=sn-pR(Jwm}$jq4J{ zKJo{D1h8ib)T8jF`#_>nD!iS(UzkavXwowzQ(OKdgWqxu(~)C} zx53>uBryg*cr8hMQlxClo%t*19mNr9^Wc&2Q#w zmtZ~or%p4p^T)7{cVB3|aVMB&$Wx{YLo51k4SWp_hdH18=`iifnS2))liJaCCjKt&QIm+9&q;p0=8-O*|2=MAFJ?@u9QqYV|$qein+YEj2Pq zEQ+F2dT&)ps0W29#4U$dzP*MJ)|IRyn=ti5YKCbDIJeYH!aEro0u`4ZHf#>5lKeH~ zFD5)yn&?57;bPkztx4I^92(D$wxs8y>TE=YQM9<7#bWM6knjzZKcSl(3U1DyO}QRM z;`JG&?y$_US$=d!=?%`sZSq+$d zdVn#a6NK)~g3!&Xl)WCW%R-Dn2i3KUp1D`vAEZqwZZfATcP)STODfPV8x=r-*#lER z9jyk(E2)baP-0mk`!2(TX5N}8<&Wr@d^!^IAe`~tE46nTE0mqiEy>c35#)}EACvJ* zU77K+`UOml0C&D}_#X8T{)s)4>}5Y8P^X7p7!JzGd_o(Wf_;x|7mA}s=p7JZ-r!6x zLi2x2evAxYlau|XqO?0I?st9vfon0uON(WDlya`;PNufFCnMW(*H3+`3K7Bg_98lJ z@vrx6ytZ`x{N47bu9EfgN-D`kHs_Yi%2Qd_x0=BpTES4iOq_Baji&S(F{CUSV>Ip- zmW+~P?DvU=*lS+76aP^ViAFRta(EfB9U@dwEAU-EB+8KNvRYBnSJ`GItP(u`*DzdF z+EoSXr2EMrh3w07Y8y5x>4xh=;T6?aM(bO)s8Umw$dX=x>TF>!-Dc7h&KC9yqij2t zJKFKLB@7%SZK5QQdpb2Tg@om3Ht?>Yf?^V0FVjJC8g?T8Jd_F!t|T*U0f20@xo0W-*(0k@T?vPjCt!rRof zwSd`7+0wP$!RBMX5}f!S;rPIfnrL6 zdkf~}dAXwCLa3+Bgw=(&uARrjF`yWw=H;A)z&21bFMVa`|KZU z#KvEN2j4g~vJ39`k6SjcW|wxGz=1fwEx12=tqHfJzXpVUGZV$4kt#~$0@44WzC7}I zSTUh79IBDmaQSw)?j%ggBa=9q-m&feCS*0o6F|O&|82*SHA)^S8??1=qMM7+yVQI0 z^A}A|So?7`RNa;vSDWrL)|^KnB0r|vLS&Hg9^%inw zr-n5>awhQr8-jD@JuOxYS61AuDwCiFb}}Ev~iXY;)#2w+7wv`Ey1atP-6wG z3_{-%9Fg8g6F<~(e`z<9f_+4nw!7e>3Eo*`>Kfyn4YOQNj}{+CgE=XRgIO+B?al2d zUrxnOcmK$wFn83z*5B*J+U{mQL5^&nAxoilu&o4f@U8o_iVOwW61&TN`no+MIluGX z>MkU~$tSLoc$+;nCEl)jcFIRbx7sgk{du*0hF;XcM_tJZQOwx>NA+BJ%2z95Ej0X| z8c~;T1c}sOMVKzqM817n=jv=UztT>yE6Uw0IiZM<@3l50%4>@p>Zfx%mL$_}=m@!m zu@g<%b|Odu?W1nJ#ztsX9npu=q(4#yl7>Ta{djcBvNU{;eSrY!U&TEOT52xU%pkT> zQQK6qA}V)I&ubf!SA{(?B|`6nPY+xuCe!}@YQrJ)qoQN!gviMPP)aM4)r9BL{8>ie z0tjJ!8k1yH(AD$!id!i($59LWW;YY9JX@;oD!`DqD~=DFV69iutG>mUtf%olOqOND z^I3CF<}i;R*l^Fof?LZQde`&RekZWLsnv>S#~B66+x}0?4#{`i9Jy+k9#c@!Z8{7HhR-1rt%i? z^wm=_NlDNM3$0Lu`FC`{+G2j=LFOnf; zOI9(TK1h2A2c45b8I>6x6>l{K(rrft0NCWnS&8r=w<>GszMmX;s+vDq1XmX~S@I8V zb1G@&24iP-msDGd=ndIbj_j!suVsqcmH88GFhsj~k)SAEgZ{rw1fkPu(lf(nT?=H+T=jcg9?Knv#1+s>WKy% zT$x!PLr}FN%-i_Px5(G>h^+{dqc|VKLpUchs$DV4 zP}BSVre}QDBy5MDzdU^H)RaI$8m@t6Md?E&=}`j2-k7M%J1qu@833 zL9PGe4r<^a;QnvH3(*X*kWK$GNGtUGr!s8ucgf#UgqNoO)`NRFUCAor+^=h&1*1w;Svu^r z#a>i#?#uGGGPs{SYPUIZyeBPoM<)Jjuw`ga@>xrRt+eN$Vf_-dzWp{=30|yk;rvFO zS*>jR(*w#uv!)Enfjip+jJ=l)1OAkMT(Jo1EnJ+S%8#SaVQ~@YVD>vl{=Px*feVx? zd9AGy=+&*UJ(DU%E8LmON%IaKE$GWvI-8b}Vuv~zn)lhQzZ}^WQ?g_~lG&zg@9}Oc z`I?RmCP&0VtsBk@maoC9g7E(pTTIl8SV)>U*^ROjo4d2CSbhu@D~&nSsdbujOM8Ji zNNe_4Q@`5EaA2-j08|d|2Y7@eGZG zooW3?!W|l(;=A2HTF`jEy-0loAKJ-g)QFOtatEUyXxD%1^xXf6KdN-XOCYRt$E*&x z4w@r(;CtgIAVXP`rV}_@U5DBGiKiU~Dz0AM97b6V;rK=gcVW|{q7jB*HdYgPhS4*j z=J`rm^;TSj`3$pFeE*U3^Y`gbjhOI*S;3+k`RYY~e^ITc0XCFa`abW>iXZoHHWRo< z4ytEiwuf{Oc}YL~XKmA)_Gui5BHJ{(zF}*zfE(vneA5aZ^_Fr%{G8n!uy9N;k|+!H zKTj;s2oI*z|L8cHF_7SHvj%MI#Ob@U6?RjD*9l($enr0Q!H``IB{Gv*)@g6T1TpWX z?q|;ssd?(Y(VE&mW8U^K&;zB^r4n2q*!5{lQPx@PPMlpCU(>_2=M*o(<@OEVXiI+F&C1YkCwY-3JY~Wqf1wac6-~e^FFD{D%NBWLg!P9hRkrw zv+g*?DK*BXt;at)uyQWt1U7HpD)y?FGV~#ZLC&`mlODLg3%uBIWYLy+=&oF&>fV_+ z^E$k63gV8STa6PtiQ1mm7ukq-8(YQscLksD*5?eb1(sRMcCw*0!NJL@$4HY00TPrM z!ilma{Z*|Wgf5SwUw5Xe-IY_=J4<(txJE3V0V(2GU z&8!DEwIz3)OpojNGo(zW{I8=k(vmy@b2KU+!GakQeDQ_L$DWs_^e(jnC@YO#58 zRh_U>oHlzq!~Q?B+CE(7qgw_QhSejCAZf_>xhNbI!`?0ObNf5C?^SX1`PCRe9VgKEEke~Fox30WB4pL#F$Cf z)9q+Kf15lTg3q4=6&ku)tKM^_WW4=v5o9!O!b6nhez>*&=m z=ko?gMNYB9r=OrcKp~YjHkm!%8E*8TCzvCe9j=|nFpEI*5d5hP31K1x!XMWhoeTI% z;GSS-#KJP{I0Qjp(74n+T$g;;O77XRf#T&)5-@o_X2bJ=>5yL;dQoE#dVeo^ia<{7n0JCFwbjDKXgFCsrKBrqxQOT;1Z%i|`DDEoh9(BD%)Vrxv@kr?3~7%OBu zs?Q1Xdz;Oe`cka<7a^;c5Qy!U%w6Dz2TC{d)8o>e%fH6T8D|@lh48dwF`wu-^TIX` zuJwA|XlFJ48j2?gGV3PAG);JzHY|}^Kuv*vWqZ*$Lu!voXD&vceLV&fj8L%6M!|LG z=v$isNcECCJj#tq%D`^yB~Y9veC#YW`ZnTw2$3%EVn@N??@vg%--PI_!Hn^kQXQdhIv~AWHFl*zZGr1p~ zkw+~^qQ3?e>=A0bkKPBz@d(`qm`e53s~Z_QT*6`%)#r=XfS*{8N4)=dnE>qtE7a1o^o8DJITYLBEZokh9mMOdusW)j&5rP=t(9KOZ{E$trixocbnKK7~kRufT3RM)QXZ? zFT8(df15FN!~UU2=o0h{6f26klbIXcQILWEDLIX$cW1kbAN23*N_bMn;xD0K!eUMl zFB&uozTHK2Ken!GY7u0$xu(-iy4Z{%X$Xy#sZ TD!R~fX8?I=C8=5olaT)bEe`_Q literal 0 HcmV?d00001 diff --git a/public/pontusx/logo512.png b/public/pontusx/logo512.png new file mode 100644 index 0000000000000000000000000000000000000000..88006d2a7df6bf78c3d3271527856f94cf673211 GIT binary patch literal 39759 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 literal 0 HcmV?d00001 diff --git a/public/pontusx/logo_blue.svg b/public/pontusx/logo_blue.svg new file mode 100644 index 000000000..986b51129 --- /dev/null +++ b/public/pontusx/logo_blue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/pontusx/logo_only_blue.svg b/public/pontusx/logo_only_blue.svg new file mode 100644 index 000000000..873ccc556 --- /dev/null +++ b/public/pontusx/logo_only_blue.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/public/pontusx/logo_only_white.svg b/public/pontusx/logo_only_white.svg new file mode 100644 index 000000000..e5d7441ad --- /dev/null +++ b/public/pontusx/logo_only_white.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/public/pontusx/logo_white.svg b/public/pontusx/logo_white.svg new file mode 100644 index 000000000..83e28864b --- /dev/null +++ b/public/pontusx/logo_white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/pontusx/og-image.png b/public/pontusx/og-image.png new file mode 100644 index 0000000000000000000000000000000000000000..c56245edfb63bbda87082b1ce8336cf4295fd44a GIT binary patch literal 345077 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

GgdjR`UXB&|S%p(;C%^E1s;)x!{z*D3$fm{f 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 *r&{U3{)h18J2&I&5AQ&dQ0`W!HJ?3GDL!!R zS8)E>r$nvS=WqDWCU^y;oZ?S^<5^g_bfI{BPj?so;5T1_o9?_9ckUQ--biVuGiA-- zYAK7BLCPXgGaHO3RwBlz-3imyy~r&~LTz1HWhf;r5Y99l*YnLttL8RnsfD4N4;}Wm zRsYKa3DQEiMLO}=lnt@pL2})uxC%;2(jfh7ZgW&sV_|lHS-!w=5lxUssD#!WYUE5V z<$xV)PQg&}nWQOyjl}JA6xCr5-4-H}pQ`R`SjGHYUv35GiaQZ|XryVTNg~5oIo#Q0 zC28Q6mOkJ5J5yz6uL>DfXulCC+RFxS0J%6{S4wkba=E~MOZh#tPtxWRUYfWOMZwMD zO++N-_nFi+of=bij#QH0WnNmbxpYE?wLHSPU3Dz#>&E=y0Srz@<10scLQEu%`JMGE z7UA&GaXh+rKeiq^io=sr?NnQzCr`O*%`#mh8N(jg5aM^q7#Bb)onK}olV*n{;9THA zMw3|zW_HmO)BL39KGo57W}E3~l+_T)D*-Yxx#2vNI&q|xA>$n6cU-3ZB~vyt8p$ zi2>Kg?h_%Lz9|XiH+4-5$RcWX@uawO-sxNHIGVzaC8TT4nU>HDY-(y(YF<6D z{te$gaRoFb@LwNAog+4Z>Wq7A^ObZ(qey4Rq)A%8M>0QKtuzTuRqs=g6rieUQs1T4 z#Uc1?J@)eAOv*5uu1VldW0lGXl{eaU0a5OnggYjeWi+ASnwQ-t5pS@)LT-`TWwAB+ z%Ic@saYg1Q9piF-i`Hz40lZpgPilu1txH!UU@)m+`EWm$jtpXGupgsCedz7!K~Gm5 z^;#|3AE*M%YGDCIIx@GuGtk?Evrjk%6O&UoIzE8|hmK(H{)5=L?*Ja!dk{O1j$?xL z%Y+2>3s|3=PY}+$D8ug*c#c#qi)rG#{$xwZB)tas%+utuA6zzp*YAqlr+RJ>lNAEW zgHHKWJ|CQ;BW&aZyx0I+Y_OKwNO74YChP`-rsh#_bPltbyJ0unl`bj23n-$5Qs(w; zD&-;{bc~yjFV0E;PFS}ZNfIwSySuyaj8iw_yIXg*+u48e3pe2}{_wZN#R#|U+M8Q- z)c_gn?!r|sdp;J;pV!fwBmyvJWC$<3=zP5Ldq2W8|9y`appnuyJ~4@FKJyj)?7-nR zedivt1dHa+jix6d!ir^!+g%l-+E25>mzLUCEQUDBo!6q{^t*Br87e-5BVX*8+r_j2 z`|Yiy@NNj`BO{GR0uI^0LLX3R8{=CmX(uw*d|VDC3k^!wtvLl~LJ^vnjmr<&*^6}& z%A_3>*{4w9bpM!UJuJnCC8Xda&0u?KG$>K)=M~*22xv-6)8v>RXL1B&2kldVGn*nD z{vMM~7vg2Dj-xTZH1G`7)G=!zRk=@c0KObe2*@?({8+iDA(^AvDH+BBJ>t?eDZ<6z zV|k+`8(X}gMo_pSoMYuO7vT3IH2KbrFKV01(4;hQX&K@%{La&)Yh1cqdZAc!Oi`Mo zDWM^GBI$`2@QLkC>!Z1+ ztB#(oI)(=Nuyny3Ff+~paAbTO2M!#@zJmwx_}&B9ec%wbA0Ee^aTe9BQuj7N{xaIf z@2-OSA^IgU41)Rj&mLu$YotbXDo6(9C02<$iY;iM1bk7! zCR@xF1C|bjD&XWQA8%I4VoO4zU96}yQ8RL*<@~0KLuu6PqE?(l;!%;|4g%ql^R_OC zifUy7oV_3&hqF}-IM;1PkNs$;Vm05ra!Ikmfe8^7jtpw+_lcW-fR{Yy0-Sv8IzRB1 zGJbmRFY%4r?(!)g}vFWf-uwdvm1ZoOKNsB*X_o3|-kcG%5G;0_`e5V?lSL_$kyc?2OzbCknv1@( zT5E-}=n5$3J`@5gfsiEz3xh-ksY}7K)-^4zy9X)qI&Wx`_c?3#-vy5id zFNS{G$MAPkA`8$i9m64qKDYMaDA>;3igOOg3<8JjKYI|IJy+4s4B#P9nlyn{^F&Qq zbaSKDqb-~~rcOiIF(Ic`n;$DrAU7y(GfI6aPB8dM3X&87kV1M+EqH3mu!QsTwE^ql zed1hAEw#9N)ig=g+}W>50ckTZPw(7oJx77djgYPh$*_>&KJC2W0jgN=Z;14#{0zs^ z#0B?>J$fXDCKo*k?2QG|+(mmQbWI!p7P2F&ct^-~Pd#f}M1ICpHI_sdCIGsU1ao`3 zuzJoQ7K{vG-pC*Z`uot=-PLGHHB0&;iEbAl>*Oi9R3d5=(irIN!9Z^h7S12V`c)0z z@9@!a96EFayY?N#u6+mb$lil^?8s3Zol3RZSiXHK%kQpBi6ZRS-~s+5YaWv2Z2$`vC)B#pO!-s{3p|z8%CJ|VQOCF{ zTKWFXS~4Cx1fnl`D+6$-Su9x{)~X-{qP9`jI7~^vl!y`8`G4o5&P=C@Bhs%(>#{@I zEf8xkAsf+HhmRgD1`rXUueZBB-xRep0Q$K)dW1{NvGo3Yrl^Fc;K-dQw=p+ z#{TtJzl#SSc^q$l{VT9`r9J&}=bkaV`=g)7Lx;wZ z1cjQbuA)KKyGl4<>FSLu3DA@m;_lQ3iR07)<0Otn8}t*>zyYA4b^DT2U|xm89>XH8 z@VhhuL;bg{b+t_y+18u{psO#+ivtFYPijjXtg=o-T#;G%+g!$-FY+zcIBD<}Wg+XT zJ|PAu)uNfROP55n9!2)45}F{Z>*L~$BywL}EvbFH;Y*z)xI^tj2EHqL$d|gsLK)_3 zU0*d#G5ciRt*ENamd4To`>d5<30exwY?5IdscR$-X%?xf`U(2=h(DWR=4g_n;`+vv zrAg`&q{bQK61pZdzKBk%x_e;}nt*VYfkZBcBJVfI?-HUmsI_432$&gDX^I1fj$+UL1K7HA zA08b$h@FSWacF9)d0i&w_p)-?rwcIp+vvO(1d^; z)(N?+r4ag%RJ$-IPnmFi@qFgFFOATI#Qbes{h7@aoL`=%q$A}Er@N;|>tdO8w8DAF z3HLwpSmF0fOity_(P!>{5GQ=}-|^<(y&Szpgwg{KZ^c{R`!Rgxt_Q#jyyG)!EOBqy93(pxI!r#8}RapJ0FX3}{ zY{rfQM}Yobyy5JPc*%1w#6w#j$De%kOZe9x--loP+57NUS6zzp&OR0OT1^A#-u*A1 z!oT13K#rddA3RieZ+Gt6?Ti)(!K~IXtn{cP8~D|_mPwt4W+#lGGR6~xHv>Mo7g9Ln z0d~T`mqRhIz7Hh0`H-YBsx9j!a}G%@-`R@^RSvCrk$v*fRCIo2Xfnr2 z>OPqW2ywRr~;ab@_Wpfmdxo(2n%|9uzYk73+D`B{>Tsp`+L#d z)itASVW#ul;mg$G^CKeEYc-4x^<#9XA8VE_!uaGQ4jejyoqG@9vE5^MWb7ce9~sAZ z%3gjqBXU{5?=dzB1TxJh*L*sp$o#6HNxFA2G{wv>W}oVCIAr!ineY0Sbu7udc5F!s zG?U=iSt|<2M+)grixZ~gDI0GG!StfeD%DCv7a@?oXm`c)-|)q*sHufytT7c(8hW8# zeK#04+KZAX_|tP1Oxs3=T|5&IFDou{sQ!iTlHF|$ni@F=pfxEUkwFU`iZtrt$Kp+cUFr!rIE z6w12in0q8i6%9pYNzReBe%!8Y-#iP{j#AgUHX3tEJ+fC#yY)FwY*}-Pkdf>GC{hU1 z&)7~AQ~W*w*;=Z)gg6YaR!Ng@pITA)sY;`Awl#=LrG>+hIMHWMD8mTh^q8u6BbRoo zJ&>}S7mk<9F*1xx$}pdvDywU>@3VQ1^vGGKEn!4YG=7>y>y0XPO_3-cTN-BB`LXnT zTF#S1E}IT@f4zp~L;YAae*}x>j$(AM;g2Lqd^X4v@*@$<9RR&rxI=fnhPlH7m^(ax zW0o((_{0Rp4jjf~yZ7OtonzRthH_lG001BWNklAszYF{` z4%qbh`4N!j)B7m{D=MQ2714wsP5FHa)j6#DgiUUu#13L97h-IyZ$*|!Dsn_Yng6zp z3EghEH$^IV$ckLGGf_+dDkNyFlM6`x3F0JSIu(kc|!b|8q9D6Gae{^Nni z@U8#;A)f#A^P)Oo)RG#Wecl=P$gMxYku<;FZ~Oes*u8rXUip&e;cMUeKK}Q0-^9MD z6t6q?Wc<-@U5eGqmuSx$9_+73_L2t56#evcb)jdZEBEsxAsoMMHNN)GSK}W({yF^V zb>G6PKlW98rcgPw+Z2P zsbq8B(8#q0)RbD;-B!_pomGHXYF#6yxNaLhG?WxqqkdDdwnS{Qc zZuIqZW6``(oUnEZ2M!&@_T6LHx@!y%?>&I+M<+yj!zY(RycZLt97=&NBEu3xmT2E4 z+ZYnlL^DWJNGI!c)t-7eqmZ+vemTj3K;Z+dMp4Peurbm#DzALiR+KUCVg*D~A~>{^ zEq2t(k-FgOjO1>6HcB3q6jBgGX`B8H!vpx--@FMYZde;7*e0i@@QLfbhO0jGMNBeV z&r!Wz!{o#yhUztZ==Uze3!ZU)F14`g&-s_X5x4Bvhp+z0EAZ^6o!_zdOiWJV*4uxK zE8qDsJap)&L4W?_J@1&M_`sjN7OR#mj(X4L2e;tLKmP!3-L~7?8XH0(Wasz%X>J*) zoVe}?sE{LHsd9Cma~*(&KuCs+SUvU3J)e{kZ##Bh?zt^BtF;$qE8UpL4Dv#n{u`5+ zF^C+;B!5?In|MH$`W4(KOQClX?ky0m7a%bJ_1ctFo+ikOC;NCq<*hVHk*_^TO?x2` zwJDzsH03vfynHHc7Eu&5_VIhn7-?ElE;_0eZIt*6cE{`!F%_O)*)d*lnAk3t$=&kZ zEbv~{*()o<5CDS8@)Hwsj6 zD54Gm+f+)E55$s`Hc-F6xVIbY=8t08!a0~bJcz!YZq)vNiLxqcY*%C_Qi1Q7yfBrf zICNwjJNNF#Bir}j-d$tZGd>yQcb|Uds`xz;;0?<#vdd*+t@()hL|1*i>9E797-Rmf zhBYT&O+o{}Un|9azfA!U%l1V1d%{B0Oy9A+E0lMyf=1K|;#Iv?a?Om8#bA)r!KXO+ zVEmlilqm~AIWD36np4yGB4GE?NqqNvci^P8E3jMtt2*|sT9RPZiX~V( zZwR0M?oYhJ;sxuM;RA1f9ab%sgI8(F*!0)g8zJEhf9PRr_ZhQee)xD46G~; zK6k=Rp24VylXv$^EWHJzr@`;sUWq5;1@`lyo zpu7!Atu?1OeP2#4$I}#wreMbyk&N)sMEP!mCdistEGpf$Le9S+N3FTix~2l(r4zc4 zg@BnYf^k`IH%?tTALp!Ji8I!(#Hu9=FgiGZ?yh>f0$dq&_bniq3{mW6MIbC0#L}@|Z<#u`(uALMW;I_sn77MjKp89D+54ttO4VMwnfd zWMfj}8_n@t%hrljW0RT@W1PR~;mks10)DjT5T5$B_v3$Ed@e3|#(7w*kh`_R)> z$ALpfuw(ZgjE_&?xOJ;_5T};l)t6s_@gs-vrq6xbZdg)+Z{PM~oO1kzjz?eZKX3?R z<5SHJixVA}={t9i;S1mVeokPk==TfOFT?xZ_8P2QvPc^{IXQ)GJ9eSFy9;xMhtS~tyImI6yY1{P#aTQmmvm_H1k-P0ir}Z+lfVD zq|m#iC7|}tm{Jia9T!~`s<*(}SvM7l8fq&^*=X6KtuZO=H>#w`Bep_GY4-VBukcNClaRWkt?I&a9+!Uye7@r2X$2HCn^h0Hlik$-gskyqm@Q z1jl?3Ns})vu00P{c#YWF5mGh2Y~4CJ$fv@~4cOCTq}`O@nx9%Sfee~BKZZEtQw|us zs!X(Y&?O*YilPaYce*;HvSZELd&+q^Xv*FMq^Ho?niVMw8cO4JflF1%u#iLP+b6GV z&!w}dyg`|M;!exuI2q=WgTBk{%5)90U4~hJEfeDB=4CqPE-K9S8C;>Rk#*?}*=*8I zXuj@%MQCbSnsdAAIAPHotXez|^G1fz)7>?#m=7c1U_Vhl?4XI{!%6TZat3O!V+f%} zg#MmxtXeW3D;LkhnMaP|@ttG1|FNC;$*%pFmj8gB42_>fqJX6t4a9*YVbmUylX-J=nNl7=yjtn4C(n``{7$*CRVIHa^jQuAiU$ z=_S&-5R%ratjs5|K&}m8No^;8Hfd}Ptf4?1oWO0Kl%w@EPeg5NC32aFqf++VH$izb zT$)ZINeh#Xu_}HFI|Z&(326#vsK~JYIb?M2j5J^)#{| zj+VZ4!MLV+(kaW($w>Oa8f@L;9y+jrm~{^|oC$KT(4r-L^LFWR^Q?|JK0 zSh-XOuO=p^@PEI26R!N==bb`X1B95dW}pub9Xb+p?rbT$z9QDr`WQBTAxGLr3OE3) z=?AR5+(nYaXo%N5IEE83i-zTLYJln0%a0;JN~MM>g&pvied@@Vh_x@;mb~10lU8Ut zW*sV7zh*jseM~Za`&1=OO`a=K|D%fiEpm<|W2)x&DT=c#NkzkEDNSrRZcGl_l4)k- zQREn3r?!xN;IzNhC}$$EGsuED6j=v!VEsBplS`MI*Xis?Vdjd@_)LLeMV{52Bv?Dt zkM&FDVcEjD7#ZltuRhagY|omB*rnF^XWW+&7v9E?~U+qolj>MoMu6>)}QvjgUjNAjfx#z zD!_Ne=Et679NUAbLsEbpf5OjP+S`pU{N?ZA{PoLm{SSWDJp4(!n0@03Nt@~eQz<@m z%bhrR-T;oS}nmDryP%g1AFn!dmqUgmjry{?gub9eh6orbS&!iT4iGE;Nc^9 z?caV_>qtQWe)`xRTzuL_tX#UNvUlx2cnI(K$4}s0-~6E!r~`mYHm=0`{?ra$ed4;W z;dLMSBBl^7G`pg&8}E75#dz~8FTr>J`$u^E@KF)3vZrlxOuYj?KQ+#OY5=-f;p-Tz zex~&v1v_lS$QfHMc}pIWDjO*eIlA^K9}`OXdSgaRu&iCUOMZ|w1w#TP6)Du|tE;7v zMY7suq2lSTv@z+JYQV$kFzG1RCfT-jKA?aEXFhXgl>}vy>=Q-rQzvP%oe5{#XhM_` zSe7@+j`6)W_Ewx=uPNn9m2=ulN`0(MtkI0oyQnWeafL#+5jE z?Q$%hH;UeAOcVUor`V=SFMw_1P*v=0azO7L{2a#)V5SQhJwY+ zWgW8e?}#5mp5m+ir;uli?tl_e2?APr#`&jX?TV$9yk~N13LpB^7x4D$Z?%HI0Py1D8sL?g zHaIakg^z#!2E6X0*JFa!8b{eaamrXZ(2Fw{j^btKpNeBm&I%%?WNZ*?0)Fbz-9oYn9h_hHHwGgA)VK8dVZSNvC=f@Y^ zq{7Z2RXoNwRw}Ri9dn!6LO|P zppopHQ|SZj8poB0PyhWcDK|~o|B+{_Iw?Ke?>T$XDE{t`e-}O7T_7UN9UaD#PCXGX zyy!e!`qZ=WvU5+t)b8E5bL-9qD^R8$rvQBRdq2f-qkTAj!!bD!>x@k&pl|H6Nf8{#2Omt!Ea257KJuBb;&mUp9#anC^tOx6!uwx;IezaY&%zZid@$1VppwG=a%8? zOXs7>rJ-DBFQ!YE>j)CEG(4-LYed|Tke^&Mx$G1lKl#p>PY#-3OVzv)#Vd~Q6pe>< zo(neSZB&$?z&;_kPZR{4s-&q1kZvo?ZR^y_!n3C~Rw*OHBx9(8ec}L3+Ib)f(u4?p zCxMUB37TSc4GPFGh7Mr4BMS393SF|K(*RT1ce%za?(N3u%NF3=4Xbd%+GSWcI*jgm z{Rt5X{r}g8^M+cnCx{M<+Rau?MhFFP)RF{){k>SeU=EI1G#5(-dO_n8*xd}?-~u** z3!I_?GE8E#AX0|0;>R1vMJ~Vx0vT(*GjY6EYKOVjyoNO=T@7`kK}vd97Pn1o5B2v6 z7w-**BXx$XQ6gp~A9A|E6yYN45f1jH%%iqseA_*Snqj;xvpcI%Q)_N%_J@#UeV5x? zo!>C>q}kt7!YAMITiAHas@&V^wHii-2C#JT0zCD}r=q@ZFaB%uBgUKw zND_SE_Iq$le+?%byAFwR`_WaeUn8uR zBv>?W1fTfEt(a(c03^k5NrE5|A>QG38QYvoVatveaijICDaw;(H=V>ZqA3>So(3Qb z`J2yJ4u#>=+5WWBtg@tJdrE*T3NPl=YAfwAFf8!1Ka-?r-lVION=c0%t$#k)Rq7VtFnO< z#4Agt$c@HZ4xh@BaC@BJDUQ&vc6>f7v0A z5+&R76&tn_G|6Qc+5e}O>CkS%Imf1rBcJHDxTae;7I80K|DFlwdF(j&YWlxKe-cyprz~}PJ=rI%XG^q}Q(g>F%l{qA{i2u#YPFauFy!-{|s@J^~ z^>laPtW%Ch_x`>3)-UoP76bUg5AMOb!7d!XVV$N_8X(q*=o#CEn>Rm_lPoD3HL-># zj^OkYHrxGu~OdP0Qeg0mRNw_t@6XM4rv6xYtdO1?GpuJ_d}5`mC*!G zWSFW$BGT)1D{J~?SQY%_(t~D{CI|MhGP&FVey0-iE25t`BC>@m)HtPdO@Zguh;Yh+ zQJlYFB~Dwv3XA3rqo=FuSJ77ggYd1gbyFo{UF9*@fl1VB35EyyuxjyKteZcIks9I9 z;c*k_yGJyEQ9S zf6l8m$V~nvkFp5KJsX$j*IbERVP(C@J;p7UxgEpey1@-Oue$OlYt%>xpmHhwn5Z77 zV@@Gm6OJrM1oB_B<|L1tnZbBtvPx3DO97A zglDe`nj~Pj1mO0a6-fc_n8*(b@NeSaK_9=n=xEmhRDzOJds=?>sGtn1mL_lQGDUB= zI`^tJwyr06T4Y!iydm`ga_7}}xvk#WOwlCa_Ye=dcq<8wD{D;FR&oOP{Yr6ZQA?;w`Ux6_^=+b>sJQk!K9xt)KfQhzM_Z)r+m^ zb2IU2)x3KBC%@*bP4Lo_*5L2{4YPg9FzbFX{MZCgv8_SO>g)M~n1CihzzjQ!)2xrA$VpZe=H zbZIFIj8GrAM&bq;x`vE1sf^)PeS+}4B*S*u4yY?$U23gnC z=YYDv7Zw1;3{U!>i(c3}rm3CMTJs*R*FZ@Uyn$xLk|6+xCsT}b>OJ4SeQMS7$e+W^ zz8dYWEAr2+Pt^IUKg| zpwQL-GF&FMEB%8l!m!<>-RR`P#ElwUIYrJ+N0Bus37YCxjU{~!<`^B3Wdr(Q3y8!D zyrw@D#*-`tB`c05>9-_oRUIxf1vxk}2Z*U-71Uv?7r%eyW%$Yu@5TRP z?>fVzDzf%lx4S3jJmfIMA!ig+FfU?U*DNYoS1}>1Sri3Ccg+zO%!&yXLClI0jDR9Y z&M<_@si(VdeLp(gP*u0??HNQr>UqW)>8^V#o;v5PbKdjI;R@56{S+AY(gOHZ6{9ac z*8pP0W6HIoKtVD6}QYWFE`e+Eh^CS7%*ZBVBvz^gfLF2uDjFXjS57k6)m*|&{H zv%G8rc;&;BFTac1-uhH0Jhb!QDk&b5$6SOY2VP=v9ycyO=TyvHu?|%Xw^kOg%u<+S zK`xPk#s^N#@1&ICg>mO$*r47LCV|x<$gZOX0sy5bt*pWB1BXz0xE#N3-hl<7AVNgL0U?ZbQ|lu4Ja$G#QH5euyx07 z%zpoCY^wI;SP!wYw%DCo}C&t2TbT;%AJRvw*w)pSYcThBcA@}j9Q001BWNklIxii}wzP+Y>vZdFS0!@nmZ-o|Cdx8JYE zr7tWJ$}p?UW2`-$?sDOZejPDHRV4{L^ep{7pOd;Jg_xqgqwDy&%lE39Jd14!@Gy)h?^2hhdjtrBzbYbaXvinomr?BiatUX1eyQmgmxfCS?JL5AB-eAuT!a7{>Eg2d_ArgGj6wyWZ@)J?+%H(Cu=eb+cSF&(B7m!{zvO z$9`-mt%6rorNbeuvc2>AsM?faM*Tr#!)f^(sYVZ@G9%R0K+oG0hkDnqYw~f9-8_(TBwQrT_c#LeT&ee!Zay* zf?EBUL@ASvZznq7j9QwRqBgZkNkqTyT^x&`ZM*j3mqQi0xE*c2D53y2yz(LZfdIx` zdcH0+E+sh;|GMrf1Oh5%eD;(15GKH#?|u#f;D)O&{KGu40s$2-zOew;y|S3QH!kkc z4zs6>M`5lWyz=?{czo_Vm^%M+6L>{6bHA&u4!ig6M^Wn*aB|Vqr+a6dRooVDuHC}j zPi!Py)qfsVc&H+bLFRcF@xm7=XC3BdXQE|cev{8(YXH5AJ4V3B`x<;$w`m)e{rD?B z{Pt&jvHOrM4=l6XqG3EZa$8|Va;+V!B$tAd+vH>1`KMxF?{3IQOL3gYATd4;iTOEb zmY;*+$MwZUBTvDvzi-7;Z!X3c8+T)0gI_3@!ydNbzE~;Jk^TVbKo-AHAUh+?lyQ?+ zS{CME$_2x4-78Drr+k1^2D}p0$;nKYZc})DxIvg8Fa;3rcA;584)U`y{{5Pn#Tf;?Ln8M#^M+;uK1!?bJaj21ZDvwY z*_rS-3~zV46y#>5BR4A@y}K6SqLC+K+wOgs_ra%l`P*Ny-xm-XcogPvHy*%DA-+f? z5_MpqjIxaC*T36F!I<*FH@ZX&vhyTL<=r-}AHbY|~L>P7sh%@9;PTg4chTS@%dE)kou)wW9 zrcbhCZUs_V=~klglj##UXSvMffe4hf8gt0llG=KNpdcX*y;|gXhu@fk=?a(2scsH_6FKmG~;f?H4Si<&wwp856{!$KzTQ{aYImVg2ncj@^^(12LU zNr|}q`l~?*!9$;ZXIg~;m0-%-!EnOsNB#YXdt&+he$096f4Dx>{zycP<~H=Qp6xMn z@;DQC+;%%%ih^@b9*o!5 zZb5jpXyH_`lB8M1R3EHsmJv}Ga~23pV9yQIwzE|u6t~L-ccKgZdvrnn9$hfz!V&ml z#gBOQy-)Db)_p*%uIkj_^=JUJbn<{wT++QQ{&~qr^zGhRin!nIEm2xZGLGxp9sPTD z!Rqx}@Xpd@nDxo`kq{sAJZUpXlIX1sq0I9ka)aw&*e*ZsbSz%J8Vfh?6DkX$n_?$` zm&~|9U|9X>^+UokK8W)@Ni+biz?c!;N)oP4;A{qhTuLhRv;#phQk8Qivd;IG$q9IJ z?70{=xDQg25*mFj;^RE%+^!X--*`1HAGrf>FZmkNmVO`f$YO+26UJ$8wKuHw9QOJb zgDm{{J?!)2`S~B=fg7&0b!IDyf{R9+goP`A#kVEpk=tKhat285a}_FXJnuv_&(EP8i2r`Q#&qT>7J!~{%$f5hwKx==^HV7`Rg_{_+f7l*oC6dRo>p!)*+I0 ztoOUX&KY7GV91`pG^Cm(vbaNPAa1BFNfx^X7jhrDQ1bPe~ z)W=b5xjzuVf8Sn&FLxcl$PR_LWz5BR;Fi%CcU-Y9oq05ql!8gGF2Pgt-bTH*LHDfG zeJ0JB84M$9Ns;Y{&KKvXLUS0&h_E3*f4B)a} zMR<4$J8bZ=m)?qiSFBs`dq*CRyRW|rH(qlwF6!1E+p4{o^}?Gduc~&`-qVKkL!az) z=p8^|QjGOVxDxuF0(}Z_@!o*$4QAw>C0CekrANUfTUtsI&N+1`-kdcB^KZHg?Goc` zovSQ?%aRdBrLc2a5?;IZLOgZX^%&fzTcd+l#^Q0i(Z72qOuJzezMnM-7jMwIAOj(Kwfu-+$3;>`g z?1l%@kg#D+osB-#ox@ZIhKjP^5CCz6;O3z{@XdcFW5n>mO#)u&!5f0&4sCGPb(i6@ zJFZ6OlmyL%9m`M7I{bpzLk664pHAXZ~F#-$JxWToS{9!2;^|1KC-T8BWPgiFpIb<80VPp)8_h?HDr^+^#K0X(IS z7o)D_QHk6s(GU(o>W0=WnmO9+Yu0VVJ@0>s9FGfkO}GRFxmn0cPs2mEj>GuD z-MDR<{MN^Ka^8H@)q71K!kv>wuYauOby zG7eo*5-{hx^;q)xw@_94rgwU33MT#i6sS}T25Z;6%2{`!EOFslK|cmHv@=wpvLf=z zI$BD4YBK(Q#z|Q6$Yh+`(O&2a6`~kdrap}lYk&%{iMEe;Z=Rv=o zUGc=76LIgE1CZuYgmRg8n6T#8N$Jq01!i0|k_$Fbjk2x^-eZ@u$1cG0S66OHBRoKx zy2Q%xvl?3x>jV(CK^H#VqZcJ+hR8UD;JK?uV8$(1qh&#EB*W{GC~lVv!;kBO#j|h0 z#a&uKRm1mKlsT4)0LT#S4c5Mvm2V<0CasL0{?Z31IaFqQ3{E+&FD~!iHnQJkd3IQP z-vfdhFCAfvM=)F#eZB(of8QfaA_9r^%bF(<_y-y!(N)yYWo6h{;6Mg4z`m8|5bLal zL>(&`LM7*k#L_2fO{Oo?Cn^B8h>bqk5nD|?Ppm#sN}+~y5)qNQ$cxV@SdbgN%U{3M>(m4 zF+zlssP|T4-BuF8a??*9Vb-Ax-xaOv8#|_xnglZ89tu==knu7?QpN!u9A7!}j)36Q zA^qU7;q_5l@5SMYD(o&fglAq~fO@|l4_q+kgEr;ybV4)`oinD{e!Q$%G|vn@Jh?+)hsUu|Gx1GxDzilLWX+ji$qd&5uh*9svNo;8lVok(P`D4|TCLv$9h)}EP~z~&54mPZO@woCiH zL_#os(nYv@Q(7+uio~Z`!d3Pkr!}Er7)el#nIt)k#)O zwrZBAgcYZ(%pSA?I011csYc)Lw);e*@>-&;GNClYqEDi+l*!&K>JuyU(CXsaX`jO2 zIHlrT?Ih%hW&SOPH6*wcoY*QK=M5-E@1j;nO*#f#9T5Pl!H2Im?Z)R@_hQBF1Niws z88(zvVOv!#_SV*;+Uxssbtpzs+q;JpV%1%|R0F_qkznQjFq4eTSe z=r`}!jhEh9h_6>~K&>x;dcTVGRkb+3OB-A?@>G*sepY%arr$CK{=jp1an*0yS&3w1 zzw^B>5l|^^8htU665=D@NKZ|{-8YVgs;cmN-^>(TbHN$5=hEj7;Q2Qf=TXZ+!{;6v>uFWhLM-{fF+0m@DPIDc^T-@z9ll#lA#a<$I6i_Dy8tNlzYzpX>aGK zUhdlka)^W1IRU)1b=@ung*h3>%}hhrL*@8!^KNXctYIcrFz#uEv)`@2ESbnQyE2Sd zM=OVkRzV?DN6i$LHcE(7S*B0McPZcqJQ-Ei`X)eoLrBa<5M>Xj2s~qTh+l{0MFmrC zKL}#DS$(2R99C3^y}YOpeWh~gYr|oM4m<>|J#`?`Q{<8vD~oX{T#;Ker=;<}d?o4~8^K`^Q>8@%#*8!-FXS8(UTZ@3Eo zy=NVd+s0qU1>ICi;dZ$|0r)7z_F6A~E~~+UO?z}nRxZ+J|FY4GVt)NqtPQhDfWj^is|PM!wpv)J>XRYR#p_8ed-X*z4Z#@ zdtA&ziy5jA`hZfs@#uKGvorAcq)VU%DA&`<>c*x~mK5V5l<2QH{!)bQji)L{epuw3 zypS9#Ab>h;slg*zFRQ32+)*LGe=Zu1(@*GsRDf6ElAE1@Y1dwiwi=!|8agjjjqARX zy+Lhk1v?>zS|iC%DW0Cc6m>SwYLDB6F&CbR?itC_Ac}FGuRnVzI<;+Kd(6N8Wdmj} z`<2_LSmcpx9jXb=5C2UGF$-Rfv1GlU_MY^vj#0?hhb1oyoLlX{>lkXE8 z^obm)J~^Bx+kFbl6h=sp-OwuvpmTaMF6!F}C-&}w?DW)Q;ME^-zSE!#1_$K)E0BBI z2^(~(Cvx``v9@Q7AGuu$TI6TpZv%^Qez&%0kr*$PWJ6ZQihwOqXmqS~^x9yQZ%vE6 z82LPj!#*jp6UGY{vZ|wmTB1;D3dca$WtD1IfS8O>Neu9v>g1g>dhMCX3h8hEim64W$du|wme;(h1JzoU4{hd$o_`Lb> zHUhDGKvnVL8w)UD?xM(sGj5`*`*p_5$>W%wSF@jc1$Qi5t^;SNW;5J3@_0-cf0-~N z)83MUnD_N+=IYo}-+(DkzAhDt(Wyf_#FOy4(Ef(*j*_>2xrFNwyLb{)FfL^T^!~X{ z%4T`Fc=X0Ak#8f^mes>)BZpwps0)w~?>Q>_sStwGh7Q2&G3PR~Us;75HAY5BLI_SA z&Vdfh>K*zYiqaS{g0Q~ z2k)}d@vlox*AZRID7FN^x$T?bZ^H)LerI`A4Q_qn4G@>Ua}<1#-pQEr>gY3D>rYNX zL$}yeBbTVgIM6AM!K`zHXch{gLZVzN8-TYah^6kzt|Qv-gaf#Vc%isw18tf<(HQ!~ zN_8)?QI6z15yK%t!4E@LH0x6d#oiRedvJD_);P0&H#E=9KB63g$BGfaq6kp>m&~Tj zL_RFQm`2l|w46v5AQlgW@VH%Q-?9Mb4eo|Bi<%?LpR5*~!XsA;Md+mjZMkxu&d`c*Tg_4-g zNf!9zxQ|o;)DRb^O87v6s^ZS8&qZodVoc*&U0098<&`KoSc;N^hf#9yFbsLV#6x-G;f{sQ!Gn0S?N9TtWk0 z1y4#9N=WAm|3*l!3n!ORLMmX;h|*?}gN_?E(r%*Xs&lMk3)T*W^#y|Lekb62Em^K_ zN>=PXJi3KRhtU0@VqKJB9fr?~AG?7oTTfxv)xj1iNF}k#A z(d3zx9itOR`|;g~eNxpRfMu1H^r-Apj9?at;Ss{Fgk&%U(Pc!{hnVR>85U$5wzU%D z7}#BXpaiHBNX2tCbgqlPoQ!r%@WY{TG2~GQ0y22>a;4PINF4 zyN4{*0+7%1qeT&U#{^6{4UO&N*P*69QNwqPZ5h?0EedjTB$T-TN*jE_S>Lgz#PT^= z>8W_|mT{nX0ne{k7k!?lant_yE&Kr$|C)G(E?s$MS}N|HG#Y`x3wV0PFU&E&?d^|2 zsfrt}`iG7fT}ojMsF?HSLQI(Zp=oBr|2KL-S3GpfSmb8umEnel2F!kX9`5{bWyszQ z66HkJFa_=%c|2|#C-%Gwm(q$Vp~S6MDXPjVET7|YDY$ree|$1$p$RRg0%L@?US;+Z zEae7e7&-P$(?jKzc_^^5VE>u-kVSi~Q_8%@oQbIi1Hp@kNN-|ouC`4vj zswGdF)!G?#!5LV#W+N7C+G7H5sOWNo!~!=&OY7zZc=(@}VA#FSfe@B$8KvSm@hzQ5(f zp6FfN!S)z$+qDl<-v7!%1JsX+BG5&NjXGBIL@nk?pCCyy?*`yle_Jl66UZ7fQZhhh zzuVMVAX`Txe6)L`G5Ul*s849ZdD1E7=jF89G5z04Bk5C<3 z4<|=WpHx+qUMojkpN?P=g~-YDi8vSl;~AWhnvCPR7olxI8GhWd2b(HuKq>!hu-fmU zETvXpyoj%m)f*LjzDHdhO-ALgM=-NbgzEGOV;|iz!prVwRtO+5Kr8y}M`0H;8jSVV z5`GbOCjjgCR>}ph^y-%Ac`QSmRma>u8iBoxepi(1SV)QWd$CzxDrM6hdQ_8K1yqs$D2ssk4H>Y6${yJR_bXo$XzMy{3w*F}KN zsR_99lz}++)S)P9)54bV6fW&rHpjhx8;pCGth7~c+J&c}XO|+!hpNx-$8VdrW95&( z;=dn#i*;qysL_OxhR0kX1YJ`Ta6+(nLPtK07-3-mYSiC` zI`WX*v8M$8nfE?k{%!+GL;I2dAPNChg7aGGZNRd9rC7GF6pw$q4*lQx3{x*X10#kF zg2!#oL*dMm1|s?8C8$xUR3^b_PGtQKR$zTos~D6|#R32mDZSypAOC7Kh7IVB(~j?J ztKS2Abi$3N_rvXrR+{#=u}>Y6;&8)dXCcmGZ$7;ZKHT)^Jk$qNuE!67*?WhT&_onI zCZSKOnE(JF07*naR7zC9>yv07MZJwQXRE+n#|Y!faG>yH7_m`Dq)W&Umy107M4t)e z%3rKcjXh74do>Wf9LS0DpnuzD=+LqN@g|QeD$(MfE&m&OR9mGkO*%Oo+pSm^=;{Kb*Vd9|f098y1ph|(;-ueWO&z&z7 zPUsH=Fz2m>xOVPh1Sn++^|1rHGQq3*dM{=@H7^2Q85e^}fqO2D^D=P$nZq3OKkVLj0QWpL7rkzr zg$b`L#;SuAs0padF%M9RUn}eI^tWqq`h#SNR3Ewo9d_#B5O~}^=NfA+Rv;f0->UbQo@{w z)PB0pM!+G75Kz&lpQajqEGj%#sUs;tnC4fM3%g@-0(y0|4>JF{aXZG`_cR_`@f%7* zpa(CjA~b9AyF-<@;EDNo@Yy%u^Z9MPGbbYr=M}f%8lcAhs-Z+LDrJWc5sCTZ8Rs(l z!+0)uRf;FxT8he=I-3iM;L@{CL6!!T;)OCy8aWiLn&sP`&#%8*gC*NbxLLU)awViU zs@hOILM_Fg5$GZUPz44VMx=}b5+Rq+hRQjaC(#%aN#jqHQ41Ev50x;|cp#M31vb@g z4mB8JsFmBYc8pA)Xe0CqkRwgDGLW70iAVCU(qNEKzx*tm)4wZ<+qK|;SG=ENTpNji4tGyVVi!QF~%Bag+hruzW$N<}kJkq(Pz`dg5Bb z=o8U-k$|BLL(nIgWls#0WmNDUnf8fXMO!9#(4u)W=?!b$s2C64I+pEu^~}q-`@@xNbeID7opn5>PPiNi@$t6C zCL=Wk_l&;;1M)LWYhY~uPMCi4XerM*0LVy7!^m!JYzbbw`<*8v*qnK0K@_<%j=@OQ zEBi#p4yT4Wc_;;;LH@OCUi<*hy#4|F4)|!gbZCd(IcZW&CIIfg<~$VUW;yEH=gWV< z$eSL*L!W$SYo5YkL+@|gjS+V}fmzSJhT3|s{jntk7oU9!vf|u2C_tD&sgW<~vNO_f z$LI@?8S+rF8uvDik(WQfXZy;8-hjM5sg&a0kG{j(OTM%T zq`NR;PCq9HX(9xSar8x&gzdc2y-N`m{O1n5KY0|Uoih|I6XTJfD7fLu^O2sGYGdA9 zC~DVA2k!u(Bnq0}FsyIwDx?BsMx=Z~R%kXl`6i1bQR596x+1^v&5!Z=qEBtVIzKxD z!@9SVQosJzwg4v#?Cpq;>dO^B;;aYfV0C$o^x?!(^hMiiTO77{ZyrV4v3^GEo}69P7}!8N+)(Tvo5&j91ofR5T7nohy+nE#!%8D4DIb z#~BYh0KXL8%fLDPi&50703NsN82)jT7ammy{r`?B zYBq@#mT;u<1aQL&T`sh1o{O^wbj9(_bC~>n)`|7_99lAZl#@EveKhctQW|D?uzbEE zdT{t*G=hc^C?Ft&a0h@`f>qjJv5+CH{hI_pNdO>$Q0Bnk-@&#hAk+mymC)CTA<&=Q z2O^G6U}Oai2FhR|Ae~{%qf(qX+n9Mhn0fd2#JNW6DpeD1S(GH-_;fo zH30a0K7hDzTFZRgKY1d?UUW8EwbnXc5M3KY#f+sZFzt!C3=k_F z58N^iqx%;JmoZg9LzyjU2wA#&!B=?T$+7zA|sK#HyY)fq@wo)Gd4y2 zuR{0F5n!A^Q2|8--dMa0rIl5-U*9{#XJxg6MjYQ8$%zTJpTFYgb+~xOOQ_@An(1ze zLqA&5X4V+rzF--ieDyus;e;+l!5KsPAxVjz{p_&6ONOhlDf>h$ z=E)Afaf;i8vy0o}q+VS@URSXktgN%#E@RHIB2)aT%C$ksv7wHtFAkzx8wd9jh1rI= zz=OY2lM*qgTM;hoS%hW@aYB7Z#F0rYz;LIa6t%!w%ymcziqdAL5B(j+cvJ#~25nY_ zhI1XNW&n!{TTT(sxSzAUDy-0c9w{La9BBII8+`$&=>Rg;Qza%%1jrfvy~H<5Y(F%@ zSf()aiN#<=I7?bficJ~sqPiAEe^XHO>D&0ZX1u${W}{35ses*4=!Da=}*l=UA-6nKmaek@d2)z z`#%_65<_|&CJyO_`)?YJtaP*I)vTvp4ticO!AD?JpAL9<>O|yaXExgSc-$`Z>DCDp zz}nw7+ZLAj1^Fn9_XrhXYqxeixWyu?<%JK5JVHo}CxFvFh1>Pf_7bf9ZIkWy7PV?- zNe-UtapUY$huVI2d1W>J{oi*{;`N!tFOfJnxCFw4;GqRyp#?Kp zg>D@*;SFA9S}Jb3;#@ROh?6$3W6GIB<&9Q5K#KMssODU?*EA|r40uUJxV%1L&o)Xe zoY@;ksbhhE)^(h6rw}HvVjKrMB>Isvp{AB;Bu3XB)y)<$P!MSM&TqeOh1cho{z-`Q zL;x%n&ybaJ$^^VLJgB01f+WagRKZooK6rKY7JRniXWJBQ1A2DF^}~AU#=Apu0w!E| zx@{u<(uyj~n7aVG>wUt0vG$WOLz2~)i{uiq7;~Q7Q3PX7Io}VP47{A!VxA;o>a!?Q zA`uu)Q~+{8V$2(Rp4d8t_OgioF00UKJMClDp$__F1u|N-Py5}DX-W9UfMRrN-Q1D9 zbarwa3pH$vqNZgRehAwGa)@ zXoUqxMkI_uEzc6wu)$Cc*kljc)aGR*CXmiLj#XPn|F;R$q7-on_A-;Hl;Y=&I{*N~ z`gd>iEt-{{hMBicfa}rc@!axXOl_wCW`6t~R7!F8^;aP!IZ+2q)?2JYqpPrrDfe?b_8@8jmrWUEmNz!#&7UZHJ!GnEXpDlwXn(CW!j9|i4hA6~g zUQ9)gI6p+3^hx{5AJ=Zc2?KlEB3VyLNrp!u@T&YI3zrP+Y8%L;D#fcGe1!SG@78rp zCf%(Jpj8o2F=Ng_E@=RpisoK3ykTR85T|tc zR$7h$1XL;RdT9arcI$|I8)v7Y5R5wKWW2Fr9d^`up@L$}8H3QNU2EI(_{p;GF#q@6 zrrTVn*^@-FfLMS`RB{i?){)|e(o#4O@oJ@ErHT^f^F`SgMKZ{WFHY1a(#Z2f%w~_R zFx$qE%aM1HF!ceotp{1PS+<>Sg@;OpOaVt;*u^nSOBoM8c0v9y~=zLSds(WpEQf7$JLUNr)h5Msd* z1 zESyyj{SY0%M^%azHnZ~t0s(yT!#WU3(Y&yrNj7O#Mj9Txc^v$KXEA5hI`cRXVD_iq zgHnonCS8pbjRBsUm4O+P$HPD48NB@CrjSKJbPD-{AAJWvHAPN_<7lrN(gXM3G#VLc zDS8FF-iw*fyn<;O@X9#;SM@5wtf>=`o0ZWdW0RYcjV@_PSh{&H>gwuj0azZl3mw}w z$LiIaEI}Rfo-p6VQVRe>#FxkO+;J)yi3Cu^`(F6-)th&r!RNE3m}O_ABbg9*dHyPt zVrbuD+qaZ^4<5$7Z+~Wz{L+S@#)F0s!knjf*6+f^)xTl*arRQ!7k4Ux)>@|wxg0qc znotiKb>8XNv~3suy=<+$!#)PLsj!SNt|^rv>lKK@Mzm{$fI7|)DcX}Vh78xhp?1w_ z>p`~5nIJaRV#z7V2VD1;R@#2vpdOvjJi&v#TyIJJ=u(~UioQ*|>wWm|>Mhb)%8cvN z3PhF-KZ+(I(Rg7I!d=fQXK#ou@{IfGr_yS?^U>Fsc*$8%6nP-AL!0K9e)$=={P_hK zn3Ilc&O5~}GXl2k+>6KF`!eE{q-`HdcN1mRvkVI(lTsy80X3?sJ41N-n3YY!Gaj?!JUF3aE3|8o50|3g$P@}WH-uwF zw)g`oQ$~d4f;XVT=MNy^7(OW$KqNL9W~YwK=K$bR2--HwMRs}$map52Uk+C?=h@0b zR+jF?LkQC2+{lcNLwaI7k`v;P5a)&~WOsZ0e$>=ApsL=BvbqM8dVTO3vS3nyzAV+g zP=-Rc-FajVFr_*WOAOXnx$CkZ88a$qcCS`KgxQ0Oc|agdbTTeNJLbDwGzep zJ`rIZ^Ej~HV+aRO6cpyz^9Xwh3^}ejd*+|3%l? zaF1qx`U6}p1$X{)lnKO|J#`{H4?mAN-*4cm@g_)y0@t0;3)61A#spr~)YW0uv#;WQ zhUZlTyz1QnGpCGiGVlrr5{DNTX5zQfYHZrM4|zG+w#>Exo!a27)tf8@1lv1=auhv< zxpx%%BRvs@0s_JZK!m=V|&yJ77z+PQ#cWdEi-{7!=%!o|6ObyaF zeDEp+PrkhbCk*Tbw@V&iYf+GkD|>gu%ON0?ZB)}H*D({~<1qe`v+>2+%~)MgD-Wf_ zu+Bu62(SPGcy(eMB5JAVhzt~|Iu6E*#JFaK-;a>c*e7wP660{N+&&jxVSX+qojDk{ zeeg9yuc1tmerjNiQDdAZNUTFyZwwXyqGccB8R%5v-2nfBK_S5H^FK%b9-T0tdnX&~ zjo`E){cy^XZ!zKA;mEX+-~<2~e181*-KAJ{s8ZOz#+oO)28tc33n!PSQ4cKhc}&1o zrK#jjZ;Y{UBEy`_lPn0V9V4Q#eZuD}A@=*!GARK?d6_88&Ol~b3KHWzQb3W{=R@x5I2=)xa%ns$ zfSQ1c%9=W)CM6ylEQ=*6%grbAnVdH#m8zYVoQRWpbwtYg?O49|kmV(nm5k7SCr%+~ zot%iad6~$~NJV-|A`;>}!b^IUQq+5WsIIF=Nogf^94yC{iW=0bs*saQs(qo01b1W3 zubmX(b`;pCuw_Nyhq+h6s-dPOj2lWBB1~{lOKUGPS$K{a+y}E?6}22^nNih_N~`n~ z+lSGCgNINNP;p}G0wlyYEkvJ{o`#2R83&a^=glqQzsy=3BfBM zn0=x{yVk&lT{w8~kWH`!=-jrsCAlsyOpRx_P!LNwV5PiKraQzkMqQU3Gv=3Ln2XSV{NTL{!Mw=(A?4(peE{on3_Bzpqm^J1)4}Ygx zrFi_6g?R41>uqstW@n^f-hKZ>jv?WSO!@Zbb$I-%HPWk%H1RwU3E)Ep{Aw(Dq~pZX zh7^agfXl8uI9z*;u{RoPp1|81p-&VFP(q~oRSO8OD20s@sL)+zfPVk%z4G z6vTO4(uo@sLXeaYhopo!R@P$ko BuM|~*KumHOumNdX-Aw4nwL&R- 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℘iRTrHLi;jZVDJ2;fjvj$E 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 z

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 wlK(Qr2WVM4Jq7? = props => { + return ( + + + + + + + + ) +} diff --git a/src/app/components/CustomIcons/pontusx_horizontal_white.svg b/src/app/components/CustomIcons/pontusx_horizontal_white.svg new file mode 100644 index 000000000..fb05dfa65 --- /dev/null +++ b/src/app/components/CustomIcons/pontusx_horizontal_white.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/app/components/PageLayout/Logotype.tsx b/src/app/components/PageLayout/Logotype.tsx index d22ad3e1b..2f5fa70ba 100644 --- a/src/app/components/PageLayout/Logotype.tsx +++ b/src/app/components/PageLayout/Logotype.tsx @@ -5,8 +5,8 @@ import Link from '@mui/material/Link' import { useTheme } from '@mui/material/styles' import Box from '@mui/material/Box' import { Link as RouterLink } from 'react-router-dom' -import { OasisIcon } from '../CustomIcons/OasisIcon' -import { ExplorerIcon } from '../CustomIcons/ExplorerIcon' +import { PontusxIcon } from '../CustomIcons/PontusxIcon' +import PontusxExplorerIcon from '../CustomIcons/pontusx_horizontal_white.svg' interface LogotypeProps { color?: string @@ -32,15 +32,24 @@ export const Logotype: FC = ({ color, showText }) => { const theme = useTheme() const { isMobile } = useScreenSize() const oasisLogoSize = isMobile ? 32 : 40 - const logoSize = !showText ? { height: oasisLogoSize, width: oasisLogoSize } : { height: 40, width: 214 } + const logoSize = !showText ? { height: oasisLogoSize, width: oasisLogoSize } : { height: 58, width: 228 } return ( - {!showText ? : } + {!showText ? ( + + ) : ( + {'Pontus-X + )} ) } diff --git a/src/app/components/PageLayout/NetworkSelector.tsx b/src/app/components/PageLayout/NetworkSelector.tsx index 14a33a57a..0d63b5d2c 100644 --- a/src/app/components/PageLayout/NetworkSelector.tsx +++ b/src/app/components/PageLayout/NetworkSelector.tsx @@ -10,7 +10,7 @@ import { COLORS } from '../../../styles/theme/colors' import { Network, getNetworkNames } from '../../../types/network' import { Layer } from '../../../oasis-nexus/api' import { LayerPicker } from './../LayerPicker' -import { fixedLayer, RouteUtils } from '../../utils/route-utils' +import { fixedLayer, fixedNetwork, RouteUtils } from '../../utils/route-utils' import { useConsensusFreshness, useRuntimeFreshness } from '../OfflineBanner/hook' export const StyledBox = styled(Box)(({ theme }) => ({ @@ -84,7 +84,7 @@ const NetworkSelectorView: FC = ({ isOutOfDate, layer, {!isMobile && ( )} - {!fixedLayer && !isTablet && network !== Network.mainnet && ( + {!fixedLayer && !isTablet && network !== Network.mainnet && !fixedNetwork && ( >>> = { [Network.mainnet]: {}, - [Network.testnet]: {}, + [Network.testnet]: { + [Layer.pontusxdev]: 'Pontus-X Devnet', + [Layer.pontusx]: 'Pontus-X Testnet', + }, } export const specialScopePaths: Partial>>> = { [Network.mainnet]: {}, - [Network.testnet]: {}, + [Network.testnet]: { + [Layer.pontusxdev]: ['pontusx', 'dev'], + [Layer.pontusx]: ['pontusx', 'test'], + }, } export const specialScopeThemes: Partial>>> = { [Network.mainnet]: {}, - [Network.testnet]: {}, + [Network.testnet]: { + [Layer.pontusxdev]: pontusXDevnetTheme, + [Layer.pontusx]: pontusXTestnetTheme, + }, } diff --git a/src/styles/theme/pontusx/colors.ts b/src/styles/theme/pontusx/colors.ts new file mode 100644 index 000000000..ab44dd10a --- /dev/null +++ b/src/styles/theme/pontusx/colors.ts @@ -0,0 +1,9 @@ +import { COLORS as DEFAULT_COLORS } from '../colors' + +export const COLORS = { + ...DEFAULT_COLORS, + testnetBgColor: '#2A5575', + testnetLightBgColor: '#E4E9ED', + devnetBgColor: `#152B3B`, + devnetLightBgColor: `#8A959D`, +} satisfies { [colorName: string]: string } diff --git a/src/styles/theme/pontusx/devnetTheme.ts b/src/styles/theme/pontusx/devnetTheme.ts new file mode 100644 index 000000000..2c013ad92 --- /dev/null +++ b/src/styles/theme/pontusx/devnetTheme.ts @@ -0,0 +1,21 @@ +import { deepmerge } from '@mui/utils' +import { createTheme } from '@mui/material/styles' +import { COLORS } from './colors' +import { defaultTheme } from '../defaultTheme' + +export const pontusXDevnetTheme = createTheme( + deepmerge(defaultTheme, { + palette: { + background: { + default: COLORS.devnetLightBgColor, + }, + layout: { + main: COLORS.devnetBgColor, + border: COLORS.devnetBgColor, + hoverBorder: COLORS.devnetBgColor, + contrastSecondary: COLORS.devnetBgColor, + secondary: COLORS.devnetBgColor, + }, + }, + }), +) diff --git a/src/styles/theme/pontusx/testnetTheme.ts b/src/styles/theme/pontusx/testnetTheme.ts new file mode 100644 index 000000000..486aed6dc --- /dev/null +++ b/src/styles/theme/pontusx/testnetTheme.ts @@ -0,0 +1,21 @@ +import { deepmerge } from '@mui/utils' +import { createTheme } from '@mui/material/styles' +import { COLORS } from './colors' +import { defaultTheme } from '../defaultTheme' + +export const pontusXTestnetTheme = createTheme( + deepmerge(defaultTheme, { + palette: { + background: { + default: COLORS.testnetLightBgColor, + }, + layout: { + main: COLORS.testnetBgColor, + border: COLORS.testnetBgColor, + hoverBorder: COLORS.testnetBgColor, + contrastSecondary: COLORS.testnetBgColor, + secondary: COLORS.testnetBgColor, + }, + }, + }), +) diff --git a/src/types/layers.ts b/src/types/layers.ts index 41df3c5d0..02814491e 100644 --- a/src/types/layers.ts +++ b/src/types/layers.ts @@ -20,7 +20,7 @@ const layerOrder: Record = { [Layer.pontusx]: 6, } -const hiddenLayers: Layer[] = [Layer.pontusxdev, Layer.pontusx] +const hiddenLayers: Layer[] = [Layer.consensus, Layer.sapphire, Layer.emerald, Layer.cipher] export const orderByLayer = (itemA: HasLayer, itemB: HasLayer): number => layerOrder[itemA.layer] - layerOrder[itemB.layer] From 71aa3b22421cf3557407b4955ed9c2ef7b2865ef Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Tue, 13 Feb 2024 20:16:44 +0100 Subject: [PATCH 35/38] Adjust Pontus-X dashboard - Hide the Tokens card - Tune TX list size --- .../ParatimeDashboardPage/LatestRuntimeTransactions.tsx | 3 +-- src/app/pages/ParatimeDashboardPage/index.tsx | 5 ++++- src/config.ts | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/app/pages/ParatimeDashboardPage/LatestRuntimeTransactions.tsx b/src/app/pages/ParatimeDashboardPage/LatestRuntimeTransactions.tsx index 74592c188..1d21d04b7 100644 --- a/src/app/pages/ParatimeDashboardPage/LatestRuntimeTransactions.tsx +++ b/src/app/pages/ParatimeDashboardPage/LatestRuntimeTransactions.tsx @@ -7,14 +7,13 @@ import { Link as RouterLink } from 'react-router-dom' import Link from '@mui/material/Link' import { Layer, useGetRuntimeTransactions } from '../../../oasis-nexus/api' import { RuntimeTransactions } from '../../components/Transactions' -import { NUMBER_OF_ITEMS_ON_DASHBOARD } from '../../config' import { COLORS } from '../../../styles/theme/colors' import { AppErrors } from '../../../types/errors' import { RouteUtils } from '../../utils/route-utils' import { useScreenSize } from '../../hooks/useScreensize' import { SearchScope } from '../../../types/searchScope' -const limit = NUMBER_OF_ITEMS_ON_DASHBOARD +const limit = 15 // NUMBER_OF_ITEMS_ON_DASHBOARD export const LatestRuntimeTransactions: FC<{ scope: SearchScope }> = ({ scope }) => { const { isTablet } = useScreenSize() diff --git a/src/app/pages/ParatimeDashboardPage/index.tsx b/src/app/pages/ParatimeDashboardPage/index.tsx index 16ea85d99..e49e2cadd 100644 --- a/src/app/pages/ParatimeDashboardPage/index.tsx +++ b/src/app/pages/ParatimeDashboardPage/index.tsx @@ -12,11 +12,14 @@ import { PageLayout } from '../../components/PageLayout' import { ParaTimeSnapshot } from './ParaTimeSnapshot' import { TopTokens } from './TopTokens' import { useRequiredScopeParam } from '../../hooks/useScopeParam' +import { paraTimesConfig } from '../../../config' export const ParatimeDashboardPage: FC = () => { const { isMobile } = useScreenSize() const scope = useRequiredScopeParam() + const { hideTokensFromDashboard } = paraTimesConfig[scope.layer]! + return ( @@ -35,7 +38,7 @@ export const ParatimeDashboardPage: FC = () => { )} - {!isMobile && } + {!hideTokensFromDashboard && !isMobile && } diff --git a/src/config.ts b/src/config.ts index 9e44cf3b2..6eb220585 100644 --- a/src/config.ts +++ b/src/config.ts @@ -40,6 +40,7 @@ type LayerConfig = { testnet: LayerNetwork decimals: number type: RuntimeTypes + hideTokensFromDashboard?: boolean } export enum RuntimeTypes { @@ -156,6 +157,7 @@ const pontusxTestConfig: LayerConfig = { }, decimals: 18, type: RuntimeTypes.Evm, + hideTokensFromDashboard: true, } type LayersConfig = { From c370129b36ca099c9bec1301aa7c5ee52449fb00 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Tue, 13 Feb 2024 20:18:32 +0100 Subject: [PATCH 36/38] Update i18n texts - Update messaging about getting test tokens - Update messaging about social links --- src/locales/en/translation.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 02c0d9860..04e3819fe 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -343,7 +343,7 @@ "last": "Last" }, "social": { - "description": "Be part of the community and stay in the loop on everything Oasis", + "description": "Learn more about Pontus-X and the team behind it", "discord": "Discord", "header": "Join us", "reddit": "Reddit", @@ -358,8 +358,8 @@ "changeView": "Change view" }, "testnetFaucet": { - "description": "Drops are limited to 10 TEST tokens", - "header": "Oasis Testnet Faucet", + "description": "Do you need some tokens for testing?", + "header": "Test tokens", "request": "Request test tokens" }, "tokens": { @@ -579,8 +579,8 @@ "outdated": "Out-of-date" }, "pontusx": { - "devnet": "Pontus-X devnet", - "testnet": "Pontus-X testnet" + "devnet": "Devnet", + "testnet": "Testnet" }, "search": { "placeholder": "Address, Block, Contract, Transaction hash, Token name, etc.", From 611ce3f87080a21697f71b09e8856cbe3de9c0a0 Mon Sep 17 00:00:00 2001 From: Kristof Csillag Date: Wed, 28 Feb 2024 19:28:46 +0100 Subject: [PATCH 37/38] Add PontusX Privacy Policy --- .env | 5 +- .env.production | 3 +- package.json | 2 + src/app/pages/PontusxPrivacyPage/index.tsx | 24 + src/docs/pontusx_privacy_2024.mdx | 138 ++++ src/locales/en/translation.json | 3 + src/routes.tsx | 5 + yarn.lock | 698 ++++++++++++++++++++- 8 files changed, 858 insertions(+), 20 deletions(-) create mode 100644 src/app/pages/PontusxPrivacyPage/index.tsx create mode 100644 src/docs/pontusx_privacy_2024.mdx diff --git a/.env b/.env index 4d025fb1a..faea85e36 100644 --- a/.env +++ b/.env @@ -1,8 +1,8 @@ REACT_APP_BUILD_DATETIME=0 REACT_APP_BUILD_SHA=sha0000000000000000000000000000000000000 REACT_APP_BUILD_VERSION= -REACT_APP_PRIVACY_POLICY=https://oasisprotocol.org/privacy-policy -REACT_APP_ENABLE_OASIS_MATOMO_ANALYTICS=true +REACT_APP_PRIVACY_POLICY=/privacy +# REACT_APP_ENABLE_OASIS_MATOMO_ANALYTICS=true # REACT_APP_API=http://localhost:8008/v1/ # REACT_APP_API=https://nexus.stg.oasis.io/v1/ # REACT_APP_TESTNET_API=https://testnet.nexus.stg.oasis.io/v1/ @@ -29,3 +29,4 @@ REACT_APP_FIXED_NETWORK=testnet # REACT_APP_FIXED_LAYER=pontusx REACT_APP_SKIP_GRAPH=true REACT_APP_SHOW_FIAT_VALUES=false +REACT_APP_SHOW_PRIVACY_POLICY=true diff --git a/.env.production b/.env.production index 093aee1d5..2badaf489 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,7 @@ REACT_APP_BUILD_DATETIME= REACT_APP_BUILD_SHA= REACT_APP_BUILD_VERSION= -REACT_APP_PRIVACY_POLICY=https://oasisprotocol.org/privacy-policy +REACT_APP_PRIVACY_POLICY=/privacy # REACT_APP_ENABLE_OASIS_MATOMO_ANALYTICS=true # REACT_APP_API=http://localhost:8008/v1/ # REACT_APP_API=https://nexus.stg.oasis.io/v1/ @@ -29,3 +29,4 @@ REACT_APP_FIXED_NETWORK=testnet # REACT_APP_FIXED_LAYER=pontusx REACT_APP_SKIP_GRAPH=true REACT_APP_SHOW_FIAT_VALUES=false +REACT_APP_SHOW_PRIVACY_POLICY=true diff --git a/package.json b/package.json index d22e51e84..9fd333edb 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,9 @@ }, "devDependencies": { "@emotion/jest": "11.11.0", + "@mdx-js/react": "^1.6.22", "@parcel/packager-raw-url": "2.12.0", + "@parcel/transformer-mdx": "^2.12.0", "@parcel/transformer-webmanifest": "2.12.0", "@plasmohq/parcel-transformer-inject-env": "^0.2.11", "@storybook/addon-actions": "8.0.9", diff --git a/src/app/pages/PontusxPrivacyPage/index.tsx b/src/app/pages/PontusxPrivacyPage/index.tsx new file mode 100644 index 000000000..7af9d56d5 --- /dev/null +++ b/src/app/pages/PontusxPrivacyPage/index.tsx @@ -0,0 +1,24 @@ +import React, { FC } from 'react' +import { useTranslation } from 'react-i18next' + +import { PageLayout } from '../../components/PageLayout' +import { SubPageCard } from '../../components/SubPageCard' + +import Policy from '../../../docs/pontusx_privacy_2024.mdx' +import { Network } from 'types/network' +import { ThemeByScope } from '../../components/ThemeByScope' +import { Layer } from '../../../oasis-nexus/api' + +export const PontusxPrivacyPage: FC = () => { + const { t } = useTranslation() + + return ( + + + + + + + + ) +} diff --git a/src/docs/pontusx_privacy_2024.mdx b/src/docs/pontusx_privacy_2024.mdx new file mode 100644 index 000000000..129b50ba5 --- /dev/null +++ b/src/docs/pontusx_privacy_2024.mdx @@ -0,0 +1,138 @@ +This privacy policy informs you about how deltaDAO AG (in the following deltaDAO, we, us, our) processes your personal data when you visit our Pontus-X Blockchain Explorer (in the following explorer) and when you contact us. Moreover, this privacy policy informs you about your rights. + +_Last updated on February 23, 2024._ + +### 1. Contact details of the controller and Data Protection Officer + +The controller pursuant to the EU General Data Protection Regulation ("GDPR") for the processing of your personal data is: + +deltaDAO AG +Katharinenstraße 30a +20457 Hamburg +Germany +E-mail: contact@delta-dao.com + +If you have any questions about the protection of your personal data at deltaDAO, please contact our Data Protection Officer: + +Data Protection Officer +deltaDAO AG +Katharinenstraße 30a +20457 Hamburg +Germany +E-mail: privacy@delta-dao.com + +### 2. What's personal data? + +Personal data is any information that can be (directly or indirectly) related to you. deltaDAO processes a minimal amount of personal data, as we believe your personal data belongs to you. We process the following personal data. + +- **Logfile data and IP addresses:** Logfile data including IP addresses are processed when visiting our explorer. +- **E-mail:** If you contact deltaDAO via e-mail, we process your e-mail address and any personal data you decide to provide in your message (such as your name). + +For detailed information about the processing operations, lawfulness, purposes, and how your personal data serves to reach these purposes, please take a look at the chapter "Processing operations according to Article 13 GDPR". + +### 3. Recipients and cross-border data transfer + +**Visiting our explorer** +When visiting our explorer, your IP address and logfile data are processed by Vercel Inc., 340 S Lemon Ave #4133, Walnut, CA 91789, USA. Vercel is a service provider that hosts our explorer. Our explorer is served by Vercel using a Content Delivery Network, a geographically distributed network, with servers within and outside of the European Economic Area (EEA). This means, if you are located within the EEA, your personal data will most likely (but not guaranteed) be processed on a Vercel server within the EEA. + +There is no adequacy decision for the USA from the European Commission. Our cooperation with Vercel is based on a Data Processing Agreement (DPA) including Standard Contractual Clauses (SCC). You have the right to receive a copy of these SCC. To exercise your right, please contact us at . + +- Here you can find Vercel's current [**DPA including SCC** ↗](https://vercel.com/legal/dpa). +- Here you can find Vercel's [**privacy policy** ↗](https://vercel.com/legal/privacy-policy). + +**Contact via e-mail** +When you contact us via e-mail, our (mail) service provider Microsoft Corporation (located at 1 Microsoft Way, Redmond, Washington 98052-8300, USA) supports us in processing your personal data so we can communicate with you. + +There is no adequacy decision for the USA from the European Commission. However, Microsoft is EU-US DPF (EU‐US Data Privacy Framework) certified. The EU‐US DPF is an adequacy decision of the European Commission, limited to certified entities. Moreover, we have restricted storage on the EEA and signed SCC with our provider. You have the right to receive a copy of these SCC. To exercise your right, please contact us at . + +- Here you can find Microsoft's current [**DPA including SCC** ↗](https://www.microsoft.com/licensing/docs/view/Microsoft-Products-and-Services-Data-Protection-Addendum-DPA). +- Here you can find Microsoft's [**privacy policy** ↗](https://privacy.microsoft.com/de-de/privacystatement). +- Here you can find Microsoft's [**Data Privacy Framework List entry** ↗](https://www.dataprivacyframework.gov/list). + +### 4. Processing operations according to Article 13 GDPR + +#### **4.1 Providing the Pontus-X Blockchain Explorer** + +The Pontus-X Blockchain Explorer for the Pontus-X ParaTime enables users to inspect and analyze the transactions made on the Pontus-X ParaTime, including the tracking of transaction histories, wallet interactions, and smart contract operations. Logfile data and IP addresses are collected, used, and stored for providing our explorer and its functionalities and to maintain its security. Our explorer is hosted externally by our service provider Vercel (see also chapter 3). + +**Purposes:** Collecting and using your IP address is necessary for providing our explorer because it is a technical requirement for ensuring communication between your device and our explorer. Logfiles including your IP address are created for security, fraud-prevention, abuse-prevention, and troubleshooting purposes. + +**Legal basis:** The legal basis for this processing is our legitimate interest, pursuant to Art. 6(1)(f) GDPR. + +**Legitimate interests:** Our legitimate interest is to provide our explorer and its functionalities to you and to enable security, a technically error-free presentation, and the optimization of the explorer. + +**Retention period:** Vercel retains your personal data for as long as needed to provide their services. Additionally, Vercel does not delete the data when it is needed for the establishment, exercise, or defense of legal claims. In this case, the information is retained as long as needed for exercising respective potential legal claims. + +#### **4.2 Contact via e-mail** + +If you contact us via e-mail, deltaDAO collects, uses and stores your e-mail address, and any other information you provide us in your message, such as your name. + +**Purposes:** +We collect, use and store this personal data to respond to your inquiries. + +**Legal basis:** +The legal basis for this processing is our legitimate interest, according to Art. 6(1)(f) GDPR. + +**Legitimate interests:** +Our legitimate interest is to answer your inquiries. + +**Retention period:** +deltaDAO deletes your personal data as soon as we no longer require them for processing your inquiry, except deltaDAO is obliged to comply with legal retention periods or in case of legal disputes. + +### 5. Automated decision making including profiling according to Article 13(2)(f) GDPR + +Automated decision making including profiling does not take place. + +### 6. Cookies + +A cookie is a small file that stores Internet settings. Your web browser downloads it on the first visit to a website. The next time you open this website with the same device, the cookie and the information stored in it are either sent back to the website that created it (first-party cookie) or sent to another website it belongs to (third-party cookie). This enables the website to detect that you have opened it previously with this browser and, in some cases, to vary the displayed content. + +Our explorer does not use cookies. + +### 7. External links + +Our explorer contains links to external websites that are beyond the control and responsibility of deltaDAO. + +### 8. Your rights + +If you want to make use of your rights described below, do not hesitate to contact us. + +**8.1 Right of access (Art. 15 GDPR)** + +You have the right to obtain confirmation as to whether deltaDAO processes personal data about you. If we are processing personal data about you, you have the right to access these personal data and to gain the information defined in Art. 15 GDPR. + +**8.2 Right to rectification (Art. 16 GDPR)** + +You have the right to obtain without undue delay the rectification of inaccurate personal data about you. Additionally, you have the right that incomplete personal data about you are completed. + +**8.3 Right to erasure (Art. 17 GDPR)** + +You have the right to obtain without undue delay the rectification of inaccurate personal data about you. Additionally, you have the right that incomplete personal data about you are completed. + +**8.4 Right to restriction (Art. 18 GDPR)** + +Moreover, you have the right to obtain the restriction of processing your personal data where the defined legal grounds in Art. 18 GDPR apply. + +**8.5 Right to data portability (Art. 20 GDPR)** + +You have the right to receive your personal data in a structured, commonly used, and machine-readable format. Additionally, you have the right to transmit those data to another controller without hindrance, where the defined legal grounds in Art. 20 GDPR apply. You can make use of your right to data portability by contacting us. + +**8.6 Right to object (Art. 21 GDPR)** + +On grounds relating to your particular situation, you have the right to object to the processing of your personal data where we based the processing on legitimate interests (Art. 6(1)(f) GDPR). If you object, deltaDAO will no longer process your personal data unless we can demonstrate compelling legitimate grounds for the processing, overriding your rights, freedoms, and interests, or if the processing is required to establish, exercise, or defend legal claims. + +**8.7 Right to lodge a complaint (Art. 77 GDPR)** + +You have the right to lodge a complaint with a supervisory authority if you consider the processing of your personal data by deltaDAO to infringe the GDPR. You can lodge a complaint in particular + +- in the Member State of your habitual residence, +- in the Member State of your place of work, and +- in the place of the alleged infringement. + +### 9. Questions + +For any requests regarding our privacy policy, please send us an e-mail to [privacy@delta-dao.com](mailto:privacy@delta-dao.com). + +### 10. Changes to the Privacy Policy + +We adjust this policy from time to time, by publishing a new version on our explorer. You can find the date of the current version at the beginning of this policy. The latest version of this policy applies to the processing of your personal data. diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 04e3819fe..5d75386d2 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -582,6 +582,9 @@ "devnet": "Devnet", "testnet": "Testnet" }, + "privacyPolicy": { + "title": "Privacy Policy" + }, "search": { "placeholder": "Address, Block, Contract, Transaction hash, Token name, etc.", "error": { diff --git a/src/routes.tsx b/src/routes.tsx index 69c64d5ed..7e0becb00 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -58,6 +58,7 @@ import { useConsensusAccountDetailsProps } from './app/pages/ConsensusAccountDet import { ConsensusAccountTransactionsCard } from './app/pages/ConsensusAccountDetailsPage/ConsensusAccountTransactionsCard' import { FC, useEffect } from 'react' import { AnalyticsConsentProvider } from './app/components/AnalyticsConsent' +import { PontusxPrivacyPage } from './app/pages/PontusxPrivacyPage' const ScopeSpecificPart = () => { const { network, layer } = useRequiredScopeParam() @@ -308,6 +309,10 @@ export const routes: RouteObject[] = [ }, ], }, + { + path: '/privacy', + element: , + }, ], }, ] diff --git a/yarn.lock b/yarn.lock index fb313cc17..fb64b6bf4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -53,6 +53,28 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== +"@babel/core@7.12.9": + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" + integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.7" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.9" + "@babel/types" "^7.12.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.18.9", "@babel/core@^7.23.0", "@babel/core@^7.23.2": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.3.tgz#5ec09c8803b91f51cc887dedc2654a35852849c9" @@ -104,6 +126,16 @@ eslint-visitor-keys "^2.1.0" semver "^6.3.1" +"@babel/generator@^7.12.5", "@babel/generator@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" + integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== + dependencies: + "@babel/types" "^7.24.5" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + "@babel/generator@^7.23.0", "@babel/generator@^7.23.3", "@babel/generator@^7.23.6", "@babel/generator@^7.7.2": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" @@ -229,6 +261,24 @@ dependencies: "@babel/types" "^7.22.15" +"@babel/helper-module-imports@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" + integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== + dependencies: + "@babel/types" "^7.24.0" + +"@babel/helper-module-transforms@^7.12.1": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" + integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-simple-access" "^7.24.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/helper-validator-identifier" "^7.24.5" + "@babel/helper-module-transforms@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" @@ -247,11 +297,21 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-plugin-utils@7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== +"@babel/helper-plugin-utils@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" + integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== + "@babel/helper-remap-async-to-generator@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" @@ -277,6 +337,13 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-simple-access@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" + integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== + dependencies: + "@babel/types" "^7.24.5" + "@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" @@ -291,16 +358,33 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-split-export-declaration@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" + integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== + dependencies: + "@babel/types" "^7.24.5" + "@babel/helper-string-parser@^7.23.4": version "7.23.4" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== +"@babel/helper-string-parser@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" + integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== + "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" + integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== + "@babel/helper-validator-option@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" @@ -320,6 +404,15 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" +"@babel/helpers@^7.12.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" + integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + "@babel/helpers@^7.23.2": version "7.23.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767" @@ -362,6 +455,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== +"@babel/parser@^7.12.7", "@babel/parser@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" + integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== + "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" @@ -426,6 +524,15 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" +"@babel/plugin-proposal-object-rest-spread@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" + integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-proposal-optional-chaining@^7.16.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" @@ -532,6 +639,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.7.2": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" @@ -560,7 +674,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -892,6 +1006,13 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" +"@babel/plugin-transform-parameters@^7.12.1": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz#5c3b23f3a6b8fed090f9b98f2926896d3153cc62" + integrity sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-transform-parameters@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" @@ -1211,6 +1332,15 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/template@^7.12.7", "@babel/template@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + "@babel/template@^7.22.15", "@babel/template@^7.3.3": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" @@ -1220,14 +1350,21 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" -"@babel/template@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== +"@babel/traverse@^7.12.9", "@babel/traverse@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" + integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/types" "^7.24.5" + debug "^4.3.1" + globals "^11.1.0" "@babel/traverse@^7.18.9", "@babel/traverse@^7.23.2", "@babel/traverse@^7.23.3": version "7.23.6" @@ -1270,6 +1407,15 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.12.7", "@babel/types@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" + integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== + dependencies: + "@babel/helper-string-parser" "^7.24.1" + "@babel/helper-validator-identifier" "^7.24.5" + to-fast-properties "^2.0.0" + "@babel/types@^7.24.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" @@ -2049,6 +2195,36 @@ resolved "https://registry.yarnpkg.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz#8233e8762440b0f4632c47a09b1b6f23de8b934c" integrity sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ== +"@mdx-js/mdx@^1.6.22": + version "1.6.22" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" + integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA== + dependencies: + "@babel/core" "7.12.9" + "@babel/plugin-syntax-jsx" "7.12.1" + "@babel/plugin-syntax-object-rest-spread" "7.8.3" + "@mdx-js/util" "1.6.22" + babel-plugin-apply-mdx-type-prop "1.6.22" + babel-plugin-extract-import-names "1.6.22" + camelcase-css "2.0.1" + detab "2.0.4" + hast-util-raw "6.0.1" + lodash.uniq "4.5.0" + mdast-util-to-hast "10.0.1" + remark-footnotes "2.0.0" + remark-mdx "1.6.22" + remark-parse "8.0.3" + remark-squeeze-paragraphs "4.0.0" + style-to-object "0.3.0" + unified "9.2.0" + unist-builder "2.0.3" + unist-util-visit "2.0.3" + +"@mdx-js/react@^1.6.22": + version "1.6.22" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573" + integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== + "@mdx-js/react@^3.0.0": version "3.0.1" resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.0.1.tgz#997a19b3a5b783d936c75ae7c47cfe62f967f746" @@ -2056,6 +2232,11 @@ dependencies: "@types/mdx" "^2.0.0" +"@mdx-js/util@1.6.22": + version "1.6.22" + resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" + integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== + "@metamask/jazzicon@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@metamask/jazzicon/-/jazzicon-2.0.0.tgz#5615528e91c0fc5c9d79202d1f0954a7922525a0" @@ -2952,6 +3133,14 @@ "@parcel/plugin" "2.12.0" json5 "^2.2.0" +"@parcel/transformer-mdx@^2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-mdx/-/transformer-mdx-2.12.0.tgz#12c91f3a140cf4618bb9253b5e5e9b074120d49d" + integrity sha512-m/UEfyHdQNowcZh+GG2iEQBh6wQHMuVb1Y+Mdq/Pk2Z8TAjleAug/1CnjH2IZQGjWpTRbc2UihGl013+YceFkw== + dependencies: + "@mdx-js/mdx" "^1.6.22" + "@parcel/plugin" "2.12.0" + "@parcel/transformer-postcss@2.12.0": version "2.12.0" resolved "https://registry.yarnpkg.com/@parcel/transformer-postcss/-/transformer-postcss-2.12.0.tgz#195f4fb86f36f42b5de82076ea36b9d850f4832e" @@ -4406,6 +4595,13 @@ dependencies: "@types/node" "*" +"@types/hast@^2.0.0": + version "2.3.10" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.10.tgz#5c9d9e0b304bbb8879b857225c5ebab2d81d7643" + integrity sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw== + dependencies: + "@types/unist" "^2" + "@types/hast@^3.0.0": version "3.0.4" resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" @@ -4474,6 +4670,13 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.197.tgz#e95c5ddcc814ec3e84c891910a01e0c8a378c54b" integrity sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g== +"@types/mdast@^3.0.0": + version "3.0.15" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.15.tgz#49c524a263f30ffa28b71ae282f813ed000ab9f5" + integrity sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== + dependencies: + "@types/unist" "^2" + "@types/mdx@^2.0.0": version "2.0.7" resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.7.tgz#c7482e995673e01b83f8e96df83b3843ea76401f" @@ -4533,6 +4736,11 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== +"@types/parse5@^5.0.0": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" + integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== + "@types/pretty-hrtime@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.1.tgz#72a26101dc567b0d68fd956cf42314556e42d601" @@ -4645,6 +4853,11 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.2.tgz#6dd61e43ef60b34086287f83683a5c1b2dc53d20" integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== +"@types/unist@^2", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.10.tgz#04ffa7f406ab628f7f7e97ca23e290cd8ab15efc" + integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== + "@types/uuid@^9.0.1": version "9.0.7" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.7.tgz#b14cebc75455eeeb160d5fe23c2fcc0c64f724d8" @@ -5405,6 +5618,21 @@ babel-loader@^9.1.3: find-cache-dir "^4.0.0" schema-utils "^4.0.0" +babel-plugin-apply-mdx-type-prop@1.6.22: + version "1.6.22" + resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz#d216e8fd0de91de3f1478ef3231e05446bc8705b" + integrity sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ== + dependencies: + "@babel/helper-plugin-utils" "7.10.4" + "@mdx-js/util" "1.6.22" + +babel-plugin-extract-import-names@1.6.22: + version "1.6.22" + resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz#de5f9a28eb12f3eb2578bf74472204e66d1a13dc" + integrity sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ== + dependencies: + "@babel/helper-plugin-utils" "7.10.4" + babel-plugin-istanbul@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" @@ -5512,6 +5740,11 @@ babel-preset-react-app@^10.0.1: babel-plugin-macros "^3.1.0" babel-plugin-transform-react-remove-prop-types "^0.4.24" +bail@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" + integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -5742,6 +5975,11 @@ camel-case@^4.1.2: pascal-case "^3.1.2" tslib "^2.0.3" +camelcase-css@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -5772,6 +6010,11 @@ cborg@^2.0.3: resolved "https://registry.yarnpkg.com/cborg/-/cborg-2.0.5.tgz#b5393c8b1843d5c1a61f2b79b4c9f752052a4d44" integrity sha512-xVW1rSIw1ZXbkwl2XhJ7o/jAv0vnVoQv/QlfQxV8a7V5PlA4UU/AcIiXqmpyybwNWy/GPQU1m/aBVNIWr7/T0w== +ccount@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" + integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== + chai@^4.3.10: version "4.4.1" resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1" @@ -5815,6 +6058,21 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== +character-entities-legacy@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== + +character-entities@^1.0.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== + +character-reference-invalid@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== + check-error@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" @@ -5943,6 +6201,11 @@ co@^4.6.0: resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== +collapse-white-space@^1.0.2: + version "1.0.6" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" + integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== + collect-v8-coverage@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" @@ -6000,6 +6263,11 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +comma-separated-tokens@^1.0.0: + version "1.0.8" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" + integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== + commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -6087,7 +6355,7 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -convert-source-map@^1.5.0, convert-source-map@^1.6.0: +convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.9.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== @@ -6510,6 +6778,13 @@ destroy@1.2.0: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== +detab@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.4.tgz#b927892069aff405fbb9a186fe97a44a92a94b43" + integrity sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g== + dependencies: + repeat-string "^1.5.4" + detect-indent@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" @@ -7342,6 +7617,11 @@ express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -7646,7 +7926,7 @@ functions-have-names@^1.2.3: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -gensync@^1.0.0-beta.2: +gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -7920,6 +8200,31 @@ hasown@^2.0.0, hasown@^2.0.1: dependencies: function-bind "^1.1.2" +hast-to-hyperscript@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz#9b67fd188e4c81e8ad66f803855334173920218d" + integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== + dependencies: + "@types/unist" "^2.0.3" + comma-separated-tokens "^1.0.0" + property-information "^5.3.0" + space-separated-tokens "^1.0.0" + style-to-object "^0.3.0" + unist-util-is "^4.0.0" + web-namespaces "^1.0.0" + +hast-util-from-parse5@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz#554e34abdeea25ac76f5bd950a1f0180e0b3bc2a" + integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== + dependencies: + "@types/parse5" "^5.0.0" + hastscript "^6.0.0" + property-information "^5.0.0" + vfile "^4.0.0" + vfile-location "^3.2.0" + web-namespaces "^1.0.0" + hast-util-heading-rank@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz#2d5c6f2807a7af5c45f74e623498dd6054d2aba8" @@ -7934,6 +8239,38 @@ hast-util-is-element@^3.0.0: dependencies: "@types/hast" "^3.0.0" +hast-util-parse-selector@^2.0.0: + version "2.2.5" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" + integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== + +hast-util-raw@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-6.0.1.tgz#973b15930b7529a7b66984c98148b46526885977" + integrity sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig== + dependencies: + "@types/hast" "^2.0.0" + hast-util-from-parse5 "^6.0.0" + hast-util-to-parse5 "^6.0.0" + html-void-elements "^1.0.0" + parse5 "^6.0.0" + unist-util-position "^3.0.0" + vfile "^4.0.0" + web-namespaces "^1.0.0" + xtend "^4.0.0" + zwitch "^1.0.0" + +hast-util-to-parse5@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz#1ec44650b631d72952066cea9b1445df699f8479" + integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ== + dependencies: + hast-to-hyperscript "^9.0.0" + property-information "^5.0.0" + web-namespaces "^1.0.0" + xtend "^4.0.0" + zwitch "^1.0.0" + hast-util-to-string@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz#2a131948b4b1b26461a2c8ac876e2c88d02946bd" @@ -7941,6 +8278,17 @@ hast-util-to-string@^3.0.0: dependencies: "@types/hast" "^3.0.0" +hastscript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" + integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== + dependencies: + "@types/hast" "^2.0.0" + comma-separated-tokens "^1.0.0" + hast-util-parse-selector "^2.0.0" + property-information "^5.0.0" + space-separated-tokens "^1.0.0" + he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -8014,6 +8362,11 @@ html-tags@^3.1.0: resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== +html-void-elements@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" + integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== + html-webpack-plugin@^5.5.0: version "5.5.3" resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz#72270f4a78e222b5825b296e5e3e1328ad525a3e" @@ -8162,7 +8515,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -8172,6 +8525,11 @@ ini@~4.1.0: resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1" integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== +inline-style-parser@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" + integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== + internal-slot@^1.0.4, internal-slot@^1.0.5, internal-slot@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" @@ -8201,6 +8559,19 @@ is-absolute-url@^4.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-4.0.1.tgz#16e4d487d4fded05cfe0685e53ec86804a5e94dc" integrity sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A== +is-alphabetical@1.0.4, is-alphabetical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== + +is-alphanumerical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-arguments@^1.0.4, is-arguments@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" @@ -8251,6 +8622,11 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-buffer@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -8270,6 +8646,11 @@ is-date-object@^1.0.1, is-date-object@^1.0.5: dependencies: has-tostringtag "^1.0.0" +is-decimal@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== + is-deflate@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-deflate/-/is-deflate-1.0.0.tgz#c862901c3c161fb09dac7cdc7e784f80e98f2f14" @@ -8321,6 +8702,11 @@ is-gzip@^1.0.0: resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" integrity sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ== +is-hexadecimal@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== + is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" @@ -8376,6 +8762,11 @@ is-path-inside@^3.0.2, is-path-inside@^3.0.3: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== +is-plain-obj@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-plain-object@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" @@ -8469,6 +8860,16 @@ is-what@^4.1.8: resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.15.tgz#de43a81090417a425942d67b1ae86e7fae2eee0e" integrity sha512-uKua1wfy3Yt+YqsD6mTUEa2zSi3G1oPlqTflgaPJ7z63vUGN5pxFpnQfeSLMFnJDEsdvOtkp1rUWkYjB4YfhgA== +is-whitespace-character@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" + integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== + +is-word-character@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" + integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== + is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -9080,7 +9481,7 @@ json5@^1.0.2: dependencies: minimist "^1.2.0" -json5@^2.2.0, json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: +json5@^2.1.2, json5@^2.2.0, json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -9317,7 +9718,12 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: +lodash.uniq@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -9431,6 +9837,11 @@ map-or-similar@^1.5.0: resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08" integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg== +markdown-escapes@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" + integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== + markdown-it@14.1.0: version "14.1.0" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45" @@ -9483,11 +9894,44 @@ matomo-js-client-types@5.0.0: resolved "https://registry.yarnpkg.com/matomo-js-client-types/-/matomo-js-client-types-5.0.0.tgz#6b08bd1eaa4b294663bfd82a6fc9e5c55d35c2c0" integrity sha512-CF41gD+0MjLz/yTtEC0WDTt+NT2qJiW5kl+dZse3f6WMPM1gR9LTcHm5VH86UIKZBJmh1gqQhb71n8v3jEnzBw== +mdast-squeeze-paragraphs@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz#7c4c114679c3bee27ef10b58e2e015be79f1ef97" + integrity sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ== + dependencies: + unist-util-remove "^2.0.0" + +mdast-util-definitions@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" + integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ== + dependencies: + unist-util-visit "^2.0.0" + +mdast-util-to-hast@10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz#0cfc82089494c52d46eb0e3edb7a4eb2aea021eb" + integrity sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + mdast-util-definitions "^4.0.0" + mdurl "^1.0.0" + unist-builder "^2.0.0" + unist-util-generated "^1.0.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + mdn-data@2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== +mdurl@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== + mdurl@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" @@ -10132,6 +10576,18 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" + integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== + dependencies: + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" + parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -10142,6 +10598,11 @@ parse-json@^5.0.0, parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +parse5@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + parse5@^7.0.0, parse5@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" @@ -10473,6 +10934,13 @@ prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: object-assign "^4.1.1" react-is "^16.13.1" +property-information@^5.0.0, property-information@^5.3.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" + integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== + dependencies: + xtend "^4.0.0" + protobufjs@~7.2.6: version "7.2.6" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.6.tgz#4a0ccd79eb292717aacf07530a07e0ed20278215" @@ -10971,6 +11439,54 @@ relateurl@^0.2.7: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== +remark-footnotes@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-2.0.0.tgz#9001c4c2ffebba55695d2dd80ffb8b82f7e6303f" + integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ== + +remark-mdx@1.6.22: + version "1.6.22" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.22.tgz#06a8dab07dcfdd57f3373af7f86bd0e992108bbd" + integrity sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ== + dependencies: + "@babel/core" "7.12.9" + "@babel/helper-plugin-utils" "7.10.4" + "@babel/plugin-proposal-object-rest-spread" "7.12.1" + "@babel/plugin-syntax-jsx" "7.12.1" + "@mdx-js/util" "1.6.22" + is-alphabetical "1.0.4" + remark-parse "8.0.3" + unified "9.2.0" + +remark-parse@8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" + integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== + dependencies: + ccount "^1.0.0" + collapse-white-space "^1.0.2" + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + is-word-character "^1.0.0" + markdown-escapes "^1.0.0" + parse-entities "^2.0.0" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + trim "0.0.1" + trim-trailing-lines "^1.0.0" + unherit "^1.0.4" + unist-util-remove-position "^2.0.0" + vfile-location "^3.0.0" + xtend "^4.0.1" + +remark-squeeze-paragraphs@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead" + integrity sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw== + dependencies: + mdast-squeeze-paragraphs "^4.0.0" + remove-accents@0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/remove-accents/-/remove-accents-0.4.2.tgz#0a43d3aaae1e80db919e07ae254b285d9e1c7bb5" @@ -10987,6 +11503,11 @@ renderkid@^3.0.0: lodash "^4.17.21" strip-ansi "^6.0.1" +repeat-string@^1.5.4: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -11024,7 +11545,7 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4, resolve@^1.22.8: +resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4, resolve@^1.22.8, resolve@^1.3.2: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -11160,7 +11681,7 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" -"semver@2 || 3 || 4 || 5", semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.6.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== @@ -11323,7 +11844,7 @@ source-map-support@^0.5.16, source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.7: +source-map@^0.5.0, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== @@ -11333,6 +11854,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +space-separated-tokens@^1.0.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" + integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== + space-separated-tokens@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" @@ -11391,6 +11917,11 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" +state-toggle@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" + integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== + statuses@2.0.1, statuses@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -11565,6 +12096,13 @@ style-loader@^3.3.1: resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw== +style-to-object@0.3.0, style-to-object@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" + integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== + dependencies: + inline-style-parser "0.1.1" + stylis@4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" @@ -11824,6 +12362,21 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +trim-trailing-lines@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" + integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== + +trim@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + integrity sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ== + +trough@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" + integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== + ts-api-utils@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" @@ -12028,6 +12581,14 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +unherit@^1.0.4: + version "1.1.3" + resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" + integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== + dependencies: + inherits "^2.0.0" + xtend "^4.0.0" + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -12051,6 +12612,18 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== +unified@9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" + integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + unique-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" @@ -12058,6 +12631,21 @@ unique-string@^2.0.0: dependencies: crypto-random-string "^2.0.0" +unist-builder@2.0.3, unist-builder@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436" + integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== + +unist-util-generated@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" + integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== + +unist-util-is@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" + integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== + unist-util-is@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" @@ -12065,6 +12653,40 @@ unist-util-is@^6.0.0: dependencies: "@types/unist" "^3.0.0" +unist-util-position@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" + integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== + +unist-util-remove-position@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc" + integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== + dependencies: + unist-util-visit "^2.0.0" + +unist-util-remove@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.1.0.tgz#b0b4738aa7ee445c402fda9328d604a02d010588" + integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== + dependencies: + unist-util-is "^4.0.0" + +unist-util-stringify-position@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" + integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== + dependencies: + "@types/unist" "^2.0.2" + +unist-util-visit-parents@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" + integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^4.0.0" + unist-util-visit-parents@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" @@ -12073,6 +12695,15 @@ unist-util-visit-parents@^6.0.0: "@types/unist" "^3.0.0" unist-util-is "^6.0.0" +unist-util-visit@2.0.3, unist-util-visit@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" + integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^4.0.0" + unist-util-visit-parents "^3.0.0" + unist-util-visit@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" @@ -12213,6 +12844,29 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== +vfile-location@^3.0.0, vfile-location@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" + integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== + +vfile-message@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" + integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^2.0.0" + +vfile@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" + integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^2.0.0" + vfile-message "^2.0.0" + victory-vendor@^36.6.8: version "36.6.11" resolved "https://registry.yarnpkg.com/victory-vendor/-/victory-vendor-36.6.11.tgz#acae770717c2dae541a54929c304ecab5ab6ac2a" @@ -12272,6 +12926,11 @@ weak-lru-cache@^1.2.2: resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz#fdbb6741f36bae9540d12f480ce8254060dccd19" integrity sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw== +web-namespaces@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" + integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -12492,7 +13151,7 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -12549,3 +13208,8 @@ yocto-queue@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +zwitch@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" + integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== From a78f1570ba4b7c777a8b466a146b9ba29932402b Mon Sep 17 00:00:00 2001 From: Albert Peci <75223088+oceanByte@users.noreply.github.com> Date: Tue, 30 Jul 2024 14:04:55 +0200 Subject: [PATCH 38/38] Update app.webmanifest --- public/app.webmanifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/app.webmanifest b/public/app.webmanifest index 8525671df..7236b9a50 100644 --- a/public/app.webmanifest +++ b/public/app.webmanifest @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/web-manifest-combined.json", - "short_name": "Oasis Explorer", - "name": "Official explorer for the Oasis Network.", + "short_name": "Pontus-X Explorer", + "name": "Official explorer for the Pontus-X Ecosystem.", "icons": [ { "src": "./favicon.svg",