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

eosjs-ecc

Package Overview
Dependencies
Maintainers
2
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eosjs-ecc - npm Package Compare versions

Comparing version 2.0.1 to 3.0.0

1

lib/key_public.js

@@ -133,3 +133,2 @@ 'use strict';

@return PublicKey or `null` (if the public_key string is invalid)
@deprecated fromPublicKeyString (use fromString instead)
*/

@@ -136,0 +135,0 @@ PublicKey.fromString = function (public_key) {

17

lib/object.test.js

@@ -5,2 +5,3 @@ 'use strict';

var assert = require('assert');
var config = require('./config');

@@ -10,3 +11,4 @@ var ecc = require('.');

var PublicKey = ecc.PublicKey,
PrivateKey = ecc.PrivateKey;
PrivateKey = ecc.PrivateKey,
Signature = ecc.Signature;

@@ -16,3 +18,3 @@

it('PrivateKey constructor', function () {
PrivateKey.randomKey().then(function (privateKey) {
return PrivateKey.randomKey().then(function (privateKey) {
assert(privateKey.toWif() === PrivateKey(privateKey.toWif()).toWif());

@@ -28,3 +30,3 @@ assert(privateKey.toWif() === PrivateKey(privateKey.toBuffer()).toWif());

it('PublicKey constructor', function () {
PrivateKey.randomKey().then(function (privateKey) {
return PrivateKey.randomKey().then(function (privateKey) {
var publicKey = privateKey.toPublic();

@@ -39,2 +41,11 @@ assert(publicKey.toString() === PublicKey(publicKey.toString()).toString());

});
it('Signature', function () {
return PrivateKey.randomKey().then(function (privateKey) {
var signature = Signature.sign('data', privateKey);
var sigstr = signature.toString();
assert(sigstr.indexOf(config.address_prefix) === 0, 'signature string format');
assert(sigstr.length > 90, 'signature string is too short');
assert(Signature.from(sigstr), 'signature from string');
});
});
});

@@ -5,2 +5,3 @@ 'use strict';

var hash = require('./hash');
var base58 = require('bs58');
var curve = require('ecurve').getCurveByName('secp256k1');

@@ -11,2 +12,3 @@ var assert = require('assert');

var PrivateKey = require('./key_private');
var config = require('./config');

@@ -110,2 +112,17 @@ module.exports = Signature;

var signatureCache = void 0; // cache
function toString() {
var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : config.address_prefix;
if (signatureCache) {
return prefix + signatureCache;
}
var pub_buf = toBuffer();
var checksum = hash.ripemd160(pub_buf);
var signatureString = Buffer.concat([pub_buf, checksum.slice(0, 4)]);
signatureCache = base58.encode(signatureString);
return prefix + signatureCache;
}
return {

@@ -120,2 +137,3 @@ r: r, s: s, i: i,

toHex: toHex,
toString: toString,

@@ -206,2 +224,38 @@ /** @deprecated use verify (same arguments and return) */

/**
@arg {string} signature - like STMXyz...
@arg {string} address_prefix - like STM
@return Signature or `null` (if the signature string is invalid)
*/
Signature.fromString = function (signature) {
var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : config.address_prefix;
try {
return Signature.fromStringOrThrow(signature, prefix);
} catch (e) {
return null;
}
};
/**
@arg {string} signature - like EOSKey..
@arg {string} address_prefix - like EOS
@throws {Error} if public key is invalid
@return Signature
*/
Signature.fromStringOrThrow = function (signature) {
var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : config.address_prefix;
var actualPrefix = signature.slice(0, prefix.length);
assert.equal(actualPrefix, prefix, 'Expecting key to begin with ' + prefix + ', instead got ' + prefix);
signature = signature.slice(prefix.length);
signature = new Buffer(base58.decode(signature), 'binary');
var checksum = signature.slice(-4);
signature = signature.slice(0, -4);
var new_checksum = hash.ripemd160(signature);
new_checksum = new_checksum.slice(0, 4);
assert.deepEqual(checksum, new_checksum, 'Checksum did not match, ' + (checksum.toString('hex') + ' != ' + new_checksum.toString('hex')));
return Signature.fromBuffer(signature);
};
/**
@arg {String|Signature} o - hex string

@@ -211,3 +265,3 @@ @return {Signature}

Signature.from = function (o) {
var signature = o ? o.r && o.s && o.i ? o : typeof o === 'string' ? Signature.fromHex(o) : Buffer.isBuffer(o) ? Signature.fromBuffer(o) : null : o; /*null or undefined*/
var signature = o ? o.r && o.s && o.i ? o : typeof o === 'string' && o.length === 130 ? Signature.fromHex(o) : typeof o === 'string' && o.length !== 130 ? Signature.fromString(o) : Buffer.isBuffer(o) ? Signature.fromBuffer(o) : null : o; /*null or undefined*/

@@ -214,0 +268,0 @@ if (!signature) {

{
"name": "eosjs-ecc",
"version": "2.0.1",
"version": "3.0.0",
"description": "Elliptic curve cryptography functions",

@@ -5,0 +5,0 @@ "keywords": "ECC, Private Key, Public Key, Signature, AES, Encryption, Decryption",

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