UNPKG

trezor-address-validator

Version:

Multicoin address validator for Bitcoin and other altcoins.

26 lines (22 loc) 798 B
const { addressType } = require('../src/crypto/utils'); var cryptoUtils = require('./crypto/utils'); var regexp = new RegExp('^[0-9]{1,20}L$'); module.exports = { isValidAddress: function(address) { return this.getAddressType(address) === addressType.ADDRESS; }, getAddressType: function(address) { if (!regexp.test(address)) { return undefined; } if(this.verifyAddress(address)) { return addressType.ADDRESS; } }, verifyAddress: function(address) { var BUFFER_SIZE = 8; var bigNumber = address.substring(0, address.length - 1); var addressBuffer = cryptoUtils.bigNumberToBuffer(bigNumber); return Buffer.from(addressBuffer).slice(0, BUFFER_SIZE).equals(addressBuffer); } };