UNPKG

@enjin-io/metamask-enjin-adapter

Version:
62 lines 4.62 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.enablePolkadotSnap = exports.isMetamaskSnapsSupported = exports.isPolkadotSnapInstalled = exports.hasMetaMask = void 0; require("@polkadot/types-augment"); const snap_1 = require("./snap"); const utils_1 = require("./utils"); const defaultSnapOrigin = 'npm:@enjin-io/snap'; __exportStar(require("./extension"), exports); var utils_2 = require("./utils"); Object.defineProperty(exports, "hasMetaMask", { enumerable: true, get: function () { return utils_2.hasMetaMask; } }); Object.defineProperty(exports, "isPolkadotSnapInstalled", { enumerable: true, get: function () { return utils_2.isPolkadotSnapInstalled; } }); Object.defineProperty(exports, "isMetamaskSnapsSupported", { enumerable: true, get: function () { return utils_2.isMetamaskSnapsSupported; } }); async function enablePolkadotSnap(config = { networkName: 'enjin-relaychain' }, snapOrigin, snapInstallationParams = {}) { const snapId = snapOrigin ?? defaultSnapOrigin; // check all conditions if (!(0, utils_1.hasMetaMask)()) { throw new Error('Metamask is not installed'); } if (!(await (0, utils_1.isMetamaskSnapsSupported)())) { throw new Error("Current Metamask version doesn't support snaps"); } if (!config.networkName) { config.networkName = 'enjin-relaychain'; } const isInstalled = await (0, utils_1.isPolkadotSnapInstalled)(snapId); if (!isInstalled) { const metamask = await (0, utils_1.getMetaMask)(); await metamask?.request({ method: 'wallet_requestSnaps', params: { [snapId]: { ...snapInstallationParams } } }); } // create snap describer const snap = new snap_1.MetamaskPolkadotSnap(snapOrigin || defaultSnapOrigin, config); // set initial configuration try { const snapApi = snap.getMetamaskSnapApi(); await snapApi.setConfiguration(config); } catch (err) { console.error('Failed to set configuration', err); } return snap; } exports.enablePolkadotSnap = enablePolkadotSnap; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBaUM7QUFFakMsaUNBQThDO0FBQzlDLG1DQUtpQjtBQUVqQixNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDO0FBSS9DLDhDQUE0QjtBQUM1QixpQ0FBeUY7QUFBaEYsb0dBQUEsV0FBVyxPQUFBO0FBQUUsZ0hBQUEsdUJBQXVCLE9BQUE7QUFBRSxpSEFBQSx3QkFBd0IsT0FBQTtBQUVoRSxLQUFLLFVBQVUsa0JBQWtCLENBQ3RDLFNBQXFCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLEVBQ3hELFVBQW1CLEVBQ25CLHlCQUFzRSxFQUFFO0lBRXhFLE1BQU0sTUFBTSxHQUFHLFVBQVUsSUFBSSxpQkFBaUIsQ0FBQztJQUUvQyx1QkFBdUI7SUFDdkIsSUFBSSxDQUFDLElBQUEsbUJBQVcsR0FBRSxFQUFFO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQUM5QztJQUNELElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBQSxnQ0FBd0IsR0FBRSxDQUFDLEVBQUU7UUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0tBQ25FO0lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7UUFDdkIsTUFBTSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztLQUN6QztJQUVELE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSwrQkFBdUIsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUUxRCxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2hCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxtQkFBVyxHQUFFLENBQUM7UUFDckMsTUFBTSxRQUFRLEVBQUUsT0FBTyxDQUFDO1lBQ3RCLE1BQU0sRUFBRSxxQkFBcUI7WUFDN0IsTUFBTSxFQUFFO2dCQUNOLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLHNCQUFzQixFQUFFO2FBQ3hDO1NBQ0YsQ0FBQyxDQUFDO0tBQ0o7SUFFRCx3QkFBd0I7SUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSwyQkFBb0IsQ0FBQyxVQUFVLElBQUksaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0UsNEJBQTRCO0lBRTVCLElBQUk7UUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQyxNQUFNLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN4QztJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLENBQUMsQ0FBQztLQUNuRDtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQTFDRCxnREEwQ0MifQ==