Compare commits

...

2 commits

Author SHA1 Message Date
Brendon Duncan
eacf207b2c Merge with origin. 2018-09-26 16:33:01 +12:00
Brendon Duncan
a426a5abc0 Now handles URIs that begin with 'bch:'. 2018-09-26 16:27:47 +12:00
2 changed files with 29 additions and 3 deletions

View file

@ -151,6 +151,7 @@
hasPassphrase: false, hasPassphrase: false,
type: 1, type: 1,
}, },
isTestnet: false,
isValid: false, isValid: false,
label: '', label: '',
message: '', message: '',
@ -170,7 +171,6 @@
"req-param0": '', "req-param0": '',
"req-param1": '' "req-param1": ''
}, },
testnet: false,
url: '' // For BIP70 url: '' // For BIP70
} }
@ -204,7 +204,13 @@
} else if (/^(?:bitcoincash)|(?:bitcoin-cash)$/.test(preColonLower)) { } else if (/^(?:bitcoincash)|(?:bitcoin-cash)$/.test(preColonLower)) {
parsed.coin = 'bch'; parsed.coin = 'bch';
parsed.test = false; parsed.isTestnet = false;
addressAndParams = colonSplit[2].trim();
console.log('Is bch');
} else if (/^(?:bch)$/.test(preColonLower)) {
parsed.coin = 'bch';
parsed.isTestnet = false;
addressAndParams = colonSplit[2].trim(); addressAndParams = colonSplit[2].trim();
console.log('Is bch'); console.log('Is bch');

View file

@ -30,7 +30,7 @@ describe('bitcoinUriService', function() {
expect(parsed.isValid).toBe(true); expect(parsed.isValid).toBe(true);
expect(parsed.coin).toBe('bch'); expect(parsed.coin).toBe('bch');
expect(parsed.publicAddress).toBeUndefined(); expect(parsed.publicAddress).toBeUndefined();
expect(parsed.isTestnet).toBeUndefined(); expect(parsed.isTestnet).toBe(false);
expect(parsed.url).toBe('https://bitpay.com/i/SmHdie5dvBnG5kouZzEPzu'); expect(parsed.url).toBe('https://bitpay.com/i/SmHdie5dvBnG5kouZzEPzu');
}); });
@ -171,6 +171,16 @@ describe('bitcoinUriService', function() {
expect(parsed.isTestnet).toBe(false); expect(parsed.isTestnet).toBe(false);
}); });
it('legacy address with bch prefix', function() {
var parsed = bitcoinUriService.parse('bch:19yUdM2H7sADrabR6Afu9zTpmwqr6WYprX');
expect(parsed.isValid).toBe(true);
expect(parsed.coin).toBe('bch');
expect(parsed.publicAddress.legacy).toBe('19yUdM2H7sADrabR6Afu9zTpmwqr6WYprX');
expect(parsed.isTestnet).toBe(false);
});
it('cashAddr testnet with prefix', function() { it('cashAddr testnet with prefix', function() {
var parsed = bitcoinUriService.parse('bchtest:qpcz6pmurq9ctg5848trzz9zmuuygj4q5qam7ph3gt'); var parsed = bitcoinUriService.parse('bchtest:qpcz6pmurq9ctg5848trzz9zmuuygj4q5qam7ph3gt');
@ -191,6 +201,16 @@ describe('bitcoinUriService', function() {
expect(parsed.isTestnet).toBe(false); expect(parsed.isTestnet).toBe(false);
}); });
it('cashAddr with bch prefix', function() {
var parsed = bitcoinUriService.parse('bch:qpqzqtjqqc00nsxj0e3kevz65ujg4yt5z5w99jap5f');
expect(parsed.isValid).toBe(true);
expect(parsed.coin).toBe('bch');
expect(parsed.publicAddress.cashAddr).toBe('qpqzqtjqqc00nsxj0e3kevz65ujg4yt5z5w99jap5f');
expect(parsed.isTestnet).toBe(false);
});
it('cashAddr with dash', function() { it('cashAddr with dash', function() {
var parsed = bitcoinUriService.parse('bitcoin-cash:qpshfu3dk5s3e7zdcgdcun6xgxtra6uyxs7g580js0'); var parsed = bitcoinUriService.parse('bitcoin-cash:qpshfu3dk5s3e7zdcgdcun6xgxtra6uyxs7g580js0');