add check in constructor of Address

This commit is contained in:
Matias Alejo Garcia 2014-07-24 01:40:56 -03:00
parent 19584e1f26
commit 71f992138b
2 changed files with 16 additions and 1 deletions

View File

@ -38,7 +38,7 @@ var Script = require('./Script');
var util = require('util');
function Address(version, hash) {
if (hash && hash.length && hash.length != 20)
if (hash && hash.length && (!Buffer.isBuffer(hash) || hash.length != 20))
throw new Error('Hash must be 20 bytes');
Address.super_.call(this, version, hash);
}

View File

@ -107,6 +107,21 @@ describe('Address', function() {
});
});
describe('constructor, 2 params', function() {
it('should make an address from a version, hash', function() {
var hash = new Buffer('1ab59a0fd1d5fc446d38746ee033c8af57ed6bc0', 'hex');
var addr = new Address(0, hash);
addr.toString().should.equal('13SE7uKmnQwGA8X1A8WcZnX2ceQRDEzsAd');
});
it('should fail with param version, string', function() {
var hash = '1ab59a0fd1d5fc446d38746ee033c8af57ed6bc0';
( function (){
var addr = new Address(0, hash);
}).should.throw();
});
});
describe('#fromPubKey', function() {
it('should make pubkeyhash address from an uncompressed public key', function() {
var pubkey = new Buffer('04fa05ce8b25010cb6e17a30e0b66668bf083c40687547748ec330ee77adf53a42abd3d26148cbacfcf79c907ddefeb2c37f8bebc0a695ba79d634449d871de218', 'hex');