From 93d061c96a830a79728ff9e02128e01fc03cae66 Mon Sep 17 00:00:00 2001 From: Brendon Duncan Date: Thu, 23 Aug 2018 12:55:58 +1200 Subject: [PATCH] Returning addresses from cashAddr with bitcoincash: prefix. --- src/js/services/bitcoin-uri.service.js | 5 +++-- src/js/services/bitcoin-uri.service.spec.js | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/js/services/bitcoin-uri.service.js b/src/js/services/bitcoin-uri.service.js index 0e69b5304..b973a9381 100644 --- a/src/js/services/bitcoin-uri.service.js +++ b/src/js/services/bitcoin-uri.service.js @@ -152,10 +152,11 @@ parsed.legacyAddress = address; } else if (cashAddrRe.test(address)) { - parsed.address = address; + var cashAddr = 'bitcoincash:' + address.toLowerCase(); + parsed.address = cashAddr; parsed.coin = 'bch'; - var bchAddresses = bitcoinCashJsService.readAddress('bitcoincash:' + address); + var bchAddresses = bitcoinCashJsService.readAddress(cashAddr); parsed.legacyAddress = bchAddresses['legacy']; } // TODO: Check for private key diff --git a/src/js/services/bitcoin-uri.service.spec.js b/src/js/services/bitcoin-uri.service.spec.js index 7df819008..d04e2c182 100644 --- a/src/js/services/bitcoin-uri.service.spec.js +++ b/src/js/services/bitcoin-uri.service.spec.js @@ -20,12 +20,22 @@ fdescribe('bitcoinUriService', function() { expect(parsed.legacyAddress).toBe('1JXeGEu7bNEAYu6URT6dU6g1Ys6ffSAWYW'); }); - it('cashAddr', function() { + it('cashAddr with prefix', function() { + + var parsed = bitcoinUriService.parse('bitcoincash:qrq9p82a247lecv08ldk5p5h6ahtnjzpqcnh8yhq92'); + + expect(parsed.isValid).toBe(true); + expect(parsed.address).toBe('bitcoincash:qrq9p82a247lecv08ldk5p5h6ahtnjzpqcnh8yhq92'); + expect(parsed.coin).toBe('bch'); + expect(parsed.legacyAddress).toBe('1JXsK3HSFqoMnwh4Mevf5bTgqPcgNWX7ic'); + }); + + it('cashAddr without prefix', function() { var parsed = bitcoinUriService.parse('qqen2y3l28dpk0dzsag8w027ds96u7z4pc0uxtl0nq'); expect(parsed.isValid).toBe(true); - expect(parsed.address).toBe('qqen2y3l28dpk0dzsag8w027ds96u7z4pc0uxtl0nq'); + expect(parsed.address).toBe('bitcoincash:qqen2y3l28dpk0dzsag8w027ds96u7z4pc0uxtl0nq'); expect(parsed.coin).toBe('bch'); expect(parsed.legacyAddress).toBe('15fm3EwqgBYcxkndALBfforueps5yWKReJ'); });