@totle/web3connect
Version:
A single Web3 / Ethereum provider solution for all Wallets
43 lines (37 loc) • 980 B
text/typescript
export interface INetwork {
nodeUrl: string;
chainId?: string;
gasRelayHubAddress?: string;
}
export type Scope = "email";
export interface IOptions {
scope?: Scope[];
gasRelay?: boolean;
registerPageByDefault?: boolean;
pocketDevId?: string;
}
export interface IPortisConnectorOptions {
id: string;
network?: string | INetwork;
config?: IOptions;
}
const ConnectToPortis = (Portis: any, opts: IPortisConnectorOptions) => {
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 pt = new Portis(id, network, config);
await pt.provider.enable();
pt.provider._portis = pt;
resolve(pt.provider);
} catch (error) {
return reject(error);
}
} else {
return reject(new Error("Missing Portis Id"));
}
});
};
export default ConnectToPortis;