UNPKG

@mojito-inc/connect-wallet

Version:

Connecting wallet via metamask, wallet connect, email

35 lines (32 loc) 2.33 kB
import * as React from 'react'; import { useMemo } from 'react'; import { ThemeProvider } from '@mui/material/styles'; import { CoreServiceProvider } from '@mojito-inc/core-service'; import AuthenticationProvider from './AuthenticationProvider.js'; import { NetworkProvider } from './NetworkProvider.js'; import { WalletDetailsProvider } from './ConnectedWalletDetailsProvider.js'; import { WalletProvider } from './WalletProvider.js'; import { StorageService } from '../utils/storageService.utils.js'; import { WalletTypeProvider } from './WalletTypeProvider.js'; import WalletsProvider from './WalletsProvider.js'; const ConnectWalletProvider = ({ children, theme, clientOptions, metaData, walletType = 'ethereum', magicProjectId, solanaWalletEnv, walletConnectProjectId, activeChain, clientId, customRPCUrl, onAuthenticated, }) => { const token = useMemo(() => { const tokenType = StorageService.authTokenType.getValue(); if (clientOptions === null || clientOptions === void 0 ? void 0 : clientOptions.token) { if (tokenType === null || tokenType === void 0 ? void 0 : tokenType.includes('Token')) { return `Token ${clientOptions.token}`; } return `Bearer ${clientOptions.token}`; } return clientOptions.token; }, [clientOptions === null || clientOptions === void 0 ? void 0 : clientOptions.token]); return (React.createElement(WalletTypeProvider, { walletType: walletType }, React.createElement(ThemeProvider, { theme: theme }, React.createElement(CoreServiceProvider, { uri: clientOptions.uri, token: token }, React.createElement(AuthenticationProvider, { onAuthenticated: onAuthenticated }, React.createElement(WalletsProvider, { activeChain: activeChain, clientId: clientId, magicProjectId: magicProjectId, metaData: metaData, solanaWalletEnv: solanaWalletEnv, customRPCUrl: customRPCUrl, walletConnectProjectId: walletConnectProjectId, walletType: walletType }, React.createElement(NetworkProvider, null, React.createElement(WalletDetailsProvider, null, React.createElement(WalletProvider, null, children))))))))); }; export { ConnectWalletProvider as default };