{"version":3,"sources":["../src/utils/hexHelpers.ts"],"sourcesContent":["import { XLinkSDKErrorBase } from \"./errors\"\n\n/**\n * https://github.com/wevm/viem/blob/d2f93e726df1ab1ff86098d68a4406f6fae315b8/src/utils/encoding/toBytes.ts#L150-L175\n */\nexport function decodeHex(hex: string): Uint8Array {\n  let hexString = hex.startsWith(\"0x\") ? hex.slice(2) : hex\n  if (hexString.length % 2) hexString = `0${hexString}`\n\n  const length = hexString.length / 2\n  const bytes = new Uint8Array(length)\n  for (let index = 0, j = 0; index < length; index++) {\n    const nibbleLeft = charCodeToBase16(hexString.charCodeAt(j++))\n    const nibbleRight = charCodeToBase16(hexString.charCodeAt(j++))\n    if (nibbleLeft === undefined || nibbleRight === undefined) {\n      throw new XLinkSDKErrorBase(\n        `Invalid byte sequence (\"${hexString[j - 2]}${\n          hexString[j - 1]\n        }\" in \"${hexString}\").`,\n      )\n    }\n    bytes[index] = nibbleLeft * 16 + nibbleRight\n  }\n  return bytes\n}\nconst charCodeMap = {\n  zero: 48,\n  nine: 57,\n  A: 65,\n  F: 70,\n  a: 97,\n  f: 102,\n} as const\nfunction charCodeToBase16(char: number): undefined | number {\n  if (char >= charCodeMap.zero && char <= charCodeMap.nine)\n    return char - charCodeMap.zero\n  if (char >= charCodeMap.A && char <= charCodeMap.F)\n    return char - (charCodeMap.A - 10)\n  if (char >= charCodeMap.a && char <= charCodeMap.f)\n    return char - (charCodeMap.a - 10)\n  return undefined\n}\n\n/**\n * https://github.com/wevm/viem/blob/d2f93e726df1ab1ff86098d68a4406f6fae315b8/src/utils/encoding/toHex.ts#L131-L143\n */\nexport function encodeHex(value: Uint8Array): string {\n  let string = \"\"\n  for (let i = 0; i < value.length; i++) {\n    string += hexes[value[i]]\n  }\n  return string\n}\nconst hexes = Array.from({ length: 256 }, (_v, i) =>\n  i.toString(16).padStart(2, \"0\"),\n)\n\nexport function encodeZeroPrefixedHex(value: Uint8Array): string {\n  return `0x${encodeHex(value)}`\n}\n"],"mappings":";;;;;AAKO,SAAS,UAAU,KAAyB;AACjD,MAAI,YAAY,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI;AACtD,MAAI,UAAU,SAAS,EAAG,aAAY,IAAI,SAAS;AAEnD,QAAM,SAAS,UAAU,SAAS;AAClC,QAAM,QAAQ,IAAI,WAAW,MAAM;AACnC,WAAS,QAAQ,GAAG,IAAI,GAAG,QAAQ,QAAQ,SAAS;AAClD,UAAM,aAAa,iBAAiB,UAAU,WAAW,GAAG,CAAC;AAC7D,UAAM,cAAc,iBAAiB,UAAU,WAAW,GAAG,CAAC;AAC9D,QAAI,eAAe,UAAa,gBAAgB,QAAW;AACzD,YAAM,IAAI;AAAA,QACR,2BAA2B,UAAU,IAAI,CAAC,CAAC,GACzC,UAAU,IAAI,CAAC,CACjB,SAAS,SAAS;AAAA,MACpB;AAAA,IACF;AACA,UAAM,KAAK,IAAI,aAAa,KAAK;AAAA,EACnC;AACA,SAAO;AACT;AACA,IAAM,cAAc;AAAA,EAClB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AACA,SAAS,iBAAiB,MAAkC;AAC1D,MAAI,QAAQ,YAAY,QAAQ,QAAQ,YAAY;AAClD,WAAO,OAAO,YAAY;AAC5B,MAAI,QAAQ,YAAY,KAAK,QAAQ,YAAY;AAC/C,WAAO,QAAQ,YAAY,IAAI;AACjC,MAAI,QAAQ,YAAY,KAAK,QAAQ,YAAY;AAC/C,WAAO,QAAQ,YAAY,IAAI;AACjC,SAAO;AACT;AAKO,SAAS,UAAU,OAA2B;AACnD,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,cAAU,MAAM,MAAM,CAAC,CAAC;AAAA,EAC1B;AACA,SAAO;AACT;AACA,IAAM,QAAQ,MAAM;AAAA,EAAK,EAAE,QAAQ,IAAI;AAAA,EAAG,CAAC,IAAI,MAC7C,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAChC;AAEO,SAAS,sBAAsB,OAA2B;AAC/D,SAAO,KAAK,UAAU,KAAK,CAAC;AAC9B;","names":[]}