internal/external_wallet library

Classes

ExternalWalletAccount
Connected account and display metadata. Providers must normalize EVM addresses to EIP-55 checksum form for SIWE.
ExternalWalletActionRequest
Notifies the host to show a prompt or open the external wallet. Does not support cancellation.
ExternalWalletClient
Connects to a wallet the user already has (MetaMask, ...) instead of an embedded WaaS wallet. Signs through WalletSigner, same as WaaS. Implemented by ExternalWalletClientImpl; hosts can substitute this interface in tests.
ExternalWalletClientImpl
Connects to a wallet the user already has (MetaMask, ...) instead of an embedded WaaS wallet. Signs through WalletSigner, same as WaaS. Instances share the root client's state. NOTE: not yet thread-safe.
ExternalWalletConnectionHandle
Connection handle. A null URI means nothing needs to be shown; awaiting connection is still required.
ExternalWalletExtension
Registers ExternalWalletClientImpl on the root client. Access it through client.externalWallet.
ExternalWalletOption
Registry wallet key with display and launch metadata, not live connection state.
ExternalWalletState
ExternalWallet-owned session state (see ClientState for the shared core equivalent).
WalletBook
The registry document as fetched. wallets and groups are keyed by registry id — the ids ARE data, which is why they are maps and not lists — and priority is the order the registry wants the best-known wallets shown in.
WalletBookBrand
A wallet's or group's presentation: the sprite fragment and the brand color.
The wallet's desktop presence — per-browser extension ids plus a web app link. Read only to answer 'does this wallet exist anywhere but inside a page'.
WalletBookEntry
One wallet in the registry document, keyed in the document by its registry id.
WalletBookGroup
A family of wallet entries shown under one name (MetaMask, Coinbase, ...). The group is what a user recognises; an entry is one of its several builds.
WalletBookGroupedEntry
Filtered wallet-book entry with its ID and resolved group, used while building picker options.
WalletBookInjectedConfig
How the wallet announces itself inside a web page (a browser extension). Read for its chain alone: it is the most specific statement the registry makes about which chain family a wallet belongs to.
The wallet's mobile links and store ids.
WalletBookWalletConnect
The wallet's WalletConnect support. sdks names the protocols it speaks; a wallet without 'sign_v2' cannot be reached over the relay at all, and the whole entry is null for a wallet with no WalletConnect support (Phantom).

Extensions

DynamicClientExternalWallet on DynamicClient
Convenience accessor: fetches the installed ExternalWalletClientImpl. Throws a clear error instead of a raw getExtension
ExternalWalletBuilder on DynamicClient
Installs ExternalWallet and returns the client for chaining.