@gnosis.pm/dapp-ui
Version:
Web3 provider setup functions built with Typescript and love. From Gnosis.
25 lines • 999 B
JavaScript
import Web3Connect from 'web3connect';
const getProvider = walletConnectInits => {
const web3Connect = new Web3Connect.Core({
providerOptions: {
// in truth it's optional, but required in the interface
walletconnect: walletConnectInits,
},
});
let unsubFuncs;
const providerPromise = new Promise((resolve, reject) => {
unsubFuncs = [
// provider connected, resolve(provider)
web3Connect.on('connect', resolve),
// modal closed, resolve(null)
web3Connect.on('close', () => resolve(null)),
// error during connection or modal opening, reject(error)
web3Connect.on('error', reject),
];
// futureproof for when .on returns an unsubbing function
}).finally(() => unsubFuncs.forEach(unsub => unsub && unsub()));
web3Connect.toggleModal(); // open modal
return providerPromise;
};
export default getProvider;
//# sourceMappingURL=index.js.map