useSolanaWallet
A React hook that mirrors the behavior and return type of
useWallet
from @solana/wallet-adapter-react
, but safely degrades when
Solana is not enabled for your application.
Context:
- This repository is an external SDK that supports multiple chains. To avoid
forcing Solana dependencies on apps that do not use Solana, the Solana
wallet context is only considered “active” if Solana has been initialized
in the
AlchemyAccountProvider
configuration. - If Solana is not initialized, this hook returns a stable, frozen
EMPTY_WALLET_CONTEXT_STATE
instead of reading fromWalletContext
. This prevents runtime errors when the Solana provider is not present and keeps type-safe parity withuseWallet
consumers.
Behavior:
- When Solana is configured (i.e. adapters are provided or set to “detect”),
this hook returns the live
WalletContext
from@solana/wallet-adapter-react
. - Otherwise, it returns
EMPTY_WALLET_CONTEXT_STATE
where actions such assignMessage
,sendTransaction
, etc., will reject with “Solana wallet not available”.
Import
Usage
Returns
WalletContextState
The Solana wallet context when enabled; a
frozen, safe no-op context when Solana is not configured.