UNPKG

@xlink-network/xlink-sdk

Version:
60 lines (58 loc) 1.62 kB
import { XLinkSDKErrorBase } from "./chunk-KTUPNUM5.mjs"; // src/utils/hexHelpers.ts function decodeHex(hex) { let hexString = hex.startsWith("0x") ? hex.slice(2) : hex; if (hexString.length % 2) hexString = `0${hexString}`; const length = hexString.length / 2; const bytes = new Uint8Array(length); for (let index = 0, j = 0; index < length; index++) { const nibbleLeft = charCodeToBase16(hexString.charCodeAt(j++)); const nibbleRight = charCodeToBase16(hexString.charCodeAt(j++)); if (nibbleLeft === void 0 || nibbleRight === void 0) { throw new XLinkSDKErrorBase( `Invalid byte sequence ("${hexString[j - 2]}${hexString[j - 1]}" in "${hexString}").` ); } bytes[index] = nibbleLeft * 16 + nibbleRight; } return bytes; } var charCodeMap = { zero: 48, nine: 57, A: 65, F: 70, a: 97, f: 102 }; function charCodeToBase16(char) { if (char >= charCodeMap.zero && char <= charCodeMap.nine) return char - charCodeMap.zero; if (char >= charCodeMap.A && char <= charCodeMap.F) return char - (charCodeMap.A - 10); if (char >= charCodeMap.a && char <= charCodeMap.f) return char - (charCodeMap.a - 10); return void 0; } function encodeHex(value) { let string = ""; for (let i = 0; i < value.length; i++) { string += hexes[value[i]]; } return string; } var hexes = Array.from( { length: 256 }, (_v, i) => i.toString(16).padStart(2, "0") ); function encodeZeroPrefixedHex(value) { return `0x${encodeHex(value)}`; } export { decodeHex, encodeHex, encodeZeroPrefixedHex }; //# sourceMappingURL=chunk-UZKY7HXV.mjs.map