diff --git a/apps/oeth/src/components/Topnav.tsx b/apps/oeth/src/components/Topnav.tsx index b163f9027..d451ec029 100644 --- a/apps/oeth/src/components/Topnav.tsx +++ b/apps/oeth/src/components/Topnav.tsx @@ -1,3 +1,5 @@ +import { useState } from 'react'; + import { alpha, Box, @@ -8,6 +10,7 @@ import { useMediaQuery, useTheme, } from '@mui/material'; +import { AccountDetails } from '@origin/oeth/shared'; import { OpenAccountModalButton } from '@origin/shared/providers'; import { useIntl } from 'react-intl'; import { Link, useLocation, useNavigate } from 'react-router-dom'; @@ -22,6 +25,8 @@ export function Topnav(props: BoxProps) { const intl = useIntl(); const navigate = useNavigate(); const location = useLocation(); + const [accountModalAnchor, setAccountModalAnchor] = + useState(null); return ( - + setAccountModalAnchor(e.currentTarget)} + /> + void; +} + +export function AccountDetails({ anchor, setAnchor }: Props) { + const intl = useIntl(); + const { address, isConnected, connector } = useAccount(); + const { disconnect } = useDisconnect(); + + const theme = useTheme(); + const { data: eth } = useBalance({ + address, + token: tokens.mainnet.ETH.address, + enabled: isConnected, + }); + const { data: weth } = useBalance({ + address, + token: tokens.mainnet.WETH.address, + enabled: isConnected, + }); + const { data: reth } = useBalance({ + address, + token: tokens.mainnet.rETH.address, + }); + const { data: frxeth } = useBalance({ + address, + token: tokens.mainnet.frxETH.address, + }); + const { data: sfrxeth } = useBalance({ + address, + token: tokens.mainnet.sfrxETH.address, + }); + const { data: steth } = useBalance({ + address, + token: tokens.mainnet.stETH.address, + }); + + function close() { + setAnchor(null); + } + if (!isConnected) return null; + console.log(connector); + const balance = { + eth: eth?.formatted || '0', + weth: weth?.formatted || '0', + reth: reth?.formatted || '0', + frxeth: frxeth?.formatted || '0', + sfrxeth: sfrxeth?.formatted || '0', + steth: steth?.formatted || '0', + }; + return ( + ({ + xs: '90vw', + md: `min(${theme.typography.pxToRem(250)}, 90vw)`, + }), + [theme.breakpoints.down('md')]: { + left: '0 !important', + right: 0, + marginInline: 'auto', + }, + }, + }} + > + + + Account + + + + + + + {address} + + + + + {values.map((value) => ( + + + {intl.formatNumber(+balance[value], quantityFormat)} +   + {value} + + ))} + + + + ); +} diff --git a/libs/oeth/shared/src/components/index.tsx b/libs/oeth/shared/src/components/index.tsx new file mode 100644 index 000000000..cee219ad1 --- /dev/null +++ b/libs/oeth/shared/src/components/index.tsx @@ -0,0 +1,2 @@ +export * from './ApyHeader'; +export * from './AccountDetails'; diff --git a/libs/oeth/shared/src/components/queries.graphql b/libs/oeth/shared/src/components/queries.graphql new file mode 100644 index 000000000..e69de29bb diff --git a/libs/oeth/shared/src/index.ts b/libs/oeth/shared/src/index.ts index 629604c5e..b6e4d8e6e 100644 --- a/libs/oeth/shared/src/index.ts +++ b/libs/oeth/shared/src/index.ts @@ -1,3 +1,3 @@ -export * from './components/ApyHeader'; +export * from './components'; export * from './clients'; export * from './generated/graphql'; diff --git a/libs/shared/components/src/LinkIcon/index.tsx b/libs/shared/components/src/LinkIcon/index.tsx index e2961b4e2..96afef8c6 100644 --- a/libs/shared/components/src/LinkIcon/index.tsx +++ b/libs/shared/components/src/LinkIcon/index.tsx @@ -7,9 +7,15 @@ interface Props extends LinkProps { size?: string; } -export function LinkIcon({ url, size = '0.875rem', ...rest }: Props) { +export function LinkIcon({ + url, + size = '0.875rem', + target = '_blank', + rel = 'noopener noreferrer nofollow', + ...rest +}: Props) { return ( - + connected ? `linear-gradient(0deg, ${alpha( @@ -190,9 +188,9 @@ export function ConnectButton({ connected, ...rest }: ConnectButtonProps) { }, minWidth: 0, gap: 1.5, - ...rest?.sx, - } as SxProps - } + }, + sx || {}, + )} disableElevation disableRipple disableTouchRipple diff --git a/libs/shared/providers/src/wagmi/components/AddressLabel.tsx b/libs/shared/providers/src/wagmi/components/AddressLabel.tsx index e8c8ce1fa..b8d74a402 100644 --- a/libs/shared/providers/src/wagmi/components/AddressLabel.tsx +++ b/libs/shared/providers/src/wagmi/components/AddressLabel.tsx @@ -23,19 +23,15 @@ export const AddressLabel = ({ chainId: mainnet.id, }); - const fontFamily = monospace ? 'monospace' : 'inherit'; - return enableEnsName ? ( isEnsNameLoading ? ( ) : ( - + {ensName ?? address} ) ) : ( - - {address} - + {address} ); }; diff --git a/libs/shared/providers/src/wagmi/components/OpenAccountModalButton.tsx b/libs/shared/providers/src/wagmi/components/OpenAccountModalButton.tsx index 0a962b61e..f4dea7423 100644 --- a/libs/shared/providers/src/wagmi/components/OpenAccountModalButton.tsx +++ b/libs/shared/providers/src/wagmi/components/OpenAccountModalButton.tsx @@ -1,6 +1,9 @@ +import { Box, useMediaQuery, useTheme } from '@mui/material'; import { ConnectButton as CustomButton } from '@origin/shared/components'; import { ConnectButton } from '@rainbow-me/rainbowkit'; import { useIntl } from 'react-intl'; +import Jazzicon, { jsNumberForAddress } from 'react-jazzicon'; +import { useAccount, useEnsAvatar, useEnsName } from 'wagmi'; import { AddressLabel } from './AddressLabel'; @@ -16,7 +19,15 @@ export const OpenAccountModalButton = ({ connectLabel, ...props }: OpenAccountModalButtonProps) => { + const theme = useTheme(); + const isSmall = useMediaQuery(theme.breakpoints.down('md')); const intl = useIntl(); + const { address, isConnected } = useAccount(); + const { data: ensName } = useEnsName({ address, enabled: isConnected }); + const { data: ensAvatar } = useEnsAvatar({ + name: ensName, + enabled: !!ensName, + }); const handleClick = (handler: () => void) => (evt: MouseEvent) => { @@ -28,14 +39,7 @@ export const OpenAccountModalButton = ({ return ( - {({ - account, - chain, - openChainModal, - openConnectModal, - openAccountModal, - mounted, - }) => { + {({ account, chain, openChainModal, openConnectModal, mounted }) => { if (!mounted || !account || !chain) { return ( div:last-of-type': { + display: 'none', + }, + }, }} > + {ensAvatar ? ( + theme.spacing(3), + height: (theme) => theme.spacing(3), + }} + /> + ) : ( + + )} + ); diff --git a/package.json b/package.json index 6f7252cb0..441f97417 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "react-chartjs-2": "^5.2.0", "react-dom": "18.2.0", "react-intl": "^6.4.6", + "react-jazzicon": "^1.0.4", "react-router-dom": "6.16.0", "react-tracked": "^1.7.11", "tslib": "^2.6.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7d59ca51b..21f9046d9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,9 +5,6 @@ settings: excludeLinksFromLockfile: false dependencies: - '@curvefi/api': - specifier: ^2.46.6 - version: 2.46.6 '@emotion/react': specifier: ^11.11.1 version: 11.11.1(@types/react@18.2.21)(react@18.2.0) @@ -59,6 +56,9 @@ dependencies: react-intl: specifier: ^6.4.6 version: 6.4.6(react@18.2.0)(typescript@5.2.2) + react-jazzicon: + specifier: ^1.0.4 + version: 1.0.4(react-dom@18.2.0)(react@18.2.0) react-router-dom: specifier: 6.16.0 version: 6.16.0(react-dom@18.2.0)(react@18.2.0) @@ -280,10 +280,6 @@ packages: resolution: {integrity: sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==} dev: true - /@adraffy/ens-normalize@1.9.2: - resolution: {integrity: sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg==} - dev: false - /@adraffy/ens-normalize@1.9.4: resolution: {integrity: sha512-UK0bHA7hh9cR39V+4gl2/NnBBjoXIxkuWAPCaY4X7fbH4L/azIi7ilWOCjMUYfpJgraLUAqkRi2BqrjME8Rynw==} dev: false @@ -1938,20 +1934,6 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@curvefi/api@2.46.6: - resolution: {integrity: sha512-/9JEdwiC0ZAEftMZQOfrEtCPGUlOUVXPQAvPa3DM/KTPe9IXYp7jCGv3aVU9Fd/EJgi2apL9KeaZXh1wyAJqow==} - dependencies: - axios: 0.21.4 - bignumber.js: 9.1.2 - ethcall: 6.0.2(ethers@6.7.1) - ethers: 6.7.1 - memoizee: 0.4.15 - transitivePeerDependencies: - - bufferutil - - debug - - utf-8-validate - dev: false - /@discoveryjs/json-ext@0.5.7: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} @@ -3782,19 +3764,11 @@ packages: '@noble/hashes': 1.3.2 dev: false - /@noble/hashes@1.1.2: - resolution: {integrity: sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==} - dev: false - /@noble/hashes@1.3.2: resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} engines: {node: '>= 16'} dev: false - /@noble/secp256k1@1.7.1: - resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} - dev: false - /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -6913,14 +6887,6 @@ packages: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: true - /@types/node@18.14.2: - resolution: {integrity: sha512-1uEQxww3DaghA0RxqHx0O0ppVlo43pJhepY51OxuQIKHpjbnYLA7vcdwioNPzIqmC2u3I/dmylcqjlh0e7AyUA==} - dev: true - - /@types/node@18.15.13: - resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} - dev: false - /@types/node@20.6.0: resolution: {integrity: sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==} @@ -8085,14 +8051,6 @@ packages: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true - /abi-coder@5.0.0(ethers@6.7.1): - resolution: {integrity: sha512-Kpyv/AhAaIaVJiJ6S/xqoTsiJrfSMc3QsBCiRDqic3o1CZNKGR3CIeT1K/1VZ7Wk5uSwsOAxQcke1TVUEz+usg==} - peerDependencies: - ethers: ^6.0.0 - dependencies: - ethers: 6.7.1 - dev: false - /abitype@0.8.7(typescript@5.2.2): resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==} peerDependencies: @@ -8182,10 +8140,6 @@ packages: resolution: {integrity: sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==} dev: false - /aes-js@4.0.0-beta.5: - resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} - dev: false - /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -8509,14 +8463,6 @@ packages: engines: {node: '>=4'} dev: true - /axios@0.21.4: - resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} - dependencies: - follow-redirects: 1.15.2 - transitivePeerDependencies: - - debug - dev: false - /axios@1.5.0: resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} dependencies: @@ -8726,10 +8672,6 @@ packages: bindings: 1.5.0 dev: false - /bignumber.js@9.1.2: - resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} - dev: false - /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -9460,13 +9402,6 @@ packages: /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - /d@1.0.1: - resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} - dependencies: - es5-ext: 0.10.62 - type: 1.2.0 - dev: false - /damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dev: true @@ -10043,24 +9978,6 @@ packages: is-symbol: 1.0.4 dev: true - /es5-ext@0.10.62: - resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} - engines: {node: '>=0.10'} - requiresBuild: true - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.3 - next-tick: 1.1.0 - dev: false - - /es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} - dependencies: - d: 1.0.1 - es5-ext: 0.10.62 - es6-symbol: 3.1.3 - dev: false - /es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} dev: false @@ -10071,22 +9988,6 @@ packages: es6-promise: 4.2.8 dev: false - /es6-symbol@3.1.3: - resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} - dependencies: - d: 1.0.1 - ext: 1.7.0 - dev: false - - /es6-weak-map@2.0.3: - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} - dependencies: - d: 1.0.1 - es5-ext: 0.10.62 - es6-iterator: 2.0.3 - es6-symbol: 3.1.3 - dev: false - /esbuild-plugin-alias@0.2.1: resolution: {integrity: sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==} dev: true @@ -10580,39 +10481,6 @@ packages: fast-safe-stringify: 2.1.1 dev: false - /ethcall@6.0.2(ethers@6.7.1): - resolution: {integrity: sha512-FyaKLlxtaVt+kRmhzDG3YfW4VxqasxZE2CDSfylMVp8kCxsBikzFE1BO90yAMGdjdwaX0kHlvjWSxKRpiEcI4w==} - peerDependencies: - ethers: ^6.0.0 - dependencies: - '@types/node': 20.6.0 - abi-coder: 5.0.0(ethers@6.7.1) - ethers: 6.7.1 - dev: false - - /ethers@6.7.1: - resolution: {integrity: sha512-qX5kxIFMfg1i+epfgb0xF4WM7IqapIIu50pOJ17aebkxxa4BacW5jFrQRmCJpDEg2ZK2oNtR5QjrQ1WDBF29dA==} - engines: {node: '>=14.0.0'} - dependencies: - '@adraffy/ens-normalize': 1.9.2 - '@noble/hashes': 1.1.2 - '@noble/secp256k1': 1.7.1 - '@types/node': 18.15.13 - aes-js: 4.0.0-beta.5 - tslib: 2.4.0 - ws: 8.5.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - /event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - dependencies: - d: 1.0.1 - es5-ext: 0.10.62 - dev: false - /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} @@ -10693,12 +10561,6 @@ packages: - supports-color dev: true - /ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} - dependencies: - type: 2.7.2 - dev: false - /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true @@ -11780,10 +11642,6 @@ packages: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true - /is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - dev: false - /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -12081,7 +11939,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.14.2 + '@types/node': 20.6.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -12559,12 +12417,6 @@ packages: dependencies: yallist: 4.0.0 - /lru-queue@0.1.0: - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} - dependencies: - es5-ext: 0.10.62 - dev: false - /lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -12655,19 +12507,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /memoizee@0.4.15: - resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} - dependencies: - d: 1.0.1 - es5-ext: 0.10.62 - es6-weak-map: 2.0.3 - event-emitter: 0.3.5 - is-promise: 2.2.2 - lru-queue: 0.1.0 - next-tick: 1.1.0 - timers-ext: 0.1.7 - dev: false - /memoizerific@1.11.3: resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} dependencies: @@ -12699,6 +12538,10 @@ packages: '@types/node': 20.6.0 dev: true + /mersenne-twister@1.1.0: + resolution: {integrity: sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==} + dev: false + /methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} @@ -12866,10 +12709,6 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - dev: false - /no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: @@ -13802,6 +13641,17 @@ packages: /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + /react-jazzicon@1.0.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-/3kWv5vtAhI18GBFoqjpxRTtL+EImuB73PAC02r/zJQ6E+PAUmoBx8edYvTCIYHwS01uFf6N3elTDqSrVPwg4w==} + peerDependencies: + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + mersenne-twister: 1.1.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /react-refresh@0.14.0: resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} engines: {node: '>=0.10.0'} @@ -14939,13 +14789,6 @@ packages: /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - /timers-ext@0.1.7: - resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} - dependencies: - es5-ext: 0.10.62 - next-tick: 1.1.0 - dev: false - /tiny-invariant@1.3.1: resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} dev: true @@ -15160,10 +15003,6 @@ packages: /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - /tslib@2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - dev: false - /tslib@2.4.1: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} dev: true @@ -15239,14 +15078,6 @@ packages: mime-types: 2.1.35 dev: true - /type@1.2.0: - resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} - dev: false - - /type@2.7.2: - resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} - dev: false - /typed-array-buffer@1.0.0: resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} engines: {node: '>= 0.4'} @@ -16213,19 +16044,6 @@ packages: optional: true dev: true - /ws@8.5.0: - resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - /xml-name-validator@4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'}