mirror of
https://github.com/pezkuwichain/pezkuwi-common.git
synced 2026-04-22 09:08:03 +00:00
chore: update to version 14.0.11 and align website URLs
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
import { base58Decode } from '../base58/index.js';
|
||||
import { checkAddressChecksum } from './checksum.js';
|
||||
import { defaults } from './defaults.js';
|
||||
/**
|
||||
* @name checkAddress
|
||||
* @summary Validates an ss58 address.
|
||||
* @description
|
||||
* From the provided input, validate that the address is a valid input.
|
||||
*/
|
||||
export function checkAddress(address, prefix) {
|
||||
let decoded;
|
||||
try {
|
||||
decoded = base58Decode(address);
|
||||
}
|
||||
catch (error) {
|
||||
return [false, error.message];
|
||||
}
|
||||
const [isValid, , , ss58Decoded] = checkAddressChecksum(decoded);
|
||||
if (ss58Decoded !== prefix) {
|
||||
return [false, `Prefix mismatch, expected ${prefix}, found ${ss58Decoded}`];
|
||||
}
|
||||
else if (!defaults.allowedEncodedLengths.includes(decoded.length)) {
|
||||
return [false, 'Invalid decoded address length'];
|
||||
}
|
||||
return [isValid, isValid ? null : 'Invalid decoded address checksum'];
|
||||
}
|
||||
Reference in New Issue
Block a user