Saltar al contenido principal

Wallet

caution

Este módulo solo está disponible con el modo local en true

Este módulo interactúa y mantiene el estado de la wallet del navegador del usuario. Utiliza la configuración de chainIds

Propiedades

Obtener el estado de la wallet

La propiedad state$ es un observable que emite el estado de la wallet.

const wallet = sdk.wallet

wallet.state$.subscribe((state)=> {
console.log(`Address: ${state.account}; ChainID: ${state.chainId}`)
})
Wallet State

El estado de la wallet es un objeto que cumple la interfaz WalletState y tiene las siguientes propiedades:

interface WalletState {
account: string;
chainId: number;
}

Obtener la cuenta de la wallet

La propiedad account tiene el valor de la cuenta de la wallet conectada.

const wallet = sdk.wallet

const address = wallet.account // 0xa73a3b8ACa335855EeaC2f9Fb505BB0360A1B703

Metodos

Verificar si la wallet está conectada

El método isAuthenticated devuelve un Observable<boolean> que indica si la wallet está conectada.

const wallet = sdk.wallet

wallet.isAuthenticated().subscribe(isAuth => {
console.log(`Wallet is conected: ${isAuth}`)
})

Obtener el proveedor de la wallet

El método getProvider devuelve un Promise<Provider> que contiene la instancia de la wallet conectada.

const wallet = sdk.wallet

const provider = await wallet.getProvider()
Provider

Este método devuelve una instancia de Web3Provider de la librería ethers.js; Ver Web3Provider

Obtener el ID de la red de la wallet

El método getChainId devuelve un Promise<number> que contiene el ID de la red de la wallet conectada.

const wallet = sdk.wallet

const chainId = await wallet.getChainId(); // 80001

Obtener información de la red de la wallet

El método getChainData devuelve un Promise<ChainData> que contiene la información de la red de la wallet conectada.

const wallet = sdk.wallet

const data = await wallet.getChainData()
Chain Data

Ver más sobre la interfaz Chain en ChainData

Obtener el signer de la wallet

El método getSigner devuelve un Promise<JsonRpcSigner> que contiene el signer de la wallet conectada.

const wallet = sdk.wallet

const signer = await wallet.getSigner()
JsonRpcSigner

Este método devuelve una instancia de JsonRpcSigner de la librería ethers.js. Ver JsonRpcSigner

Conectar la wallet del navegador

El método connectToProvider devuelve un Promise<void> que conecta la wallet a una red.

const wallet = sdk.wallet

await wallet.connectToProvider(WalletProviders.Metamask);
Wallet Providers

Los proveedores de wallet disponibles son WalletProviders.Metamask y WalletProviders.Coinbase

Cambiar la red de la wallet

El método changeNetwork devuelve un Promise<void> que cambia la red de la wallet.

const wallet = sdk.wallet;

const chainId = 80001;

await wallet.changeNetwork(chainId);