Files
trezor-suite/packages/address-validator/src/lisk_validator.js
2024-07-12 13:44:51 +02:00

27 lines
799 B
JavaScript

const { addressType } = require('./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);
},
};