From 146bc8e11a0c5269aac0b4246f3d1105ffa77920 Mon Sep 17 00:00:00 2001 From: Daniel Cousens Date: Tue, 25 Aug 2015 18:09:50 +1000 Subject: [PATCH] address: re-use fromBase58Check internally --- src/address.js | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/address.js b/src/address.js index 669b6d5..d6924b3 100644 --- a/src/address.js +++ b/src/address.js @@ -9,7 +9,7 @@ function fromBase58Check (address) { if (payload.length < 21) throw new TypeError(address + ' is too short') if (payload.length > 21) throw new TypeError(address + ' is too long') - var version = payload.readUInt8(0) + var version = payload[0] var hash = payload.slice(1) return { hash: hash, version: version } @@ -38,15 +38,9 @@ function toBase58Check (hash, version) { function toOutputScript (address, network) { network = network || networks.bitcoin - var payload = bs58check.decode(address) - if (payload.length < 21) throw new TypeError(address + ' is too short') - if (payload.length > 21) throw new TypeError(address + ' is too long') - - var version = payload.readUInt8(0) - var hash = payload.slice(1) - - if (version === network.pubKeyHash) return bscript.pubKeyHashOutput(hash) - if (version === network.scriptHash) return bscript.scriptHashOutput(hash) + var decode = fromBase58Check(address) + if (decode.version === network.pubKeyHash) return bscript.pubKeyHashOutput(decode.hash) + if (decode.version === network.scriptHash) return bscript.scriptHashOutput(decode.hash) throw new Error(address + ' has no matching Script') }