@mindsorg/web3modal-ts
Version:
Web3modal's provider layer abstraction for simple implementation of web3 wallet connections
56 lines • 2.29 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());
});
};
import { ProviderController, } from "..";
export class Web3WalletConnector {
constructor(configOptions) {
this.providers = [];
this.setConfiguration = (options) => {
this.providerController = new ProviderController(options);
this.clearCachedProvider();
this.providers = this.providerController.getUserOptions();
};
if (!configOptions) {
this.providerController = new ProviderController({
disableInjectedProvider: false,
cacheProvider: false,
providerOptions: {},
network: "",
});
}
else {
this.providerController = new ProviderController(configOptions);
}
this.providers = this.providerController.getUserOptions();
}
get cachedProvider() {
return this.providerController.cachedProvider;
}
checkIfCachedProviderOrSingleOption() {
return __awaiter(this, void 0, void 0, function* () {
if (this.cachedProvider) {
yield this.providerController.connectToCachedProvider();
return;
}
if (this.providers &&
this.providers.length === 1 &&
this.providers[0].name) {
yield this.providers[0].onClick();
return;
}
});
}
clearCachedProvider() {
this.providerController.clearCachedProvider();
}
setCachedProvider(id) {
this.providerController.setCachedProvider(id);
}
}
//# sourceMappingURL=service.js.map