{"version":3,"sources":["jsdelivr-header.js","/npm/rvnaddrjs@1.0.0/src/rvnaddr.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACGA,IAAI,UAAY,QAAQ,aAiBpB,OAAS,CACb,OAAgB,UAOZ,QAAU,CACd,QAAkB,UAClB,QAAkB,WAMd,KAAO,CAAC,EAWZ,SAAS,oBAAqB,GAC5B,OAAO,cAAc,GAAS,MAChC,CASA,SAAS,qBAAsB,GAC7B,OAAO,cAAc,GAAS,OAChC,CASA,SAAS,kBAAmB,GAC1B,OAAO,cAAc,GAAS,IAChC,CASA,SAAS,gBAAiB,GACxB,IAAI,EAAU,cAAc,GAC5B,OAAI,EAAQ,SAAW,OAAO,OACrB,EAEF,eAAe,EACxB,CAjDA,KAAK,MAAQ,QACb,KAAK,KAAO,OAkEZ,IAAI,aAAe,CAAC,EAgBpB,SAAS,cAAe,GACtB,IACE,OAAO,oBAAoB,EAC7B,CAAE,MAAO,GACT,CAKA,MAAM,IAAI,mBACZ,CAzBA,aAAa,OAAO,QAAU,CAAC,EAC/B,aAAa,OAAO,QAAQ,QAAQ,SAAW,CAAC,EAChD,aAAa,OAAO,QAAQ,QAAQ,SAAS,KAAK,OAAS,EAC3D,aAAa,OAAO,QAAQ,QAAQ,SAAS,KAAK,MAAQ,EAC1D,aAAa,OAAO,QAAQ,QAAQ,SAAW,CAAC,EAChD,aAAa,OAAO,QAAQ,QAAQ,SAAS,KAAK,OAAS,IAC3D,aAAa,OAAO,QAAQ,QAAQ,SAAS,KAAK,MAAQ,IA0B1D,IAAI,6BAA+B,GASnC,SAAS,oBAAqB,GAC5B,IACE,IAAI,EAAU,UAAU,OAAO,GAC/B,GAAI,EAAQ,SAAW,6BACrB,MAAM,IAAI,oBAEZ,IAAI,EAAc,EAAQ,GACtB,EAAO,MAAM,UAAU,MAAM,KAAK,EAAS,GAC/C,OAAQ,GACN,KAAK,aAAa,OAAO,QAAQ,QAAQ,SAAS,KAAK,OACrD,MAAO,CACL,KAAM,EACN,OAAQ,OAAO,OACf,QAAS,QAAQ,QACjB,KAAM,KAAK,OAEf,KAAK,aAAa,OAAO,QAAQ,QAAQ,SAAS,KAAK,MACrD,MAAO,CACL,KAAM,EACN,OAAQ,OAAO,OACf,QAAS,QAAQ,QACjB,KAAM,KAAK,MAEf,KAAK,aAAa,OAAO,QAAQ,QAAQ,SAAS,KAAK,OACrD,MAAO,CACL,KAAM,EACN,OAAQ,OAAO,OACf,QAAS,QAAQ,QACjB,KAAM,KAAK,OAEf,KAAK,aAAa,OAAO,QAAQ,QAAQ,SAAS,KAAK,MACrD,MAAO,CACL,KAAM,EACN,OAAQ,OAAO,OACf,QAAS,QAAQ,QACjB,KAAM,KAAK,MAGnB,CAAE,MAAO,GACT,CACA,MAAM,IAAI,mBACZ,CAoEA,SAAS,eAAgB,GACvB,IAAI,EAAc,aAAa,OAAO,QAAQ,EAAQ,SAAS,EAAQ,MACnE,EAAS,OAAO,MAAM,EAAI,EAAQ,KAAK,QAG3C,OAFA,EAAO,GAAK,EACZ,EAAO,IAAI,EAAQ,KAAM,GAClB,UAAU,OAAO,EAC1B,CAsBA,SAAS,gBAAiB,GACxB,OAAO,oBAAoB,KAAa,OAAO,MACjD,CAoBA,SAAS,iBAAkB,GACzB,OAAO,qBAAqB,KAAa,QAAQ,OACnD,CASA,SAAS,iBAAkB,GACzB,OAAO,qBAAqB,KAAa,QAAQ,OACnD,CASA,SAAS,eAAgB,GACvB,OAAO,kBAAkB,KAAa,KAAK,KAC7C,CASA,SAAS,cAAe,GACtB,OAAO,kBAAkB,KAAa,KAAK,IAC7C,CAOA,SAAS,sBACP,IAAI,EAAQ,IAAI,MAChB,KAAK,KAAO,EAAM,KAAO,sBACzB,KAAK,QAAU,EAAM,QAAU,kDAC/B,KAAK,MAAQ,EAAM,KACrB,CAEA,oBAAoB,UAAY,OAAO,OAAO,MAAM,WAEpD,OAAO,QAAU,CACf,OAAQ,OACR,QAAS,QACT,KAAM,KACN,oBAAqB,oBACrB,qBAAsB,qBACtB,kBAAmB,kBACnB,gBAAiB,gBAEjB,gBAAiB,gBAEjB,iBAAkB,iBAClB,iBAAkB,iBAClB,eAAgB,eAChB,cAAe,cACf,oBAAqB","file":"/npm/rvnaddrjs@1.0.0/src/rvnaddr.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/rvnaddrjs@1.0.0/src/rvnaddr.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/***\n * @license\n * https://github.com/raven-community/rvnaddr\n * Copyright (c) 2018 MSFTserver\n * Copyright (c) 2018 Emilio Almansi\n * Distributed under the MIT software license, see the accompanying\n * file LICENSE or http://www.opensource.org/licenses/mit-license.php.\n */\n\nvar bs58check = require('bs58check')\n\n/**\n * General purpose Ravencoin address detection and translation.<br />\n * Supports all major Ravencoin address formats.<br />\n * Currently:\n * <ul>\n *    <li> Legacy format </li>\n *    <li> Rvn2addr format </li>\n * </ul>\n * @module rvnaddr\n */\n\n/**\n * @static\n * Supported Ravencoin address formats.\n */\nvar Format = {}\nFormat.Legacy = 'legacy'\n//Format.Rvn2addr = 'rvn2addr'\n\n/**\n * @static\n * Supported networks.\n */\nvar Network = {}\nNetwork.Mainnet = 'mainnet'\nNetwork.Testnet = 'testnet'\n\n/**\n * @static\n * Supported address types.\n */\nvar Type = {}\nType.P2PKH = 'p2pkh'\nType.P2SH = 'p2sh'\n\n/**\n * Detects what is the given address' format.\n * @static\n * @param {string} address - A valid Ravencoin address in any format.\n * @return {string}\n * @throws {InvalidAddressError}\n */\nfunction detectAddressFormat (address) {\n  return decodeAddress(address).format\n}\n\n/**\n * Detects what is the given address' network.\n * @static\n * @param {string} address - A valid Ravencoin address in any format.\n * @return {string}\n * @throws {InvalidAddressError}\n */\nfunction detectAddressNetwork (address) {\n  return decodeAddress(address).network\n}\n\n/**\n * Detects what is the given address' type.\n * @static\n * @param {string} address - A valid Ravencoin address in any format.\n * @return {string}\n * @throws {InvalidAddressError}\n */\nfunction detectAddressType (address) {\n  return decodeAddress(address).type\n}\n\n/**\n * Translates the given address into legacy format.\n * @static\n * @param {string} address - A valid Ravencoin address in any format.\n * @return {string}\n * @throws {InvalidAddressError}\n */\nfunction toLegacyAddress (address) {\n  var decoded = decodeAddress(address)\n  if (decoded.format === Format.Legacy) {\n    return address\n  }\n  return encodeAsLegacy(decoded)\n}\n\n/**\n * Translates the given address into rvn2addr format.\n * @static\n * @param {string} address - A valid Ravencoin address in any format.\n * @return {string}\n * @throws {InvalidAddressError}\n */\n// function toRvn2Address (address) {\n//   var decoded = decodeAddress(address)\n//   return encodeAsRvn2addr(decoded)\n// }\n\n/**\n * Version byte table for base58 formats.\n * @private\n */\nvar VERSION_BYTE = {}\nVERSION_BYTE[Format.Legacy] = {}\nVERSION_BYTE[Format.Legacy][Network.Mainnet] = {}\nVERSION_BYTE[Format.Legacy][Network.Mainnet][Type.P2PKH] = 0\nVERSION_BYTE[Format.Legacy][Network.Mainnet][Type.P2SH] = 5\nVERSION_BYTE[Format.Legacy][Network.Testnet] = {}\nVERSION_BYTE[Format.Legacy][Network.Testnet][Type.P2PKH] = 111\nVERSION_BYTE[Format.Legacy][Network.Testnet][Type.P2SH] = 196\n\n/**\n * Decodes the given address into its constituting hash, format, network and type.\n * @private\n * @param {string} address - A valid Ravencoin address in any format.\n * @return {object}\n * @throws {InvalidAddressError}\n */\nfunction decodeAddress (address) {\n  try {\n    return decodeBase58Address(address)\n  } catch (error) {\n  }\n  // try {\n  //   return decodeRvn2Address(address)\n  // } catch (error) {\n  // }\n  throw new InvalidAddressError()\n}\n\n/**\n * Length of a valid base58check encoding payload: 1 byte for\n * the version byte plus 20 bytes for a RIPEMD-160 hash.\n * @private\n */\nvar BASE_58_CHECK_PAYLOAD_LENGTH = 21\n\n/**\n * Attempts to decode the given address assuming it is a base58 address.\n * @private\n * @param {string} address - A valid Ravencoin address in any format.\n * @return {object}\n * @throws {InvalidAddressError}\n */\nfunction decodeBase58Address (address) {\n  try {\n    var payload = bs58check.decode(address)\n    if (payload.length !== BASE_58_CHECK_PAYLOAD_LENGTH) {\n      throw new InvalidAddressError()\n    }\n    var versionByte = payload[0]\n    var hash = Array.prototype.slice.call(payload, 1)\n    switch (versionByte) {\n      case VERSION_BYTE[Format.Legacy][Network.Mainnet][Type.P2PKH]:\n        return {\n          hash: hash,\n          format: Format.Legacy,\n          network: Network.Mainnet,\n          type: Type.P2PKH\n        }\n      case VERSION_BYTE[Format.Legacy][Network.Mainnet][Type.P2SH]:\n        return {\n          hash: hash,\n          format: Format.Legacy,\n          network: Network.Mainnet,\n          type: Type.P2SH\n        }\n      case VERSION_BYTE[Format.Legacy][Network.Testnet][Type.P2PKH]:\n        return {\n          hash: hash,\n          format: Format.Legacy,\n          network: Network.Testnet,\n          type: Type.P2PKH\n        }\n      case VERSION_BYTE[Format.Legacy][Network.Testnet][Type.P2SH]:\n        return {\n          hash: hash,\n          format: Format.Legacy,\n          network: Network.Testnet,\n          type: Type.P2SH\n        }\n    }\n  } catch (error) {\n  }\n  throw new InvalidAddressError()\n}\n\n/**\n * Attempts to decode the given address assuming it is a rvn2addr address.\n * @private\n * @param {string} address - A valid Ravencoin address in any format.\n * @return {object}\n * @throws {InvalidAddressError}\n */\n// function decodeRvn2Address (address) {\n//   if (address.indexOf(':') !== -1) {\n//     try {\n//       return decodeRvn2AddressWithPrefix(address)\n//     } catch (error) {\n//     }\n//   } else {\n//     var prefixes = ['ravencoin', 'rvntest', 'rvnreg']\n//     for (var i = 0; i < prefixes.length; ++i) {\n//       try {\n//         var prefix = prefixes[i]\n//         return decodeRvn2AddressWithPrefix(prefix + ':' + address)\n//       } catch (error) {\n//       }\n//     }\n//   }\n//   throw new InvalidAddressError()\n// }\n\n/**\n * Attempts to decode the given address assuming it is a rvn2addr address with explicit prefix.\n * @private\n * @param {string} address - A valid Ravencoin address in any format.\n * @return {object}\n * @throws {InvalidAddressError}\n */\n// function decodeRvn2AddressWithPrefix (address) {\n//   try {\n//     var decoded = rvn2addr.decode(address)\n//     var hash = Array.prototype.slice.call(decoded.hash, 0)\n//     var type = decoded.type === 'P2PKH' ? Type.P2PKH : Type.P2SH\n//     switch (decoded.prefix) {\n//       case 'ravencoin':\n//         return {\n//           hash: hash,\n//           format: Format.Rvn2addr,\n//           network: Network.Mainnet,\n//           type: type\n//         }\n//       case 'rvntest':\n//       case 'rvnreg':\n//         return {\n//           hash: hash,\n//           format: Format.Rvn2addr,\n//           network: Network.Testnet,\n//           type: type\n//         }\n//     }\n//   } catch (error) {\n//   }\n//   throw new InvalidAddressError()\n// }\n\n/**\n * Encodes the given decoded address into legacy format.\n * @private\n * @param {object} decoded\n * @returns {string}\n */\nfunction encodeAsLegacy (decoded) {\n  var versionByte = VERSION_BYTE[Format.Legacy][decoded.network][decoded.type]\n  var buffer = Buffer.alloc(1 + decoded.hash.length)\n  buffer[0] = versionByte\n  buffer.set(decoded.hash, 1)\n  return bs58check.encode(buffer)\n}\n\n/**\n * Encodes the given decoded address into rvn2addr format.\n * @private\n * @param {object} decoded\n * @returns {string}\n */\n// function encodeAsRvn2addr (decoded) {\n//   var prefix = decoded.network === Network.Mainnet ? 'ravencoin' : 'rvntest'\n//   var type = decoded.type === Type.P2PKH ? 'P2PKH' : 'P2SH'\n//   var hash = Uint8Array.from(decoded.hash)\n//   return rvn2addr.encode(prefix, type, hash)\n// }\n\n/**\n * Returns a boolean indicating whether the address is in legacy format.\n * @static\n * @param {string} address - A valid Ravencoin address in any format.\n * @returns {boolean}\n * @throws {InvalidAddressError}\n */\nfunction isLegacyAddress (address) {\n  return detectAddressFormat(address) === Format.Legacy\n}\n\n/**\n * Returns a boolean indicating whether the address is in rvn2addr format.\n * @static\n * @param {string} address - A valid Ravencoin address in any format.\n * @returns {boolean}\n * @throws {InvalidAddressError}\n */\n// function isRvn2Address (address) {\n//   return detectAddressFormat(address) === Format.Rvn2addr\n// }\n\n/**\n * Returns a boolean indicating whether the address is a mainnet address.\n * @static\n * @param {string} address - A valid Ravencoin address in any format.\n * @returns {boolean}\n * @throws {InvalidAddressError}\n */\nfunction isMainnetAddress (address) {\n  return detectAddressNetwork(address) === Network.Mainnet\n}\n\n/**\n * Returns a boolean indicating whether the address is a testnet address.\n * @static\n * @param {string} address - A valid Ravencoin address in any format.\n * @returns {boolean}\n * @throws {InvalidAddressError}\n */\nfunction isTestnetAddress (address) {\n  return detectAddressNetwork(address) === Network.Testnet\n}\n\n/**\n * Returns a boolean indicating whether the address is a p2pkh address.\n * @static\n * @param {string} address - A valid Ravencoin address in any format.\n * @returns {boolean}\n * @throws {InvalidAddressError}\n */\nfunction isP2PKHAddress (address) {\n  return detectAddressType(address) === Type.P2PKH\n}\n\n/**\n * Returns a boolean indicating whether the address is a p2sh address.\n * @static\n * @param {string} address - A valid Ravencoin address in any format.\n * @returns {boolean}\n * @throws {InvalidAddressError}\n */\nfunction isP2SHAddress (address) {\n  return detectAddressType(address) === Type.P2SH\n}\n\n/**\n * Error thrown when the address given as input is not a valid Ravencoin address.\n * @constructor\n * InvalidAddressError\n */\nfunction InvalidAddressError () {\n  var error = new Error()\n  this.name = error.name = 'InvalidAddressError'\n  this.message = error.message = 'Received an invalid Ravencoin address as input.'\n  this.stack = error.stack\n}\n\nInvalidAddressError.prototype = Object.create(Error.prototype)\n\nmodule.exports = {\n  Format: Format,\n  Network: Network,\n  Type: Type,\n  detectAddressFormat: detectAddressFormat,\n  detectAddressNetwork: detectAddressNetwork,\n  detectAddressType: detectAddressType,\n  toLegacyAddress: toLegacyAddress,\n//toRvn2Address: toRvn2Address,\n  isLegacyAddress: isLegacyAddress,\n//isRvn2Address: isRvn2Address,\n  isMainnetAddress: isMainnetAddress,\n  isTestnetAddress: isTestnetAddress,\n  isP2PKHAddress: isP2PKHAddress,\n  isP2SHAddress: isP2SHAddress,\n  InvalidAddressError: InvalidAddressError\n}\n"]}