Spaces:
Running
Running
File size: 847 Bytes
f19c267 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import WalletConnect from '@walletconnect/client';
import QRCodeModal from '@walletconnect/qrcode-modal';
let connector: WalletConnect | null = null;
export function createConnector() {
if (!connector) {
connector = new WalletConnect({
bridge: 'https://bridge.walletconnect.org'
});
}
return connector;
}
export async function connect() {
const c = createConnector();
if (!c.connected) {
await c.createSession();
QRCodeModal.open(c.uri, () => {});
}
return new Promise((resolve, reject) => {
c.on('connect', (error: any, payload: any) => {
if (error) return reject(error);
QRCodeModal.close();
const { accounts, chainId } = payload.params[0];
resolve({ accounts, chainId });
});
c.on('disconnect', (err: any) => {
console.log('Disconnected', err);
});
});
}
|