@envatic/web3modal-ts
Version:
Web3modal's provider layer abstraction for simple implementation of web3 wallet connections
42 lines • 1.89 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
const ConnectToCoinbaseWalletSdk = (CoinbaseWalletSdk, opts) => {
return new Promise((resolve, reject) => __awaiter(void 0, void 0, void 0, function* () {
const options = opts || {};
const infuraId = options.infuraId || "";
const chainId = options.chainId || 1;
const appName = options.appName || "";
const appLogoUrl = options.appLogoUrl;
const darkMode = options.darkMode || false;
let rpc = options.rpc || undefined;
if (options.infuraId && !options.rpc) {
rpc = `https://mainnet.infura.io/v3/${infuraId}`;
}
const coinbaseWalletSdk = new CoinbaseWalletSdk({
appName,
appLogoUrl,
darkMode
});
try {
const provider = coinbaseWalletSdk.makeWeb3Provider(rpc, chainId);
yield provider.send("eth_requestAccounts");
resolve(provider);
}
catch (e) {
reject(e);
}
}));
};
/**
* @deprecated WalletLink is deprecated in favor of CoinbaseWalletSdk
*/
export const walletlink = ConnectToCoinbaseWalletSdk;
export default ConnectToCoinbaseWalletSdk;
//# sourceMappingURL=coinbasewallet.js.map