Web3Auth PnP Web v7: What's New

Hello Web3Auth Developers,

We are excited to bring to you the release of Web3Auth v7. This new version is packed with essential updates, enhancements, and some pivotal changes to further ease your development process. Before diving into the new features, please be aware that there are breaking changes, and it’s crucial to refer to the migration guide for a smooth transition.
Web Modal v6 to v7 migration guide
Web No Modal v6 to v7 migration guide

What’s New in Web3Auth v7?

  • IProvider Compatibility: web3auth.connect() and web3auth.connectTo() now return a provider of type IProvider which is a hard-coded provider, ensuring compatibility with the latest version of web3.js. Previously, we had been using a proxy provider i.e. SafeEventEmitterProvider which gave errors with the breaking changes that came with web3.js v4. Remember, you can import the type IProvider from the @web3auth/base package.

  • OpenLoginAdapter Changes:

    • Naming Convention: To improve clarity and consistency, name and url have been changed to appName and appUrl respectively in adapterSettings.
    • Dark Mode Toggle: Introducing the mode parameter for toggling between light and dark modes, replacing the old boolean dark parameter. You can set mode to either auto, light, or dark.
    const openloginAdapter = new OpenloginAdapter({
        adapterSettings: {
          whiteLabel: {
            appName: "W3A Heroes",
            appUrl: "https://web3auth.io",
            logoLight: "https://web3auth.io/images/w3a-L-Favicon-1.svg",
            logoDark: "https://web3auth.io/images/w3a-D-Favicon-1.svg",
            defaultLanguage: "en", 
            mode: "auto", 
            theme: {
              primary: "#768729",
            },
            useLogoLoader: true,
          },
        },
        privateKeyProvider,
    });
    
  • WalletConnect v2 Adapter Updates:

    • With the deprecation of @wallet-connect/qr-code-modal, the wallet-connect-v2-adapter now necessitates @walletconnect/modal.
    import { WalletConnectModal } from "@walletconnect/modal";
    import { getWalletConnectV2Settings, WalletConnectV2Adapter } from "@web3auth/wallet-connect-v2-adapter";
    
    const defaultWcSettings = await getWalletConnectV2Settings("eip155", [1], "04309ed1007e77d1f119b85205bb779d");
    const walletConnectModal = new WalletConnectModal({ projectId: "04309ed1007e77d1f119b85205bb779d" });
    const walletConnectV2Adapter = new WalletConnectV2Adapter({
      adapterSettings: { qrcodeModal: walletConnectModal, ...defaultWcSettings.adapterSettings },
      loginSettings: { ...defaultWcSettings.loginSettings },
    });
    
  • Changes to Solana & XRPL Providers:

    • For developers utilizing Solana, you’ll notice the request typings now require both input and output, where you would use string[] when an input placeholder is essential.
    • With the change in @web3auth/xrpl-provider to v7, the request typings necessitate both input and output. Use never as a placeholder when input or output isn’t required.
  • Ongoing Support: Just as with every release, our primary focus is on developer experience and support. We continually strive to rectify any discrepancies and improve the SDK for seamless integration.

We can’t wait to see the incredible projects you’ll craft with Web3Auth v7. As always, your feedback is invaluable to us, and we urge you to share any comments, concerns, or suggestions.

Happy Coding! :rocket: