@totle/web3connect
Version:
A single Web3 / Ethereum provider solution for all Wallets
44 lines (38 loc) • 985 B
text/typescript
export interface INetwork {
nodeUrl: string;
chainId?: string;
}
export interface IOptions {
scope?: string[];
}
export interface IWalletLinkConnectorOptions {
infuraId: string;
appName: string
appLogoUrl: string
config?: IOptions;
}
const ConnectToWalletLink = (
WalletLink: any,
opts: IWalletLinkConnectorOptions
) => {
return new Promise(async (resolve, reject) => {
if (opts && opts.infuraId) {
try {
const wltlnk = new WalletLink({
appName: opts.appName,
appLogoUrl: opts.appLogoUrl
})
const provider = wltlnk.makeWeb3Provider(
`https://mainnet.infura.io/v3/${opts.infuraId}`, 1
)
await provider.enable();
return resolve(provider);
} catch (error) {
return reject(new Error("Failed to login to WalletLink"));
}
} else {
return reject(new Error("Missing WalletLink Infura Id"));
}
});
};
export default ConnectToWalletLink;