From 0251d467c4b2cac926485f2ffa048c896ee36708 Mon Sep 17 00:00:00 2001 From: "Ryan X. Charles" Date: Tue, 15 Jul 2014 11:25:18 -0700 Subject: [PATCH] update bn.js to latest version ...and correspondingly get rid of Number->String conversion See: https://github.com/indutny/bn.js/issues/17 --- lib/browser/Bignum.js | 2 -- package.json | 2 +- test/test.Bignum.js | 7 +++++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/browser/Bignum.js b/lib/browser/Bignum.js index 110985509..7fa981999 100644 --- a/lib/browser/Bignum.js +++ b/lib/browser/Bignum.js @@ -4,8 +4,6 @@ var bnjs = function bnjs_extended(n) { if (!(this instanceof bnjs_extended)) { return new bnjs(n); } - if (typeof n === 'number') - n = n.toString(); arguments[0] = n; return _bnjs.apply(this, arguments); }; diff --git a/package.json b/package.json index 2b43765da..98ee1ac49 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "mocha": ">=1.15.1", "sjcl": "=1.0.1", "hash.js": "=0.3.1", - "bn.js": "=0.13.2", + "bn.js": "=0.13.3", "elliptic": "=0.15.7", "bindings": "=1.1.1", "bufferput": "git://github.com/bitpay/node-bufferput.git", diff --git a/test/test.Bignum.js b/test/test.Bignum.js index 0910cc135..66d374800 100644 --- a/test/test.Bignum.js +++ b/test/test.Bignum.js @@ -17,6 +17,13 @@ describe('Bignum', function() { var bn = new Bignum(999970000); bn.toString().should.equal('999970000'); }); + + it('should parse numbers below and at bn.js internal word size', function() { + var bn = new Bignum(Math.pow(2, 26) - 1); + bn.toString().should.equal((Math.pow(2, 26) - 1).toString()); + var bn = new Bignum(Math.pow(2, 26)); + bn.toString().should.equal((Math.pow(2, 26)).toString()); + }); describe('#add', function() {