UNPKG

@ledgerhq/coin-casper

Version:
53 lines 2.31 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRandomTransferID = exports.getBufferFromString = exports.methodToString = exports.isError = exports.isValidBase64 = exports.isValidHex = exports.getPath = exports.isNoErrorReturnCode = void 0; const bignumber_js_1 = __importDefault(require("bignumber.js")); const validHexRegExp = new RegExp(/[0-9A-Fa-f]{6}/g); const validBase64RegExp = new RegExp(/^(?:[A-Za-z\d+/]{4})*(?:[A-Za-z\d+/]{3}=|[A-Za-z\d+/]{2}==)?$/); const isNoErrorReturnCode = (code) => code === 0x9000; exports.isNoErrorReturnCode = isNoErrorReturnCode; const getPath = (path) => path && path.substring(0, 2) !== "m/" ? `m/${path}` : path; exports.getPath = getPath; const isValidHex = (msg) => validHexRegExp.test(msg); exports.isValidHex = isValidHex; const isValidBase64 = (msg) => validBase64RegExp.test(msg); exports.isValidBase64 = isValidBase64; const isError = (r) => { if (!(0, exports.isNoErrorReturnCode)(r.returnCode)) throw new Error(`${r.returnCode} - ${r.errorMessage}`); }; exports.isError = isError; const methodToString = (method) => { switch (method) { case 0: return "Token transfer"; default: return "Unknown"; } }; exports.methodToString = methodToString; const getBufferFromString = (message) => { if ((0, exports.isValidHex)(message)) { return Buffer.from(message, "hex"); } if ((0, exports.isValidBase64)(message)) { return Buffer.from(message, "base64"); } return Buffer.from(message); }; exports.getBufferFromString = getBufferFromString; function randomIntFromInterval(min, max) { const minBig = new bignumber_js_1.default(min); const maxBig = new bignumber_js_1.default(max); const random = bignumber_js_1.default.random().multipliedBy(maxBig.minus(minBig).plus(1)).plus(minBig); const randomInt = random.integerValue(bignumber_js_1.default.ROUND_FLOOR); return randomInt.toString(); } function getRandomTransferID() { return randomIntFromInterval(0, Number.MAX_SAFE_INTEGER); } exports.getRandomTransferID = getRandomTransferID; //# sourceMappingURL=utils.js.map