let createWalletEvents = () => ({ events: {}, emit (event, ...args) { for (let i of this.events[event] || []) { i(...args) } }, on (event, cb) { ;(this.events[event] = this.events[event] || []).push(cb) return () => (this.events[event] = this.events[event].filter(i => i !== cb)) }, listen(event, cb) { ;(this.events[event] = this.events[event] || []).push(cb) return () => (this.events[event] = this.events[event].filter(i => i !== cb)) } }) export { createWalletEvents } export const WALLET_CHAIN_CHANGE = 'wallet_chain_change' export const WALLET_ACCOUNT_CHANGE = 'wallet_account_change' export const WALLET_TOKEN_TYPE_CHANGE = 'wallet_token_type_change'