Enforces bytesToWordArray only operates on byte arrays

This commit is contained in:
Daniel Cousens 2014-04-30 05:07:41 +10:00
parent 953223c818
commit b09dd73cbe
2 changed files with 7 additions and 5 deletions

View file

@ -1,3 +1,4 @@
var assert = require('assert')
var Crypto = require('crypto-js')
var WordArray = Crypto.lib.WordArray
@ -77,6 +78,7 @@ function varIntToNum(bytes) {
}
function bytesToWords(bytes) {
assert(Array.isArray(bytes) || Buffer.isBuffer(bytes), 'Input must be a byte array')
var words = []
for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {
words[b >>> 5] |= bytes[i] << (24 - b % 32)

View file

@ -233,17 +233,17 @@ describe('HDWallet', function() {
describe('network types', function() {
it('ensures that a bitcoin Wallet generates bitcoin addresses', function() {
var wallet = new HDWallet('foobar', 'bitcoin')
assert.equal(wallet.getAddress().toString(), '1JNymexJHEr5u1BndiChMStFkCgPm4EQ6o')
var wallet = new HDWallet(new Buffer('foobar'), 'bitcoin')
assert.equal(wallet.getAddress().toString(), '17SnB9hyGwJPoKpLb9eVPHjsujyEuBpMAA')
})
it('ensures that a testnet Wallet generates testnet addresses', function() {
var wallet = new HDWallet('foobar', 'testnet')
assert.equal(wallet.getAddress().toString(), 'mxtw4i3H6GHLg7fQMHB5BN6acCH6kQ7aoY')
var wallet = new HDWallet(new Buffer('foobar'), 'testnet')
assert.equal(wallet.getAddress().toString(), 'mmxjUCnx5xjeaSHxJicsDCxCmjZwq8KTbv')
})
it('throws an excption when unknown network type is passed in', function() {
assert.throws(function() { new HDWallet("foobar", "doge") })
assert.throws(function() { new HDWallet(new Buffer('foobar'), 'doge') })
})
})
})