Wallet
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}`)
})
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()
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()
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()
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);
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);