UNPKG

@yubing744/rooch-sdk

Version:
34 lines (33 loc) 1.14 kB
function toHexString(byteArray) { const hexArray = Array.from(byteArray).map((byte) => { const roundedByte = Math.floor(byte); return (roundedByte < 0 ? 256 + roundedByte : roundedByte).toString(16).padStart(2, "0"); }); return `0x${hexArray.join("")}`; } function fromHexString(hex, padding) { let hexWithoutPrefix = hex.startsWith("0x") ? hex.substring(2) : hex; if (padding && hexWithoutPrefix.length < padding) { hexWithoutPrefix = padLeft(hexWithoutPrefix, padding); } else if (!padding && hexWithoutPrefix.length % 2 !== 0) { hexWithoutPrefix = `0${hexWithoutPrefix}`; } const byteArray = new Uint8Array(hexWithoutPrefix.length / 2); for (let i = 0; i < hexWithoutPrefix.length; i += 2) { byteArray[i / 2] = parseInt(hexWithoutPrefix.substring(i, i + 2), 16); } return byteArray; } function padLeft(str, chars, sign = "0") { return new Array(chars - str.length + 1).join(sign) + str; } function padRight(str, chars, sign = "0") { return str + new Array(chars - str.length + 1).join(sign); } export { fromHexString, padLeft, padRight, toHexString }; //# sourceMappingURL=hex.js.map