PnP No Modal SDK - v6 to v7
General
web3auth.connectTo()
now returns a provider of type IProvider
The new provider object now works with the latest version of web3.js
.
With V7, the connectTo()
method now returns 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.
// With V7
connectTo<T>(walletName: WALLET_ADAPTER_TYPE, loginParams?: T): Promise<IProvider | null>;
OpenLoginAdapter
Change in the naming of some whitelabel parameters for OpenLoginAdapter
name
and url
are now appName
and appUrl
, respectively.
In adapterSettings
, the whitelabel
object now accepts appName
and appUrl
instead of name
and url
, respectively. This is done to bring consistency to the naming convention.
Light and dark mode is now toggled by the mode
parameter instead of dark
.
mode
accepts a string from the following options: auto
, light
or dark
. This replaces the
dark
boolean parameter from previous versions.
const openloginAdapter = new OpenloginAdapter({
adapterSettings: {
whiteLabel: {
appName: "W3A Heroes",
appUrl: "https://web3auth.io",
logoLight: "https://web3auth.io/images/web3auth-logo.svg",
logoDark: "https://web3auth.io/images/web3auth-logo---Dark.svg",
defaultLanguage: "en", // en, de, ja, ko, zh, es, fr, pt, nl
mode: "auto", // whether to enable dark mode. defaultValue: false
theme: {
primary: "#768729",
},
useLogoLoader: true,
},
},
privateKeyProvider,
});
Other changes
Extra parameters for solana-provider
and xrpl-provider
For Solana
For Solana, SolanaWallet in package @web3auth/solana-provider
, the request typings require both
input and output now use string[]
when input placeholder is needed
// With V7
const connectionConfig = await solanaWallet.request<string[], CustomChainConfig>({
method: "solana_provider_config",
params: [],
});
const conn = new Connection(connectionConfig.rpcTarget);
For XRPL
For XRPL, after the change of @web3auth/xrpl-provider
version to v7, the request typings require
both input and output now so use never
when input or output placeholder is needed
// With V7
const txSign = await this.provider.request<{ signature: string }, never>({
method: "xrpl_signMessage",
params: {
signature: hexMsg,
},
});
const accounts = await this.provider.request<never, string[]>({
method: "xrpl_getAccounts",
});
wallet-connect-v2-adapter
requires different parameters
With the deprecation of @wallet-connect/qr-code-modal
, wallet-connect-v2-adapter
now requires @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 },
});