Skip to content

[bug] Bitcoin useAppKitAccount values do not change on provider's account change #4064

Closed as not planned
@dimisus

Description

@dimisus

Link to minimal reproducible example

https://stackblitz.com/edit/github-r4vuagsg?file=src%2FApp.tsx

Summary

XVerse wallet:

//// connect to XVerse wallet

const { address, allAccounts, isConnected } = useAppKitAccount({ namespace: ChainNamespace.bip122 });

useEffect(() => {
  console.log(address);  // ✔️ shows connected address
  console.log(allAccounts); // ✔️ shows all connected addresses
  void walletProvider?.getAccountAddresses().then((a) => {
    console.log({ a }); // ✔️ shows all connected address
  });
}, [address, allAccounts]);

///// Go to XVerse extensions, change from account1 to account2

useEffect(() => {
  console.log(address);  // ✔️ shows new connected address
  console.log(allAccounts); // 𝗫 shows OLD addresses for the connected provider = state not updated
  void walletProvider?.getAccountAddresses().then((a) => {
    console.log({ a }); // ✔️ shows NEW addresses
  });
}, [address, allAccounts]);

Phantom wallet:

//// connect to Phantom wallet

const { address, allAccounts, isConnected } = useAppKitAccount({ namespace: ChainNamespace.bip122 });
const { walletProvider } = useAppKitProvider<BitcoinConnector>(namespace);

useEffect(() => {
  console.log(address);  // ✔️ shows connected address
  console.log(allAccounts); // ✔️ shows all connected addresses
  void walletProvider?.getAccountAddresses().then((a) => {
    console.log({ a }); // ✔️ shows all connected addresses
  });
}, [address, allAccounts]);

///// Go to Phantom extensions, change from account1 to account2

useEffect(() => { // actually, not triggered at all
  console.log(address);  // 𝗫 shows OLD addresses
  console.log(allAccounts); // 𝗫 shows OLD addresseses
  void walletProvider?.getAccountAddresses().then((a) => {
    console.log({ a }); // 𝗫 shows OLD addresses
  });
}, [address, allAccounts]);

// Page reload resolves

List of related npm package versions

"@reown/appkit": "^1.7.0",
"@reown/appkit-adapter-bitcoin": "^1.7.0",
"@reown/appkit-adapter-wagmi": "^1.7.0",

Node.js Version

22.8.0

Package Manager

yarn 3.7.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions