web3-wallets-kit
Version:
Package for connecting with Ethereum wallets for dApp
144 lines • 6.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var bitski_1 = require("bitski");
var fortmatic_1 = tslib_1.__importDefault(require("fortmatic"));
var web3_provider_1 = tslib_1.__importDefault(require("@walletconnect/web3-provider"));
exports.resolvers = {
'wallet-connect': {
initialize: function (config) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var provider;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
provider = new web3_provider_1.default(config);
return [4 /*yield*/, provider.enable()];
case 1:
_a.sent();
return [2 /*return*/, {
wallet: 'wallet-connect',
provider: provider,
payload: provider,
}];
}
});
});
},
destroy: function (_a) {
var provider = _a.payload;
return tslib_1.__awaiter(this, void 0, void 0, function () {
var walletConnector;
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0: return [4 /*yield*/, provider.getWalletConnector()];
case 1:
walletConnector = _b.sent();
return [4 /*yield*/, walletConnector.killSession()];
case 2:
_b.sent();
return [4 /*yield*/, provider.stop()];
case 3:
_b.sent();
return [2 /*return*/];
}
});
});
},
},
metamask: {
initialize: function () {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var provider;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
if (typeof window.ethereum !== 'undefined') {
provider = window.ethereum;
}
else if (typeof window.web3 !== 'undefined') {
provider = window.web3.currentProvider;
}
else {
throw new Error('No web3 provider found! Please install Metamask or use TrustWallet on mobile device.');
}
if (!provider.enable) return [3 /*break*/, 2];
return [4 /*yield*/, provider.enable()];
case 1:
_a.sent();
_a.label = 2;
case 2: return [2 /*return*/, {
wallet: 'metamask',
provider: provider,
}];
}
});
});
},
destroy: function () { },
},
fortmatic: {
initialize: function (_a) {
var apiKey = _a.apiKey, network = _a.network;
return tslib_1.__awaiter(this, void 0, void 0, function () {
var fm, provider;
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0:
fm = new fortmatic_1.default(apiKey, network);
provider = fm.getProvider();
return [4 /*yield*/, provider.enable()];
case 1:
_b.sent();
return [2 /*return*/, {
wallet: 'fortmatic',
provider: provider,
payload: fm,
}];
}
});
});
},
destroy: function (_a) {
var fm = _a.payload;
fm.user.logout();
},
},
bitski: {
initialize: function (_a) {
var clientId = _a.clientId, redirectUri = _a.redirectUri, additionalScopes = _a.additionalScopes, options = _a.options;
return tslib_1.__awaiter(this, void 0, void 0, function () {
var bitski, provider;
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0:
bitski = new bitski_1.Bitski(clientId, redirectUri, additionalScopes, options);
provider = bitski.getProvider();
return [4 /*yield*/, bitski.signIn()];
case 1:
_b.sent();
return [2 /*return*/, {
wallet: 'bitski',
provider: provider,
payload: bitski,
}];
}
});
});
},
destroy: function (_a) {
var bitski = _a.payload;
return tslib_1.__awaiter(this, void 0, void 0, function () {
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0: return [4 /*yield*/, bitski.signOut()];
case 1:
_b.sent();
return [2 /*return*/];
}
});
});
},
},
};
//# sourceMappingURL=resolvers.js.map