{"version":3,"sources":["jsdelivr-header.js","/npm/rskjs-util@1.0.3/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,iBAAmB,QAAQ,UAQjC,SAAS,uBAAuB,EAAS,GACvC,OAAO,eAAe,IAAa,kBAAkB,EAAS,KAAa,CAC7E,CAQA,SAAS,eAAe,GACtB,MAAO,sBAAsB,KAAK,EACpC,CASA,SAAS,kBAAkB,EAAS,EAAU,MAC5C,GAAuB,iBAAZ,EACT,MAAM,IAAI,MAAM,wEAA2E,EAAW,KAGxG,MAAM,EAAgB,eAAe,GAAS,cAExC,EAAc,QADM,MAAX,EAAmB,EAAQ,WAAa,KAAQ,IAC3B,GAAe,SAAS,OAC5D,IAAI,EAAS,KAEb,IAAK,IAAI,EAAI,EAAG,EAAI,EAAc,OAAQ,IACxC,GAAU,SAAS,EAAY,GAAI,KAAO,EACxC,EAAc,GAAG,cACjB,EAAc,GAElB,OAAO,CACT,CAOA,SAAS,eAAe,GACtB,MAA2B,OAApB,EAAI,MAAM,EAAG,GAAc,EAAI,MAAM,GAAK,CACnD,CAQA,SAAS,OAAO,GACd,OAAO,iBAAiB,aAAa,OAAO,GAAG,QACjD,CAEA,OAAO,QAAU,CACf,8CACA,8BACA,oCACA,8BACA","file":"/npm/rskjs-util@1.0.3/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/rskjs-util@1.0.3/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const createKeccakHash = require('keccak')\n\n/**\n * Validates checksummed address.\n * @param {string} address\n * @param {number} chainId where chesummed address should be valid.\n * @returns {bool} if the address is valid on the specified chain.\n */\nfunction isValidChecksumAddress(address, chainId) {\n  return isValidAddress(address) && (toChecksumAddress(address, chainId) === address)\n}\n\n\n/**\n * Validates address.\n * @param {string} address\n * @returns {bool} if the address is valid.\n */\nfunction isValidAddress(address) {\n  return /^0x[0-9a-fA-F]{40}$/.test(address)\n}\n\n\n/**\n * Generates checksum address.\n * @param {string} address\n * @param {number} chain where chesummed address should be valid.\n * @returns {string} address with checksum aplyed.\n */\nfunction toChecksumAddress(address, chainId = null) {\n  if (typeof address !== 'string') {\n    throw new Error(\"stripHexPrefix param must be type 'string', is currently type \" + (typeof address) + \".\");\n  }\n\n  const strip_address = stripHexPrefix(address).toLowerCase()\n  const prefix = chainId != null ? (chainId.toString() + '0x') : ''\n  const keccak_hash = keccak(prefix + strip_address).toString('hex')\n  let output = '0x'\n\n  for (let i = 0; i < strip_address.length; i++)\n    output += parseInt(keccak_hash[i], 16) >= 8 ?\n      strip_address[i].toUpperCase() :\n      strip_address[i]\n\n  return output\n}\n\n/**\n * Removes prefix from address if exists.\n * @param {string} address\n * @returns {string} address without prefix\n */\nfunction stripHexPrefix(str) {\n  return str.slice(0, 2) === '0x' ? str.slice(2) : str\n}\n\n\n/**\n * Generates keccak sha256\n * @param {string} a applies keccak on this\n * @returns {string} keccak sha256 \n */\nfunction keccak(a) {\n  return createKeccakHash('keccak256').update(a).digest()\n}\n\nmodule.exports = {\n  isValidChecksumAddress,\n  isValidAddress,\n  toChecksumAddress,\n  stripHexPrefix,\n  keccak\n}"]}