UNPKG

@enjin-io/metamask-enjin-adapter

Version:
68 lines 5.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initPolkadotSnap = void 0; const index_1 = require("../index"); const utils_1 = require("../utils"); function transformAccounts(accounts, config) { return accounts.map((address, i) => ({ address, genesisHash: config?.genesisHash, name: `Enjin Snap #${i}`, type: 'ed25519' })); } function injectPolkadotSnap({ win, injectedSnapId = 'metamask-enjin-snap', config, snapOrigin, snapInstallationParams }) { win.injectedWeb3[injectedSnapId] = { enable: async () => { const snap = (await (0, index_1.enablePolkadotSnap)(config, snapOrigin, snapInstallationParams)).getMetamaskSnapApi(); const snapConfiguration = await snap.getConfiguration(); return { accounts: { get: async () => { const response = await snap.getAddress(); return transformAccounts([response], snapConfiguration); }, // Currently there is only available only one account, in that case this method will never return anything // eslint-disable-next-line @typescript-eslint/no-unused-vars subscribe: (_cb) => { return () => { }; } }, signer: { signPayload: async (payload) => { const signature = (await snap.signPayloadJSON(payload)); return { id: 0, signature }; }, signRaw: async (raw) => { const signature = (await snap.signPayloadRaw(raw)); return { id: 0, signature }; } } }; }, version: '0' }; } /** * @param injectedSnapId - Optional ID of injected snap, default: "metamask-enjin-snap" */ function initPolkadotSnap({ config, snapOrigin, snapInstallationParams }, injectedSnapId) { return new Promise((resolve) => { const win = window; win.injectedWeb3 = win.injectedWeb3 || {}; if ((0, utils_1.hasMetaMask)()) void (0, utils_1.isMetamaskSnapsSupported)().then((result) => { if (result) { injectPolkadotSnap({ win, injectedSnapId, config, snapOrigin, snapInstallationParams }); resolve(true); } else { resolve(false); } }); else resolve(false); }); } exports.initPolkadotSnap = initPolkadotSnap; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXh0ZW5zaW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLG9DQUE4QztBQUM5QyxvQ0FBaUU7QUFpQmpFLFNBQVMsaUJBQWlCLENBQUMsUUFBa0IsRUFBRSxNQUFtQjtJQUNoRSxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLE9BQU87UUFDUCxXQUFXLEVBQUUsTUFBTSxFQUFFLFdBQVc7UUFDaEMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxFQUFFO1FBQ3hCLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsRUFDMUIsR0FBRyxFQUNILGNBQWMsR0FBRyxxQkFBcUIsRUFDdEMsTUFBTSxFQUNOLFVBQVUsRUFDVixzQkFBc0IsRUFDRjtJQUNwQixHQUFHLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxHQUFHO1FBQ2pDLE1BQU0sRUFBRSxLQUFLLElBQXVCLEVBQUU7WUFDcEMsTUFBTSxJQUFJLEdBQUcsQ0FDWCxNQUFNLElBQUEsMEJBQWtCLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsQ0FBQyxDQUNyRSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFFdkIsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBRXhELE9BQU87Z0JBQ0wsUUFBUSxFQUFFO29CQUNSLEdBQUcsRUFBRSxLQUFLLElBQWdDLEVBQUU7d0JBQzFDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUN6QyxPQUFPLGlCQUFpQixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztvQkFDMUQsQ0FBQztvQkFDRCwwR0FBMEc7b0JBQzFHLDZEQUE2RDtvQkFDN0QsU0FBUyxFQUFFLENBQUMsR0FBMEMsRUFBZ0IsRUFBRTt3QkFDdEUsT0FBTyxHQUFTLEVBQUUsR0FBRSxDQUFDLENBQUM7b0JBQ3hCLENBQUM7aUJBQ0Y7Z0JBQ0QsTUFBTSxFQUFFO29CQUNOLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBMEIsRUFBeUIsRUFBRTt3QkFDdkUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQWMsQ0FBQzt3QkFDckUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUM7b0JBQzlCLENBQUM7b0JBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFxQixFQUF5QixFQUFFO3dCQUM5RCxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBYyxDQUFDO3dCQUNoRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQztvQkFDOUIsQ0FBQztpQkFDRjthQUNGLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxFQUFFLEdBQUc7S0FDYixDQUFDO0FBQ0osQ0FBQztBQUNEOztHQUVHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBNkIsRUFDekUsY0FBdUI7SUFFdkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBUSxFQUFFO1FBQ25DLE1BQU0sR0FBRyxHQUFHLE1BQTZCLENBQUM7UUFDMUMsR0FBRyxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUUxQyxJQUFJLElBQUEsbUJBQVcsR0FBRTtZQUNmLEtBQUssSUFBQSxnQ0FBd0IsR0FBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUM5QyxJQUFJLE1BQU0sRUFBRTtvQkFDVixrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLENBQUM7b0JBQ3hGLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDZjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2hCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7O1lBQ0EsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQW5CRCw0Q0FtQkMifQ==