Wallet
Wallet interface
  id: TWalletId;  onConnectRequested?: () => Promise<void>;  autoConnect: (  connect: (  disconnect: () => Promise<void>;  getChain: () =>    | undefined  switchChain: (  ) => Promise<void>;};
 Subscribe to wallet for certain events like chainChanged , accountChanged , disconnect , etc.
wallet.subscribe("chainChanged", (chain) => {  console.log("wallet is now connected to network:", chain);}); wallet.subscribe("accountChanged", (account) => {  console.log("wallet is now connected to account:", account);}); wallet.subscribe("disconnect", () => {  console.log("wallet is disconnected");});
Re-connect the wallet automatically without prompting the user for connection.
This is useful to automatically connect the wallet if it was already connected in the past to reconnect wallet when user re-visits the website after some time or refreshes the page.
function autoConnect(
let returnType: {  address: Address;  onTransactionRequested?: (  ) => Promise<void>;  sendBatchTransaction?: (    txs: Array<SendTransactionOption>,  ) => Promise<SendTransactionResult>;  sendRawTransaction?: (    tx: SendRawTransactionOptions,  ) => Promise<SendTransactionResult>;  sendTransaction: (    tx: SendTransactionOption,  ) => Promise<SendTransactionResult>;  signMessage: ({    message,  }: {    message: SignableMessage;  }) => Promise<Hex>;  signTransaction?: (tx: TransactionSerializable) => Promise<Hex>;  signTypedData: (    _typedData: TypedDataDefinition<typedData, primaryType>,  ) => Promise<Hex>;  watchAsset?: (asset: WatchAssetParams) => Promise<boolean>;};
Prompt the user to connect the wallet.
function connect(
Options to connect the wallet. Depending on the wallet id, The options can be different.
let returnType: {  address: Address;  onTransactionRequested?: (  ) => Promise<void>;  sendBatchTransaction?: (    txs: Array<SendTransactionOption>,  ) => Promise<SendTransactionResult>;  sendRawTransaction?: (    tx: SendRawTransactionOptions,  ) => Promise<SendTransactionResult>;  sendTransaction: (    tx: SendTransactionOption,  ) => Promise<SendTransactionResult>;  signMessage: ({    message,  }: {    message: SignableMessage;  }) => Promise<Hex>;  signTransaction?: (tx: TransactionSerializable) => Promise<Hex>;  signTypedData: (    _typedData: TypedDataDefinition<typedData, primaryType>,  ) => Promise<Hex>;  watchAsset?: (asset: WatchAssetParams) => Promise<boolean>;};
 Get the Account  object that the wallet is currently connected to.
If the wallet is not connected, it returns undefined .
 Refer to  Account vs Wallet  to understand the difference between Account  and Wallet  interface
const account = wallet.getAccount();
 Get the Chain  object of the network that the wallet is currently connected to.
If the wallet is not connected, it returns undefined .
const chain = wallet.getChain();
function getChain():  | undefined
 Switch the wallet to a different network by passing the Chain  object of the network
function switchChain(): Promise<void>;
 The Chain  object of the network to switch to.
 You can create a Chain  object using the defineChain  function.
At minimum, you need to pass the id  of the blockchain to defineChain  function to create a Chain  object.