typeWalletConnectOptions={bridge?:string// default = 'https://bridge.walletconnect.org'qrcodeModalOptions?:{mobileLinks:string[] // set the order and list of mobile linking wallets}connectFirstChainId?:boolean// if true, connects to the first network chain provided/** * Optional function to handle WalletConnect URI when it becomes available */handleUri?:(uri:string)=>Promise<unknown>}& (|{/** * Defaults to version: 1 - this behavior will be deprecated after the WalletConnect v1 sunset */version?:1}|{/** * Project ID associated with [WalletConnect account](https://cloud.walletconnect.com) */projectId:string/** * Defaults to version: 1 - this behavior will be deprecated after the WalletConnect v1 sunset */version:2/** * List of Required Chain(s) ID for wallets to support in number format (integer or hex) * Defaults to [1] - Ethereum * The chains defined within the web3-onboard config will define the * optional chains for the WalletConnect module */requiredChains?:number[] |undefined/** * `undefined` by default, see https://docs.walletconnect.com/2.0/web/walletConnectModal/options */qrModalOptions?:EthereumProviderOptions['qrModalOptions']})
import Onboard from'@web3-onboard/core'import walletConnectModule from'@web3-onboard/walletconnect'const wcV1InitOptions ={bridge:'YOUR_CUSTOM_BRIDGE_SERVER',qrcodeModalOptions:{mobileLinks: ['metamask','argent','trust']},connectFirstChainId:true}const wcV2InitOptions ={version:2,/** * Project ID associated with [WalletConnect account](https://cloud.walletconnect.com) */projectId:'abc123...',/** * Optional function to handle WalletConnect URI when it becomes available */handleUri:(uri)=> console.log(uri),/** * Chains required to be supported by all wallets connecting to your DApp */requiredChains: [1,56]}// initialize the module with options// If version isn't set it will default to V1 until V1 sunsetconst walletConnect =walletConnectModule(wcV2InitOptions || wcV1InitOptions)// can also initialize with no options...// Defaults to V1 until V1 sunset// const walletConnect = walletConnectModule()const onboard =Onboard({// ... other Onboard optionswallets: [ walletConnect//... other wallets ],chains: [ // chains that are passed as optional chains to WC wallet after cleaning and parsing as number[]{id:'0x89',token:'MATIC',label:'Polygon',rpcUrl:'https://matic-mainnet.chainstacklabs.com'}// ... ]})const connectedWallets =await onboard.connectWallet()console.log(connectedWallets)