If you have multi-wallet enabled, your users might have multiple wallets connected at once.
Read here to learn more about multi-wallet.
You can use our wallets
module to get access to all your user’s wallets and perform actions with them:
import { dynamicClient } from '<path to client file>';
import { useReactiveClient } from '@dynamic-labs/react-hooks';
const UserWallets: FC = () => {
const { wallets } = useReactiveClient(dynamicClient)
return (
<View>
{wallets.userWallets.map((wallet) => (
<Text key={wallet.id}>{wallet.address}</Text>
))}
</View>
)
}
Working your Primary Wallet
You can access the primary wallet via client.wallets.primary
as well as set it with client.wallets.setPrimary
.
This example sets the first user wallet as the primary wallet on click:
import { dynamicClient } from '<path to client file>';
import { useReactiveClient } from '@dynamic-labs/react-hooks';
const SetFirstWallet: FC = () => {
const { wallets } = useReactiveClient(dynamicClient)
return (
<View>
<Text>Current primary wallet address: {wallets.primary.address}</Text>
<TouchableOpacity
onPress={() =>
wallets.setPrimary({ walletId: wallets.userWallets[0].id })
}
>
Set wallet
</TouchableOpacity>
</View>
)
}
The wallets module also provides a collection of useful methods to perform actions with your users’ wallets.
You can read more about the module here.