var 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)); }, once(event, cb) { var callback = (...args) => { this.events[event] = this.events[event].filter((i) => i !== callback); cb(...args); }; (this.events[event] = this.events[event] || []).push(callback); }, listen(event, cb) { (this.events[event] = this.events[event] || []).push(cb); return () => (this.events[event] = this.events[event].filter((i) => i !== cb)); }, remove(event, cb) { 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";