@gnosis.pm/dapp-ui
Version:
Web3 provider setup functions built with Typescript and love. From Gnosis.
56 lines • 1.43 kB
JavaScript
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