@funded-labs/plug-controller
Version:
Internet Computer Plug wallet's controller
30 lines (29 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateToken = exports.validateCanisterId = exports.validateAccountId = exports.validatePrincipalId = exports.isValidPrincipal = void 0;
const principal_1 = require("@dfinity/principal");
const constants_1 = require("../utils/dfx/constants");
const isValidPrincipal = (text) => principal_1.Principal.fromText(text).toText() === text;
exports.isValidPrincipal = isValidPrincipal;
const validatePrincipalId = (text) => {
try {
return Boolean(constants_1.PRINCIPAL_REGEX.test(text) && (0, exports.isValidPrincipal)(text));
}
catch (e) {
return false;
}
};
exports.validatePrincipalId = validatePrincipalId;
const validateAccountId = (text) => text.length === 64 && constants_1.ALPHANUM_REGEX.test(text);
exports.validateAccountId = validateAccountId;
const validateCanisterId = (text) => {
try {
return Boolean(text.length <= constants_1.CANISTER_MAX_LENGTH && (0, exports.isValidPrincipal)(text));
}
catch (e) {
return false;
}
};
exports.validateCanisterId = validateCanisterId;
const validateToken = (metadata) => Boolean(!!metadata.decimal && !!metadata.name && !!metadata.symbol);
exports.validateToken = validateToken;