autsequi
Version:
Web3modal's provider layer abstraction for simple implementation of web3 wallet connections
37 lines (32 loc) • 953 B
text/typescript
import { IAbstractConnectorOptions } from '../../helpers';
export interface IOptions {
scope?: string[];
}
export interface ISquarelinkConnectorOptions extends IAbstractConnectorOptions {
id: string;
config?: IOptions;
}
const ConnectToSquarelink = (
Squarelink: any,
opts: ISquarelinkConnectorOptions
) => {
return new Promise(async (resolve, reject) => {
if (opts && opts.id) {
try {
const id = opts.id;
const network = opts.network || 'mainnet';
const config = opts.config;
const sqlk = new Squarelink(id, network, config);
const provider = await sqlk.getProvider();
provider.sqlk = sqlk;
await provider.enable();
return resolve(provider);
} catch (error) {
return reject(new Error('Failed to login to Squarelink'));
}
} else {
return reject(new Error('Missing Squarelink Id'));
}
});
};
export default ConnectToSquarelink;