From 771cf5d82c0da5c066897f472f58bbf07a5561ed Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 6 Mar 2018 11:17:37 -0500 Subject: [PATCH] modifies address translator to support Cashaddr --- lib/addresstranslator.js | 6 +++++- package-lock.json | 14 +++++++------- package.json | 2 +- test/addressestranslator.js | 10 +++++----- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/lib/addresstranslator.js b/lib/addresstranslator.js index db6e4a9..65927ad 100644 --- a/lib/addresstranslator.js +++ b/lib/addresstranslator.js @@ -32,7 +32,11 @@ AddressTranslator.translate = function(addresses, coin, origCoin) { origCoin = origCoin || AddressTranslator.getAddressCoin(addresses[0]); var ret = _.map(addresses, function(x) { var orig = new Bitcore_[origCoin].Address(x).toObject(); - return Bitcore_[coin].Address.fromObject(orig).toString(); + if (coin == 'bch') { + return Bitcore_[coin].Address.fromObject(orig).toCashAddress(true); + } else { + return Bitcore_[coin].Address.fromObject(orig).toString(); + } }); if (wasArray) diff --git a/package-lock.json b/package-lock.json index 9e26a50..79cb7cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -247,9 +247,9 @@ } }, "bitcore-lib-cash": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/bitcore-lib-cash/-/bitcore-lib-cash-0.16.1.tgz", - "integrity": "sha512-RcOZCeyHBCTREHytQ7SwvmkSHJ3a/FZHQ6BIQwstQqpbMkEjGACHUfg8CAwvonLJ4soxcyuuRuensgtLI7MM8g==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/bitcore-lib-cash/-/bitcore-lib-cash-0.17.0.tgz", + "integrity": "sha512-uJVW6DPVR12p/uhxOCA0cIA/qrDXa5OYyQyZ9kFvJ/YjoXc8auljdo4cmAC89zF3lvikQebbjGqBYUY5Ej3tIg==", "requires": { "bn.js": "4.11.8", "bs58": "4.0.1", @@ -2444,7 +2444,7 @@ "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", "requires": { - "es6-promise": "4.2.2", + "es6-promise": "4.2.4", "extract-zip": "1.6.6", "fs-extra": "1.0.0", "hasha": "2.2.0", @@ -2456,9 +2456,9 @@ }, "dependencies": { "es6-promise": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.2.tgz", - "integrity": "sha512-LSas5vsuA6Q4nEdf9wokY5/AJYXry98i0IzXsv49rYsgDGDNDPbqAYR1Pe23iFxygfbGZNR/5VrHXBCh2BhvUQ==" + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==" } } }, diff --git a/package.json b/package.json index 05789a2..68eb215 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "dependencies": { "async": "^0.9.2", "bitcore-lib": "^0.15.0", - "bitcore-lib-cash": "^0.16.1", + "bitcore-lib-cash": "^0.17.0", "body-parser": "^1.11.0", "compression": "^1.6.2", "coveralls": "^2.11.2", diff --git a/test/addressestranslator.js b/test/addressestranslator.js index 924ad0d..337d28b 100644 --- a/test/addressestranslator.js +++ b/test/addressestranslator.js @@ -10,7 +10,7 @@ var AddressTranslator = require('../lib/addresstranslator'); describe('#AddressTranslator', function() { it('should translate address from btc to bch', function() { var res = AddressTranslator.translate('1LqBGSKuX5yYUonjxT5qGfpUsXKYYWeabA', 'bch'); - assert( res == 'CcJ4qUfyQ8x5NwhAeCQkrBSWVeXxXghcNz'); + assert( res == 'qrvcdmgpk73zyfd8pmdl9wnuld36zh9n4gms8s0u59'); }); it('should translate address from bch to btc', function() { var res = AddressTranslator.translateInput('HBf8isgS8EXG1r3X6GP89FmooUmiJ42wHS'); @@ -19,7 +19,7 @@ describe('#AddressTranslator', function() { it('should keep the address if there is nothing to do (bch)', function() { var res = AddressTranslator.translate('CcJ4qUfyQ8x5NwhAeCQkrBSWVeXxXghcNz', 'bch'); - assert(res=='CcJ4qUfyQ8x5NwhAeCQkrBSWVeXxXghcNz'); + assert(res=='qrvcdmgpk73zyfd8pmdl9wnuld36zh9n4gms8s0u59'); }); it('should keep the address if there is nothing to do (btc)', function() { var res = AddressTranslator.translate('1LqBGSKuX5yYUonjxT5qGfpUsXKYYWeabA', 'btc'); @@ -42,9 +42,9 @@ describe('#AddressTranslator', function() { it('should work with arrays also', function() { var res = AddressTranslator.translateOutput(['1LqBGSKuX5yYUonjxT5qGfpUsXKYYWeabA', '37YHiaQnMjy73GS1UpiE8p2Ju6MyrrDw3J', '1DuPdCpGzVX73kBYaAbu5XDNDgE2Lza5Ed']); - assert(res[0] == 'CcJ4qUfyQ8x5NwhAeCQkrBSWVeXxXghcNz'); - assert(res[1] == 'HCNQBNqsD4BmfSK3LWNP7CYqvkNznSrXS3'); - assert(res[2] == 'CVNHCFALsYVdwt5yFuvpf2qPqoSSGtvY7t'); + assert(res[0] == 'qrvcdmgpk73zyfd8pmdl9wnuld36zh9n4gms8s0u59'); + assert(res[1] == 'ppqz5v08kssnuupe0ckqtw4ss3qt460fcqugqzq2me'); + assert(res[2] == 'qzxc5pnsfs8pmgfprhzc4l4vzf3zxz8p85nc6kfh8l'); });