UNPKG

@gnosis.pm/dapp-ui

Version:

Web3 provider setup functions built with Typescript and love. From Gnosis.

56 lines 1.43 kB
export const MetamaskSubscriptionsSymbol = Symbol('MetamaskSubscriptions'); const createMetamaskSubscriptions = (provider) => { const onAccountsChanged = (cb, once) => { if (once) { provider.once('accountsChanged', cb); } else { provider.on('accountsChanged', cb); } return () => { provider.off('accountsChanged', cb); }; }; const onNetworkChanged = (cb, once) => { if (once) { provider.once('networkChanged', cb); } else { provider.on('networkChanged', cb); } return () => { provider.off('networkChanged', cb); }; }; const onData = (cb, once) => { if (once) { provider.once('data', cb); } else { provider.on('data', cb); } return () => { provider.off('data', cb); }; }; const onError = (cb, once) => { if (once) { provider.once('error', cb); } else { provider.on('error', cb); } return () => { provider.off('error', cb); }; }; return { [MetamaskSubscriptionsSymbol]: true, onAccountsChanged, onNetworkChanged, onData, onError, }; }; export default createMetamaskSubscriptions; //# sourceMappingURL=metamask.js.map