Перейти к основному содержимому

События и состояние провайдера

Слушайте события провайдера, чтобы ваше приложение оставалось синхронизированным, когда пользователь меняет аккаунт, сеть, состояние блокировки или UTXO state.

События EVM

window.ethereum.on('accountsChanged', (accounts) => {
console.log('EVM accounts', accounts);
});

window.ethereum.on('chainChanged', (chainId) => {
console.log('EVM chain', chainId);
});

window.ethereum.on('disconnect', (error) => {
console.warn('Provider disconnected', error);
});

Пользовательские события Pali

Pali также эмитит пользовательские wallet notifications, используемые провайдером расширения.

СобытиеЗначение
pali_accountsChangedПодключенный аккаунт изменился.
pali_chainChangedАктивная цепь изменилась.
pali_unlockStateChangedСостояние блокировки кошелька изменилось.
pali_isBitcoinBasedАктивное UTXO family изменилось.
pali_xpubChangedПодключенный UTXO xpub изменился.
pali_blockExplorerChangedАктивный UTXO explorer изменился.

Методы состояния провайдера

const evmState = await window.ethereum.request({
method: 'wallet_getProviderState',
});

const sysState = await window.pali.request({
method: 'wallet_getSysProviderState',
});

Provider state полезен для инициализации, но не рассматривайте его как замену явным проверкам account permission.