{"version":3,"sources":["jsdelivr-header.js","/npm/fluree-cryptography@1.6.8/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,OAAS,QAAQ,4BAGrB,SAAS,WAAW,GAEhB,MADe,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC1C,EAClB,CAEA,SAAS,aAAa,GAEpB,MADa,CAAC,MAAO,MAAO,MAAO,MAAM,MAAO,MAAO,MAAO,MAAO,MAAM,MAAO,MAAO,OAC3E,EAChB,CAEA,SAAS,gBAAgB,GACvB,OAAQ,KAAO,GAAK,OAAO,EAC7B,CAEF,SAAS,qBACL,IAAI,EAAU,IAAI,KASlB,OARc,WAAW,EAAQ,UAQhB,KAPP,gBAAgB,EAAQ,WAOJ,IANlB,aAAa,EAAQ,YAMW,IALjC,EAAQ,iBAKsC,IAJ7C,gBAAgB,EAAQ,eAImC,IAHzD,gBAAgB,EAAQ,iBAGiD,IAFzE,gBAAgB,EAAQ,iBAEiE,MAC3G,CAEA,SAAS,kBACL,IAAI,EAAU,OAAO,oBACrB,MAAO,CAAE,WAAY,EAAQ,QAAS,UAAW,EAAQ,OAC7D,CAEA,SAAS,oBAAoB,GACzB,OAAO,OAAO,uBAAuB,EACzC,CAEA,SAAS,YAAY,EAAK,GACvB,OAAO,OAAO,aAAa,EAAK,EACnC,CAEA,SAAS,gBAAgB,EAAM,EAAI,EAAQ,EAAM,EAAO,EAAY,EAAI,GAEpE,IAEI,EAAM,CACN,KAAQ,KAAM,GAHJ,EAAG,cAGgB,GAAM,KAAK,MAAM,GAAK,KAAQ,EAAM,KAAQ,OAAO,GAChF,MAAS,OAAO,GAAQ,OAAU,OAAO,IAG1C,IACD,EAAU,KAAI,GAGhB,IAAI,EAAiB,KAAK,UAAU,GAGpC,MAAO,CAAE,IAAK,EAAgB,IAFpB,YAAY,EAAgB,GAG1C,CAEA,SAAS,UAAW,EAAY,EAAO,EAAW,EAAM,EAAI,GAExD,IAAI,EAAU,EAAG,cAEb,EAAgB,qBAChB,EAAS,OAAO,mBAAmB,EAAO,UAwB9C,MAAO,CACL,OAAQ,OACR,QATa,CACb,eAAgB,mBAChB,OAAU,EACV,OAAU,WAAa,EACvB,UAPc,UALb,GAGS,MAEyB,qFAP3B,YAHU,2BAFV,QAAU,EAAU,IAAM,EAAU,eAEO,WAAa,EAAO,aACzE,EAAgB,qBAAuB,EAEF,IAoBnC,KAAM,EAGV,CAGA,OAAO,QAAQ,gBAAkB,gBACjC,OAAO,QAAQ,oBAAsB,oBACrC,OAAO,QAAQ,gBAAkB,gBACjC,OAAO,QAAQ,UAAY","file":"/npm/fluree-cryptography@1.6.8/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/fluree-cryptography@1.6.8/src/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","var crypto = require('fluree-cryptography-base');\n\n// Format Date to RFC1123 -> Mon, 11 Mar 2019 12:23:01 GMT\nfunction getWeekday(idx){\n    var weekdays = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n    return weekdays[idx]\n  }\n  \n  function getMonthWord(idx){\n    var months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\",\"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\",\"Oct\", \"Nov\", \"Dec\"];\n    return months[idx]\n  }\n  \n  function formatTwoDigits(str){\n    return (\"00\" + str).slice(-2)\n  }\n  \nfunction getRFC1123DateTime(){\n    var nowDate = new Date()\n    var weekday = getWeekday(nowDate.getDay());\n    var day = formatTwoDigits(nowDate.getDate());\n    var month = getMonthWord(nowDate.getMonth());\n    var year = nowDate.getUTCFullYear();  \n    var hours = formatTwoDigits(nowDate.getUTCHours());\n    var minutes = formatTwoDigits(nowDate.getUTCMinutes());\n    var seconds = formatTwoDigits(nowDate.getUTCSeconds());\n  \n    return weekday + \", \" + day + \" \" + month + \" \" + year + \" \" + hours + \":\" + minutes + \":\" + seconds + \" GMT\";\n}\n\nfunction generateKeyPair(){\n    var keyPair = crypto.generate_key_pair();\n    return { privateKey: keyPair.private, publicKey: keyPair.public }\n}\n\nfunction getSinFromPublicKey(publicKey){\n    return crypto.account_id_from_public(publicKey);\n}\n\nfunction signCommand(msg, privateKey){\n   return crypto.sign_message(msg, privateKey);\n}\n\nfunction signTransaction(auth, db, expire, fuel, nonce, privateKey, tx, deps){\n\n    var dbLower = db.toLowerCase();\n\n    var cmd = {\n        \"type\": \"tx\", \"db\": dbLower, \"tx\": JSON.parse(tx), \"auth\": auth, \"fuel\": Number(fuel), \n        \"nonce\": Number(nonce), \"expire\": Number(expire) \n    }\n\n    if(deps){\n      cmd[\"deps\"] = deps;\n    }\n\n    var stringifiedCmd = JSON.stringify(cmd);\n    var sig = signCommand(stringifiedCmd, privateKey);\n\n    return { cmd: stringifiedCmd, sig: sig }\n}\n\nfunction signQuery( privateKey, param, queryType, host, db, auth ){\n\n    var dbLower = db.toLowerCase();\n\n    var formattedDate = getRFC1123DateTime();\n    var digest = crypto.sha2_256_normalize(param, \"base64\");\n    \n    var uri = \"/fdb/\" + dbLower + \"/\" + queryType.toLowerCase();\n   \n    var signingString = \"(request-target): post \" + uri +\"\\nhost: \" + host + \"\\nmydate: \" +\n    formattedDate + \"\\ndigest: SHA-256=\" + digest;\n\n    var sig = signCommand(signingString, privateKey);\n    var authStr;\n    if(auth){\n      authStr = auth;\n    } else {\n      authStr = \"na\"\n    }\n    var signature = \"keyId=\" + authStr + \",headers=\\\"(request-target) host mydate digest\\\",algorithm=\\\"ecdsa-sha256\\\",signature=\"\n    + sig;\n\n    var headers =  {\n      \"content-type\": \"application/json\",\n      \"mydate\": formattedDate,\n      \"digest\": \"SHA-256=\" + digest,\n      \"signature\": signature\n    }             \n  \n    return {\n      method: \"POST\",\n      headers: headers,\n      body: param\n    };\n\n  }\n\n\n  module.exports.generateKeyPair = generateKeyPair;\n  module.exports.getSinFromPublicKey = getSinFromPublicKey;\n  module.exports.signTransaction = signTransaction;\n  module.exports.signQuery = signQuery;"]}