UNPKG

@getdelta/wallet-address-validator

Version:

Wallet address validator for Bitcoin and other Altcoins.

23 lines (18 loc) 649 B
var base58 = require('./crypto/base58') const ALLOWED_CHARS = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' var regexp = new RegExp('^(ak_)([' + ALLOWED_CHARS + ']+)$') // Begins with ak_ followed by module.exports = { isValidAddress: function (address, currency, networkType) { let match = regexp.exec(address) if (match !== null) { return this.verifyChecksum(match[2]) } else { return false } }, verifyChecksum: function (address) { var decoded = base58.decode(address) decoded.splice(-4, 4) // remove last 4 elements. Why is base 58 adding them? return decoded.length === 32 } }