New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@sorare/crypto

Package Overview
Dependencies
Maintainers
43
Versions
40
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sorare/crypto - npm Package Compare versions

Comparing version 1.3.5 to 2.0.0

CHANGELOG.md

14

dist/index.d.ts

@@ -1,12 +0,10 @@

import { ec } from 'elliptic';
import { LimitOrder, Transfer, Signature } from './types';
export { LimitOrder, Transfer, Signature } from './types';
export declare const generateKey: (mnemonic?: string | undefined) => ec.KeyPair;
export declare const exportPrivateKey: (key: ec.KeyPair) => string;
export declare const exportPublicKey: (key: ec.KeyPair) => string;
export declare const exportPublicKeyX: (key: ec.KeyPair) => string;
export declare const loadPrivateKey: (privateKey: string) => ec.KeyPair;
export declare const loadPublicKey: (publicKey: string) => ec.KeyPair;
/**
* @returns {string} hex encoded 32 byte private string
*/
export declare const generateKey: (mnemonic?: string | undefined) => string;
export declare const exportPublicKey: (privateKey: string) => string;
export declare const signMessage: (privateKey: string, message: string) => Signature;
export declare const verifyMessage: (publicKey: string, message: string, signature: Signature) => any;
export declare const verifyMessage: (publicKey: string, message: string, signature: Signature) => boolean;
export declare const signTransfer: (privateKey: string, transfer: Transfer) => Signature;

@@ -13,0 +11,0 @@ export declare const verifyTransfer: (publicKey: string, transfer: Transfer, signature: Signature) => boolean;

"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", {

@@ -24,31 +26,43 @@ value: true

});
exports.verifyTransfer = exports.verifyMessage = exports.verifyLimitOrder = exports.signTransfer = exports.signMessage = exports.signLimitOrder = exports.loadPublicKey = exports.loadPrivateKey = exports.generateKey = exports.exportPublicKeyX = exports.exportPublicKey = exports.exportPrivateKey = void 0;
exports.verifyTransfer = exports.verifyMessage = exports.verifyLimitOrder = exports.signTransfer = exports.signMessage = exports.signLimitOrder = exports.generateKey = exports.exportPublicKey = void 0;
var _bn = _interopRequireDefault(require("bn.js"));
var _bip = require("@scure/bip39");
var _bip = require("bip39");
var _french = require("@scure/bip39/wordlists/french");
var _ethereumjsWallet = require("ethereumjs-wallet");
var _bip2 = require("@scure/bip32");
var _hash = _interopRequireDefault(require("hash.js"));
var _secp256k = require("@noble/curves/secp256k1");
var _keyDerivation = require("./starkware/keyDerivation");
var _sha = require("@noble/hashes/sha256");
var _sha2 = require("@noble/hashes/sha3");
var _utils = require("@noble/hashes/utils");
var starknet = _interopRequireWildcard(require("micro-starknet"));
var _signature = require("./starkware/signature");
var _crypto = require("./starkware/crypto");
var _types = require("./types");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var PATH = "m/44'/60'/0'/0/0";
/**
* @returns {string} hex encoded 32 byte private string
*/
var generateKey = function generateKey(mnemonic) {
var seed = (0, _bip.mnemonicToSeedSync)(mnemonic || (0, _bip.generateMnemonic)());
var seed = (0, _bip.mnemonicToSeedSync)(mnemonic || (0, _bip.generateMnemonic)(_french.wordlist)); // Ethereum wallet public key
var ethereumAddress = _ethereumjsWallet.hdkey.fromMasterSeed(seed).derivePath(PATH).getWallet().getAddressString();
var publicKey = _secp256k.secp256k1.getPublicKey((0, _utils.bytesToHex)(_bip2.HDKey.fromMasterSeed(seed).derive(PATH).privateKey), false).slice(1);
var path = (0, _keyDerivation.getAccountPath)('starkex', 'sorare', ethereumAddress, 0);
return (0, _keyDerivation.getKeyPairFromPath)(mnemonic, path);
var address = (0, _sha2.keccak_256)(publicKey).slice(-20);
var path = starknet.getAccountPath('starkex', 'sorare', "0x".concat((0, _utils.bytesToHex)(address)), 0);
var keySeed = (0, _utils.bytesToHex)(_bip2.HDKey.fromMasterSeed(seed).derive(path).privateKey);
var privateKey = starknet.grindKey("0x".concat(keySeed));
return "0x".concat(privateKey.padStart(64, '0'));
};

@@ -58,33 +72,8 @@

var exportPrivateKey = function exportPrivateKey(key) {
return "0x".concat(key.getPrivate('hex').padStart(64, '0'));
var exportPublicKey = function exportPublicKey(privateKey) {
return "0x".concat((0, _utils.bytesToHex)(starknet.getPublicKey(privateKey, true)));
};
exports.exportPrivateKey = exportPrivateKey;
var exportPublicKey = function exportPublicKey(key) {
return "0x".concat(key.getPublic(true, 'hex'));
};
exports.exportPublicKey = exportPublicKey;
var exportPublicKeyX = function exportPublicKeyX(key) {
return "0x".concat(key // force line-break (https://github.com/prettier/prettier/issues/3107)
.getPublic().getX().toString('hex').padStart(64, '0'));
};
exports.exportPublicKeyX = exportPublicKeyX;
var loadPrivateKey = function loadPrivateKey(privateKey) {
return _signature.starkEc.keyFromPrivate(privateKey.substring(2), 'hex');
};
exports.loadPrivateKey = loadPrivateKey;
var loadPublicKey = function loadPublicKey(publicKey) {
return _signature.starkEc.keyFromPublic(publicKey.substring(2), 'hex');
};
exports.loadPublicKey = loadPublicKey;
var hashTransfer = function hashTransfer(transfer) {

@@ -121,8 +110,6 @@ var amount = transfer.amount,

var sign = function sign(privateKey, message) {
var key = loadPrivateKey(privateKey);
var _starknet$sign = starknet.sign(message, privateKey),
r = _starknet$sign.r,
s = _starknet$sign.s;
var _starkSign = (0, _signature.sign)(key, message),
r = _starkSign.r,
s = _starkSign.s;
return {

@@ -134,19 +121,12 @@ r: "0x".concat(r.toString(16)),

var verify = function verify(publicKey, message, signature) {
if (_crypto.useCryptoCpp) {
return (0, _crypto.verify)(BigInt(publicKey), BigInt("0x".concat(message)), BigInt(signature.r), BigInt(signature.s));
}
var key = loadPublicKey(publicKey);
var sig = {
r: new _bn.default(signature.r.substring(2), 16),
s: new _bn.default(signature.s.substring(2), 16)
};
return (0, _signature.verify)(key, message, sig);
var verify = function verify(_ref, message, publicKey) {
var r = _ref.r,
s = _ref.s;
var signature = new starknet.Signature(BigInt(r), BigInt(s));
return starknet.verify(signature, message, publicKey);
};
var hashMessage = function hashMessage(message) {
var h = _hash.default.sha256().update(message).digest('hex');
return (0, _signature.pedersen)([h.substring(0, 32), h.substring(32)]);
var h = (0, _utils.bytesToHex)((0, _sha.sha256)(message));
return starknet.pedersen(h.substring(0, 32), h.substring(32));
};

@@ -161,3 +141,3 @@

var verifyMessage = function verifyMessage(publicKey, message, signature) {
return verify(publicKey, hashMessage(message), signature);
return verify(signature, hashMessage(message), publicKey);
};

@@ -176,3 +156,3 @@

var message = hashTransfer(transfer);
return verify(publicKey, message, signature);
return verify(signature, message, publicKey);
};

@@ -191,6 +171,6 @@

var message = hashLimitOrder(limitOrder);
return verify(publicKey, message, signature);
return verify(signature, message, publicKey);
};
exports.verifyLimitOrder = verifyLimitOrder;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJQQVRIIiwiZ2VuZXJhdGVLZXkiLCJtbmVtb25pYyIsInNlZWQiLCJldGhlcmV1bUFkZHJlc3MiLCJoZGtleSIsImZyb21NYXN0ZXJTZWVkIiwiZGVyaXZlUGF0aCIsImdldFdhbGxldCIsImdldEFkZHJlc3NTdHJpbmciLCJwYXRoIiwiZXhwb3J0UHJpdmF0ZUtleSIsImtleSIsImdldFByaXZhdGUiLCJwYWRTdGFydCIsImV4cG9ydFB1YmxpY0tleSIsImdldFB1YmxpYyIsImV4cG9ydFB1YmxpY0tleVgiLCJnZXRYIiwidG9TdHJpbmciLCJsb2FkUHJpdmF0ZUtleSIsInByaXZhdGVLZXkiLCJzdGFya0VjIiwia2V5RnJvbVByaXZhdGUiLCJzdWJzdHJpbmciLCJsb2FkUHVibGljS2V5IiwicHVibGljS2V5Iiwia2V5RnJvbVB1YmxpYyIsImhhc2hUcmFuc2ZlciIsInRyYW5zZmVyIiwiYW1vdW50Iiwibm9uY2UiLCJzZW5kZXJWYXVsdElkIiwidG9rZW4iLCJyZWNlaXZlclZhdWx0SWQiLCJyZWNlaXZlclB1YmxpY0tleSIsImV4cGlyYXRpb25UaW1lc3RhbXAiLCJjb25kaXRpb24iLCJmZWVJbmZvVXNlciIsImFyZ3MiLCJnZXRUcmFuc2Zlck1zZ0hhc2hXaXRoRmVlIiwidG9rZW5JZCIsInNvdXJjZVZhdWx0SWQiLCJmZWVMaW1pdCIsImdldFRyYW5zZmVyTXNnSGFzaCIsImhhc2hMaW1pdE9yZGVyIiwibGltaXRPcmRlciIsInZhdWx0SWRTZWxsIiwidmF1bHRJZEJ1eSIsImFtb3VudFNlbGwiLCJhbW91bnRCdXkiLCJ0b2tlblNlbGwiLCJ0b2tlbkJ1eSIsImZlZUluZm8iLCJnZXRMaW1pdE9yZGVyTXNnSGFzaFdpdGhGZWUiLCJnZXRMaW1pdE9yZGVyTXNnSGFzaCIsInNpZ24iLCJtZXNzYWdlIiwiciIsInMiLCJ2ZXJpZnkiLCJzaWduYXR1cmUiLCJ1c2VDcnlwdG9DcHAiLCJCaWdJbnQiLCJzaWciLCJCTiIsImhhc2hNZXNzYWdlIiwiaCIsImhhc2giLCJzaGEyNTYiLCJ1cGRhdGUiLCJkaWdlc3QiLCJzaWduTWVzc2FnZSIsInZlcmlmeU1lc3NhZ2UiLCJzaWduVHJhbnNmZXIiLCJ2ZXJpZnlUcmFuc2ZlciIsInNpZ25MaW1pdE9yZGVyIiwidmVyaWZ5TGltaXRPcmRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUNBOztBQUdBOztBQUNBOztBQVVBOztBQUVBOzs7O0FBRUEsSUFBTUEsSUFBSSxHQUFHLGtCQUFiOztBQUVPLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQUNDLFFBQUQsRUFBdUI7QUFDaEQsTUFBTUMsSUFBSSxHQUFHLDZCQUFtQkQsUUFBUSxJQUFJLDRCQUEvQixDQUFiOztBQUNBLE1BQU1FLGVBQWUsR0FBR0Msd0JBQ3JCQyxjQURxQixDQUNOSCxJQURNLEVBRXJCSSxVQUZxQixDQUVWUCxJQUZVLEVBR3JCUSxTQUhxQixHQUlyQkMsZ0JBSnFCLEVBQXhCOztBQU1BLE1BQU1DLElBQUksR0FBRyxtQ0FBZSxTQUFmLEVBQTBCLFFBQTFCLEVBQW9DTixlQUFwQyxFQUFxRCxDQUFyRCxDQUFiO0FBQ0EsU0FBTyx1Q0FBbUJGLFFBQW5CLEVBQTZCUSxJQUE3QixDQUFQO0FBQ0QsQ0FWTTs7OztBQVlBLElBQU1DLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBbUIsQ0FBQ0MsR0FBRDtBQUFBLHFCQUN6QkEsR0FBRyxDQUFDQyxVQUFKLENBQWUsS0FBZixFQUFzQkMsUUFBdEIsQ0FBK0IsRUFBL0IsRUFBbUMsR0FBbkMsQ0FEeUI7QUFBQSxDQUF6Qjs7OztBQUdBLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0gsR0FBRDtBQUFBLHFCQUN4QkEsR0FBRyxDQUFDSSxTQUFKLENBQWMsSUFBZCxFQUFvQixLQUFwQixDQUR3QjtBQUFBLENBQXhCOzs7O0FBR0EsSUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJB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QyxTQUFELEVBQVkrQixPQUFaLEVBQXFCSSxTQUFyQixDQUFiO0FBQ0QsQ0FSTTs7OztBQVVBLElBQU1lLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FDNUJ2RCxVQUQ0QixFQUU1QnlCLFVBRjRCLEVBR2Q7QUFDZCxNQUFNVyxPQUFPLEdBQUdaLGNBQWMsQ0FBQ0MsVUFBRCxDQUE5QjtBQUVBLFNBQU9VLElBQUksQ0FBQ25DLFVBQUQsRUFBYW9DLE9BQWIsQ0FBWDtBQUNELENBUE07Ozs7QUFTQSxJQUFNb0IsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUM5Qm5ELFNBRDhCLEVBRTlCb0IsVUFGOEIsRUFHOUJlLFNBSDhCLEVBSWxCO0FBQ1osTUFBTUosT0FBTyxHQUFHWixjQUFjLENBQUNDLFVBQUQsQ0FBOUI7QUFFQSxTQUFPYyxNQUFNLENBQUNsQyxTQUFELEVBQVkrQixPQUFaLEVBQXFCSSxTQUFyQixDQUFiO0FBQ0QsQ0FSTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCTiBmcm9tICdibi5qcyc7XG5pbXBvcnQgeyBnZW5lcmF0ZU1uZW1vbmljLCBtbmVtb25pY1RvU2VlZFN5bmMgfSBmcm9tICdiaXAzOSc7XG5pbXBvcnQgeyBlYyB9IGZyb20gJ2VsbGlwdGljJztcbmltcG9ydCB7IGhka2V5IH0gZnJvbSAnZXRoZXJldW1qcy13YWxsZXQnO1xuaW1wb3J0IGhhc2ggZnJvbSAnaGFzaC5qcyc7XG5cbmltcG9ydCB7IExpbWl0T3JkZXIsIFRyYW5zZmVyLCBTaWduYXR1cmUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldEFjY291bnRQYXRoLCBnZXRLZXlQYWlyRnJvbVBhdGggfSBmcm9tICcuL3N0YXJrd2FyZS9rZXlEZXJpdmF0aW9uJztcbmltcG9ydCB7XG4gIHN0YXJrRWMsXG4gIHBlZGVyc2VuLFxuICBzaWduIGFzIHN0YXJrU2lnbixcbiAgdmVyaWZ5IGFzIHN0YXJrVmVyaWZ5LFxuICBnZXRUcmFuc2Zlck1zZ0hhc2gsXG4gIGdldFRyYW5zZmVyTXNnSGFzaFdpdGhGZWUsXG4gIGdldExpbWl0T3JkZXJNc2dIYXNoLFxuICBnZXRMaW1pdE9yZGVyTXNnSGFzaFdpdGhGZWUsXG59IGZyb20gJy4vc3Rhcmt3YXJlL3NpZ25hdHVyZSc7XG5pbXBvcnQgeyB2ZXJpZnkgYXMgc3RhcmtWZXJpZnlDcHAsIHVzZUNyeXB0b0NwcCB9IGZyb20gJy4vc3Rhcmt3YXJlL2NyeXB0byc7XG5cbmV4cG9ydCB7IExpbWl0T3JkZXIsIFRyYW5zZmVyLCBTaWduYXR1cmUgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgUEFUSCA9IFwibS80NCcvNjAnLzAnLzAvMFwiO1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVLZXkgPSAobW5lbW9uaWM/OiBzdHJpbmcpID0+IHtcbiAgY29uc3Qgc2VlZCA9IG1uZW1vbmljVG9TZWVkU3luYyhtbmVtb25pYyB8fCBnZW5lcmF0ZU1uZW1vbmljKCkpO1xuICBjb25zdCBldGhlcmV1bUFkZHJlc3MgPSBoZGtleVxuICAgIC5mcm9tTWFzdGVyU2VlZChzZWVkKVxuICAgIC5kZXJpdmVQYXRoKFBBVEgpXG4gICAgLmdldFdhbGxldCgpXG4gICAgLmdldEFkZHJlc3NTdHJpbmcoKTtcblxuICBjb25zdCBwYXRoID0gZ2V0QWNjb3VudFBhdGgoJ3N0YXJrZXgnLCAnc29yYXJlJywgZXRoZXJldW1BZGRyZXNzLCAwKTtcbiAgcmV0dXJuIGdldEtleVBhaXJGcm9tUGF0aChtbmVtb25pYywgcGF0aCk7XG59O1xuXG5leHBvcnQgY29uc3QgZXhwb3J0UHJpdmF0ZUtleSA9IChrZXk6IGVjLktleVBhaXIpID0+XG4gIGAweCR7a2V5LmdldFByaXZhdGUoJ2hleCcpLnBhZFN0YXJ0KDY0LCAnMCcpfWA7XG5cbmV4cG9ydCBjb25zdCBleHBvcnRQdWJsaWNLZXkgPSAoa2V5OiBlYy5LZXlQYWlyKSA9PlxuICBgMHgke2tleS5nZXRQdWJsaWModHJ1ZSwgJ2hleCcpfWA7XG5cbmV4cG9ydCBjb25zdCBleHBvcnRQdWJsaWNLZXlYID0gKGtleTogZWMuS2V5UGFpcikgPT5cbiAgYDB4JHtrZXkgLy8gZm9yY2UgbGluZS1icmVhayAoaHR0cHM6Ly9naXRodWIuY29tL3ByZXR0aWVyL3ByZXR0aWVyL2lzc3Vlcy8zMTA3KVxuICAgIC5nZXRQdWJsaWMoKVxuICAgIC5nZXRYKClcbiAgICAudG9TdHJpbmcoJ2hleCcpXG4gICAgLnBhZFN0YXJ0KDY0LCAnMCcpfWA7XG5cbmV4cG9ydCBjb25zdCBsb2FkUHJpdmF0ZUtleSA9IChwcml2YXRlS2V5OiBzdHJpbmcpID0+XG4gIHN0YXJrRWMua2V5RnJvbVByaXZhdGUocHJpdmF0ZUtleS5zdWJzdHJpbmcoMiksICdoZXgnKTtcblxuZXhwb3J0IGNvbnN0IGxvYWRQdWJsaWNLZXkgPSAocHVibGljS2V5OiBzdHJpbmcpID0+XG4gIHN0YXJrRWMua2V5RnJvbVB1YmxpYyhwdWJsaWNLZXkuc3Vic3RyaW5nKDIpLCAnaGV4Jyk7XG5cbmNvbnN0IGhhc2hUcmFuc2ZlciA9ICh0cmFuc2ZlcjogVHJhbnNmZXIpID0+IHtcbiAgY29uc3Qge1xuICAgIGFtb3VudCxcbiAgICBub25jZSxcbiAgICBzZW5kZXJWYXVsdElkLFxuICAgIHRva2VuLFxuICAgIHJlY2VpdmVyVmF1bHRJZCxcbiAgICByZWNlaXZlclB1YmxpY0tleSxcbiAgICBleHBpcmF0aW9uVGltZXN0YW1wLFxuICAgIGNvbmRpdGlvbixcbiAgICBmZWVJbmZvVXNlcixcbiAgfSA9IHRyYW5zZmVyO1xuXG4gIGNvbnN0IGFyZ3MgPSBbXG4gICAgYW1vdW50LFxuICAgIG5vbmNlLFxuICAgIHNlbmRlclZhdWx0SWQsXG4gICAgdG9rZW4sXG4gICAgcmVjZWl2ZXJWYXVsdElkLFxuICAgIHJlY2VpdmVyUHVibGljS2V5LFxuICAgIGV4cGlyYXRpb25UaW1lc3RhbXAsXG4gICAgY29uZGl0aW9uLFxuICBdO1xuXG4gIGlmIChmZWVJbmZvVXNlcilcbiAgICByZXR1cm4gZ2V0VHJhbnNmZXJNc2dIYXNoV2l0aEZlZShcbiAgICAgIC4uLmFyZ3MsXG4gICAgICBmZWVJbmZvVXNlci50b2tlbklkLFxuICAgICAgZmVlSW5mb1VzZXIuc291cmNlVmF1bHRJZCxcbiAgICAgIGZlZUluZm9Vc2VyLmZlZUxpbWl0XG4gICAgKTtcblxuICByZXR1cm4gZ2V0VHJhbnNmZXJNc2dIYXNoKC4uLmFyZ3MpO1xufTtcblxuY29uc3QgaGFzaExpbWl0T3JkZXIgPSAobGltaXRPcmRlcjogTGltaXRPcmRlcikgPT4ge1xuICBjb25zdCB7XG4gICAgdmF1bHRJZFNlbGwsXG4gICAgdmF1bHRJZEJ1eSxcbiAgICBhbW91bnRTZWxsLFxuICAgIGFtb3VudEJ1eSxcbiAgICB0b2tlblNlbGwsXG4gICAgdG9rZW5CdXksXG4gICAgbm9uY2UsXG4gICAgZXhwaXJhdGlvblRpbWVzdGFtcCxcbiAgICBmZWVJbmZvLFxuICB9ID0gbGltaXRPcmRlcjtcblxuICBjb25zdCBhcmdzID0gW1xuICAgIHZhdWx0SWRTZWxsLFxuICAgIHZhdWx0SWRCdXksXG4gICAgYW1vdW50U2VsbCxcbiAgICBhbW91bnRCdXksXG4gICAgdG9rZW5TZWxsLFxuICAgIHRva2VuQnV5LFxuICAgIG5vbmNlLFxuICAgIGV4cGlyYXRpb25UaW1lc3RhbXAsXG4gIF07XG5cbiAgaWYgKGZlZUluZm8pXG4gICAgcmV0dXJuIGdldExpbWl0T3JkZXJNc2dIYXNoV2l0aEZlZShcbiAgICAgIC4uLmFyZ3MsXG4gICAgICBmZWVJbmZvLnRva2VuSWQsXG4gICAgICBmZWVJbmZvLnNvdXJjZVZhdWx0SWQsXG4gICAgICBmZWVJbmZvLmZlZUxpbWl0XG4gICAgKTtcblxuICByZXR1cm4gZ2V0TGltaXRPcmRlck1zZ0hhc2goLi4uYXJncyk7XG59O1xuXG5jb25zdCBzaWduID0gKHByaXZhdGVLZXk6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogU2lnbmF0dXJlID0+IHtcbiAgY29uc3Qga2V5ID0gbG9hZFByaXZhdGVLZXkocHJpdmF0ZUtleSk7XG4gIGNvbnN0IHsgciwgcyB9ID0gc3RhcmtTaWduKGtleSwgbWVzc2FnZSk7XG5cbiAgcmV0dXJuIHtcbiAgICByOiBgMHgke3IudG9TdHJpbmcoMTYpfWAsXG4gICAgczogYDB4JHtzLnRvU3RyaW5nKDE2KX1gLFxuICB9O1xufTtcblxuY29uc3QgdmVyaWZ5ID0gKHB1YmxpY0tleTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIHNpZ25hdHVyZTogU2lnbmF0dXJlKSA9PiB7XG4gIGlmICh1c2VDcnlwdG9DcHApIHtcbiAgICByZXR1cm4gc3RhcmtWZXJpZnlDcHAoXG4gICAgICBCaWdJbnQocHVibGljS2V5KSxcbiAgICAgIEJpZ0ludChgMHgke21lc3NhZ2V9YCksXG4gICAgICBCaWdJbnQoc2lnbmF0dXJlLnIpLFxuICAgICAgQmlnSW50KHNpZ25hdHVyZS5zKVxuICAgICk7XG4gIH1cblxuICBjb25zdCBrZXkgPSBsb2FkUHVibGljS2V5KHB1YmxpY0tleSk7XG4gIGNvbnN0IHNpZyA9IHtcbiAgICByOiBuZXcgQk4oc2lnbmF0dXJlLnIuc3Vic3RyaW5nKDIpLCAxNiksXG4gICAgczogbmV3IEJOKHNpZ25hdHVyZS5zLnN1YnN0cmluZygyKSwgMTYpLFxuICB9O1xuXG4gIHJldHVybiBzdGFya1ZlcmlmeShrZXksIG1lc3NhZ2UsIHNpZyk7XG59O1xuXG5jb25zdCBoYXNoTWVzc2FnZSA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgaCA9IGhhc2guc2hhMjU2KCkudXBkYXRlKG1lc3NhZ2UpLmRpZ2VzdCgnaGV4Jyk7XG4gIHJldHVybiBwZWRlcnNlbihbaC5zdWJzdHJpbmcoMCwgMzIpLCBoLnN1YnN0cmluZygzMildKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaWduTWVzc2FnZSA9IChwcml2YXRlS2V5OiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IFNpZ25hdHVyZSA9PlxuICBzaWduKHByaXZhdGVLZXksIGhhc2hNZXNzYWdlKG1lc3NhZ2UpKTtcblxuZXhwb3J0IGNvbnN0IHZlcmlmeU1lc3NhZ2UgPSAoXG4gIHB1YmxpY0tleTogc3RyaW5nLFxuICBtZXNzYWdlOiBzdHJpbmcsXG4gIHNpZ25hdHVyZTogU2lnbmF0dXJlXG4pID0+IHZlcmlmeShwdWJsaWNLZXksIGhhc2hNZXNzYWdlKG1lc3NhZ2UpLCBzaWduYXR1cmUpO1xuXG5leHBvcnQgY29uc3Qgc2lnblRyYW5zZmVyID0gKFxuICBwcml2YXRlS2V5OiBzdHJpbmcsXG4gIHRyYW5zZmVyOiBUcmFuc2ZlclxuKTogU2lnbmF0dXJlID0+IHtcbiAgY29uc3QgbWVzc2FnZSA9IGhhc2hUcmFuc2Zlcih0cmFuc2Zlcik7XG5cbiAgcmV0dXJuIHNpZ24ocHJpdmF0ZUtleSwgbWVzc2FnZSk7XG59O1xuXG5leHBvcnQgY29uc3QgdmVyaWZ5VHJhbnNmZXIgPSAoXG4gIHB1YmxpY0tleTogc3RyaW5nLFxuICB0cmFuc2ZlcjogVHJhbnNmZXIsXG4gIHNpZ25hdHVyZTogU2lnbmF0dXJlXG4pOiBib29sZWFuID0+IHtcbiAgY29uc3QgbWVzc2FnZSA9IGhhc2hUcmFuc2Zlcih0cmFuc2Zlcik7XG5cbiAgcmV0dXJuIHZlcmlmeShwdWJsaWNLZXksIG1lc3NhZ2UsIHNpZ25hdHVyZSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2lnbkxpbWl0T3JkZXIgPSAoXG4gIHByaXZhdGVLZXk6IHN0cmluZyxcbiAgbGltaXRPcmRlcjogTGltaXRPcmRlclxuKTogU2lnbmF0dXJlID0+IHtcbiAgY29uc3QgbWVzc2FnZSA9IGhhc2hMaW1pdE9yZGVyKGxpbWl0T3JkZXIpO1xuXG4gIHJldHVybiBzaWduKHByaXZhdGVLZXksIG1lc3NhZ2UpO1xufTtcblxuZXhwb3J0IGNvbnN0IHZlcmlmeUxpbWl0T3JkZXIgPSAoXG4gIHB1YmxpY0tleTogc3RyaW5nLFxuICBsaW1pdE9yZGVyOiBMaW1pdE9yZGVyLFxuICBzaWduYXR1cmU6IFNpZ25hdHVyZVxuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IG1lc3NhZ2UgPSBoYXNoTGltaXRPcmRlcihsaW1pdE9yZGVyKTtcblxuICByZXR1cm4gdmVyaWZ5KHB1YmxpY0tleSwgbWVzc2FnZSwgc2lnbmF0dXJlKTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJQQVRIIiwiZ2VuZXJhdGVLZXkiLCJtbmVtb25pYyIsInNlZWQiLCJ3b3JkbGlzdCIsInB1YmxpY0tleSIsInNlY3AyNTZrMSIsImdldFB1YmxpY0tleSIsIkhES2V5IiwiZnJvbU1hc3RlclNlZWQiLCJkZXJpdmUiLCJwcml2YXRlS2V5Iiwic2xpY2UiLCJhZGRyZXNzIiwicGF0aCIsInN0YXJrbmV0IiwiZ2V0QWNjb3VudFBhdGgiLCJrZXlTZWVkIiwiZ3JpbmRLZXkiLCJwYWRTdGFydCIsImV4cG9ydFB1YmxpY0tleSIsImhhc2hUcmFuc2ZlciIsInRyYW5zZmVyIiwiYW1vdW50Iiwibm9uY2UiLCJzZW5kZXJWYXVsdElkIiwidG9rZW4iLCJyZWNlaXZlclZhdWx0SWQiLCJyZWNlaXZlclB1YmxpY0tleSIsImV4cGlyYXRpb25UaW1lc3RhbXAiLCJjb25kaXRpb24iLCJmZWVJbmZvVXNlciIsImFyZ3MiLCJnZXRUcmFuc2Zlck1zZ0hhc2hXaXRoRmVlIiwidG9rZW5JZCIsInNvdXJjZVZhdWx0SWQiLCJmZWVMaW1pdCIsImdldFRyYW5zZmVyTXNnSGFzaCIsImhhc2hMaW1pdE9yZGVyIiwibGltaXRPcmRlciIsInZhdWx0SWRTZWxsIiwidmF1bHRJZEJ1eSIsImFtb3VudFNlbGwiLCJhbW91bnRCdXkiLCJ0b2tlblNlbGwiLCJ0b2tlbkJ1eSIsImZlZUluZm8iLCJnZXRMaW1pdE9yZGVyTXNnSGFzaFdpdGhGZWUiLCJnZXRMaW1pdE9yZGVyTXNnSGFzaCIsInNpZ24iLCJtZXNzYWdlIiwiciIsInMiLCJ0b1N0cmluZyIsInZlcmlmeSIsInNpZ25hdHVyZSIsIlNpZ25hdHVyZSIsIkJpZ0ludCIsImhhc2hNZXNzYWdlIiwiaCIsInBlZGVyc2VuIiwic3Vic3RyaW5nIiwic2lnbk1lc3NhZ2UiLCJ2ZXJpZnlNZXNzYWdlIiwic2lnblRyYW5zZmVyIiwidmVyaWZ5VHJhbnNmZXIiLCJzaWduTGltaXRPcmRl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O0FBRUEsU0FBTzJCLElBQUksQ0FBQ3RDLFVBQUQsRUFBYXVDLE9BQWIsQ0FBWDtBQUNELENBUE07Ozs7QUFTQSxJQUFNZSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQzVCNUQsU0FENEIsRUFFNUJpQixRQUY0QixFQUc1QmlDLFNBSDRCLEVBSWhCO0FBQ1osTUFBTUwsT0FBTyxHQUFHN0IsWUFBWSxDQUFDQyxRQUFELENBQTVCO0FBRUEsU0FBT2dDLE1BQU0sQ0FBQ0MsU0FBRCxFQUFZTCxPQUFaLEVBQXFCN0MsU0FBckIsQ0FBYjtBQUNELENBUk07Ozs7QUFVQSxJQUFNNkQsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixDQUM1QnZELFVBRDRCLEVBRTVCNEIsVUFGNEIsRUFHZDtBQUNkLE1BQU1XLE9BQU8sR0FBR1osY0FBYyxDQUFDQyxVQUFELENBQTlCO0FBRUEsU0FBT1UsSUFBSSxDQUFDdEMsVUFBRCxFQUFhdUMsT0FBYixDQUFYO0FBQ0QsQ0FQTTs7OztBQVNBLElBQU1pQixnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQzlCOUQsU0FEOEIsRUFFOUJrQyxVQUY4QixFQUc5QmdCLFNBSDhCLEVBSWxCO0FBQ1osTUFBTUwsT0FBTyxHQUFHWixjQUFjLENBQUNDLFVBQUQsQ0FBOUI7QUFDQSxTQUFPZSxNQUFNLENBQUNDLFNBQUQsRUFBWUwsT0FBWixFQUFxQjdDLFNBQXJCLENBQWI7QUFDRCxDQVBNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2VuZXJhdGVNbmVtb25pYywgbW5lbW9uaWNUb1NlZWRTeW5jIH0gZnJvbSAnQHNjdXJlL2JpcDM5JztcbmltcG9ydCB7IHdvcmRsaXN0IH0gZnJvbSAnQHNjdXJlL2JpcDM5L3dvcmRsaXN0cy9mcmVuY2gnO1xuaW1wb3J0IHsgSERLZXkgfSBmcm9tICdAc2N1cmUvYmlwMzInO1xuaW1wb3J0IHsgc2VjcDI1NmsxIH0gZnJvbSAnQG5vYmxlL2N1cnZlcy9zZWNwMjU2azEnO1xuaW1wb3J0IHsgc2hhMjU2IH0gZnJvbSAnQG5vYmxlL2hhc2hlcy9zaGEyNTYnO1xuaW1wb3J0IHsga2VjY2FrXzI1NiBhcyBrZWNjYWsgfSBmcm9tICdAbm9ibGUvaGFzaGVzL3NoYTMnO1xuaW1wb3J0IHsgYnl0ZXNUb0hleCB9IGZyb20gJ0Bub2JsZS9oYXNoZXMvdXRpbHMnO1xuaW1wb3J0ICogYXMgc3RhcmtuZXQgZnJvbSAnbWljcm8tc3RhcmtuZXQnO1xuXG5pbXBvcnQgeyBMaW1pdE9yZGVyLCBUcmFuc2ZlciwgU2lnbmF0dXJlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge1xuICBnZXRUcmFuc2Zlck1zZ0hhc2gsXG4gIGdldFRyYW5zZmVyTXNnSGFzaFdpdGhGZWUsXG4gIGdldExpbWl0T3JkZXJNc2dIYXNoLFxuICBnZXRMaW1pdE9yZGVyTXNnSGFzaFdpdGhGZWUsXG59IGZyb20gJy4vc3Rhcmt3YXJlL3NpZ25hdHVyZSc7XG5cbmV4cG9ydCB7IExpbWl0T3JkZXIsIFRyYW5zZmVyLCBTaWduYXR1cmUgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgUEFUSCA9IFwibS80NCcvNjAnLzAnLzAvMFwiO1xuXG4vKipcbiAqIEByZXR1cm5zIHtzdHJpbmd9IGhleCBlbmNvZGVkIDMyIGJ5dGUgcHJpdmF0ZSBzdHJpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IGdlbmVyYXRlS2V5ID0gKG1uZW1vbmljPzogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHNlZWQgPSBtbmVtb25pY1RvU2VlZFN5bmMobW5lbW9uaWMgfHwgZ2VuZXJhdGVNbmVtb25pYyh3b3JkbGlzdCkpO1xuXG4gIC8vIEV0aGVyZXVtIHdhbGxldCBwdWJsaWMga2V5XG4gIGNvbnN0IHB1YmxpY0tleSA9IHNlY3AyNTZrMVxuICAgIC5nZXRQdWJsaWNLZXkoXG4gICAgICBieXRlc1RvSGV4KEhES2V5LmZyb21NYXN0ZXJTZWVkKHNlZWQpLmRlcml2ZShQQVRIKSEucHJpdmF0ZUtleSEpLFxuICAgICAgZmFsc2VcbiAgICApXG4gICAgLnNsaWNlKDEpO1xuXG4gIGNvbnN0IGFkZHJlc3MgPSBrZWNjYWsocHVibGljS2V5KS5zbGljZSgtMjApO1xuXG4gIGNvbnN0IHBhdGggPSBzdGFya25ldC5nZXRBY2NvdW50UGF0aChcbiAgICAnc3RhcmtleCcsXG4gICAgJ3NvcmFyZScsXG4gICAgYDB4JHtieXRlc1RvSGV4KGFkZHJlc3MpfWAsXG4gICAgMFxuICApO1xuXG4gIGNvbnN0IGtleVNlZWQgPSBieXRlc1RvSGV4KFxuICAgIEhES2V5LmZyb21NYXN0ZXJTZWVkKHNlZWQpLmRlcml2ZShwYXRoKS5wcml2YXRlS2V5IVxuICApO1xuICBjb25zdCBwcml2YXRlS2V5ID0gc3RhcmtuZXQuZ3JpbmRLZXkoYDB4JHtrZXlTZWVkfWApO1xuICByZXR1cm4gYDB4JHtwcml2YXRlS2V5LnBhZFN0YXJ0KDY0LCAnMCcpfWA7XG59O1xuXG5leHBvcnQgY29uc3QgZXhwb3J0UHVibGljS2V5ID0gKHByaXZhdGVLZXk6IHN0cmluZykgPT5cbiAgYDB4JHtieXRlc1RvSGV4KHN0YXJrbmV0LmdldFB1YmxpY0tleShwcml2YXRlS2V5LCB0cnVlKSl9YDtcblxuY29uc3QgaGFzaFRyYW5zZmVyID0gKHRyYW5zZmVyOiBUcmFuc2ZlcikgPT4ge1xuICBjb25zdCB7XG4gICAgYW1vdW50LFxuICAgIG5vbmNlLFxuICAgIHNlbmRlclZhdWx0SWQsXG4gICAgdG9rZW4sXG4gICAgcmVjZWl2ZXJWYXVsdElkLFxuICAgIHJlY2VpdmVyUHVibGljS2V5LFxuICAgIGV4cGlyYXRpb25UaW1lc3RhbXAsXG4gICAgY29uZGl0aW9uLFxuICAgIGZlZUluZm9Vc2VyLFxuICB9ID0gdHJhbnNmZXI7XG5cbiAgY29uc3QgYXJncyA9IFtcbiAgICBhbW91bnQsXG4gICAgbm9uY2UsXG4gICAgc2VuZGVyVmF1bHRJZCxcbiAgICB0b2tlbixcbiAgICByZWNlaXZlclZhdWx0SWQsXG4gICAgcmVjZWl2ZXJQdWJsaWNLZXksXG4gICAgZXhwaXJhdGlvblRpbWVzdGFtcCxcbiAgICBjb25kaXRpb24sXG4gIF0gYXMgY29uc3Q7XG5cbiAgaWYgKGZlZUluZm9Vc2VyKVxuICAgIHJldHVybiBnZXRUcmFuc2Zlck1zZ0hhc2hXaXRoRmVlKFxuICAgICAgLi4uYXJncyxcbiAgICAgIGZlZUluZm9Vc2VyLnRva2VuSWQsXG4gICAgICBmZWVJbmZvVXNlci5zb3VyY2VWYXVsdElkLFxuICAgICAgZmVlSW5mb1VzZXIuZmVlTGltaXRcbiAgICApO1xuXG4gIHJldHVybiBnZXRUcmFuc2Zlck1zZ0hhc2goLi4uYXJncyk7XG59O1xuXG5jb25zdCBoYXNoTGltaXRPcmRlciA9IChsaW1pdE9yZGVyOiBMaW1pdE9yZGVyKSA9PiB7XG4gIGNvbnN0IHtcbiAgICB2YXVsdElkU2VsbCxcbiAgICB2YXVsdElkQnV5LFxuICAgIGFtb3VudFNlbGwsXG4gICAgYW1vdW50QnV5LFxuICAgIHRva2VuU2VsbCxcbiAgICB0b2tlbkJ1eSxcbiAgICBub25jZSxcbiAgICBleHBpcmF0aW9uVGltZXN0YW1wLFxuICAgIGZlZUluZm8sXG4gIH0gPSBsaW1pdE9yZGVyO1xuXG4gIGNvbnN0IGFyZ3MgPSBbXG4gICAgdmF1bHRJZFNlbGwsXG4gICAgdmF1bHRJZEJ1eSxcbiAgICBhbW91bnRTZWxsLFxuICAgIGFtb3VudEJ1eSxcbiAgICB0b2tlblNlbGwsXG4gICAgdG9rZW5CdXksXG4gICAgbm9uY2UsXG4gICAgZXhwaXJhdGlvblRpbWVzdGFtcCxcbiAgXSBhcyBjb25zdDtcblxuICBpZiAoZmVlSW5mbylcbiAgICByZXR1cm4gZ2V0TGltaXRPcmRlck1zZ0hhc2hXaXRoRmVlKFxuICAgICAgLi4uYXJncyxcbiAgICAgIGZlZUluZm8udG9rZW5JZCxcbiAgICAgIGZlZUluZm8uc291cmNlVmF1bHRJZCxcbiAgICAgIGZlZUluZm8uZmVlTGltaXRcbiAgICApO1xuXG4gIHJldHVybiBnZXRMaW1pdE9yZGVyTXNnSGFzaCguLi5hcmdzKTtcbn07XG5cbmNvbnN0IHNpZ24gPSAocHJpdmF0ZUtleTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiBTaWduYXR1cmUgPT4ge1xuICBjb25zdCB7IHIsIHMgfSA9IHN0YXJrbmV0LnNpZ24obWVzc2FnZSwgcHJpdmF0ZUtleSk7XG5cbiAgcmV0dXJuIHtcbiAgICByOiBgMHgke3IudG9TdHJpbmcoMTYpfWAsXG4gICAgczogYDB4JHtzLnRvU3RyaW5nKDE2KX1gLFxuICB9O1xufTtcblxuY29uc3QgdmVyaWZ5ID0gKHsgciwgcyB9OiBTaWduYXR1cmUsIG1lc3NhZ2U6IHN0cmluZywgcHVibGljS2V5OiBzdHJpbmcpID0+IHtcbiAgY29uc3Qgc2lnbmF0dXJlID0gbmV3IHN0YXJrbmV0LlNpZ25hdHVyZShCaWdJbnQociksIEJpZ0ludChzKSk7XG4gIHJldHVybiBzdGFya25ldC52ZXJpZnkoc2lnbmF0dXJlLCBtZXNzYWdlLCBwdWJsaWNLZXkpO1xufTtcblxuY29uc3QgaGFzaE1lc3NhZ2UgPSAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGggPSBieXRlc1RvSGV4KHNoYTI1NihtZXNzYWdlKSk7XG4gIHJldHVybiBzdGFya25ldC5wZWRlcnNlbihoLnN1YnN0cmluZygwLCAzMiksIGguc3Vic3RyaW5nKDMyKSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2lnbk1lc3NhZ2UgPSAocHJpdmF0ZUtleTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiBTaWduYXR1cmUgPT5cbiAgc2lnbihwcml2YXRlS2V5LCBoYXNoTWVzc2FnZShtZXNzYWdlKSk7XG5cbmV4cG9ydCBjb25zdCB2ZXJpZnlNZXNzYWdlID0gKFxuICBwdWJsaWNLZXk6IHN0cmluZyxcbiAgbWVzc2FnZTogc3RyaW5nLFxuICBzaWduYXR1cmU6IFNpZ25hdHVyZVxuKSA9PiB2ZXJpZnkoc2lnbmF0dXJlLCBoYXNoTWVzc2FnZShtZXNzYWdlKSwgcHVibGljS2V5KTtcblxuZXhwb3J0IGNvbnN0IHNpZ25UcmFuc2ZlciA9IChcbiAgcHJpdmF0ZUtleTogc3RyaW5nLFxuICB0cmFuc2ZlcjogVHJhbnNmZXJcbik6IFNpZ25hdHVyZSA9PiB7XG4gIGNvbnN0IG1lc3NhZ2UgPSBoYXNoVHJhbnNmZXIodHJhbnNmZXIpO1xuXG4gIHJldHVybiBzaWduKHByaXZhdGVLZXksIG1lc3NhZ2UpO1xufTtcblxuZXhwb3J0IGNvbnN0IHZlcmlmeVRyYW5zZmVyID0gKFxuICBwdWJsaWNLZXk6IHN0cmluZyxcbiAgdHJhbnNmZXI6IFRyYW5zZmVyLFxuICBzaWduYXR1cmU6IFNpZ25hdHVyZVxuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IG1lc3NhZ2UgPSBoYXNoVHJhbnNmZXIodHJhbnNmZXIpO1xuXG4gIHJldHVybiB2ZXJpZnkoc2lnbmF0dXJlLCBtZXNzYWdlLCBwdWJsaWNLZXkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNpZ25MaW1pdE9yZGVyID0gKFxuICBwcml2YXRlS2V5OiBzdHJpbmcsXG4gIGxpbWl0T3JkZXI6IExpbWl0T3JkZXJcbik6IFNpZ25hdHVyZSA9PiB7XG4gIGNvbnN0IG1lc3NhZ2UgPSBoYXNoTGltaXRPcmRlcihsaW1pdE9yZGVyKTtcblxuICByZXR1cm4gc2lnbihwcml2YXRlS2V5LCBtZXNzYWdlKTtcbn07XG5cbmV4cG9ydCBjb25zdCB2ZXJpZnlMaW1pdE9yZGVyID0gKFxuICBwdWJsaWNLZXk6IHN0cmluZyxcbiAgbGltaXRPcmRlcjogTGltaXRPcmRlcixcbiAgc2lnbmF0dXJlOiBTaWduYXR1cmVcbik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBtZXNzYWdlID0gaGFzaExpbWl0T3JkZXIobGltaXRPcmRlcik7XG4gIHJldHVybiB2ZXJpZnkoc2lnbmF0dXJlLCBtZXNzYWdlLCBwdWJsaWNLZXkpO1xufTtcbiJdfQ==

@@ -1,14 +0,70 @@

export function pedersen(input: any): any;
export function getLimitOrderMsgHash(vaultSell: any, vaultBuy: any, amountSell: any, amountBuy: any, tokenSell: any, tokenBuy: any, nonce: any, expirationTimestamp: any): any;
export function getLimitOrderMsgHashWithFee(vaultSell: any, vaultBuy: any, amountSell: any, amountBuy: any, tokenSell: any, tokenBuy: any, nonce: any, expirationTimestamp: any, feeToken: any, feeVaultId: any, feeLimit: any): any;
export function getTransferMsgHash(amount: any, nonce: any, senderVaultId: any, token: any, receiverVaultId: any, receiverPublicKey: any, expirationTimestamp: any, condition: any): any;
export function getTransferMsgHashWithFee(amount: any, nonce: any, senderVaultId: any, token: any, receiverVaultId: any, receiverStarkKey: any, expirationTimestamp: any, condition: any, feeToken: any, feeVaultId: any, feeLimit: any): any;
export function sign(privateKey: any, msgHash: any): any;
export function verify(publicKey: any, msgHash: any, msgSignature: any): any;
export const prime: BN;
export const maxEcdsaVal: BN;
export const starkEc: EllipticCurve;
export const constantPoints: any[];
export const shiftPoint: any;
import BN from "bn.js";
import { ec as EllipticCurve } from "elliptic";
/**
Serializes the order message in the canonical format expected by the verifier.
party_a sells amountSell coins of tokenSell from vaultSell.
party_a buys amountBuy coins of tokenBuy into vaultBuy.
Expected types:
---------------
@param {string|number} vaultSell - uint31 (as int)
@param {string|number} vaultBuy - uint31 (as int)
@param {string} amountSell - uint63 (as decimal string)
@param {string} amountBuy - uint63 (as decimal string)
@param {string} tokenSell - uint256 field element strictly less than the prime (as hex string with 0x)
@param {string} tokenBuy - uint256 field element strictly less than the prime (as hex string with 0x)
@param {number} nonce - uint31 (as int)
@param {number} expirationTimestamp - uint22 (as int).
*/
export function getLimitOrderMsgHash(vaultSell: string | number, vaultBuy: string | number, amountSell: string, amountBuy: string, tokenSell: string, tokenBuy: string, nonce: number, expirationTimestamp: number): string;
/**
Same as getLimitOrderMsgHash, but also requires the fee info.
Expected types of fee info params:
---------------
@param {string|number} vaultSell - uint31 (as int)
@param {string|number} vaultBuy - uint31 (as int)
@param {string} amountSell - uint63 (as decimal string)
@param {string} amountBuy - uint63 (as decimal string)
@param {string} tokenSell - uint256 field element strictly less than the prime (as hex string with 0x)
@param {string} tokenBuy - uint256 field element strictly less than the prime (as hex string with 0x)
@param {number} nonce - uint31 (as int)
@param {number} expirationTimestamp - uint22 (as int).
@param {string|number} feeVaultId - uint31 (as int)
@param {string} feeLimit - uint63 (as decimal string)
@param {string} feeToken - uint256 field element strictly less than the prime (as hex string with 0x)
*/
export function getLimitOrderMsgHashWithFee(vaultSell: string | number, vaultBuy: string | number, amountSell: string, amountBuy: string, tokenSell: string, tokenBuy: string, nonce: number, expirationTimestamp: number, feeToken: string, feeVaultId: string | number, feeLimit: string): string;
/**
Serializes the transfer message in the canonical format expected by the verifier.
The sender transfer 'amount' coins of 'token' from vault with id senderVaultId to vault with id
receiverVaultId. The receiver's public key is receiverPublicKey.
If a condition is added, it is verified before executing the transfer. The format of the condition
is defined by the application.
Expected types:
---------------
@param {string} amount - uint63 (as decimal string)
@param {number} nonce - uint31 (as int)
@param {string|number} senderVaultId - uint31 (as int)
@param {string} token - uint256 field element strictly less than the prime (as hex string with 0x)
@param {string|number} receiverVaultId - uint31 (as int)
@param {string} receiverPublicKey - uint256 field element strictly less than the prime (as hex string with 0x)
@param {number} expirationTimestamp - uint22 (as int).
@param {string|null} [condition] - uint256 field element strictly less than the prime (as hex string with 0x)
*/
export function getTransferMsgHash(amount: string, nonce: number, senderVaultId: string | number, token: string, receiverVaultId: string | number, receiverPublicKey: string, expirationTimestamp: number, condition?: string | null | undefined): string;
/**
Same as getTransferMsgHash, but also requires the fee info.
Expected types of fee info params:
---------------
@param {string} amount - uint63 (as decimal string)
@param {number} nonce - uint31 (as int)
@param {string|number} senderVaultId - uint31 (as int)
@param {string} token - uint256 field element strictly less than the prime (as hex string with 0x)
@param {string|number} receiverVaultId - uint31 (as int)
@param {string} receiverStarkKey - uint256 field element strictly less than the prime (as hex string with 0x)
@param {number} expirationTimestamp - uint22 (as int).
@param {string|null|undefined} condition - uint256 field element strictly less than the prime (as hex string with 0x)
@param {string} feeToken - uint256 field element strictly less than the prime (as hex string with 0x)
@param {number|string} feeVaultId - uint31 (as int)
@param {string} feeLimit - uint63 (as decimal string)
*/
export function getTransferMsgHashWithFee(amount: string, nonce: number, senderVaultId: string | number, token: string, receiverVaultId: string | number, receiverStarkKey: string, expirationTimestamp: number, condition: string | null | undefined, feeToken: string, feeVaultId: number | string, feeLimit: string): string;

@@ -1,3 +0,1 @@

import { ec } from 'elliptic';
export declare type KeyPair = ec.KeyPair;
export interface Fee {

@@ -4,0 +2,0 @@ tokenId: string;

@@ -6,14 +6,10 @@ {

"license": "MIT",
"version": "1.3.5",
"version": "2.0.0",
"main": "lib.js",
"dependencies": {
"bigint-buffer": "^1.1.5",
"bip39": "^3.0.4",
"bn.js": "^5.2.0",
"elliptic": "^6.5.4",
"enc-utils": "^3.0.0",
"ethereumjs-wallet": "^1.0.1",
"ffi-napi": "^4.0.3",
"hash.js": "^1.1.7",
"patch-package": "^6.4.7"
"@noble/curves": "^1.0.0",
"@noble/hashes": "~1.3.0",
"@scure/bip32": "1.3.0",
"@scure/bip39": "^1.2.1",
"micro-starknet": "0.2.3"
},

@@ -23,12 +19,7 @@ "devDependencies": {

"@babel/core": "^7.16.5",
"@babel/plugin-transform-destructuring": "^7.16.5",
"@babel/preset-env": "^7.16.5",
"@babel/preset-typescript": "^7.16.5",
"@babel/runtime": "^7.16.5",
"@types/elliptic": "^6.4.14",
"@types/jest": "^27.0.3",
"@types/webpack-env": "^1.16.3",
"@typescript-eslint/eslint-plugin": "^5.7.0",
"@typescript-eslint/parser": "^5.7.0",
"babel-plugin-macros": "^3.1.0",
"eslint": "^8.4.1",

@@ -42,7 +33,3 @@ "eslint-config-airbnb-base": "^15.0.0",

"jest": "^27.4.5",
"patch-package": "^6.4.7",
"prettier": "^2.5.1",
"prettier-eslint": "^13.0.0",
"source-map-explorer": "^2.5.2",
"ts-loader": "^9.2.6",
"typescript": "^4.5.4"

@@ -62,4 +49,2 @@ },

"prepublish": "yarn run build",
"install": "(test -n \"$USE_STARKWARE_CRYPTO_CPP\" && node-gyp rebuild) || true",
"postinstall": "patch-package",
"test": "jest ./src",

@@ -70,9 +55,3 @@ "package": "yarn build && rm dist/index.test.* && yarn pack",

"files": [
"deps/crypto-cpp/LICENSE",
"deps/crypto-cpp/src/**/*.cc",
"deps/crypto-cpp/src/**/*.inl",
"deps/crypto-cpp/src/**/*.hpp",
"deps/crypto-cpp/src/**/*.h",
"dist",
"binding.gyp",
"lib.js",

@@ -85,4 +64,5 @@ "lib.d.ts"

"not ie <= 11",
"not op_mini all"
"not op_mini all",
"supports bigint"
]
}

@@ -42,5 +42,6 @@ <!-- logo -->

# C++ bindings
# Release
Starting from v1.3.2, C++ bindings can be used for faster `verifyTransfer` and `verifyLimitOrder` operations. It uses Starkware's [crypto-cpp](https://github.com/starkware-libs/crypto-cpp) library and can be enabled by adding `USE_STARKWARE_CRYPTO_CPP=true` to your env. Please note that this variable also needs to be set when `yarn install` runs in order to build the C++ bindings using [node-gyp](https://github.com/nodejs/node-gyp).
- Bump version in package.json
- Run `yarn release`

@@ -47,0 +48,0 @@ # License

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

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc