From fa5f987775407d5bdbfa1ad2fa98900a79c84903 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Sat, 13 May 2017 18:57:40 -0700 Subject: [PATCH] address: fix bech32 hrp check. --- lib/primitives/address.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/primitives/address.js b/lib/primitives/address.js index a1e0e84c..c29a44b2 100644 --- a/lib/primitives/address.js +++ b/lib/primitives/address.js @@ -245,20 +245,23 @@ Address.prototype.toBech32 = function toBech32(network) { */ Address.prototype.fromString = function fromString(addr, network) { - var i, type, hrp; + var i, type, hrp, expect; assert(typeof addr === 'string'); + assert(addr.length >= 2); + + hrp = addr.substring(0, 2).toLowerCase(); if (network) { network = Network.get(network); - hrp = network.addressPrefix.bech32; - if (util.startsWith(addr, hrp)) + expect = network.addressPrefix.bech32; + if (hrp === expect) return this.fromBech32(addr, network); } else { for (i = 0; i < networks.types.length; i++) { type = networks.types[i]; - hrp = networks[type].addressPrefix.bech32; - if (util.startsWith(addr, hrp)) + expect = networks[type].addressPrefix.bech32; + if (hrp === expect) return this.fromBech32(addr, type); } }