UNPKG

zic-evm-sdk

Version:
40 lines (39 loc) 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.percentToBps = percentToBps; exports.bpsToPercent = bpsToPercent; exports.hashSHA256 = hashSHA256; exports.isEmailValid = isEmailValid; exports.areDatesOfSameDay = areDatesOfSameDay; const bignumber_js_1 = require("bignumber.js"); /** * Converts percentage value to bps * @param percent * @returns */ function percentToBps(percent) { return (0, bignumber_js_1.BigNumber)(percent).times(100).toFixed(0, bignumber_js_1.BigNumber.ROUND_DOWN); } /** * Coverts bps value to percentage * @param bps * @returns */ function bpsToPercent(bps) { return (0, bignumber_js_1.BigNumber)(bps).div(100).toFixed(2, bignumber_js_1.BigNumber.ROUND_DOWN); } async function hashSHA256(input) { const utf8 = new TextEncoder().encode(input); const hashBuffer = await crypto.subtle.digest("SHA-256", utf8); const hashArray = Array.from(new Uint8Array(hashBuffer)); const hashHex = hashArray.map((bytes) => bytes.toString(16).padStart(2, "0")).join(""); return hashHex; } function isEmailValid(value) { return /^[a-zA-Z0-9._+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,10}$/.test(value); } function areDatesOfSameDay(date1, date2) { return (date1.getUTCDay() === date2.getUTCDay() && date1.getUTCMonth() === date2.getUTCMonth() && date1.getUTCFullYear() === date2.getUTCFullYear()); }