Injected
The InjectedConnector
supports wallets that inject an Ethereum Provider into the browser or window. The MetaMask browser extension is the most popular example of this.
import { InjectedConnector } from 'wagmi/connectors/injected'
Usage
import { InjectedConnector } from 'wagmi/connectors/injected'
const connector = new InjectedConnector()
Injected wallets can set up custom name mappings in wagmi. You can see the full list and add to it here. By default, "Injected" is the name for unmapped wallets.
Configuration
chains (optional)
Chains supported by app. Defaults to defaultChains
.
import { mainnet, optimism } from 'wagmi/chains'
import { InjectedConnector } from 'wagmi/connectors/injected'
const connector = new InjectedConnector({
chains: [mainnet, optimism],
})
Note: The above example is using chains from wagmi/chains
entrypoint.
options (optional)
Options for configuring the connector.
import { InjectedConnector } from 'wagmi/connectors/injected'
const connector = new InjectedConnector({
options: {
shimDisconnect: true,
},
})
getProvider
Function for selecting the EIP-1193 Ethereum Provider to target. Defaults to () => typeof window !== 'undefined' ? window.ethereum : undefined
.
import { InjectedConnector } from 'wagmi/connectors/injected'
const connector = new InjectedConnector({
options: {
name: 'My Injected Wallet',
getProvider: () =>
typeof window !== 'undefined' ? window.myInjectedWallet : undefined,
},
})
name
Name of connector instead of trying to detect from browser.
import { InjectedConnector } from 'wagmi/connectors/injected'
const connector = new InjectedConnector({
options: {
name: 'Injected',
},
})
name
can also be set to a function, which has the detectedName
as the first parameter. detectedName
can be a list of multiple detected names if there are multiple injected wallets detected.
import { InjectedConnector } from 'wagmi/connectors/injected'
const connector = new InjectedConnector({
options: {
name: (detectedName) =>
`Injected (${
typeof detectedName === 'string'
? detectedName
: detectedName.join(', ')
})`,
},
})
shimChainChangedDisconnect
Certain versions of MetaMask emit the "disconnect"
event when chain is changed. This flag prevents the "disconnect"
event from being emitted upon switching chains. Defaults to false
.
import { InjectedConnector } from 'wagmi/connectors/injected'
const connector = new InjectedConnector({
options: {
shimChainChangedDisconnect: true,
},
})
shimDisconnect
MetaMask and other injected providers do not support programmatic disconnect. This flag simulates the disconnect behavior by keeping track of connection status in storage. Defaults to true
.
import { InjectedConnector } from 'wagmi/connectors/injected'
const connector = new InjectedConnector({
options: {
shimDisconnect: false,
},
})