UNPKG

@glitterprotocol/glitter-sdk

Version:

The JavaScript SDK for Glitter

110 lines 3.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ValConsAddress = exports.ValPubKey = exports.ValAddress = exports.AccPubKey = exports.AccAddress = void 0; var bech32_1 = require("bech32"); function checkPrefixAndLength(prefix, data, length) { try { var vals = bech32_1.bech32.decode(data); return vals.prefix === prefix && data.length == length; } catch (e) { return false; } } var AccAddress; (function (AccAddress) { /** * Checks if a string is a valid glitter account address. * * @param data string to check */ function validate(data) { // 44 for normal account and 64 for contract account return (checkPrefixAndLength('glitter', data, 44) || checkPrefixAndLength('glitter', data, 64)); } AccAddress.validate = validate; /** * Converts a validator address into an account address * * @param address validator address */ function fromValAddress(address) { var vals = bech32_1.bech32.decode(address); return bech32_1.bech32.encode('glitter', vals.words); } AccAddress.fromValAddress = fromValAddress; })(AccAddress = exports.AccAddress || (exports.AccAddress = {})); var AccPubKey; (function (AccPubKey) { /** * Checks if a string is a glitter account's public key * @param data string to check */ function validate(data) { return checkPrefixAndLength('glitterpub', data, 47); } AccPubKey.validate = validate; /** * Converts a glitter validator pubkey to an account pubkey. * @param address validator pubkey to convert */ function fromAccAddress(address) { var vals = bech32_1.bech32.decode(address); return bech32_1.bech32.encode('glitterpub', vals.words); } AccPubKey.fromAccAddress = fromAccAddress; })(AccPubKey = exports.AccPubKey || (exports.AccPubKey = {})); var ValAddress; (function (ValAddress) { /** * Checks if a string is a glitter validator address. * * @param data string to check */ function validate(data) { return checkPrefixAndLength('glittervaloper', data, 51); } ValAddress.validate = validate; /** * Converts a glitter account address to a validator address. * @param address account address to convert */ function fromAccAddress(address) { var vals = bech32_1.bech32.decode(address); return bech32_1.bech32.encode('glittervaloper', vals.words); } ValAddress.fromAccAddress = fromAccAddress; })(ValAddress = exports.ValAddress || (exports.ValAddress = {})); var ValPubKey; (function (ValPubKey) { /** * Checks if a string is a glitter validator pubkey * @param data string to check */ function validate(data) { return checkPrefixAndLength('glittervaloperpub', data, 54); } ValPubKey.validate = validate; /** * Converts a glitter validator operator address to a validator pubkey. * @param valAddress account pubkey */ function fromValAddress(valAddress) { var vals = bech32_1.bech32.decode(valAddress); return bech32_1.bech32.encode('glittervaloperpub', vals.words); } ValPubKey.fromValAddress = fromValAddress; })(ValPubKey = exports.ValPubKey || (exports.ValPubKey = {})); var ValConsAddress; (function (ValConsAddress) { /** * Checks if a string is a glitter validator consensus address * @param data string to check */ function validate(data) { return checkPrefixAndLength('glittervalcons', data, 51); } ValConsAddress.validate = validate; })(ValConsAddress = exports.ValConsAddress || (exports.ValConsAddress = {})); //# sourceMappingURL=bech32.js.map