UNPKG

sfccxt

Version:

A JavaScript / Python / PHP cryptocurrency trading library with support for 130+ exchanges

72 lines (65 loc) 1.8 kB
var _ = require('../utils')._; var utils = require('../utils'); module.exports = { privateExport: function (key, options) { return { n: key.n.toBuffer(), e: key.e, d: key.d.toBuffer(), p: key.p.toBuffer(), q: key.q.toBuffer(), dmp1: key.dmp1.toBuffer(), dmq1: key.dmq1.toBuffer(), coeff: key.coeff.toBuffer() }; }, privateImport: function (key, data, options) { if (data.n && data.e && data.d && data.p && data.q && data.dmp1 && data.dmq1 && data.coeff) { key.setPrivate( data.n, data.e, data.d, data.p, data.q, data.dmp1, data.dmq1, data.coeff ); } else { throw Error("Invalid key data"); } }, publicExport: function (key, options) { return { n: key.n.toBuffer(), e: key.e }; }, publicImport: function (key, data, options) { if (data.n && data.e) { key.setPublic( data.n, data.e ); } else { throw Error("Invalid key data"); } }, /** * Trying autodetect and import key * @param key * @param data */ autoImport: function (key, data) { if (data.n && data.e) { if (data.d && data.p && data.q && data.dmp1 && data.dmq1 && data.coeff) { module.exports.privateImport(key, data); return true; } else { module.exports.publicImport(key, data); return true; } } return false; } };