Address: Fix indentation, typos and simplify isValid

This commit is contained in:
Braydon Fuller 2014-11-21 19:02:58 -05:00
parent 8f32063375
commit 0df97a42fe
2 changed files with 29 additions and 23 deletions

View File

@ -4,6 +4,7 @@ var base58check = require('./encoding/base58check');
var networks = require('./networks'); var networks = require('./networks');
var Hash = require('./crypto/hash'); var Hash = require('./crypto/hash');
/** /**
* *
* Bitcore Address * Bitcore Address
@ -51,7 +52,7 @@ function Address(data, network, type) {
throw new Error('Unrecognized data format'); throw new Error('Unrecognized data format');
} }
// set defaults is not set // set defaults if not set
info.network = info.network || network || 'mainnet'; info.network = info.network || network || 'mainnet';
info.type = info.type || type || 'pubkeyhash'; info.type = info.type || type || 'pubkeyhash';
@ -105,25 +106,25 @@ Address._transformBuffer = function(buffer, network, type){
var bufType = false; var bufType = false;
switch(buffer[0]){ // the version byte switch(buffer[0]){ // the version byte
case networks.mainnet.pubkeyhash: case networks.mainnet.pubkeyhash:
bufNetwork = 'mainnet'; bufNetwork = 'mainnet';
bufType = 'pubkeyhash'; bufType = 'pubkeyhash';
break; break;
case networks.mainnet.scripthash: case networks.mainnet.scripthash:
bufNetwork = 'mainnet'; bufNetwork = 'mainnet';
bufType = 'scripthash'; bufType = 'scripthash';
break; break;
case networks.testnet.pubkeyhash: case networks.testnet.pubkeyhash:
bufNetwork = 'testnet'; bufNetwork = 'testnet';
bufType = 'pubkeyhash'; bufType = 'pubkeyhash';
break; break;
case networks.testnet.scripthash: case networks.testnet.scripthash:
bufNetwork = 'testnet'; bufNetwork = 'testnet';
bufType = 'scripthash'; bufType = 'scripthash';
break; break;
} }
if (!bufNetwork || (network && network !== bufNetwork)) { if (!bufNetwork || (network && network !== bufNetwork)) {
@ -311,12 +312,7 @@ Address.getValidationError = function(data, network, type) {
* @returns {null|Error} The corresponding error message * @returns {null|Error} The corresponding error message
*/ */
Address.isValid = function(data, network, type) { Address.isValid = function(data, network, type) {
var error = Address.getValidationError(data, network, type); return !Address.getValidationError(data, network, type);
if (error) {
return false;
} else {
return true;
}
}; };
/** /**

View File

@ -88,6 +88,16 @@ describe('Address', function() {
should.exist(error); should.exist(error);
}); });
it('should should return a true boolean', function(){
var valid = Address.isValid('37BahqRsFrAd3qLiNNwLNV3AWMRD7itxTo', 'mainnet');
valid.should.equal(true);
});
it('should should return a false boolean', function(){
var valid = Address.isValid('37BahqRsFrAd3qLiNNwLNV3AWMRD7itxTo', 'testnet');
valid.should.equal(false);
});
it('should validate addresses', function() { it('should validate addresses', function() {
for(var i=0;i<validAddresses.length;i++){ for(var i=0;i<validAddresses.length;i++){
var error = Address.getValidationError(validAddresses[i]); var error = Address.getValidationError(validAddresses[i]);