Utilities
createWalletClientFromWallet
Summary
The createWalletClientFromWallet
utility function will take any Wallet from the Dynamic context and return a Viem WalletClient with the Account and Chain set.
This is useful if you want to interact with a particular wallet via viem or for other 3rd party packages that require a WalletClient from viem.
Example:
Signing message via viem with the primary wallet
import { useDynamicContext } from '@dynamic-labs/sdk-react-core'
import { createWalletClientFromWallet } from '@dynamic-labs/viem-utils'
const App = () => {
const { primaryWallet } = useDynamicContext()
const signMessage = async () => {
if (!primaryWallet) return
const walletClient = await createWalletClientFromWallet(primaryWallet)
// No account is required by viem here, because the account is already setup.
const signedMessage = await walletClient.signMessage({
message: 'example message',
})
console.log({ signedMessage })
}
return <button onClick={() => signMessage()}>Sign message</button>
}
From the wallet client returned by the createWalletClientFromWallet
, you can use it with other 3rd party packages that are viem compatible to interact with your primary wallet.
Was this page helpful?