This is a one-way upgrade. Once a user has upgraded to v2, they will lose access to their v1 embedded wallet.

Summary

This hook can be used to upgrade v1 embedded wallet to v2 if a user has existing v1 embedded wallet.

Prerequisites

  1. Make sure to upgrade embedded wallet settings to v2 on your dashboard.
  2. Make sure to enable automatic embedded wallet creation during sign up.
  3. (Optional) enable creating wallets for external wallet login, this ensures a seamless upgrade for users with both v1 embedded wallets and third-party wallets like MetaMask. Without this option enabled, v2 wallets will not be created for these users.

Example

Example on a custom update wallet button

import { useUpgradeEmbeddedWallet } from '@dynamic-labs/sdk-react-core';

const UpgradeEmbeddedWalletButton = () => {
  const upgradeEmbeddedWallet = useUpgradeEmbeddedWallet();

  const onUpgradeEmbeddedWalletHandler = async () => {
        try {
            await upgradeEmbeddedWallet();
            // handle success
        } catch(e) {
            // handle error
        }
    }

  return (
    <button onClick={onUpgradeEmbeddedWalletHandler} disabled={!enabled}>
      Upgrade Embedded Wallet
    </button>
  );
};