From bb035f65af228e56b1f22392a0ce425f5203d315 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20Zi=C3=B3=C5=82ek?= Date: Mon, 5 Aug 2024 21:43:05 +0200 Subject: [PATCH 01/11] feat: initial prototype --- client/src/api/clients/client-wagmi.ts | 2 +- .../LayoutConnectWallet.scss | 43 ++++++++++ .../LayoutConnectWallet.tsx | 83 +++++++++++++++++-- client/src/index.tsx | 13 ++- client/src/styles/utils/_colors.scss | 1 + 5 files changed, 130 insertions(+), 12 deletions(-) create mode 100644 client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss diff --git a/client/src/api/clients/client-wagmi.ts b/client/src/api/clients/client-wagmi.ts index f719e7e339..f40cf294be 100644 --- a/client/src/api/clients/client-wagmi.ts +++ b/client/src/api/clients/client-wagmi.ts @@ -32,7 +32,7 @@ if (env.jsonRpcEndpoint) { const connectors = connectorsForWallets( [ { - groupName: 'recommended', + groupName: 'Recommended', wallets: [injectedWallet, walletConnectWallet, ledgerWallet], }, ], diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss new file mode 100644 index 0000000000..25b160eec8 --- /dev/null +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss @@ -0,0 +1,43 @@ +// Custom styles for RainbowKit connect modal. +// !important are required, since most of these styles are being overwritten by direct CSS rules. + +.rainbowKitCustomFontFamily { + font-family: 'Inter', sans-serif !important; +} + +.rainbowkitConnectModalHeader { + position: relative !important; +} + +.rainbowkitConnectModalHeaderText { + position: absolute !important; + left: 1.8rem !important; + font-size: 2rem !important; + font-weight: $font-weight-bold !important; +} + +.walletOptionsButton { + background: $color-octant-grey3 !important; +} + +.walletOptionsText { + font-weight: $font-weight-bold !important; + font-size: $font-size-12 !important; +} + +.buttonClose { + height: 3.2rem !important; + width: 3.2rem !important; + background: none !important; + border: none !important; + border-radius: $border-radius-10 !important; + + &:hover { + transform: none !important; + background: $color-octant-grey3 !important; + } + + > svg > path { + fill: $color-octant-purple2 !important; + } +} diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx index 0d64324525..b1b24eb323 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx @@ -1,6 +1,6 @@ import { useConnectModal, WalletButton } from '@rainbow-me/rainbowkit'; import cx from 'classnames'; -import React, { FC, Fragment } from 'react'; +import React, { FC, Fragment, useEffect, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { useConnect } from 'wagmi'; @@ -8,12 +8,15 @@ import BoxRounded from 'components/ui/BoxRounded'; import Loader from 'components/ui/Loader'; import Svg from 'components/ui/Svg'; import networkConfig from 'constants/networkConfig'; +import useMediaQuery from 'hooks/helpers/useMediaQuery'; import useSettingsStore from 'store/settings/store'; import { browserWallet, walletConnect, ledgerConnect } from 'svg/wallet'; import styles from './LayoutConnectWallet.module.scss'; +import './LayoutConnectWallet.scss'; const LayoutConnectWallet: FC = () => { + const { isDesktop } = useMediaQuery(); const { t } = useTranslation('translation', { keyPrefix: 'components.dedicated.connectWallet', }); @@ -23,11 +26,58 @@ const LayoutConnectWallet: FC = () => { setIsDelegationConnectModalOpen: state.setIsDelegationConnectModalOpen, })); const { connectors, status, connect: onConnectAnyConnector } = useConnect(); - const { connectModalOpen: isOpen } = useConnectModal(); + const { openConnectModal, connectModalOpen: isConnectModalOpen } = useConnectModal(); + + useEffect(() => { + if (!isConnectModalOpen) { + return; + } + const timeout = setTimeout(() => { + // RaibowKit connect modal. + const rainbowkitConnectModal = document.querySelectorAll('body > div')[4]; + const allChildren = rainbowkitConnectModal.querySelectorAll('*'); + // font-family is set for all children, as !important doesn't work here. + allChildren.forEach(element => { + // eslint-disable-next-line no-param-reassign + element.classList.add('rainbowKitCustomFontFamily'); + }); + + const rainbowkitConnectModalHeader = document.querySelector('.iekbcc0.ju367va.ju367v2r'); + rainbowkitConnectModalHeader?.classList.add('rainbowkitConnectModalHeader'); + + const rainbowkitConnectModalHeaderText = + rainbowkitConnectModalHeader?.querySelector('div:nth-child(2) > h1'); + rainbowkitConnectModalHeaderText?.classList.add('rainbowkitConnectModalHeaderText'); + + const walletOptionsButtons = document.querySelectorAll( + '.iekbcc0.iekbcc9.ju367v89.ju367v6i.ju367v73.ju367v7o.ju367vo.ju367vt.ju367vv.ju367v8u.ju367v9f.ju367vb1.g5kl0l0._12cbo8i3.ju367v8r._12cbo8i6', + ); + + walletOptionsButtons.forEach(element => { + element.classList.add('walletOptionsButton'); + }); + + const walletOptionsText = document.querySelectorAll('.iekbcc0.ju367v5p'); + + walletOptionsText.forEach(element => { + element.classList.add('walletOptionsText'); + }); + + const buttonClose = document.querySelectorAll( + '.iekbcc0.iekbcc9.ju367v4.ju367va0.ju367vc6.ju367vs.ju367vt.ju367vv.ju367vff.ju367va.ju367v2b.ju367v2q.ju367v8u.ju367v94._12cbo8i3.ju367v8r._12cbo8i5._12cbo8i7', + )[0]; + + buttonClose.classList.add('buttonClose'); + }, 100); + + return () => clearTimeout(timeout); + }, [isConnectModalOpen]); const browserWalletConnector = connectors.find( // eslint-disable-next-line @typescript-eslint/naming-convention ({ id }) => id === 'injected', + // Actually, probably type should be used combined with .filter, user select and ... [0]. + // ({ type }) => type === 'injected', ); const isBrowserWalletConnecting = status === 'pending'; @@ -46,6 +96,14 @@ const LayoutConnectWallet: FC = () => { onConnectAnyConnector({ connector: browserWalletConnector }); }; + const onBrowserWalletClick = useMemo(() => { + if (isBrowserWalletConnecting) { + return undefined; + } + return isDesktop ? openConnectModal : connectBrowserWallet; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [isBrowserWalletConnecting, isDesktop]); + return ( {browserWalletConnector && ( @@ -54,7 +112,7 @@ const LayoutConnectWallet: FC = () => { dataTest="ConnectWallet__BoxRounded--browserWallet" isGrey justifyContent="start" - onClick={isBrowserWalletConnecting ? undefined : connectBrowserWallet} + onClick={onBrowserWalletClick} > {isBrowserWalletConnecting ? ( <> @@ -91,7 +149,7 @@ const LayoutConnectWallet: FC = () => { if ( window.Cypress === undefined && - (!isReady || isOpen || isBrowserWalletConnecting) + (!isReady || isConnectModalOpen || isBrowserWalletConnecting) ) { return undefined; } @@ -100,14 +158,17 @@ const LayoutConnectWallet: FC = () => { }} >
{t('walletConnect')}
@@ -122,10 +183,14 @@ const LayoutConnectWallet: FC = () => { dataTest="ConnectWallet__BoxRounded--ledgerConnect" isGrey justifyContent="start" - onClick={!isReady || isOpen || isBrowserWalletConnecting ? undefined : onConnect} + onClick={ + !isReady || isConnectModalOpen || isBrowserWalletConnecting ? undefined : onConnect + } > {
{t('ledgerConnect')} diff --git a/client/src/index.tsx b/client/src/index.tsx index 193832aee4..05e261948d 100644 --- a/client/src/index.tsx +++ b/client/src/index.tsx @@ -1,7 +1,7 @@ // eslint-disable-next-line import/no-extraneous-dependencies import 'regenerator-runtime/runtime'; import './wallect-connect-polyfill'; -import { RainbowKitProvider } from '@rainbow-me/rainbowkit'; +import { RainbowKitProvider, lightTheme } from '@rainbow-me/rainbowkit'; import { QueryClientProvider } from '@tanstack/react-query'; import React from 'react'; import ReactDOM from 'react-dom/client'; @@ -58,7 +58,16 @@ if (window.location.hash) { ReactDOM.createRoot(root).render( - + diff --git a/client/src/styles/utils/_colors.scss b/client/src/styles/utils/_colors.scss index d3c02a5f5d..a0526c365a 100644 --- a/client/src/styles/utils/_colors.scss +++ b/client/src/styles/utils/_colors.scss @@ -32,3 +32,4 @@ $color-octant-orange3: #f6c54b; $color-octant-orange4: #ffefee; $color-octant-orange5: #f7d2cc; $color-octant-purple: #685b8a; +$color-octant-purple2: #271558; // Used in some SVGs. From fd20fec7266213681626082144f8d501bae4a237 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20Zi=C3=B3=C5=82ek?= Date: Fri, 30 Aug 2024 00:51:27 +0200 Subject: [PATCH 02/11] feat: styling in progress --- .../LayoutConnectWallet.scss | 61 ++++++++++++++++- .../LayoutConnectWallet.tsx | 68 ++++++++++++++++++- 2 files changed, 124 insertions(+), 5 deletions(-) diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss index 25b160eec8..d43fcde529 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss @@ -5,27 +5,66 @@ font-family: 'Inter', sans-serif !important; } +.rainbowKitConnectModalWidth { + width: 47.2rem !important; +} + +.rainbowKitConnectModalDiv { + padding: 0 5.6rem 5.6rem !important; + margin: 0 !important; +} + .rainbowkitConnectModalHeader { - position: relative !important; + line-height: 8.8rem !important; + height: 8.8rem !important; + align-items: center !important; +} + +.rainbowkitConnectDummyDiv { + display: none !important; +} + +.rainbowKitConnectHeaderTextWrapper { + padding: 0 !important; } .rainbowkitConnectModalHeaderText { - position: absolute !important; - left: 1.8rem !important; font-size: 2rem !important; font-weight: $font-weight-bold !important; } +.optionsWrapper { + padding: 0 !important; + margin: 0 !important; +} + +.walletOptionsButtonsWrapper { + display: flex !important; + flex-direction: row !important; +} + .walletOptionsButton { + width: 33%; background: $color-octant-grey3 !important; } +.walletOptionsContent { + flex-direction: column !important; +} + .walletOptionsText { font-weight: $font-weight-bold !important; font-size: $font-size-12 !important; } +.walletOptionsIcons { + filter: grayscale(1) !important; +} + .buttonClose { + position: absolute !important; + top: 1.6rem !important; + right: 1.6rem !important; height: 3.2rem !important; width: 3.2rem !important; background: none !important; @@ -41,3 +80,19 @@ fill: $color-octant-purple2 !important; } } + +.sectionHeaders { + display: none !important; +} + +.walletSections { + display: none !important; +} + +.linkBoxTopDividerLine { + display: none !important; +} + +.linkBox { + display: none !important; +} diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx index b1b24eb323..4f628abf2e 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx @@ -42,23 +42,60 @@ const LayoutConnectWallet: FC = () => { element.classList.add('rainbowKitCustomFontFamily'); }); + const rainbowKitConnectModalWidth = document.querySelector( + '.iekbcc0._1ckjpok4._1ckjpok1.ju367vb6.ju367vdr.ju367vp.ju367vt.ju367vv.ju367vel.ju367va.ju367v15.ju367v6c.ju367v8r', + ); + rainbowKitConnectModalWidth?.classList.add('rainbowKitConnectModalWidth'); + + const rainbowKitConnectModalDiv = document.querySelector( + '.iekbcc0.ju367va.ju367v15.ju367v4y._1vwt0cg4', + ); + rainbowKitConnectModalDiv?.classList.add('rainbowKitConnectModalDiv'); + const rainbowkitConnectModalHeader = document.querySelector('.iekbcc0.ju367va.ju367v2r'); rainbowkitConnectModalHeader?.classList.add('rainbowkitConnectModalHeader'); + const rainbowkitConnectDummyDiv = document.querySelector('.iekbcc0.ju367v3s.ju367v94'); + rainbowkitConnectDummyDiv?.classList.add('rainbowkitConnectDummyDiv'); + + const rainbowKitConnectHeaderTextWrapper = document.querySelector( + '.iekbcc0.ju367v7a.ju367v7v.ju367v3h.ju367v6k.ju367v86', + ); + rainbowKitConnectHeaderTextWrapper?.classList.add('rainbowKitConnectHeaderTextWrapper'); + const rainbowkitConnectModalHeaderText = rainbowkitConnectModalHeader?.querySelector('div:nth-child(2) > h1'); rainbowkitConnectModalHeaderText?.classList.add('rainbowkitConnectModalHeaderText'); + rainbowkitConnectModalHeaderText.textContent = 'Choose a browser wallet'; + + const optionsWrapper = document.querySelector( + '.iekbcc0.ju367v6p._1vwt0cg2.ju367v7a.ju367v7v', + ); + optionsWrapper?.classList.add('optionsWrapper'); + + const walletOptionsButtonsWrappers = document.querySelectorAll( + '.iekbcc0.ju367va.ju367v15.ju367v1n', + ); + walletOptionsButtonsWrappers.forEach(element => { + element?.classList.add('walletOptionsButtonsWrapper'); + }); + const walletOptionsButtons = document.querySelectorAll( '.iekbcc0.iekbcc9.ju367v89.ju367v6i.ju367v73.ju367v7o.ju367vo.ju367vt.ju367vv.ju367v8u.ju367v9f.ju367vb1.g5kl0l0._12cbo8i3.ju367v8r._12cbo8i6', ); - walletOptionsButtons.forEach(element => { element.classList.add('walletOptionsButton'); }); - const walletOptionsText = document.querySelectorAll('.iekbcc0.ju367v5p'); + const walletOptionsContents = document.querySelectorAll( + '.iekbcc0.ju367v4.ju367va.ju367v14.ju367v1s', + ); + walletOptionsContents.forEach(element => { + element?.classList.add('walletOptionsContent'); + }); + const walletOptionsText = document.querySelectorAll('.iekbcc0.ju367v5p'); walletOptionsText.forEach(element => { element.classList.add('walletOptionsText'); }); @@ -68,6 +105,33 @@ const LayoutConnectWallet: FC = () => { )[0]; buttonClose.classList.add('buttonClose'); + + const walletOptionsIcons = document.querySelectorAll('.iekbcc0.ju367v2m.ju367v8p.ju367v9f'); + walletOptionsIcons.forEach(element => { + element.classList.add('walletOptionsIcons'); + }); + + // Installed, recommented + const sectionHeaders = document.querySelectorAll( + '.iekbcc0.ju367v3n.ju367v48.ju367v33.ju367v4y', + ); + sectionHeaders.forEach(element => { + element.classList.add('sectionHeaders'); + }); + + const walletSections = document.querySelectorAll('.iekbcc0.ju367va.ju367v15.ju367v1n'); + if (walletSections) { + walletSections[1].classList.add('walletSections'); + } + + const linkBoxTopDividerLine = document.querySelector('.iekbcc0.ju367vau.ju367v24.ju367v57'); + linkBoxTopDividerLine?.classList.add('linkBoxTopDividerLine'); + + // Div with "new to ethereum" text + link. + const linkBox = document.querySelector( + '.iekbcc0.ju367v7c.ju367v7x.ju367v8f.ju367v6o.ju367v4.ju367va.ju367v2r', + ); + linkBox?.classList.add('linkBox'); }, 100); return () => clearTimeout(timeout); From 32e728a46769b2a7eed7681322f3e0f6487f236a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20Zi=C3=B3=C5=82ek?= Date: Fri, 30 Aug 2024 00:52:21 +0200 Subject: [PATCH 03/11] feat: styling in progress --- .../shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx index 4f628abf2e..2808394ea9 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx @@ -67,7 +67,7 @@ const LayoutConnectWallet: FC = () => { rainbowkitConnectModalHeader?.querySelector('div:nth-child(2) > h1'); rainbowkitConnectModalHeaderText?.classList.add('rainbowkitConnectModalHeaderText'); - rainbowkitConnectModalHeaderText.textContent = 'Choose a browser wallet'; + rainbowkitConnectModalHeaderText?.textContent = 'Choose a browser wallet'; const optionsWrapper = document.querySelector( '.iekbcc0.ju367v6p._1vwt0cg2.ju367v7a.ju367v7v', From f03f13abb2d7587a6df5870c923e331afc2bf8b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20Zi=C3=B3=C5=82ek?= Date: Fri, 30 Aug 2024 00:54:14 +0200 Subject: [PATCH 04/11] feat: styling in progress --- .../shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx index 2808394ea9..a1b5b379ff 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx @@ -67,7 +67,9 @@ const LayoutConnectWallet: FC = () => { rainbowkitConnectModalHeader?.querySelector('div:nth-child(2) > h1'); rainbowkitConnectModalHeaderText?.classList.add('rainbowkitConnectModalHeaderText'); - rainbowkitConnectModalHeaderText?.textContent = 'Choose a browser wallet'; + if (rainbowkitConnectModalHeaderText) { + rainbowkitConnectModalHeaderText.textContent = 'Choose a browser wallet'; + } const optionsWrapper = document.querySelector( '.iekbcc0.ju367v6p._1vwt0cg2.ju367v7a.ju367v7v', From 2d87b981c94773f641d0d631d873dc502d3a3268 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20Zi=C3=B3=C5=82ek?= Date: Fri, 30 Aug 2024 10:52:24 +0200 Subject: [PATCH 05/11] feat: CSS, overlay done, pending mutation observer --- .../LayoutConnectWallet.scss | 22 +++++++++++++++++-- .../LayoutConnectWallet.tsx | 20 ++++++++++++----- 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss index d43fcde529..8d1ee8e46f 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss @@ -43,13 +43,31 @@ flex-direction: row !important; } -.walletOptionsButton { - width: 33%; +.walletOptionsButtons { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + width: 100% !important; + gap: 1.6rem !important; +} + +.walletOptionsButtonsContent { + height: 9.6rem; + padding: 0 !important; background: $color-octant-grey3 !important; } +.walletOptionsButtonsOuter { + width: 10.9rem; +} + .walletOptionsContent { flex-direction: column !important; + + > div:nth-child(2) > div { + text-align: center; + font-size: 1.4rem !important; + } } .walletOptionsText { diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx index a1b5b379ff..9ed131808d 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx @@ -83,11 +83,21 @@ const LayoutConnectWallet: FC = () => { element?.classList.add('walletOptionsButtonsWrapper'); }); - const walletOptionsButtons = document.querySelectorAll( + const walletOptionsButtons = document.querySelectorAll('.iekbcc0.ju367va.ju367v15.ju367v1n'); + walletOptionsButtons.forEach(element => { + element.classList.add('walletOptionsButtons'); + }); + + const walletOptionsButtonsOuter = document.querySelectorAll('.iekbcc0.ju367va.ju367v15'); + walletOptionsButtonsOuter.forEach(element => { + element.classList.add('walletOptionsButtonsOuter'); + }); + + const walletOptionsButtonsContent = document.querySelectorAll( '.iekbcc0.iekbcc9.ju367v89.ju367v6i.ju367v73.ju367v7o.ju367vo.ju367vt.ju367vv.ju367v8u.ju367v9f.ju367vb1.g5kl0l0._12cbo8i3.ju367v8r._12cbo8i6', ); - walletOptionsButtons.forEach(element => { - element.classList.add('walletOptionsButton'); + walletOptionsButtonsContent.forEach(element => { + element.classList.add('walletOptionsButtonsContent'); }); const walletOptionsContents = document.querySelectorAll( @@ -113,7 +123,7 @@ const LayoutConnectWallet: FC = () => { element.classList.add('walletOptionsIcons'); }); - // Installed, recommented + // Installed, recommended. const sectionHeaders = document.querySelectorAll( '.iekbcc0.ju367v3n.ju367v48.ju367v33.ju367v4y', ); @@ -134,7 +144,7 @@ const LayoutConnectWallet: FC = () => { '.iekbcc0.ju367v7c.ju367v7x.ju367v8f.ju367v6o.ju367v4.ju367va.ju367v2r', ); linkBox?.classList.add('linkBox'); - }, 100); + }, 0); return () => clearTimeout(timeout); }, [isConnectModalOpen]); From 97ef3d5241d9fe2d22e4e3856c640fc642193702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20Zi=C3=B3=C5=82ek?= Date: Fri, 30 Aug 2024 13:56:52 +0200 Subject: [PATCH 06/11] feat: CSS naming clarification, observer added, i18n for the header --- .../LayoutConnectWallet.scss | 12 +- .../LayoutConnectWallet.tsx | 142 ++++-------------- .../Layout/LayoutConnectWallet/utils.ts | 115 ++++++++++++++ client/src/locales/en/translation.json | 3 +- 4 files changed, 155 insertions(+), 117 deletions(-) create mode 100644 client/src/components/shared/Layout/LayoutConnectWallet/utils.ts diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss index 8d1ee8e46f..8b1b742234 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss @@ -5,30 +5,30 @@ font-family: 'Inter', sans-serif !important; } -.rainbowKitConnectModalWidth { +.modalWidth { width: 47.2rem !important; } -.rainbowKitConnectModalDiv { +.primaryWrapper { padding: 0 5.6rem 5.6rem !important; margin: 0 !important; } -.rainbowkitConnectModalHeader { +.modalHeader { line-height: 8.8rem !important; height: 8.8rem !important; align-items: center !important; } -.rainbowkitConnectDummyDiv { +.dummyDiv { display: none !important; } -.rainbowKitConnectHeaderTextWrapper { +.headerTextWrapper { padding: 0 !important; } -.rainbowkitConnectModalHeaderText { +.headerText { font-size: 2rem !important; font-weight: $font-weight-bold !important; } diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx index 9ed131808d..49f1a5d854 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx @@ -13,8 +13,29 @@ import useSettingsStore from 'store/settings/store'; import { browserWallet, walletConnect, ledgerConnect } from 'svg/wallet'; import styles from './LayoutConnectWallet.module.scss'; +import { setCustomStylesForRainbowKitModal } from './utils'; + import './LayoutConnectWallet.scss'; +/** + * Determines when RainbwKit modal is in "list of wallets" mode. + * Mutations on RainbowKit modal DOM fire when: + * 1. User chooses any of the wallets (opens wallet-specific loading state). + * 2. User cancels the signature and goes back to the list. + * 3. Custom styles (setCustomStylesForRainbowKitModal) are applied. + * + * Custom styles can not be applied when wallet-specific loading state is visible, because: + * 1. It is not designed. + * 2. Some of the DOM elements are not available then. + * + * Hence, the logic triggers setCustomStylesForRainbowKitModal when modal is being opened + * and then when user goes back to the list of wallets. + * + * Observer checks for childList-type changes and whether user is in list mode, + * then applies custom styles. + */ +let isInListMode = false; + const LayoutConnectWallet: FC = () => { const { isDesktop } = useMediaQuery(); const { t } = useTranslation('translation', { @@ -32,121 +53,22 @@ const LayoutConnectWallet: FC = () => { if (!isConnectModalOpen) { return; } - const timeout = setTimeout(() => { - // RaibowKit connect modal. - const rainbowkitConnectModal = document.querySelectorAll('body > div')[4]; - const allChildren = rainbowkitConnectModal.querySelectorAll('*'); - // font-family is set for all children, as !important doesn't work here. - allChildren.forEach(element => { - // eslint-disable-next-line no-param-reassign - element.classList.add('rainbowKitCustomFontFamily'); - }); - - const rainbowKitConnectModalWidth = document.querySelector( - '.iekbcc0._1ckjpok4._1ckjpok1.ju367vb6.ju367vdr.ju367vp.ju367vt.ju367vv.ju367vel.ju367va.ju367v15.ju367v6c.ju367v8r', - ); - rainbowKitConnectModalWidth?.classList.add('rainbowKitConnectModalWidth'); - - const rainbowKitConnectModalDiv = document.querySelector( - '.iekbcc0.ju367va.ju367v15.ju367v4y._1vwt0cg4', - ); - rainbowKitConnectModalDiv?.classList.add('rainbowKitConnectModalDiv'); - - const rainbowkitConnectModalHeader = document.querySelector('.iekbcc0.ju367va.ju367v2r'); - rainbowkitConnectModalHeader?.classList.add('rainbowkitConnectModalHeader'); - - const rainbowkitConnectDummyDiv = document.querySelector('.iekbcc0.ju367v3s.ju367v94'); - rainbowkitConnectDummyDiv?.classList.add('rainbowkitConnectDummyDiv'); - - const rainbowKitConnectHeaderTextWrapper = document.querySelector( - '.iekbcc0.ju367v7a.ju367v7v.ju367v3h.ju367v6k.ju367v86', - ); - rainbowKitConnectHeaderTextWrapper?.classList.add('rainbowKitConnectHeaderTextWrapper'); - - const rainbowkitConnectModalHeaderText = - rainbowkitConnectModalHeader?.querySelector('div:nth-child(2) > h1'); - rainbowkitConnectModalHeaderText?.classList.add('rainbowkitConnectModalHeaderText'); - - if (rainbowkitConnectModalHeaderText) { - rainbowkitConnectModalHeaderText.textContent = 'Choose a browser wallet'; - } - - const optionsWrapper = document.querySelector( - '.iekbcc0.ju367v6p._1vwt0cg2.ju367v7a.ju367v7v', - ); - optionsWrapper?.classList.add('optionsWrapper'); - const walletOptionsButtonsWrappers = document.querySelectorAll( - '.iekbcc0.ju367va.ju367v15.ju367v1n', - ); - walletOptionsButtonsWrappers.forEach(element => { - element?.classList.add('walletOptionsButtonsWrapper'); - }); + setCustomStylesForRainbowKitModal(t); + isInListMode = true; - const walletOptionsButtons = document.querySelectorAll('.iekbcc0.ju367va.ju367v15.ju367v1n'); - walletOptionsButtons.forEach(element => { - element.classList.add('walletOptionsButtons'); - }); + const target = document.querySelector('.iekbcc0.ju367va.ju367v14'); - const walletOptionsButtonsOuter = document.querySelectorAll('.iekbcc0.ju367va.ju367v15'); - walletOptionsButtonsOuter.forEach(element => { - element.classList.add('walletOptionsButtonsOuter'); - }); - - const walletOptionsButtonsContent = document.querySelectorAll( - '.iekbcc0.iekbcc9.ju367v89.ju367v6i.ju367v73.ju367v7o.ju367vo.ju367vt.ju367vv.ju367v8u.ju367v9f.ju367vb1.g5kl0l0._12cbo8i3.ju367v8r._12cbo8i6', - ); - walletOptionsButtonsContent.forEach(element => { - element.classList.add('walletOptionsButtonsContent'); - }); - - const walletOptionsContents = document.querySelectorAll( - '.iekbcc0.ju367v4.ju367va.ju367v14.ju367v1s', - ); - walletOptionsContents.forEach(element => { - element?.classList.add('walletOptionsContent'); - }); - - const walletOptionsText = document.querySelectorAll('.iekbcc0.ju367v5p'); - walletOptionsText.forEach(element => { - element.classList.add('walletOptionsText'); - }); - - const buttonClose = document.querySelectorAll( - '.iekbcc0.iekbcc9.ju367v4.ju367va0.ju367vc6.ju367vs.ju367vt.ju367vv.ju367vff.ju367va.ju367v2b.ju367v2q.ju367v8u.ju367v94._12cbo8i3.ju367v8r._12cbo8i5._12cbo8i7', - )[0]; - - buttonClose.classList.add('buttonClose'); - - const walletOptionsIcons = document.querySelectorAll('.iekbcc0.ju367v2m.ju367v8p.ju367v9f'); - walletOptionsIcons.forEach(element => { - element.classList.add('walletOptionsIcons'); - }); - - // Installed, recommended. - const sectionHeaders = document.querySelectorAll( - '.iekbcc0.ju367v3n.ju367v48.ju367v33.ju367v4y', - ); - sectionHeaders.forEach(element => { - element.classList.add('sectionHeaders'); - }); - - const walletSections = document.querySelectorAll('.iekbcc0.ju367va.ju367v15.ju367v1n'); - if (walletSections) { - walletSections[1].classList.add('walletSections'); + const observer = new MutationObserver(mutations => { + if (mutations.every(({ type }) => type === 'childList') && !isInListMode) { + setCustomStylesForRainbowKitModal(t); } + isInListMode = !isInListMode; + }); - const linkBoxTopDividerLine = document.querySelector('.iekbcc0.ju367vau.ju367v24.ju367v57'); - linkBoxTopDividerLine?.classList.add('linkBoxTopDividerLine'); - - // Div with "new to ethereum" text + link. - const linkBox = document.querySelector( - '.iekbcc0.ju367v7c.ju367v7x.ju367v8f.ju367v6o.ju367v4.ju367va.ju367v2r', - ); - linkBox?.classList.add('linkBox'); - }, 0); - - return () => clearTimeout(timeout); + // pass in the target node, as well as the observer options + observer.observe(target as Element, { attributes: true, characterData: true, childList: true }); + // eslint-disable-next-line react-hooks/exhaustive-deps }, [isConnectModalOpen]); const browserWalletConnector = connectors.find( diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/utils.ts b/client/src/components/shared/Layout/LayoutConnectWallet/utils.ts new file mode 100644 index 0000000000..f7ef127b79 --- /dev/null +++ b/client/src/components/shared/Layout/LayoutConnectWallet/utils.ts @@ -0,0 +1,115 @@ +import { TFunction } from 'i18next'; + +export const setCustomStylesForRainbowKitModal = (t: TFunction): void => { + // RaibowKit connect modal. + const rainbowkitConnectModal = document.querySelectorAll('body > div')[4]; + + const allChildren = rainbowkitConnectModal.querySelectorAll('*'); + // font-family is set for all children, as inherited !important doesn't work here. + allChildren.forEach(element => { + // eslint-disable-next-line no-param-reassign + element.classList.add('rainbowKitCustomFontFamily'); + }); + + // Wrapper that sets the width. + const modalWidth = document.querySelector( + '.iekbcc0._1ckjpok4._1ckjpok1.ju367vb6.ju367vdr.ju367vp.ju367vt.ju367vv.ju367vel.ju367va.ju367v15.ju367v6c.ju367v8r', + ); + modalWidth?.classList.add('modalWidth'); + + // Primary content wrapper to set the padding. + const primaryWrapper = document.querySelector('.iekbcc0.ju367va.ju367v15.ju367v4y._1vwt0cg4'); + primaryWrapper?.classList.add('primaryWrapper'); + + // Header. + const modalHeader = document.querySelector('.iekbcc0.ju367va.ju367v2r'); + modalHeader?.classList.add('modalHeader'); + + // Dummy div in the header. Causes problems with the flexbox, display none. + const dummyDiv = document.querySelector('.iekbcc0.ju367v3s.ju367v94'); + dummyDiv?.classList.add('dummyDiv'); + + // Wrapper for the text in the header. + const headerTextWrapper = document.querySelector( + '.iekbcc0.ju367v7a.ju367v7v.ju367v3h.ju367v6k.ju367v86', + ); + headerTextWrapper?.classList.add('headerTextWrapper'); + + // Text in the header. + const headerText = modalHeader?.querySelector('div:nth-child(2) > h1'); + headerText?.classList.add('headerText'); + + if (headerText) { + headerText.textContent = t('walletSelectHeader'); + } + + const optionsWrapper = document.querySelector('.iekbcc0.ju367v6p._1vwt0cg2.ju367v7a.ju367v7v'); + optionsWrapper?.classList.add('optionsWrapper'); + + const walletOptionsButtonsWrappers = document.querySelectorAll( + '.iekbcc0.ju367va.ju367v15.ju367v1n', + ); + walletOptionsButtonsWrappers.forEach(element => { + element?.classList.add('walletOptionsButtonsWrapper'); + }); + + const walletOptionsButtons = document.querySelectorAll('.iekbcc0.ju367va.ju367v15.ju367v1n'); + walletOptionsButtons.forEach(element => { + element.classList.add('walletOptionsButtons'); + }); + + const walletOptionsButtonsOuter = document.querySelectorAll('.iekbcc0.ju367va.ju367v15'); + walletOptionsButtonsOuter.forEach(element => { + element.classList.add('walletOptionsButtonsOuter'); + }); + + const walletOptionsButtonsContent = document.querySelectorAll( + '.iekbcc0.iekbcc9.ju367v89.ju367v6i.ju367v73.ju367v7o.ju367vo.ju367vt.ju367vv.ju367v8u.ju367v9f.ju367vb1.g5kl0l0._12cbo8i3.ju367v8r._12cbo8i6', + ); + walletOptionsButtonsContent.forEach(element => { + element.classList.add('walletOptionsButtonsContent'); + }); + + const walletOptionsContents = document.querySelectorAll( + '.iekbcc0.ju367v4.ju367va.ju367v14.ju367v1s', + ); + walletOptionsContents.forEach(element => { + element?.classList.add('walletOptionsContent'); + }); + + const walletOptionsText = document.querySelectorAll('.iekbcc0.ju367v5p'); + walletOptionsText.forEach(element => { + element.classList.add('walletOptionsText'); + }); + + const buttonClose = document.querySelectorAll( + '.iekbcc0.iekbcc9.ju367v4.ju367va0.ju367vc6.ju367vs.ju367vt.ju367vv.ju367vff.ju367va.ju367v2b.ju367v2q.ju367v8u.ju367v94._12cbo8i3.ju367v8r._12cbo8i5._12cbo8i7', + )[0]; + + buttonClose.classList.add('buttonClose'); + + const walletOptionsIcons = document.querySelectorAll('.iekbcc0.ju367v2m.ju367v8p.ju367v9f'); + walletOptionsIcons.forEach(element => { + element.classList.add('walletOptionsIcons'); + }); + + // Installed, recommended. + const sectionHeaders = document.querySelectorAll('.iekbcc0.ju367v3n.ju367v48.ju367v33.ju367v4y'); + sectionHeaders.forEach(element => { + element.classList.add('sectionHeaders'); + }); + + const walletSections = document.querySelectorAll('.iekbcc0.ju367va.ju367v15.ju367v1n'); + if (walletSections) { + walletSections[1].classList.add('walletSections'); + } + + const linkBoxTopDividerLine = document.querySelector('.iekbcc0.ju367vau.ju367v24.ju367v57'); + linkBoxTopDividerLine?.classList.add('linkBoxTopDividerLine'); + + // Div with "new to ethereum" text + link. + const linkBox = document.querySelector( + '.iekbcc0.ju367v7c.ju367v7x.ju367v8f.ju367v6o.ju367v4.ju367va.ju367v2r', + ); + linkBox?.classList.add('linkBox'); +}; diff --git a/client/src/locales/en/translation.json b/client/src/locales/en/translation.json index 01da56577f..86339f495a 100644 --- a/client/src/locales/en/translation.json +++ b/client/src/locales/en/translation.json @@ -162,7 +162,8 @@ "browserWallet": "Browser wallet", "connecting": "Connecting ...", "walletConnect": "WalletConnect", - "ledgerConnect": "Ledger" + "ledgerConnect": "Ledger", + "walletSelectHeader": "Choose a browser wallet" }, "donationEstimateBox": { "donationEstimate": "Donation estimate", From 988c36dabac18d8eacd992d050369cb43d49e10a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20Zi=C3=B3=C5=82ek?= Date: Fri, 30 Aug 2024 23:49:00 +0200 Subject: [PATCH 07/11] style: unify CSS variables with Modal component --- .../LayoutConnectWallet/LayoutConnectWallet.scss | 10 +++++----- .../LayoutConnectWallet/LayoutConnectWallet.tsx | 1 - client/src/components/ui/Modal/Modal.module.scss | 16 ++++++++-------- client/src/styles/utils/_variables.scss | 5 +++++ 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss index 8b1b742234..22435046fd 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss @@ -6,17 +6,17 @@ } .modalWidth { - width: 47.2rem !important; + width: $modalDesktopWidth !important; } .primaryWrapper { - padding: 0 5.6rem 5.6rem !important; + padding: $modalPadding !important; margin: 0 !important; } .modalHeader { - line-height: 8.8rem !important; - height: 8.8rem !important; + line-height: $modalHeaderHeight !important; + height: $modalHeaderHeight !important; align-items: center !important; } @@ -29,7 +29,7 @@ } .headerText { - font-size: 2rem !important; + font-size: $modalHeaderFontSize !important; font-weight: $font-weight-bold !important; } diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx index 49f1a5d854..77ac6f79c7 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.tsx @@ -66,7 +66,6 @@ const LayoutConnectWallet: FC = () => { isInListMode = !isInListMode; }); - // pass in the target node, as well as the observer options observer.observe(target as Element, { attributes: true, characterData: true, childList: true }); // eslint-disable-next-line react-hooks/exhaustive-deps }, [isConnectModalOpen]); diff --git a/client/src/components/ui/Modal/Modal.module.scss b/client/src/components/ui/Modal/Modal.module.scss index 35f384ab20..64de19eab2 100644 --- a/client/src/components/ui/Modal/Modal.module.scss +++ b/client/src/components/ui/Modal/Modal.module.scss @@ -1,4 +1,4 @@ -$desktop-width: 47.2rem; + .root { display: flex; @@ -32,8 +32,8 @@ $desktop-width: 47.2rem; } @media #{$desktop-up} { - width: $desktop-width; - margin: 0 0 0 calc($desktop-width / -2); + width: $modalDesktopWidth; + margin: 0 0 0 calc($modalDesktopWidth / -2); .header { font-size: $font-size-20; @@ -46,11 +46,11 @@ $desktop-width: 47.2rem; .header { position: relative; font-weight: $font-weight-bold; - font-size: $font-size-20; + font-size: $modalHeaderFontSize; color: $color-octant-dark; width: 100%; overflow: hidden; - line-height: 8.8rem; + line-height: $modalHeaderHeight; } } @@ -96,11 +96,11 @@ $desktop-width: 47.2rem; @media #{$desktop-up} { .root { - width: $desktop-width; + width: $modalDesktopWidth; left: 50%; box-shadow: $box-shadow-1; border-radius: $border-radius-20; - margin-left: calc($desktop-width / -2); + margin-left: calc($modalDesktopWidth / -2); } .buttonClose { @@ -110,7 +110,7 @@ $desktop-width: 47.2rem; } .body { - padding: 0 5.6rem 5.6rem; + padding: $modalPadding; &.hasImage { border-radius: 0 0 $border-radius-20 $border-radius-20; diff --git a/client/src/styles/utils/_variables.scss b/client/src/styles/utils/_variables.scss index 487728e0e8..06d869ce51 100644 --- a/client/src/styles/utils/_variables.scss +++ b/client/src/styles/utils/_variables.scss @@ -35,3 +35,8 @@ $modalVariantSmallPaddingMobile: 2.4rem; $modalVariantSmallPaddingDesktop: 5.6rem; $projectItemPadding: 2.4rem; $historyHorizontalPadding: 1.6rem; + +$modalDesktopWidth: 47.2rem; +$modalPadding: 0 5.6rem 5.6rem; +$modalHeaderHeight: 8.8rem; +$modalHeaderFontSize: $font-size-20; From 8cb3449c5cb06d694b260ed0efc12f5a88395abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20S=C5=82omnicki?= Date: Thu, 29 Aug 2024 13:02:20 +0200 Subject: [PATCH 08/11] Bump argo app to 0.2.64 --- ci/argocd/templates/octant-application.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/argocd/templates/octant-application.yaml b/ci/argocd/templates/octant-application.yaml index a3e660d5ea..8c0809c598 100644 --- a/ci/argocd/templates/octant-application.yaml +++ b/ci/argocd/templates/octant-application.yaml @@ -15,7 +15,7 @@ spec: namespace: $DEPLOYMENT_ID sources: - repoURL: 'https://gitlab.com/api/v4/projects/48137258/packages/helm/devel' - targetRevision: 0.2.63 + targetRevision: 0.2.64 chart: octant helm: parameters: From 884c1624b44410a02404af6cabbf46ddb057bcd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20Zi=C3=B3=C5=82ek?= Date: Tue, 3 Sep 2024 12:09:08 +0200 Subject: [PATCH 09/11] feat: upgrade wagmi and viem --- client/package.json | 8 +- client/yarn.lock | 429 +++++++++++++++++++++++--------------------- 2 files changed, 230 insertions(+), 207 deletions(-) diff --git a/client/package.json b/client/package.json index 0808b76ecb..ff8d2f17aa 100644 --- a/client/package.json +++ b/client/package.json @@ -35,11 +35,11 @@ "dependencies": { "@ethersproject/constants": "^5.7.0", "@ethersproject/providers": "^5.7.2", - "@rainbow-me/rainbowkit": "^2.1.1", + "@rainbow-me/rainbowkit": "^2.1.5", "@sentry/react": "^8.4.0", "@sentry/vite-plugin": "^2.17.0", "@tanstack/react-query": "^5.37.1", - "@wagmi/core": "^2.11.5", + "@wagmi/core": "^2.13.4", "axios": "^1.7.2", "classnames": "^2.5.1", "date-fns": "^3.6.0", @@ -60,8 +60,8 @@ "react-toastify": "^10.0.5", "react-vis": "^1.12.1", "socket.io-client": "^4.7.5", - "viem": "^2.12.1", - "wagmi": "^2.10.8", + "viem": "^2.21.1", + "wagmi": "^2.12.8", "yup": "^1.4.0", "zustand": "^4.5.2" }, diff --git a/client/yarn.lock b/client/yarn.lock index 80888f83dc..2b00e282d2 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -12,11 +12,6 @@ resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== -"@adraffy/ens-normalize@1.9.4": - version "1.9.4" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.4.tgz#aae21cb858bbb0411949d5b7b3051f4209043f62" - integrity sha512-UK0bHA7hh9cR39V+4gl2/NnBBjoXIxkuWAPCaY4X7fbH4L/azIi7ilWOCjMUYfpJgraLUAqkRi2BqrjME8Rynw== - "@ampproject/remapping@^2.2.0": version "2.2.1" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" @@ -881,7 +876,7 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/runtime@^7.19.4", "@babel/runtime@^7.20.6", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.9": +"@babel/runtime@^7.19.4", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.9": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.5.tgz#230946857c053a36ccc66e1dd03b17dd0c4ed02c" integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g== @@ -2374,7 +2369,7 @@ "@metamask/safe-event-emitter" "^3.0.0" "@metamask/utils" "^5.0.1" -"@metamask/json-rpc-engine@^7.0.0", "@metamask/json-rpc-engine@^7.3.2": +"@metamask/json-rpc-engine@^7.0.0": version "7.3.3" resolved "https://registry.yarnpkg.com/@metamask/json-rpc-engine/-/json-rpc-engine-7.3.3.tgz#f2b30a2164558014bfcca45db10f5af291d989af" integrity sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg== @@ -2383,12 +2378,21 @@ "@metamask/safe-event-emitter" "^3.0.0" "@metamask/utils" "^8.3.0" -"@metamask/json-rpc-middleware-stream@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@metamask/json-rpc-middleware-stream/-/json-rpc-middleware-stream-6.0.2.tgz#75852ce481f8f9f091edbfc04ffdf964f8f3cabd" - integrity sha512-jtyx3PRfc1kqoLpYveIVQNwsxYKefc64/LCl9h9Da1m3nUKEvypbYuXSIwi237qvOjKmNHQKsDOZg6f4uBf62Q== +"@metamask/json-rpc-engine@^8.0.1", "@metamask/json-rpc-engine@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@metamask/json-rpc-engine/-/json-rpc-engine-8.0.2.tgz#29510a871a8edef892f838ee854db18de0bf0d14" + integrity sha512-IoQPmql8q7ABLruW7i4EYVHWUbF74yrp63bRuXV5Zf9BQwcn5H9Ww1eLtROYvI1bUXwOiHZ6qT5CWTrDc/t/AA== + dependencies: + "@metamask/rpc-errors" "^6.2.1" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^8.3.0" + +"@metamask/json-rpc-middleware-stream@^7.0.1": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@metamask/json-rpc-middleware-stream/-/json-rpc-middleware-stream-7.0.2.tgz#2e8b2cbc38968e3c6239a9144c35bbb08a8fb57d" + integrity sha512-yUdzsJK04Ev98Ck4D7lmRNQ8FPioXYhEUZOMS01LXW8qTvPGiRVXmVltj2p4wrLkh0vW7u6nv0mNl5xzC5Qmfg== dependencies: - "@metamask/json-rpc-engine" "^7.3.2" + "@metamask/json-rpc-engine" "^8.0.2" "@metamask/safe-event-emitter" "^3.0.0" "@metamask/utils" "^8.3.0" readable-stream "^3.6.2" @@ -2408,16 +2412,16 @@ dependencies: bowser "^2.9.0" -"@metamask/providers@^15.0.0": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@metamask/providers/-/providers-15.0.0.tgz#e8957bb89d2f3379b32b60117d79a141e44db2bc" - integrity sha512-FXvL1NQNl6I7fMOJTfQYcBlBZ33vSlm6w80cMpmn8sJh0Lb7wcBpe02UwBsNlARnI+Qsr26XeDs6WHUHQh8CuA== +"@metamask/providers@16.1.0": + version "16.1.0" + resolved "https://registry.yarnpkg.com/@metamask/providers/-/providers-16.1.0.tgz#7da593d17c541580fa3beab8d9d8a9b9ce19ea07" + integrity sha512-znVCvux30+3SaUwcUGaSf+pUckzT5ukPRpcBmy+muBLC0yaWnBcvDqGfcsw6CBIenUdFrVoAFa8B6jsuCY/a+g== dependencies: - "@metamask/json-rpc-engine" "^7.3.2" - "@metamask/json-rpc-middleware-stream" "^6.0.2" + "@metamask/json-rpc-engine" "^8.0.1" + "@metamask/json-rpc-middleware-stream" "^7.0.1" "@metamask/object-multiplex" "^2.0.0" "@metamask/rpc-errors" "^6.2.1" - "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/safe-event-emitter" "^3.1.1" "@metamask/utils" "^8.3.0" detect-browser "^5.2.0" extension-port-stream "^3.0.0" @@ -2439,38 +2443,38 @@ resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== -"@metamask/safe-event-emitter@^3.0.0": +"@metamask/safe-event-emitter@^3.0.0", "@metamask/safe-event-emitter@^3.1.1": version "3.1.1" resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.1.tgz#e89b840a7af8097a8ed4953d8dc8470d1302d3ef" integrity sha512-ihb3B0T/wJm1eUuArYP4lCTSEoZsClHhuWyfo/kMX3m/odpqNcPfsz5O2A3NT7dXCAgWPGDQGPqygCpgeniKMw== -"@metamask/sdk-communication-layer@0.26.2": - version "0.26.2" - resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.26.2.tgz#e36f298e78fa7c276a4db6a5bfa76085af3f75ef" - integrity sha512-YMqwjhCZ4sXYAsEp1LxLrZZycBwpUeEsA4yIx48m1yW9sZ8pv3NGnbjM+F0zf29DLjyqLxJdxHJ7b5YkgtB26g== +"@metamask/sdk-communication-layer@0.27.0": + version "0.27.0" + resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.27.0.tgz#8d618fadd39f11627d5b3ef1bc72867439e33ff4" + integrity sha512-G9LCaQzIqp5WmUmvHN6UUdjWrBh67MbRobmbbs5fcc2+9XFhj3vBgtyleUYjun91jSlPHoZeo+f/Pj4/WoPIJg== dependencies: bufferutil "^4.0.8" date-fns "^2.29.3" debug "^4.3.4" - utf-8-validate "^6.0.3" + utf-8-validate "^5.0.2" uuid "^8.3.2" -"@metamask/sdk-install-modal-web@0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.26.0.tgz#412a89747a96e94233eb59d2779ab26656096688" - integrity sha512-LyDQFIsWWyU0ZgZR3O9LzRqKzXcYUEGJRCNfb26IjFOquvmQosbhQV0jDNlVa8Tk2Fg4ykTPoaauANh6sVJYVQ== +"@metamask/sdk-install-modal-web@0.26.5": + version "0.26.5" + resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.26.5.tgz#b696c78818adaff85d01a4f41fecc8fd2c80bc59" + integrity sha512-qVA9Nk+NorGx5hXyODy5wskptE8R7RNYTYt49VbQpJogqbbVe1dnJ98+KaA43PBN4XYMCXmcIhULNiEHGsLynA== dependencies: qr-code-styling "^1.6.0-rc.1" -"@metamask/sdk@0.26.3": - version "0.26.3" - resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.26.3.tgz#d7b08955f0b2fcb1248913a292490745d52fd57b" - integrity sha512-DM4BFPr1BDAIhTz7/RWb3oWQRvX79TJVZH8EL/Ljp+CRY7IjCbaVwaLdyQjVd8Doyq1V7AL4N/JjXplpo2YyYg== +"@metamask/sdk@0.27.0": + version "0.27.0" + resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.27.0.tgz#38617985b8305a0f5d482cdd7af8ddec87968bb7" + integrity sha512-6sMjr/0qR700X1svPGEQ4rBdtccidBLeTC27fYQc7r9ROgSixB1DUUAyu/LoySVqt3Hu/Zm7NnAHXuT228ht7A== dependencies: "@metamask/onboarding" "^1.0.1" - "@metamask/providers" "^15.0.0" - "@metamask/sdk-communication-layer" "0.26.2" - "@metamask/sdk-install-modal-web" "0.26.0" + "@metamask/providers" "16.1.0" + "@metamask/sdk-communication-layer" "0.27.0" + "@metamask/sdk-install-modal-web" "0.26.5" "@types/dom-screen-wake-lock" "^1.0.0" bowser "^2.9.0" cross-fetch "^4.0.0" @@ -2478,7 +2482,7 @@ eciesjs "^0.3.15" eth-rpc-errors "^4.0.3" eventemitter2 "^6.4.7" - i18next "22.5.1" + i18next "23.11.5" i18next-browser-languagedetector "7.1.0" obj-multiplex "^1.0.0" pump "^3.0.0" @@ -2630,6 +2634,27 @@ dependencies: "@noble/hashes" "1.3.3" +"@noble/curves@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6" + integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg== + dependencies: + "@noble/hashes" "1.4.0" + +"@noble/curves@^1.4.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.5.0.tgz#7a9b9b507065d516e6dce275a1e31db8d2a100dd" + integrity sha512-J5EKamIHnKPyClwVrzmaf5wSdQXgdHcPZIZLu3bwnbeCx8/7NPK5q2ZBWF+5FvYGByjiQQsJYX6jfgB2wDPn3A== + dependencies: + "@noble/hashes" "1.4.0" + +"@noble/curves@~1.4.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" + integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw== + dependencies: + "@noble/hashes" "1.4.0" + "@noble/hashes@1.3.2", "@noble/hashes@^1.3.1", "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.2": version "1.3.2" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" @@ -2640,6 +2665,16 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== +"@noble/hashes@1.4.0", "@noble/hashes@~1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" + integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== + +"@noble/hashes@^1.4.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" + integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -2797,10 +2832,10 @@ dependencies: playwright "1.41.1" -"@rainbow-me/rainbowkit@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@rainbow-me/rainbowkit/-/rainbowkit-2.1.1.tgz#5d8ae5a015fef1f62fb501e271790dfa753c2c13" - integrity sha512-iOn4m1CTv+ezzYpiA4QU+v6JFB94NY6h5ohpQi3Qt/qZXdHzp3NAKUrESQ10kFx2Xc4px80PKdggeES0UPZw0A== +"@rainbow-me/rainbowkit@^2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@rainbow-me/rainbowkit/-/rainbowkit-2.1.5.tgz#913169f9fb4518cff8fe2856ea2333e754b8bb00" + integrity sha512-Kdef0zu0bUlIOlbyyi3ukmQl7k8s3w0jTcWZxYTicZ/N4L35yX0vEzYgiG4u6OSXlbAQaC7VrkPKugPbSohnLQ== dependencies: "@vanilla-extract/css" "1.14.0" "@vanilla-extract/dynamic" "2.1.0" @@ -2900,21 +2935,21 @@ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz#5a2d08b81e8064b34242d5cc9973ef8dd1e60503" integrity sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w== -"@safe-global/safe-apps-provider@0.18.1": - version "0.18.1" - resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.1.tgz#287b5a1e2ef3be630dacde54279409df3ced8202" - integrity sha512-V4a05A3EgJcriqtDoJklDz1BOinWhC6P0hjUSxshA4KOZM7rGPCTto/usXs09zr1vvL28evl/NldSTv97j2bmg== +"@safe-global/safe-apps-provider@0.18.3": + version "0.18.3" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.3.tgz#805a42e24f5dde803cb96dac251a3c9e256de45b" + integrity sha512-f/0cNv3S4v7p8rowAjj0hDCg8Q8P/wBjp5twkNWeBdvd0RDr7BuRBPPk74LCqmjQ82P+1ltLlkmVFSmxTIT7XQ== dependencies: - "@safe-global/safe-apps-sdk" "^8.1.0" + "@safe-global/safe-apps-sdk" "^9.1.0" events "^3.3.0" -"@safe-global/safe-apps-sdk@8.1.0", "@safe-global/safe-apps-sdk@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.1.0.tgz#d1d0c69cd2bf4eef8a79c5d677d16971926aa64a" - integrity sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w== +"@safe-global/safe-apps-sdk@9.1.0", "@safe-global/safe-apps-sdk@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-9.1.0.tgz#0e65913e0f202e529ed3c846e0f5a98c2d35aa98" + integrity sha512-N5p/ulfnnA2Pi2M3YeWjULeWbjo7ei22JwU/IXnhoHzKq3pYCN6ynL9mJBOlvDVv892EgLPCWCOwQk/uBT2v0Q== dependencies: "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" - viem "^1.0.0" + viem "^2.1.1" "@safe-global/safe-gateway-typescript-sdk@^3.5.3": version "3.12.0" @@ -2931,6 +2966,11 @@ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== +"@scure/base@~1.1.6": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.7.tgz#fe973311a5c6267846aa131bc72e96c5d40d2b30" + integrity sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g== + "@scure/bip32@1.3.2": version "1.3.2" resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.2.tgz#90e78c027d5e30f0b22c1f8d50ff12f3fb7559f8" @@ -2949,6 +2989,15 @@ "@noble/hashes" "~1.3.2" "@scure/base" "~1.1.4" +"@scure/bip32@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" + integrity sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg== + dependencies: + "@noble/curves" "~1.4.0" + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + "@scure/bip39@1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" @@ -2965,6 +3014,14 @@ "@noble/hashes" "~1.3.2" "@scure/base" "~1.1.4" +"@scure/bip39@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" + integrity sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ== + dependencies: + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + "@sentry-internal/browser-utils@8.4.0": version "8.4.0" resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.4.0.tgz#5b108878e93713757d75e7e8ae7780297d36ad17" @@ -4114,32 +4171,32 @@ "@types/babel__core" "^7.20.5" react-refresh "^0.14.2" -"@wagmi/connectors@5.0.20": - version "5.0.20" - resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.0.20.tgz#01620a10d1d3fb15d7d9e06bb007f11c0dfdc7a5" - integrity sha512-H4jleQIiMFy1mUt+6vTtdL8Fw1yve1+b0c30RsfddgaoXjUaTHAeTUmDsGBPADRJfbg3pixLh6xt82z4Mab9hw== +"@wagmi/connectors@5.1.8": + version "5.1.8" + resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.1.8.tgz#3793fecfa8bbe7c1b675f36103fc3bfdb8262e63" + integrity sha512-LdImInHFogis83/Yhq0vJLracIFUSl9m8961JEWS+lGDPuU2QbVg4Rv2VAfratfRoR8oDuSJNTvIvp9Kyiu5ug== dependencies: "@coinbase/wallet-sdk" "4.0.4" - "@metamask/sdk" "0.26.3" - "@safe-global/safe-apps-provider" "0.18.1" - "@safe-global/safe-apps-sdk" "8.1.0" - "@walletconnect/ethereum-provider" "2.13.0" + "@metamask/sdk" "0.27.0" + "@safe-global/safe-apps-provider" "0.18.3" + "@safe-global/safe-apps-sdk" "9.1.0" + "@walletconnect/ethereum-provider" "2.15.2" "@walletconnect/modal" "2.6.2" cbw-sdk "npm:@coinbase/wallet-sdk@3.9.3" -"@wagmi/core@2.11.5", "@wagmi/core@^2.11.5": - version "2.11.5" - resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.11.5.tgz#9fd47cfaeb26ae1546f705f871fcee44f0bd2b91" - integrity sha512-RmtZQkNf/ozdngyDST33WLTdKQHny9SsiNmxln8G06pbnOuhO4dDhnXnfiJ8Lh9GVIfFsjlmtqzfAIo1/86dqg== +"@wagmi/core@2.13.4", "@wagmi/core@^2.13.4": + version "2.13.4" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.13.4.tgz#8d5da08e450171bfe34f72a079cfa2b81825410a" + integrity sha512-J6gfxHYr8SCc/BzEa712LnI+qLFs5K2nBLupwQqQl4WiAlCu8SdcpbZokqiwfCMYhIRMj0+YFEP9qe4ypcexmw== dependencies: eventemitter3 "5.0.1" - mipd "0.0.5" + mipd "0.0.7" zustand "4.4.1" -"@walletconnect/core@2.13.0": - version "2.13.0" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.13.0.tgz#6b79b039930643e8ee85a0f512b143a35fdb8b52" - integrity sha512-blDuZxQenjeXcVJvHxPznTNl6c/2DO4VNrFnus+qHmO6OtT5lZRowdMtlCaCNb1q0OxzgrmBDcTOCbFcCpio/g== +"@walletconnect/core@2.15.2": + version "2.15.2" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.15.2.tgz#12d9da8c4e32a6c3713f421ca65cd0605f43a080" + integrity sha512-u4BGuazSNAQ48QBY7EphanBuBN6EJWyD5MXi83n1wXwfPQWAu0XNvmOjjF+xmMI5TsYH9N6Y78O6HP/VX9EOvg== dependencies: "@walletconnect/heartbeat" "1.2.2" "@walletconnect/jsonrpc-provider" "1.0.14" @@ -4148,14 +4205,13 @@ "@walletconnect/jsonrpc-ws-connection" "1.0.14" "@walletconnect/keyvaluestorage" "1.1.1" "@walletconnect/logger" "2.1.2" - "@walletconnect/relay-api" "1.0.10" + "@walletconnect/relay-api" "1.0.11" "@walletconnect/relay-auth" "1.0.4" "@walletconnect/safe-json" "1.0.2" "@walletconnect/time" "1.0.2" - "@walletconnect/types" "2.13.0" - "@walletconnect/utils" "2.13.0" + "@walletconnect/types" "2.15.2" + "@walletconnect/utils" "2.15.2" events "3.3.0" - isomorphic-unfetch "3.1.0" lodash.isequal "4.5.0" uint8arrays "3.1.0" @@ -4166,20 +4222,20 @@ dependencies: tslib "1.14.1" -"@walletconnect/ethereum-provider@2.13.0": - version "2.13.0" - resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.13.0.tgz#5148851983e0d55fa1c18737b2db22802c82434c" - integrity sha512-dnpW8mmLpWl1AZUYGYZpaAfGw1HFkL0WSlhk5xekx3IJJKn4pLacX2QeIOo0iNkzNQxZfux1AK4Grl1DvtzZEA== +"@walletconnect/ethereum-provider@2.15.2": + version "2.15.2" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.15.2.tgz#ed465031fa5e47f808d3f1bc42ab568d458b77db" + integrity sha512-POH2Wov2cXdASDDyv2bwY9Y2JzkGzGFS4SzltMt1zxKUMTyoJ8xKAgWaxoiJw0pqsLGY7T5msmk9qeKOavQtAA== dependencies: "@walletconnect/jsonrpc-http-connection" "1.0.8" "@walletconnect/jsonrpc-provider" "1.0.14" "@walletconnect/jsonrpc-types" "1.0.4" "@walletconnect/jsonrpc-utils" "1.0.8" "@walletconnect/modal" "2.6.2" - "@walletconnect/sign-client" "2.13.0" - "@walletconnect/types" "2.13.0" - "@walletconnect/universal-provider" "2.13.0" - "@walletconnect/utils" "2.13.0" + "@walletconnect/sign-client" "2.15.2" + "@walletconnect/types" "2.15.2" + "@walletconnect/universal-provider" "2.15.2" + "@walletconnect/utils" "2.15.2" events "3.3.0" "@walletconnect/events@1.0.1", "@walletconnect/events@^1.0.1": @@ -4295,10 +4351,10 @@ "@walletconnect/modal-core" "2.6.2" "@walletconnect/modal-ui" "2.6.2" -"@walletconnect/relay-api@1.0.10": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.10.tgz#5aef3cd07c21582b968136179aa75849dcc65499" - integrity sha512-tqrdd4zU9VBNqUaXXQASaexklv6A54yEyQQEXYOCr+Jz8Ket0dmPBDyg19LVSNUN2cipAghQc45/KVmfFJ0cYw== +"@walletconnect/relay-api@1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.11.tgz#80ab7ef2e83c6c173be1a59756f95e515fb63224" + integrity sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q== dependencies: "@walletconnect/jsonrpc-types" "^1.0.2" @@ -4321,19 +4377,19 @@ dependencies: tslib "1.14.1" -"@walletconnect/sign-client@2.13.0": - version "2.13.0" - resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.13.0.tgz#f59993f082aec1ca5498b9519027e764c1e6d28b" - integrity sha512-En7KSvNUlQFx20IsYGsFgkNJ2lpvDvRsSFOT5PTdGskwCkUfOpB33SQJ6nCrN19gyoKPNvWg80Cy6MJI0TjNYA== +"@walletconnect/sign-client@2.15.2": + version "2.15.2" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.15.2.tgz#4568f71f6daebc6405d86278c78b64ef646c266b" + integrity sha512-Yp4/z3IdTMngbjr7Zy7Qi1X6EZDH4nxY91X6K2KpA3MjLW0yPTGalEJgJ4p9WH7fmHRlwvfR4hjwM5eQcLo5Zg== dependencies: - "@walletconnect/core" "2.13.0" + "@walletconnect/core" "2.15.2" "@walletconnect/events" "1.0.1" "@walletconnect/heartbeat" "1.2.2" "@walletconnect/jsonrpc-utils" "1.0.8" "@walletconnect/logger" "2.1.2" "@walletconnect/time" "1.0.2" - "@walletconnect/types" "2.13.0" - "@walletconnect/utils" "2.13.0" + "@walletconnect/types" "2.15.2" + "@walletconnect/utils" "2.15.2" events "3.3.0" "@walletconnect/time@1.0.2", "@walletconnect/time@^1.0.2": @@ -4343,10 +4399,10 @@ dependencies: tslib "1.14.1" -"@walletconnect/types@2.13.0": - version "2.13.0" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.13.0.tgz#cdac083651f5897084fe9ed62779f11810335ac6" - integrity sha512-MWaVT0FkZwzYbD3tvk8F+2qpPlz1LUSWHuqbINUtMXnSzJtXN49Y99fR7FuBhNFtDalfuWsEK17GrNA+KnAsPQ== +"@walletconnect/types@2.15.2": + version "2.15.2" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.15.2.tgz#b9e1746d8c7b9c7b08ed8f6696c86e44b645fe52" + integrity sha512-TGnQZYWZJJ3I8dqgpMPwhO1IRXDuY8/tWPI0nNWJDyTK7b3E9prDGugnPmDDjpTYVoETnUTgW/jQaHNTq4yV7Q== dependencies: "@walletconnect/events" "1.0.1" "@walletconnect/heartbeat" "1.2.2" @@ -4355,38 +4411,40 @@ "@walletconnect/logger" "2.1.2" events "3.3.0" -"@walletconnect/universal-provider@2.13.0": - version "2.13.0" - resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.13.0.tgz#f2b597001245e4d4a06d96dd1bce8d3a8a4dcbbf" - integrity sha512-B5QvO8pnk5Bqn4aIt0OukGEQn2Auk9VbHfhQb9cGwgmSCd1GlprX/Qblu4gyT5+TjHMb1Gz5UssUaZWTWbDhBg== +"@walletconnect/universal-provider@2.15.2": + version "2.15.2" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.15.2.tgz#dad244f1b2cd89b35edba02819aae536fc008340" + integrity sha512-AWK5nUA4tJ57C8JDPOmqAWf5aF1VXIN4JpkqKekNKMP4+xiBTotKrwj0XD5xvtDUyaqjhRZPvYmUk24z1udrHA== dependencies: "@walletconnect/jsonrpc-http-connection" "1.0.8" "@walletconnect/jsonrpc-provider" "1.0.14" "@walletconnect/jsonrpc-types" "1.0.4" "@walletconnect/jsonrpc-utils" "1.0.8" "@walletconnect/logger" "2.1.2" - "@walletconnect/sign-client" "2.13.0" - "@walletconnect/types" "2.13.0" - "@walletconnect/utils" "2.13.0" + "@walletconnect/sign-client" "2.15.2" + "@walletconnect/types" "2.15.2" + "@walletconnect/utils" "2.15.2" events "3.3.0" -"@walletconnect/utils@2.13.0": - version "2.13.0" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.13.0.tgz#1fc1fbff0d26db0830e65d1ba8cfe1a13a0616ad" - integrity sha512-q1eDCsRHj5iLe7fF8RroGoPZpdo2CYMZzQSrw1iqL+2+GOeqapxxuJ1vaJkmDUkwgklfB22ufqG6KQnz78sD4w== +"@walletconnect/utils@2.15.2": + version "2.15.2" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.15.2.tgz#6fba3e28d00afe15b499409d609e3faafcef1887" + integrity sha512-H+fNH9cHDezdaEiEsO7/3URSIzqhumuacwB/+0PX0sSCoktmU9AfTqA8fJGG43zOPixleBqOymzO6owB1Y7jtQ== dependencies: "@stablelib/chacha20poly1305" "1.0.1" "@stablelib/hkdf" "1.0.1" "@stablelib/random" "1.0.2" "@stablelib/sha256" "1.0.1" "@stablelib/x25519" "1.0.3" - "@walletconnect/relay-api" "1.0.10" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.0.4" "@walletconnect/safe-json" "1.0.2" "@walletconnect/time" "1.0.2" - "@walletconnect/types" "2.13.0" + "@walletconnect/types" "2.15.2" "@walletconnect/window-getters" "1.0.1" "@walletconnect/window-metadata" "1.0.1" detect-browser "5.3.0" + elliptic "^6.5.7" query-string "7.1.3" uint8arrays "3.1.0" @@ -4466,10 +4524,10 @@ abitype@0.9.8: resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.9.8.tgz#1f120b6b717459deafd213dfbf3a3dd1bf10ae8c" integrity sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ== -abitype@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.0.tgz#237176dace81d90d018bebf3a45cb42f2a2d9e97" - integrity sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ== +abitype@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.5.tgz#29d0daa3eea867ca90f7e4123144c1d1270774b6" + integrity sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw== abort-controller@^3.0.0: version "3.0.0" @@ -6811,6 +6869,19 @@ elliptic@^6.5.4: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" +elliptic@^6.5.7: + version "6.5.7" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.7.tgz#8ec4da2cb2939926a1b9a73619d768207e647c8b" + integrity sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + email-addresses@^3.0.1: version "3.1.0" resolved "https://registry.yarnpkg.com/email-addresses/-/email-addresses-3.1.0.tgz#cabf7e085cbdb63008a70319a74e6136188812fb" @@ -8899,14 +8970,7 @@ i18next-browser-languagedetector@7.1.0: dependencies: "@babel/runtime" "^7.19.4" -i18next@22.5.1: - version "22.5.1" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.5.1.tgz#99df0b318741a506000c243429a7352e5f44d424" - integrity sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA== - dependencies: - "@babel/runtime" "^7.20.6" - -i18next@^23.11.5: +i18next@23.11.5, i18next@^23.11.5: version "23.11.5" resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.11.5.tgz#d71eb717a7e65498d87d0594f2664237f9e361ef" integrity sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA== @@ -9480,14 +9544,6 @@ isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -isomorphic-unfetch@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f" - integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q== - dependencies: - node-fetch "^2.6.1" - unfetch "^4.2.0" - isomorphic-ws@5.0.0, isomorphic-ws@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" @@ -10859,12 +10915,10 @@ minipass@^7.0.4: resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.1.tgz#f7f85aff59aa22f110b20e27692465cf3bf89481" integrity sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA== -mipd@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mipd/-/mipd-0.0.5.tgz#367ee796531c23f0631f129038700b1406663aec" - integrity sha512-gbKA784D2WKb5H/GtqEv+Ofd1S9Zj+Z/PGDIl1u1QAbswkxD28BQ5bSXQxkeBzPBABg1iDSbiwGG1XqlOxRspA== - dependencies: - viem "^1.1.4" +mipd@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mipd/-/mipd-0.0.7.tgz#bb5559e21fa18dc3d9fe1c08902ef14b7ce32fd9" + integrity sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg== mkdirp@^3.0.1: version "3.0.1" @@ -13090,16 +13144,7 @@ string-length@^6.0.0: dependencies: strip-ansi "^7.1.0" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -13172,7 +13217,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -13186,13 +13231,6 @@ strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -13754,11 +13792,6 @@ unenv@^1.9.0: node-fetch-native "^1.6.1" pathe "^1.1.1" -unfetch@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" - integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== - universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -13925,10 +13958,10 @@ user-home@^2.0.0: dependencies: os-homedir "^1.0.0" -utf-8-validate@^6.0.3: - version "6.0.4" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-6.0.4.tgz#1305a1bfd94cecb5a866e6fc74fd07f3ed7292e5" - integrity sha512-xu9GQDeFp+eZ6LnCywXN/zBancWvOpUMzgjLPSjy4BRHSmTelvn2E0DG0o1sTiw5hkCKBHo8rwSKncfRfv2EEQ== +utf-8-validate@^5.0.2: + version "5.0.10" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== dependencies: node-gyp-build "^4.3.0" @@ -14012,22 +14045,7 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -viem@^1.0.0: - version "1.10.8" - resolved "https://registry.yarnpkg.com/viem/-/viem-1.10.8.tgz#1c6aaaf25cb25484bbe69dc93870a70907b2bd2e" - integrity sha512-/kVDjc9j1OVoDsxV0E1iw1ehPuWPXv5x/9Yc1H0wKky6ACWRoKsURDeLi0Xwtli7vmFcJne+MMPhA96zVu5iIg== - dependencies: - "@adraffy/ens-normalize" "1.9.4" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@scure/bip32" "1.3.2" - "@scure/bip39" "1.2.1" - "@types/ws" "^8.5.5" - abitype "0.9.8" - isomorphic-ws "5.0.0" - ws "8.13.0" - -viem@^1.1.4, viem@^1.6.0: +viem@^1.6.0: version "1.21.4" resolved "https://registry.yarnpkg.com/viem/-/viem-1.21.4.tgz#883760e9222540a5a7e0339809202b45fe6a842d" integrity sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ== @@ -14041,19 +14059,20 @@ viem@^1.1.4, viem@^1.6.0: isows "1.0.3" ws "8.13.0" -viem@^2.12.1: - version "2.12.1" - resolved "https://registry.yarnpkg.com/viem/-/viem-2.12.1.tgz#895b73501582376b955f00e5ecafcf51d9d89ffb" - integrity sha512-71gxcGCXdNXQuBhpqXblVRH1F3hP/wONCptVOCW4r6VrCEXL/9vfNyCdQKtK/0WGyXm04Zs9Jf/AOAxKqf6FmQ== +viem@^2.1.1, viem@^2.21.1: + version "2.21.1" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.1.tgz#7d07e4302297d1b44b4c97b8fece3b6ebb73b1ef" + integrity sha512-nlIc2LLS6aqkngULS9UJ2Sg3nHKAgF9bbpDUwjUoAUBijd69mrCWPBXQ8jmbzcx12uZUfd9Nc//CHgSVZiMwyg== dependencies: "@adraffy/ens-normalize" "1.10.0" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@scure/bip32" "1.3.2" - "@scure/bip39" "1.2.1" - abitype "1.0.0" + "@noble/curves" "1.4.0" + "@noble/hashes" "1.4.0" + "@scure/bip32" "1.4.0" + "@scure/bip39" "1.3.0" + abitype "1.0.5" isows "1.0.4" - ws "8.13.0" + webauthn-p256 "0.0.5" + ws "8.17.1" vite-plugin-compression@^0.5.1: version "0.5.1" @@ -14092,13 +14111,13 @@ w3c-xmlserializer@^4.0.0: dependencies: xml-name-validator "^4.0.0" -wagmi@^2.10.8: - version "2.10.8" - resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.10.8.tgz#236e907e784eeae3dde808c400b62cb6b573fc51" - integrity sha512-25xJCTEQ3ug6tl86MnngzhXOJUo4tJufUUxlnb2qRz+aZFAcRGL+hhuBBZOJ552T49UPF0Hs9c6Rd4BKvwHLrg== +wagmi@^2.12.8: + version "2.12.8" + resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.12.8.tgz#1ab44cd6fa3959f72c00f4dc1732e00668299068" + integrity sha512-+HP3T02La4rIbBWF2mAVX63CykTGMQt77WN1PzZco7MWeUtjYeutwmnNjkDWWE7HFVZHZqNTVFYe3sbtu2LR4A== dependencies: - "@wagmi/connectors" "5.0.20" - "@wagmi/core" "2.11.5" + "@wagmi/connectors" "5.1.8" + "@wagmi/core" "2.13.4" use-sync-external-store "1.2.0" wait-on@^7.0.1: @@ -14143,6 +14162,14 @@ web-streams-polyfill@^3.2.1: resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== +webauthn-p256@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/webauthn-p256/-/webauthn-p256-0.0.5.tgz#0baebd2ba8a414b21cc09c0d40f9dd0be96a06bd" + integrity sha512-drMGNWKdaixZNobeORVIqq7k5DsRC9FnG201K2QjeOoQLmtSDaSsVZdkg6n5jUALJKcAG++zBPJXmv6hy0nWFg== + dependencies: + "@noble/curves" "^1.4.0" + "@noble/hashes" "^1.4.0" + webcrypto-core@^1.7.7: version "1.7.7" resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.7.7.tgz#06f24b3498463e570fed64d7cab149e5437b162c" @@ -14349,7 +14376,7 @@ wildcard@^2.0.0: resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -14367,15 +14394,6 @@ wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" @@ -14423,6 +14441,11 @@ ws@8.14.0, ws@^8.11.0, ws@^8.12.0, ws@^8.13.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.0.tgz#6c5792c5316dc9266ba8e780433fc45e6680aecd" integrity sha512-WR0RJE9Ehsio6U4TuM+LmunEsjQ5ncHlw4sn9ihD6RoJKZrVyH9FWV3dmnwu8B2aNib1OvG2X6adUCyFpQyWcg== +ws@8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + ws@8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" From a048226f93481009a8a791a8780db2ac80db6133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20Zi=C3=B3=C5=82ek?= Date: Tue, 3 Sep 2024 12:37:41 +0200 Subject: [PATCH 10/11] fix: grabbing root element dynamically --- .../LayoutConnectWallet/LayoutConnectWallet.scss | 2 +- .../shared/Layout/LayoutConnectWallet/utils.ts | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss index 22435046fd..7da2213086 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss @@ -46,7 +46,7 @@ .walletOptionsButtons { display: flex; flex-wrap: wrap; - justify-content: space-between; + justify-content: flex-start; width: 100% !important; gap: 1.6rem !important; } diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/utils.ts b/client/src/components/shared/Layout/LayoutConnectWallet/utils.ts index f7ef127b79..9d6172e315 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/utils.ts +++ b/client/src/components/shared/Layout/LayoutConnectWallet/utils.ts @@ -1,8 +1,18 @@ import { TFunction } from 'i18next'; export const setCustomStylesForRainbowKitModal = (t: TFunction): void => { + const modalRootWrapper = document.querySelector('[aria-labelledby="rk_connect_title"]'); + + if (!modalRootWrapper) { + return; + } + // RaibowKit connect modal. - const rainbowkitConnectModal = document.querySelectorAll('body > div')[4]; + const rainbowkitConnectModal = modalRootWrapper?.parentNode?.parentNode; + + if (!rainbowkitConnectModal) { + return; + } const allChildren = rainbowkitConnectModal.querySelectorAll('*'); // font-family is set for all children, as inherited !important doesn't work here. From 998b38c8b140fa79a98fc755d11066a62dc90e06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20Zi=C3=B3=C5=82ek?= Date: Tue, 3 Sep 2024 14:38:31 +0200 Subject: [PATCH 11/11] style: CR-requested adjustments --- .../Layout/LayoutConnectWallet/LayoutConnectWallet.scss | 6 ++++++ .../components/shared/Layout/LayoutConnectWallet/utils.ts | 6 ++++-- client/src/constants/domElementsIds.ts | 1 + client/src/index.tsx | 2 ++ client/src/locales/en/translation.json | 2 +- 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss index 7da2213086..4dc4a2f34d 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss +++ b/client/src/components/shared/Layout/LayoutConnectWallet/LayoutConnectWallet.scss @@ -55,6 +55,12 @@ height: 9.6rem; padding: 0 !important; background: $color-octant-grey3 !important; + + &:hover { + .walletOptionsIcons { + filter: none !important; + } + } } .walletOptionsButtonsOuter { diff --git a/client/src/components/shared/Layout/LayoutConnectWallet/utils.ts b/client/src/components/shared/Layout/LayoutConnectWallet/utils.ts index 9d6172e315..60d2baac06 100644 --- a/client/src/components/shared/Layout/LayoutConnectWallet/utils.ts +++ b/client/src/components/shared/Layout/LayoutConnectWallet/utils.ts @@ -1,14 +1,16 @@ import { TFunction } from 'i18next'; +import { RAINBOW_KIT_PROVIDER } from 'constants/domElementsIds'; + export const setCustomStylesForRainbowKitModal = (t: TFunction): void => { - const modalRootWrapper = document.querySelector('[aria-labelledby="rk_connect_title"]'); + const modalRootWrapper = document.querySelector(`[data-rk="${RAINBOW_KIT_PROVIDER}"]`); if (!modalRootWrapper) { return; } // RaibowKit connect modal. - const rainbowkitConnectModal = modalRootWrapper?.parentNode?.parentNode; + const rainbowkitConnectModal = modalRootWrapper?.parentNode; if (!rainbowkitConnectModal) { return; diff --git a/client/src/constants/domElementsIds.ts b/client/src/constants/domElementsIds.ts index 72c8b47d5f..878c09d9c4 100644 --- a/client/src/constants/domElementsIds.ts +++ b/client/src/constants/domElementsIds.ts @@ -2,3 +2,4 @@ export const METRICS_EPOCH_ID = 'MetricsEpoch'; export const METRICS_GENERAL_ID = 'MetricsGeneral'; export const METRICS_PERSONAL_ID = 'MetricsPersonal'; export const LAYOUT_BODY_ID = 'LayoutBody'; +export const RAINBOW_KIT_PROVIDER = 'RainbowKitProvider'; diff --git a/client/src/index.tsx b/client/src/index.tsx index 05e261948d..5b9c5309c8 100644 --- a/client/src/index.tsx +++ b/client/src/index.tsx @@ -14,6 +14,7 @@ import env, { envViteKeys, envsAllowedToBeEmpty } from 'env'; import clientReactQuery from './api/clients/client-react-query'; import { wagmiConfig } from './api/clients/client-wagmi'; import App from './App'; +import { RAINBOW_KIT_PROVIDER } from './constants/domElementsIds'; import '@rainbow-me/rainbowkit/styles.css'; @@ -59,6 +60,7 @@ if (window.location.hash) {