UNPKG

keyvenant

Version:

Keyvenant is a JavaScript tool to generate and export CovenantSQL keys to facilitate key management locally and in web extensions.

49 lines 3.96 kB
import fs from 'fs'; import path from 'path'; export const isBrowser = typeof process === 'undefined' || !process.nextTick; function isHex(str) { return str.length % 2 === 0 && str.match(/^[0-9a-f]+$/i) ? true : false; } function isBase64(str) { if (str.length % 4 > 0 || str.match(/[^0-9a-z+\/=]/i)) { return false; } const index = str.indexOf('='); return (index === -1 || str.slice(index).match(/={1,2}/)) ? true : false; } export function string2Buffer(str, enc) { if (!enc && isHex(str)) { enc = 'hex'; } if (!enc && isBase64(str)) { enc = 'base64'; } return Buffer.from(str, enc); } function generateKeystoreFilename(address) { let date = new Date().toISOString(); // Windows does not support letter ':' in filename let filename = 'UTC--' + date.replace(/\:/g, '-') + '--' + address; return filename; } export function exportToFile(keystore) { // if in browser return keystore object as stringify JSON if (isBrowser) { return JSON.stringify(keystore); } let filename = generateKeystoreFilename(keystore.address); // default path is keystore folder let outpath = path.join(filename); fs.writeFileSync(outpath, JSON.stringify(keystore, null, 2)); return outpath; } export function importFromFile(filepath) { let file = fs.readFileSync(filepath, 'utf8'); let keystore = JSON.parse(file); return keystore; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQTtBQUNuQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFFdkIsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUE7QUFFNUUsU0FBUyxLQUFLLENBQUMsR0FBVztJQUN4QixPQUFPLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUN0RCxDQUFDLENBQUMsSUFBSTtRQUNOLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFDWCxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsR0FBVztJQUMzQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7UUFDckQsT0FBTyxLQUFLLENBQUE7S0FDYjtJQUNELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDOUIsT0FBTyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsSUFBSTtRQUNOLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFDWCxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFXLEVBQUUsR0FBWTtJQUNuRCxJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0QixHQUFHLEdBQUcsS0FBSyxDQUFBO0tBQ1o7SUFDRCxJQUFJLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN6QixHQUFHLEdBQUcsUUFBUSxDQUFBO0tBQ2Y7SUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBQ2hDLENBQUM7QUFFRCxTQUFTLHdCQUF3QixDQUMvQixPQUFlO0lBRWYsSUFBSSxJQUFJLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUMzQyxrREFBa0Q7SUFDbEQsSUFBSSxRQUFRLEdBQVcsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxPQUFPLENBQUE7SUFFMUUsT0FBTyxRQUFRLENBQUE7QUFDakIsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQzFCLFFBQWE7SUFFYix5REFBeUQ7SUFDekQsSUFBSSxTQUFTLEVBQUU7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7S0FDaEM7SUFFRCxJQUFJLFFBQVEsR0FBVyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDakUsa0NBQWtDO0lBQ2xDLElBQUksT0FBTyxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFekMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDNUQsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQzVCLFFBQWdCO0lBRWhCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQzVDLElBQUksUUFBUSxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFdkMsT0FBTyxRQUFRLENBQUE7QUFDakIsQ0FBQyJ9