Summary
The useWalletOptions hook allows you to start the process of connecting to a specific wallet. It provides a function to select a wallet by wallet key. Once this function is called, the connection process begins with the caveat that:- If you pass in a
walletKey
that supports multiple chains, such asmagiceden
, a user will first be asked to select which chain they want to connect with. Once a chain is selected, then the user will be prompted to connect. - If you pass in a
walletKey
that includes a chain, such asmagicedenbtc
, then the user will skip to the connection step. - If a wallet does not support multiple chains, such as
xverse
, then the user will simply go to the connection step.
Usage
Available propsProp | Type | Description |
---|---|---|
selectWalletOption | (walletKey: string, selectGroupIfAvailable?: boolean) => Promise<void> | Function to select a specific wallet to connect with. If the key is also a group key (e.g. ‘metamask’, ‘phantom’, etc), it will go to the chain selection view if the selected wallet supports multiple chains. If you want to skip the chain selection view, you can pass in false as the second parameter and it will try to connect with the wallet that has the specified key, without showing the chain selection view. |
walletOptions | Array<WalletItem> | List of available wallet options with their keys, names and group (if defined) |
getFilteredWalletOptions | (filter: (options: WalletOption[]) => WalletOption[]) => Array<WalletItem> | Allows filtering through the wallet options that will generate the wallet items. It can be used the same way as walletsFilter — see here |
Examples
Example 1: Harcoded options with chain selection viewHook Details
Function: selectWalletOption The selectWalletOption function select a wallet to connect with. It takes awalletKey
argument, which is the key of the wallet to connect with, and an optional selectGroupIfAvailable
argument, which is a boolean that defaults to true
.
If the walletKey
is also a group key (e.g. ‘metamask’, ‘phantom’, etc), it will go to the chain selection view if the selected wallet supports more than one of the chains that you have enabled for your app. If you want to skip the chain selection view, you can pass selectGroupIfAvailable = false
as the second parameter and it will try to connect with the wallet that has the specified key, without showing the chain selection view.
You can dynamically find the available wallet keys in walletOptions
.