UNPKG

@funded-labs/dab-js

Version:
39 lines (38 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateToken = exports.validateCanisterId = exports.validateAccountId = exports.validatePrincipalId = exports.isValidPrincipal = exports.ALPHANUM_REGEX = exports.PRINCIPAL_REGEX = exports.CANISTER_MAX_LENGTH = void 0; const principal_1 = require("@dfinity/principal"); exports.CANISTER_MAX_LENGTH = 27; exports.PRINCIPAL_REGEX = /(\w{5}-){10}\w{3}/; exports.ALPHANUM_REGEX = /^[a-zA-Z0-9]+$/; const isValidPrincipal = (text) => { try { return principal_1.Principal.fromText(text).toText() === text; } catch (e) { return false; } }; exports.isValidPrincipal = isValidPrincipal; const validatePrincipalId = (text) => { try { return Boolean(exports.PRINCIPAL_REGEX.test(text) && (0, exports.isValidPrincipal)(text)); } catch (e) { return false; } }; exports.validatePrincipalId = validatePrincipalId; const validateAccountId = (text) => text.length === 64 && exports.ALPHANUM_REGEX.test(text); exports.validateAccountId = validateAccountId; const validateCanisterId = (text) => { try { return Boolean(text.length <= exports.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;