useDynamicContext

Dynamic's React Context which is set via DynamicContextProvider

MethodDescription
accountSwitchState: AccountSwitchStateThis enum type specifies the current state of switching or linking wallets in a multi-wallet enabled environment. This can be idle, linking_new_wallet, switching_primary, primary_not_connected
authMode: AuthModeTypeThis enum type specifies whether the SDK’s users will need to sign to authenticate and prove ownership of their account, or just connect is enough. This can be connect-only or connect-and-sign
authToken: getAuthToken()JSON web token (JWT) stored if the user is authenticated. This is the authenticated user’s token. See: backend verification.
awaitingSignatureState: AwaitingSignatureStateThis enum type specifies the current state while waiting for a signature of a new wallet to link in a multi-wallet enabled environment. This can be idle, linking_new_wallet, transferring_wallet
connectedWallets: Wallet[]This contains a concatenated list of wallets between primaryWallet and secondaryWallets that are in a connected state.
handleLogOut: () => PromiseA helper-method to log-out the currently authenticated user account.
handleUnlinkWallet(walletId: string): PromiseHelper function to unlink a wallet given a wallet ID from the user account.
isAuthenticated: booleanReturns true when the user has been authenticated and has a JWT and valid user object.
loadingNetwork: booleanReturns true when the SDK is looking for the network of the primary wallet’s wallet connector.
multiWalletWidgetState: MultiWalletWidgetStateThis enum type specifies the current state of the widget in a multi-wallet enabled environment. This can be idle, awaiting_account_switch, awaiting_connection, awaiting_signature, detected_known_secondary_wallet, detected_new_wallet
network: number | undefinedThis represents the current network selected for the primary wallet
networkConfigurations: NetworkConfigurationMap | undefinedThis contains the current network configurations for various EVM and Solana chains. These information includes chain ID, RPC URLs, and other important information.
primaryWallet: Wallet | nullAn instance of a Wallet that represents the most recent connected Wallet.
qrcodeUri: stringURI for the QR code to scan in the current modal.
rpcProviders: DynamicRPCProvidersList of RPC providers and their settings to communicate with web3 services. Default values for these come from the SDK settings API endpoint.
secondaryWallets: Wallet[]List of other authenticated wallets linked to the user account that are not primary wallets.
setMultiWalletWidgetState: MultiWalletWidgetStateSetterIt controls the intended state for a multi-wallet enabled environment.
setNetwork: Dispatch<SetStateAction<number | undefined>>It controls the current selected network. For example, this can be used to switch from Ethereum Mainnet network to Polygon network for EVM.
setPrimaryWallet: (walletId: string) => voidIn a multi-wallet environment, this function can be used to indicate that a wallet, given the wallet ID, should be considered the primary wallet.
setShowAuthFlow: Dispatch<SetStateAction>It controls whether or not to display the DynamicAuthFlow SDK component.
setShowQrcodeModal: Dispatch<SetStateAction>It controls whether or not to display a QR code modal.
showAuthFlow: booleanThe value set by setShowAuthFlow, it controls whether or not to display the DynamicAuthFlow SDK component.
showQrcodeModal: booleanValue set by setShowQrcodeModal, it controls whether or not to display a QR code modal.
walletConnector: WalletConnector | nullAn instance of a WalletConnector that represents the most recent connected Wallet.
wallets: WalletOption[]List of all available wallet options the environment’s SDK users can select.