From e0059fa65c7dd9d26e8e9deb834e7af39fe7fb0b Mon Sep 17 00:00:00 2001 From: Ben Kremer Date: Tue, 4 Jul 2023 10:14:32 +0200 Subject: [PATCH] =?UTF-8?q?chore(react-wallet-v2):=20removes=20legacy=20v1?= =?UTF-8?q?=20client=20support=20=F0=9F=8E=89=20(#212)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wallets/react-wallet-v2/package.json | 4 +- .../react-wallet-v2/src/components/Modal.tsx | 8 - wallets/react-wallet-v2/src/pages/_app.tsx | 4 - .../react-wallet-v2/src/pages/sessions.tsx | 13 +- .../src/pages/walletconnect.tsx | 10 +- .../react-wallet-v2/src/store/ModalStore.ts | 11 -- .../src/utils/LegacyWalletConnectUtil.ts | 96 ----------- .../src/views/LegacySessionProposalModal.tsx | 105 ------------ .../LegacySessionSendTransactionModal.tsx | 104 ------------ .../src/views/LegacySessionSignModal.tsx | 105 ------------ .../views/LegacySessionSignTypedDataModal.tsx | 101 ----------- wallets/react-wallet-v2/yarn.lock | 158 +----------------- 12 files changed, 8 insertions(+), 711 deletions(-) delete mode 100644 wallets/react-wallet-v2/src/utils/LegacyWalletConnectUtil.ts delete mode 100644 wallets/react-wallet-v2/src/views/LegacySessionProposalModal.tsx delete mode 100644 wallets/react-wallet-v2/src/views/LegacySessionSendTransactionModal.tsx delete mode 100644 wallets/react-wallet-v2/src/views/LegacySessionSignModal.tsx delete mode 100644 wallets/react-wallet-v2/src/views/LegacySessionSignTypedDataModal.tsx diff --git a/wallets/react-wallet-v2/package.json b/wallets/react-wallet-v2/package.json index f04140e..456010a 100644 --- a/wallets/react-wallet-v2/package.json +++ b/wallets/react-wallet-v2/package.json @@ -12,9 +12,9 @@ "@cosmjs/amino": "0.28.4", "@cosmjs/encoding": "0.28.4", "@cosmjs/proto-signing": "0.28.4", + "@json-rpc-tools/utils": "1.7.6", "@multiversx/sdk-core": "11.5.0", "@multiversx/sdk-wallet": "4.0.0", - "@json-rpc-tools/utils": "1.7.6", "@near-wallet-selector/wallet-utils": "^7.0.2", "@nextui-org/react": "1.0.8-beta.5", "@polkadot/keyring": "^10.1.2", @@ -22,8 +22,6 @@ "@solana/web3.js": "1.43.0", "@taquito/signer": "^15.1.0", "@taquito/taquito": "^15.1.0", - "@walletconnect/client": "1.8.0", - "@walletconnect/legacy-types": "^2.0.0-rc.0", "@walletconnect/sign-client": "2.8.6", "@walletconnect/utils": "2.8.6", "bs58": "5.0.0", diff --git a/wallets/react-wallet-v2/src/components/Modal.tsx b/wallets/react-wallet-v2/src/components/Modal.tsx index c052e7c..d1d6121 100644 --- a/wallets/react-wallet-v2/src/components/Modal.tsx +++ b/wallets/react-wallet-v2/src/components/Modal.tsx @@ -11,10 +11,6 @@ import SessionSignTronModal from '@/views/SessionSignTronModal' import SessionSignTezosModal from '@/views/SessionSignTezosModal' import SessionSignTypedDataModal from '@/views/SessionSignTypedDataModal' import SessionUnsuportedMethodModal from '@/views/SessionUnsuportedMethodModal' -import LegacySessionProposalModal from '@/views/LegacySessionProposalModal' -import LegacySessionSignModal from '@/views/LegacySessionSignModal' -import LegacySessionSignTypedDataModal from '@/views/LegacySessionSignTypedDataModal' -import LegacySessionSendTransactionModal from '@/views/LegacySessionSendTransactionModal' import { Modal as NextModal } from '@nextui-org/react' import { useSnapshot } from 'valtio' @@ -35,10 +31,6 @@ export default function Modal() { {view === 'SessionSignMultiversxModal' && } {view === 'SessionSignTronModal' && } {view === 'SessionSignTezosModal' && } - {view === 'LegacySessionProposalModal' && } - {view === 'LegacySessionSignModal' && } - {view === 'LegacySessionSignTypedDataModal' && } - {view === 'LegacySessionSendTransactionModal' && } ) } diff --git a/wallets/react-wallet-v2/src/pages/_app.tsx b/wallets/react-wallet-v2/src/pages/_app.tsx index cd4d212..c5ea57a 100644 --- a/wallets/react-wallet-v2/src/pages/_app.tsx +++ b/wallets/react-wallet-v2/src/pages/_app.tsx @@ -2,7 +2,6 @@ import Layout from '@/components/Layout' import Modal from '@/components/Modal' import useInitialization from '@/hooks/useInitialization' import useWalletConnectEventsManager from '@/hooks/useWalletConnectEventsManager' -import { createLegacySignClient } from '@/utils/LegacyWalletConnectUtil' import { createTheme, NextUIProvider } from '@nextui-org/react' import { AppProps } from 'next/app' import '../../public/main.css' @@ -14,9 +13,6 @@ export default function App({ Component, pageProps }: AppProps) { // Step 2 - Once initialized, set up wallet connect event manager useWalletConnectEventsManager(initialized) - // Backwards compatibility only - create a legacy v1 SignClient instance. - createLegacySignClient() - return ( diff --git a/wallets/react-wallet-v2/src/pages/sessions.tsx b/wallets/react-wallet-v2/src/pages/sessions.tsx index 0254a35..567f963 100644 --- a/wallets/react-wallet-v2/src/pages/sessions.tsx +++ b/wallets/react-wallet-v2/src/pages/sessions.tsx @@ -1,15 +1,13 @@ import PageHeader from '@/components/PageHeader' import SessionCard from '@/components/SessionCard' -import { legacySignClient } from '@/utils/LegacyWalletConnectUtil' import { signClient } from '@/utils/WalletConnectUtil' import { Text } from '@nextui-org/react' import { Fragment, useState } from 'react' export default function SessionsPage() { - const [sessions, setSessions] = useState(signClient.session.values) - const [legacySession, setLegacySession] = useState(legacySignClient?.session) + const [sessions] = useState(signClient.session.values) - if (!legacySession && !sessions.length) { + if (!sessions.length) { return ( @@ -21,13 +19,6 @@ export default function SessionsPage() { return ( - {legacySession ? ( - - ) : null} {sessions.length ? sessions.map(session => { const { name, icons, url } = session.peer.metadata diff --git a/wallets/react-wallet-v2/src/pages/walletconnect.tsx b/wallets/react-wallet-v2/src/pages/walletconnect.tsx index 5fdbe81..ed287a0 100644 --- a/wallets/react-wallet-v2/src/pages/walletconnect.tsx +++ b/wallets/react-wallet-v2/src/pages/walletconnect.tsx @@ -2,7 +2,6 @@ import { parseUri } from '@walletconnect/utils' import PageHeader from '@/components/PageHeader' import QrReader from '@/components/QrReader' import { signClient } from '@/utils/WalletConnectUtil' -import { createLegacySignClient } from '@/utils/LegacyWalletConnectUtil' import { Button, Input, Loading, Text } from '@nextui-org/react' import { Fragment, useState } from 'react' @@ -13,14 +12,7 @@ export default function WalletConnectPage() { async function onConnect(uri: string) { try { setLoading(true) - const { version } = parseUri(uri) - - // Route the provided URI to the v1 SignClient if URI version indicates it, else use v2. - if (version === 1) { - createLegacySignClient({ uri }) - } else { - await signClient.pair({ uri }) - } + await signClient.pair({ uri }) } catch (err: unknown) { alert(err) } finally { diff --git a/wallets/react-wallet-v2/src/store/ModalStore.ts b/wallets/react-wallet-v2/src/store/ModalStore.ts index d185ca1..2b12cce 100644 --- a/wallets/react-wallet-v2/src/store/ModalStore.ts +++ b/wallets/react-wallet-v2/src/store/ModalStore.ts @@ -1,5 +1,4 @@ import { SessionTypes, SignClientTypes } from '@walletconnect/types' -import { IClientMeta, IWalletConnectSession } from '@walletconnect/legacy-types' import { proxy } from 'valtio' /** @@ -9,12 +8,6 @@ interface ModalData { proposal?: SignClientTypes.EventArguments['session_proposal'] requestEvent?: SignClientTypes.EventArguments['session_request'] requestSession?: SessionTypes.Struct - legacyProposal?: { - id: number - params: [{ chainId: number; peerId: string; peerMeta: IClientMeta }] - } - legacyCallRequestEvent?: { id: number; method: string; params: any[] } - legacyRequestSession?: IWalletConnectSession } interface State { @@ -32,10 +25,6 @@ interface State { | 'SessionSignMultiversxModal' | 'SessionSignTronModal' | 'SessionSignTezosModal' - | 'LegacySessionProposalModal' - | 'LegacySessionSignModal' - | 'LegacySessionSignTypedDataModal' - | 'LegacySessionSendTransactionModal' data?: ModalData } diff --git a/wallets/react-wallet-v2/src/utils/LegacyWalletConnectUtil.ts b/wallets/react-wallet-v2/src/utils/LegacyWalletConnectUtil.ts deleted file mode 100644 index ff15a4e..0000000 --- a/wallets/react-wallet-v2/src/utils/LegacyWalletConnectUtil.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { IWalletConnectSession } from '@walletconnect/legacy-types' -import LegacySignClient from '@walletconnect/client' -import ModalStore from '@/store/ModalStore' -import { EIP155_SIGNING_METHODS } from '@/data/EIP155Data' - -export let legacySignClient: LegacySignClient - -export function createLegacySignClient({ uri }: { uri?: string } = {}) { - // If URI is passed always create a new session, - // otherwise fall back to cached session if client isn't already instantiated. - if (uri) { - deleteCachedLegacySession() - legacySignClient = new LegacySignClient({ uri }) - } else if (!legacySignClient && getCachedLegacySession()) { - const session = getCachedLegacySession() - legacySignClient = new LegacySignClient({ session }) - } else { - return - } - - legacySignClient.on('session_request', (error, payload) => { - if (error) { - throw new Error(`legacySignClient > session_request failed: ${error}`) - } - ModalStore.open('LegacySessionProposalModal', { legacyProposal: payload }) - }) - - legacySignClient.on('connect', () => { - console.log('legacySignClient > connect') - }) - - legacySignClient.on('error', error => { - throw new Error(`legacySignClient > on error: ${error}`) - }) - - legacySignClient.on('call_request', (error, payload) => { - if (error) { - throw new Error(`legacySignClient > call_request failed: ${error}`) - } - onCallRequest(payload) - }) - - legacySignClient.on('disconnect', async () => { - deleteCachedLegacySession() - }) -} - -const onCallRequest = async (payload: { id: number; method: string; params: any[] }) => { - switch (payload.method) { - case EIP155_SIGNING_METHODS.ETH_SIGN: - case EIP155_SIGNING_METHODS.PERSONAL_SIGN: - return ModalStore.open('LegacySessionSignModal', { - legacyCallRequestEvent: payload, - legacyRequestSession: legacySignClient.session - }) - - case EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA: - case EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V3: - case EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V4: - return ModalStore.open('LegacySessionSignTypedDataModal', { - legacyCallRequestEvent: payload, - legacyRequestSession: legacySignClient.session - }) - - case EIP155_SIGNING_METHODS.ETH_SEND_TRANSACTION: - case EIP155_SIGNING_METHODS.ETH_SIGN_TRANSACTION: - return ModalStore.open('LegacySessionSendTransactionModal', { - legacyCallRequestEvent: payload, - legacyRequestSession: legacySignClient.session - }) - - default: - alert(`${payload.method} is not supported for WalletConnect v1`) - } -} - -function getCachedLegacySession(): IWalletConnectSession | undefined { - if (typeof window === 'undefined') return - - const local = window.localStorage ? window.localStorage.getItem('walletconnect') : null - - let session = null - if (local) { - try { - session = JSON.parse(local) - } catch (error) { - throw error - } - } - return session -} - -function deleteCachedLegacySession(): void { - if (typeof window === 'undefined') return - window.localStorage.removeItem('walletconnect') -} diff --git a/wallets/react-wallet-v2/src/views/LegacySessionProposalModal.tsx b/wallets/react-wallet-v2/src/views/LegacySessionProposalModal.tsx deleted file mode 100644 index adcfc9f..0000000 --- a/wallets/react-wallet-v2/src/views/LegacySessionProposalModal.tsx +++ /dev/null @@ -1,105 +0,0 @@ -import ProjectInfoCard from '@/components/ProjectInfoCard' -import ProposalSelectSection from '@/components/ProposalSelectSection' -import RequestModalContainer from '@/components/RequestModalContainer' -import ModalStore from '@/store/ModalStore' -import { eip155Addresses } from '@/utils/EIP155WalletUtil' -import { isEIP155Chain } from '@/utils/HelperUtil' -import { legacySignClient } from '@/utils/LegacyWalletConnectUtil' -import { Button, Divider, Modal, Text } from '@nextui-org/react' -import { getSdkError } from '@walletconnect/utils' -import { Fragment, useState } from 'react' - -export default function LegacySessionProposalModal() { - const [selectedAccounts, setSelectedAccounts] = useState>({}) - const hasSelected = Object.keys(selectedAccounts).length - - // Get proposal data and wallet address from store - const proposal = ModalStore.state.data?.legacyProposal - - // Ensure proposal is defined - if (!proposal) { - return Missing proposal data - } - - // Get required proposal data - const { id, params } = proposal - const [{ chainId, peerMeta }] = params - - // Add / remove address from EIP155 selection - function onSelectAccount(chain: string, account: string) { - if (selectedAccounts[chain]?.includes(account)) { - const newSelectedAccounts = selectedAccounts[chain]?.filter(a => a !== account) - setSelectedAccounts(prev => ({ - ...prev, - [chain]: newSelectedAccounts - })) - } else { - const prevChainAddresses = selectedAccounts[chain] ?? [] - setSelectedAccounts(prev => ({ - ...prev, - [chain]: [...prevChainAddresses, account] - })) - } - } - - // Hanlde approve action, construct session namespace - async function onApprove() { - if (proposal) { - legacySignClient.approveSession({ - accounts: selectedAccounts['eip155'], - chainId: chainId ?? 1 - }) - } - ModalStore.close() - } - - // Handle reject action - function onReject() { - if (proposal) { - legacySignClient.rejectSession(getSdkError('USER_REJECTED_METHODS')) - } - ModalStore.close() - } - - // Render account selection checkboxes based on chain - function renderAccountSelection(chain: string) { - if (isEIP155Chain(chain)) { - return ( - - ) - } - } - - return ( - - - - - {renderAccountSelection('eip155')} - - - - - - - - - - ) -} diff --git a/wallets/react-wallet-v2/src/views/LegacySessionSendTransactionModal.tsx b/wallets/react-wallet-v2/src/views/LegacySessionSendTransactionModal.tsx deleted file mode 100644 index c2095b4..0000000 --- a/wallets/react-wallet-v2/src/views/LegacySessionSendTransactionModal.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import ProjectInfoCard from '@/components/ProjectInfoCard' -import RequestDataCard from '@/components/RequestDataCard' -import RequesDetailsCard from '@/components/RequestDetalilsCard' -import RequestMethodCard from '@/components/RequestMethodCard' -import RequestModalContainer from '@/components/RequestModalContainer' -import ModalStore from '@/store/ModalStore' -import { approveEIP155Request, rejectEIP155Request } from '@/utils/EIP155RequestHandlerUtil' -import { legacySignClient } from '@/utils/LegacyWalletConnectUtil' -import { Button, Divider, Loading, Modal, Text } from '@nextui-org/react' -import { Fragment, useState } from 'react' - -export default function LegacySessionSendTransactionModal() { - const [loading, setLoading] = useState(false) - - // Get request and wallet data from store - const requestEvent = ModalStore.state.data?.legacyCallRequestEvent - const requestSession = ModalStore.state.data?.legacyRequestSession - - // Ensure request and wallet are defined - if (!requestEvent || !requestSession) { - return Missing request data - } - - // Get required proposal data - - const { id, method, params } = requestEvent - const transaction = params[0] - - // // Remove unneeded key coming from v1 sample dapp that throws Ethers. - if (transaction['gas']) delete transaction['gas'] - - // Handle approve action - async function onApprove() { - if (requestEvent) { - const response = await approveEIP155Request({ - id, - topic: '', - params: { request: { method, params }, chainId: '1' } - }) - - if ('error' in response) { - legacySignClient.rejectRequest({ - id, - error: response.error - }) - } else { - legacySignClient.approveRequest({ - id, - result: response.result - }) - } - - ModalStore.close() - } - } - - // Handle reject action - async function onReject() { - if (requestEvent) { - const { error } = rejectEIP155Request({ - id, - topic: '', - params: { request: { method, params }, chainId: '1' } - }) - legacySignClient.rejectRequest({ - id, - error - }) - ModalStore.close() - } - } - - return ( - - - - - - - - - - - - - - - - - - - - - - - ) -} diff --git a/wallets/react-wallet-v2/src/views/LegacySessionSignModal.tsx b/wallets/react-wallet-v2/src/views/LegacySessionSignModal.tsx deleted file mode 100644 index 5d67c2f..0000000 --- a/wallets/react-wallet-v2/src/views/LegacySessionSignModal.tsx +++ /dev/null @@ -1,105 +0,0 @@ -import ProjectInfoCard from '@/components/ProjectInfoCard' -import RequesDetailsCard from '@/components/RequestDetalilsCard' -import RequestMethodCard from '@/components/RequestMethodCard' -import RequestModalContainer from '@/components/RequestModalContainer' -import ModalStore from '@/store/ModalStore' -import { approveEIP155Request, rejectEIP155Request } from '@/utils/EIP155RequestHandlerUtil' -import { getSignParamsMessage } from '@/utils/HelperUtil' -import { legacySignClient } from '@/utils/LegacyWalletConnectUtil' -import { Button, Col, Divider, Modal, Row, Text } from '@nextui-org/react' -import { Fragment } from 'react' - -export default function LegacySessionSignModal() { - // Get request and wallet data from store - const requestEvent = ModalStore.state.data?.legacyCallRequestEvent - const requestSession = ModalStore.state.data?.legacyRequestSession - - // Ensure request and wallet are defined - if (!requestEvent || !requestSession) { - return Missing request data - } - - // Get required request data - const { id, method, params } = requestEvent - - // Get message, convert it to UTF8 string if it is valid hex - const message = getSignParamsMessage(params) - - // Handle approve action (logic varies based on request method) - async function onApprove() { - if (requestEvent) { - const response = await approveEIP155Request({ - id, - topic: '', - params: { request: { method, params }, chainId: '1' } - }) - - if ('error' in response) { - legacySignClient.rejectRequest({ - id, - error: response.error - }) - } else { - legacySignClient.approveRequest({ - id, - result: response.result - }) - } - - ModalStore.close() - } - } - - // Handle reject action - async function onReject() { - if (requestEvent) { - const { error } = rejectEIP155Request({ - id, - topic: '', - params: { request: { method, params }, chainId: '1' } - }) - legacySignClient.rejectRequest({ - id, - error - }) - ModalStore.close() - } - } - - return ( - - - - - - - - - - - - - Message - {message} - - - - - - - - - - - - - - ) -} diff --git a/wallets/react-wallet-v2/src/views/LegacySessionSignTypedDataModal.tsx b/wallets/react-wallet-v2/src/views/LegacySessionSignTypedDataModal.tsx deleted file mode 100644 index 070b059..0000000 --- a/wallets/react-wallet-v2/src/views/LegacySessionSignTypedDataModal.tsx +++ /dev/null @@ -1,101 +0,0 @@ -import ProjectInfoCard from '@/components/ProjectInfoCard' -import RequestDataCard from '@/components/RequestDataCard' -import RequesDetailsCard from '@/components/RequestDetalilsCard' -import RequestMethodCard from '@/components/RequestMethodCard' -import RequestModalContainer from '@/components/RequestModalContainer' -import ModalStore from '@/store/ModalStore' -import { approveEIP155Request, rejectEIP155Request } from '@/utils/EIP155RequestHandlerUtil' -import { getSignTypedDataParamsData } from '@/utils/HelperUtil' -import { legacySignClient } from '@/utils/LegacyWalletConnectUtil' -import { Button, Divider, Modal, Text } from '@nextui-org/react' -import { Fragment } from 'react' - -export default function LegacySessionSignTypedDataModal() { - // Get request and wallet data from store - const requestEvent = ModalStore.state.data?.legacyCallRequestEvent - const requestSession = ModalStore.state.data?.legacyRequestSession - - // Ensure request and wallet are defined - if (!requestEvent || !requestSession) { - return Missing request data - } - - // Get required request data - const { id, method, params } = requestEvent - - // Get data - const data = getSignTypedDataParamsData(params) - - // Handle approve action (logic varies based on request method) - async function onApprove() { - if (requestEvent) { - const response = await approveEIP155Request({ - id, - topic: '', - params: { request: { method, params }, chainId: '1' } - }) - - if ('error' in response) { - legacySignClient.rejectRequest({ - id, - error: response.error - }) - } else { - legacySignClient.approveRequest({ - id, - result: response.result - }) - } - - ModalStore.close() - } - } - - // Handle reject action - async function onReject() { - if (requestEvent) { - const { error } = rejectEIP155Request({ - id, - topic: '', - params: { request: { method, params }, chainId: '1' } - }) - legacySignClient.rejectRequest({ - id, - error - }) - ModalStore.close() - } - } - - return ( - - - - - - - - - - - - - - - - - - - - - - - ) -} diff --git a/wallets/react-wallet-v2/yarn.lock b/wallets/react-wallet-v2/yarn.lock index e4df360..07beeb6 100644 --- a/wallets/react-wallet-v2/yarn.lock +++ b/wallets/react-wallet-v2/yarn.lock @@ -2493,27 +2493,6 @@ version "0.3.1" resolved "https://codeload.github.com/ecadlabs/axios-fetch-adapter/tar.gz/167684f522e90343b9f3439d9a43ac571e2396f6" -"@walletconnect/browser-utils@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz#33c10e777aa6be86c713095b5206d63d32df0951" - integrity sha512-Wcqqx+wjxIo9fv6eBUFHPsW1y/bGWWRboni5dfD8PtOmrihrEpOCmvRJe4rfl7xgJW8Ea9UqKEaq0bIRLHlK4A== - dependencies: - "@walletconnect/safe-json" "1.0.0" - "@walletconnect/types" "^1.8.0" - "@walletconnect/window-getters" "1.0.0" - "@walletconnect/window-metadata" "1.0.0" - detect-browser "5.2.0" - -"@walletconnect/client@1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/client/-/client-1.8.0.tgz#6f46b5499c7c861c651ff1ebe5da5b66225ca696" - integrity sha512-svyBQ14NHx6Cs2j4TpkQaBI/2AF4+LXz64FojTjMtV4VMMhl81jSO1vNeg+yYhQzvjcGH/GpSwixjyCW0xFBOQ== - dependencies: - "@walletconnect/core" "^1.8.0" - "@walletconnect/iso-crypto" "^1.8.0" - "@walletconnect/types" "^1.8.0" - "@walletconnect/utils" "^1.8.0" - "@walletconnect/core@2.8.6": version "2.8.6" resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.8.6.tgz#1db6acae36437dbe7357be7767f1faeda5d4ca6c" @@ -2536,36 +2515,6 @@ lodash.isequal "4.5.0" uint8arrays "^3.1.0" -"@walletconnect/core@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-1.8.0.tgz#6b2748b90c999d9d6a70e52e26a8d5e8bfeaa81e" - integrity sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw== - dependencies: - "@walletconnect/socket-transport" "^1.8.0" - "@walletconnect/types" "^1.8.0" - "@walletconnect/utils" "^1.8.0" - -"@walletconnect/crypto@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@walletconnect/crypto/-/crypto-1.0.3.tgz#7b8dd4d7e2884fe3543c7c07aea425eef5ef9dd4" - integrity sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g== - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/environment" "^1.0.1" - "@walletconnect/randombytes" "^1.0.3" - aes-js "^3.1.2" - hash.js "^1.1.7" - tslib "1.14.1" - -"@walletconnect/encoding@^1.0.1", "@walletconnect/encoding@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/encoding/-/encoding-1.0.2.tgz#cb3942ad038d6a6bf01158f66773062dd25724da" - integrity sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag== - dependencies: - is-typedarray "1.0.0" - tslib "1.14.1" - typedarray-to-buffer "3.1.5" - "@walletconnect/environment@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7" @@ -2590,15 +2539,6 @@ "@walletconnect/time" "^1.0.2" tslib "1.14.1" -"@walletconnect/iso-crypto@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/iso-crypto/-/iso-crypto-1.8.0.tgz#44ddf337c4f02837c062dbe33fa7ab36789df451" - integrity sha512-pWy19KCyitpfXb70hA73r9FcvklS+FvO9QUIttp3c2mfW8frxgYeRXfxLRCIQTkaYueRKvdqPjbyhPLam508XQ== - dependencies: - "@walletconnect/crypto" "^1.0.2" - "@walletconnect/types" "^1.8.0" - "@walletconnect/utils" "^1.8.0" - "@walletconnect/jsonrpc-provider@1.0.13": version "1.0.13" resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz#9a74da648d015e1fffc745f0c7d629457f53648b" @@ -2616,7 +2556,7 @@ keyvaluestorage-interface "^1.0.0" tslib "1.14.1" -"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.3", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.8": +"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.8": version "1.0.8" resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz#82d0cc6a5d6ff0ecc277cb35f71402c91ad48d72" integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== @@ -2644,13 +2584,6 @@ safe-json-utils "^1.1.1" tslib "1.14.1" -"@walletconnect/legacy-types@^2.0.0-rc.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-types/-/legacy-types-2.0.0.tgz#224278ae2874c6a2ca805c2d1d062a511dcf7227" - integrity sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw== - dependencies: - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/logger@^2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.0.1.tgz#7f489b96e9a1ff6bf3e58f0fbd6d69718bf844a8" @@ -2659,16 +2592,6 @@ pino "7.11.0" tslib "1.14.1" -"@walletconnect/randombytes@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@walletconnect/randombytes/-/randombytes-1.0.3.tgz#e795e4918367fd1e6a2215e075e64ab93e23985b" - integrity sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw== - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/environment" "^1.0.1" - randombytes "^2.1.0" - tslib "1.14.1" - "@walletconnect/relay-api@^1.0.9": version "1.0.9" resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.9.tgz#f8c2c3993dddaa9f33ed42197fc9bfebd790ecaf" @@ -2689,11 +2612,6 @@ tslib "1.14.1" uint8arrays "^3.0.0" -"@walletconnect/safe-json@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.0.tgz#12eeb11d43795199c045fafde97e3c91646683b2" - integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg== - "@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77" @@ -2716,15 +2634,6 @@ "@walletconnect/utils" "2.8.6" events "^3.3.0" -"@walletconnect/socket-transport@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/socket-transport/-/socket-transport-1.8.0.tgz#9a1128a249628a0be11a0979b522fe82b44afa1b" - integrity sha512-5DyIyWrzHXTcVp0Vd93zJ5XMW61iDM6bcWT4p8DTRfFsOtW46JquruMhxOLeCOieM4D73kcr3U7WtyR4JUsGuQ== - dependencies: - "@walletconnect/types" "^1.8.0" - "@walletconnect/utils" "^1.8.0" - ws "7.5.3" - "@walletconnect/time@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" @@ -2756,11 +2665,6 @@ "@walletconnect/logger" "^2.0.1" events "^3.3.0" -"@walletconnect/types@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.8.0.tgz#3f5e85b2d6b149337f727ab8a71b8471d8d9a195" - integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg== - "@walletconnect/utils@2.8.6": version "2.8.6" resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.8.6.tgz#8a4f6b19525e33822f8da1aa94c4eef21482eeda" @@ -2781,38 +2685,13 @@ query-string "7.1.3" uint8arrays "^3.1.0" -"@walletconnect/utils@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-1.8.0.tgz#2591a197c1fa7429941fe428876088fda6632060" - integrity sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA== - dependencies: - "@walletconnect/browser-utils" "^1.8.0" - "@walletconnect/encoding" "^1.0.1" - "@walletconnect/jsonrpc-utils" "^1.0.3" - "@walletconnect/types" "^1.8.0" - bn.js "4.11.8" - js-sha3 "0.8.0" - query-string "6.13.5" - -"@walletconnect/window-getters@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.0.tgz#1053224f77e725dfd611c83931b5f6c98c32bfc8" - integrity sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA== - -"@walletconnect/window-getters@^1.0.0", "@walletconnect/window-getters@^1.0.1": +"@walletconnect/window-getters@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== dependencies: tslib "1.14.1" -"@walletconnect/window-metadata@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz#93b1cc685e6b9b202f29c26be550fde97800c4e5" - integrity sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA== - dependencies: - "@walletconnect/window-getters" "^1.0.0" - "@walletconnect/window-metadata@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" @@ -2844,11 +2723,6 @@ aes-js@3.0.0: resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== -aes-js@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" - integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== - agentkeepalive@^4.2.1: version "4.3.0" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.3.0.tgz#bb999ff07412653c1803b3ced35e50729830a255" @@ -3140,11 +3014,6 @@ blakejs@^1.2.1: resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== -bn.js@4.11.8: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - bn.js@5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" @@ -3476,7 +3345,7 @@ debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: dependencies: ms "2.1.2" -decode-uri-component@^0.2.0, decode-uri-component@^0.2.2: +decode-uri-component@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== @@ -3550,11 +3419,6 @@ depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== -detect-browser@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.2.0.tgz#c9cd5afa96a6a19fda0bbe9e9be48a6b6e1e9c97" - integrity sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA== - detect-browser@5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" @@ -4388,7 +4252,7 @@ hash-base@^3.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -5426,15 +5290,6 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== -query-string@6.13.5: - version "6.13.5" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.5.tgz#99e95e2fb7021db90a6f373f990c0c814b3812d8" - integrity sha512-svk3xg9qHR39P3JlHuD7g3nRnyay5mHbrPctEBDUxUkHRifPHXJDhBUycdCC0NBjXoDf44Gb+IsOZL1Uwn8M/Q== - dependencies: - decode-uri-component "^0.2.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - query-string@7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" @@ -6282,11 +6137,6 @@ ws@7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== -ws@7.5.3: - version "7.5.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" - integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== - ws@^7.4.5, ws@^7.5.1: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"