revert: "feat(wallet-connect): retire v1" (#6841)
Revert "feat(wallet-connect): retire v1 (#6820)" This reverts commit d6759b86e3702a6da3df211752c06e4ee119d801.
This commit is contained in:
parent
4b87e3d9b8
commit
3837ce24ac
@ -195,6 +195,7 @@
|
||||
"@web3-react/network": "^8.2.0",
|
||||
"@web3-react/types": "^8.2.0",
|
||||
"@web3-react/url": "^8.2.0",
|
||||
"@web3-react/walletconnect": "^8.2.0",
|
||||
"@web3-react/walletconnect-v2": "^8.3.4",
|
||||
"ajv": "^8.11.0",
|
||||
"ajv-formats": "^2.1.1",
|
||||
|
@ -1,14 +1,14 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { sendAnalyticsEvent } from '@uniswap/analytics'
|
||||
import { InterfaceElementName } from '@uniswap/analytics-events'
|
||||
import { WalletConnect } from '@web3-react/walletconnect-v2'
|
||||
import { WalletConnect } from '@web3-react/walletconnect'
|
||||
import Column, { AutoColumn } from 'components/Column'
|
||||
import Modal from 'components/Modal'
|
||||
import { RowBetween } from 'components/Row'
|
||||
import { uniwalletConnectConnection } from 'connection'
|
||||
import { ActivationStatus, useActivationState } from 'connection/activate'
|
||||
import { ConnectionType } from 'connection/types'
|
||||
import { UniwalletConnect } from 'connection/WalletConnectV2'
|
||||
import { UniwalletConnect } from 'connection/WalletConnect'
|
||||
import { QRCodeSVG } from 'qrcode.react'
|
||||
import { useEffect, useState } from 'react'
|
||||
import styled, { useTheme } from 'styled-components/macro'
|
||||
|
@ -3,6 +3,7 @@ import { DetailsV2Variant, useDetailsV2Flag } from 'featureFlags/flags/nftDetail
|
||||
import { useRoutingAPIForPriceFlag } from 'featureFlags/flags/priceRoutingApi'
|
||||
import { TraceJsonRpcVariant, useTraceJsonRpcFlag } from 'featureFlags/flags/traceJsonRpc'
|
||||
import { UnifiedRouterVariant, useRoutingAPIV2Flag } from 'featureFlags/flags/unifiedRouter'
|
||||
import { useWalletConnectV2Flag } from 'featureFlags/flags/walletConnectV2'
|
||||
import { useUpdateAtom } from 'jotai/utils'
|
||||
import { Children, PropsWithChildren, ReactElement, ReactNode, useCallback, useState } from 'react'
|
||||
import { X } from 'react-feather'
|
||||
@ -221,6 +222,12 @@ export default function FeatureFlagModal() {
|
||||
featureFlag={FeatureFlag.routingAPIPrice}
|
||||
label="Use the URA or routing-api for price fetches"
|
||||
/>
|
||||
<FeatureFlagOption
|
||||
variant={BaseVariant}
|
||||
value={useWalletConnectV2Flag()}
|
||||
featureFlag={FeatureFlag.walletConnectV2}
|
||||
label="Uses WalletConnect V2 as default wallet connect connection"
|
||||
/>
|
||||
<FeatureFlagGroup name="Debug">
|
||||
<FeatureFlagOption
|
||||
variant={TraceJsonRpcVariant}
|
||||
|
@ -6,7 +6,13 @@ import { MouseoverTooltip } from 'components/Tooltip'
|
||||
import { getConnection } from 'connection'
|
||||
import { ConnectionType } from 'connection/types'
|
||||
import { getChainInfo } from 'constants/chainInfo'
|
||||
import { L1_CHAIN_IDS, L2_CHAIN_IDS, SupportedChainId, TESTNET_CHAIN_IDS } from 'constants/chains'
|
||||
import {
|
||||
L1_CHAIN_IDS,
|
||||
L2_CHAIN_IDS,
|
||||
SupportedChainId,
|
||||
TESTNET_CHAIN_IDS,
|
||||
UniWalletSupportedChains,
|
||||
} from 'constants/chains'
|
||||
import { useOnClickOutside } from 'hooks/useOnClickOutside'
|
||||
import useSelectChain from 'hooks/useSelectChain'
|
||||
import useSyncChainQuery from 'hooks/useSyncChainQuery'
|
||||
@ -37,8 +43,9 @@ function useWalletSupportedChains(): SupportedChainId[] {
|
||||
|
||||
switch (connectionType) {
|
||||
case ConnectionType.WALLET_CONNECT_V2:
|
||||
case ConnectionType.UNISWAP_WALLET:
|
||||
return getSupportedChainIdsFromWalletConnectSession((connector as WalletConnect).provider?.session)
|
||||
case ConnectionType.UNISWAP_WALLET:
|
||||
return UniWalletSupportedChains
|
||||
default:
|
||||
return NETWORK_SELECTOR_CHAINS
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Connector } from '@web3-react/types'
|
||||
import UNIWALLET_ICON from 'assets/images/uniwallet.png'
|
||||
import { useAccountDrawer, useToggleAccountDrawer } from 'components/AccountDrawer'
|
||||
import { useAccountDrawer } from 'components/AccountDrawer'
|
||||
import { Connection, ConnectionType } from 'connection/types'
|
||||
import { mocked } from 'test-utils/mocked'
|
||||
import { createDeferredPromise } from 'test-utils/promise'
|
||||
@ -14,7 +14,6 @@ jest.mock('components/AccountDrawer')
|
||||
beforeEach(() => {
|
||||
jest.spyOn(console, 'debug').mockReturnValue()
|
||||
mocked(useAccountDrawer).mockReturnValue([true, mockToggleDrawer])
|
||||
mocked(useToggleAccountDrawer).mockReturnValue(mockToggleDrawer)
|
||||
})
|
||||
|
||||
const mockConnection1: Connection = {
|
||||
|
@ -1,12 +1,21 @@
|
||||
import { t, Trans } from '@lingui/macro'
|
||||
import { TraceEvent } from '@uniswap/analytics'
|
||||
import { BrowserEvent, InterfaceElementName, InterfaceEventName } from '@uniswap/analytics-events'
|
||||
import { useToggleAccountDrawer } from 'components/AccountDrawer'
|
||||
import { useAccountDrawer } from 'components/AccountDrawer'
|
||||
import { ButtonEmphasis, ButtonSize, ThemeButton } from 'components/Button'
|
||||
import Loader from 'components/Icons/LoadingSpinner'
|
||||
import { walletConnectV1Connection, walletConnectV2Connection } from 'connection'
|
||||
import { ActivationStatus, useActivationState } from 'connection/activate'
|
||||
import { Connection } from 'connection/types'
|
||||
import { Connection, ConnectionType } from 'connection/types'
|
||||
import { useWalletConnectV2AsDefault } from 'featureFlags/flags/walletConnectV2'
|
||||
import { useOnClickOutside } from 'hooks/useOnClickOutside'
|
||||
import { MouseEvent, useEffect, useRef, useState } from 'react'
|
||||
import { MoreHorizontal } from 'react-feather'
|
||||
import styled from 'styled-components/macro'
|
||||
import { ThemedText } from 'theme'
|
||||
import { useIsDarkMode } from 'theme/components/ThemeToggle'
|
||||
import { flexColumnNoWrap, flexRowNoWrap } from 'theme/styles'
|
||||
import { Z_INDEX } from 'theme/zIndex'
|
||||
|
||||
import NewBadge from './NewBadge'
|
||||
|
||||
@ -56,6 +65,41 @@ const IconWrapper = styled.div`
|
||||
align-items: flex-end;
|
||||
`};
|
||||
`
|
||||
const WCv1PopoverContent = styled(ThemeButton)`
|
||||
background: ${({ theme }) => theme.backgroundSurface};
|
||||
border: 1px solid ${({ theme }) => theme.backgroundOutline};
|
||||
border-radius: 12px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
max-width: 240px;
|
||||
padding: 16px;
|
||||
position: absolute;
|
||||
right: 12px;
|
||||
top: 52px;
|
||||
z-index: ${Z_INDEX.popover};
|
||||
`
|
||||
const TOGGLE_SIZE = 24
|
||||
const WCv1PopoverToggle = styled.button`
|
||||
align-items: center;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
color: ${({ theme }) => theme.textTertiary};
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
height: ${TOGGLE_SIZE}px;
|
||||
justify-content: center;
|
||||
margin: 0;
|
||||
max-width: 48px;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
right: 16px;
|
||||
top: calc(50% - ${TOGGLE_SIZE / 2}px);
|
||||
width: ${TOGGLE_SIZE}px;
|
||||
|
||||
&:hover {
|
||||
opacity: 0.6;
|
||||
}
|
||||
`
|
||||
const Wrapper = styled.div<{ disabled: boolean }>`
|
||||
align-items: stretch;
|
||||
display: flex;
|
||||
@ -75,18 +119,86 @@ const Wrapper = styled.div<{ disabled: boolean }>`
|
||||
}
|
||||
`
|
||||
|
||||
const WCv1Icon = styled.img`
|
||||
height: 20px !important;
|
||||
width: 20px !important;
|
||||
`
|
||||
const WCv1BodyText = styled(ThemedText.BodyPrimary)`
|
||||
margin-bottom: 4px !important;
|
||||
text-align: left;
|
||||
`
|
||||
const WCv1Caption = styled(ThemedText.Caption)`
|
||||
text-align: left;
|
||||
`
|
||||
|
||||
interface PopupButtonContentProps {
|
||||
connection: Connection
|
||||
isDarkMode: boolean
|
||||
show: boolean
|
||||
onClick: (e: MouseEvent<HTMLButtonElement>) => void
|
||||
onClose: () => void
|
||||
}
|
||||
function PopupButtonContent({ connection, isDarkMode, show, onClick, onClose }: PopupButtonContentProps) {
|
||||
const popoverElement = useRef<HTMLButtonElement>(null)
|
||||
const walletConnectV2AsDefault = useWalletConnectV2AsDefault()
|
||||
|
||||
useOnClickOutside(popoverElement, onClose)
|
||||
|
||||
if (!show) return null
|
||||
return (
|
||||
<WCv1PopoverContent onClick={onClick} ref={popoverElement} size={ButtonSize.small} emphasis={ButtonEmphasis.medium}>
|
||||
<IconWrapper>
|
||||
<WCv1Icon src={connection.getIcon?.(isDarkMode)} alt={connection.getName()} />
|
||||
</IconWrapper>
|
||||
<div>
|
||||
<WCv1BodyText>
|
||||
<Trans>Connect with {walletConnectV2AsDefault ? t`v1` : t`v2`}</Trans>
|
||||
</WCv1BodyText>
|
||||
<WCv1Caption color="textSecondary">
|
||||
{walletConnectV2AsDefault
|
||||
? t`Support for v1 will be discontinued June 28.`
|
||||
: t`Under development and unsupported by most wallets`}
|
||||
</WCv1Caption>
|
||||
</div>
|
||||
</WCv1PopoverContent>
|
||||
)
|
||||
}
|
||||
|
||||
interface OptionProps {
|
||||
connection: Connection
|
||||
}
|
||||
export default function Option({ connection }: OptionProps) {
|
||||
const { activationState, tryActivation } = useActivationState()
|
||||
const toggleAccountDrawerOpen = useToggleAccountDrawer()
|
||||
const [WC1PromptOpen, setWC1PromptOpen] = useState(false)
|
||||
const [accountDrawerOpen, toggleAccountDrawerOpen] = useAccountDrawer()
|
||||
const activate = () => tryActivation(connection, toggleAccountDrawerOpen)
|
||||
|
||||
useEffect(() => {
|
||||
if (!accountDrawerOpen) setWC1PromptOpen(false)
|
||||
}, [accountDrawerOpen])
|
||||
|
||||
const isSomeOptionPending = activationState.status === ActivationStatus.PENDING
|
||||
const isCurrentOptionPending = isSomeOptionPending && activationState.connection.type === connection.type
|
||||
const isDarkMode = useIsDarkMode()
|
||||
|
||||
const walletConnectV2AsDefault = useWalletConnectV2AsDefault()
|
||||
|
||||
const handleClickConnectViaWCv1 = (e: MouseEvent<HTMLButtonElement>) => {
|
||||
e.stopPropagation()
|
||||
tryActivation(walletConnectV2AsDefault ? walletConnectV1Connection : walletConnectV2Connection, () => {
|
||||
setWC1PromptOpen(false)
|
||||
toggleAccountDrawerOpen()
|
||||
})
|
||||
}
|
||||
const handleClickOpenWCv1Tooltip = (e: MouseEvent<HTMLButtonElement>) => {
|
||||
e.stopPropagation()
|
||||
setWC1PromptOpen(true)
|
||||
}
|
||||
|
||||
const isWalletConnect =
|
||||
connection.type === ConnectionType.WALLET_CONNECT || connection.type === ConnectionType.WALLET_CONNECT_V2
|
||||
const showExtraMenuToggle = isWalletConnect && !isCurrentOptionPending
|
||||
|
||||
return (
|
||||
<Wrapper disabled={isSomeOptionPending}>
|
||||
<TraceEvent
|
||||
@ -111,6 +223,21 @@ export default function Option({ connection }: OptionProps) {
|
||||
{isCurrentOptionPending && <Loader />}
|
||||
</OptionCardClickable>
|
||||
</TraceEvent>
|
||||
|
||||
{showExtraMenuToggle && (
|
||||
<>
|
||||
<WCv1PopoverToggle onClick={handleClickOpenWCv1Tooltip} onMouseDown={handleClickOpenWCv1Tooltip}>
|
||||
<MoreHorizontal />
|
||||
</WCv1PopoverToggle>
|
||||
<PopupButtonContent
|
||||
connection={connection}
|
||||
isDarkMode={isDarkMode}
|
||||
show={WC1PromptOpen}
|
||||
onClick={handleClickConnectViaWCv1}
|
||||
onClose={() => setWC1PromptOpen(false)}
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
</Wrapper>
|
||||
)
|
||||
}
|
||||
|
@ -4,7 +4,9 @@ import { AutoColumn } from 'components/Column'
|
||||
import { AutoRow } from 'components/Row'
|
||||
import { getConnections, networkConnection } from 'connection'
|
||||
import { ActivationStatus, useActivationState } from 'connection/activate'
|
||||
import { ConnectionType } from 'connection/types'
|
||||
import { isSupportedChain } from 'constants/chains'
|
||||
import { useWalletConnectV2AsDefault } from 'featureFlags/flags/walletConnectV2'
|
||||
import { useEffect } from 'react'
|
||||
import { Settings } from 'react-feather'
|
||||
import styled from 'styled-components/macro'
|
||||
@ -44,6 +46,11 @@ export default function WalletModal({ openSettings }: { openSettings: () => void
|
||||
|
||||
const { activationState } = useActivationState()
|
||||
|
||||
const walletConnectV2AsDefault = useWalletConnectV2AsDefault()
|
||||
const hiddenWalletConnectType = walletConnectV2AsDefault
|
||||
? ConnectionType.WALLET_CONNECT
|
||||
: ConnectionType.WALLET_CONNECT_V2
|
||||
|
||||
// Keep the network connector in sync with any active user connector to prevent chain-switching on wallet disconnection.
|
||||
useEffect(() => {
|
||||
if (chainId && isSupportedChain(chainId) && connector !== networkConnection.connector) {
|
||||
@ -63,7 +70,7 @@ export default function WalletModal({ openSettings }: { openSettings: () => void
|
||||
<AutoColumn gap="16px">
|
||||
<OptionGrid data-testid="option-grid">
|
||||
{connections
|
||||
.filter((connection) => connection.shouldDisplay())
|
||||
.filter((connection) => connection.shouldDisplay() && connection.type !== hiddenWalletConnectType)
|
||||
.map((connection) => (
|
||||
<Option key={connection.getName()} connection={connection} />
|
||||
))}
|
||||
|
67
src/connection/WalletConnect.ts
Normal file
67
src/connection/WalletConnect.ts
Normal file
@ -0,0 +1,67 @@
|
||||
import { sendAnalyticsEvent } from '@uniswap/analytics'
|
||||
import { URI_AVAILABLE, WalletConnect, WalletConnectConstructorArgs } from '@web3-react/walletconnect'
|
||||
import { isIOS } from 'utils/userAgent'
|
||||
|
||||
import { RPC_URLS } from '../constants/networks'
|
||||
|
||||
// Avoid testing for the best URL by only passing a single URL per chain.
|
||||
// Otherwise, WC will not initialize until all URLs have been tested (see getBestUrl in web3-react).
|
||||
const RPC_URLS_WITHOUT_FALLBACKS = Object.entries(RPC_URLS).reduce(
|
||||
(map, [chainId, urls]) => ({
|
||||
...map,
|
||||
[chainId]: urls[0],
|
||||
}),
|
||||
{}
|
||||
)
|
||||
|
||||
export class WalletConnectV1 extends WalletConnect {
|
||||
ANALYTICS_EVENT = 'Wallet Connect QR Scan'
|
||||
constructor({
|
||||
actions,
|
||||
onError,
|
||||
qrcode = true,
|
||||
}: Omit<WalletConnectConstructorArgs, 'options'> & { qrcode?: boolean }) {
|
||||
super({ actions, options: { qrcode, rpc: RPC_URLS_WITHOUT_FALLBACKS }, onError })
|
||||
}
|
||||
|
||||
activate(chainId?: number) {
|
||||
sendAnalyticsEvent(this.ANALYTICS_EVENT)
|
||||
return super.activate(chainId)
|
||||
}
|
||||
}
|
||||
|
||||
// Custom class for Uniswap Wallet specific functionality
|
||||
export class UniwalletConnect extends WalletConnectV1 {
|
||||
ANALYTICS_EVENT = 'Uniswap Wallet QR Scan'
|
||||
static UNI_URI_AVAILABLE = 'uni_uri_available'
|
||||
|
||||
constructor({ actions, onError }: Omit<WalletConnectConstructorArgs, 'options'>) {
|
||||
// disables walletconnect's proprietary qr code modal; instead UniwalletModal will listen for events to trigger our custom modal
|
||||
super({ actions, qrcode: false, onError })
|
||||
|
||||
this.events.once(URI_AVAILABLE, () => {
|
||||
this.provider?.connector.on('disconnect', () => {
|
||||
this.deactivate()
|
||||
})
|
||||
})
|
||||
|
||||
this.events.on(URI_AVAILABLE, (uri) => {
|
||||
if (!uri) return
|
||||
// Emits custom wallet connect code, parseable by the Uniswap Wallet
|
||||
this.events.emit(UniwalletConnect.UNI_URI_AVAILABLE, `hello_uniwallet:${uri}`)
|
||||
|
||||
// Opens deeplink to Uniswap Wallet if on iOS
|
||||
if (isIOS) {
|
||||
const newTab = window.open(`https://uniswap.org/app/wc?uri=${encodeURIComponent(uri)}`)
|
||||
|
||||
// Fixes blank tab opening on mobile Chrome
|
||||
newTab?.close()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
deactivate() {
|
||||
this.events.emit(URI_AVAILABLE)
|
||||
return super.deactivate()
|
||||
}
|
||||
}
|
@ -1,8 +1,7 @@
|
||||
import { sendAnalyticsEvent } from '@uniswap/analytics'
|
||||
import { URI_AVAILABLE, WalletConnect, WalletConnectConstructorArgs } from '@web3-react/walletconnect-v2'
|
||||
import { WalletConnect, WalletConnectConstructorArgs } from '@web3-react/walletconnect-v2'
|
||||
import { L1_CHAIN_IDS, L2_CHAIN_IDS, SupportedChainId } from 'constants/chains'
|
||||
import { Z_INDEX } from 'theme/zIndex'
|
||||
import { isIOS } from 'utils/userAgent'
|
||||
|
||||
import { RPC_URLS } from '../constants/networks'
|
||||
|
||||
@ -64,37 +63,3 @@ export class WalletConnectV2 extends WalletConnect {
|
||||
return super.activate(chainId)
|
||||
}
|
||||
}
|
||||
|
||||
// Custom class for Uniswap Wallet specific functionality
|
||||
export class UniwalletConnect extends WalletConnectV2 {
|
||||
ANALYTICS_EVENT = 'Uniswap Wallet QR Scan'
|
||||
static UNI_URI_AVAILABLE = 'uni_uri_available'
|
||||
|
||||
constructor({ actions, onError }: Omit<WalletConnectConstructorArgs, 'options'>) {
|
||||
// disables walletconnect's proprietary qr code modal; instead UniwalletModal will listen for events to trigger our custom modal
|
||||
super({ actions, qrcode: false, onError })
|
||||
|
||||
this.events.once(URI_AVAILABLE, () => {
|
||||
this.provider?.events.on('disconnect', this.deactivate)
|
||||
})
|
||||
|
||||
this.events.on(URI_AVAILABLE, (uri) => {
|
||||
if (!uri) return
|
||||
// Emits custom wallet connect code, parseable by the Uniswap Wallet
|
||||
this.events.emit(UniwalletConnect.UNI_URI_AVAILABLE, `hello_uniwallet:${uri}`)
|
||||
|
||||
// Opens deeplink to Uniswap Wallet if on iOS
|
||||
if (isIOS) {
|
||||
const newTab = window.open(`https://uniswap.org/app/wc?uri=${encodeURIComponent(uri)}`)
|
||||
|
||||
// Fixes blank tab opening on mobile Chrome
|
||||
newTab?.close()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
deactivate() {
|
||||
this.events.emit(URI_AVAILABLE)
|
||||
return super.deactivate()
|
||||
}
|
||||
}
|
||||
|
@ -227,10 +227,10 @@ describe('Should gracefully handle intentional user-rejection errors', () => {
|
||||
const wcConnection = createMockConnection(
|
||||
jest
|
||||
.fn()
|
||||
.mockImplementationOnce(() => Promise.reject(ErrorCode.WC_V2_MODAL_CLOSED))
|
||||
.mockImplementationOnce(() => Promise.reject(ErrorCode.WC_MODAL_CLOSED))
|
||||
.mockImplementationOnce(() => Promise.resolve),
|
||||
jest.fn(),
|
||||
ConnectionType.WALLET_CONNECT_V2
|
||||
ConnectionType.WALLET_CONNECT
|
||||
)
|
||||
|
||||
const onSuccess = jest.fn()
|
||||
|
@ -19,7 +19,7 @@ describe('connection utility/metadata tests', () => {
|
||||
UserAgentMock.isMobile = isMobile
|
||||
global.window.ethereum = ethereum
|
||||
|
||||
const displayed = getConnections().filter((c) => c.shouldDisplay())
|
||||
const displayed = getConnections().filter((c) => c.shouldDisplay() && c.type !== ConnectionType.WALLET_CONNECT)
|
||||
const injected = getConnection(ConnectionType.INJECTED)
|
||||
const coinbase = getConnection(ConnectionType.COINBASE_WALLET)
|
||||
const uniswap = getConnection(ConnectionType.UNISWAP_WALLET)
|
||||
|
@ -16,7 +16,8 @@ import { RPC_URLS } from '../constants/networks'
|
||||
import { RPC_PROVIDERS } from '../constants/providers'
|
||||
import { Connection, ConnectionType } from './types'
|
||||
import { getInjection, getIsCoinbaseWallet, getIsInjected, getIsMetaMaskWallet } from './utils'
|
||||
import { UniwalletConnect, WalletConnectV2 } from './WalletConnectV2'
|
||||
import { UniwalletConnect, WalletConnectV1 } from './WalletConnect'
|
||||
import { WalletConnectV2 } from './WalletConnectV2'
|
||||
|
||||
function onError(error: Error) {
|
||||
console.debug(`web3-react error: ${error}`)
|
||||
@ -69,6 +70,18 @@ export const gnosisSafeConnection: Connection = {
|
||||
shouldDisplay: () => false,
|
||||
}
|
||||
|
||||
const [web3WalletConnect, web3WalletConnectHooks] = initializeConnector<WalletConnectV1>(
|
||||
(actions) => new WalletConnectV1({ actions, onError })
|
||||
)
|
||||
export const walletConnectV1Connection: Connection = {
|
||||
getName: () => 'WalletConnect',
|
||||
connector: web3WalletConnect,
|
||||
hooks: web3WalletConnectHooks,
|
||||
type: ConnectionType.WALLET_CONNECT,
|
||||
getIcon: () => WALLET_CONNECT_ICON,
|
||||
shouldDisplay: () => !getIsInjectedMobileBrowser(),
|
||||
}
|
||||
|
||||
const [web3WalletConnectV2, web3WalletConnectV2Hooks] = initializeConnector<WalletConnectV2>(
|
||||
(actions) => new WalletConnectV2({ actions, onError })
|
||||
)
|
||||
@ -131,6 +144,7 @@ export function getConnections() {
|
||||
uniwalletConnectConnection,
|
||||
injectedConnection,
|
||||
walletConnectV2Connection,
|
||||
walletConnectV1Connection,
|
||||
coinbaseWalletConnection,
|
||||
gnosisSafeConnection,
|
||||
networkConnection,
|
||||
@ -150,6 +164,8 @@ export function getConnection(c: Connector | ConnectionType) {
|
||||
return injectedConnection
|
||||
case ConnectionType.COINBASE_WALLET:
|
||||
return coinbaseWalletConnection
|
||||
case ConnectionType.WALLET_CONNECT:
|
||||
return walletConnectV1Connection
|
||||
case ConnectionType.WALLET_CONNECT_V2:
|
||||
return walletConnectV2Connection
|
||||
case ConnectionType.UNIWALLET:
|
||||
|
@ -7,6 +7,7 @@ export enum ConnectionType {
|
||||
UNIWALLET = 'UNIWALLET',
|
||||
INJECTED = 'INJECTED',
|
||||
COINBASE_WALLET = 'COINBASE_WALLET',
|
||||
WALLET_CONNECT = 'WALLET_CONNECT',
|
||||
WALLET_CONNECT_V2 = 'WALLET_CONNECT_V2',
|
||||
NETWORK = 'NETWORK',
|
||||
GNOSIS_SAFE = 'GNOSIS_SAFE',
|
||||
|
@ -65,6 +65,7 @@ export enum ErrorCode {
|
||||
MM_ALREADY_PENDING = -32002,
|
||||
|
||||
WC_V2_MODAL_CLOSED = 'Error: Connection request reset. Please try again.',
|
||||
WC_MODAL_CLOSED = 'Error: User closed modal',
|
||||
CB_REJECTED_REQUEST = 'Error: User denied account authorization',
|
||||
}
|
||||
|
||||
@ -73,6 +74,7 @@ export function didUserReject(connection: Connection, error: any): boolean {
|
||||
return (
|
||||
error?.code === ErrorCode.USER_REJECTED_REQUEST ||
|
||||
(connection.type === ConnectionType.WALLET_CONNECT_V2 && error?.toString?.() === ErrorCode.WC_V2_MODAL_CLOSED) ||
|
||||
(connection.type === ConnectionType.WALLET_CONNECT && error?.toString?.() === ErrorCode.WC_MODAL_CLOSED) ||
|
||||
(connection.type === ConnectionType.COINBASE_WALLET && error?.toString?.() === ErrorCode.CB_REJECTED_REQUEST)
|
||||
)
|
||||
}
|
||||
|
@ -26,6 +26,13 @@ export enum SupportedChainId {
|
||||
BNB = 56,
|
||||
}
|
||||
|
||||
export const UniWalletSupportedChains = [
|
||||
SupportedChainId.MAINNET,
|
||||
SupportedChainId.ARBITRUM_ONE,
|
||||
SupportedChainId.OPTIMISM,
|
||||
SupportedChainId.POLYGON,
|
||||
]
|
||||
|
||||
export const CHAIN_IDS_TO_NAMES = {
|
||||
[SupportedChainId.MAINNET]: 'mainnet',
|
||||
[SupportedChainId.GOERLI]: 'goerli',
|
||||
|
9
src/featureFlags/flags/walletConnectV2.ts
Normal file
9
src/featureFlags/flags/walletConnectV2.ts
Normal file
@ -0,0 +1,9 @@
|
||||
import { BaseVariant, FeatureFlag, useBaseFlag } from '../index'
|
||||
|
||||
export function useWalletConnectV2Flag(): BaseVariant {
|
||||
return useBaseFlag(FeatureFlag.walletConnectV2)
|
||||
}
|
||||
|
||||
export function useWalletConnectV2AsDefault(): boolean {
|
||||
return useWalletConnectV2Flag() === BaseVariant.Enabled
|
||||
}
|
@ -14,6 +14,7 @@ export enum FeatureFlag {
|
||||
debounceSwapQuote = 'debounce_swap_quote',
|
||||
nativeUsdcArbitrum = 'web_usdc_arbitrum',
|
||||
routingAPIPrice = 'routing_api_price',
|
||||
walletConnectV2 = 'walletconnect_v2',
|
||||
}
|
||||
|
||||
interface FeatureFlagsContextType {
|
||||
|
@ -6,7 +6,7 @@ import { useAppSelector } from 'state/hooks'
|
||||
const SELECTABLE_WALLETS = [
|
||||
ConnectionType.UNISWAP_WALLET,
|
||||
ConnectionType.INJECTED,
|
||||
ConnectionType.WALLET_CONNECT_V2,
|
||||
ConnectionType.WALLET_CONNECT,
|
||||
ConnectionType.COINBASE_WALLET,
|
||||
]
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
import { Connector } from '@web3-react/types'
|
||||
import { networkConnection, uniwalletConnectConnection, walletConnectV2Connection } from 'connection'
|
||||
import {
|
||||
networkConnection,
|
||||
uniwalletConnectConnection,
|
||||
walletConnectV1Connection,
|
||||
walletConnectV2Connection,
|
||||
} from 'connection'
|
||||
import { getChainInfo } from 'constants/chainInfo'
|
||||
import { isSupportedChain, SupportedChainId } from 'constants/chains'
|
||||
import { FALLBACK_URLS, RPC_URLS } from 'constants/networks'
|
||||
@ -33,6 +38,7 @@ export function useSwitchChain() {
|
||||
try {
|
||||
if (
|
||||
[
|
||||
walletConnectV1Connection.connector,
|
||||
walletConnectV2Connection.connector,
|
||||
uniwalletConnectConnection.connector,
|
||||
networkConnection.connector,
|
||||
|
@ -135,11 +135,6 @@ const userSlice = createSlice({
|
||||
if (state.selectedWallet === 'UNIWALLET') {
|
||||
state.selectedWallet = ConnectionType.UNISWAP_WALLET
|
||||
}
|
||||
// WALLET_CONNECT (v1) has been deprecated
|
||||
// @ts-expect-error
|
||||
if (state.selectedWallet === 'WALLET_CONNECT') {
|
||||
state.selectedWallet = undefined
|
||||
}
|
||||
|
||||
// If `userSlippageTolerance` is not present or its value is invalid, reset to default
|
||||
if (
|
||||
|
367
yarn.lock
367
yarn.lock
@ -3167,6 +3167,31 @@
|
||||
"@jridgewell/resolve-uri" "3.1.0"
|
||||
"@jridgewell/sourcemap-codec" "1.4.14"
|
||||
|
||||
"@json-rpc-tools/provider@^1.5.5":
|
||||
version "1.7.6"
|
||||
resolved "https://registry.yarnpkg.com/@json-rpc-tools/provider/-/provider-1.7.6.tgz#8a17c34c493fa892632e278fd9331104e8491ec6"
|
||||
integrity sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==
|
||||
dependencies:
|
||||
"@json-rpc-tools/utils" "^1.7.6"
|
||||
axios "^0.21.0"
|
||||
safe-json-utils "^1.1.1"
|
||||
ws "^7.4.0"
|
||||
|
||||
"@json-rpc-tools/types@^1.7.6":
|
||||
version "1.7.6"
|
||||
resolved "https://registry.yarnpkg.com/@json-rpc-tools/types/-/types-1.7.6.tgz#5abd5fde01364a130c46093b501715bcce5bdc0e"
|
||||
integrity sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==
|
||||
dependencies:
|
||||
keyvaluestorage-interface "^1.0.0"
|
||||
|
||||
"@json-rpc-tools/utils@^1.7.6":
|
||||
version "1.7.6"
|
||||
resolved "https://registry.yarnpkg.com/@json-rpc-tools/utils/-/utils-1.7.6.tgz#67f04987dbaa2e7adb6adff1575367b75a9a9ba1"
|
||||
integrity sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==
|
||||
dependencies:
|
||||
"@json-rpc-tools/types" "^1.7.6"
|
||||
"@pedrouid/environment" "^1.0.1"
|
||||
|
||||
"@juggle/resize-observer@^3.3.1", "@juggle/resize-observer@^3.4.0":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60"
|
||||
@ -3676,6 +3701,11 @@
|
||||
tslib "^2.4.1"
|
||||
webcrypto-core "^1.7.4"
|
||||
|
||||
"@pedrouid/environment@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec"
|
||||
integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==
|
||||
|
||||
"@pkgr/utils@^2.3.1":
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.3.1.tgz#0a9b06ffddee364d6642b3cd562ca76f55b34a03"
|
||||
@ -6106,6 +6136,27 @@
|
||||
prop-types "^15.7.2"
|
||||
reduce-css-calc "^1.3.0"
|
||||
|
||||
"@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.2":
|
||||
version "2.8.2"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.8.2.tgz#81f35573a744b18e2ca0330d8ee71eb9297118f9"
|
||||
@ -6128,13 +6179,55 @@
|
||||
lodash.isequal "4.5.0"
|
||||
uint8arrays "^3.1.0"
|
||||
|
||||
"@walletconnect/environment@^1.0.1":
|
||||
"@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.2"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/crypto/-/crypto-1.0.2.tgz#3fcc2b2cde6f529a19eadd883dc555cd0e861992"
|
||||
integrity sha512-+OlNtwieUqVcOpFTvLBvH+9J9pntEqH5evpINHfVxff1XIgwV55PpbdvkHu6r9Ib4WQDOFiD8OeeXs1vHw7xKQ==
|
||||
dependencies:
|
||||
"@walletconnect/encoding" "^1.0.1"
|
||||
"@walletconnect/environment" "^1.0.0"
|
||||
"@walletconnect/randombytes" "^1.0.2"
|
||||
aes-js "^3.1.2"
|
||||
hash.js "^1.1.7"
|
||||
|
||||
"@walletconnect/encoding@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/encoding/-/encoding-1.0.1.tgz#93c18ce9478c3d5283dbb88c41eb2864b575269a"
|
||||
integrity sha512-8opL2rs6N6E3tJfsqwS82aZQDL3gmupWUgmvuZ3CGU7z/InZs3R9jkzH8wmYtpbq0sFK3WkJkQRZFFk4BkrmFA==
|
||||
dependencies:
|
||||
is-typedarray "1.0.0"
|
||||
typedarray-to-buffer "3.1.5"
|
||||
|
||||
"@walletconnect/environment@^1.0.0", "@walletconnect/environment@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7"
|
||||
integrity sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==
|
||||
dependencies:
|
||||
tslib "1.14.1"
|
||||
|
||||
"@walletconnect/ethereum-provider@^1.7.8":
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-1.8.0.tgz#ed1dbf9cecc3b818758a060d2f9017c50bde1d32"
|
||||
integrity sha512-Nq9m+oo5P0F+njsROHw9KMWdoc/8iGHYzQdkjJN/1C7DtsqFRg5k5a3hd9rzCLpbPsOC1q8Z5lRs6JQgDvPm6Q==
|
||||
dependencies:
|
||||
"@walletconnect/client" "^1.8.0"
|
||||
"@walletconnect/jsonrpc-http-connection" "^1.0.2"
|
||||
"@walletconnect/jsonrpc-provider" "^1.0.5"
|
||||
"@walletconnect/signer-connection" "^1.8.0"
|
||||
"@walletconnect/types" "^1.8.0"
|
||||
"@walletconnect/utils" "^1.8.0"
|
||||
eip1193-provider "1.0.1"
|
||||
eventemitter3 "4.0.7"
|
||||
|
||||
"@walletconnect/ethereum-provider@^2.8.2":
|
||||
version "2.8.2"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.8.2.tgz#0910068ca507632836ae9ef4563e8c3a556abeab"
|
||||
@ -6167,7 +6260,16 @@
|
||||
"@walletconnect/time" "^1.0.2"
|
||||
tslib "1.14.1"
|
||||
|
||||
"@walletconnect/jsonrpc-http-connection@^1.0.7":
|
||||
"@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-http-connection@^1.0.2", "@walletconnect/jsonrpc-http-connection@^1.0.7":
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.7.tgz#a6973569b8854c22da707a759d241e4f5c2d5a98"
|
||||
integrity sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ==
|
||||
@ -6177,7 +6279,7 @@
|
||||
cross-fetch "^3.1.4"
|
||||
tslib "1.14.1"
|
||||
|
||||
"@walletconnect/jsonrpc-provider@1.0.13", "@walletconnect/jsonrpc-provider@^1.0.13":
|
||||
"@walletconnect/jsonrpc-provider@1.0.13", "@walletconnect/jsonrpc-provider@^1.0.13", "@walletconnect/jsonrpc-provider@^1.0.5":
|
||||
version "1.0.13"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz#9a74da648d015e1fffc745f0c7d629457f53648b"
|
||||
integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==
|
||||
@ -6186,7 +6288,7 @@
|
||||
"@walletconnect/safe-json" "^1.0.2"
|
||||
tslib "1.14.1"
|
||||
|
||||
"@walletconnect/jsonrpc-types@1.0.3", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3":
|
||||
"@walletconnect/jsonrpc-types@1.0.3", "@walletconnect/jsonrpc-types@^1.0.1", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3":
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz#65e3b77046f1a7fa8347ae02bc1b841abe6f290c"
|
||||
integrity sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==
|
||||
@ -6194,7 +6296,7 @@
|
||||
keyvaluestorage-interface "^1.0.0"
|
||||
tslib "1.14.1"
|
||||
|
||||
"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@walletconnect/jsonrpc-utils@^1.0.8":
|
||||
"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.3", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@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==
|
||||
@ -6230,6 +6332,11 @@
|
||||
pino "7.11.0"
|
||||
tslib "1.14.1"
|
||||
|
||||
"@walletconnect/mobile-registry@^1.4.0":
|
||||
version "1.4.0"
|
||||
resolved "https://registry.npmjs.org/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz"
|
||||
integrity sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw==
|
||||
|
||||
"@walletconnect/modal@^2.4.5":
|
||||
version "2.4.5"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.4.5.tgz#bfdf6110a7f09c709fc5af19e576a28e6bba1d6e"
|
||||
@ -6238,6 +6345,27 @@
|
||||
"@web3modal/core" "2.4.5"
|
||||
"@web3modal/ui" "2.4.5"
|
||||
|
||||
"@walletconnect/qrcode-modal@^1.8.0":
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/qrcode-modal/-/qrcode-modal-1.8.0.tgz#ddd6f5c9b7ee52c16adf9aacec2a3eac4994caea"
|
||||
integrity sha512-BueaFefaAi8mawE45eUtztg3ZFbsAH4DDXh1UNwdUlsvFMjqcYzLUG0xZvDd6z2eOpbgDg2N3bl6gF0KONj1dg==
|
||||
dependencies:
|
||||
"@walletconnect/browser-utils" "^1.8.0"
|
||||
"@walletconnect/mobile-registry" "^1.4.0"
|
||||
"@walletconnect/types" "^1.8.0"
|
||||
copy-to-clipboard "^3.3.1"
|
||||
preact "10.4.1"
|
||||
qrcode "1.4.4"
|
||||
|
||||
"@walletconnect/randombytes@^1.0.2":
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/randombytes/-/randombytes-1.0.2.tgz#95c644251a15e6675f58fbffc9513a01486da49c"
|
||||
integrity sha512-ivgOtAyqQnN0rLQmOFPemsgYGysd/ooLfaDA/ACQ3cyqlca56t3rZc7pXfqJOIETx/wSyoF5XbwL+BqYodw27A==
|
||||
dependencies:
|
||||
"@walletconnect/encoding" "^1.0.1"
|
||||
"@walletconnect/environment" "^1.0.0"
|
||||
randombytes "^2.1.0"
|
||||
|
||||
"@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"
|
||||
@ -6258,6 +6386,11 @@
|
||||
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"
|
||||
@ -6280,6 +6413,27 @@
|
||||
"@walletconnect/utils" "2.8.2"
|
||||
events "^3.3.0"
|
||||
|
||||
"@walletconnect/signer-connection@^1.8.0":
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/signer-connection/-/signer-connection-1.8.0.tgz#6cdf490df770e504cc1a550bdb5bac7696b130bc"
|
||||
integrity sha512-+YAaTAP52MWZJ2wWnqKClKCPlPHBo6reURFe0cWidLADh9mi/kPWGALZ5AENK22zpem1bbKV466rF5Rzvu0ehA==
|
||||
dependencies:
|
||||
"@walletconnect/client" "^1.8.0"
|
||||
"@walletconnect/jsonrpc-types" "^1.0.1"
|
||||
"@walletconnect/jsonrpc-utils" "^1.0.3"
|
||||
"@walletconnect/qrcode-modal" "^1.8.0"
|
||||
"@walletconnect/types" "^1.8.0"
|
||||
eventemitter3 "4.0.7"
|
||||
|
||||
"@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"
|
||||
@ -6299,6 +6453,11 @@
|
||||
"@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/universal-provider@2.8.2":
|
||||
version "2.8.2"
|
||||
resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.8.2.tgz#9f1f90a221faad860e3a995bb16199a128b1277f"
|
||||
@ -6334,13 +6493,38 @@
|
||||
query-string "7.1.3"
|
||||
uint8arrays "^3.1.0"
|
||||
|
||||
"@walletconnect/window-getters@^1.0.1":
|
||||
"@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":
|
||||
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"
|
||||
@ -6441,6 +6625,15 @@
|
||||
"@web3-react/types" "^8.2.0"
|
||||
eventemitter3 "^4.0.7"
|
||||
|
||||
"@web3-react/walletconnect@^8.2.0":
|
||||
version "8.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@web3-react/walletconnect/-/walletconnect-8.2.0.tgz#e4e325132f04f03a07a19cd193b4b97bfe6a9914"
|
||||
integrity sha512-Yl1C0beRnwohtFZ9c6xz6mOci2MqoES2hYKhJI4X7qKqcmQJC6TOeLjlYfzjdUTUvP8IDf0A7flYZVeBUvL/fg==
|
||||
dependencies:
|
||||
"@walletconnect/ethereum-provider" "^1.7.8"
|
||||
"@web3-react/types" "^8.2.0"
|
||||
eventemitter3 "^4.0.7"
|
||||
|
||||
"@web3modal/core@2.4.5":
|
||||
version "2.4.5"
|
||||
resolved "https://registry.yarnpkg.com/@web3modal/core/-/core-2.4.5.tgz#506161e37b8431fc8d605aed7a73d93e3f8ee7b4"
|
||||
@ -6752,6 +6945,11 @@ aes-js@3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d"
|
||||
integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=
|
||||
|
||||
aes-js@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz"
|
||||
integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==
|
||||
|
||||
agent-base@6:
|
||||
version "6.0.2"
|
||||
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
|
||||
@ -6859,6 +7057,11 @@ ansi-regex@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
|
||||
integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
|
||||
|
||||
ansi-regex@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
|
||||
integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
|
||||
|
||||
ansi-regex@^5.0.0, ansi-regex@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
|
||||
@ -6869,7 +7072,7 @@ ansi-regex@^6.0.1:
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
|
||||
integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
|
||||
|
||||
ansi-styles@^3.2.1:
|
||||
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
|
||||
integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
|
||||
@ -7161,7 +7364,7 @@ axe-core@^4.6.2:
|
||||
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf"
|
||||
integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==
|
||||
|
||||
axios@^0.21.1:
|
||||
axios@^0.21.0, axios@^0.21.1:
|
||||
version "0.21.1"
|
||||
resolved "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz"
|
||||
integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==
|
||||
@ -7545,6 +7748,11 @@ bn.js@4.11.6:
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
|
||||
integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==
|
||||
|
||||
bn.js@4.11.8:
|
||||
version "4.11.8"
|
||||
resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz"
|
||||
integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
|
||||
|
||||
bn.js@^4.11.0, bn.js@^4.11.8, bn.js@^4.11.9:
|
||||
version "4.12.0"
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
|
||||
@ -7721,6 +7929,19 @@ btoa@^1.2.1:
|
||||
resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73"
|
||||
integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==
|
||||
|
||||
buffer-alloc-unsafe@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz"
|
||||
integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
|
||||
|
||||
buffer-alloc@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz"
|
||||
integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
|
||||
dependencies:
|
||||
buffer-alloc-unsafe "^1.1.0"
|
||||
buffer-fill "^1.0.0"
|
||||
|
||||
buffer-crc32@~0.2.3:
|
||||
version "0.2.13"
|
||||
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
||||
@ -7736,7 +7957,12 @@ buffer-equal@0.0.1:
|
||||
resolved "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz"
|
||||
integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=
|
||||
|
||||
buffer-from@^1.0.0:
|
||||
buffer-fill@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz"
|
||||
integrity sha1-+PeLdniYiO858gXNY39o5wISKyw=
|
||||
|
||||
buffer-from@^1.0.0, buffer-from@^1.1.1:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
|
||||
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
|
||||
@ -7767,7 +7993,7 @@ buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3:
|
||||
base64-js "^1.3.1"
|
||||
ieee754 "^1.2.1"
|
||||
|
||||
buffer@^5.2.0, buffer@^5.5.0, buffer@^5.6.0:
|
||||
buffer@^5.2.0, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz"
|
||||
integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
|
||||
@ -8189,6 +8415,15 @@ clipboardy@1.2.3:
|
||||
arch "^2.1.0"
|
||||
execa "^0.8.0"
|
||||
|
||||
cliui@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
|
||||
integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
|
||||
dependencies:
|
||||
string-width "^3.1.0"
|
||||
strip-ansi "^5.2.0"
|
||||
wrap-ansi "^5.1.0"
|
||||
|
||||
cliui@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
|
||||
@ -8506,7 +8741,7 @@ cookie@^0.4.1:
|
||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
|
||||
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
|
||||
|
||||
copy-to-clipboard@^3.2.0:
|
||||
copy-to-clipboard@^3.2.0, copy-to-clipboard@^3.3.1:
|
||||
version "3.3.1"
|
||||
resolved "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz"
|
||||
integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==
|
||||
@ -9456,6 +9691,11 @@ destroy@1.2.0:
|
||||
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
|
||||
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
|
||||
|
||||
detect-browser@5.2.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.npmjs.org/detect-browser/-/detect-browser-5.2.0.tgz"
|
||||
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"
|
||||
@ -9714,6 +9954,13 @@ ee-first@1.1.1:
|
||||
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
|
||||
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
|
||||
|
||||
eip1193-provider@1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/eip1193-provider/-/eip1193-provider-1.0.1.tgz#420d29cf4f6c443e3f32e718fb16fafb250637c3"
|
||||
integrity sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==
|
||||
dependencies:
|
||||
"@json-rpc-tools/provider" "^1.5.5"
|
||||
|
||||
ejs@^3.1.5, ejs@^3.1.6:
|
||||
version "3.1.9"
|
||||
resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361"
|
||||
@ -9749,6 +9996,11 @@ emittery@^0.8.1:
|
||||
resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860"
|
||||
integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==
|
||||
|
||||
emoji-regex@^7.0.1:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
|
||||
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
|
||||
|
||||
emoji-regex@^8.0.0:
|
||||
version "8.0.0"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
|
||||
@ -10587,7 +10839,7 @@ eventemitter2@6.4.7:
|
||||
resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d"
|
||||
integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==
|
||||
|
||||
eventemitter3@^4.0.0, eventemitter3@^4.0.7:
|
||||
eventemitter3@4.0.7, eventemitter3@^4.0.0, eventemitter3@^4.0.7:
|
||||
version "4.0.7"
|
||||
resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz"
|
||||
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
|
||||
@ -12441,7 +12693,7 @@ is-typed-array@^1.1.10, is-typed-array@^1.1.3:
|
||||
gopd "^1.0.1"
|
||||
has-tostringtag "^1.0.0"
|
||||
|
||||
is-typedarray@^1.0.0, is-typedarray@~1.0.0:
|
||||
is-typedarray@1.0.0, is-typedarray@^1.0.0, is-typedarray@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"
|
||||
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
|
||||
@ -12507,7 +12759,7 @@ is-wsl@^2.1.1, is-wsl@^2.2.0:
|
||||
dependencies:
|
||||
is-docker "^2.0.0"
|
||||
|
||||
isarray@^2.0.5:
|
||||
isarray@^2.0.1, isarray@^2.0.5:
|
||||
version "2.0.5"
|
||||
resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz"
|
||||
integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
|
||||
@ -15191,7 +15443,7 @@ plurals-cldr@^1.0.4:
|
||||
resolved "https://registry.npmjs.org/plurals-cldr/-/plurals-cldr-1.0.4.tgz"
|
||||
integrity sha512-4nLXqtel7fsCgzi8dvRZvUjfL8SXpP982sKg7b2TgpnR8rDnes06iuQ83trQ/+XdtyMIQkBBbKzX6x97eLfsJQ==
|
||||
|
||||
pngjs@^3.0.0, pngjs@^3.3.3:
|
||||
pngjs@^3.0.0, pngjs@^3.3.0, pngjs@^3.3.3:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz"
|
||||
integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
|
||||
@ -15770,6 +16022,11 @@ postcss@^8.3.5, postcss@^8.4.19, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.
|
||||
picocolors "^1.0.0"
|
||||
source-map-js "^1.0.2"
|
||||
|
||||
preact@10.4.1:
|
||||
version "10.4.1"
|
||||
resolved "https://registry.npmjs.org/preact/-/preact-10.4.1.tgz"
|
||||
integrity sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==
|
||||
|
||||
preact@^10.5.9:
|
||||
version "10.5.13"
|
||||
resolved "https://registry.npmjs.org/preact/-/preact-10.5.13.tgz"
|
||||
@ -15987,6 +16244,19 @@ qrcode.react@^3.1.0:
|
||||
resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-3.1.0.tgz#5c91ddc0340f768316fbdb8fff2765134c2aecd8"
|
||||
integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==
|
||||
|
||||
qrcode@1.4.4:
|
||||
version "1.4.4"
|
||||
resolved "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz"
|
||||
integrity sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==
|
||||
dependencies:
|
||||
buffer "^5.4.3"
|
||||
buffer-alloc "^1.2.0"
|
||||
buffer-from "^1.1.1"
|
||||
dijkstrajs "^1.0.1"
|
||||
isarray "^2.0.1"
|
||||
pngjs "^3.3.0"
|
||||
yargs "^13.2.4"
|
||||
|
||||
qrcode@1.5.3:
|
||||
version "1.5.3"
|
||||
resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170"
|
||||
@ -16016,6 +16286,15 @@ qs@~6.5.2:
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
|
||||
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
|
||||
|
||||
query-string@6.13.5:
|
||||
version "6.13.5"
|
||||
resolved "https://registry.npmjs.org/query-string/-/query-string-6.13.5.tgz"
|
||||
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"
|
||||
@ -17676,6 +17955,15 @@ string-width@^2.0.0, string-width@^2.1.1:
|
||||
is-fullwidth-code-point "^2.0.0"
|
||||
strip-ansi "^4.0.0"
|
||||
|
||||
string-width@^3.0.0, string-width@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
|
||||
integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
|
||||
dependencies:
|
||||
emoji-regex "^7.0.1"
|
||||
is-fullwidth-code-point "^2.0.0"
|
||||
strip-ansi "^5.1.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"
|
||||
@ -17740,6 +18028,13 @@ strip-ansi@^4.0.0:
|
||||
dependencies:
|
||||
ansi-regex "^3.0.0"
|
||||
|
||||
strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
|
||||
integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
|
||||
dependencies:
|
||||
ansi-regex "^4.1.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"
|
||||
@ -18475,7 +18770,7 @@ typechain@^5.0.0:
|
||||
prettier "^2.1.2"
|
||||
ts-essentials "^7.0.1"
|
||||
|
||||
typedarray-to-buffer@^3.1.5:
|
||||
typedarray-to-buffer@3.1.5, typedarray-to-buffer@^3.1.5:
|
||||
version "3.1.5"
|
||||
resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz"
|
||||
integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
|
||||
@ -19436,6 +19731,15 @@ workerpool@6.2.1:
|
||||
resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343"
|
||||
integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==
|
||||
|
||||
wrap-ansi@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
|
||||
integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
|
||||
dependencies:
|
||||
ansi-styles "^3.2.0"
|
||||
string-width "^3.0.0"
|
||||
strip-ansi "^5.0.0"
|
||||
|
||||
wrap-ansi@^6.2.0:
|
||||
version "6.2.0"
|
||||
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
|
||||
@ -19474,12 +19778,17 @@ 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@8.11.0:
|
||||
version "8.11.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143"
|
||||
integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==
|
||||
|
||||
ws@^7.4.5, ws@^7.4.6, ws@^7.5.1:
|
||||
ws@^7.4.0, ws@^7.4.5, ws@^7.4.6, ws@^7.5.1:
|
||||
version "7.5.9"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
|
||||
integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
|
||||
@ -19582,6 +19891,14 @@ yargs-parser@20.2.4:
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
|
||||
integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
|
||||
|
||||
yargs-parser@^13.1.2:
|
||||
version "13.1.2"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
|
||||
integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
|
||||
dependencies:
|
||||
camelcase "^5.0.0"
|
||||
decamelize "^1.2.0"
|
||||
|
||||
yargs-parser@^18.1.2:
|
||||
version "18.1.3"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
|
||||
@ -19623,6 +19940,22 @@ yargs@16.2.0, yargs@^16.2.0:
|
||||
y18n "^5.0.5"
|
||||
yargs-parser "^20.2.2"
|
||||
|
||||
yargs@^13.2.4:
|
||||
version "13.3.2"
|
||||
resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz"
|
||||
integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
|
||||
dependencies:
|
||||
cliui "^5.0.0"
|
||||
find-up "^3.0.0"
|
||||
get-caller-file "^2.0.1"
|
||||
require-directory "^2.1.1"
|
||||
require-main-filename "^2.0.0"
|
||||
set-blocking "^2.0.0"
|
||||
string-width "^3.0.0"
|
||||
which-module "^2.0.0"
|
||||
y18n "^4.0.0"
|
||||
yargs-parser "^13.1.2"
|
||||
|
||||
yargs@^15.0.2, yargs@^15.3.1:
|
||||
version "15.4.1"
|
||||
resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz"
|
||||
|
Loading…
Reference in New Issue
Block a user