Skip to content

Commit

Permalink
fix: big derp
Browse files Browse the repository at this point in the history
  • Loading branch information
gomesalexandre committed Sep 7, 2023
1 parent de93613 commit 7c1a1c6
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 40 deletions.
24 changes: 12 additions & 12 deletions src/AppProviders.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -55,25 +55,25 @@ export function AppProviders({ children }: ProvidersProps) {
<ScrollToTop />
<BrowserRouterProvider>
<I18nProvider>
<ModalProvider>
<WalletProvider>
<WalletConnectBridgeProvider>
<WalletConnectV2Provider>
<KeepKeyProvider>
<ErrorBoundary FallbackComponent={ErrorPage} onError={handleError}>
<WalletProvider>
<WalletConnectBridgeProvider>
<WalletConnectV2Provider>
<KeepKeyProvider>
<ErrorBoundary FallbackComponent={ErrorPage} onError={handleError}>
<ModalProvider>
<TransactionsProvider>
<AppProvider>
<FoxEthProvider>
<DefiManagerProvider>{children}</DefiManagerProvider>
</FoxEthProvider>
</AppProvider>
</TransactionsProvider>
</ErrorBoundary>
</KeepKeyProvider>
</WalletConnectV2Provider>
</WalletConnectBridgeProvider>
</WalletProvider>
</ModalProvider>
</ModalProvider>
</ErrorBoundary>
</KeepKeyProvider>
</WalletConnectV2Provider>
</WalletConnectBridgeProvider>
</WalletProvider>
</I18nProvider>
</BrowserRouterProvider>
</HashRouter>
Expand Down
27 changes: 0 additions & 27 deletions src/context/WalletProvider/WalletProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@ import type { MetaMaskHDWallet } from '@shapeshiftoss/hdwallet-metamask'
import type { NativeHDWallet } from '@shapeshiftoss/hdwallet-native'
import * as native from '@shapeshiftoss/hdwallet-native'
import type { WalletConnectProviderConfig } from '@shapeshiftoss/hdwallet-walletconnect'
import {
metaMaskFlaskSupported,
shapeShiftSnapInstalled,
} from '@shapeshiftoss/metamask-snaps-adapter'
import WalletConnectProvider from '@walletconnect/web3-provider'
import { getConfig } from 'config'
import { PublicWalletXpubs } from 'constants/PublicWalletXpubs'
Expand All @@ -27,7 +23,6 @@ import { useKeepKeyEventHandler } from 'context/WalletProvider/KeepKey/hooks/use
import { MobileConfig } from 'context/WalletProvider/MobileWallet/config'
import { getWallet } from 'context/WalletProvider/MobileWallet/mobileMessageHandlers'
import { KeepKeyRoutes } from 'context/WalletProvider/routes'
import { useModal } from 'hooks/useModal/useModal'
import { portfolio } from 'state/slices/portfolioSlice/portfolioSlice'
import { store } from 'state/store'

Expand Down Expand Up @@ -683,26 +678,6 @@ export const WalletProvider = ({ children }: { children: React.ReactNode }): JSX
try {
const maybeProvider = await (async (): Promise<InitialState['provider']> => {
if (KeyManager.MetaMask === walletType) {
;(async () => {
const showSnapsModal = store.getState().preferences.showSnapsModal
if (!showSnapsModal) return

const localWalletType = getLocalWalletType()
if (localWalletType !== KeyManager.MetaMask) return

const isSnapsEnabled = getConfig().REACT_APP_EXPERIMENTAL_MM_SNAPPY_FINGERS
if (!isSnapsEnabled) return

const isMetamaskFlask = await metaMaskFlaskSupported()
if (!isMetamaskFlask) return

const isSnapInstalled = await shapeShiftSnapInstalled(getConfig().REACT_APP_SNAP_ID)
if (isSnapInstalled) return

if (snaps.isOpen) return

snaps.open({})
})()
return (await detectEthereumProvider()) as MetaMaskLikeProvider
}
if (walletType === KeyManager.XDefi) {
Expand Down Expand Up @@ -754,8 +729,6 @@ export const WalletProvider = ({ children }: { children: React.ReactNode }): JSX
})()
}, [state.wallet, onProviderChange])

const snaps = useModal('snaps')

useEffect(() => {
if (state.keyring) {
;(async () => {
Expand Down
32 changes: 31 additions & 1 deletion src/hooks/useIsSnapInstalled/useIsSnapInstalled.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,41 @@
import { shapeShiftSnapInstalled } from '@shapeshiftoss/metamask-snaps-adapter'
import {
metaMaskFlaskSupported,
shapeShiftSnapInstalled,
} from '@shapeshiftoss/metamask-snaps-adapter'
import { getConfig } from 'config'
import { useEffect, useState } from 'react'
import { KeyManager } from 'context/WalletProvider/KeyManager'
import { getLocalWalletType } from 'context/WalletProvider/local-wallet'
import { useModal } from 'hooks/useModal/useModal'
import { store } from 'state/store'

export const useIsSnapInstalled = (): null | boolean => {
const [isSnapInstalled, setIsSnapInstalled] = useState<null | boolean>(null)
const POLL_INTERVAL = 3000 // tune me to make this "feel" right

const snaps = useModal('snaps')

useEffect(() => {
;(async () => {
const showSnapsModal = store.getState().preferences.showSnapsModal
if (!showSnapsModal) return

const localWalletType = getLocalWalletType()
if (localWalletType !== KeyManager.MetaMask) return

const isSnapsEnabled = getConfig().REACT_APP_EXPERIMENTAL_MM_SNAPPY_FINGERS
if (!isSnapsEnabled) return

// TODO(gomes): When snaps are released in prod MM build, we shouldn't check for Flask anymore
const isMetamaskFlask = await metaMaskFlaskSupported()
if (!isMetamaskFlask) return

if (snaps.isOpen) return

snaps.open({})
})()
}, [snaps, isSnapInstalled])

useEffect(() => {
const snapId = getConfig().REACT_APP_SNAP_ID

Expand Down

0 comments on commit 7c1a1c6

Please sign in to comment.