From 1324974c4d17c01d2a19ea84dc0363c7c92fba70 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Wed, 19 Mar 2014 16:20:41 -0300 Subject: [PATCH] add isScript to Address --- Address.js | 5 +++++ test/test.Address.js | 23 ++++++++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/Address.js b/Address.js index f8dcf8e49..679dbb3d1 100644 --- a/Address.js +++ b/Address.js @@ -38,4 +38,9 @@ Address.prototype.network = function() { return answer; }; +Address.prototype.isScript = function() { + return this.isValid() && this.version() === this.network().addressScript; +}; + + module.exports = require('soop')(Address); diff --git a/test/test.Address.js b/test/test.Address.js index 3e0441f67..e1d73d87f 100644 --- a/test/test.Address.js +++ b/test/test.Address.js @@ -48,23 +48,36 @@ describe('Address', function() { }); }); it('should be able to detect network from an address', function() { + // livenet var a = new Address('1KfyjCgBSMsLqiCbakfSdeoBUqMqLUiu3T'); a.network().name.should.equal('livenet'); - var a = new Address('1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp'); + a = new Address('1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp'); a.network().name.should.equal('livenet'); //p2sh - var a = new Address('3QRhucKtEn5P9i7YPxzXCqBtPJTPbRFycn'); + a = new Address('3QRhucKtEn5P9i7YPxzXCqBtPJTPbRFycn'); a.network().name.should.equal('livenet'); //testnet - var a = new Address('mrPnbY1yKDBsdgbHbS7kJ8GVm8F66hWHLE'); + a = new Address('mrPnbY1yKDBsdgbHbS7kJ8GVm8F66hWHLE'); a.network().name.should.equal('testnet'); - var a = new Address('n2ekxibY5keRiMaoKFGfiNfXQCS4zTUpct'); + a = new Address('n2ekxibY5keRiMaoKFGfiNfXQCS4zTUpct'); a.network().name.should.equal('testnet'); //p2sh - var a = new Address('2NBSBcf2KfjPEEqVusmrWdmUeNHRiUTS3Li'); + a = new Address('2NBSBcf2KfjPEEqVusmrWdmUeNHRiUTS3Li'); a.network().name.should.equal('testnet'); }); + it('#isScript should work', function() { + // invalid + new Address('1T').isScript().should.equal(false); + // pubKeyHash livenet + new Address('1KfyjCgBSMsLqiCbakfSdeoBUqMqLUiu3T').isScript().should.equal(false); + // script livenet + new Address('3QRhucKtEn5P9i7YPxzXCqBtPJTPbRFycn').isScript().should.equal(true); + // pubKeyHash testnet + new Address('mrPnbY1yKDBsdgbHbS7kJ8GVm8F66hWHLE').isScript().should.equal(false); + // script testnet + new Address('2NBSBcf2KfjPEEqVusmrWdmUeNHRiUTS3Li').isScript().should.equal(true); + }); });