Socket
Socket
Sign inDemoInstall

@toruslabs/rss-client

Package Overview
Dependencies
155
Maintainers
4
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.2.0 to 1.2.1

105

dist/rssClient-node.js

@@ -65,3 +65,4 @@ /******/ (() => { // webpackBootstrap

"lagrangeInterpolation": () => (/* reexport */ lagrangeInterpolation),
"randomSelection": () => (/* reexport */ randomSelection)
"randomSelection": () => (/* reexport */ randomSelection),
"recover": () => (/* reexport */ recover)
});

@@ -641,57 +642,55 @@

}()
}, {
key: "recover",
value: function () {
var _recover = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee2(opts) {
var factorKey, serverEncs, userEnc, selectedServers, factorKeyBuf, prom1, prom2, _yield$Promise$all, _yield$Promise$all2, decryptedUserEnc, decryptedServerEncs, someDecrypted, decryptedLCs, temp1, serverReconstructed, temp2, factorShare;
return regenerator_default().wrap(function _callee2$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
factorKey = opts.factorKey, serverEncs = opts.serverEncs, userEnc = opts.userEnc, selectedServers = opts.selectedServers;
factorKeyBuf = Buffer.from(factorKey.toString(16, 64), "hex");
prom1 = decrypt(factorKeyBuf, userEnc).then(function (buf) {
return new (external_bn_js_default())(buf);
});
prom2 = Promise.all(serverEncs.map(function (serverEnc) {
return serverEnc && decrypt(factorKeyBuf, serverEnc).then(function (buf) {
return new (external_bn_js_default())(buf);
});
}));
_context3.next = 6;
return Promise.all([prom1, prom2]);
case 6:
_yield$Promise$all = _context3.sent;
_yield$Promise$all2 = slicedToArray_default()(_yield$Promise$all, 2);
decryptedUserEnc = _yield$Promise$all2[0];
decryptedServerEncs = _yield$Promise$all2[1];
// use threshold number of factor encryptions from the servers to interpolate server share
someDecrypted = decryptedServerEncs.filter(function (_, j) {
return selectedServers.indexOf(j + 1) >= 0;
});
decryptedLCs = selectedServers.map(function (index) {
return getLagrangeCoeffs(selectedServers, index);
});
temp1 = decryptedUserEnc.mul(getLagrangeCoeffs([1, 2], 2));
serverReconstructed = dotProduct(someDecrypted, decryptedLCs).umod(ecCurve.n);
temp2 = serverReconstructed.mul(getLagrangeCoeffs([1, 2], 1));
factorShare = temp1.add(temp2).umod(ecCurve.n);
return _context3.abrupt("return", {
factorShare: factorShare
});
case 17:
case "end":
return _context3.stop();
}
}
}, _callee2);
}));
function recover(_x2) {
return _recover.apply(this, arguments);
}
return recover;
}()
}]);
return RSSClient;
}();
function recover(_x2) {
return _recover.apply(this, arguments);
}
function _recover() {
_recover = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee2(opts) {
var factorKey, serverEncs, userEnc, selectedServers, factorKeyBuf, prom1, prom2, _yield$Promise$all, _yield$Promise$all2, decryptedUserEnc, decryptedServerEncs, someDecrypted, decryptedLCs, temp1, serverReconstructed, temp2, tssShare;
return regenerator_default().wrap(function _callee2$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
factorKey = opts.factorKey, serverEncs = opts.serverEncs, userEnc = opts.userEnc, selectedServers = opts.selectedServers;
factorKeyBuf = Buffer.from(factorKey.toString(16, 64), "hex");
prom1 = decrypt(factorKeyBuf, userEnc).then(function (buf) {
return new (external_bn_js_default())(buf);
});
prom2 = Promise.all(serverEncs.map(function (serverEnc) {
return serverEnc && decrypt(factorKeyBuf, serverEnc).then(function (buf) {
return new (external_bn_js_default())(buf);
});
}));
_context3.next = 6;
return Promise.all([prom1, prom2]);
case 6:
_yield$Promise$all = _context3.sent;
_yield$Promise$all2 = slicedToArray_default()(_yield$Promise$all, 2);
decryptedUserEnc = _yield$Promise$all2[0];
decryptedServerEncs = _yield$Promise$all2[1];
// use threshold number of factor encryptions from the servers to interpolate server share
someDecrypted = decryptedServerEncs.filter(function (_, j) {
return selectedServers.indexOf(j + 1) >= 0;
});
decryptedLCs = selectedServers.map(function (index) {
return getLagrangeCoeffs(selectedServers, index);
});
temp1 = decryptedUserEnc.mul(getLagrangeCoeffs([1, 2], 2));
serverReconstructed = dotProduct(someDecrypted, decryptedLCs).umod(ecCurve.n);
temp2 = serverReconstructed.mul(getLagrangeCoeffs([1, 2], 1));
tssShare = temp1.add(temp2).umod(ecCurve.n);
return _context3.abrupt("return", {
tssShare: tssShare
});
case 17:
case "end":
return _context3.stop();
}
}
}, _callee2);
}));
return _recover.apply(this, arguments);
}
;// CONCATENATED MODULE: ./src/index.ts

@@ -698,0 +697,0 @@

@@ -65,3 +65,4 @@ /******/ (() => { // webpackBootstrap

"lagrangeInterpolation": () => (/* reexport */ lagrangeInterpolation),
"randomSelection": () => (/* reexport */ randomSelection)
"randomSelection": () => (/* reexport */ randomSelection),
"recover": () => (/* reexport */ recover)
});

@@ -641,57 +642,55 @@

}()
}, {
key: "recover",
value: function () {
var _recover = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee2(opts) {
var factorKey, serverEncs, userEnc, selectedServers, factorKeyBuf, prom1, prom2, _yield$Promise$all, _yield$Promise$all2, decryptedUserEnc, decryptedServerEncs, someDecrypted, decryptedLCs, temp1, serverReconstructed, temp2, factorShare;
return regenerator_default().wrap(function _callee2$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
factorKey = opts.factorKey, serverEncs = opts.serverEncs, userEnc = opts.userEnc, selectedServers = opts.selectedServers;
factorKeyBuf = Buffer.from(factorKey.toString(16, 64), "hex");
prom1 = decrypt(factorKeyBuf, userEnc).then(function (buf) {
return new (external_bn_js_default())(buf);
});
prom2 = Promise.all(serverEncs.map(function (serverEnc) {
return serverEnc && decrypt(factorKeyBuf, serverEnc).then(function (buf) {
return new (external_bn_js_default())(buf);
});
}));
_context3.next = 6;
return Promise.all([prom1, prom2]);
case 6:
_yield$Promise$all = _context3.sent;
_yield$Promise$all2 = slicedToArray_default()(_yield$Promise$all, 2);
decryptedUserEnc = _yield$Promise$all2[0];
decryptedServerEncs = _yield$Promise$all2[1];
// use threshold number of factor encryptions from the servers to interpolate server share
someDecrypted = decryptedServerEncs.filter(function (_, j) {
return selectedServers.indexOf(j + 1) >= 0;
});
decryptedLCs = selectedServers.map(function (index) {
return getLagrangeCoeffs(selectedServers, index);
});
temp1 = decryptedUserEnc.mul(getLagrangeCoeffs([1, 2], 2));
serverReconstructed = dotProduct(someDecrypted, decryptedLCs).umod(ecCurve.n);
temp2 = serverReconstructed.mul(getLagrangeCoeffs([1, 2], 1));
factorShare = temp1.add(temp2).umod(ecCurve.n);
return _context3.abrupt("return", {
factorShare: factorShare
});
case 17:
case "end":
return _context3.stop();
}
}
}, _callee2);
}));
function recover(_x2) {
return _recover.apply(this, arguments);
}
return recover;
}()
}]);
return RSSClient;
}();
function recover(_x2) {
return _recover.apply(this, arguments);
}
function _recover() {
_recover = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee2(opts) {
var factorKey, serverEncs, userEnc, selectedServers, factorKeyBuf, prom1, prom2, _yield$Promise$all, _yield$Promise$all2, decryptedUserEnc, decryptedServerEncs, someDecrypted, decryptedLCs, temp1, serverReconstructed, temp2, tssShare;
return regenerator_default().wrap(function _callee2$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
factorKey = opts.factorKey, serverEncs = opts.serverEncs, userEnc = opts.userEnc, selectedServers = opts.selectedServers;
factorKeyBuf = Buffer.from(factorKey.toString(16, 64), "hex");
prom1 = decrypt(factorKeyBuf, userEnc).then(function (buf) {
return new (external_bn_js_default())(buf);
});
prom2 = Promise.all(serverEncs.map(function (serverEnc) {
return serverEnc && decrypt(factorKeyBuf, serverEnc).then(function (buf) {
return new (external_bn_js_default())(buf);
});
}));
_context3.next = 6;
return Promise.all([prom1, prom2]);
case 6:
_yield$Promise$all = _context3.sent;
_yield$Promise$all2 = slicedToArray_default()(_yield$Promise$all, 2);
decryptedUserEnc = _yield$Promise$all2[0];
decryptedServerEncs = _yield$Promise$all2[1];
// use threshold number of factor encryptions from the servers to interpolate server share
someDecrypted = decryptedServerEncs.filter(function (_, j) {
return selectedServers.indexOf(j + 1) >= 0;
});
decryptedLCs = selectedServers.map(function (index) {
return getLagrangeCoeffs(selectedServers, index);
});
temp1 = decryptedUserEnc.mul(getLagrangeCoeffs([1, 2], 2));
serverReconstructed = dotProduct(someDecrypted, decryptedLCs).umod(ecCurve.n);
temp2 = serverReconstructed.mul(getLagrangeCoeffs([1, 2], 1));
tssShare = temp1.add(temp2).umod(ecCurve.n);
return _context3.abrupt("return", {
tssShare: tssShare
});
case 17:
case "end":
return _context3.stop();
}
}
}, _callee2);
}));
return _recover.apply(this, arguments);
}
;// CONCATENATED MODULE: ./src/index.ts

@@ -698,0 +697,0 @@

@@ -533,59 +533,57 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';

}()
}, {
key: "recover",
value: function () {
var _recover = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(opts) {
var factorKey, serverEncs, userEnc, selectedServers, factorKeyBuf, prom1, prom2, _yield$Promise$all, _yield$Promise$all2, decryptedUserEnc, decryptedServerEncs, someDecrypted, decryptedLCs, temp1, serverReconstructed, temp2, factorShare;
return _regeneratorRuntime.wrap(function _callee2$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
factorKey = opts.factorKey, serverEncs = opts.serverEncs, userEnc = opts.userEnc, selectedServers = opts.selectedServers;
factorKeyBuf = Buffer.from(factorKey.toString(16, 64), "hex");
prom1 = decrypt(factorKeyBuf, userEnc).then(function (buf) {
return new BN(buf);
});
prom2 = Promise.all(serverEncs.map(function (serverEnc) {
return serverEnc && decrypt(factorKeyBuf, serverEnc).then(function (buf) {
return new BN(buf);
});
}));
_context3.next = 6;
return Promise.all([prom1, prom2]);
case 6:
_yield$Promise$all = _context3.sent;
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
decryptedUserEnc = _yield$Promise$all2[0];
decryptedServerEncs = _yield$Promise$all2[1];
// use threshold number of factor encryptions from the servers to interpolate server share
someDecrypted = decryptedServerEncs.filter(function (_, j) {
return selectedServers.indexOf(j + 1) >= 0;
});
decryptedLCs = selectedServers.map(function (index) {
return getLagrangeCoeffs(selectedServers, index);
});
temp1 = decryptedUserEnc.mul(getLagrangeCoeffs([1, 2], 2));
serverReconstructed = dotProduct(someDecrypted, decryptedLCs).umod(ecCurve.n);
temp2 = serverReconstructed.mul(getLagrangeCoeffs([1, 2], 1));
factorShare = temp1.add(temp2).umod(ecCurve.n);
return _context3.abrupt("return", {
factorShare: factorShare
});
case 17:
case "end":
return _context3.stop();
}
}
}, _callee2);
}));
function recover(_x2) {
return _recover.apply(this, arguments);
}
return recover;
}()
}]);
return RSSClient;
}();
function recover(_x2) {
return _recover.apply(this, arguments);
}
function _recover() {
_recover = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(opts) {
var factorKey, serverEncs, userEnc, selectedServers, factorKeyBuf, prom1, prom2, _yield$Promise$all, _yield$Promise$all2, decryptedUserEnc, decryptedServerEncs, someDecrypted, decryptedLCs, temp1, serverReconstructed, temp2, tssShare;
return _regeneratorRuntime.wrap(function _callee2$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
factorKey = opts.factorKey, serverEncs = opts.serverEncs, userEnc = opts.userEnc, selectedServers = opts.selectedServers;
factorKeyBuf = Buffer.from(factorKey.toString(16, 64), "hex");
prom1 = decrypt(factorKeyBuf, userEnc).then(function (buf) {
return new BN(buf);
});
prom2 = Promise.all(serverEncs.map(function (serverEnc) {
return serverEnc && decrypt(factorKeyBuf, serverEnc).then(function (buf) {
return new BN(buf);
});
}));
_context3.next = 6;
return Promise.all([prom1, prom2]);
case 6:
_yield$Promise$all = _context3.sent;
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
decryptedUserEnc = _yield$Promise$all2[0];
decryptedServerEncs = _yield$Promise$all2[1];
// use threshold number of factor encryptions from the servers to interpolate server share
someDecrypted = decryptedServerEncs.filter(function (_, j) {
return selectedServers.indexOf(j + 1) >= 0;
});
decryptedLCs = selectedServers.map(function (index) {
return getLagrangeCoeffs(selectedServers, index);
});
temp1 = decryptedUserEnc.mul(getLagrangeCoeffs([1, 2], 2));
serverReconstructed = dotProduct(someDecrypted, decryptedLCs).umod(ecCurve.n);
temp2 = serverReconstructed.mul(getLagrangeCoeffs([1, 2], 1));
tssShare = temp1.add(temp2).umod(ecCurve.n);
return _context3.abrupt("return", {
tssShare: tssShare
});
case 17:
case "end":
return _context3.stop();
}
}
}, _callee2);
}));
return _recover.apply(this, arguments);
}
export { RSSClient, decrypt, dotProduct, ecCurve, ecPoint, encrypt, generatePolynomial, getLagrangeCoeffs, getShare, hexPoint, lagrangeInterpolation, randomSelection };
export { RSSClient, decrypt, dotProduct, ecCurve, ecPoint, encrypt, generatePolynomial, getLagrangeCoeffs, getShare, hexPoint, lagrangeInterpolation, randomSelection, recover };
//# sourceMappingURL=rssClient.esm.js.map

@@ -55,3 +55,3 @@ import BN from "bn.js";

export type RecoverResponse = {
factorShare: BN;
tssShare: BN;
};

@@ -67,3 +67,3 @@ export declare class RSSClient {

refresh(opts: RefreshOptions): Promise<RefreshResponse[]>;
recover(opts: RecoverOptions): Promise<RecoverResponse>;
}
export declare function recover(opts: RecoverOptions): Promise<RecoverResponse>;
{
"name": "@toruslabs/rss-client",
"version": "1.2.0",
"version": "1.2.1",
"description": "RSS Client",

@@ -5,0 +5,0 @@ "main": "dist/rssClient.cjs.js",

@@ -89,3 +89,3 @@ import { generatePrivate } from "@toruslabs/eccrypto";

export type RecoverResponse = {
factorShare: BN;
tssShare: BN;
};

@@ -372,19 +372,19 @@

}
}
async recover(opts: RecoverOptions): Promise<RecoverResponse> {
const { factorKey, serverEncs, userEnc, selectedServers } = opts;
const factorKeyBuf = Buffer.from(factorKey.toString(16, 64), "hex");
const prom1 = decrypt(factorKeyBuf, userEnc).then((buf) => new BN(buf));
const prom2 = Promise.all(serverEncs.map((serverEnc) => serverEnc && decrypt(factorKeyBuf, serverEnc).then((buf) => new BN(buf))));
const [decryptedUserEnc, decryptedServerEncs] = await Promise.all([prom1, prom2]);
// use threshold number of factor encryptions from the servers to interpolate server share
const someDecrypted = decryptedServerEncs.filter((_, j) => selectedServers.indexOf(j + 1) >= 0);
const decryptedLCs = selectedServers.map((index) => getLagrangeCoeffs(selectedServers, index));
const temp1 = decryptedUserEnc.mul(getLagrangeCoeffs([1, 2], 2));
const serverReconstructed = dotProduct(someDecrypted, decryptedLCs).umod(ecCurve.n);
const temp2 = serverReconstructed.mul(getLagrangeCoeffs([1, 2], 1));
const factorShare = temp1.add(temp2).umod(ecCurve.n);
export async function recover(opts: RecoverOptions): Promise<RecoverResponse> {
const { factorKey, serverEncs, userEnc, selectedServers } = opts;
const factorKeyBuf = Buffer.from(factorKey.toString(16, 64), "hex");
const prom1 = decrypt(factorKeyBuf, userEnc).then((buf) => new BN(buf));
const prom2 = Promise.all(serverEncs.map((serverEnc) => serverEnc && decrypt(factorKeyBuf, serverEnc).then((buf) => new BN(buf))));
const [decryptedUserEnc, decryptedServerEncs] = await Promise.all([prom1, prom2]);
// use threshold number of factor encryptions from the servers to interpolate server share
const someDecrypted = decryptedServerEncs.filter((_, j) => selectedServers.indexOf(j + 1) >= 0);
const decryptedLCs = selectedServers.map((index) => getLagrangeCoeffs(selectedServers, index));
const temp1 = decryptedUserEnc.mul(getLagrangeCoeffs([1, 2], 2));
const serverReconstructed = dotProduct(someDecrypted, decryptedLCs).umod(ecCurve.n);
const temp2 = serverReconstructed.mul(getLagrangeCoeffs([1, 2], 1));
const tssShare = temp1.add(temp2).umod(ecCurve.n);
return { factorShare };
}
return { tssShare };
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc