@gnosis.pm/dapp-ui
Version:
Web3 provider setup functions built with Typescript and love. From Gnosis.
28 lines • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const web3connect_1 = tslib_1.__importDefault(require("web3connect"));
const getProvider = walletConnectInits => {
const web3Connect = new web3connect_1.default.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;
};
exports.default = getProvider;
//# sourceMappingURL=index.js.map