diff --git a/lib/crypto/schnorr.js b/lib/crypto/schnorr.js index 7f68bad7..c22c6baf 100644 --- a/lib/crypto/schnorr.js +++ b/lib/crypto/schnorr.js @@ -9,7 +9,7 @@ var BN = require('bn.js'); var elliptic = require('elliptic'); var Signature = require('elliptic/lib/elliptic/ec/signature'); -var hmacDRBG = require('elliptic/lib/elliptic/hmac-drbg'); +var hmacDRBG = require('hmac-drbg'); var sha256 = require('./backend').sha256; var secp256k1 = elliptic.ec('secp256k1'); var curve = secp256k1.curve; diff --git a/package.json b/package.json index 59670482..0c1f23da 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,7 @@ }, "scripts": { "test": "mocha --reporter spec test/*-test.js", + "test-file": "mocha --reporter spec ", "test-browser": "BCOIN_NO_NATIVE=1 BCOIN_USE_ELLIPTIC=1 mocha --reporter spec test/*-test.js", "browserify": "browserify --im -o browser/bcoin.js lib/bcoin.js && browserify --im -o browser/bcoin-master.js lib/workers/master.js", "uglify": "uglifyjs -m -o browser/bcoin.min.js browser/bcoin.js && uglifyjs -m -o browser/bcoin-master.min.js browser/bcoin-master.js", diff --git a/test/key-address-test.js b/test/key-address-test.js new file mode 100644 index 00000000..c6508f48 --- /dev/null +++ b/test/key-address-test.js @@ -0,0 +1,32 @@ +`use strict`; +var assert = require('assert'); +var keyring = require('../lib/primitives/keyring'); + +describe('Keyring Address', function () { + let uncompressedlKey = keyring.fromSecret('5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss'); + it('check uncompressed public key', function () { + assert.equal('04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235', uncompressedlKey.getPublicKey('hex')); + }); + it('ckeck uncompressed public key to address', function () { + assert.equal('1HZwkjkeaoZfTSaJxDw6aKkxp45agDiEzN', uncompressedlKey.getKeyAddress("base58")); + }); + it('check uncompressed secret', function () { + assert.equal('5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss', uncompressedlKey.toSecret()); + }); + + let compressedKey = keyring.fromSecret('L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1'); + it('check compressed public key', function () { + assert.equal('03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd', compressedKey.getPublicKey('hex')); + + }); + it('check compressed public key to address', function () { + assert.equal('1F3sAm6ZtwLAUnj7d38pGFxtP3RVEvtsbV', compressedKey.getKeyAddress("base58")); + }); + it('check compressed secret', function () { + assert.equal('L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1', compressedKey.toSecret()); + }); + + +}); + +