@enjin-io/metamask-enjin-adapter
Version:
68 lines • 5.48 kB
JavaScript
;
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==