@gnosis.pm/dapp-ui
Version:
Web3 provider setup functions built with Typescript and love. From Gnosis.
58 lines • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.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 {
[exports.MetamaskSubscriptionsSymbol]: true,
onAccountsChanged,
onNetworkChanged,
onData,
onError,
};
};
exports.default = createMetamaskSubscriptions;
//# sourceMappingURL=metamask.js.map