メインコンテンツまでスキップ

イベントとプロバイダー状態

ユーザーがアカウント、ネットワーク、ロック状態、UTXO状態を変更したときにアプリが同期を保てるよう、プロバイダーイベントをリッスンしてください。

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は、拡張機能プロバイダーで使用されるカスタムウォレット通知も発行します。

イベント意味
pali_accountsChanged接続済みアカウントが変更されました。
pali_chainChangedアクティブチェーンが変更されました。
pali_unlockStateChangedウォレットのロック状態が変更されました。
pali_isBitcoinBasedアクティブなUTXOファミリーが変更されました。
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',
});

プロバイダー状態は初期化に役立ちますが、明示的なアカウント権限チェックの代替として扱わないでください。