use burner wallet for localnet
This commit is contained in:
@@ -5,6 +5,7 @@ import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react
|
|||||||
import { WalletAdapterNetwork, type WalletError } from '@solana/wallet-adapter-base'
|
import { WalletAdapterNetwork, type WalletError } from '@solana/wallet-adapter-base'
|
||||||
import { WalletModalProvider } from '@solana/wallet-adapter-react-ui'
|
import { WalletModalProvider } from '@solana/wallet-adapter-react-ui'
|
||||||
import { clusterApiUrl } from '@solana/web3.js'
|
import { clusterApiUrl } from '@solana/web3.js'
|
||||||
|
import { UnsafeBurnerWalletAdapter } from '@solana/wallet-adapter-wallets'
|
||||||
|
|
||||||
export type Network = 'devnet' | 'localnet'
|
export type Network = 'devnet' | 'localnet'
|
||||||
|
|
||||||
@@ -29,6 +30,12 @@ export function WalletProviders({ children }: { children: React.ReactNode }) {
|
|||||||
[network],
|
[network],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const wallets = useMemo(
|
||||||
|
() => network as string === 'localnet' ? [new UnsafeBurnerWalletAdapter()] : [],
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
|
[network]
|
||||||
|
);
|
||||||
|
|
||||||
const onError = useCallback((error: WalletError) => {
|
const onError = useCallback((error: WalletError) => {
|
||||||
console.warn('[wallet]', error.name, error.message, error.error)
|
console.warn('[wallet]', error.name, error.message, error.error)
|
||||||
}, [])
|
}, [])
|
||||||
@@ -36,8 +43,10 @@ export function WalletProviders({ children }: { children: React.ReactNode }) {
|
|||||||
return (
|
return (
|
||||||
<NetworkContext.Provider value={{ network, setNetwork }}>
|
<NetworkContext.Provider value={{ network, setNetwork }}>
|
||||||
<ConnectionProvider endpoint={endpoint}>
|
<ConnectionProvider endpoint={endpoint}>
|
||||||
<WalletProvider wallets={[]} autoConnect onError={onError}>
|
<WalletProvider wallets={wallets} autoConnect onError={onError}>
|
||||||
<WalletModalProvider>{children}</WalletModalProvider>
|
<WalletModalProvider>
|
||||||
|
{children}
|
||||||
|
</WalletModalProvider>
|
||||||
</WalletProvider>
|
</WalletProvider>
|
||||||
</ConnectionProvider>
|
</ConnectionProvider>
|
||||||
</NetworkContext.Provider>
|
</NetworkContext.Provider>
|
||||||
|
|||||||
Reference in New Issue
Block a user