Skip to content

Commit e8e2f6c

Browse files
committed
Vertcoin segwit addresses support
1 parent 3866fa0 commit e8e2f6c

File tree

7 files changed

+17
-8
lines changed

7 files changed

+17
-8
lines changed

dist/wallet-address-validator.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2388,7 +2388,7 @@ function isValidP2PKHandP2SHAddress(address, currency, networkType) {
23882388

23892389
module.exports = {
23902390
isValidAddress: function (address, currency, networkType) {
2391-
return isValidP2PKHandP2SHAddress(address, currency, networkType) || segwit.isValidAddress(address);
2391+
return isValidP2PKHandP2SHAddress(address, currency, networkType) || segwit.isValidAddress(address, currency.segwitHrp);
23922392
}
23932393
};
23942394

@@ -4500,8 +4500,8 @@ function encode (hrp, version, program) {
45004500
return ret;
45014501
}
45024502

4503-
function isValidAddress(address) {
4504-
var hrp = 'bc';
4503+
function isValidAddress(address, hrp) {
4504+
var hrp = hrp || 'bc';
45054505
var ret = decode(hrp, address);
45064506

45074507
if (ret === null) {
@@ -5291,6 +5291,7 @@ var CURRENCIES = [{
52915291
name: 'vertcoin',
52925292
symbol: 'vtc',
52935293
addressTypes: {prod: ['0x', '47'], testnet: ['6f', 'c4']},
5294+
segwitHrp: 'vtc',
52945295
validator: BTCValidator
52955296
},{
52965297
name: 'bitcoingold',

dist/wallet-address-validator.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@
2424
"address",
2525
"wallet",
2626
"validator",
27+
"vertcoin",
2728
"javascript",
2829
"browser",
2930
"nodejs"
3031
],
31-
"version": "0.2.2",
32+
"version": "0.2.3",
3233
"author": "Tomek Kolasa <[email protected]>",
3334
"homepage": "https://github.com/ognus/wallet-address-validator",
3435
"license": "MIT",

src/bitcoin_validator.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,6 @@ function isValidP2PKHandP2SHAddress(address, currency, networkType) {
7070

7171
module.exports = {
7272
isValidAddress: function (address, currency, networkType) {
73-
return isValidP2PKHandP2SHAddress(address, currency, networkType) || segwit.isValidAddress(address);
73+
return isValidP2PKHandP2SHAddress(address, currency, networkType) || segwit.isValidAddress(address, currency.segwitHrp);
7474
}
7575
};

src/crypto/segwit_addr.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ function encode (hrp, version, program) {
7070
return ret;
7171
}
7272

73-
function isValidAddress(address) {
74-
var hrp = 'bc';
73+
function isValidAddress(address, hrp) {
74+
var hrp = hrp || 'bc';
7575
var ret = decode(hrp, address);
7676

7777
if (ret === null) {

src/currencies.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ var CURRENCIES = [{
7878
name: 'vertcoin',
7979
symbol: 'vtc',
8080
addressTypes: {prod: ['0x', '47'], testnet: ['6f', 'c4']},
81+
segwitHrp: 'vtc',
8182
validator: BTCValidator
8283
},{
8384
name: 'bitcoingold',

test/wallet_address_validator.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,9 @@ describe('WAValidator.validate()', function () {
216216
valid('mvww6DEJ18dbyQUukpVQXvLgrNDJazZn1Y', 'vertcoin', 'testnet');
217217
valid('mn3mdEE6cf1snxVsknNz4GRTdSrWXqYp7c', 'VTC', 'testnet');
218218
valid('Vri6Q4GgNFfdtcpxD961TotJwaSaYQCaL5', 'VTC');
219+
valid('vtc1qmzq3erafwvz23yfeu9tu45uz2kx3d7esk0rayg', 'VTC');
220+
valid('vtc1qhy8eqwqxpyryz4wctus36yl2uu60t0z6ecrvtc', 'VTC');
221+
valid('vtc1qh9y09s2crkp63mk26u3vrq9q4w3h8ee8gepjgw', 'VTC');
219222
});
220223

221224
it('should return true for correct BitcoinGold addresses', function () {
@@ -439,6 +442,9 @@ describe('WAValidator.validate()', function () {
439442

440443
it('should return false for incorrect vertcoin addresses', function () {
441444
commonTests('vertcoin');
445+
invalid('vtc1qmzq3erafwvz23yabc9tu45uz2kx3d7esk0rayg', 'vertcoin');
446+
invalid('vtc1qhy8eqwqxpyryz4wctus36yl2uu60t0z6ecrvt', 'vertcoin');
447+
invalid('vtd1qhy8eqwqxpyryz4wctus36yl2uu60t0z6ecrvtc', 'vertcoin');
442448
});
443449

444450
it('should return false for incorrect bitcoingold addresses', function () {

0 commit comments

Comments
 (0)