@reown/appkit-wallet-button@1.8.23
Patch Changes
-
#5712
f2d2539Thanks @enesozturk! - Recover Coinbase Wallet from the EIP-11934100("Must call 'eth_requestAccounts' before other methods") error that could dead-end signing after a session restore.On an AppKit auto-restore, the Coinbase Wallet SDK provider keeps its accounts but drops its internal authorization — unlike wagmi's own
reconnect, AppKit's restore readseth_accountswithout re-issuingeth_requestAccounts. Consumers that call.request()directly on the provider (rather than through wagmi's hooks) then failed the first signing RPC with4100.The provider registration seam (
syncProvider) now wraps Coinbase eip155 providers — keyed on the connectorid, which is stable across the wagmi, ethers, and ethers5 adapters (the provider "type" is remapped to'EXTERNAL'on most paths, so it can't be used to detect Coinbase). A4100then triggers a one-shot recovery: a singleeth_requestAccountsre-authorization, an active-chain re-assert before aneth_sendTransactionretry (so the transaction can't broadcast on the wrong network after the handshake resets the SDK's chain), then exactly one retry. Non-4100errors, rejected re-auth prompts, and non-Coinbase providers are unaffected. The wrapper is cached per provider instance so consumers keep a stable reference. -
#5665
e5ee43cThanks @Khizr97! - FixcoinbasePreferenceoption being ignored —'all'and'eoaOnly'now correctly use thecoinbaseWalletconnector (with QR code support) instead of always usingbaseAccount.'smartWalletOnly'usesbaseAccount. Regression introduced in PR #5269. -
#5663
da65c78Thanks @Khizr97! - fix(ethers,ethers5): resolve walletProvider after account switch in modaluseAppKitProviderreturned a stale provider when switching accounts inside the
modal. In the early-return path ofconnect(),connector.providerwas never
initialised, causing the base-client'saccountChangedhandler to skip
syncProvider(). The provider is now resolved fromethersProvidersbefore the
event is emitted. -
#5706
ccf0dcbThanks @ignaciosantise! - fix: persist the universal-link base as the WalletConnect deeplink choice whenexperimental_preferUniversalLinksis enabled, so session-request re-opens (handled by universal-provider) use the wallet's universal link instead of falling back to its native custom scheme -
Updated dependencies [
f2d2539,e5ee43c,da65c78,ccf0dcb]:- @reown/appkit-utils@1.8.23
- @reown/appkit-common@1.8.23
- @reown/appkit-ui@1.8.23
- @reown/appkit-controllers@1.8.23