mirror of
https://github.com/logos-messaging/lab.waku.org.git
synced 2026-01-03 22:33:09 +00:00
815 lines
1.6 MiB
JavaScript
815 lines
1.6 MiB
JavaScript
|
|
"use strict";
|
||
|
|
/*
|
||
|
|
* ATTENTION: An "eval-source-map" devtool has been used.
|
||
|
|
* This devtool is neither made for production nor for readable output files.
|
||
|
|
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
||
|
|
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
||
|
|
* or disable the default devtool with "devtool: false".
|
||
|
|
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
||
|
|
*/
|
||
|
|
exports.id = "vendor-chunks/@chainsafe";
|
||
|
|
exports.ids = ["vendor-chunks/@chainsafe"];
|
||
|
|
exports.modules = {
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/common/const.js":
|
||
|
|
/*!*************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/as-chacha20poly1305/lib/common/const.js ***!
|
||
|
|
\*************************************************************************/
|
||
|
|
/***/ ((__unused_webpack_module, exports) => {
|
||
|
|
|
||
|
|
eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TAG_LENGTH = exports.DATA_CHUNK_LENGTH = exports.NONCE_LENGTH = exports.KEY_LENGTH = void 0;\nexports.KEY_LENGTH = 32;\nexports.NONCE_LENGTH = 12;\n// same to libp2p-noise\nexports.DATA_CHUNK_LENGTH = 65536;\nexports.TAG_LENGTH = 16; //# sourceMappingURL=const.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9hcy1jaGFjaGEyMHBvbHkxMzA1L2xpYi9jb21tb24vY29uc3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQUVHLE9BQU87QUFBSyxDQUFDLEVBQUM7QUFDN0RELGtCQUFrQixHQUFHQSx5QkFBeUIsR0FBR0Esb0JBQW9CLEdBQUdBLGtCQUFrQixHQUFHLEtBQUs7QUFDbEdBLGtCQUFrQixHQUFHO0FBQ3JCQSxvQkFBb0IsR0FBRztBQUN2Qix1QkFBdUI7QUFDdkJBLHlCQUF5QixHQUFHO0FBQzVCQSxrQkFBa0IsR0FBRyxJQUNyQixpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AY2hhaW5zYWZlL2FzLWNoYWNoYTIwcG9seTEzMDUvbGliL2NvbW1vbi9jb25zdC5qcz83OGNjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5UQUdfTEVOR1RIID0gZXhwb3J0cy5EQVRBX0NIVU5LX0xFTkdUSCA9IGV4cG9ydHMuTk9OQ0VfTEVOR1RIID0gZXhwb3J0cy5LRVlfTEVOR1RIID0gdm9pZCAwO1xuZXhwb3J0cy5LRVlfTEVOR1RIID0gMzI7XG5leHBvcnRzLk5PTkNFX0xFTkdUSCA9IDEyO1xuLy8gc2FtZSB0byBsaWJwMnAtbm9pc2VcbmV4cG9ydHMuREFUQV9DSFVOS19MRU5HVEggPSA2NTUzNjtcbmV4cG9ydHMuVEFHX0xFTkdUSCA9IDE2O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3QuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiVEFHX0xFTkdUSCIsIkRBVEFfQ0hVTktfTEVOR1RIIiwiTk9OQ0VfTEVOR1RIIiwiS0VZX0xFTkdUSCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/common/const.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/chacha20.js":
|
||
|
|
/*!*************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/as-chacha20poly1305/lib/src/chacha20.js ***!
|
||
|
|
\*************************************************************************/
|
||
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.chacha20StreamXOR = void 0;\nconst wasm_1 = __webpack_require__(/*! ./wasm */ \"(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/wasm.js\");\nconst ctx = wasm_1.newInstance();\nconst wasmInputValue = ctx.chacha20Input.value;\nconst wasmOutputValue = ctx.chacha20Output.value;\nconst wasmKeyValue = ctx.chacha20Key.value;\nconst wasmCounterValue = ctx.chacha20Counter.value;\nconst { CHACHA20_INPUT_LENGTH, KEY_LENGTH, CHACHA20_COUNTER_LENGTH } = ctx;\nconst inputArr = new Uint8Array(ctx.memory.buffer, wasmInputValue, CHACHA20_INPUT_LENGTH);\nconst outputArr = new Uint8Array(ctx.memory.buffer, wasmOutputValue, CHACHA20_INPUT_LENGTH);\nconst keyArr = new Uint8Array(ctx.memory.buffer, wasmKeyValue, KEY_LENGTH);\nconst counterArr = new Uint8Array(ctx.memory.buffer, wasmCounterValue, CHACHA20_COUNTER_LENGTH);\n// const debugArray = new Uint32Array(ctx.memory.buffer, ctx.debug.value, 64);\n/**\n * chacha 20 function.\n * @param key a 32 byte Uint8Array\n * @param nonce a 16 byte Uint8Array\n * @param src\n * @returns\n */ function chacha20StreamXOR(key, nonce, src) {\n // We only support 256-bit keys.\n if (key.length != KEY_LENGTH) {\n throw new Error(\"ChaCha: key size must be 32 bytes, expected \" + KEY_LENGTH + \" got \" + key.length);\n }\n if (nonce.length != CHACHA20_COUNTER_LENGTH) {\n throw new Error(\"ChaCha nonce with counter must be 16 bytes\");\n }\n // init\n keyArr.set(key);\n counterArr.set(nonce);\n const output = new Uint8Array(src.length);\n // chunkify the work\n const loop = Math.floor(src.length / CHACHA20_INPUT_LENGTH);\n for(let i = 0; i <= loop; i++){\n const start = i * CHACHA20_INPUT_LENGTH;\n const end = Math.min((i + 1) * CHACHA20_INPUT_LENGTH, src.length);\n inputArr.set(loop === 0 ? src : src.subarray(start, end));\n const length = end - start;\n const dataLength = ctx.chacha20StreamXORUpdate(length);\n output.set(dataLength === CHACHA20_INPUT_LENGTH ? outputArr : outputArr.subarray(0, dataLength), start);\n }\n return output;\n}\nexports.chacha20StreamXOR = chacha20StreamXOR; //# sourceMappingURL=chacha20.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9hcy1jaGFjaGEyMHBvbHkxMzA1L2xpYi9zcmMvY2hhY2hhMjAuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQUVHLE9BQU87QUFBSyxDQUFDLEVBQUM7QUFDN0RELHlCQUF5QixHQUFHLEtBQUs7QUFDakMsTUFBTUcsU0FBU0MsbUJBQU9BLENBQUMsbUZBQVE7QUFDL0IsTUFBTUMsTUFBTUYsT0FBT0csV0FBVztBQUM5QixNQUFNQyxpQkFBaUJGLElBQUlHLGFBQWEsQ0FBQ1AsS0FBSztBQUM5QyxNQUFNUSxrQkFBa0JKLElBQUlLLGNBQWMsQ0FBQ1QsS0FBSztBQUNoRCxNQUFNVSxlQUFlTixJQUFJTyxXQUFXLENBQUNYLEtBQUs7QUFDMUMsTUFBTVksbUJBQW1CUixJQUFJUyxlQUFlLENBQUNiLEtBQUs7QUFDbEQsTUFBTSxFQUFFYyxxQkFBcUIsRUFBRUMsVUFBVSxFQUFFQyx1QkFBdUIsRUFBRSxHQUFHWjtBQUN2RSxNQUFNYSxXQUFXLElBQUlDLFdBQVdkLElBQUllLE1BQU0sQ0FBQ0MsTUFBTSxFQUFFZCxnQkFBZ0JRO0FBQ25FLE1BQU1PLFlBQVksSUFBSUgsV0FBV2QsSUFBSWUsTUFBTSxDQUFDQyxNQUFNLEVBQUVaLGlCQUFpQk07QUFDckUsTUFBTVEsU0FBUyxJQUFJSixXQUFXZCxJQUFJZSxNQUFNLENBQUNDLE1BQU0sRUFBRVYsY0FBY0s7QUFDL0QsTUFBTVEsYUFBYSxJQUFJTCxXQUFXZCxJQUFJZSxNQUFNLENBQUNDLE1BQU0sRUFBRVIsa0JBQWtCSTtBQUN2RSw4RUFBOEU7QUFDOUU7Ozs7OztDQU1DLEdBQ0QsU0FBU2Ysa0JBQWtCdUIsR0FBRyxFQUFFQyxLQUFLLEVBQUVDLEdBQUc7SUFDdEMsZ0NBQWdDO0lBQ2hDLElBQUlGLElBQUlHLE1BQU0sSUFBSVosWUFBWTtRQUMxQixNQUFNLElBQUlhLE1BQU0saURBQWlEYixhQUFhLFVBQVVTLElBQUlHLE1BQU07SUFDdEc7SUFDQSxJQUFJRixNQUFNRSxNQUFNLElBQUlYLHlCQUF5QjtRQUN6QyxNQUFNLElBQUlZLE1BQU07SUFDcEI7SUFDQSxPQUFPO0lBQ1BOLE9BQU9PLEdBQUcsQ0FBQ0w7SUFDWEQsV0FBV00sR0FBRyxDQUFDSjtJQUNmLE1BQU1LLFNBQVMsSUFBSVosV0FBV1EsSUFBSUMsTUFBTTtJQUN4QyxvQkFBb0I7SUFDcEIsTUFBTUksT0FBT0MsS0FBS0MsS0FBSyxDQUFDUCxJQUFJQyxNQUFNLEdBQUdiO0lBQ3JDLElBQUssSUFBSW9CLElBQUksR0FBR0EsS0FBS0gsTUFBTUcsSUFBSztRQUM1QixNQUFNQyxRQUFRRCxJQUFJcEI7UUFDbEIsTUFBTXNCLE1BQU1KLEtBQUtLLEdBQUcsQ0FBQyxDQUFDSCxJQUFJLEtBQUtwQix1QkFBdUJZLElBQUlDLE1BQU07UUFDaEVWLFNBQVNZLEdBQUcsQ0FBQ0UsU0FBUyxJQUFJT
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/chacha20poly1305.js":
|
||
|
|
/*!*********************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/as-chacha20poly1305/lib/src/chacha20poly1305.js ***!
|
||
|
|
\*********************************************************************************/
|
||
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ChaCha20Poly1305 = void 0;\nconst const_1 = __webpack_require__(/*! ../common/const */ \"(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/common/const.js\");\nclass ChaCha20Poly1305 {\n constructor(ctx){\n this.ctx = ctx;\n const wasmKeyValue = ctx.cpKey.value;\n this.wasmKeyArr = new Uint8Array(ctx.memory.buffer, wasmKeyValue, const_1.KEY_LENGTH);\n const wasmNonceValue = ctx.cpNonce.value;\n this.wasmNonceArr = new Uint8Array(ctx.memory.buffer, wasmNonceValue, const_1.NONCE_LENGTH);\n const wasmAdValue = ctx.cpAssociatedData.value;\n // 32, same to KEY_LENGTH\n this.wasmAdArr = new Uint8Array(ctx.memory.buffer, wasmAdValue, const_1.KEY_LENGTH);\n const wasmSealedValue = ctx.cpInput.value;\n this.wasmInputArr = new Uint8Array(ctx.memory.buffer, wasmSealedValue, const_1.DATA_CHUNK_LENGTH);\n const wasmChacha20OutputValue = ctx.chacha20Output.value;\n this.wasmChacha20OutputArr = new Uint8Array(ctx.memory.buffer, wasmChacha20OutputValue, const_1.DATA_CHUNK_LENGTH);\n const wasmPoly1305OutputValue = ctx.poly1305Output.value;\n this.wasmPoly1305OutputArr = new Uint8Array(ctx.memory.buffer, wasmPoly1305OutputValue, const_1.TAG_LENGTH);\n const wasmDebugValue = ctx.debug.value;\n this.wasmDebugArr = new Uint32Array(ctx.memory.buffer, wasmDebugValue, 64);\n }\n /**\n * Encode function\n */ seal(key, nonce, plaintext, associatedData, dst) {\n this.init(key, nonce, associatedData);\n const resultLength = plaintext.length + const_1.TAG_LENGTH;\n let result;\n if (dst) {\n if (dst.length !== resultLength) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n } else {\n result = new Uint8Array(resultLength);\n }\n const asDataLength = associatedData?.length ?? 0;\n this.sealUpdate(plaintext, asDataLength, result);\n // wasmPoly1305OutputArr was updated after the last update() call\n result.set(this.wasmPoly1305OutputArr, plaintext.length);\n return result;\n }\n /**\n * Decode function\n */ open(key, nonce, sealed, associatedData, dst) {\n this.init(key, nonce, associatedData);\n const sealedNoTag = sealed.subarray(0, sealed.length - const_1.TAG_LENGTH);\n let result;\n if (dst) {\n if (dst.length !== sealedNoTag.length) {\n throw new Error(\"ChaCha20Poly1305: incorrect destination length\");\n }\n result = dst;\n } else {\n result = new Uint8Array(sealedNoTag.length);\n }\n const asDataLength = associatedData?.length ?? 0;\n this.openUpdate(sealedNoTag, asDataLength, result);\n const tag = sealed.subarray(sealed.length - const_1.TAG_LENGTH, sealed.length);\n // wasmPoly1305OutputArr was updated after the last update() call\n const isTagValid = this.isSameTag(tag);\n return isTagValid ? result : null;\n }\n init(key, nonce, ad = new Uint8Array(0)) {\n if (key.length != const_1.KEY_LENGTH) {\n throw Error(`Invalid chacha20poly1305 key length ${key.length}, expect ${const_1.KEY_LENGTH}`);\n }\n if (ad.length > const_1.KEY_LENGTH) {\n throw Error(`Invalid ad length ${ad.length}, expect <= ${const_1.KEY_LENGTH}`);\n }\n if (nonce.length !== const_1.NONCE_LENGTH) {\n throw Error(`Invalid nonce length ${nonce.length}, expect ${const_1.NONCE_LENGTH}`);\n }\n this.wasmKeyArr.set(key);\n this.wasmNonceArr.set(nonce);\n this.wasmAdArr.set(ad);\n // don't do the wasm init here, do it in the first openUpdate() or sealUpdate() to save one call\n }\n openUpdate(data, asDataLength, dst) {\n this.commonUpdate(data, this.ctx.openUpdate, asDataLength, dst);\n }\n sealUpdate(dat
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/index.js":
|
||
|
|
/*!**********************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/as-chacha20poly1305/lib/src/index.js ***!
|
||
|
|
\**********************************************************************/
|
||
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.newInstance = exports.chacha20StreamXOR = exports.Poly1305 = exports.ChaCha20Poly1305 = void 0;\nvar chacha20poly1305_1 = __webpack_require__(/*! ./chacha20poly1305 */ \"(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/chacha20poly1305.js\");\nObject.defineProperty(exports, \"ChaCha20Poly1305\", ({\n enumerable: true,\n get: function() {\n return chacha20poly1305_1.ChaCha20Poly1305;\n }\n}));\nvar poly1305_1 = __webpack_require__(/*! ./poly1305 */ \"(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/poly1305.js\");\nObject.defineProperty(exports, \"Poly1305\", ({\n enumerable: true,\n get: function() {\n return poly1305_1.Poly1305;\n }\n}));\nvar chacha20_1 = __webpack_require__(/*! ./chacha20 */ \"(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/chacha20.js\");\nObject.defineProperty(exports, \"chacha20StreamXOR\", ({\n enumerable: true,\n get: function() {\n return chacha20_1.chacha20StreamXOR;\n }\n}));\nvar wasm_1 = __webpack_require__(/*! ./wasm */ \"(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/wasm.js\");\nObject.defineProperty(exports, \"newInstance\", ({\n enumerable: true,\n get: function() {\n return wasm_1.newInstance;\n }\n})); //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9hcy1jaGFjaGEyMHBvbHkxMzA1L2xpYi9zcmMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQUVHLE9BQU87QUFBSyxDQUFDLEVBQUM7QUFDN0RELG1CQUFtQixHQUFHQSx5QkFBeUIsR0FBR0EsZ0JBQWdCLEdBQUdBLHdCQUF3QixHQUFHLEtBQUs7QUFDckcsSUFBSU0scUJBQXFCQyxtQkFBT0EsQ0FBQywyR0FBb0I7QUFDckRULG9EQUFtRDtJQUFFVSxZQUFZO0lBQU1DLEtBQUs7UUFBYyxPQUFPSCxtQkFBbUJELGdCQUFnQjtJQUFFO0FBQUUsQ0FBQyxFQUFDO0FBQzFJLElBQUlLLGFBQWFILG1CQUFPQSxDQUFDLDJGQUFZO0FBQ3JDVCw0Q0FBMkM7SUFBRVUsWUFBWTtJQUFNQyxLQUFLO1FBQWMsT0FBT0MsV0FBV04sUUFBUTtJQUFFO0FBQUUsQ0FBQyxFQUFDO0FBQ2xILElBQUlPLGFBQWFKLG1CQUFPQSxDQUFDLDJGQUFZO0FBQ3JDVCxxREFBb0Q7SUFBRVUsWUFBWTtJQUFNQyxLQUFLO1FBQWMsT0FBT0UsV0FBV1IsaUJBQWlCO0lBQUU7QUFBRSxDQUFDLEVBQUM7QUFDcEksSUFBSVMsU0FBU0wsbUJBQU9BLENBQUMsbUZBQVE7QUFDN0JULCtDQUE4QztJQUFFVSxZQUFZO0lBQU1DLEtBQUs7UUFBYyxPQUFPRyxPQUFPVixXQUFXO0lBQUU7QUFBRSxDQUFDLEVBQUMsRUFDcEgsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9hcy1jaGFjaGEyMHBvbHkxMzA1L2xpYi9zcmMvaW5kZXguanM/NmIyZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMubmV3SW5zdGFuY2UgPSBleHBvcnRzLmNoYWNoYTIwU3RyZWFtWE9SID0gZXhwb3J0cy5Qb2x5MTMwNSA9IGV4cG9ydHMuQ2hhQ2hhMjBQb2x5MTMwNSA9IHZvaWQgMDtcbnZhciBjaGFjaGEyMHBvbHkxMzA1XzEgPSByZXF1aXJlKFwiLi9jaGFjaGEyMHBvbHkxMzA1XCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQ2hhQ2hhMjBQb2x5MTMwNVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gY2hhY2hhMjBwb2x5MTMwNV8xLkNoYUNoYTIwUG9seTEzMDU7IH0gfSk7XG52YXIgcG9seTEzMDVfMSA9IHJlcXVpcmUoXCIuL3BvbHkxMzA1XCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiUG9seTEzMDVcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHBvbHkxMzA1XzEuUG9seTEzMDU7IH0gfSk7XG52YXIgY2hhY2hhMjBfMSA9IHJlcXVpcmUoXCIuL2NoYWNoYTIwXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY2hhY2hhMjBTdHJlYW1YT1JcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNoYWNoYTIwXzEuY2hhY2hhMjBTdHJlYW1YT1I7IH0gfSk7XG52YXIgd2FzbV8xID0gcmVxdWlyZShcIi4vd2FzbVwiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm5ld0luc3RhbmNlXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB3YXNtXzEubmV3SW5zdGFuY2U7IH0gfSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJuZXdJbnN0YW5jZSIsImNoYWNoYTIwU3RyZWFtWE9SIiwiUG9seTEzMDUiLCJDaGFDaGEyMFBvbHkxMzA1IiwiY2hhY2hhMjBwb2x5MTMwNV8xIiwicmVxdWlyZSIsImVudW1lcmFibGUiLCJnZXQiLCJwb2x5MTMwNV8xIiwiY2hhY2hhMjBfMSIsIndhc21fMSJdLCJzb3VyY2VSb290IjoiIn0=\n//#
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/poly1305.js":
|
||
|
|
/*!*************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/as-chacha20poly1305/lib/src/poly1305.js ***!
|
||
|
|
\*************************************************************************/
|
||
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Poly1305 = void 0;\nconst const_1 = __webpack_require__(/*! ../common/const */ \"(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/common/const.js\");\nclass Poly1305 {\n constructor(ctx){\n this.ctx = ctx;\n const wasmPoly1305KeyValue = ctx.poly1305Key.value;\n this.wasmKeyArr = new Uint8Array(ctx.memory.buffer, wasmPoly1305KeyValue, const_1.KEY_LENGTH);\n const wasmPoly1305InputValue = ctx.poly1305Input.value;\n this.wasmInputArr = new Uint8Array(ctx.memory.buffer, wasmPoly1305InputValue, const_1.DATA_CHUNK_LENGTH);\n const wasmPoly1305OutputValue = ctx.poly1305Output.value;\n this.wasmOutputArr = new Uint8Array(ctx.memory.buffer, wasmPoly1305OutputValue, const_1.TAG_LENGTH);\n const wasmPoly1305DebugValue = ctx.debug.value;\n this.wasmDebugArr = new Uint32Array(ctx.memory.buffer, wasmPoly1305DebugValue, 64);\n }\n init(key) {\n if (key.length != const_1.KEY_LENGTH) {\n throw Error(`Invalid poly1305 key length ${key.length}, expect ${const_1.KEY_LENGTH}`);\n }\n this.wasmKeyArr.set(key);\n this.ctx.poly1305Init();\n }\n update(data) {\n if (data.length <= const_1.DATA_CHUNK_LENGTH) {\n this.wasmInputArr.set(data);\n this.ctx.poly1305Update(data.length);\n return;\n }\n for(let offset = 0; offset < data.length; offset += const_1.DATA_CHUNK_LENGTH){\n const end = Math.min(data.length, offset + const_1.DATA_CHUNK_LENGTH);\n this.wasmInputArr.set(data.subarray(offset, end));\n this.ctx.poly1305Update(end - offset);\n }\n }\n digest() {\n this.ctx.poly1305Digest();\n const out = new Uint8Array(const_1.TAG_LENGTH);\n out.set(this.wasmOutputArr);\n return out;\n }\n}\nexports.Poly1305 = Poly1305; //# sourceMappingURL=poly1305.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9hcy1jaGFjaGEyMHBvbHkxMzA1L2xpYi9zcmMvcG9seTEzMDUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQUVHLE9BQU87QUFBSyxDQUFDLEVBQUM7QUFDN0RELGdCQUFnQixHQUFHLEtBQUs7QUFDeEIsTUFBTUcsVUFBVUMsbUJBQU9BLENBQUMsZ0dBQWlCO0FBQ3pDLE1BQU1GO0lBQ0ZHLFlBQVlDLEdBQUcsQ0FBRTtRQUNiLElBQUksQ0FBQ0EsR0FBRyxHQUFHQTtRQUNYLE1BQU1DLHVCQUF1QkQsSUFBSUUsV0FBVyxDQUFDUCxLQUFLO1FBQ2xELElBQUksQ0FBQ1EsVUFBVSxHQUFHLElBQUlDLFdBQVdKLElBQUlLLE1BQU0sQ0FBQ0MsTUFBTSxFQUFFTCxzQkFBc0JKLFFBQVFVLFVBQVU7UUFDNUYsTUFBTUMseUJBQXlCUixJQUFJUyxhQUFhLENBQUNkLEtBQUs7UUFDdEQsSUFBSSxDQUFDZSxZQUFZLEdBQUcsSUFBSU4sV0FBV0osSUFBSUssTUFBTSxDQUFDQyxNQUFNLEVBQUVFLHdCQUF3QlgsUUFBUWMsaUJBQWlCO1FBQ3ZHLE1BQU1DLDBCQUEwQlosSUFBSWEsY0FBYyxDQUFDbEIsS0FBSztRQUN4RCxJQUFJLENBQUNtQixhQUFhLEdBQUcsSUFBSVYsV0FBV0osSUFBSUssTUFBTSxDQUFDQyxNQUFNLEVBQUVNLHlCQUF5QmYsUUFBUWtCLFVBQVU7UUFDbEcsTUFBTUMseUJBQXlCaEIsSUFBSWlCLEtBQUssQ0FBQ3RCLEtBQUs7UUFDOUMsSUFBSSxDQUFDdUIsWUFBWSxHQUFHLElBQUlDLFlBQVluQixJQUFJSyxNQUFNLENBQUNDLE1BQU0sRUFBRVUsd0JBQXdCO0lBQ25GO0lBQ0FJLEtBQUtDLEdBQUcsRUFBRTtRQUNOLElBQUlBLElBQUlDLE1BQU0sSUFBSXpCLFFBQVFVLFVBQVUsRUFBRTtZQUNsQyxNQUFNZ0IsTUFBTSxDQUFDLDRCQUE0QixFQUFFRixJQUFJQyxNQUFNLENBQUMsU0FBUyxFQUFFekIsUUFBUVUsVUFBVSxDQUFDLENBQUM7UUFDekY7UUFDQSxJQUFJLENBQUNKLFVBQVUsQ0FBQ3FCLEdBQUcsQ0FBQ0g7UUFDcEIsSUFBSSxDQUFDckIsR0FBRyxDQUFDeUIsWUFBWTtJQUN6QjtJQUNBQyxPQUFPQyxJQUFJLEVBQUU7UUFDVCxJQUFJQSxLQUFLTCxNQUFNLElBQUl6QixRQUFRYyxpQkFBaUIsRUFBRTtZQUMxQyxJQUFJLENBQUNELFlBQVksQ0FBQ2MsR0FBRyxDQUFDRztZQUN0QixJQUFJLENBQUMzQixHQUFHLENBQUM0QixjQUFjLENBQUNELEtBQUtMLE1BQU07WUFDbkM7UUFDSjtRQUNBLElBQUssSUFBSU8sU0FBUyxHQUFHQSxTQUFTRixLQUFLTCxNQUFNLEVBQUVPLFVBQVVoQyxRQUFRYyxpQkFBaUIsQ0FBRTtZQUM1RSxNQUFNbUIsTUFBTUMsS0FBS0MsR0FBRyxDQUFDTCxLQUFLTCxNQUFNLEVBQUVPLFNBQVNoQyxRQUFRYyxpQkFBaUI7WUFDcEUsSUFBSSxDQUFDRCxZQUFZLENBQUNjLEdBQUcsQ0FBQ0csS0FBS00sUUFBUSxDQUFDSixRQUFRQztZQUM1QyxJQUFJLENBQUM5QixHQUFHLENBQUM0QixjQUFjLENBQUNFLE1BQU1EO1FBQ2xDO0lBQ0o7SUFDQUssU0FBUztRQUNMLElBQUksQ0FBQ2xDLEdBQUcsQ0FBQ21DLG
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/wasm.js":
|
||
|
|
/*!*********************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/as-chacha20poly1305/lib/src/wasm.js ***!
|
||
|
|
\*********************************************************************/
|
||
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.newInstance = void 0;\nconst wasmCode_1 = __webpack_require__(/*! ./wasmCode */ \"(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/wasmCode.js\");\nconst _module = new WebAssembly.Module(wasmCode_1.wasmCode);\nconst importObj = {\n env: {\n // modified from https://github.com/AssemblyScript/assemblyscript/blob/v0.9.2/lib/loader/index.js#L70\n abort: function(msg, file, line, col) {\n throw Error(`abort: ${msg}:${file}:${line}:${col}`);\n }\n }\n};\nfunction newInstance() {\n return new WebAssembly.Instance(_module, importObj).exports;\n}\nexports.newInstance = newInstance; //# sourceMappingURL=wasm.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9hcy1jaGFjaGEyMHBvbHkxMzA1L2xpYi9zcmMvd2FzbS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFBRUcsT0FBTztBQUFLLENBQUMsRUFBQztBQUM3REQsbUJBQW1CLEdBQUcsS0FBSztBQUMzQixNQUFNRyxhQUFhQyxtQkFBT0EsQ0FBQywyRkFBWTtBQUN2QyxNQUFNQyxVQUFVLElBQUlDLFlBQVlDLE1BQU0sQ0FBQ0osV0FBV0ssUUFBUTtBQUMxRCxNQUFNQyxZQUFZO0lBQ2RDLEtBQUs7UUFDRCxxR0FBcUc7UUFDckdDLE9BQU8sU0FBVUMsR0FBRyxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsR0FBRztZQUNqQyxNQUFNQyxNQUFNLENBQUMsT0FBTyxFQUFFSixJQUFJLENBQUMsRUFBRUMsS0FBSyxDQUFDLEVBQUVDLEtBQUssQ0FBQyxFQUFFQyxJQUFJLENBQUM7UUFDdEQ7SUFDSjtBQUNKO0FBQ0EsU0FBU2I7SUFDTCxPQUFPLElBQUlJLFlBQVlXLFFBQVEsQ0FBQ1osU0FBU0ksV0FBV1QsT0FBTztBQUMvRDtBQUNBQSxtQkFBbUIsR0FBR0UsYUFDdEIsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9hcy1jaGFjaGEyMHBvbHkxMzA1L2xpYi9zcmMvd2FzbS5qcz84ZTdjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5uZXdJbnN0YW5jZSA9IHZvaWQgMDtcbmNvbnN0IHdhc21Db2RlXzEgPSByZXF1aXJlKFwiLi93YXNtQ29kZVwiKTtcbmNvbnN0IF9tb2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKHdhc21Db2RlXzEud2FzbUNvZGUpO1xuY29uc3QgaW1wb3J0T2JqID0ge1xuICAgIGVudjoge1xuICAgICAgICAvLyBtb2RpZmllZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9Bc3NlbWJseVNjcmlwdC9hc3NlbWJseXNjcmlwdC9ibG9iL3YwLjkuMi9saWIvbG9hZGVyL2luZGV4LmpzI0w3MFxuICAgICAgICBhYm9ydDogZnVuY3Rpb24gKG1zZywgZmlsZSwgbGluZSwgY29sKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgYWJvcnQ6ICR7bXNnfToke2ZpbGV9OiR7bGluZX06JHtjb2x9YCk7XG4gICAgICAgIH0sXG4gICAgfSxcbn07XG5mdW5jdGlvbiBuZXdJbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKF9tb2R1bGUsIGltcG9ydE9iaikuZXhwb3J0cztcbn1cbmV4cG9ydHMubmV3SW5zdGFuY2UgPSBuZXdJbnN0YW5jZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdhc20uanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibmV3SW5zdGFuY2UiLCJ3YXNtQ29kZV8xIiwicmVxdWlyZSIsIl9tb2R1bGUiLCJXZWJBc3NlbWJseSIsIk1vZHVsZSIsIndhc21Db2RlIiwiaW1wb3J0T2JqIiwiZW52IiwiYWJvcnQiLCJtc2ciLCJmaWxlIiwibGluZSIsImNvbCIsIkVycm9yIiwiSW5zdGFuY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/wasm.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/wasmCode.js":
|
||
|
|
/*!*************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/as-chacha20poly1305/lib/src/wasmCode.js ***!
|
||
|
|
\*************************************************************************/
|
||
|
|
/***/ ((__unused_webpack_module, exports) => {
|
||
|
|
|
||
|
|
eval("\n// This file was autogenerated by scripts/codegen.ts\n// DO NOT modify this file by hand!\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.wasmCode = void 0;\n// eslint-disable-next-line prettier/prettier\nexports.wasmCode = Uint8Array.from([\n 0,\n 97,\n 115,\n 109,\n 1,\n 0,\n 0,\n 0,\n 1,\n 58,\n 10,\n 96,\n 0,\n 0,\n 96,\n 2,\n 127,\n 127,\n 0,\n 96,\n 1,\n 127,\n 0,\n 96,\n 3,\n 127,\n 127,\n 127,\n 0,\n 96,\n 1,\n 127,\n 1,\n 127,\n 96,\n 4,\n 127,\n 127,\n 127,\n 127,\n 0,\n 96,\n 5,\n 127,\n 127,\n 127,\n 127,\n 127,\n 0,\n 96,\n 0,\n 1,\n 127,\n 96,\n 2,\n 127,\n 127,\n 1,\n 127,\n 96,\n 5,\n 127,\n 127,\n 127,\n 127,\n 127,\n 1,\n 127,\n 2,\n 13,\n 1,\n 3,\n 101,\n 110,\n 118,\n 5,\n 97,\n 98,\n 111,\n 114,\n 116,\n 0,\n 5,\n 3,\n 34,\n 33,\n 2,\n 8,\n 1,\n 4,\n 0,\n 4,\n 7,\n 0,\n 0,\n 3,\n 3,\n 2,\n 1,\n 9,\n 4,\n 2,\n 0,\n 3,\n 1,\n 2,\n 2,\n 1,\n 0,\n 0,\n 0,\n 5,\n 1,\n 1,\n 1,\n 6,\n 1,\n 6,\n 0,\n 5,\n 3,\n 1,\n 0,\n 1,\n 6,\n 238,\n 1,\n 47,\n 127,\n 0,\n 65,\n 32,\n 11,\n 127,\n 0,\n 65,\n 16,\n 11,\n 127,\n 0,\n 65,\n 128,\n 128,\n 4,\n 11,\n 127,\n 0,\n 65,\n 16,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 7,\n 226,\n 2,\n 23,\n 6,\n 109,\n 101,\n 109,\n 111,\n 114,\n 121,\n 2,\n 0,\n 21,\n 67,\n 72,\n 65,\n 67,\n 72,\n 65,\n 50,\n 48,\n 95,\n 73,\n 78,\n 80,\n 85,\n 84,\n 95,\n 76,\n 69,\n 78,\n 71,\n 84,\n 72,\n 3,\n 2,\n 23,\n 67,\n 72,\n 65,\n 67,\n 72,\n 65,\n 50,\n 48,\n 95,\n 67,\n 79,\n 85,\n 78,\n 84,\n 69,\n 82,\n 95,\n 76,\n 69,\n 78,\n 71,\n 84,\n 72,\n 3,\n 3,\n 13,\n 99,\n 104,\n 97,\n
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/as-sha256/lib/hashObject.js":
|
||
|
|
/*!*************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/as-sha256/lib/hashObject.js ***!
|
||
|
|
\*************************************************************/
|
||
|
|
/***/ ((__unused_webpack_module, exports) => {
|
||
|
|
|
||
|
|
eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.byteArrayToHashObject = exports.hashObjectToByteArray = void 0;\n/**\n * Pass 8 numbers in an object and set that to inputArray.\n * This function contains multiple same procedures but we intentionally\n * do it step by step to improve performance a bit.\n **/ function hashObjectToByteArray(obj, byteArr, offset) {\n let tmp = obj.h0;\n byteArr[0 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[1 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[2 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[3 + offset] = tmp & 0xff;\n tmp = obj.h1;\n byteArr[4 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[5 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[6 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[7 + offset] = tmp & 0xff;\n tmp = obj.h2;\n byteArr[8 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[9 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[10 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[11 + offset] = tmp & 0xff;\n tmp = obj.h3;\n byteArr[12 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[13 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[14 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[15 + offset] = tmp & 0xff;\n tmp = obj.h4;\n byteArr[16 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[17 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[18 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[19 + offset] = tmp & 0xff;\n tmp = obj.h5;\n byteArr[20 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[21 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[22 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[23 + offset] = tmp & 0xff;\n tmp = obj.h6;\n byteArr[24 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[25 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[26 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[27 + offset] = tmp & 0xff;\n tmp = obj.h7;\n byteArr[28 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[29 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[30 + offset] = tmp & 0xff;\n tmp = tmp >> 8;\n byteArr[31 + offset] = tmp & 0xff;\n}\nexports.hashObjectToByteArray = hashObjectToByteArray;\n/**\n * Parse outputArray into an object of 8 numbers.\n * This is the order that makes Uint32Array the same to Uint8Array\n * This function contains multiple same procedures but we intentionally\n * do it step by step to improve performance a bit.\n **/ function byteArrayToHashObject(byteArr) {\n let tmp = 0;\n tmp |= byteArr[3] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[2] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[1] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[0] & 0xff;\n const h0 = tmp;\n tmp = 0;\n tmp |= byteArr[7] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[6] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[5] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[4] & 0xff;\n const h1 = tmp;\n tmp = 0;\n tmp |= byteArr[11] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[10] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[9] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[8] & 0xff;\n const h2 = tmp;\n tmp = 0;\n tmp |= byteArr[15] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[14] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[13] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[12] & 0xff;\n const h3 = tmp;\n tmp = 0;\n tmp |= byteArr[19] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[18] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[17] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[16] & 0xff;\n const h4 = tmp;\n tmp = 0;\n tmp |= byteArr[23] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[22] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[21] & 0xff;\n tmp = tmp << 8;\n tmp |= byteArr[20] & 0xff;\n const h5 = tmp;\n tmp = 0;\n tmp |= byteArr[27] & 0xff;\n t
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/as-sha256/lib/index.js":
|
||
|
|
/*!********************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/as-sha256/lib/index.js ***!
|
||
|
|
\********************************************************/
|
||
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("\nvar __importDefault = (void 0) && (void 0).__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.digest64HashObjects = exports.digest2Bytes32 = exports.digest64 = exports.digest = exports.SHA256 = exports.hashObjectToByteArray = exports.byteArrayToHashObject = void 0;\nconst wasm_1 = __webpack_require__(/*! ./wasm */ \"(ssr)/./node_modules/@chainsafe/as-sha256/lib/wasm.js\");\nconst hashObject_1 = __webpack_require__(/*! ./hashObject */ \"(ssr)/./node_modules/@chainsafe/as-sha256/lib/hashObject.js\");\nObject.defineProperty(exports, \"byteArrayToHashObject\", ({\n enumerable: true,\n get: function() {\n return hashObject_1.byteArrayToHashObject;\n }\n}));\nObject.defineProperty(exports, \"hashObjectToByteArray\", ({\n enumerable: true,\n get: function() {\n return hashObject_1.hashObjectToByteArray;\n }\n}));\nconst sha256_1 = __importDefault(__webpack_require__(/*! ./sha256 */ \"(ssr)/./node_modules/@chainsafe/as-sha256/lib/sha256.js\"));\nexports.SHA256 = sha256_1.default;\nconst ctx = wasm_1.newInstance();\nconst wasmInputValue = ctx.input.value;\nconst wasmOutputValue = ctx.output.value;\nconst inputUint8Array = new Uint8Array(ctx.memory.buffer, wasmInputValue, ctx.INPUT_LENGTH);\nconst outputUint8Array = new Uint8Array(ctx.memory.buffer, wasmOutputValue, 32);\nconst inputUint32Array = new Uint32Array(ctx.memory.buffer, wasmInputValue, ctx.INPUT_LENGTH);\nfunction digest(data) {\n if (data.length === 64) {\n return digest64(data);\n }\n if (data.length <= ctx.INPUT_LENGTH) {\n inputUint8Array.set(data);\n ctx.digest(data.length);\n const output = new Uint8Array(32);\n output.set(outputUint8Array);\n return output;\n }\n ctx.init();\n update(data);\n return final();\n}\nexports.digest = digest;\nfunction digest64(data) {\n if (data.length === 64) {\n inputUint8Array.set(data);\n ctx.digest64(wasmInputValue, wasmOutputValue);\n const output = new Uint8Array(32);\n output.set(outputUint8Array);\n return output;\n }\n throw new Error(\"InvalidLengthForDigest64\");\n}\nexports.digest64 = digest64;\nfunction digest2Bytes32(bytes1, bytes2) {\n if (bytes1.length === 32 && bytes2.length === 32) {\n inputUint8Array.set(bytes1);\n inputUint8Array.set(bytes2, 32);\n ctx.digest64(wasmInputValue, wasmOutputValue);\n const output = new Uint8Array(32);\n output.set(outputUint8Array);\n return output;\n }\n throw new Error(\"InvalidLengthForDigest64\");\n}\nexports.digest2Bytes32 = digest2Bytes32;\n/**\n * Digest 2 objects, each has 8 properties from h0 to h7.\n * The performance is a little bit better than digest64 due to the use of Uint32Array\n * and the memory is a little bit better than digest64 due to no temporary Uint8Array.\n * @returns\n */ function digest64HashObjects(obj1, obj2) {\n // TODO: expect obj1 and obj2 as HashObject\n inputUint32Array[0] = obj1.h0;\n inputUint32Array[1] = obj1.h1;\n inputUint32Array[2] = obj1.h2;\n inputUint32Array[3] = obj1.h3;\n inputUint32Array[4] = obj1.h4;\n inputUint32Array[5] = obj1.h5;\n inputUint32Array[6] = obj1.h6;\n inputUint32Array[7] = obj1.h7;\n inputUint32Array[8] = obj2.h0;\n inputUint32Array[9] = obj2.h1;\n inputUint32Array[10] = obj2.h2;\n inputUint32Array[11] = obj2.h3;\n inputUint32Array[12] = obj2.h4;\n inputUint32Array[13] = obj2.h5;\n inputUint32Array[14] = obj2.h6;\n inputUint32Array[15] = obj2.h7;\n ctx.digest64(wasmInputValue, wasmOutputValue);\n // extracting numbers from Uint32Array causes more memory\n return hashObject_1.byteArrayToHashObject(outputUint8Array);\n}\nexports.digest64HashObjects = digest64HashObjects;\nfunction update(data) {\n const INPUT_LENGTH = ctx.INPUT_LENGTH;\n if (data.length > INPUT_LENGTH) {\n for(let i = 0; i < data.length; i += IN
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/as-sha256/lib/sha256.js":
|
||
|
|
/*!*********************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/as-sha256/lib/sha256.js ***!
|
||
|
|
\*********************************************************/
|
||
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst wasm_1 = __webpack_require__(/*! ./wasm */ \"(ssr)/./node_modules/@chainsafe/as-sha256/lib/wasm.js\");\n/**\n * Class based SHA256\n */ class SHA256 {\n constructor(){\n this.ctx = wasm_1.newInstance();\n this.wasmInputValue = this.ctx.input.value;\n this.wasmOutputValue = this.ctx.output.value;\n this.uint8InputArray = new Uint8Array(this.ctx.memory.buffer, this.wasmInputValue, this.ctx.INPUT_LENGTH);\n this.uint8OutputArray = new Uint8Array(this.ctx.memory.buffer, this.wasmOutputValue, 32);\n }\n init() {\n this.ctx.init();\n return this;\n }\n update(data) {\n const INPUT_LENGTH = this.ctx.INPUT_LENGTH;\n if (data.length > INPUT_LENGTH) {\n for(let i = 0; i < data.length; i += INPUT_LENGTH){\n const sliced = data.slice(i, i + INPUT_LENGTH);\n this.uint8InputArray.set(sliced);\n this.ctx.update(this.wasmInputValue, sliced.length);\n }\n } else {\n this.uint8InputArray.set(data);\n this.ctx.update(this.wasmInputValue, data.length);\n }\n return this;\n }\n final() {\n this.ctx.final(this.wasmOutputValue);\n const output = new Uint8Array(32);\n output.set(this.uint8OutputArray);\n return output;\n }\n}\nexports[\"default\"] = SHA256; //# sourceMappingURL=sha256.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9hcy1zaGEyNTYvbGliL3NoYTI1Ni5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFBRUcsT0FBTztBQUFLLENBQUMsRUFBQztBQUM3RCxNQUFNQyxTQUFTQyxtQkFBT0EsQ0FBQyxxRUFBUTtBQUMvQjs7Q0FFQyxHQUNELE1BQU1DO0lBQ0ZDLGFBQWM7UUFDVixJQUFJLENBQUNDLEdBQUcsR0FBR0osT0FBT0ssV0FBVztRQUM3QixJQUFJLENBQUNDLGNBQWMsR0FBRyxJQUFJLENBQUNGLEdBQUcsQ0FBQ0csS0FBSyxDQUFDUixLQUFLO1FBQzFDLElBQUksQ0FBQ1MsZUFBZSxHQUFHLElBQUksQ0FBQ0osR0FBRyxDQUFDSyxNQUFNLENBQUNWLEtBQUs7UUFDNUMsSUFBSSxDQUFDVyxlQUFlLEdBQUcsSUFBSUMsV0FBVyxJQUFJLENBQUNQLEdBQUcsQ0FBQ1EsTUFBTSxDQUFDQyxNQUFNLEVBQUUsSUFBSSxDQUFDUCxjQUFjLEVBQUUsSUFBSSxDQUFDRixHQUFHLENBQUNVLFlBQVk7UUFDeEcsSUFBSSxDQUFDQyxnQkFBZ0IsR0FBRyxJQUFJSixXQUFXLElBQUksQ0FBQ1AsR0FBRyxDQUFDUSxNQUFNLENBQUNDLE1BQU0sRUFBRSxJQUFJLENBQUNMLGVBQWUsRUFBRTtJQUN6RjtJQUNBUSxPQUFPO1FBQ0gsSUFBSSxDQUFDWixHQUFHLENBQUNZLElBQUk7UUFDYixPQUFPLElBQUk7SUFDZjtJQUNBQyxPQUFPQyxJQUFJLEVBQUU7UUFDVCxNQUFNSixlQUFlLElBQUksQ0FBQ1YsR0FBRyxDQUFDVSxZQUFZO1FBQzFDLElBQUlJLEtBQUtDLE1BQU0sR0FBR0wsY0FBYztZQUM1QixJQUFLLElBQUlNLElBQUksR0FBR0EsSUFBSUYsS0FBS0MsTUFBTSxFQUFFQyxLQUFLTixhQUFjO2dCQUNoRCxNQUFNTyxTQUFTSCxLQUFLSSxLQUFLLENBQUNGLEdBQUdBLElBQUlOO2dCQUNqQyxJQUFJLENBQUNKLGVBQWUsQ0FBQ2EsR0FBRyxDQUFDRjtnQkFDekIsSUFBSSxDQUFDakIsR0FBRyxDQUFDYSxNQUFNLENBQUMsSUFBSSxDQUFDWCxjQUFjLEVBQUVlLE9BQU9GLE1BQU07WUFDdEQ7UUFDSixPQUNLO1lBQ0QsSUFBSSxDQUFDVCxlQUFlLENBQUNhLEdBQUcsQ0FBQ0w7WUFDekIsSUFBSSxDQUFDZCxHQUFHLENBQUNhLE1BQU0sQ0FBQyxJQUFJLENBQUNYLGNBQWMsRUFBRVksS0FBS0MsTUFBTTtRQUNwRDtRQUNBLE9BQU8sSUFBSTtJQUNmO0lBQ0FLLFFBQVE7UUFDSixJQUFJLENBQUNwQixHQUFHLENBQUNvQixLQUFLLENBQUMsSUFBSSxDQUFDaEIsZUFBZTtRQUNuQyxNQUFNQyxTQUFTLElBQUlFLFdBQVc7UUFDOUJGLE9BQU9jLEdBQUcsQ0FBQyxJQUFJLENBQUNSLGdCQUFnQjtRQUNoQyxPQUFPTjtJQUNYO0FBQ0o7QUFDQVgsa0JBQWUsR0FBR0ksUUFDbEIsa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9hcy1zaGEyNTYvbGliL3NoYTI1Ni5qcz8yMzVkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3Qgd2FzbV8xID0gcmVxdWlyZShcIi4vd2FzbVwiKTtcbi8qKlxuICogQ2xhc3MgYmFzZWQgU0hBMjU2XG4gKi9cbmNsYXNzIFNIQTI1NiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY3R4ID0gd2FzbV8xLm5ld0luc3RhbmNlKCk7XG4gICAgICAgIHRoaXMud2FzbUlucHV0VmFsdWUgPSB0aGlzLmN0eC5pbnB1dC52YWx1ZTtcbiAgICAgICAgdGhpcy53YXNtT3V0cHV0VmFsdWUgPSB0aGlzLmN0eC5vdXRwdXQudmFsdWU7XG4gICAgICAgIHRoaXMudWludDhJbnB1dEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkodGhpcy5jdHgubWVtb3J5LmJ1ZmZlciwgdGhpcy53YXNtSW5wdXRWYWx1ZSwgdG
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/as-sha256/lib/wasm.js":
|
||
|
|
/*!*******************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/as-sha256/lib/wasm.js ***!
|
||
|
|
\*******************************************************/
|
||
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.newInstance = void 0;\nconst wasmCode_1 = __webpack_require__(/*! ./wasmCode */ \"(ssr)/./node_modules/@chainsafe/as-sha256/lib/wasmCode.js\");\nconst _module = new WebAssembly.Module(wasmCode_1.wasmCode);\nconst importObj = {\n env: {\n // modified from https://github.com/AssemblyScript/assemblyscript/blob/v0.9.2/lib/loader/index.js#L70\n abort: function(msg, file, line, col) {\n throw Error(`abort: ${msg}:${file}:${line}:${col}`);\n }\n }\n};\nfunction newInstance() {\n return new WebAssembly.Instance(_module, importObj).exports;\n}\nexports.newInstance = newInstance; //# sourceMappingURL=wasm.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9hcy1zaGEyNTYvbGliL3dhc20uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQUVHLE9BQU87QUFBSyxDQUFDLEVBQUM7QUFDN0RELG1CQUFtQixHQUFHLEtBQUs7QUFDM0IsTUFBTUcsYUFBYUMsbUJBQU9BLENBQUMsNkVBQVk7QUFDdkMsTUFBTUMsVUFBVSxJQUFJQyxZQUFZQyxNQUFNLENBQUNKLFdBQVdLLFFBQVE7QUFDMUQsTUFBTUMsWUFBWTtJQUNkQyxLQUFLO1FBQ0QscUdBQXFHO1FBQ3JHQyxPQUFPLFNBQVVDLEdBQUcsRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLEdBQUc7WUFDakMsTUFBTUMsTUFBTSxDQUFDLE9BQU8sRUFBRUosSUFBSSxDQUFDLEVBQUVDLEtBQUssQ0FBQyxFQUFFQyxLQUFLLENBQUMsRUFBRUMsSUFBSSxDQUFDO1FBQ3REO0lBQ0o7QUFDSjtBQUNBLFNBQVNiO0lBQ0wsT0FBTyxJQUFJSSxZQUFZVyxRQUFRLENBQUNaLFNBQVNJLFdBQVdULE9BQU87QUFDL0Q7QUFDQUEsbUJBQW1CLEdBQUdFLGFBQ3RCLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BjaGFpbnNhZmUvYXMtc2hhMjU2L2xpYi93YXNtLmpzPzNhMDgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLm5ld0luc3RhbmNlID0gdm9pZCAwO1xuY29uc3Qgd2FzbUNvZGVfMSA9IHJlcXVpcmUoXCIuL3dhc21Db2RlXCIpO1xuY29uc3QgX21vZHVsZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUod2FzbUNvZGVfMS53YXNtQ29kZSk7XG5jb25zdCBpbXBvcnRPYmogPSB7XG4gICAgZW52OiB7XG4gICAgICAgIC8vIG1vZGlmaWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL0Fzc2VtYmx5U2NyaXB0L2Fzc2VtYmx5c2NyaXB0L2Jsb2IvdjAuOS4yL2xpYi9sb2FkZXIvaW5kZXguanMjTDcwXG4gICAgICAgIGFib3J0OiBmdW5jdGlvbiAobXNnLCBmaWxlLCBsaW5lLCBjb2wpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBhYm9ydDogJHttc2d9OiR7ZmlsZX06JHtsaW5lfToke2NvbH1gKTtcbiAgICAgICAgfSxcbiAgICB9LFxufTtcbmZ1bmN0aW9uIG5ld0luc3RhbmNlKCkge1xuICAgIHJldHVybiBuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoX21vZHVsZSwgaW1wb3J0T2JqKS5leHBvcnRzO1xufVxuZXhwb3J0cy5uZXdJbnN0YW5jZSA9IG5ld0luc3RhbmNlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d2FzbS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJuZXdJbnN0YW5jZSIsIndhc21Db2RlXzEiLCJyZXF1aXJlIiwiX21vZHVsZSIsIldlYkFzc2VtYmx5IiwiTW9kdWxlIiwid2FzbUNvZGUiLCJpbXBvcnRPYmoiLCJlbnYiLCJhYm9ydCIsIm1zZyIsImZpbGUiLCJsaW5lIiwiY29sIiwiRXJyb3IiLCJJbnN0YW5jZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/as-sha256/lib/wasm.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/as-sha256/lib/wasmCode.js":
|
||
|
|
/*!***********************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/as-sha256/lib/wasmCode.js ***!
|
||
|
|
\***********************************************************/
|
||
|
|
/***/ ((__unused_webpack_module, exports) => {
|
||
|
|
|
||
|
|
eval("\n// This file was autogenerated by scripts/codegen.ts\n// DO NOT modify this file by hand!\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.wasmCode = void 0;\n// eslint-disable-next-line prettier/prettier\nexports.wasmCode = Uint8Array.from([\n 0,\n 97,\n 115,\n 109,\n 1,\n 0,\n 0,\n 0,\n 1,\n 31,\n 6,\n 96,\n 1,\n 127,\n 0,\n 96,\n 2,\n 127,\n 127,\n 0,\n 96,\n 0,\n 0,\n 96,\n 1,\n 127,\n 1,\n 127,\n 96,\n 3,\n 127,\n 127,\n 127,\n 0,\n 96,\n 4,\n 127,\n 127,\n 127,\n 127,\n 0,\n 2,\n 13,\n 1,\n 3,\n 101,\n 110,\n 118,\n 5,\n 97,\n 98,\n 111,\n 114,\n 116,\n 0,\n 5,\n 3,\n 16,\n 15,\n 0,\n 3,\n 1,\n 3,\n 2,\n 2,\n 4,\n 1,\n 1,\n 3,\n 0,\n 0,\n 0,\n 1,\n 2,\n 5,\n 3,\n 1,\n 0,\n 1,\n 6,\n 172,\n 1,\n 34,\n 127,\n 0,\n 65,\n 128,\n 4,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 127,\n 1,\n 65,\n 0,\n 11,\n 7,\n 86,\n 9,\n 6,\n 109,\n 101,\n 109,\n 111,\n 114,\n 121,\n 2,\n 0,\n 12,\n 73,\n 78,\n 80,\n 85,\n 84,\n 95,\n 76,\n 69,\n 78,\n 71,\n 84,\n 72,\n 3,\n 0,\n 5,\n 105,\n 110,\n 112,\n 117,\n 116,\n 3,\n 28,\n 6,\n 111,\n 117,\n 116,\n 112,\n 117,\n 116,\n 3,\n 30,\n 4,\n 105,\n 110,\n 105,\n 116,\n 0,\n 6,\n 6,\n 117,\n 112,\n 100,\n 97,\n 116,\n 101,\n 0,\n 9,\n 5,\n 102,\n 105,\n 110,\n 97,\n 108,\n 0,\n 11,\n 6,\n 100,\n 105,\n 103,\n 101,\n 115,\n 116,\n 0,\n 12,\n 8,\n 100,\n 105,\n 103,\n 101,\n 115,\n 116,\n 54,\n 52,\n 0,\n 14,\n 8,\n 1,\n 15,\n 10,\n 202,\n 14,\n 15,\n 70,\n 1,\n 2,\n 127,\n 32,\n 0,\n 63,\n 0,\n 34,\n 2,\n 65,\n 16,\n 116,\n 34,\n 1,\n 75,\n 4,\n 64,\n 32,\n 2,\n 32,\n 0,\n 32,\n 1,\n 107,\n 65,\n 255,\n 255,\n 3,\n 106,\n 65,\n 128,\n 128,\n 124,\n 113,\n 65,\n 16,\n 118,\n 34,\n 1,\n 32,\n 2,\n 32,\n 1,\n 74,\n 27,\n 64,\n 0,\n 65,\n 0,\n 72,\n 4,\n 64,\n 32,\n 1,\n 64,\n 0,\n 65,\n 0,\n 72,\n 4,\n 64,\n 0,\n 11,\n 11,\n 11,\n 32,\n 0,\n 36,\n 23,\n 11,\n 82,\n 1,\n 3,\n 127,\n 32,\n 0,\n 65,\n 240,\n 255,\n
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/is-ip/lib/is-ip.node.js":
|
||
|
|
/*!*********************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/is-ip/lib/is-ip.node.js ***!
|
||
|
|
\*********************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ipVersion: () => (/* reexport safe */ node_net__WEBPACK_IMPORTED_MODULE_0__.isIP),\n/* harmony export */ isIP: () => (/* binding */ isIP),\n/* harmony export */ isIPv4: () => (/* reexport safe */ node_net__WEBPACK_IMPORTED_MODULE_0__.isIPv4),\n/* harmony export */ isIPv6: () => (/* reexport safe */ node_net__WEBPACK_IMPORTED_MODULE_0__.isIPv6)\n/* harmony export */ });\n/* harmony import */ var node_net__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node:net */ \"node:net\");\n\n\n/** Check if `input` is IPv4 or IPv6. */ function isIP(input) {\n return Boolean((0,node_net__WEBPACK_IMPORTED_MODULE_0__.isIP)(input));\n} //# sourceMappingURL=is-ip.node.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9pcy1pcC9saWIvaXMtaXAubm9kZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUE2RDtBQUN4QjtBQUNyQyxzQ0FBc0MsR0FDL0IsU0FBU0UsS0FBS0UsS0FBSztJQUN0QixPQUFPQyxRQUFRRiw4Q0FBU0EsQ0FBQ0M7QUFDN0IsRUFDQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AY2hhaW5zYWZlL2lzLWlwL2xpYi9pcy1pcC5ub2RlLmpzPzU0ZGUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNJUHY0LCBpc0lQdjYsIGlzSVAgYXMgaXBWZXJzaW9uIH0gZnJvbSBcIm5vZGU6bmV0XCI7XG5leHBvcnQgeyBpc0lQdjQsIGlzSVB2NiwgaXBWZXJzaW9uIH07XG4vKiogQ2hlY2sgaWYgYGlucHV0YCBpcyBJUHY0IG9yIElQdjYuICovXG5leHBvcnQgZnVuY3Rpb24gaXNJUChpbnB1dCkge1xuICAgIHJldHVybiBCb29sZWFuKGlwVmVyc2lvbihpbnB1dCkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXMtaXAubm9kZS5qcy5tYXAiXSwibmFtZXMiOlsiaXNJUHY0IiwiaXNJUHY2IiwiaXNJUCIsImlwVmVyc2lvbiIsImlucHV0IiwiQm9vbGVhbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/is-ip/lib/is-ip.node.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/is-ip/lib/parse.js":
|
||
|
|
/*!****************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/is-ip/lib/parse.js ***!
|
||
|
|
\****************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseIP: () => (/* binding */ parseIP),\n/* harmony export */ parseIPv4: () => (/* binding */ parseIPv4),\n/* harmony export */ parseIPv6: () => (/* binding */ parseIPv6)\n/* harmony export */ });\n/* harmony import */ var _parser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./parser.js */ \"(ssr)/./node_modules/@chainsafe/is-ip/lib/parser.js\");\n\n// See https://stackoverflow.com/questions/166132/maximum-length-of-the-textual-representation-of-an-ipv6-address\nconst MAX_IPV6_LENGTH = 45;\nconst MAX_IPV4_LENGTH = 15;\nconst parser = new _parser_js__WEBPACK_IMPORTED_MODULE_0__.Parser();\n/** Parse `input` into IPv4 bytes. */ function parseIPv4(input) {\n if (input.length > MAX_IPV4_LENGTH) {\n return undefined;\n }\n return parser.new(input).parseWith(()=>parser.readIPv4Addr());\n}\n/** Parse `input` into IPv6 bytes. */ function parseIPv6(input) {\n // strip zone index if it is present\n if (input.includes(\"%\")) {\n input = input.split(\"%\")[0];\n }\n if (input.length > MAX_IPV6_LENGTH) {\n return undefined;\n }\n return parser.new(input).parseWith(()=>parser.readIPv6Addr());\n}\n/** Parse `input` into IPv4 or IPv6 bytes. */ function parseIP(input) {\n // strip zone index if it is present\n if (input.includes(\"%\")) {\n input = input.split(\"%\")[0];\n }\n if (input.length > MAX_IPV6_LENGTH) {\n return undefined;\n }\n return parser.new(input).parseWith(()=>parser.readIPAddr());\n} //# sourceMappingURL=parse.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9pcy1pcC9saWIvcGFyc2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFxQztBQUNyQyxpSEFBaUg7QUFDakgsTUFBTUMsa0JBQWtCO0FBQ3hCLE1BQU1DLGtCQUFrQjtBQUN4QixNQUFNQyxTQUFTLElBQUlILDhDQUFNQTtBQUN6QixtQ0FBbUMsR0FDNUIsU0FBU0ksVUFBVUMsS0FBSztJQUMzQixJQUFJQSxNQUFNQyxNQUFNLEdBQUdKLGlCQUFpQjtRQUNoQyxPQUFPSztJQUNYO0lBQ0EsT0FBT0osT0FBT0ssR0FBRyxDQUFDSCxPQUFPSSxTQUFTLENBQUMsSUFBTU4sT0FBT08sWUFBWTtBQUNoRTtBQUNBLG1DQUFtQyxHQUM1QixTQUFTQyxVQUFVTixLQUFLO0lBQzNCLG9DQUFvQztJQUNwQyxJQUFJQSxNQUFNTyxRQUFRLENBQUMsTUFBTTtRQUNyQlAsUUFBUUEsTUFBTVEsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO0lBQy9CO0lBQ0EsSUFBSVIsTUFBTUMsTUFBTSxHQUFHTCxpQkFBaUI7UUFDaEMsT0FBT007SUFDWDtJQUNBLE9BQU9KLE9BQU9LLEdBQUcsQ0FBQ0gsT0FBT0ksU0FBUyxDQUFDLElBQU1OLE9BQU9XLFlBQVk7QUFDaEU7QUFDQSwyQ0FBMkMsR0FDcEMsU0FBU0MsUUFBUVYsS0FBSztJQUN6QixvQ0FBb0M7SUFDcEMsSUFBSUEsTUFBTU8sUUFBUSxDQUFDLE1BQU07UUFDckJQLFFBQVFBLE1BQU1RLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtJQUMvQjtJQUNBLElBQUlSLE1BQU1DLE1BQU0sR0FBR0wsaUJBQWlCO1FBQ2hDLE9BQU9NO0lBQ1g7SUFDQSxPQUFPSixPQUFPSyxHQUFHLENBQUNILE9BQU9JLFNBQVMsQ0FBQyxJQUFNTixPQUFPYSxVQUFVO0FBQzlELEVBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9pcy1pcC9saWIvcGFyc2UuanM/YTNmYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZXIgfSBmcm9tIFwiLi9wYXJzZXIuanNcIjtcbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjYxMzIvbWF4aW11bS1sZW5ndGgtb2YtdGhlLXRleHR1YWwtcmVwcmVzZW50YXRpb24tb2YtYW4taXB2Ni1hZGRyZXNzXG5jb25zdCBNQVhfSVBWNl9MRU5HVEggPSA0NTtcbmNvbnN0IE1BWF9JUFY0X0xFTkdUSCA9IDE1O1xuY29uc3QgcGFyc2VyID0gbmV3IFBhcnNlcigpO1xuLyoqIFBhcnNlIGBpbnB1dGAgaW50byBJUHY0IGJ5dGVzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSVB2NChpbnB1dCkge1xuICAgIGlmIChpbnB1dC5sZW5ndGggPiBNQVhfSVBWNF9MRU5HVEgpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHBhcnNlci5uZXcoaW5wdXQpLnBhcnNlV2l0aCgoKSA9PiBwYXJzZXIucmVhZElQdjRBZGRyKCkpO1xufVxuLyoqIFBhcnNlIGBpbnB1dGAgaW50byBJUHY2IGJ5dGVzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSVB2NihpbnB1dCkge1xuICAgIC8vIHN0cmlwIHpvbmUgaW5kZXggaWYgaXQgaXMgcHJlc2VudFxuICAgIGlmIChpbnB1dC5pbmNsdWRlcyhcIiVcIikpIHtcbiAgICAgICAgaW5wdXQgPSBpbnB1dC5zcGxpdChcIiVcIilbMF07XG4gICAgfVxuICAgIGlmIChpbnB1dC5sZW5ndGggPiBNQVhfSVBWNl9MRU5HVEgpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHBhcnNlci5uZXcoaW5wdXQpLnBhcnNlV2l0aCgoKSA9PiBwY
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/is-ip/lib/parser.js":
|
||
|
|
/*!*****************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/is-ip/lib/parser.js ***!
|
||
|
|
\*****************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Parser: () => (/* binding */ Parser)\n/* harmony export */ });\n/* eslint-disable @typescript-eslint/no-unsafe-return */ class Parser {\n new(input) {\n this.index = 0;\n this.input = input;\n return this;\n }\n /** Run a parser, and restore the pre-parse state if it fails. */ readAtomically(fn) {\n const index = this.index;\n const result = fn();\n if (result === undefined) {\n this.index = index;\n }\n return result;\n }\n /** Run a parser, but fail if the entire input wasn't consumed. Doesn't run atomically. */ parseWith(fn) {\n const result = fn();\n if (this.index !== this.input.length) {\n return undefined;\n }\n return result;\n }\n /** Peek the next character from the input */ peekChar() {\n if (this.index >= this.input.length) {\n return undefined;\n }\n return this.input[this.index];\n }\n /** Read the next character from the input */ readChar() {\n if (this.index >= this.input.length) {\n return undefined;\n }\n return this.input[this.index++];\n }\n /** Read the next character from the input if it matches the target. */ readGivenChar(target) {\n return this.readAtomically(()=>{\n const char = this.readChar();\n if (char !== target) {\n return undefined;\n }\n return char;\n });\n }\n /**\n * Helper for reading separators in an indexed loop. Reads the separator\n * character iff index > 0, then runs the parser. When used in a loop,\n * the separator character will only be read on index > 0 (see\n * readIPv4Addr for an example)\n */ readSeparator(sep, index, inner) {\n return this.readAtomically(()=>{\n if (index > 0) {\n if (this.readGivenChar(sep) === undefined) {\n return undefined;\n }\n }\n return inner();\n });\n }\n /**\n * Read a number off the front of the input in the given radix, stopping\n * at the first non-digit character or eof. Fails if the number has more\n * digits than max_digits or if there is no number.\n */ readNumber(radix, maxDigits, allowZeroPrefix, maxBytes) {\n return this.readAtomically(()=>{\n let result = 0;\n let digitCount = 0;\n const leadingChar = this.peekChar();\n if (leadingChar === undefined) {\n return undefined;\n }\n const hasLeadingZero = leadingChar === \"0\";\n const maxValue = 2 ** (8 * maxBytes) - 1;\n // eslint-disable-next-line no-constant-condition\n while(true){\n const digit = this.readAtomically(()=>{\n const char = this.readChar();\n if (char === undefined) {\n return undefined;\n }\n const num = Number.parseInt(char, radix);\n if (Number.isNaN(num)) {\n return undefined;\n }\n return num;\n });\n if (digit === undefined) {\n break;\n }\n result *= radix;\n result += digit;\n if (result > maxValue) {\n return undefined;\n }\n digitCount += 1;\n if (maxDigits !== undefined) {\n if (digitCount > maxDigits) {\n return undefined;\n }\n }\n }\n if (digitCount === 0) {\n return undefined;\n } else if (!allowZeroPrefix && hasLeadingZero && digitCount > 1) {\n return undefined;\n } else {\n
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/constants.js":
|
||
|
|
/*!************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/constants.js ***!
|
||
|
|
\************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ACCEPT_FROM_WHITELIST_DURATION_MS: () => (/* binding */ ACCEPT_FROM_WHITELIST_DURATION_MS),\n/* harmony export */ ACCEPT_FROM_WHITELIST_MAX_MESSAGES: () => (/* binding */ ACCEPT_FROM_WHITELIST_MAX_MESSAGES),\n/* harmony export */ ACCEPT_FROM_WHITELIST_THRESHOLD_SCORE: () => (/* binding */ ACCEPT_FROM_WHITELIST_THRESHOLD_SCORE),\n/* harmony export */ BACKOFF_SLACK: () => (/* binding */ BACKOFF_SLACK),\n/* harmony export */ DEFAULT_METRIC_MESH_MESSAGE_DELIVERIES_WINDOWS: () => (/* binding */ DEFAULT_METRIC_MESH_MESSAGE_DELIVERIES_WINDOWS),\n/* harmony export */ ERR_TOPIC_VALIDATOR_IGNORE: () => (/* binding */ ERR_TOPIC_VALIDATOR_IGNORE),\n/* harmony export */ ERR_TOPIC_VALIDATOR_REJECT: () => (/* binding */ ERR_TOPIC_VALIDATOR_REJECT),\n/* harmony export */ FloodsubID: () => (/* binding */ FloodsubID),\n/* harmony export */ GossipsubConnectionTimeout: () => (/* binding */ GossipsubConnectionTimeout),\n/* harmony export */ GossipsubConnectors: () => (/* binding */ GossipsubConnectors),\n/* harmony export */ GossipsubD: () => (/* binding */ GossipsubD),\n/* harmony export */ GossipsubDhi: () => (/* binding */ GossipsubDhi),\n/* harmony export */ GossipsubDirectConnectInitialDelay: () => (/* binding */ GossipsubDirectConnectInitialDelay),\n/* harmony export */ GossipsubDirectConnectTicks: () => (/* binding */ GossipsubDirectConnectTicks),\n/* harmony export */ GossipsubDlazy: () => (/* binding */ GossipsubDlazy),\n/* harmony export */ GossipsubDlo: () => (/* binding */ GossipsubDlo),\n/* harmony export */ GossipsubDout: () => (/* binding */ GossipsubDout),\n/* harmony export */ GossipsubDscore: () => (/* binding */ GossipsubDscore),\n/* harmony export */ GossipsubFanoutTTL: () => (/* binding */ GossipsubFanoutTTL),\n/* harmony export */ GossipsubGossipFactor: () => (/* binding */ GossipsubGossipFactor),\n/* harmony export */ GossipsubGossipRetransmission: () => (/* binding */ GossipsubGossipRetransmission),\n/* harmony export */ GossipsubGraftFloodThreshold: () => (/* binding */ GossipsubGraftFloodThreshold),\n/* harmony export */ GossipsubHeartbeatInitialDelay: () => (/* binding */ GossipsubHeartbeatInitialDelay),\n/* harmony export */ GossipsubHeartbeatInterval: () => (/* binding */ GossipsubHeartbeatInterval),\n/* harmony export */ GossipsubHistoryGossip: () => (/* binding */ GossipsubHistoryGossip),\n/* harmony export */ GossipsubHistoryLength: () => (/* binding */ GossipsubHistoryLength),\n/* harmony export */ GossipsubIDv10: () => (/* binding */ GossipsubIDv10),\n/* harmony export */ GossipsubIDv11: () => (/* binding */ GossipsubIDv11),\n/* harmony export */ GossipsubIWantFollowupTime: () => (/* binding */ GossipsubIWantFollowupTime),\n/* harmony export */ GossipsubMaxIHaveLength: () => (/* binding */ GossipsubMaxIHaveLength),\n/* harmony export */ GossipsubMaxIHaveMessages: () => (/* binding */ GossipsubMaxIHaveMessages),\n/* harmony export */ GossipsubMaxPendingConnections: () => (/* binding */ GossipsubMaxPendingConnections),\n/* harmony export */ GossipsubOpportunisticGraftPeers: () => (/* binding */ GossipsubOpportunisticGraftPeers),\n/* harmony export */ GossipsubOpportunisticGraftTicks: () => (/* binding */ GossipsubOpportunisticGraftTicks),\n/* harmony export */ GossipsubPruneBackoff: () => (/* binding */ GossipsubPruneBackoff),\n/* harmony export */ GossipsubPruneBackoffTicks: () => (/* binding */ GossipsubPruneBackoffTicks),\n/* harmony export */ GossipsubPrunePeers: () => (/* binding */ GossipsubPrunePeers),\n/* harmony export */ GossipsubSeenTTL: () => (/* binding */ GossipsubSeenTTL),\n/* harmony export */ GossipsubUnsubscribeBackoff: () => (/* binding */ GossipsubUnsubscribeBackoff),\n/* harmony export */ TimeCacheDuration: () => (/* binding */ TimeCacheDuration),\n/* harmony export */ minute: () => (/* binding */ minute),\n/* harmony export */ second: () => (/* binding */ second)\n/* h
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.js":
|
||
|
|
/*!********************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.js ***!
|
||
|
|
\********************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GossipSub: () => (/* binding */ GossipSub),\n/* harmony export */ gossipsub: () => (/* binding */ gossipsub),\n/* harmony export */ multicodec: () => (/* binding */ multicodec)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/event-target.js\");\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/pubsub/index.js\");\n/* harmony import */ var _libp2p_peer_id__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @libp2p/peer-id */ \"(ssr)/./node_modules/@libp2p/peer-id/dist/src/index.js\");\n/* harmony import */ var it_length_prefixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! it-length-prefixed */ \"(ssr)/./node_modules/it-length-prefixed/dist/src/index.js\");\n/* harmony import */ var it_pipe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! it-pipe */ \"(ssr)/./node_modules/it-pipe/dist/src/index.js\");\n/* harmony import */ var it_pushable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! it-pushable */ \"(ssr)/./node_modules/it-pushable/dist/src/index.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/constants.js\");\n/* harmony import */ var _message_decodeRpc_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./message/decodeRpc.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/decodeRpc.js\");\n/* harmony import */ var _message_rpc_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./message/rpc.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.js\");\n/* harmony import */ var _message_cache_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./message-cache.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/message-cache.js\");\n/* harmony import */ var _metrics_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./metrics.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/metrics.js\");\n/* harmony import */ var _score_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./score/index.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.js\");\n/* harmony import */ var _score_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./score/index.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.js\");\n/* harmony import */ var _score_index_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./score/index.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score.js\");\n/* harmony import */ var _score_scoreMetrics_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./score/scoreMetrics.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/scoreMetrics.js\");\n/* harmony import */ var _stream_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./stream.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/stream.js\");\n/* harmony import */ var _tracer_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./tracer.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/tracer.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./types.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/types.js\");\n/* harmony import */ var _utils_buildRawMessage_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./utils/buildRawMessage.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/buildRawMessage.js\");\n/* harmony import */ var _utils_create_gossip_rpc_js__WEBPACK_IMPORTED_MODULE_23__ =
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/message-cache.js":
|
||
|
|
/*!****************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/message-cache.js ***!
|
||
|
|
\****************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MessageCache: () => (/* binding */ MessageCache)\n/* harmony export */ });\nclass MessageCache {\n /**\n * Holds history of messages in timebounded history arrays\n */ constructor(/**\n * The number of indices in the cache history used for gossiping. That means that a message\n * won't get gossiped anymore when shift got called `gossip` many times after inserting the\n * message in the cache.\n */ gossip, historyCapacity, msgIdToStrFn){\n this.msgs = new Map();\n this.history = [];\n /** Track with accounting of messages in the mcache that are not yet validated */ this.notValidatedCount = 0;\n this.gossip = gossip;\n this.msgIdToStrFn = msgIdToStrFn;\n for(let i = 0; i < historyCapacity; i++){\n this.history[i] = [];\n }\n }\n get size() {\n return this.msgs.size;\n }\n /**\n * Adds a message to the current window and the cache\n * Returns true if the message is not known and is inserted in the cache\n */ put(messageId, msg, validated = false) {\n const { msgIdStr } = messageId;\n // Don't add duplicate entries to the cache.\n if (this.msgs.has(msgIdStr)) {\n return false;\n }\n this.msgs.set(msgIdStr, {\n message: msg,\n validated,\n originatingPeers: new Set(),\n iwantCounts: new Map()\n });\n this.history[0].push({\n ...messageId,\n topic: msg.topic\n });\n if (!validated) {\n this.notValidatedCount++;\n }\n return true;\n }\n observeDuplicate(msgId, fromPeerIdStr) {\n const entry = this.msgs.get(msgId);\n if (entry != null && // if the message is already validated, we don't need to store extra peers sending us\n // duplicates as the message has already been forwarded\n !entry.validated) {\n entry.originatingPeers.add(fromPeerIdStr);\n }\n }\n /**\n * Retrieves a message from the cache by its ID, if it is still present\n */ get(msgId) {\n return this.msgs.get(this.msgIdToStrFn(msgId))?.message;\n }\n /**\n * Increases the iwant count for the given message by one and returns the message together\n * with the iwant if the message exists.\n */ getWithIWantCount(msgIdStr, p) {\n const msg = this.msgs.get(msgIdStr);\n if (msg == null) {\n return null;\n }\n const count = (msg.iwantCounts.get(p) ?? 0) + 1;\n msg.iwantCounts.set(p, count);\n return {\n msg: msg.message,\n count\n };\n }\n /**\n * Retrieves a list of message IDs for a set of topics\n */ getGossipIDs(topics) {\n const msgIdsByTopic = new Map();\n for(let i = 0; i < this.gossip; i++){\n this.history[i].forEach((entry)=>{\n const msg = this.msgs.get(entry.msgIdStr);\n if ((msg?.validated ?? false) && topics.has(entry.topic)) {\n let msgIds = msgIdsByTopic.get(entry.topic);\n if (msgIds == null) {\n msgIds = [];\n msgIdsByTopic.set(entry.topic, msgIds);\n }\n msgIds.push(entry.msgId);\n }\n });\n }\n return msgIdsByTopic;\n }\n /**\n * Gets a message with msgId and tags it as validated.\n * This function also returns the known peers that have sent us this message. This is used to\n * prevent us sending redundant messages to peers who have already propagated it.\n */ validate(msgId) {\n const entry = this.msgs.get(msgId);\n if (entry == null) {\n return null;\n }\n if (!entry.validated) {\n this.notValidatedCount--;\n }\n const { message, originatingPeers } = entry;\
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/decodeRpc.js":
|
||
|
|
/*!********************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/decodeRpc.js ***!
|
||
|
|
\********************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultDecodeRpcLimits: () => (/* binding */ defaultDecodeRpcLimits)\n/* harmony export */ });\nconst defaultDecodeRpcLimits = {\n maxSubscriptions: Infinity,\n maxMessages: Infinity,\n maxIhaveMessageIDs: Infinity,\n maxIwantMessageIDs: Infinity,\n maxControlMessages: Infinity,\n maxPeerInfos: Infinity\n}; //# sourceMappingURL=decodeRpc.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL21lc3NhZ2UvZGVjb2RlUnBjLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTyxNQUFNQSx5QkFBeUI7SUFDbENDLGtCQUFrQkM7SUFDbEJDLGFBQWFEO0lBQ2JFLG9CQUFvQkY7SUFDcEJHLG9CQUFvQkg7SUFDcEJJLG9CQUFvQko7SUFDcEJLLGNBQWNMO0FBQ2xCLEVBQUUsQ0FDRixxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AY2hhaW5zYWZlL2xpYnAycC1nb3NzaXBzdWIvZGlzdC9zcmMvbWVzc2FnZS9kZWNvZGVScGMuanM/ZGY2MCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZGVmYXVsdERlY29kZVJwY0xpbWl0cyA9IHtcbiAgICBtYXhTdWJzY3JpcHRpb25zOiBJbmZpbml0eSxcbiAgICBtYXhNZXNzYWdlczogSW5maW5pdHksXG4gICAgbWF4SWhhdmVNZXNzYWdlSURzOiBJbmZpbml0eSxcbiAgICBtYXhJd2FudE1lc3NhZ2VJRHM6IEluZmluaXR5LFxuICAgIG1heENvbnRyb2xNZXNzYWdlczogSW5maW5pdHksXG4gICAgbWF4UGVlckluZm9zOiBJbmZpbml0eVxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlY29kZVJwYy5qcy5tYXAiXSwibmFtZXMiOlsiZGVmYXVsdERlY29kZVJwY0xpbWl0cyIsIm1heFN1YnNjcmlwdGlvbnMiLCJJbmZpbml0eSIsIm1heE1lc3NhZ2VzIiwibWF4SWhhdmVNZXNzYWdlSURzIiwibWF4SXdhbnRNZXNzYWdlSURzIiwibWF4Q29udHJvbE1lc3NhZ2VzIiwibWF4UGVlckluZm9zIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/decodeRpc.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.js":
|
||
|
|
/*!**************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.js ***!
|
||
|
|
\**************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RPC: () => (/* binding */ RPC)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar RPC;\n(function(RPC) {\n let SubOpts;\n (function(SubOpts) {\n let _codec;\n SubOpts.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.subscribe != null) {\n w.uint32(8);\n w.bool(obj.subscribe);\n }\n if (obj.topic != null) {\n w.uint32(18);\n w.string(obj.topic);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length, opts = {})=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.subscribe = reader.bool();\n break;\n }\n case 2:\n {\n obj.topic = reader.string();\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n SubOpts.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, SubOpts.codec());\n };\n SubOpts.decode = (buf, opts)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, SubOpts.codec(), opts);\n };\n })(SubOpts = RPC.SubOpts || (RPC.SubOpts = {}));\n let Message;\n (function(Message) {\n let _codec;\n Message.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.from != null) {\n w.uint32(10);\n w.bytes(obj.from);\n }\n if (obj.data != null) {\n w.uint32(18);\n w.bytes(obj.data);\n }\n if (obj.seqno != null) {\n w.uint32(26);\n w.bytes(obj.seqno);\n }\n if (obj.topic != null && obj.topic !== \"\") {\n w.uint32(34);\n w.string(obj.topic);\n }\n if (obj.signature != null) {\n w.uint32(42);\n w.bytes(obj.signature);\n }\n
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/metrics.js":
|
||
|
|
/*!**********************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/metrics.js ***!
|
||
|
|
\**********************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ChurnReason: () => (/* binding */ ChurnReason),\n/* harmony export */ IHaveIgnoreReason: () => (/* binding */ IHaveIgnoreReason),\n/* harmony export */ InclusionReason: () => (/* binding */ InclusionReason),\n/* harmony export */ MessageSource: () => (/* binding */ MessageSource),\n/* harmony export */ ScorePenalty: () => (/* binding */ ScorePenalty),\n/* harmony export */ ScoreThreshold: () => (/* binding */ ScoreThreshold),\n/* harmony export */ getMetrics: () => (/* binding */ getMetrics)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/pubsub/index.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/types.js\");\n\n\nvar MessageSource;\n(function(MessageSource) {\n MessageSource[\"forward\"] = \"forward\";\n MessageSource[\"publish\"] = \"publish\";\n})(MessageSource || (MessageSource = {}));\nvar InclusionReason;\n(function(InclusionReason) {\n /** Peer was a fanaout peer. */ InclusionReason[\"Fanout\"] = \"fanout\";\n /** Included from random selection. */ InclusionReason[\"Random\"] = \"random\";\n /** Peer subscribed. */ InclusionReason[\"Subscribed\"] = \"subscribed\";\n /** On heartbeat, peer was included to fill the outbound quota. */ InclusionReason[\"Outbound\"] = \"outbound\";\n /** On heartbeat, not enough peers in mesh */ InclusionReason[\"NotEnough\"] = \"not_enough\";\n /** On heartbeat opportunistic grafting due to low mesh score */ InclusionReason[\"Opportunistic\"] = \"opportunistic\";\n})(InclusionReason || (InclusionReason = {}));\n/// Reasons why a peer was removed from the mesh.\nvar ChurnReason;\n(function(ChurnReason) {\n /// Peer disconnected.\n ChurnReason[\"Dc\"] = \"disconnected\";\n /// Peer had a bad score.\n ChurnReason[\"BadScore\"] = \"bad_score\";\n /// Peer sent a PRUNE.\n ChurnReason[\"Prune\"] = \"prune\";\n /// Too many peers.\n ChurnReason[\"Excess\"] = \"excess\";\n})(ChurnReason || (ChurnReason = {}));\n/// Kinds of reasons a peer's score has been penalized\nvar ScorePenalty;\n(function(ScorePenalty) {\n /// A peer grafted before waiting the back-off time.\n ScorePenalty[\"GraftBackoff\"] = \"graft_backoff\";\n /// A Peer did not respond to an IWANT request in time.\n ScorePenalty[\"BrokenPromise\"] = \"broken_promise\";\n /// A Peer did not send enough messages as expected.\n ScorePenalty[\"MessageDeficit\"] = \"message_deficit\";\n /// Too many peers under one IP address.\n ScorePenalty[\"IPColocation\"] = \"IP_colocation\";\n})(ScorePenalty || (ScorePenalty = {}));\nvar IHaveIgnoreReason;\n(function(IHaveIgnoreReason) {\n IHaveIgnoreReason[\"LowScore\"] = \"low_score\";\n IHaveIgnoreReason[\"MaxIhave\"] = \"max_ihave\";\n IHaveIgnoreReason[\"MaxIasked\"] = \"max_iasked\";\n})(IHaveIgnoreReason || (IHaveIgnoreReason = {}));\nvar ScoreThreshold;\n(function(ScoreThreshold) {\n ScoreThreshold[\"graylist\"] = \"graylist\";\n ScoreThreshold[\"publish\"] = \"publish\";\n ScoreThreshold[\"gossip\"] = \"gossip\";\n ScoreThreshold[\"mesh\"] = \"mesh\";\n})(ScoreThreshold || (ScoreThreshold = {}));\n/**\n * A collection of metrics used throughout the Gossipsub behaviour.\n * NOTE: except for special reasons, do not add more than 1 label for frequent metrics,\n * there's a performance penalty as of June 2023.\n */ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type\nfunction getMetrics(register, topicStrToLabel, opts) {\n // Using function style instead of class to prevent having to re-declare all MetricsPrometheus types.\n return {\n /* Metrics for static config */ protocolsEnabled: register.ga
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/compute-score.js":
|
||
|
|
/*!**********************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/compute-score.js ***!
|
||
|
|
\**********************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ computeScore: () => (/* binding */ computeScore)\n/* harmony export */ });\nfunction computeScore(peer, pstats, params, peerIPs) {\n let score = 0;\n // topic stores\n Object.entries(pstats.topics).forEach(([topic, tstats])=>{\n // the topic parameters\n const topicParams = params.topics[topic];\n if (topicParams === undefined) {\n // we are not scoring this topic\n return;\n }\n let topicScore = 0;\n // P1: time in Mesh\n if (tstats.inMesh) {\n let p1 = tstats.meshTime / topicParams.timeInMeshQuantum;\n if (p1 > topicParams.timeInMeshCap) {\n p1 = topicParams.timeInMeshCap;\n }\n topicScore += p1 * topicParams.timeInMeshWeight;\n }\n // P2: first message deliveries\n let p2 = tstats.firstMessageDeliveries;\n if (p2 > topicParams.firstMessageDeliveriesCap) {\n p2 = topicParams.firstMessageDeliveriesCap;\n }\n topicScore += p2 * topicParams.firstMessageDeliveriesWeight;\n // P3: mesh message deliveries\n if (tstats.meshMessageDeliveriesActive && tstats.meshMessageDeliveries < topicParams.meshMessageDeliveriesThreshold) {\n const deficit = topicParams.meshMessageDeliveriesThreshold - tstats.meshMessageDeliveries;\n const p3 = deficit * deficit;\n topicScore += p3 * topicParams.meshMessageDeliveriesWeight;\n }\n // P3b:\n // NOTE: the weight of P3b is negative (validated in validateTopicScoreParams) so this detracts\n const p3b = tstats.meshFailurePenalty;\n topicScore += p3b * topicParams.meshFailurePenaltyWeight;\n // P4: invalid messages\n // NOTE: the weight of P4 is negative (validated in validateTopicScoreParams) so this detracts\n const p4 = tstats.invalidMessageDeliveries * tstats.invalidMessageDeliveries;\n topicScore += p4 * topicParams.invalidMessageDeliveriesWeight;\n // update score, mixing with topic weight\n score += topicScore * topicParams.topicWeight;\n });\n // apply the topic score cap, if any\n if (params.topicScoreCap > 0 && score > params.topicScoreCap) {\n score = params.topicScoreCap;\n }\n // P5: application-specific score\n const p5 = params.appSpecificScore(peer);\n score += p5 * params.appSpecificWeight;\n // P6: IP colocation factor\n pstats.knownIPs.forEach((ip)=>{\n if (params.IPColocationFactorWhitelist.has(ip)) {\n return;\n }\n // P6 has a cliff (IPColocationFactorThreshold)\n // It's only applied if at least that many peers are connected to us from that source IP addr.\n // It is quadratic, and the weight is negative (validated in validatePeerScoreParams)\n const peersInIP = peerIPs.get(ip);\n const numPeersInIP = peersInIP != null ? peersInIP.size : 0;\n if (numPeersInIP > params.IPColocationFactorThreshold) {\n const surplus = numPeersInIP - params.IPColocationFactorThreshold;\n const p6 = surplus * surplus;\n score += p6 * params.IPColocationFactorWeight;\n }\n });\n // P7: behavioural pattern penalty\n if (pstats.behaviourPenalty > params.behaviourPenaltyThreshold) {\n const excess = pstats.behaviourPenalty - params.behaviourPenaltyThreshold;\n const p7 = excess * excess;\n score += p7 * params.behaviourPenaltyWeight;\n }\n return score;\n} //# sourceMappingURL=compute-score.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3Njb3JlL2NvbXB1dGUtc2NvcmUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPLFNBQVNBLGFBQWFDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxNQUFNLEVBQUVDLE9BQU87SUFDdEQsSUFBSUMsUUFBUTtJQUNaLGVBQWU7SUFDZkMsT0FBT0MsT0FBTyxDQUFDTC
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.js":
|
||
|
|
/*!******************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.js ***!
|
||
|
|
\******************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ERR_INVALID_PEER_SCORE_PARAMS: () => (/* binding */ ERR_INVALID_PEER_SCORE_PARAMS),\n/* harmony export */ ERR_INVALID_PEER_SCORE_THRESHOLDS: () => (/* binding */ ERR_INVALID_PEER_SCORE_THRESHOLDS)\n/* harmony export */ });\nconst ERR_INVALID_PEER_SCORE_PARAMS = \"ERR_INVALID_PEER_SCORE_PARAMS\";\nconst ERR_INVALID_PEER_SCORE_THRESHOLDS = \"ERR_INVALID_PEER_SCORE_THRESHOLDS\"; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3Njb3JlL2NvbnN0YW50cy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFPLE1BQU1BLGdDQUFnQyxnQ0FBZ0M7QUFDdEUsTUFBTUMsb0NBQW9DLG9DQUFvQyxDQUNyRixxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AY2hhaW5zYWZlL2xpYnAycC1nb3NzaXBzdWIvZGlzdC9zcmMvc2NvcmUvY29uc3RhbnRzLmpzP2FlYjYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEVSUl9JTlZBTElEX1BFRVJfU0NPUkVfUEFSQU1TID0gJ0VSUl9JTlZBTElEX1BFRVJfU0NPUkVfUEFSQU1TJztcbmV4cG9ydCBjb25zdCBFUlJfSU5WQUxJRF9QRUVSX1NDT1JFX1RIUkVTSE9MRFMgPSAnRVJSX0lOVkFMSURfUEVFUl9TQ09SRV9USFJFU0hPTERTJztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibmFtZXMiOlsiRVJSX0lOVkFMSURfUEVFUl9TQ09SRV9QQVJBTVMiLCJFUlJfSU5WQUxJRF9QRUVSX1NDT1JFX1RIUkVTSE9MRFMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/message-deliveries.js":
|
||
|
|
/*!***************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/message-deliveries.js ***!
|
||
|
|
\***************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DeliveryRecordStatus: () => (/* binding */ DeliveryRecordStatus),\n/* harmony export */ MessageDeliveries: () => (/* binding */ MessageDeliveries)\n/* harmony export */ });\n/* harmony import */ var denque__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! denque */ \"(ssr)/./node_modules/denque/index.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/constants.js\");\n\n\nvar DeliveryRecordStatus;\n(function(DeliveryRecordStatus) {\n /**\n * we don't know (yet) if the message is valid\n */ DeliveryRecordStatus[DeliveryRecordStatus[\"unknown\"] = 0] = \"unknown\";\n /**\n * we know the message is valid\n */ DeliveryRecordStatus[DeliveryRecordStatus[\"valid\"] = 1] = \"valid\";\n /**\n * we know the message is invalid\n */ DeliveryRecordStatus[DeliveryRecordStatus[\"invalid\"] = 2] = \"invalid\";\n /**\n * we were instructed by the validator to ignore the message\n */ DeliveryRecordStatus[DeliveryRecordStatus[\"ignored\"] = 3] = \"ignored\";\n})(DeliveryRecordStatus || (DeliveryRecordStatus = {}));\n/**\n * Map of canonical message ID to DeliveryRecord\n *\n * Maintains an internal queue for efficient gc of old messages\n */ class MessageDeliveries {\n constructor(){\n this.records = new Map();\n this.queue = new denque__WEBPACK_IMPORTED_MODULE_0__();\n }\n getRecord(msgIdStr) {\n return this.records.get(msgIdStr);\n }\n ensureRecord(msgIdStr) {\n let drec = this.records.get(msgIdStr);\n if (drec != null) {\n return drec;\n }\n // record doesn't exist yet\n // create record\n drec = {\n status: DeliveryRecordStatus.unknown,\n firstSeenTsMs: Date.now(),\n validated: 0,\n peers: new Set()\n };\n this.records.set(msgIdStr, drec);\n // and add msgId to the queue\n const entry = {\n msgId: msgIdStr,\n expire: Date.now() + _constants_js__WEBPACK_IMPORTED_MODULE_1__.TimeCacheDuration\n };\n this.queue.push(entry);\n return drec;\n }\n gc() {\n const now = Date.now();\n // queue is sorted by expiry time\n // remove expired messages, remove from queue until first un-expired message found\n let head = this.queue.peekFront();\n while(head != null && head.expire < now){\n this.records.delete(head.msgId);\n this.queue.shift();\n head = this.queue.peekFront();\n }\n }\n clear() {\n this.records.clear();\n this.queue.clear();\n }\n} //# sourceMappingURL=message-deliveries.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3Njb3JlL21lc3NhZ2UtZGVsaXZlcmllcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRCO0FBQ3dCO0FBQzdDLElBQUlFLHFCQUFxQjtBQUMvQixVQUFVQSxvQkFBb0I7SUFDM0I7O0tBRUMsR0FDREEsb0JBQW9CLENBQUNBLG9CQUFvQixDQUFDLFVBQVUsR0FBRyxFQUFFLEdBQUc7SUFDNUQ7O0tBRUMsR0FDREEsb0JBQW9CLENBQUNBLG9CQUFvQixDQUFDLFFBQVEsR0FBRyxFQUFFLEdBQUc7SUFDMUQ7O0tBRUMsR0FDREEsb0JBQW9CLENBQUNBLG9CQUFvQixDQUFDLFVBQVUsR0FBRyxFQUFFLEdBQUc7SUFDNUQ7O0tBRUMsR0FDREEsb0JBQW9CLENBQUNBLG9CQUFvQixDQUFDLFVBQVUsR0FBRyxFQUFFLEdBQUc7QUFDaEUsR0FBR0Esd0JBQXlCQSxDQUFBQSx1QkFBdUIsQ0FBQztBQUNwRDs7OztDQUlDLEdBQ00sTUFBTUM7SUFHVEMsYUFBYztRQUNWLElBQUksQ0FBQ0MsT0FBTyxHQUFHLElBQUlDO1FBQ25CLElBQUksQ0FBQ0MsS0FBSyxHQUFHLElBQUlQLG1DQUFNQTtJQUMzQjtJQUNBUSxVQUFVQyxRQUFRLEVBQUU7UUFDaEIsT0FBTyxJQUFJLENBQUNKLE9BQU8sQ0FBQ0ssR0FBRyxDQUFDRDtJQUM1QjtJQUNBRSxhQUFhRixRQUFRLEVBQUU7UUFDbkIsSUFBSUcsT0FBTyxJQUFJLENBQUNQLE9BQU8sQ0FBQ0ssR0FBRyxDQUFDRDtRQUM1QixJQUFJRyxRQUFRLE1BQU07WUFDZCxPQUFPQTtRQUNYO1FBQ0EsMkJBQTJCO1FBQzNCLGdCQUFnQjtRQUNoQkEsT0FBTztZQUNIQ
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.js":
|
||
|
|
/*!**************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.js ***!
|
||
|
|
\**************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createPeerScoreParams: () => (/* binding */ createPeerScoreParams),\n/* harmony export */ createTopicScoreParams: () => (/* binding */ createTopicScoreParams),\n/* harmony export */ defaultPeerScoreParams: () => (/* binding */ defaultPeerScoreParams),\n/* harmony export */ defaultTopicScoreParams: () => (/* binding */ defaultTopicScoreParams),\n/* harmony export */ validatePeerScoreParams: () => (/* binding */ validatePeerScoreParams),\n/* harmony export */ validateTopicScoreParams: () => (/* binding */ validateTopicScoreParams)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.js\");\n\n\nconst defaultPeerScoreParams = {\n topics: {},\n topicScoreCap: 10.0,\n appSpecificScore: ()=>0.0,\n appSpecificWeight: 10.0,\n IPColocationFactorWeight: -5.0,\n IPColocationFactorThreshold: 10.0,\n IPColocationFactorWhitelist: new Set(),\n behaviourPenaltyWeight: -10.0,\n behaviourPenaltyThreshold: 0.0,\n behaviourPenaltyDecay: 0.2,\n decayInterval: 1000.0,\n decayToZero: 0.1,\n retainScore: 3600 * 1000\n};\nconst defaultTopicScoreParams = {\n topicWeight: 0.5,\n timeInMeshWeight: 1,\n timeInMeshQuantum: 1,\n timeInMeshCap: 3600,\n firstMessageDeliveriesWeight: 1,\n firstMessageDeliveriesDecay: 0.5,\n firstMessageDeliveriesCap: 2000,\n meshMessageDeliveriesWeight: -1,\n meshMessageDeliveriesDecay: 0.5,\n meshMessageDeliveriesCap: 100,\n meshMessageDeliveriesThreshold: 20,\n meshMessageDeliveriesWindow: 10,\n meshMessageDeliveriesActivation: 5000,\n meshFailurePenaltyWeight: -1,\n meshFailurePenaltyDecay: 0.5,\n invalidMessageDeliveriesWeight: -1,\n invalidMessageDeliveriesDecay: 0.3\n};\nfunction createPeerScoreParams(p = {}) {\n return {\n ...defaultPeerScoreParams,\n ...p,\n topics: p.topics != null ? Object.entries(p.topics).reduce((topics, [topic, topicScoreParams])=>{\n topics[topic] = createTopicScoreParams(topicScoreParams);\n return topics;\n }, {}) : {}\n };\n}\nfunction createTopicScoreParams(p = {}) {\n return {\n ...defaultTopicScoreParams,\n ...p\n };\n}\n// peer score parameter validation\nfunction validatePeerScoreParams(p) {\n for (const [topic, params] of Object.entries(p.topics)){\n try {\n validateTopicScoreParams(params);\n } catch (e) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__.CodeError(`invalid score parameters for topic ${topic}: ${e.message}`, _constants_js__WEBPACK_IMPORTED_MODULE_1__.ERR_INVALID_PEER_SCORE_PARAMS);\n }\n }\n // check that the topic score is 0 or something positive\n if (p.topicScoreCap < 0) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__.CodeError(\"invalid topic score cap; must be positive (or 0 for no cap)\", _constants_js__WEBPACK_IMPORTED_MODULE_1__.ERR_INVALID_PEER_SCORE_PARAMS);\n }\n // check that we have an app specific score; the weight can be anything (but expected positive)\n if (p.appSpecificScore === null || p.appSpecificScore === undefined) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__.CodeError(\"missing application specific score function\", _constants_js__WEBPACK_IMPORTED_MODULE_1__.ERR_INVALID_PEER_SCORE_PARAMS);\n }\n // check the IP colocation factor\n if (p.IPColocationFactorWeight > 0) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__.CodeError(\"invalid IPColocationFactorWeight; must be negative (or 0 to disable)\", _constants_js__WEBPACK_IMPORTED_MODULE_1__.ERR_INVAL
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.js":
|
||
|
|
/*!******************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.js ***!
|
||
|
|
\******************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createPeerScoreThresholds: () => (/* binding */ createPeerScoreThresholds),\n/* harmony export */ defaultPeerScoreThresholds: () => (/* binding */ defaultPeerScoreThresholds),\n/* harmony export */ validatePeerScoreThresholds: () => (/* binding */ validatePeerScoreThresholds)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/constants.js\");\n\n\nconst defaultPeerScoreThresholds = {\n gossipThreshold: -10,\n publishThreshold: -50,\n graylistThreshold: -80,\n acceptPXThreshold: 10,\n opportunisticGraftThreshold: 20\n};\nfunction createPeerScoreThresholds(p = {}) {\n return {\n ...defaultPeerScoreThresholds,\n ...p\n };\n}\nfunction validatePeerScoreThresholds(p) {\n if (p.gossipThreshold > 0) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__.CodeError(\"invalid gossip threshold; it must be <= 0\", _constants_js__WEBPACK_IMPORTED_MODULE_1__.ERR_INVALID_PEER_SCORE_THRESHOLDS);\n }\n if (p.publishThreshold > 0 || p.publishThreshold > p.gossipThreshold) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__.CodeError(\"invalid publish threshold; it must be <= 0 and <= gossip threshold\", _constants_js__WEBPACK_IMPORTED_MODULE_1__.ERR_INVALID_PEER_SCORE_THRESHOLDS);\n }\n if (p.graylistThreshold > 0 || p.graylistThreshold > p.publishThreshold) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__.CodeError(\"invalid graylist threshold; it must be <= 0 and <= publish threshold\", _constants_js__WEBPACK_IMPORTED_MODULE_1__.ERR_INVALID_PEER_SCORE_THRESHOLDS);\n }\n if (p.acceptPXThreshold < 0) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__.CodeError(\"invalid accept PX threshold; it must be >= 0\", _constants_js__WEBPACK_IMPORTED_MODULE_1__.ERR_INVALID_PEER_SCORE_THRESHOLDS);\n }\n if (p.opportunisticGraftThreshold < 0) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__.CodeError(\"invalid opportunistic grafting threshold; it must be >= 0\", _constants_js__WEBPACK_IMPORTED_MODULE_1__.ERR_INVALID_PEER_SCORE_THRESHOLDS);\n }\n} //# sourceMappingURL=peer-score-thresholds.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3Njb3JlL3BlZXItc2NvcmUtdGhyZXNob2xkcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUE4QztBQUNxQjtBQUM1RCxNQUFNRSw2QkFBNkI7SUFDdENDLGlCQUFpQixDQUFDO0lBQ2xCQyxrQkFBa0IsQ0FBQztJQUNuQkMsbUJBQW1CLENBQUM7SUFDcEJDLG1CQUFtQjtJQUNuQkMsNkJBQTZCO0FBQ2pDLEVBQUU7QUFDSyxTQUFTQywwQkFBMEJDLElBQUksQ0FBQyxDQUFDO0lBQzVDLE9BQU87UUFDSCxHQUFHUCwwQkFBMEI7UUFDN0IsR0FBR08sQ0FBQztJQUNSO0FBQ0o7QUFDTyxTQUFTQyw0QkFBNEJELENBQUM7SUFDekMsSUFBSUEsRUFBRU4sZUFBZSxHQUFHLEdBQUc7UUFDdkIsTUFBTSxJQUFJSCx3REFBU0EsQ0FBQyw2Q0FBNkNDLDRFQUFpQ0E7SUFDdEc7SUFDQSxJQUFJUSxFQUFFTCxnQkFBZ0IsR0FBRyxLQUFLSyxFQUFFTCxnQkFBZ0IsR0FBR0ssRUFBRU4sZUFBZSxFQUFFO1FBQ2xFLE1BQU0sSUFBSUgsd0RBQVNBLENBQUMsc0VBQXNFQyw0RUFBaUNBO0lBQy9IO0lBQ0EsSUFBSVEsRUFBRUosaUJBQWlCLEdBQUcsS0FBS0ksRUFBRUosaUJBQWlCLEdBQUdJLEVBQUVMLGdCQUFnQixFQUFFO1FBQ3JFLE1BQU0sSUFBSUosd0RBQVNBLENBQUMsd0VBQXdFQyw0RUFBaUNBO0lBQ2pJO0lBQ0EsSUFBSVEsRUFBRUgsaUJBQWlCLEdBQUcsR0FBRztRQUN6QixNQUFNLElBQUlOLHdEQUFTQSxDQUFDLGdEQUFnREMsNEVBQWlDQTtJQUN6RztJQUNBLElBQUlRLEVBQUVGLDJCQUEyQixHQUFHLEdBQUc7UUFDbkMsTUFBTSxJQUFJUCx3REFBU0EsQ0FBQyw2REFBNkRDLDRFQUFpQ0E7SUFDdEg7QUFDSixFQUNBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BjaGFpbnNhZmUvbGlicDJwLWdvc3NpcHN1Yi9kaXN0L3NyYy9zY29yZS9wZWVyLXNjb3JlLXRocmVzaG9sZHMuanM/ZWIyYSJdLCJzb3VyY2VzQ29udGVudCI6W
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score.js":
|
||
|
|
/*!*******************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score.js ***!
|
||
|
|
\*******************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PeerScore: () => (/* binding */ PeerScore)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../types.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/types.js\");\n/* harmony import */ var _utils_set_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/set.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/set.js\");\n/* harmony import */ var _compute_score_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./compute-score.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/compute-score.js\");\n/* harmony import */ var _message_deliveries_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./message-deliveries.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/message-deliveries.js\");\n/* harmony import */ var _peer_score_params_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./peer-score-params.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.js\");\n\n\n\n\n\nclass PeerScore {\n constructor(params, metrics, componentLogger, opts){\n /**\n * Per-peer stats for score calculation\n */ this.peerStats = new Map();\n /**\n * IP colocation tracking; maps IP => set of peers.\n */ this.peerIPs = new _utils_set_js__WEBPACK_IMPORTED_MODULE_0__.MapDef(()=>new Set());\n /**\n * Cache score up to decayInterval if topic stats are unchanged.\n */ this.scoreCache = new Map();\n /**\n * Recent message delivery timing/participants\n */ this.deliveryRecords = new _message_deliveries_js__WEBPACK_IMPORTED_MODULE_1__.MessageDeliveries();\n this.params = params;\n this.metrics = metrics;\n (0,_peer_score_params_js__WEBPACK_IMPORTED_MODULE_2__.validatePeerScoreParams)(params);\n this.scoreCacheValidityMs = opts.scoreCacheValidityMs;\n this.computeScore = opts.computeScore ?? _compute_score_js__WEBPACK_IMPORTED_MODULE_3__.computeScore;\n this.log = componentLogger.forComponent(\"libp2p:gossipsub:score\");\n }\n get size() {\n return this.peerStats.size;\n }\n /**\n * Start PeerScore instance\n */ start() {\n if (this._backgroundInterval != null) {\n this.log(\"Peer score already running\");\n return;\n }\n this._backgroundInterval = setInterval(()=>{\n this.background();\n }, this.params.decayInterval);\n this.log(\"started\");\n }\n /**\n * Stop PeerScore instance\n */ stop() {\n if (this._backgroundInterval == null) {\n this.log(\"Peer score already stopped\");\n return;\n }\n clearInterval(this._backgroundInterval);\n delete this._backgroundInterval;\n this.peerIPs.clear();\n this.peerStats.clear();\n this.deliveryRecords.clear();\n this.log(\"stopped\");\n }\n /**\n * Periodic maintenance\n */ background() {\n this.refreshScores();\n this.deliveryRecords.gc();\n }\n dumpPeerScoreStats() {\n return Object.fromEntries(Array.from(this.peerStats.entries()).map(([peer, stats])=>[\n peer,\n stats\n ]));\n }\n messageFirstSeenTimestampMs(msgIdStr) {\n const drec = this.deliveryRecords.getRecord(msgIdStr);\n return drec != null ? drec.firstSeenTsMs : null;\n }\n /**\n * Decays scores, and purges score records for disconnected peers once their expiry has elapsed.\n */ refreshScores() {\n const now = Date.now();\n const decayToZero = this.params.decayToZero;\n this.peerStats.forEach((pstats, id)=>{\n if (!pstats.connected) {\n // has the retention period expired?\n if (now > pstats.expire) {\n // yes, throw i
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/scoreMetrics.js":
|
||
|
|
/*!*********************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/scoreMetrics.js ***!
|
||
|
|
\*********************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ computeAllPeersScoreWeights: () => (/* binding */ computeAllPeersScoreWeights),\n/* harmony export */ computeScoreWeights: () => (/* binding */ computeScoreWeights)\n/* harmony export */ });\nfunction computeScoreWeights(peer, pstats, params, peerIPs, topicStrToLabel) {\n let score = 0;\n const byTopic = new Map();\n // topic stores\n Object.entries(pstats.topics).forEach(([topic, tstats])=>{\n // the topic parameters\n // Aggregate by known topicLabel or throw to 'unknown'. This prevent too high cardinality\n const topicLabel = topicStrToLabel.get(topic) ?? \"unknown\";\n const topicParams = params.topics[topic];\n if (topicParams === undefined) {\n // we are not scoring this topic\n return;\n }\n let topicScores = byTopic.get(topicLabel);\n if (topicScores == null) {\n topicScores = {\n p1w: 0,\n p2w: 0,\n p3w: 0,\n p3bw: 0,\n p4w: 0\n };\n byTopic.set(topicLabel, topicScores);\n }\n let p1w = 0;\n let p2w = 0;\n let p3w = 0;\n let p3bw = 0;\n let p4w = 0;\n // P1: time in Mesh\n if (tstats.inMesh) {\n const p1 = Math.max(tstats.meshTime / topicParams.timeInMeshQuantum, topicParams.timeInMeshCap);\n p1w += p1 * topicParams.timeInMeshWeight;\n }\n // P2: first message deliveries\n let p2 = tstats.firstMessageDeliveries;\n if (p2 > topicParams.firstMessageDeliveriesCap) {\n p2 = topicParams.firstMessageDeliveriesCap;\n }\n p2w += p2 * topicParams.firstMessageDeliveriesWeight;\n // P3: mesh message deliveries\n if (tstats.meshMessageDeliveriesActive && tstats.meshMessageDeliveries < topicParams.meshMessageDeliveriesThreshold) {\n const deficit = topicParams.meshMessageDeliveriesThreshold - tstats.meshMessageDeliveries;\n const p3 = deficit * deficit;\n p3w += p3 * topicParams.meshMessageDeliveriesWeight;\n }\n // P3b:\n // NOTE: the weight of P3b is negative (validated in validateTopicScoreParams) so this detracts\n const p3b = tstats.meshFailurePenalty;\n p3bw += p3b * topicParams.meshFailurePenaltyWeight;\n // P4: invalid messages\n // NOTE: the weight of P4 is negative (validated in validateTopicScoreParams) so this detracts\n const p4 = tstats.invalidMessageDeliveries * tstats.invalidMessageDeliveries;\n p4w += p4 * topicParams.invalidMessageDeliveriesWeight;\n // update score, mixing with topic weight\n score += (p1w + p2w + p3w + p3bw + p4w) * topicParams.topicWeight;\n topicScores.p1w += p1w;\n topicScores.p2w += p2w;\n topicScores.p3w += p3w;\n topicScores.p3bw += p3bw;\n topicScores.p4w += p4w;\n });\n // apply the topic score cap, if any\n if (params.topicScoreCap > 0 && score > params.topicScoreCap) {\n score = params.topicScoreCap;\n // Proportionally apply cap to all individual contributions\n const capF = params.topicScoreCap / score;\n for (const ws of byTopic.values()){\n ws.p1w *= capF;\n ws.p2w *= capF;\n ws.p3w *= capF;\n ws.p3bw *= capF;\n ws.p4w *= capF;\n }\n }\n let p5w = 0;\n let p6w = 0;\n let p7w = 0;\n // P5: application-specific score\n const p5 = params.appSpecificScore(peer);\n p5w += p5 * params.appSpecificWeight;\n // P6: IP colocation factor\n pstats.knownIPs.forEach((ip)=>{\n if (params.IPColocationFactorWhitelist.has(ip)) {\n return;\n }\n // P6 has a cliff (IPColocationFactorThreshold)\n // It's only applied if at least that many peers are connected to us from that source IP addr.\n // It is quadra
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/stream.js":
|
||
|
|
/*!*********************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/stream.js ***!
|
||
|
|
\*********************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InboundStream: () => (/* binding */ InboundStream),\n/* harmony export */ OutboundStream: () => (/* binding */ OutboundStream)\n/* harmony export */ });\n/* harmony import */ var it_length_prefixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! it-length-prefixed */ \"(ssr)/./node_modules/it-length-prefixed/dist/src/index.js\");\n/* harmony import */ var it_pipe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! it-pipe */ \"(ssr)/./node_modules/it-pipe/dist/src/index.js\");\n/* harmony import */ var it_pushable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! it-pushable */ \"(ssr)/./node_modules/it-pushable/dist/src/index.js\");\n\n\n\nclass OutboundStream {\n constructor(rawStream, errCallback, opts){\n this.rawStream = rawStream;\n this.pushable = (0,it_pushable__WEBPACK_IMPORTED_MODULE_2__.pushable)();\n this.closeController = new AbortController();\n this.maxBufferSize = opts.maxBufferSize ?? Infinity;\n this.closeController.signal.addEventListener(\"abort\", ()=>{\n rawStream.close().catch((err)=>{\n rawStream.abort(err);\n });\n });\n (0,it_pipe__WEBPACK_IMPORTED_MODULE_1__.pipe)(this.pushable, this.rawStream).catch(errCallback);\n }\n get protocol() {\n // TODO remove this non-nullish assertion after https://github.com/libp2p/js-libp2p-interfaces/pull/265 is incorporated\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.rawStream.protocol;\n }\n push(data) {\n if (this.pushable.readableLength > this.maxBufferSize) {\n throw Error(`OutboundStream buffer full, size > ${this.maxBufferSize}`);\n }\n this.pushable.push(it_length_prefixed__WEBPACK_IMPORTED_MODULE_0__.encode.single(data));\n }\n /**\n * Same to push() but this is prefixed data so no need to encode length prefixed again\n */ pushPrefixed(data) {\n if (this.pushable.readableLength > this.maxBufferSize) {\n throw Error(`OutboundStream buffer full, size > ${this.maxBufferSize}`);\n }\n this.pushable.push(data);\n }\n async close() {\n this.closeController.abort();\n // similar to pushable.end() but clear the internal buffer\n await this.pushable.return();\n }\n}\nclass InboundStream {\n constructor(rawStream, opts = {}){\n this.rawStream = rawStream;\n this.closeController = new AbortController();\n this.closeController.signal.addEventListener(\"abort\", ()=>{\n rawStream.close().catch((err)=>{\n rawStream.abort(err);\n });\n });\n this.source = (0,it_pipe__WEBPACK_IMPORTED_MODULE_1__.pipe)(this.rawStream, (source)=>(0,it_length_prefixed__WEBPACK_IMPORTED_MODULE_0__.decode)(source, opts));\n }\n async close() {\n this.closeController.abort();\n }\n} //# sourceMappingURL=stream.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3N0cmVhbS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFvRDtBQUNyQjtBQUNRO0FBQ2hDLE1BQU1JO0lBS1RDLFlBQVlDLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxJQUFJLENBQUU7UUFDdEMsSUFBSSxDQUFDRixTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ0gsUUFBUSxHQUFHQSxxREFBUUE7UUFDeEIsSUFBSSxDQUFDTSxlQUFlLEdBQUcsSUFBSUM7UUFDM0IsSUFBSSxDQUFDQyxhQUFhLEdBQUdILEtBQUtHLGFBQWEsSUFBSUM7UUFDM0MsSUFBSSxDQUFDSCxlQUFlLENBQUNJLE1BQU0sQ0FBQ0MsZ0JBQWdCLENBQUMsU0FBUztZQUNsRFIsVUFBVVMsS0FBSyxHQUNWQyxLQUFLLENBQUNDLENBQUFBO2dCQUNQWCxVQUFVWSxLQUFLLENBQUNEO1lBQ3BCO1FBQ0o7UUFDQWYsNkNBQUlBLENBQUMsSUFBSSxDQUFDQyxRQUFRLEVBQUUsSUFBSSxDQUFDRyxTQUFTLEVBQUVVLEtBQUssQ0FBQ1Q7SUFDOUM7SUFDQSxJQUFJWSxXQUFXO1FBQ1gsdUhBQXVIO1FBQ3ZILG9FQUFvRTtRQUNwRSxPQUFPLElBQUksQ0FBQ2IsU0FBUyxDQUFDYSxRQUFRO0lBQ2xDO0lBQ0FDLEtBQUtDLElBQUksRUFBRTtRQUNQLElBQUksSUFBSSxDQUFDbEIsUUFBUSxDQU
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/tracer.js":
|
||
|
|
/*!*********************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/tracer.js ***!
|
||
|
|
\*********************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IWantTracer: () => (/* binding */ IWantTracer)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/types.js\");\n\n/**\n * IWantTracer is an internal tracer that tracks IWANT requests in order to penalize\n * peers who don't follow up on IWANT requests after an IHAVE advertisement.\n * The tracking of promises is probabilistic to avoid using too much memory.\n *\n * Note: Do not confuse these 'promises' with JS Promise objects.\n * These 'promises' are merely expectations of a peer's behavior.\n */ class IWantTracer {\n constructor(gossipsubIWantFollowupMs, msgIdToStrFn, metrics){\n /**\n * Promises to deliver a message\n * Map per message id, per peer, promise expiration time\n */ this.promises = new Map();\n /**\n * First request time by msgId. Used for metrics to track expire times.\n * Necessary to know if peers are actually breaking promises or simply sending them a bit later\n */ this.requestMsByMsg = new Map();\n this.gossipsubIWantFollowupMs = gossipsubIWantFollowupMs;\n this.msgIdToStrFn = msgIdToStrFn;\n this.metrics = metrics;\n this.requestMsByMsgExpire = 10 * gossipsubIWantFollowupMs;\n }\n get size() {\n return this.promises.size;\n }\n get requestMsByMsgSize() {\n return this.requestMsByMsg.size;\n }\n /**\n * Track a promise to deliver a message from a list of msgIds we are requesting\n */ addPromise(from, msgIds) {\n // pick msgId randomly from the list\n const ix = Math.floor(Math.random() * msgIds.length);\n const msgId = msgIds[ix];\n const msgIdStr = this.msgIdToStrFn(msgId);\n let expireByPeer = this.promises.get(msgIdStr);\n if (expireByPeer == null) {\n expireByPeer = new Map();\n this.promises.set(msgIdStr, expireByPeer);\n }\n const now = Date.now();\n // If a promise for this message id and peer already exists we don't update the expiry\n if (!expireByPeer.has(from)) {\n expireByPeer.set(from, now + this.gossipsubIWantFollowupMs);\n if (this.metrics != null) {\n this.metrics.iwantPromiseStarted.inc(1);\n if (!this.requestMsByMsg.has(msgIdStr)) {\n this.requestMsByMsg.set(msgIdStr, now);\n }\n }\n }\n }\n /**\n * Returns the number of broken promises for each peer who didn't follow up on an IWANT request.\n *\n * This should be called not too often relative to the expire times, since it iterates over the whole data.\n */ getBrokenPromises() {\n const now = Date.now();\n const result = new Map();\n let brokenPromises = 0;\n this.promises.forEach((expireByPeer, msgId)=>{\n expireByPeer.forEach((expire, p)=>{\n // the promise has been broken\n if (expire < now) {\n // add 1 to result\n result.set(p, (result.get(p) ?? 0) + 1);\n // delete from tracked promises\n expireByPeer.delete(p);\n // for metrics\n brokenPromises++;\n }\n });\n // clean up empty promises for a msgId\n if (expireByPeer.size === 0) {\n this.promises.delete(msgId);\n }\n });\n this.metrics?.iwantPromiseBroken.inc(brokenPromises);\n return result;\n }\n /**\n * Someone delivered a message, stop tracking promises for it\n */ deliverMessage(msgIdStr, isDuplicate = false) {\n this.trackMessage(msgIdStr);\n const expireByPeer = this.promises.get(msgIdStr);\n // Expired promise, check requestMsByMsg\n if (expireByPeer != null
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/types.js":
|
||
|
|
/*!********************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/types.js ***!
|
||
|
|
\********************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MessageStatus: () => (/* binding */ MessageStatus),\n/* harmony export */ PublishConfigType: () => (/* binding */ PublishConfigType),\n/* harmony export */ RejectReason: () => (/* binding */ RejectReason),\n/* harmony export */ SignaturePolicy: () => (/* binding */ SignaturePolicy),\n/* harmony export */ ValidateError: () => (/* binding */ ValidateError),\n/* harmony export */ rejectReasonFromAcceptance: () => (/* binding */ rejectReasonFromAcceptance)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/pubsub/index.js\");\n\nvar SignaturePolicy;\n(function(SignaturePolicy) {\n /**\n * On the producing side:\n * - Build messages with the signature, key (from may be enough for certain inlineable public key types), from and seqno fields.\n *\n * On the consuming side:\n * - Enforce the fields to be present, reject otherwise.\n * - Propagate only if the fields are valid and signature can be verified, reject otherwise.\n */ SignaturePolicy[\"StrictSign\"] = \"StrictSign\";\n /**\n * On the producing side:\n * - Build messages without the signature, key, from and seqno fields.\n * - The corresponding protobuf key-value pairs are absent from the marshalled message, not just empty.\n *\n * On the consuming side:\n * - Enforce the fields to be absent, reject otherwise.\n * - Propagate only if the fields are absent, reject otherwise.\n * - A message_id function will not be able to use the above fields, and should instead rely on the data field. A commonplace strategy is to calculate a hash.\n */ SignaturePolicy[\"StrictNoSign\"] = \"StrictNoSign\";\n})(SignaturePolicy || (SignaturePolicy = {}));\nvar PublishConfigType;\n(function(PublishConfigType) {\n PublishConfigType[PublishConfigType[\"Signing\"] = 0] = \"Signing\";\n PublishConfigType[PublishConfigType[\"Anonymous\"] = 1] = \"Anonymous\";\n})(PublishConfigType || (PublishConfigType = {}));\nvar RejectReason;\n(function(RejectReason) {\n /**\n * The message failed the configured validation during decoding.\n * SelfOrigin is considered a ValidationError\n */ RejectReason[\"Error\"] = \"error\";\n /**\n * Custom validator fn reported status IGNORE.\n */ RejectReason[\"Ignore\"] = \"ignore\";\n /**\n * Custom validator fn reported status REJECT.\n */ RejectReason[\"Reject\"] = \"reject\";\n /**\n * The peer that sent the message OR the source from field is blacklisted.\n * Causes messages to be ignored, not penalized, neither do score record creation.\n */ RejectReason[\"Blacklisted\"] = \"blacklisted\";\n})(RejectReason || (RejectReason = {}));\nvar ValidateError;\n(function(ValidateError) {\n /// The message has an invalid signature,\n ValidateError[\"InvalidSignature\"] = \"invalid_signature\";\n /// The sequence number was the incorrect size\n ValidateError[\"InvalidSeqno\"] = \"invalid_seqno\";\n /// The PeerId was invalid\n ValidateError[\"InvalidPeerId\"] = \"invalid_peerid\";\n /// Signature existed when validation has been sent to\n /// [`crate::behaviour::MessageAuthenticity::Anonymous`].\n ValidateError[\"SignaturePresent\"] = \"signature_present\";\n /// Sequence number existed when validation has been sent to\n /// [`crate::behaviour::MessageAuthenticity::Anonymous`].\n ValidateError[\"SeqnoPresent\"] = \"seqno_present\";\n /// Message source existed when validation has been sent to\n /// [`crate::behaviour::MessageAuthenticity::Anonymous`].\n ValidateError[\"FromPresent\"] = \"from_present\";\n /// The data transformation failed.\n ValidateError[\"TransformFailed\"] = \"transform_failed\";\n})(ValidateError || (ValidateError = {}));\nvar MessageStatus;\n(function(MessageStatus) {\n MessageStatus[
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/buildRawMessage.js":
|
||
|
|
/*!************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/buildRawMessage.js ***!
|
||
|
|
\************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SignPrefix: () => (/* binding */ SignPrefix),\n/* harmony export */ buildRawMessage: () => (/* binding */ buildRawMessage),\n/* harmony export */ validateToRawMessage: () => (/* binding */ validateToRawMessage)\n/* harmony export */ });\n/* harmony import */ var _libp2p_crypto__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @libp2p/crypto */ \"(ssr)/./node_modules/@libp2p/crypto/dist/src/random-bytes.js\");\n/* harmony import */ var _libp2p_crypto_keys__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @libp2p/crypto/keys */ \"(ssr)/./node_modules/@libp2p/crypto/dist/src/keys/index.js\");\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/pubsub/index.js\");\n/* harmony import */ var _libp2p_peer_id__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @libp2p/peer-id */ \"(ssr)/./node_modules/@libp2p/peer-id/dist/src/index.js\");\n/* harmony import */ var uint8arrays_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/concat */ \"(ssr)/./node_modules/uint8arrays/dist/src/concat.node.js\");\n/* harmony import */ var uint8arrays_equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/equals */ \"(ssr)/./node_modules/uint8arrays/dist/src/equals.js\");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n/* harmony import */ var _message_rpc_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../message/rpc.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../types.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/types.js\");\n\n\n\n\n\n\n\n\n\n\nconst SignPrefix = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(\"libp2p-pubsub:\");\nasync function buildRawMessage(publishConfig, topic, originalData, transformedData) {\n switch(publishConfig.type){\n case _types_js__WEBPACK_IMPORTED_MODULE_4__.PublishConfigType.Signing:\n {\n const rpcMsg = {\n from: publishConfig.author.toBytes(),\n data: transformedData,\n seqno: (0,_libp2p_crypto__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(8),\n topic,\n signature: undefined,\n key: undefined // Exclude key field for signing\n };\n // Get the message in bytes, and prepend with the pubsub prefix\n // the signature is over the bytes \"libp2p-pubsub:<protobuf-message>\"\n const bytes = (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_0__.concat)([\n SignPrefix,\n _message_rpc_js__WEBPACK_IMPORTED_MODULE_6__.RPC.Message.encode(rpcMsg)\n ]);\n rpcMsg.signature = await publishConfig.privateKey.sign(bytes);\n rpcMsg.key = publishConfig.key;\n const msg = {\n type: \"signed\",\n from: publishConfig.author,\n data: originalData,\n sequenceNumber: BigInt(`0x${(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_3__.toString)(rpcMsg.seqno, \"base16\")}`),\n topic,\n signature: rpcMsg.signature,\n key: rpcMsg.key\n };\n return {\n raw: rpcMsg,\n msg\n };\n }\n ca
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/create-gossip-rpc.js":
|
||
|
|
/*!**************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/create-gossip-rpc.js ***!
|
||
|
|
\**************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createGossipRpc: () => (/* binding */ createGossipRpc),\n/* harmony export */ ensureControl: () => (/* binding */ ensureControl)\n/* harmony export */ });\n/**\n * Create a gossipsub RPC object\n */ function createGossipRpc(messages = [], control) {\n return {\n subscriptions: [],\n messages,\n control: control !== undefined ? {\n graft: control.graft ?? [],\n prune: control.prune ?? [],\n ihave: control.ihave ?? [],\n iwant: control.iwant ?? []\n } : undefined\n };\n}\nfunction ensureControl(rpc) {\n if (rpc.control === undefined) {\n rpc.control = {\n graft: [],\n prune: [],\n ihave: [],\n iwant: []\n };\n }\n return rpc;\n} //# sourceMappingURL=create-gossip-rpc.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3V0aWxzL2NyZWF0ZS1nb3NzaXAtcnBjLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7O0NBRUMsR0FDTSxTQUFTQSxnQkFBZ0JDLFdBQVcsRUFBRSxFQUFFQyxPQUFPO0lBQ2xELE9BQU87UUFDSEMsZUFBZSxFQUFFO1FBQ2pCRjtRQUNBQyxTQUFTQSxZQUFZRSxZQUNmO1lBQ0VDLE9BQU9ILFFBQVFHLEtBQUssSUFBSSxFQUFFO1lBQzFCQyxPQUFPSixRQUFRSSxLQUFLLElBQUksRUFBRTtZQUMxQkMsT0FBT0wsUUFBUUssS0FBSyxJQUFJLEVBQUU7WUFDMUJDLE9BQU9OLFFBQVFNLEtBQUssSUFBSSxFQUFFO1FBQzlCLElBQ0VKO0lBQ1Y7QUFDSjtBQUNPLFNBQVNLLGNBQWNDLEdBQUc7SUFDN0IsSUFBSUEsSUFBSVIsT0FBTyxLQUFLRSxXQUFXO1FBQzNCTSxJQUFJUixPQUFPLEdBQUc7WUFDVkcsT0FBTyxFQUFFO1lBQ1RDLE9BQU8sRUFBRTtZQUNUQyxPQUFPLEVBQUU7WUFDVEMsT0FBTyxFQUFFO1FBQ2I7SUFDSjtJQUNBLE9BQU9FO0FBQ1gsRUFDQSw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AY2hhaW5zYWZlL2xpYnAycC1nb3NzaXBzdWIvZGlzdC9zcmMvdXRpbHMvY3JlYXRlLWdvc3NpcC1ycGMuanM/ZWFkMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENyZWF0ZSBhIGdvc3NpcHN1YiBSUEMgb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHb3NzaXBScGMobWVzc2FnZXMgPSBbXSwgY29udHJvbCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIHN1YnNjcmlwdGlvbnM6IFtdLFxuICAgICAgICBtZXNzYWdlcyxcbiAgICAgICAgY29udHJvbDogY29udHJvbCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBncmFmdDogY29udHJvbC5ncmFmdCA/PyBbXSxcbiAgICAgICAgICAgICAgICBwcnVuZTogY29udHJvbC5wcnVuZSA/PyBbXSxcbiAgICAgICAgICAgICAgICBpaGF2ZTogY29udHJvbC5paGF2ZSA/PyBbXSxcbiAgICAgICAgICAgICAgICBpd2FudDogY29udHJvbC5pd2FudCA/PyBbXVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZUNvbnRyb2wocnBjKSB7XG4gICAgaWYgKHJwYy5jb250cm9sID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcnBjLmNvbnRyb2wgPSB7XG4gICAgICAgICAgICBncmFmdDogW10sXG4gICAgICAgICAgICBwcnVuZTogW10sXG4gICAgICAgICAgICBpaGF2ZTogW10sXG4gICAgICAgICAgICBpd2FudDogW11cbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHJwYztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZS1nb3NzaXAtcnBjLmpzLm1hcCJdLCJuYW1lcyI6WyJjcmVhdGVHb3NzaXBScGMiLCJtZXNzYWdlcyIsImNvbnRyb2wiLCJzdWJzY3JpcHRpb25zIiwidW5kZWZpbmVkIiwiZ3JhZnQiLCJwcnVuZSIsImloYXZlIiwiaXdhbnQiLCJlbnN1cmVDb250cm9sIiwicnBjIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/create-gossip-rpc.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/messageIdToString.js":
|
||
|
|
/*!**************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/messageIdToString.js ***!
|
||
|
|
\**************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ messageIdToString: () => (/* binding */ messageIdToString)\n/* harmony export */ });\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n\n/**\n * Browser friendly function to convert Uint8Array message id to base64 string.\n */ function messageIdToString(msgId) {\n return (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__.toString)(msgId, \"base64\");\n} //# sourceMappingURL=messageIdToString.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3V0aWxzL21lc3NhZ2VJZFRvU3RyaW5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWlEO0FBQ2pEOztDQUVDLEdBQ00sU0FBU0Msa0JBQWtCQyxLQUFLO0lBQ25DLE9BQU9GLCtEQUFRQSxDQUFDRSxPQUFPO0FBQzNCLEVBQ0EsNkNBQTZDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3V0aWxzL21lc3NhZ2VJZFRvU3RyaW5nLmpzP2NhYTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9TdHJpbmcgfSBmcm9tICd1aW50OGFycmF5cy90by1zdHJpbmcnO1xuLyoqXG4gKiBCcm93c2VyIGZyaWVuZGx5IGZ1bmN0aW9uIHRvIGNvbnZlcnQgVWludDhBcnJheSBtZXNzYWdlIGlkIHRvIGJhc2U2NCBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXNzYWdlSWRUb1N0cmluZyhtc2dJZCkge1xuICAgIHJldHVybiB0b1N0cmluZyhtc2dJZCwgJ2Jhc2U2NCcpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWVzc2FnZUlkVG9TdHJpbmcuanMubWFwIl0sIm5hbWVzIjpbInRvU3RyaW5nIiwibWVzc2FnZUlkVG9TdHJpbmciLCJtc2dJZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/messageIdToString.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/msgIdFn.js":
|
||
|
|
/*!****************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/msgIdFn.js ***!
|
||
|
|
\****************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ msgIdFnStrictNoSign: () => (/* binding */ msgIdFnStrictNoSign),\n/* harmony export */ msgIdFnStrictSign: () => (/* binding */ msgIdFnStrictSign)\n/* harmony export */ });\n/* harmony import */ var _libp2p_pubsub_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @libp2p/pubsub/utils */ \"(ssr)/./node_modules/@libp2p/pubsub/dist/src/utils.js\");\n/* harmony import */ var multiformats_hashes_sha2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! multiformats/hashes/sha2 */ \"(ssr)/./node_modules/multiformats/dist/src/hashes/sha2.js\");\n\n\n/**\n * Generate a message id, based on the `key` and `seqno`\n */ function msgIdFnStrictSign(msg) {\n if (msg.type !== \"signed\") {\n throw new Error(\"expected signed message type\");\n }\n // Should never happen\n if (msg.sequenceNumber == null) throw Error(\"missing seqno field\");\n // TODO: Should use .from here or key?\n return (0,_libp2p_pubsub_utils__WEBPACK_IMPORTED_MODULE_1__.msgId)(msg.from.toBytes(), msg.sequenceNumber);\n}\n/**\n * Generate a message id, based on message `data`\n */ async function msgIdFnStrictNoSign(msg) {\n return multiformats_hashes_sha2__WEBPACK_IMPORTED_MODULE_0__.sha256.encode(msg.data);\n} //# sourceMappingURL=msgIdFn.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3V0aWxzL21zZ0lkRm4uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE2QztBQUNLO0FBQ2xEOztDQUVDLEdBQ00sU0FBU0Usa0JBQWtCQyxHQUFHO0lBQ2pDLElBQUlBLElBQUlDLElBQUksS0FBSyxVQUFVO1FBQ3ZCLE1BQU0sSUFBSUMsTUFBTTtJQUNwQjtJQUNBLHNCQUFzQjtJQUN0QixJQUFJRixJQUFJRyxjQUFjLElBQUksTUFDdEIsTUFBTUQsTUFBTTtJQUNoQixzQ0FBc0M7SUFDdEMsT0FBT0wsMkRBQUtBLENBQUNHLElBQUlJLElBQUksQ0FBQ0MsT0FBTyxJQUFJTCxJQUFJRyxjQUFjO0FBQ3ZEO0FBQ0E7O0NBRUMsR0FDTSxlQUFlRyxvQkFBb0JOLEdBQUc7SUFDekMsT0FBT0YsNERBQU1BLENBQUNTLE1BQU0sQ0FBQ1AsSUFBSVEsSUFBSTtBQUNqQyxFQUNBLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BjaGFpbnNhZmUvbGlicDJwLWdvc3NpcHN1Yi9kaXN0L3NyYy91dGlscy9tc2dJZEZuLmpzPzU4YjQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbXNnSWQgfSBmcm9tICdAbGlicDJwL3B1YnN1Yi91dGlscyc7XG5pbXBvcnQgeyBzaGEyNTYgfSBmcm9tICdtdWx0aWZvcm1hdHMvaGFzaGVzL3NoYTInO1xuLyoqXG4gKiBHZW5lcmF0ZSBhIG1lc3NhZ2UgaWQsIGJhc2VkIG9uIHRoZSBga2V5YCBhbmQgYHNlcW5vYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbXNnSWRGblN0cmljdFNpZ24obXNnKSB7XG4gICAgaWYgKG1zZy50eXBlICE9PSAnc2lnbmVkJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIHNpZ25lZCBtZXNzYWdlIHR5cGUnKTtcbiAgICB9XG4gICAgLy8gU2hvdWxkIG5ldmVyIGhhcHBlblxuICAgIGlmIChtc2cuc2VxdWVuY2VOdW1iZXIgPT0gbnVsbClcbiAgICAgICAgdGhyb3cgRXJyb3IoJ21pc3Npbmcgc2Vxbm8gZmllbGQnKTtcbiAgICAvLyBUT0RPOiBTaG91bGQgdXNlIC5mcm9tIGhlcmUgb3Iga2V5P1xuICAgIHJldHVybiBtc2dJZChtc2cuZnJvbS50b0J5dGVzKCksIG1zZy5zZXF1ZW5jZU51bWJlcik7XG59XG4vKipcbiAqIEdlbmVyYXRlIGEgbWVzc2FnZSBpZCwgYmFzZWQgb24gbWVzc2FnZSBgZGF0YWBcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1zZ0lkRm5TdHJpY3ROb1NpZ24obXNnKSB7XG4gICAgcmV0dXJuIHNoYTI1Ni5lbmNvZGUobXNnLmRhdGEpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bXNnSWRGbi5qcy5tYXAiXSwibmFtZXMiOlsibXNnSWQiLCJzaGEyNTYiLCJtc2dJZEZuU3RyaWN0U2lnbiIsIm1zZyIsInR5cGUiLCJFcnJvciIsInNlcXVlbmNlTnVtYmVyIiwiZnJvbSIsInRvQnl0ZXMiLCJtc2dJZEZuU3RyaWN0Tm9TaWduIiwiZW5jb2RlIiwiZGF0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/msgIdFn.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/multiaddr.js":
|
||
|
|
/*!******************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/multiaddr.js ***!
|
||
|
|
\******************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ multiaddrToIPStr: () => (/* binding */ multiaddrToIPStr)\n/* harmony export */ });\n/* harmony import */ var _multiformats_multiaddr_convert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @multiformats/multiaddr/convert */ \"(ssr)/./node_modules/@multiformats/multiaddr/dist/src/convert.js\");\n\n// Protocols https://github.com/multiformats/multiaddr/blob/master/protocols.csv\n// code size name\n// 4 32 ip4\n// 41 128 ip6\nvar Protocol;\n(function(Protocol) {\n Protocol[Protocol[\"ip4\"] = 4] = \"ip4\";\n Protocol[Protocol[\"ip6\"] = 41] = \"ip6\";\n})(Protocol || (Protocol = {}));\nfunction multiaddrToIPStr(multiaddr) {\n for (const tuple of multiaddr.tuples()){\n switch(tuple[0]){\n case Protocol.ip4:\n case Protocol.ip6:\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return (0,_multiformats_multiaddr_convert__WEBPACK_IMPORTED_MODULE_0__.convertToString)(tuple[0], tuple[1]);\n default:\n break;\n }\n }\n return null;\n} //# sourceMappingURL=multiaddr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3V0aWxzL211bHRpYWRkci5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFrRTtBQUNsRSxnRkFBZ0Y7QUFDaEYsbUJBQW1CO0FBQ25CLGtCQUFrQjtBQUNsQixrQkFBa0I7QUFDbEIsSUFBSUM7QUFDSCxVQUFVQSxRQUFRO0lBQ2ZBLFFBQVEsQ0FBQ0EsUUFBUSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUc7SUFDaENBLFFBQVEsQ0FBQ0EsUUFBUSxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUc7QUFDckMsR0FBR0EsWUFBYUEsQ0FBQUEsV0FBVyxDQUFDO0FBQ3JCLFNBQVNDLGlCQUFpQkMsU0FBUztJQUN0QyxLQUFLLE1BQU1DLFNBQVNELFVBQVVFLE1BQU0sR0FBSTtRQUNwQyxPQUFRRCxLQUFLLENBQUMsRUFBRTtZQUNaLEtBQUtILFNBQVNLLEdBQUc7WUFDakIsS0FBS0wsU0FBU00sR0FBRztnQkFDYixvRUFBb0U7Z0JBQ3BFLE9BQU9QLGdGQUFlQSxDQUFDSSxLQUFLLENBQUMsRUFBRSxFQUFFQSxLQUFLLENBQUMsRUFBRTtZQUM3QztnQkFDSTtRQUNSO0lBQ0o7SUFDQSxPQUFPO0FBQ1gsRUFDQSxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AY2hhaW5zYWZlL2xpYnAycC1nb3NzaXBzdWIvZGlzdC9zcmMvdXRpbHMvbXVsdGlhZGRyLmpzPzE5ODIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29udmVydFRvU3RyaW5nIH0gZnJvbSAnQG11bHRpZm9ybWF0cy9tdWx0aWFkZHIvY29udmVydCc7XG4vLyBQcm90b2NvbHMgaHR0cHM6Ly9naXRodWIuY29tL211bHRpZm9ybWF0cy9tdWx0aWFkZHIvYmxvYi9tYXN0ZXIvcHJvdG9jb2xzLmNzdlxuLy8gY29kZSAgc2l6ZSAgbmFtZVxuLy8gNCAgICAgMzIgICAgaXA0XG4vLyA0MSAgICAxMjggICBpcDZcbnZhciBQcm90b2NvbDtcbihmdW5jdGlvbiAoUHJvdG9jb2wpIHtcbiAgICBQcm90b2NvbFtQcm90b2NvbFtcImlwNFwiXSA9IDRdID0gXCJpcDRcIjtcbiAgICBQcm90b2NvbFtQcm90b2NvbFtcImlwNlwiXSA9IDQxXSA9IFwiaXA2XCI7XG59KShQcm90b2NvbCB8fCAoUHJvdG9jb2wgPSB7fSkpO1xuZXhwb3J0IGZ1bmN0aW9uIG11bHRpYWRkclRvSVBTdHIobXVsdGlhZGRyKSB7XG4gICAgZm9yIChjb25zdCB0dXBsZSBvZiBtdWx0aWFkZHIudHVwbGVzKCkpIHtcbiAgICAgICAgc3dpdGNoICh0dXBsZVswXSkge1xuICAgICAgICAgICAgY2FzZSBQcm90b2NvbC5pcDQ6XG4gICAgICAgICAgICBjYXNlIFByb3RvY29sLmlwNjpcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICAgICAgICAgIHJldHVybiBjb252ZXJ0VG9TdHJpbmcodHVwbGVbMF0sIHR1cGxlWzFdKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1tdWx0aWFkZHIuanMubWFwIl0sIm5hbWVzIjpbImNvbnZlcnRUb1N0cmluZyIsIlByb3RvY29sIiwibXVsdGlhZGRyVG9JUFN0ciIsIm11bHRpYWRkciIsInR1cGxlIiwidHVwbGVzIiwiaXA0IiwiaXA2Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/multiaddr.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/publishConfig.js":
|
||
|
|
/*!**********************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/publishConfig.js ***!
|
||
|
|
\**********************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getPublishConfigFromPeerId: () => (/* binding */ getPublishConfigFromPeerId)\n/* harmony export */ });\n/* harmony import */ var _libp2p_crypto_keys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @libp2p/crypto/keys */ \"(ssr)/./node_modules/@libp2p/crypto/dist/src/keys/index.js\");\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/pubsub/index.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../types.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/types.js\");\n\n\n\n/**\n * Prepare a PublishConfig object from a PeerId.\n */ async function getPublishConfigFromPeerId(signaturePolicy, peerId) {\n switch(signaturePolicy){\n case _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__.StrictSign:\n {\n if (peerId == null) {\n throw Error(\"Must provide PeerId\");\n }\n if (peerId.privateKey == null) {\n throw Error(\"Cannot sign message, no private key present\");\n }\n if (peerId.publicKey == null) {\n throw Error(\"Cannot sign message, no public key present\");\n }\n // Transform privateKey once at initialization time instead of once per message\n const privateKey = await (0,_libp2p_crypto_keys__WEBPACK_IMPORTED_MODULE_1__.unmarshalPrivateKey)(peerId.privateKey);\n return {\n type: _types_js__WEBPACK_IMPORTED_MODULE_2__.PublishConfigType.Signing,\n author: peerId,\n key: peerId.publicKey,\n privateKey\n };\n }\n case _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__.StrictNoSign:\n return {\n type: _types_js__WEBPACK_IMPORTED_MODULE_2__.PublishConfigType.Anonymous\n };\n default:\n throw new Error(`Unknown signature policy \"${signaturePolicy}\"`);\n }\n} //# sourceMappingURL=publishConfig.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3V0aWxzL3B1Ymxpc2hDb25maWcuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUEwRDtBQUNHO0FBQ2I7QUFDaEQ7O0NBRUMsR0FDTSxlQUFlSSwyQkFBMkJDLGVBQWUsRUFBRUMsTUFBTTtJQUNwRSxPQUFRRDtRQUNKLEtBQUtKLHlEQUFVQTtZQUFFO2dCQUNiLElBQUlLLFVBQVUsTUFBTTtvQkFDaEIsTUFBTUMsTUFBTTtnQkFDaEI7Z0JBQ0EsSUFBSUQsT0FBT0UsVUFBVSxJQUFJLE1BQU07b0JBQzNCLE1BQU1ELE1BQU07Z0JBQ2hCO2dCQUNBLElBQUlELE9BQU9HLFNBQVMsSUFBSSxNQUFNO29CQUMxQixNQUFNRixNQUFNO2dCQUNoQjtnQkFDQSwrRUFBK0U7Z0JBQy9FLE1BQU1DLGFBQWEsTUFBTVIsd0VBQW1CQSxDQUFDTSxPQUFPRSxVQUFVO2dCQUM5RCxPQUFPO29CQUNIRSxNQUFNUCx3REFBaUJBLENBQUNRLE9BQU87b0JBQy9CQyxRQUFRTjtvQkFDUk8sS0FBS1AsT0FBT0csU0FBUztvQkFDckJEO2dCQUNKO1lBQ0o7UUFDQSxLQUFLTiwyREFBWUE7WUFDYixPQUFPO2dCQUNIUSxNQUFNUCx3REFBaUJBLENBQUNXLFNBQVM7WUFDckM7UUFDSjtZQUNJLE1BQU0sSUFBSVAsTUFBTSxDQUFDLDBCQUEwQixFQUFFRixnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3ZFO0FBQ0osRUFDQSx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AY2hhaW5zYWZlL2xpYnAycC1nb3NzaXBzdWIvZGlzdC9zcmMvdXRpbHMvcHVibGlzaENvbmZpZy5qcz9mMmYzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVubWFyc2hhbFByaXZhdGVLZXkgfSBmcm9tICdAbGlicDJwL2NyeXB0by9rZXlzJztcbmltcG9ydCB7IFN0cmljdFNpZ24sIFN0cmljdE5vU2lnbiB9IGZyb20gJ0BsaWJwMnAvaW50ZXJmYWNlJztcbmltcG9ydCB7IFB1Ymxpc2hDb25maWdUeXBlIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuLyoqXG4gKiBQcmVwYXJlIGEgUHVibGlzaENvbmZpZyBvYmplY3QgZnJvbSBhIFBlZXJJZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFB1Ymxpc2hDb25maWdGcm9tUGVlcklkKHNpZ25hdHVyZVBvbGljeSwgcGVlcklkKSB7XG4gICAgc3dpdGNoIChzaWduYXR1cmVQb2xpY3kpIHtcbiAgICAgICAgY2FzZSBTdHJpY3RTaWduOiB7XG4gICAgICAgICAgICBpZiAocGVlcklkID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyB
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/set.js":
|
||
|
|
/*!************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/set.js ***!
|
||
|
|
\************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MapDef: () => (/* binding */ MapDef),\n/* harmony export */ removeFirstNItemsFromSet: () => (/* binding */ removeFirstNItemsFromSet),\n/* harmony export */ removeItemsFromSet: () => (/* binding */ removeItemsFromSet)\n/* harmony export */ });\n/**\n * Exclude up to `ineed` items from a set if item meets condition `cond`\n */ function removeItemsFromSet(superSet, ineed, cond = ()=>true) {\n const subset = new Set();\n if (ineed <= 0) return subset;\n for (const id of superSet){\n if (subset.size >= ineed) break;\n if (cond(id)) {\n subset.add(id);\n superSet.delete(id);\n }\n }\n return subset;\n}\n/**\n * Exclude up to `ineed` items from a set\n */ function removeFirstNItemsFromSet(superSet, ineed) {\n return removeItemsFromSet(superSet, ineed, ()=>true);\n}\nclass MapDef extends Map {\n constructor(getDefault){\n super();\n this.getDefault = getDefault;\n }\n getOrDefault(key) {\n let value = super.get(key);\n if (value === undefined) {\n value = this.getDefault();\n this.set(key, value);\n }\n return value;\n }\n} //# sourceMappingURL=set.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3V0aWxzL3NldC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7Q0FFQyxHQUNNLFNBQVNBLG1CQUFtQkMsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sSUFBTSxJQUFJO0lBQ2pFLE1BQU1DLFNBQVMsSUFBSUM7SUFDbkIsSUFBSUgsU0FBUyxHQUNULE9BQU9FO0lBQ1gsS0FBSyxNQUFNRSxNQUFNTCxTQUFVO1FBQ3ZCLElBQUlHLE9BQU9HLElBQUksSUFBSUwsT0FDZjtRQUNKLElBQUlDLEtBQUtHLEtBQUs7WUFDVkYsT0FBT0ksR0FBRyxDQUFDRjtZQUNYTCxTQUFTUSxNQUFNLENBQUNIO1FBQ3BCO0lBQ0o7SUFDQSxPQUFPRjtBQUNYO0FBQ0E7O0NBRUMsR0FDTSxTQUFTTSx5QkFBeUJULFFBQVEsRUFBRUMsS0FBSztJQUNwRCxPQUFPRixtQkFBbUJDLFVBQVVDLE9BQU8sSUFBTTtBQUNyRDtBQUNPLE1BQU1TLGVBQWVDO0lBRXhCQyxZQUFZQyxVQUFVLENBQUU7UUFDcEIsS0FBSztRQUNMLElBQUksQ0FBQ0EsVUFBVSxHQUFHQTtJQUN0QjtJQUNBQyxhQUFhQyxHQUFHLEVBQUU7UUFDZCxJQUFJQyxRQUFRLEtBQUssQ0FBQ0MsSUFBSUY7UUFDdEIsSUFBSUMsVUFBVUUsV0FBVztZQUNyQkYsUUFBUSxJQUFJLENBQUNILFVBQVU7WUFDdkIsSUFBSSxDQUFDTSxHQUFHLENBQUNKLEtBQUtDO1FBQ2xCO1FBQ0EsT0FBT0E7SUFDWDtBQUNKLEVBQ0EsK0JBQStCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3V0aWxzL3NldC5qcz81YzMzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXhjbHVkZSB1cCB0byBgaW5lZWRgIGl0ZW1zIGZyb20gYSBzZXQgaWYgaXRlbSBtZWV0cyBjb25kaXRpb24gYGNvbmRgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVJdGVtc0Zyb21TZXQoc3VwZXJTZXQsIGluZWVkLCBjb25kID0gKCkgPT4gdHJ1ZSkge1xuICAgIGNvbnN0IHN1YnNldCA9IG5ldyBTZXQoKTtcbiAgICBpZiAoaW5lZWQgPD0gMClcbiAgICAgICAgcmV0dXJuIHN1YnNldDtcbiAgICBmb3IgKGNvbnN0IGlkIG9mIHN1cGVyU2V0KSB7XG4gICAgICAgIGlmIChzdWJzZXQuc2l6ZSA+PSBpbmVlZClcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBpZiAoY29uZChpZCkpIHtcbiAgICAgICAgICAgIHN1YnNldC5hZGQoaWQpO1xuICAgICAgICAgICAgc3VwZXJTZXQuZGVsZXRlKGlkKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc3Vic2V0O1xufVxuLyoqXG4gKiBFeGNsdWRlIHVwIHRvIGBpbmVlZGAgaXRlbXMgZnJvbSBhIHNldFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRmlyc3ROSXRlbXNGcm9tU2V0KHN1cGVyU2V0LCBpbmVlZCkge1xuICAgIHJldHVybiByZW1vdmVJdGVtc0Zyb21TZXQoc3VwZXJTZXQsIGluZWVkLCAoKSA9PiB0cnVlKTtcbn1cbmV4cG9ydCBjbGFzcyBNYXBEZWYgZXh0ZW5kcyBNYXAge1xuICAgIGdldERlZmF1bHQ7XG4gICAgY29uc3RydWN0b3IoZ2V0RGVmYXVsdCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmdldERlZmF1bHQgPSBnZXREZWZhdWx0O1xuICAgIH1cbiAgICBnZXRPckRlZmF1bHQoa2V5KSB7XG4gICAgICAgIGxldCB2YWx1ZSA9IHN1cGVyLmdldChrZXkpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmdldERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXQuanMubWFwIl0sIm5hbWVzIjpbInJlbW92ZUl0ZW1zRnJvbVNldCIsInN1cGVyU2V0IiwiaW5lZWQiLCJjb25kIiwic3Vic2V0IiwiU2V0IiwiaWQiLCJzaXplIiwiYWRkIiwiZGVsZXRlIiwicmVtb3Zl
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/shuffle.js":
|
||
|
|
/*!****************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/shuffle.js ***!
|
||
|
|
\****************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ shuffle: () => (/* binding */ shuffle)\n/* harmony export */ });\n/**\n * Pseudo-randomly shuffles an array\n *\n * Mutates the input array\n */ function shuffle(arr) {\n if (arr.length <= 1) {\n return arr;\n }\n const randInt = ()=>{\n return Math.floor(Math.random() * Math.floor(arr.length));\n };\n for(let i = 0; i < arr.length; i++){\n const j = randInt();\n const tmp = arr[i];\n arr[i] = arr[j];\n arr[j] = tmp;\n }\n return arr;\n} //# sourceMappingURL=shuffle.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3V0aWxzL3NodWZmbGUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBOzs7O0NBSUMsR0FDTSxTQUFTQSxRQUFRQyxHQUFHO0lBQ3ZCLElBQUlBLElBQUlDLE1BQU0sSUFBSSxHQUFHO1FBQ2pCLE9BQU9EO0lBQ1g7SUFDQSxNQUFNRSxVQUFVO1FBQ1osT0FBT0MsS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxNQUFNLEtBQUtGLEtBQUtDLEtBQUssQ0FBQ0osSUFBSUMsTUFBTTtJQUMzRDtJQUNBLElBQUssSUFBSUssSUFBSSxHQUFHQSxJQUFJTixJQUFJQyxNQUFNLEVBQUVLLElBQUs7UUFDakMsTUFBTUMsSUFBSUw7UUFDVixNQUFNTSxNQUFNUixHQUFHLENBQUNNLEVBQUU7UUFDbEJOLEdBQUcsQ0FBQ00sRUFBRSxHQUFHTixHQUFHLENBQUNPLEVBQUU7UUFDZlAsR0FBRyxDQUFDTyxFQUFFLEdBQUdDO0lBQ2I7SUFDQSxPQUFPUjtBQUNYLEVBQ0EsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3V0aWxzL3NodWZmbGUuanM/OWYyNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFBzZXVkby1yYW5kb21seSBzaHVmZmxlcyBhbiBhcnJheVxuICpcbiAqIE11dGF0ZXMgdGhlIGlucHV0IGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaHVmZmxlKGFycikge1xuICAgIGlmIChhcnIubGVuZ3RoIDw9IDEpIHtcbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG4gICAgY29uc3QgcmFuZEludCA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIE1hdGguZmxvb3IoYXJyLmxlbmd0aCkpO1xuICAgIH07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaiA9IHJhbmRJbnQoKTtcbiAgICAgICAgY29uc3QgdG1wID0gYXJyW2ldO1xuICAgICAgICBhcnJbaV0gPSBhcnJbal07XG4gICAgICAgIGFycltqXSA9IHRtcDtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNodWZmbGUuanMubWFwIl0sIm5hbWVzIjpbInNodWZmbGUiLCJhcnIiLCJsZW5ndGgiLCJyYW5kSW50IiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwiaSIsImoiLCJ0bXAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/shuffle.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/time-cache.js":
|
||
|
|
/*!*******************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/time-cache.js ***!
|
||
|
|
\*******************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimpleTimeCache: () => (/* binding */ SimpleTimeCache)\n/* harmony export */ });\n/**\n * This is similar to https://github.com/daviddias/time-cache/blob/master/src/index.js\n * for our own need, we don't use lodash throttle to improve performance.\n * This gives 4x - 5x performance gain compared to npm TimeCache\n */ class SimpleTimeCache {\n constructor(opts){\n this.entries = new Map();\n this.validityMs = opts.validityMs;\n // allow negative validityMs so that this does not cache anything, spec test compliance.spec.js\n // sends duplicate messages and expect peer to receive all. Application likely uses positive validityMs\n }\n get size() {\n return this.entries.size;\n }\n /** Returns true if there was a key collision and the entry is dropped */ put(key, value) {\n if (this.entries.has(key)) {\n // Key collisions break insertion order in the entries cache, which break prune logic.\n // prune relies on each iterated entry to have strictly ascending validUntilMs, else it\n // won't prune expired entries and SimpleTimeCache will grow unexpectedly.\n // As of Oct 2022 NodeJS v16, inserting the same key twice with different value does not\n // change the key position in the iterator stream. A unit test asserts this behaviour.\n return true;\n }\n this.entries.set(key, {\n value,\n validUntilMs: Date.now() + this.validityMs\n });\n return false;\n }\n prune() {\n const now = Date.now();\n for (const [k, v] of this.entries.entries()){\n if (v.validUntilMs < now) {\n this.entries.delete(k);\n } else {\n break;\n }\n }\n }\n has(key) {\n return this.entries.has(key);\n }\n get(key) {\n const value = this.entries.get(key);\n return value != null && value.validUntilMs >= Date.now() ? value.value : undefined;\n }\n clear() {\n this.entries.clear();\n }\n} //# sourceMappingURL=time-cache.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtZ29zc2lwc3ViL2Rpc3Qvc3JjL3V0aWxzL3RpbWUtY2FjaGUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBOzs7O0NBSUMsR0FDTSxNQUFNQTtJQUdUQyxZQUFZQyxJQUFJLENBQUU7YUFGbEJDLFVBQVUsSUFBSUM7UUFHVixJQUFJLENBQUNDLFVBQVUsR0FBR0gsS0FBS0csVUFBVTtJQUNqQywrRkFBK0Y7SUFDL0YsdUdBQXVHO0lBQzNHO0lBQ0EsSUFBSUMsT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDSCxPQUFPLENBQUNHLElBQUk7SUFDNUI7SUFDQSx1RUFBdUUsR0FDdkVDLElBQUlDLEdBQUcsRUFBRUMsS0FBSyxFQUFFO1FBQ1osSUFBSSxJQUFJLENBQUNOLE9BQU8sQ0FBQ08sR0FBRyxDQUFDRixNQUFNO1lBQ3ZCLHNGQUFzRjtZQUN0Rix1RkFBdUY7WUFDdkYsMEVBQTBFO1lBQzFFLHdGQUF3RjtZQUN4RixzRkFBc0Y7WUFDdEYsT0FBTztRQUNYO1FBQ0EsSUFBSSxDQUFDTCxPQUFPLENBQUNRLEdBQUcsQ0FBQ0gsS0FBSztZQUFFQztZQUFPRyxjQUFjQyxLQUFLQyxHQUFHLEtBQUssSUFBSSxDQUFDVCxVQUFVO1FBQUM7UUFDMUUsT0FBTztJQUNYO0lBQ0FVLFFBQVE7UUFDSixNQUFNRCxNQUFNRCxLQUFLQyxHQUFHO1FBQ3BCLEtBQUssTUFBTSxDQUFDRSxHQUFHQyxFQUFFLElBQUksSUFBSSxDQUFDZCxPQUFPLENBQUNBLE9BQU8sR0FBSTtZQUN6QyxJQUFJYyxFQUFFTCxZQUFZLEdBQUdFLEtBQUs7Z0JBQ3RCLElBQUksQ0FBQ1gsT0FBTyxDQUFDZSxNQUFNLENBQUNGO1lBQ3hCLE9BQ0s7Z0JBR0Q7WUFDSjtRQUNKO0lBQ0o7SUFDQU4sSUFBSUYsR0FBRyxFQUFFO1FBQ0wsT0FBTyxJQUFJLENBQUNMLE9BQU8sQ0FBQ08sR0FBRyxDQUFDRjtJQUM1QjtJQUNBVyxJQUFJWCxHQUFHLEVBQUU7UUFDTCxNQUFNQyxRQUFRLElBQUksQ0FBQ04sT0FBTyxDQUFDZ0IsR0FBRyxDQUFDWDtRQUMvQixPQUFPLFNBQVUsUUFBU0MsTUFBTUcsWUFBWSxJQUFJQyxLQUFLQyxHQUFHLEtBQUtMLE1BQU1BLEtBQUssR0FBR1c7SUFDL0U7SUFDQUMsUUFBUTtRQUNKLElBQUksQ0FBQ2xCLE9BQU8sQ0FBQ2tCLEtBQUs7SUFDdEI7QUFDSixFQUNBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BjaGFpbnNhZmUvbGlicDJwLWdvc3NpcHN1Yi9kaXN0L3NyYy91dGlscy90aW1lLWNhY2hlLmpzPzdkYzEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGlzIHNpbWlsYXIgdG8gaHR0cHM6Ly9naXRodWIuY29tL2RhdmlkZGlhcy90aW1lLWNhY2hlL2Jsb2I
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/constants.js":
|
||
|
|
/*!********************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/constants.js ***!
|
||
|
|
\********************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DUMP_SESSION_KEYS: () => (/* binding */ DUMP_SESSION_KEYS),\n/* harmony export */ NOISE_MSG_MAX_LENGTH_BYTES: () => (/* binding */ NOISE_MSG_MAX_LENGTH_BYTES),\n/* harmony export */ NOISE_MSG_MAX_LENGTH_BYTES_WITHOUT_TAG: () => (/* binding */ NOISE_MSG_MAX_LENGTH_BYTES_WITHOUT_TAG)\n/* harmony export */ });\nconst NOISE_MSG_MAX_LENGTH_BYTES = 65535;\nconst NOISE_MSG_MAX_LENGTH_BYTES_WITHOUT_TAG = NOISE_MSG_MAX_LENGTH_BYTES - 16;\nconst DUMP_SESSION_KEYS = Boolean(globalThis.process?.env?.DUMP_SESSION_KEYS); //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2UvZGlzdC9zcmMvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLE1BQU1BLDZCQUE2QixNQUFNO0FBQ3pDLE1BQU1DLHlDQUF5Q0QsNkJBQTZCLEdBQUc7QUFDL0UsTUFBTUUsb0JBQW9CQyxRQUFRQyxXQUFXQyxPQUFPLEVBQUVDLEtBQUtKLG1CQUFtQixDQUNyRixxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AY2hhaW5zYWZlL2xpYnAycC1ub2lzZS9kaXN0L3NyYy9jb25zdGFudHMuanM/NzU2NSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTk9JU0VfTVNHX01BWF9MRU5HVEhfQllURVMgPSA2NTUzNTtcbmV4cG9ydCBjb25zdCBOT0lTRV9NU0dfTUFYX0xFTkdUSF9CWVRFU19XSVRIT1VUX1RBRyA9IE5PSVNFX01TR19NQVhfTEVOR1RIX0JZVEVTIC0gMTY7XG5leHBvcnQgY29uc3QgRFVNUF9TRVNTSU9OX0tFWVMgPSBCb29sZWFuKGdsb2JhbFRoaXMucHJvY2Vzcz8uZW52Py5EVU1QX1NFU1NJT05fS0VZUyk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25zdGFudHMuanMubWFwIl0sIm5hbWVzIjpbIk5PSVNFX01TR19NQVhfTEVOR1RIX0JZVEVTIiwiTk9JU0VfTVNHX01BWF9MRU5HVEhfQllURVNfV0lUSE9VVF9UQUciLCJEVU1QX1NFU1NJT05fS0VZUyIsIkJvb2xlYW4iLCJnbG9iYWxUaGlzIiwicHJvY2VzcyIsImVudiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/constants.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/crypto/index.js":
|
||
|
|
/*!***********************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/crypto/index.js ***!
|
||
|
|
\***********************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultCrypto: () => (/* binding */ defaultCrypto)\n/* harmony export */ });\n/* harmony import */ var node_crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node:crypto */ \"node:crypto\");\n/* harmony import */ var _chainsafe_as_chacha20poly1305__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @chainsafe/as-chacha20poly1305 */ \"(ssr)/./node_modules/@chainsafe/as-chacha20poly1305/lib/src/index.js\");\n/* harmony import */ var _chainsafe_as_sha256__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @chainsafe/as-sha256 */ \"(ssr)/./node_modules/@chainsafe/as-sha256/lib/index.js\");\n/* harmony import */ var uint8arraylist__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uint8arraylist */ \"(ssr)/./node_modules/uint8arraylist/dist/src/index.js\");\n/* harmony import */ var wherearewe__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! wherearewe */ \"(ssr)/./node_modules/wherearewe/src/index.js\");\n/* harmony import */ var _js_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./js.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/crypto/js.js\");\n\n\n\n\n\n\nconst ctx = (0,_chainsafe_as_chacha20poly1305__WEBPACK_IMPORTED_MODULE_1__.newInstance)();\nconst asImpl = new _chainsafe_as_chacha20poly1305__WEBPACK_IMPORTED_MODULE_1__.ChaCha20Poly1305(ctx);\nconst CHACHA_POLY1305 = \"chacha20-poly1305\";\nconst PKCS8_PREFIX = Buffer.from([\n 0x30,\n 0x2e,\n 0x02,\n 0x01,\n 0x00,\n 0x30,\n 0x05,\n 0x06,\n 0x03,\n 0x2b,\n 0x65,\n 0x6e,\n 0x04,\n 0x22,\n 0x04,\n 0x20\n]);\nconst X25519_PREFIX = Buffer.from([\n 0x30,\n 0x2a,\n 0x30,\n 0x05,\n 0x06,\n 0x03,\n 0x2b,\n 0x65,\n 0x6e,\n 0x03,\n 0x21,\n 0x00\n]);\nconst nodeCrypto = {\n hashSHA256 (data) {\n const hash = node_crypto__WEBPACK_IMPORTED_MODULE_0__.createHash(\"sha256\");\n if (data instanceof Uint8Array) {\n return hash.update(data).digest();\n }\n for (const buf of data){\n hash.update(buf);\n }\n return hash.digest();\n },\n chaCha20Poly1305Encrypt (plaintext, nonce, ad, k) {\n const cipher = node_crypto__WEBPACK_IMPORTED_MODULE_0__.createCipheriv(CHACHA_POLY1305, k, nonce, {\n authTagLength: 16\n });\n cipher.setAAD(ad, {\n plaintextLength: plaintext.byteLength\n });\n if (plaintext instanceof Uint8Array) {\n const updated = cipher.update(plaintext);\n const final = cipher.final();\n const tag = cipher.getAuthTag();\n return Buffer.concat([\n updated,\n tag,\n final\n ], updated.byteLength + tag.byteLength + final.byteLength);\n }\n const output = new uint8arraylist__WEBPACK_IMPORTED_MODULE_3__.Uint8ArrayList();\n for (const buf of plaintext){\n output.append(cipher.update(buf));\n }\n const final = cipher.final();\n if (final.byteLength > 0) {\n output.append(final);\n }\n output.append(cipher.getAuthTag());\n return output;\n },\n chaCha20Poly1305Decrypt (ciphertext, nonce, ad, k, _dst) {\n const authTag = ciphertext.subarray(ciphertext.length - 16);\n const decipher = node_crypto__WEBPACK_IMPORTED_MODULE_0__.createDecipheriv(CHACHA_POLY1305, k, nonce, {\n authTagLength: 16\n });\n let text;\n if (ciphertext instanceof Uint8Array) {\n text = ciphertext.subarray(0, ciphertext.length - 16);\n } else {\n text = ciphertext.sublist(0, ciphertext.length - 16);\n }\n decipher.setAAD(ad, {\n plaintextLength: text.byteLength\n });\n decipher.setAuthTag(authTag);\n if (text instanceof Uint8Array) {\n const output = decipher.update(text);\n const final =
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/crypto/js.js":
|
||
|
|
/*!********************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/crypto/js.js ***!
|
||
|
|
\********************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ pureJsCrypto: () => (/* binding */ pureJsCrypto)\n/* harmony export */ });\n/* harmony import */ var _noble_ciphers_chacha__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @noble/ciphers/chacha */ \"(ssr)/./node_modules/@noble/ciphers/esm/chacha.js\");\n/* harmony import */ var _noble_curves_ed25519__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @noble/curves/ed25519 */ \"(ssr)/./node_modules/@noble/curves/esm/ed25519.js\");\n/* harmony import */ var _noble_hashes_hkdf__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @noble/hashes/hkdf */ \"(ssr)/./node_modules/@noble/hashes/esm/hkdf.js\");\n/* harmony import */ var _noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @noble/hashes/sha256 */ \"(ssr)/./node_modules/@noble/hashes/esm/sha256.js\");\n\n\n\n\nconst pureJsCrypto = {\n hashSHA256 (data) {\n return (0,_noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_1__.sha256)(data.subarray());\n },\n getHKDF (ck, ikm) {\n const prk = (0,_noble_hashes_hkdf__WEBPACK_IMPORTED_MODULE_2__.extract)(_noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_1__.sha256, ikm, ck);\n const okmU8Array = (0,_noble_hashes_hkdf__WEBPACK_IMPORTED_MODULE_2__.expand)(_noble_hashes_sha256__WEBPACK_IMPORTED_MODULE_1__.sha256, prk, undefined, 96);\n const okm = okmU8Array;\n const k1 = okm.subarray(0, 32);\n const k2 = okm.subarray(32, 64);\n const k3 = okm.subarray(64, 96);\n return [\n k1,\n k2,\n k3\n ];\n },\n generateX25519KeyPair () {\n const secretKey = _noble_curves_ed25519__WEBPACK_IMPORTED_MODULE_3__.x25519.utils.randomPrivateKey();\n const publicKey = _noble_curves_ed25519__WEBPACK_IMPORTED_MODULE_3__.x25519.getPublicKey(secretKey);\n return {\n publicKey,\n privateKey: secretKey\n };\n },\n generateX25519KeyPairFromSeed (seed) {\n const publicKey = _noble_curves_ed25519__WEBPACK_IMPORTED_MODULE_3__.x25519.getPublicKey(seed);\n return {\n publicKey,\n privateKey: seed\n };\n },\n generateX25519SharedKey (privateKey, publicKey) {\n return _noble_curves_ed25519__WEBPACK_IMPORTED_MODULE_3__.x25519.getSharedSecret(privateKey.subarray(), publicKey.subarray());\n },\n chaCha20Poly1305Encrypt (plaintext, nonce, ad, k) {\n return (0,_noble_ciphers_chacha__WEBPACK_IMPORTED_MODULE_0__.chacha20poly1305)(k, nonce, ad).encrypt(plaintext.subarray());\n },\n chaCha20Poly1305Decrypt (ciphertext, nonce, ad, k, dst) {\n return (0,_noble_ciphers_chacha__WEBPACK_IMPORTED_MODULE_0__.chacha20poly1305)(k, nonce, ad).decrypt(ciphertext.subarray(), dst);\n }\n}; //# sourceMappingURL=js.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2UvZGlzdC9zcmMvY3J5cHRvL2pzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXlEO0FBQ1Y7QUFDTTtBQUNQO0FBQ3ZDLE1BQU1LLGVBQWU7SUFDeEJDLFlBQVdDLElBQUk7UUFDWCxPQUFPSCw0REFBTUEsQ0FBQ0csS0FBS0MsUUFBUTtJQUMvQjtJQUNBQyxTQUFRQyxFQUFFLEVBQUVDLEdBQUc7UUFDWCxNQUFNQyxNQUFNViwyREFBT0EsQ0FBQ0Usd0RBQU1BLEVBQUVPLEtBQUtEO1FBQ2pDLE1BQU1HLGFBQWFWLDBEQUFNQSxDQUFDQyx3REFBTUEsRUFBRVEsS0FBS0UsV0FBVztRQUNsRCxNQUFNQyxNQUFNRjtRQUNaLE1BQU1HLEtBQUtELElBQUlQLFFBQVEsQ0FBQyxHQUFHO1FBQzNCLE1BQU1TLEtBQUtGLElBQUlQLFFBQVEsQ0FBQyxJQUFJO1FBQzVCLE1BQU1VLEtBQUtILElBQUlQLFFBQVEsQ0FBQyxJQUFJO1FBQzVCLE9BQU87WUFBQ1E7WUFBSUM7WUFBSUM7U0FBRztJQUN2QjtJQUNBQztRQUNJLE1BQU1DLFlBQVluQix5REFBTUEsQ0FBQ29CLEtBQUssQ0FBQ0MsZ0JBQWdCO1FBQy9DLE1BQU1DLFlBQVl0Qix5REFBTUEsQ0FBQ3VCLFlBQVksQ0FBQ0o7UUFDdEMsT0FBTztZQUNIRztZQUNBRSxZQUFZTDtRQUNoQjtJQUNKO0lBQ0FNLCtCQUE4QkMsSUFBSTtRQUM5QixNQUFNSixZQUFZdEIseURBQU1BLENBQUN1QixZQUFZLENBQUNHO1FBQ3RDLE9BQU87WUFDSEo7WUFDQUUsWUFBWUU7UUFDaEI7SUFDSjtJQUNBQyx5QkFBd0JILFVBQVUsRUFBRUYsU0FBUztRQUN6QyxPQUFPdEIseURBQU1BLENBQUM0QixlQUFl
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/crypto/streaming.js":
|
||
|
|
/*!***************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/crypto/streaming.js ***!
|
||
|
|
\***************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decryptStream: () => (/* binding */ decryptStream),\n/* harmony export */ encryptStream: () => (/* binding */ encryptStream)\n/* harmony export */ });\n/* harmony import */ var uint8arraylist__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arraylist */ \"(ssr)/./node_modules/uint8arraylist/dist/src/index.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/constants.js\");\n/* harmony import */ var _encoder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../encoder.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/encoder.js\");\n\n\n\nconst CHACHA_TAG_LENGTH = 16;\n// Returns generator that encrypts payload from the user\nfunction encryptStream(handshake, metrics) {\n return async function*(source) {\n for await (const chunk of source){\n for(let i = 0; i < chunk.length; i += _constants_js__WEBPACK_IMPORTED_MODULE_1__.NOISE_MSG_MAX_LENGTH_BYTES_WITHOUT_TAG){\n let end = i + _constants_js__WEBPACK_IMPORTED_MODULE_1__.NOISE_MSG_MAX_LENGTH_BYTES_WITHOUT_TAG;\n if (end > chunk.length) {\n end = chunk.length;\n }\n let data;\n if (chunk instanceof Uint8Array) {\n data = handshake.encrypt(chunk.subarray(i, end), handshake.session);\n } else {\n data = handshake.encrypt(chunk.sublist(i, end), handshake.session);\n }\n metrics?.encryptedPackets.increment();\n yield new uint8arraylist__WEBPACK_IMPORTED_MODULE_0__.Uint8ArrayList((0,_encoder_js__WEBPACK_IMPORTED_MODULE_2__.uint16BEEncode)(data.byteLength), data);\n }\n }\n };\n}\n// Decrypt received payload to the user\nfunction decryptStream(handshake, metrics) {\n return async function*(source) {\n for await (const chunk of source){\n for(let i = 0; i < chunk.length; i += _constants_js__WEBPACK_IMPORTED_MODULE_1__.NOISE_MSG_MAX_LENGTH_BYTES){\n let end = i + _constants_js__WEBPACK_IMPORTED_MODULE_1__.NOISE_MSG_MAX_LENGTH_BYTES;\n if (end > chunk.length) {\n end = chunk.length;\n }\n if (end - CHACHA_TAG_LENGTH < i) {\n throw new Error(\"Invalid chunk\");\n }\n const encrypted = chunk.sublist(i, end);\n // memory allocation is not cheap so reuse the encrypted Uint8Array\n // see https://github.com/ChainSafe/js-libp2p-noise/pull/242#issue-1422126164\n // this is ok because chacha20 reads bytes one by one and don't reread after that\n // it's also tested in https://github.com/ChainSafe/as-chacha20poly1305/pull/1/files#diff-25252846b58979dcaf4e41d47b3eadd7e4f335e7fb98da6c049b1f9cd011f381R48\n const dst = chunk.subarray(i, end - CHACHA_TAG_LENGTH);\n const { plaintext: decrypted, valid } = handshake.decrypt(encrypted, handshake.session, dst);\n if (!valid) {\n metrics?.decryptErrors.increment();\n throw new Error(\"Failed to validate decrypted chunk\");\n }\n metrics?.decryptedPackets.increment();\n yield decrypted;\n }\n }\n };\n} //# sourceMappingURL=streaming.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2UvZGlzdC9zcmMvY3J5cHRvL3N0cmVhbWluZy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFnRDtBQUNxRDtBQUN0RDtBQUMvQyxNQUFNSSxvQkFBb0I7QUFDMUIsd0RBQXdEO0FBQ2pELFNBQVNDLGNBQWNDLFNBQVMsRUFBRUMsT0FBTztJQUM1QyxPQUFPLGdCQUFpQkMsTUFBTTtRQUMxQixXQUFXLE1BQU1DLFNBQVNELE9BQVE7WUFDOUIsSUFBSyxJQUFJR
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/encoder.js":
|
||
|
|
/*!******************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/encoder.js ***!
|
||
|
|
\******************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decode0: () => (/* binding */ decode0),\n/* harmony export */ decode1: () => (/* binding */ decode1),\n/* harmony export */ decode2: () => (/* binding */ decode2),\n/* harmony export */ encode0: () => (/* binding */ encode0),\n/* harmony export */ encode1: () => (/* binding */ encode1),\n/* harmony export */ encode2: () => (/* binding */ encode2),\n/* harmony export */ uint16BEDecode: () => (/* binding */ uint16BEDecode),\n/* harmony export */ uint16BEEncode: () => (/* binding */ uint16BEEncode)\n/* harmony export */ });\n/* harmony import */ var uint8arraylist__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arraylist */ \"(ssr)/./node_modules/uint8arraylist/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n\n\nconst uint16BEEncode = (value)=>{\n const target = (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.allocUnsafe)(2);\n new DataView(target.buffer, target.byteOffset, target.byteLength).setUint16(0, value, false);\n return target;\n};\nuint16BEEncode.bytes = 2;\nconst uint16BEDecode = (data)=>{\n if (data.length < 2) throw RangeError(\"Could not decode int16BE\");\n if (data instanceof Uint8Array) {\n return new DataView(data.buffer, data.byteOffset, data.byteLength).getUint16(0, false);\n }\n return data.getUint16(0);\n};\nuint16BEDecode.bytes = 2;\n// Note: IK and XX encoder usage is opposite (XX uses in stages encode0 where IK uses encode1)\nfunction encode0(message) {\n return new uint8arraylist__WEBPACK_IMPORTED_MODULE_0__.Uint8ArrayList(message.ne, message.ciphertext);\n}\nfunction encode1(message) {\n return new uint8arraylist__WEBPACK_IMPORTED_MODULE_0__.Uint8ArrayList(message.ne, message.ns, message.ciphertext);\n}\nfunction encode2(message) {\n return new uint8arraylist__WEBPACK_IMPORTED_MODULE_0__.Uint8ArrayList(message.ns, message.ciphertext);\n}\nfunction decode0(input) {\n if (input.length < 32) {\n throw new Error(\"Cannot decode stage 0 MessageBuffer: length less than 32 bytes.\");\n }\n return {\n ne: input.subarray(0, 32),\n ciphertext: input.subarray(32, input.length),\n ns: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0)\n };\n}\nfunction decode1(input) {\n if (input.length < 80) {\n throw new Error(\"Cannot decode stage 1 MessageBuffer: length less than 80 bytes.\");\n }\n return {\n ne: input.subarray(0, 32),\n ns: input.subarray(32, 80),\n ciphertext: input.subarray(80, input.length)\n };\n}\nfunction decode2(input) {\n if (input.length < 48) {\n throw new Error(\"Cannot decode stage 2 MessageBuffer: length less than 48 bytes.\");\n }\n return {\n ne: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n ns: input.subarray(0, 48),\n ciphertext: input.subarray(48, input.length)\n };\n} //# sourceMappingURL=encoder.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2UvZGlzdC9zcmMvZW5jb2Rlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQWdEO0FBQ21EO0FBQzVGLE1BQU1LLGlCQUFpQixDQUFDQztJQUMzQixNQUFNQyxTQUFTSCw4REFBcUJBLENBQUM7SUFDckMsSUFBSUksU0FBU0QsT0FBT0UsTUFBTSxFQUFFRixPQUFPRyxVQUFVLEVBQUVILE9BQU9JLFVBQVUsRUFBRUMsU0FBUyxDQUFDLEdBQUdOLE9BQU87SUFDdEYsT0FBT0M7QUFDWCxFQUFFO0FBQ0ZGLGVBQWVRLEtBQUssR0FBRztBQUNoQixNQUFNQyxpQkFBaUIsQ0FBQ0M7SUFDM0IsSUFBSUEsS0FBS0MsTUFBTSxHQUFHLEdBQ2QsTUFBTUMsV0FBVztJQUNyQixJQUFJRixnQkFBZ0JHLFlBQVk7UUFDNUIsT0FBTyxJQUFJVixTQUFTTyxLQUFLTixNQUFNLEVBQUVNLEtBQUtMLFVBQVUsRUFBRUssS0FBS0osVUFBVSxFQUFFUSxTQUFTLENBQUMsR0FBRztJQUNwRjtJQUNBLE9BQU9KLEtBQUtJLFNBQVMsQ0FBQztBQUMxQixFQUFFO0FBQ0ZMLGVBQWVELEtBQUssR0FBRztBQUN2Qiw4RkFBOEY7QUFDdkYsU0FBU08sUUFBUUMsT0FBTztJQUMzQixP
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/errors.js":
|
||
|
|
/*!*****************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/errors.js ***!
|
||
|
|
\*****************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InvalidCryptoExchangeError: () => (/* binding */ InvalidCryptoExchangeError),\n/* harmony export */ UnexpectedPeerError: () => (/* binding */ UnexpectedPeerError)\n/* harmony export */ });\nclass UnexpectedPeerError extends Error {\n constructor(message = \"Unexpected Peer\"){\n super(message);\n this.code = UnexpectedPeerError.code;\n }\n static{\n this.code = \"ERR_UNEXPECTED_PEER\";\n }\n}\nclass InvalidCryptoExchangeError extends Error {\n constructor(message = \"Invalid crypto exchange\"){\n super(message);\n this.code = InvalidCryptoExchangeError.code;\n }\n static{\n this.code = \"ERR_INVALID_CRYPTO_EXCHANGE\";\n }\n} //# sourceMappingURL=errors.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2UvZGlzdC9zcmMvZXJyb3JzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQU8sTUFBTUEsNEJBQTRCQztJQUVyQ0MsWUFBWUMsVUFBVSxpQkFBaUIsQ0FBRTtRQUNyQyxLQUFLLENBQUNBO1FBQ04sSUFBSSxDQUFDQyxJQUFJLEdBQUdKLG9CQUFvQkksSUFBSTtJQUN4Qzs7YUFDT0EsT0FBTzs7QUFDbEI7QUFDTyxNQUFNQyxtQ0FBbUNKO0lBRTVDQyxZQUFZQyxVQUFVLHlCQUF5QixDQUFFO1FBQzdDLEtBQUssQ0FBQ0E7UUFDTixJQUFJLENBQUNDLElBQUksR0FBR0MsMkJBQTJCRCxJQUFJO0lBQy9DOzthQUNPQSxPQUFPOztBQUNsQixFQUNBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BjaGFpbnNhZmUvbGlicDJwLW5vaXNlL2Rpc3Qvc3JjL2Vycm9ycy5qcz82NmMyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBVbmV4cGVjdGVkUGVlckVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvZGU7XG4gICAgY29uc3RydWN0b3IobWVzc2FnZSA9ICdVbmV4cGVjdGVkIFBlZXInKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLmNvZGUgPSBVbmV4cGVjdGVkUGVlckVycm9yLmNvZGU7XG4gICAgfVxuICAgIHN0YXRpYyBjb2RlID0gJ0VSUl9VTkVYUEVDVEVEX1BFRVInO1xufVxuZXhwb3J0IGNsYXNzIEludmFsaWRDcnlwdG9FeGNoYW5nZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvZGU7XG4gICAgY29uc3RydWN0b3IobWVzc2FnZSA9ICdJbnZhbGlkIGNyeXB0byBleGNoYW5nZScpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIHRoaXMuY29kZSA9IEludmFsaWRDcnlwdG9FeGNoYW5nZUVycm9yLmNvZGU7XG4gICAgfVxuICAgIHN0YXRpYyBjb2RlID0gJ0VSUl9JTlZBTElEX0NSWVBUT19FWENIQU5HRSc7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lcnJvcnMuanMubWFwIl0sIm5hbWVzIjpbIlVuZXhwZWN0ZWRQZWVyRXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwibWVzc2FnZSIsImNvZGUiLCJJbnZhbGlkQ3J5cHRvRXhjaGFuZ2VFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/errors.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/handshake-xx.js":
|
||
|
|
/*!***********************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/handshake-xx.js ***!
|
||
|
|
\***********************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ XXHandshake: () => (/* binding */ XXHandshake)\n/* harmony export */ });\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* harmony import */ var _encoder_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./encoder.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/encoder.js\");\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./errors.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/errors.js\");\n/* harmony import */ var _handshakes_xx_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./handshakes/xx.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/handshakes/xx.js\");\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./logger.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/logger.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/utils.js\");\n\n\n\n\n\n\nclass XXHandshake {\n constructor(components, isInitiator, payload, prologue, crypto, staticKeypair, connection, remotePeer, handshake){\n this.remoteExtensions = {\n webtransportCerthashes: []\n };\n this.log = components.logger.forComponent(\"libp2p:noise:xxhandshake\");\n this.isInitiator = isInitiator;\n this.payload = payload;\n this.prologue = prologue;\n this.staticKeypair = staticKeypair;\n this.connection = connection;\n if (remotePeer) {\n this.remotePeer = remotePeer;\n }\n this.xx = handshake ?? new _handshakes_xx_js__WEBPACK_IMPORTED_MODULE_3__.XX(components, crypto);\n this.session = this.xx.initSession(this.isInitiator, this.prologue, this.staticKeypair);\n }\n // stage 0\n async propose() {\n (0,_logger_js__WEBPACK_IMPORTED_MODULE_4__.logLocalStaticKeys)(this.session.hs.s, this.log);\n if (this.isInitiator) {\n this.log.trace(\"Stage 0 - Initiator starting to send first message.\");\n const messageBuffer = this.xx.sendMessage(this.session, (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_0__.alloc)(0));\n await this.connection.write((0,_encoder_js__WEBPACK_IMPORTED_MODULE_1__.encode0)(messageBuffer));\n this.log.trace(\"Stage 0 - Initiator finished sending first message.\");\n (0,_logger_js__WEBPACK_IMPORTED_MODULE_4__.logLocalEphemeralKeys)(this.session.hs.e, this.log);\n } else {\n this.log.trace(\"Stage 0 - Responder waiting to receive first message...\");\n const receivedMessageBuffer = (0,_encoder_js__WEBPACK_IMPORTED_MODULE_1__.decode0)((await this.connection.read()).subarray());\n const { valid } = this.xx.recvMessage(this.session, receivedMessageBuffer);\n if (!valid) {\n throw new _errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidCryptoExchangeError(\"xx handshake stage 0 validation fail\");\n }\n this.log.trace(\"Stage 0 - Responder received first message.\");\n (0,_logger_js__WEBPACK_IMPORTED_MODULE_4__.logRemoteEphemeralKey)(this.session.hs.re, this.log);\n }\n }\n // stage 1\n async exchange() {\n if (this.isInitiator) {\n this.log.trace(\"Stage 1 - Initiator waiting to receive first message from responder...\");\n const receivedMessageBuffer = (0,_encoder_js__WEBPACK_IMPORTED_MODULE_1__.decode1)((await this.connection.read()).subarray());\n const { plaintext, valid } = this.xx.recvMessage(this.session, receivedMessageBuffer);\n if (!valid) {\n throw new _errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidCryptoExchangeError(\"xx handshake stage 1 vali
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/handshakes/abstract-handshake.js":
|
||
|
|
/*!****************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/handshakes/abstract-handshake.js ***!
|
||
|
|
\****************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbstractHandshake: () => (/* binding */ AbstractHandshake)\n/* harmony export */ });\n/* harmony import */ var uint8arraylist__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arraylist */ \"(ssr)/./node_modules/uint8arraylist/dist/src/index.js\");\n/* harmony import */ var uint8arrays__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays */ \"(ssr)/./node_modules/uint8arrays/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* harmony import */ var uint8arrays_equals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uint8arrays/equals */ \"(ssr)/./node_modules/uint8arrays/dist/src/equals.js\");\n/* harmony import */ var _nonce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../nonce.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/nonce.js\");\n\n\n\n\n\nclass AbstractHandshake {\n constructor(components, crypto){\n this.log = components.logger.forComponent(\"libp2p:noise:abstract-handshake\");\n this.crypto = crypto;\n }\n encryptWithAd(cs, ad, plaintext) {\n const e = this.encrypt(cs.k, cs.n, ad, plaintext);\n cs.n.increment();\n return e;\n }\n decryptWithAd(cs, ad, ciphertext, dst) {\n const { plaintext, valid } = this.decrypt(cs.k, cs.n, ad, ciphertext, dst);\n if (valid) cs.n.increment();\n return {\n plaintext,\n valid\n };\n }\n // Cipher state related\n hasKey(cs) {\n return !this.isEmptyKey(cs.k);\n }\n createEmptyKey() {\n return (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_2__.alloc)(32);\n }\n isEmptyKey(k) {\n const emptyKey = this.createEmptyKey();\n return (0,uint8arrays_equals__WEBPACK_IMPORTED_MODULE_3__.equals)(emptyKey, k);\n }\n encrypt(k, n, ad, plaintext) {\n n.assertValue();\n return this.crypto.chaCha20Poly1305Encrypt(plaintext, n.getBytes(), ad, k);\n }\n encryptAndHash(ss, plaintext) {\n let ciphertext;\n if (this.hasKey(ss.cs)) {\n ciphertext = this.encryptWithAd(ss.cs, ss.h, plaintext);\n } else {\n ciphertext = plaintext;\n }\n this.mixHash(ss, ciphertext);\n return ciphertext;\n }\n decrypt(k, n, ad, ciphertext, dst) {\n n.assertValue();\n const encryptedMessage = this.crypto.chaCha20Poly1305Decrypt(ciphertext, n.getBytes(), ad, k, dst);\n if (encryptedMessage) {\n return {\n plaintext: encryptedMessage,\n valid: true\n };\n } else {\n return {\n plaintext: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_2__.alloc)(0),\n valid: false\n };\n }\n }\n decryptAndHash(ss, ciphertext) {\n let plaintext;\n let valid = true;\n if (this.hasKey(ss.cs)) {\n ({ plaintext, valid } = this.decryptWithAd(ss.cs, ss.h, ciphertext));\n } else {\n plaintext = ciphertext;\n }\n this.mixHash(ss, ciphertext);\n return {\n plaintext,\n valid\n };\n }\n dh(privateKey, publicKey) {\n try {\n const derivedU8 = this.crypto.generateX25519SharedKey(privateKey, publicKey);\n if (derivedU8.length === 32) {\n return derivedU8;\n }\n return derivedU8.subarray(0, 32);\n } catch (e) {\n const err = e;\n this.log.error(\"error deriving shared key\", err);\n return (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_2__.alloc)(32);\n }\n }\n mixHash(ss, data) {\n ss.h = this.getHash(ss.h, data);\n }\n getHash(a, b) {\n const u = this.crypto.hashSHA256(new uint8arraylist
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/handshakes/xx.js":
|
||
|
|
/*!************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/handshakes/xx.js ***!
|
||
|
|
\************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ XX: () => (/* binding */ XX)\n/* harmony export */ });\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/utils.js\");\n/* harmony import */ var _abstract_handshake_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./abstract-handshake.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/handshakes/abstract-handshake.js\");\n\n\n\nclass XX extends _abstract_handshake_js__WEBPACK_IMPORTED_MODULE_2__.AbstractHandshake {\n initializeInitiator(prologue, s, rs, psk) {\n const name = \"Noise_XX_25519_ChaChaPoly_SHA256\";\n const ss = this.initializeSymmetric(name);\n this.mixHash(ss, prologue);\n const re = (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_0__.alloc)(32);\n return {\n ss,\n s,\n rs,\n psk,\n re\n };\n }\n initializeResponder(prologue, s, rs, psk) {\n const name = \"Noise_XX_25519_ChaChaPoly_SHA256\";\n const ss = this.initializeSymmetric(name);\n this.mixHash(ss, prologue);\n const re = (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_0__.alloc)(32);\n return {\n ss,\n s,\n rs,\n psk,\n re\n };\n }\n writeMessageA(hs, payload, e) {\n const ns = (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_0__.alloc)(0);\n if (e !== undefined) {\n hs.e = e;\n } else {\n hs.e = this.crypto.generateX25519KeyPair();\n }\n const ne = hs.e.publicKey;\n this.mixHash(hs.ss, ne);\n const ciphertext = this.encryptAndHash(hs.ss, payload);\n return {\n ne,\n ns,\n ciphertext\n };\n }\n writeMessageB(hs, payload) {\n hs.e = this.crypto.generateX25519KeyPair();\n const ne = hs.e.publicKey;\n this.mixHash(hs.ss, ne);\n this.mixKey(hs.ss, this.dh(hs.e.privateKey, hs.re));\n const spk = hs.s.publicKey;\n const ns = this.encryptAndHash(hs.ss, spk);\n this.mixKey(hs.ss, this.dh(hs.s.privateKey, hs.re));\n const ciphertext = this.encryptAndHash(hs.ss, payload);\n return {\n ne,\n ns,\n ciphertext\n };\n }\n writeMessageC(hs, payload) {\n const spk = hs.s.publicKey;\n const ns = this.encryptAndHash(hs.ss, spk);\n this.mixKey(hs.ss, this.dh(hs.s.privateKey, hs.re));\n const ciphertext = this.encryptAndHash(hs.ss, payload);\n const ne = this.createEmptyKey();\n const messageBuffer = {\n ne,\n ns,\n ciphertext\n };\n const { cs1, cs2 } = this.split(hs.ss);\n return {\n h: hs.ss.h,\n messageBuffer,\n cs1,\n cs2\n };\n }\n readMessageA(hs, message) {\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.isValidPublicKey)(message.ne)) {\n hs.re = message.ne;\n }\n this.mixHash(hs.ss, hs.re);\n return this.decryptAndHash(hs.ss, message.ciphertext);\n }\n readMessageB(hs, message) {\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.isValidPublicKey)(message.ne)) {\n hs.re = message.ne;\n }\n this.mixHash(hs.ss, hs.re);\n if (!hs.e) {\n throw new Error(\"Handshake state `e` param is missing.\");\n }\n this.mixKey(hs.ss, this.dh(hs.e.privateKey, hs.re));\n const { plaintext: ns, valid: valid1 } = this.decryptAndHash(hs.ss, message.ns);\n if (valid1 && (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.isValidPublicKey)(ns)) {\n
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/index.js":
|
||
|
|
/*!****************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/index.js ***!
|
||
|
|
\****************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ noise: () => (/* binding */ noise),\n/* harmony export */ pureJsCrypto: () => (/* reexport safe */ _crypto_js_js__WEBPACK_IMPORTED_MODULE_1__.pureJsCrypto)\n/* harmony export */ });\n/* harmony import */ var _noise_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./noise.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/noise.js\");\n/* harmony import */ var _crypto_js_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./crypto/js.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/crypto/js.js\");\n\n\nfunction noise(init = {}) {\n return (components)=>new _noise_js__WEBPACK_IMPORTED_MODULE_0__.Noise(components, init);\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2UvZGlzdC9zcmMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFtQztBQUNXO0FBQ3ZDLFNBQVNFLE1BQU1DLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLE9BQU8sQ0FBQ0MsYUFBZSxJQUFJSiw0Q0FBS0EsQ0FBQ0ksWUFBWUQ7QUFDakQsRUFDQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AY2hhaW5zYWZlL2xpYnAycC1ub2lzZS9kaXN0L3NyYy9pbmRleC5qcz9hMTE1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vaXNlIH0gZnJvbSAnLi9ub2lzZS5qcyc7XG5leHBvcnQgeyBwdXJlSnNDcnlwdG8gfSBmcm9tICcuL2NyeXB0by9qcy5qcyc7XG5leHBvcnQgZnVuY3Rpb24gbm9pc2UoaW5pdCA9IHt9KSB7XG4gICAgcmV0dXJuIChjb21wb25lbnRzKSA9PiBuZXcgTm9pc2UoY29tcG9uZW50cywgaW5pdCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiTm9pc2UiLCJwdXJlSnNDcnlwdG8iLCJub2lzZSIsImluaXQiLCJjb21wb25lbnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/index.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/logger.js":
|
||
|
|
/*!*****************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/logger.js ***!
|
||
|
|
\*****************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ logCipherState: () => (/* binding */ logCipherState),\n/* harmony export */ logLocalEphemeralKeys: () => (/* binding */ logLocalEphemeralKeys),\n/* harmony export */ logLocalStaticKeys: () => (/* binding */ logLocalStaticKeys),\n/* harmony export */ logRemoteEphemeralKey: () => (/* binding */ logRemoteEphemeralKey),\n/* harmony export */ logRemoteStaticKey: () => (/* binding */ logRemoteStaticKey)\n/* harmony export */ });\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/constants.js\");\n\n\nfunction logLocalStaticKeys(s, keyLogger) {\n if (!keyLogger.enabled || !_constants_js__WEBPACK_IMPORTED_MODULE_1__.DUMP_SESSION_KEYS) {\n return;\n }\n keyLogger(`LOCAL_STATIC_PUBLIC_KEY ${(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__.toString)(s.publicKey, \"hex\")}`);\n keyLogger(`LOCAL_STATIC_PRIVATE_KEY ${(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__.toString)(s.privateKey, \"hex\")}`);\n}\nfunction logLocalEphemeralKeys(e, keyLogger) {\n if (!keyLogger.enabled || !_constants_js__WEBPACK_IMPORTED_MODULE_1__.DUMP_SESSION_KEYS) {\n return;\n }\n if (e) {\n keyLogger(`LOCAL_PUBLIC_EPHEMERAL_KEY ${(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__.toString)(e.publicKey, \"hex\")}`);\n keyLogger(`LOCAL_PRIVATE_EPHEMERAL_KEY ${(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__.toString)(e.privateKey, \"hex\")}`);\n } else {\n keyLogger(\"Missing local ephemeral keys.\");\n }\n}\nfunction logRemoteStaticKey(rs, keyLogger) {\n if (!keyLogger.enabled || !_constants_js__WEBPACK_IMPORTED_MODULE_1__.DUMP_SESSION_KEYS) {\n return;\n }\n keyLogger(`REMOTE_STATIC_PUBLIC_KEY ${(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__.toString)(rs.subarray(), \"hex\")}`);\n}\nfunction logRemoteEphemeralKey(re, keyLogger) {\n if (!keyLogger.enabled || !_constants_js__WEBPACK_IMPORTED_MODULE_1__.DUMP_SESSION_KEYS) {\n return;\n }\n keyLogger(`REMOTE_EPHEMERAL_PUBLIC_KEY ${(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__.toString)(re.subarray(), \"hex\")}`);\n}\nfunction logCipherState(session, keyLogger) {\n if (!keyLogger.enabled || !_constants_js__WEBPACK_IMPORTED_MODULE_1__.DUMP_SESSION_KEYS) {\n return;\n }\n if (session.cs1 && session.cs2) {\n keyLogger(`CIPHER_STATE_1 ${session.cs1.n.getUint64()} ${(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__.toString)(session.cs1.k, \"hex\")}`);\n keyLogger(`CIPHER_STATE_2 ${session.cs2.n.getUint64()} ${(0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_0__.toString)(session.cs2.k, \"hex\")}`);\n } else {\n keyLogger(\"Missing cipher state.\");\n }\n} //# sourceMappingURL=logger.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2UvZGlzdC9zcmMvbG9nZ2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBdUU7QUFDcEI7QUFDNUMsU0FBU0csbUJBQW1CQyxDQUFDLEVBQUVDLFNBQVM7SUFDM0MsSUFBSSxDQUFDQSxVQUFVQyxPQUFPLElBQUksQ0FBQ0osNERBQWlCQSxFQUFFO1FBQzFDO0lBQ0o7SUFDQUcsVUFBVSxDQUFDLHdCQUF3QixFQUFFSiwrREFBa0JBLENBQUNHLEVBQUVHLFNBQVMsRUFBRSxPQUFPLENBQUM7SUFDN0VGLFVBQVUsQ0FBQyx5QkFBeUIsRUFBRUosK0RBQWtCQSxDQUFDRyxFQUFFSSxVQUFVLEVBQUUsT0FBTyxDQUFDO0FBQ25GO0FBQ08sU0FBU0Msc0JBQXNCQyxDQUFDLEVBQUVMLFNBQVM7SUFDOUMsSUFBSSxDQUFDQSxVQUFVQyxPQUFPLElBQUksQ0FBQ0osNERBQWlCQSxFQUFFO1FBQzFDO0lBQ0o7SUFDQSxJQUFJUSxHQUFHO1FBQ0hMLFVBQVUsQ0FBQywyQkFBMkIsRUFBRUosK0RBQWtCQSxDQUFDUyxFQUFFSCxTQUFTLEVBQUUsT0FBTyxDQUFDO1FBQ2hGRixVQUFVLENBQUMsNEJBQTRCLEVBQUVKLCtEQUFrQkEsQ0FBQ1MsRUFBRUYsVUFBVSxFQUFFLE9BQU8sQ0FBQztJQUN0R
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/metrics.js":
|
||
|
|
/*!******************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/metrics.js ***!
|
||
|
|
\******************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ registerMetrics: () => (/* binding */ registerMetrics)\n/* harmony export */ });\nfunction registerMetrics(metrics) {\n return {\n xxHandshakeSuccesses: metrics.registerCounter(\"libp2p_noise_xxhandshake_successes_total\", {\n help: \"Total count of noise xxHandshakes successes_\"\n }),\n xxHandshakeErrors: metrics.registerCounter(\"libp2p_noise_xxhandshake_error_total\", {\n help: \"Total count of noise xxHandshakes errors\"\n }),\n encryptedPackets: metrics.registerCounter(\"libp2p_noise_encrypted_packets_total\", {\n help: \"Total count of noise encrypted packets successfully\"\n }),\n decryptedPackets: metrics.registerCounter(\"libp2p_noise_decrypted_packets_total\", {\n help: \"Total count of noise decrypted packets\"\n }),\n decryptErrors: metrics.registerCounter(\"libp2p_noise_decrypt_errors_total\", {\n help: \"Total count of noise decrypt errors\"\n })\n };\n} //# sourceMappingURL=metrics.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2UvZGlzdC9zcmMvbWV0cmljcy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU8sU0FBU0EsZ0JBQWdCQyxPQUFPO0lBQ25DLE9BQU87UUFDSEMsc0JBQXNCRCxRQUFRRSxlQUFlLENBQUMsNENBQTRDO1lBQ3RGQyxNQUFNO1FBQ1Y7UUFDQUMsbUJBQW1CSixRQUFRRSxlQUFlLENBQUMsd0NBQXdDO1lBQy9FQyxNQUFNO1FBQ1Y7UUFDQUUsa0JBQWtCTCxRQUFRRSxlQUFlLENBQUMsd0NBQXdDO1lBQzlFQyxNQUFNO1FBQ1Y7UUFDQUcsa0JBQWtCTixRQUFRRSxlQUFlLENBQUMsd0NBQXdDO1lBQzlFQyxNQUFNO1FBQ1Y7UUFDQUksZUFBZVAsUUFBUUUsZUFBZSxDQUFDLHFDQUFxQztZQUN4RUMsTUFBTTtRQUNWO0lBQ0o7QUFDSixFQUNBLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BjaGFpbnNhZmUvbGlicDJwLW5vaXNlL2Rpc3Qvc3JjL21ldHJpY3MuanM/MzY4MyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJNZXRyaWNzKG1ldHJpY3MpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICB4eEhhbmRzaGFrZVN1Y2Nlc3NlczogbWV0cmljcy5yZWdpc3RlckNvdW50ZXIoJ2xpYnAycF9ub2lzZV94eGhhbmRzaGFrZV9zdWNjZXNzZXNfdG90YWwnLCB7XG4gICAgICAgICAgICBoZWxwOiAnVG90YWwgY291bnQgb2Ygbm9pc2UgeHhIYW5kc2hha2VzIHN1Y2Nlc3Nlc18nXG4gICAgICAgIH0pLFxuICAgICAgICB4eEhhbmRzaGFrZUVycm9yczogbWV0cmljcy5yZWdpc3RlckNvdW50ZXIoJ2xpYnAycF9ub2lzZV94eGhhbmRzaGFrZV9lcnJvcl90b3RhbCcsIHtcbiAgICAgICAgICAgIGhlbHA6ICdUb3RhbCBjb3VudCBvZiBub2lzZSB4eEhhbmRzaGFrZXMgZXJyb3JzJ1xuICAgICAgICB9KSxcbiAgICAgICAgZW5jcnlwdGVkUGFja2V0czogbWV0cmljcy5yZWdpc3RlckNvdW50ZXIoJ2xpYnAycF9ub2lzZV9lbmNyeXB0ZWRfcGFja2V0c190b3RhbCcsIHtcbiAgICAgICAgICAgIGhlbHA6ICdUb3RhbCBjb3VudCBvZiBub2lzZSBlbmNyeXB0ZWQgcGFja2V0cyBzdWNjZXNzZnVsbHknXG4gICAgICAgIH0pLFxuICAgICAgICBkZWNyeXB0ZWRQYWNrZXRzOiBtZXRyaWNzLnJlZ2lzdGVyQ291bnRlcignbGlicDJwX25vaXNlX2RlY3J5cHRlZF9wYWNrZXRzX3RvdGFsJywge1xuICAgICAgICAgICAgaGVscDogJ1RvdGFsIGNvdW50IG9mIG5vaXNlIGRlY3J5cHRlZCBwYWNrZXRzJ1xuICAgICAgICB9KSxcbiAgICAgICAgZGVjcnlwdEVycm9yczogbWV0cmljcy5yZWdpc3RlckNvdW50ZXIoJ2xpYnAycF9ub2lzZV9kZWNyeXB0X2Vycm9yc190b3RhbCcsIHtcbiAgICAgICAgICAgIGhlbHA6ICdUb3RhbCBjb3VudCBvZiBub2lzZSBkZWNyeXB0IGVycm9ycydcbiAgICAgICAgfSlcbiAgICB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWV0cmljcy5qcy5tYXAiXSwibmFtZXMiOlsicmVnaXN0ZXJNZXRyaWNzIiwibWV0cmljcyIsInh4SGFuZHNoYWtlU3VjY2Vzc2VzIiwicmVnaXN0ZXJDb3VudGVyIiwiaGVscCIsInh4SGFuZHNoYWtlRXJyb3JzIiwiZW5jcnlwdGVkUGFja2V0cyIsImRlY3J5cHRlZFBhY2tldHMiLCJkZWNyeXB0RXJyb3JzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/metrics.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/noise.js":
|
||
|
|
/*!****************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/noise.js ***!
|
||
|
|
\****************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Noise: () => (/* binding */ Noise)\n/* harmony export */ });\n/* harmony import */ var it_length_prefixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! it-length-prefixed */ \"(ssr)/./node_modules/it-length-prefixed/dist/src/index.js\");\n/* harmony import */ var it_length_prefixed_stream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! it-length-prefixed-stream */ \"(ssr)/./node_modules/it-length-prefixed-stream/dist/src/index.js\");\n/* harmony import */ var it_pair_duplex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! it-pair/duplex */ \"(ssr)/./node_modules/it-pair/dist/src/duplex.js\");\n/* harmony import */ var it_pipe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! it-pipe */ \"(ssr)/./node_modules/it-pipe/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./constants.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/constants.js\");\n/* harmony import */ var _crypto_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./crypto/index.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/crypto/index.js\");\n/* harmony import */ var _crypto_streaming_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./crypto/streaming.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/crypto/streaming.js\");\n/* harmony import */ var _encoder_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./encoder.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/encoder.js\");\n/* harmony import */ var _handshake_xx_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./handshake-xx.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/handshake-xx.js\");\n/* harmony import */ var _metrics_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./metrics.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/metrics.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/utils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nclass Noise {\n constructor(components, init = {}){\n this.protocol = \"/noise\";\n const { staticNoiseKey, extensions, crypto, prologueBytes } = init;\n const { metrics } = components;\n this.components = components;\n this.crypto = crypto ?? _crypto_index_js__WEBPACK_IMPORTED_MODULE_6__.defaultCrypto;\n this.extensions = extensions;\n this.metrics = metrics ? (0,_metrics_js__WEBPACK_IMPORTED_MODULE_10__.registerMetrics)(metrics) : undefined;\n if (staticNoiseKey) {\n // accepts x25519 private key of length 32\n this.staticKeys = this.crypto.generateX25519KeyPairFromSeed(staticNoiseKey);\n } else {\n this.staticKeys = this.crypto.generateX25519KeyPair();\n }\n this.prologue = prologueBytes ?? (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_4__.alloc)(0);\n }\n /**\n * Encrypt outgoing data to the remote party (handshake as initiator)\n *\n * @param {PeerId} localPeer - PeerId of the receiving peer\n * @param {Stream} connection - streaming iterable duplex that will be encrypted\n * @param {PeerId} remotePeer - PeerId of the remote peer. Used to validate the integrity of the remote peer.\n * @returns {Promise<SecuredConnection<Stream, NoiseExtensions>>}\n */ async secureOutbound(localPeer, connection, remotePeer) {\n const wrappedConnection = (0,it_length_prefixed_stream__WEBPACK_IMPORTED_MODULE_1__.lpStream)(connection, {\n lengthEncoder: _encoder_js__WEBPACK_IMPORTED_MODULE_8__.uint16BEEncode,\n lengthDecoder: _encoder_js__WEBPACK_IMPORTED_MODULE_8__.ui
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/nonce.js":
|
||
|
|
/*!****************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/nonce.js ***!
|
||
|
|
\****************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MAX_NONCE: () => (/* binding */ MAX_NONCE),\n/* harmony export */ MIN_NONCE: () => (/* binding */ MIN_NONCE),\n/* harmony export */ Nonce: () => (/* binding */ Nonce)\n/* harmony export */ });\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n\nconst MIN_NONCE = 0;\n// For performance reasons, the nonce is represented as a JS `number`\n// Although JS `number` can safely represent integers up to 2 ** 53 - 1, we choose to only use\n// 4 bytes to store the data for performance reason.\n// This is a slight deviation from the noise spec, which describes the max nonce as 2 ** 64 - 2\n// The effect is that this implementation will need a new handshake to be performed after fewer messages are exchanged than other implementations with full uint64 nonces.\n// this MAX_NONCE is still a large number of messages, so the practical effect of this is negligible.\nconst MAX_NONCE = 0xffffffff;\nconst ERR_MAX_NONCE = \"Cipherstate has reached maximum n, a new handshake must be performed\";\n/**\n * The nonce is an uint that's increased over time.\n * Maintaining different representations help improve performance.\n */ class Nonce {\n constructor(n = MIN_NONCE){\n this.n = n;\n this.bytes = (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_0__.alloc)(12);\n this.view = new DataView(this.bytes.buffer, this.bytes.byteOffset, this.bytes.byteLength);\n this.view.setUint32(4, n, true);\n }\n increment() {\n this.n++;\n // Even though we're treating the nonce as 8 bytes, RFC7539 specifies 12 bytes for a nonce.\n this.view.setUint32(4, this.n, true);\n }\n getBytes() {\n return this.bytes;\n }\n getUint64() {\n return this.n;\n }\n assertValue() {\n if (this.n > MAX_NONCE) {\n throw new Error(ERR_MAX_NONCE);\n }\n }\n} //# sourceMappingURL=nonce.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2UvZGlzdC9zcmMvbm9uY2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE2RDtBQUN0RCxNQUFNRSxZQUFZLEVBQUU7QUFDM0IscUVBQXFFO0FBQ3JFLDhGQUE4RjtBQUM5RixvREFBb0Q7QUFDcEQsK0ZBQStGO0FBQy9GLDBLQUEwSztBQUMxSyxxR0FBcUc7QUFDOUYsTUFBTUMsWUFBWSxXQUFXO0FBQ3BDLE1BQU1DLGdCQUFnQjtBQUN0Qjs7O0NBR0MsR0FDTSxNQUFNQztJQUlUQyxZQUFZQyxJQUFJTCxTQUFTLENBQUU7UUFDdkIsSUFBSSxDQUFDSyxDQUFDLEdBQUdBO1FBQ1QsSUFBSSxDQUFDQyxLQUFLLEdBQUdQLHdEQUFlQSxDQUFDO1FBQzdCLElBQUksQ0FBQ1EsSUFBSSxHQUFHLElBQUlDLFNBQVMsSUFBSSxDQUFDRixLQUFLLENBQUNHLE1BQU0sRUFBRSxJQUFJLENBQUNILEtBQUssQ0FBQ0ksVUFBVSxFQUFFLElBQUksQ0FBQ0osS0FBSyxDQUFDSyxVQUFVO1FBQ3hGLElBQUksQ0FBQ0osSUFBSSxDQUFDSyxTQUFTLENBQUMsR0FBR1AsR0FBRztJQUM5QjtJQUNBUSxZQUFZO1FBQ1IsSUFBSSxDQUFDUixDQUFDO1FBQ04sMkZBQTJGO1FBQzNGLElBQUksQ0FBQ0UsSUFBSSxDQUFDSyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUNQLENBQUMsRUFBRTtJQUNuQztJQUNBUyxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUNSLEtBQUs7SUFDckI7SUFDQVMsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDVixDQUFDO0lBQ2pCO0lBQ0FXLGNBQWM7UUFDVixJQUFJLElBQUksQ0FBQ1gsQ0FBQyxHQUFHSixXQUFXO1lBQ3BCLE1BQU0sSUFBSWdCLE1BQU1mO1FBQ3BCO0lBQ0o7QUFDSixFQUNBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BjaGFpbnNhZmUvbGlicDJwLW5vaXNlL2Rpc3Qvc3JjL25vbmNlLmpzP2EyNWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWxsb2MgYXMgdWludDhBcnJheUFsbG9jIH0gZnJvbSAndWludDhhcnJheXMvYWxsb2MnO1xuZXhwb3J0IGNvbnN0IE1JTl9OT05DRSA9IDA7XG4vLyBGb3IgcGVyZm9ybWFuY2UgcmVhc29ucywgdGhlIG5vbmNlIGlzIHJlcHJlc2VudGVkIGFzIGEgSlMgYG51bWJlcmBcbi8vIEFsdGhvdWdoIEpTIGBudW1iZXJgIGNhbiBzYWZlbHkgcmVwcmVzZW50IGludGVnZXJzIHVwIHRvIDIgKiogNTMgLSAxLCB3ZSBjaG9vc2UgdG8gb25seSB1c2Vcbi8vIDQgYnl0ZXMgdG8gc3RvcmUgdGhlIGRhdGEgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbi5cbi8vIFRoaXMgaXMgYSBzbGlnaHQgZGV2aWF0aW9uIGZyb20gdGhlIG5vaXNlIHNwZWMsIHdoaWNoIGRlc2NyaWJlcyB0aGUgbWF4IG5vbmNlIGFzIDIgKiogNjQgLSAyXG4vLyBUaGUgZWZmZ
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/proto/payload.js":
|
||
|
|
/*!************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/proto/payload.js ***!
|
||
|
|
\************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NoiseExtensions: () => (/* binding */ NoiseExtensions),\n/* harmony export */ NoiseHandshakePayload: () => (/* binding */ NoiseHandshakePayload)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* harmony import */ var uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/alloc */ \"(ssr)/./node_modules/uint8arrays/dist/src/alloc.node.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \n\nvar NoiseExtensions;\n(function(NoiseExtensions) {\n let _codec;\n NoiseExtensions.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.webtransportCerthashes != null) {\n for (const value of obj.webtransportCerthashes){\n w.uint32(10);\n w.bytes(value);\n }\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n webtransportCerthashes: []\n };\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n {\n obj.webtransportCerthashes.push(reader.bytes());\n break;\n }\n default:\n {\n reader.skipType(tag & 7);\n break;\n }\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n NoiseExtensions.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, NoiseExtensions.codec());\n };\n NoiseExtensions.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, NoiseExtensions.codec());\n };\n})(NoiseExtensions || (NoiseExtensions = {}));\nvar NoiseHandshakePayload;\n(function(NoiseHandshakePayload) {\n let _codec;\n NoiseHandshakePayload.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.identityKey != null && obj.identityKey.byteLength > 0) {\n w.uint32(10);\n w.bytes(obj.identityKey);\n }\n if (obj.identitySig != null && obj.identitySig.byteLength > 0) {\n w.uint32(18);\n w.bytes(obj.identitySig);\n }\n if (obj.extensions != null) {\n w.uint32(34);\n NoiseExtensions.codec().encode(obj.extensions, w);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {\n identityKey: (0,uint8arrays_alloc__WEBPACK_IMPORTED_MODULE_1__.alloc)(0),\n identitySig: (0,uin
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/utils.js":
|
||
|
|
/*!****************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/dist/src/utils.js ***!
|
||
|
|
\****************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createHandshakePayload: () => (/* binding */ createHandshakePayload),\n/* harmony export */ decodePayload: () => (/* binding */ decodePayload),\n/* harmony export */ getHandshakePayload: () => (/* binding */ getHandshakePayload),\n/* harmony export */ getPayload: () => (/* binding */ getPayload),\n/* harmony export */ getPeerIdFromPayload: () => (/* binding */ getPeerIdFromPayload),\n/* harmony export */ isValidPublicKey: () => (/* binding */ isValidPublicKey),\n/* harmony export */ signPayload: () => (/* binding */ signPayload),\n/* harmony export */ verifySignedPayload: () => (/* binding */ verifySignedPayload)\n/* harmony export */ });\n/* harmony import */ var _libp2p_crypto_keys__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @libp2p/crypto/keys */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/index.js\");\n/* harmony import */ var _libp2p_peer_id__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @libp2p/peer-id */ \"(ssr)/./node_modules/@libp2p/peer-id/dist/src/index.js\");\n/* harmony import */ var uint8arraylist__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arraylist */ \"(ssr)/./node_modules/uint8arraylist/dist/src/index.js\");\n/* harmony import */ var uint8arrays_concat__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uint8arrays/concat */ \"(ssr)/./node_modules/uint8arrays/dist/src/concat.node.js\");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n/* harmony import */ var _proto_payload_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./proto/payload.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/dist/src/proto/payload.js\");\n\n\n\n\n\n\nasync function getPayload(localPeer, staticPublicKey, extensions) {\n const signedPayload = await signPayload(localPeer, getHandshakePayload(staticPublicKey));\n if (localPeer.publicKey == null) {\n throw new Error(\"PublicKey was missing from local PeerId\");\n }\n return createHandshakePayload(localPeer.publicKey, signedPayload, extensions);\n}\nfunction createHandshakePayload(libp2pPublicKey, signedPayload, extensions) {\n return _proto_payload_js__WEBPACK_IMPORTED_MODULE_4__.NoiseHandshakePayload.encode({\n identityKey: libp2pPublicKey,\n identitySig: signedPayload,\n extensions: extensions ?? {\n webtransportCerthashes: []\n }\n }).subarray();\n}\nasync function signPayload(peerId, payload) {\n if (peerId.privateKey == null) {\n throw new Error(\"PrivateKey was missing from PeerId\");\n }\n const privateKey = await (0,_libp2p_crypto_keys__WEBPACK_IMPORTED_MODULE_0__.unmarshalPrivateKey)(peerId.privateKey);\n return privateKey.sign(payload);\n}\nasync function getPeerIdFromPayload(payload) {\n return (0,_libp2p_peer_id__WEBPACK_IMPORTED_MODULE_5__.peerIdFromKeys)(payload.identityKey);\n}\nfunction decodePayload(payload) {\n return _proto_payload_js__WEBPACK_IMPORTED_MODULE_4__.NoiseHandshakePayload.decode(payload);\n}\nfunction getHandshakePayload(publicKey) {\n const prefix = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_3__.fromString)(\"noise-libp2p-static-key:\");\n if (publicKey instanceof Uint8Array) {\n return (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_2__.concat)([\n prefix,\n publicKey\n ], prefix.length + publicKey.length);\n }\n publicKey.prepend(prefix);\n return publicKey;\n}\n/**\n * Verifies signed payload, throws on any irregularities.\n *\n * @param {bytes} noiseStaticKey - owner's noise static key\n * @param {bytes} payload - decoded payload\n * @param {PeerId} remotePeer - owner's libp2p peer ID\n * @returns {Promise<PeerId>} - peer ID of payload owner\n */ async function verifySignedPayload(noiseStaticKey, payloa
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/ciphers/aes-gcm.js":
|
||
|
|
/*!******************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/ciphers/aes-gcm.js ***!
|
||
|
|
\******************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ create: () => (/* binding */ create)\n/* harmony export */ });\n/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! crypto */ \"crypto\");\n/* harmony import */ var uint8arrays_concat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/concat */ \"(ssr)/./node_modules/uint8arrays/dist/src/concat.node.js\");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n\n\n\n// Based off of code from https://github.com/luke-park/SecureCompatibleEncryptionExamples\nfunction create(opts) {\n const algorithm = opts?.algorithm ?? \"aes-128-gcm\";\n const keyLength = opts?.keyLength ?? 16;\n const nonceLength = opts?.nonceLength ?? 12;\n const digest = opts?.digest ?? \"sha256\";\n const saltLength = opts?.saltLength ?? 16;\n const iterations = opts?.iterations ?? 32767;\n const algorithmTagLength = opts?.algorithmTagLength ?? 16;\n function encryptWithKey(data, key) {\n const nonce = crypto__WEBPACK_IMPORTED_MODULE_0__.randomBytes(nonceLength);\n // Create the cipher instance.\n const cipher = crypto__WEBPACK_IMPORTED_MODULE_0__.createCipheriv(algorithm, key, nonce);\n // Encrypt and prepend nonce.\n const ciphertext = (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_1__.concat)([\n cipher.update(data),\n cipher.final()\n ]);\n // @ts-expect-error getAuthTag is not a function\n return (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_1__.concat)([\n nonce,\n ciphertext,\n cipher.getAuthTag()\n ]);\n }\n /**\n * Uses the provided password to derive a pbkdf2 key. The key\n * will then be used to encrypt the data.\n */ async function encrypt(data, password) {\n // Generate a 128-bit salt using a CSPRNG.\n const salt = crypto__WEBPACK_IMPORTED_MODULE_0__.randomBytes(saltLength);\n if (typeof password === \"string\") {\n password = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(password);\n }\n // Derive a key using PBKDF2.\n const key = crypto__WEBPACK_IMPORTED_MODULE_0__.pbkdf2Sync(password, salt, iterations, keyLength, digest);\n // Encrypt and prepend salt.\n return (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_1__.concat)([\n salt,\n encryptWithKey(Uint8Array.from(data), key)\n ]);\n }\n /**\n * Decrypts the given cipher text with the provided key. The `key` should\n * be a cryptographically safe key and not a plaintext password. To use\n * a plaintext password, use `decrypt`. The options used to create\n * this decryption cipher must be the same as those used to create\n * the encryption cipher.\n */ function decryptWithKey(ciphertextAndNonce, key) {\n // Create Uint8Arrays of nonce, ciphertext and tag.\n const nonce = ciphertextAndNonce.subarray(0, nonceLength);\n const ciphertext = ciphertextAndNonce.subarray(nonceLength, ciphertextAndNonce.length - algorithmTagLength);\n const tag = ciphertextAndNonce.subarray(ciphertext.length + nonceLength);\n // Create the cipher instance.\n const cipher = crypto__WEBPACK_IMPORTED_MODULE_0__.createDecipheriv(algorithm, key, nonce);\n // Decrypt and return result.\n // @ts-expect-error getAuthTag is not a function\n cipher.setAuthTag(tag);\n return (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_1__.concat)([\n cipher.update(ciphertext),\n cipher.final()\n ]);\n }\n /**\n * Uses the provided password to derive a pbkdf2 key. The key\n * will then be used to decrypt the data. The options used to create\n * this decryption cipher must be the same as thos
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/hmac/index.js":
|
||
|
|
/*!*************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/hmac/index.js ***!
|
||
|
|
\*************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ create: () => (/* binding */ create)\n/* harmony export */ });\n/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! crypto */ \"crypto\");\n/* harmony import */ var _lengths_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lengths.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/hmac/lengths.js\");\n/**\n * @packageDocumentation\n *\n * Exposes an interface to the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198. An HMAC is a cryptographic hash that uses a key to sign a message. The receiver verifies the hash by recomputing it using the same key.\n *\n * @example\n *\n * ```js\n * import { create } from '@libp2p/hmac'\n *\n * const hash = 'SHA1' // 'SHA256' || 'SHA512'\n * const hmac = await crypto.hmac.create(hash, uint8ArrayFromString('secret'))\n * const sig = await hmac.digest(uint8ArrayFromString('hello world'))\n * console.log(sig)\n * ```\n */ \n\nasync function create(hash, secret) {\n const res = {\n async digest (data) {\n const hmac = crypto__WEBPACK_IMPORTED_MODULE_0__.createHmac(hash.toLowerCase(), secret);\n hmac.update(data);\n return hmac.digest();\n },\n length: _lengths_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"][hash]\n };\n return res;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL2htYWMvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7OztDQWVDLEdBQzJCO0FBQ087QUFDNUIsZUFBZUUsT0FBT0MsSUFBSSxFQUFFQyxNQUFNO0lBQ3JDLE1BQU1DLE1BQU07UUFDUixNQUFNQyxRQUFPQyxJQUFJO1lBQ2IsTUFBTUMsT0FBT1IsOENBQWlCLENBQUNHLEtBQUtPLFdBQVcsSUFBSU47WUFDbkRJLEtBQUtHLE1BQU0sQ0FBQ0o7WUFDWixPQUFPQyxLQUFLRixNQUFNO1FBQ3RCO1FBQ0FNLFFBQVFYLG1EQUFPLENBQUNFLEtBQUs7SUFDekI7SUFDQSxPQUFPRTtBQUNYLEVBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL2htYWMvaW5kZXguanM/YzI1YiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEV4cG9zZXMgYW4gaW50ZXJmYWNlIHRvIHRoZSBLZXllZC1IYXNoIE1lc3NhZ2UgQXV0aGVudGljYXRpb24gQ29kZSAoSE1BQykgYXMgZGVmaW5lZCBpbiBVLlMuIEZlZGVyYWwgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBTdGFuZGFyZHMgUHVibGljYXRpb24gMTk4LiBBbiBITUFDIGlzIGEgY3J5cHRvZ3JhcGhpYyBoYXNoIHRoYXQgdXNlcyBhIGtleSB0byBzaWduIGEgbWVzc2FnZS4gVGhlIHJlY2VpdmVyIHZlcmlmaWVzIHRoZSBoYXNoIGJ5IHJlY29tcHV0aW5nIGl0IHVzaW5nIHRoZSBzYW1lIGtleS5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBjcmVhdGUgfSBmcm9tICdAbGlicDJwL2htYWMnXG4gKlxuICogY29uc3QgaGFzaCA9ICdTSEExJyAvLyAnU0hBMjU2JyB8fCAnU0hBNTEyJ1xuICogY29uc3QgaG1hYyA9IGF3YWl0IGNyeXB0by5obWFjLmNyZWF0ZShoYXNoLCB1aW50OEFycmF5RnJvbVN0cmluZygnc2VjcmV0JykpXG4gKiBjb25zdCBzaWcgPSBhd2FpdCBobWFjLmRpZ2VzdCh1aW50OEFycmF5RnJvbVN0cmluZygnaGVsbG8gd29ybGQnKSlcbiAqIGNvbnNvbGUubG9nKHNpZylcbiAqIGBgYFxuICovXG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgbGVuZ3RocyBmcm9tICcuL2xlbmd0aHMuanMnO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZShoYXNoLCBzZWNyZXQpIHtcbiAgICBjb25zdCByZXMgPSB7XG4gICAgICAgIGFzeW5jIGRpZ2VzdChkYXRhKSB7XG4gICAgICAgICAgICBjb25zdCBobWFjID0gY3J5cHRvLmNyZWF0ZUhtYWMoaGFzaC50b0xvd2VyQ2FzZSgpLCBzZWNyZXQpO1xuICAgICAgICAgICAgaG1hYy51cGRhdGUoZGF0YSk7XG4gICAgICAgICAgICByZXR1cm4gaG1hYy5kaWdlc3QoKTtcbiAgICAgICAgfSxcbiAgICAgICAgbGVuZ3RoOiBsZW5ndGhzW2hhc2hdXG4gICAgfTtcbiAgICByZXR1cm4gcmVzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbImNyeXB0byIsImxlbmd0aHMiLCJjcmVhdGUiLCJoYXNoIiwic2VjcmV0IiwicmVzIiwiZGlnZXN0IiwiZGF0YSIsImhtYWMiLCJjcmVhdGVIbWFjIiwidG9Mb3dlckNhc2UiLCJ1cGRhdGUiLCJsZW5ndGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/hmac/lengths.js":
|
||
|
|
/*!***************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/hmac/lengths.js ***!
|
||
|
|
\***************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n SHA1: 20,\n SHA256: 32,\n SHA512: 64\n}); //# sourceMappingURL=lengths.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL2htYWMvbGVuZ3Rocy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWU7SUFDWEEsTUFBTTtJQUNOQyxRQUFRO0lBQ1JDLFFBQVE7QUFDWixDQUFDLEVBQUMsQ0FDRixtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AY2hhaW5zYWZlL2xpYnAycC1ub2lzZS9ub2RlX21vZHVsZXMvQGxpYnAycC9jcnlwdG8vZGlzdC9zcmMvaG1hYy9sZW5ndGhzLmpzPzNmNTIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICAgIFNIQTE6IDIwLFxuICAgIFNIQTI1NjogMzIsXG4gICAgU0hBNTEyOiA2NFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxlbmd0aHMuanMubWFwIl0sIm5hbWVzIjpbIlNIQTEiLCJTSEEyNTYiLCJTSEE1MTIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/hmac/lengths.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ecdh.js":
|
||
|
|
/*!************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ecdh.js ***!
|
||
|
|
\************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ generateEphmeralKeyPair: () => (/* binding */ generateEphmeralKeyPair)\n/* harmony export */ });\n/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! crypto */ \"crypto\");\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n\n\nconst curves = {\n \"P-256\": \"prime256v1\",\n \"P-384\": \"secp384r1\",\n \"P-521\": \"secp521r1\"\n};\nconst curveTypes = Object.keys(curves);\nconst names = curveTypes.join(\" / \");\n/**\n * Generates an ephemeral public key and returns a function that will compute the shared secret key.\n *\n * Focuses only on ECDH now, but can be made more general in the future.\n */ async function generateEphmeralKeyPair(curve) {\n if (curve !== \"P-256\" && curve !== \"P-384\" && curve !== \"P-521\") {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_1__.CodeError(`Unknown curve: ${curve}. Must be ${names}`, \"ERR_INVALID_CURVE\");\n }\n const ecdh = crypto__WEBPACK_IMPORTED_MODULE_0__.createECDH(curves[curve]);\n ecdh.generateKeys();\n return {\n key: ecdh.getPublicKey(),\n async genSharedKey (theirPub, forcePrivate) {\n if (forcePrivate != null) {\n ecdh.setPrivateKey(forcePrivate.private);\n }\n return ecdh.computeSecret(theirPub);\n }\n };\n} //# sourceMappingURL=ecdh.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL2tleXMvZWNkaC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBNEI7QUFDa0I7QUFDOUMsTUFBTUUsU0FBUztJQUNYLFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztBQUNiO0FBQ0EsTUFBTUMsYUFBYUMsT0FBT0MsSUFBSSxDQUFDSDtBQUMvQixNQUFNSSxRQUFRSCxXQUFXSSxJQUFJLENBQUM7QUFDOUI7Ozs7Q0FJQyxHQUNNLGVBQWVDLHdCQUF3QkMsS0FBSztJQUMvQyxJQUFJQSxVQUFVLFdBQVdBLFVBQVUsV0FBV0EsVUFBVSxTQUFTO1FBQzdELE1BQU0sSUFBSVIsd0RBQVNBLENBQUMsQ0FBQyxlQUFlLEVBQUVRLE1BQU0sVUFBVSxFQUFFSCxNQUFNLENBQUMsRUFBRTtJQUNyRTtJQUNBLE1BQU1JLE9BQU9WLDhDQUFpQixDQUFDRSxNQUFNLENBQUNPLE1BQU07SUFDNUNDLEtBQUtFLFlBQVk7SUFDakIsT0FBTztRQUNIQyxLQUFLSCxLQUFLSSxZQUFZO1FBQ3RCLE1BQU1DLGNBQWFDLFFBQVEsRUFBRUMsWUFBWTtZQUNyQyxJQUFJQSxnQkFBZ0IsTUFBTTtnQkFDdEJQLEtBQUtRLGFBQWEsQ0FBQ0QsYUFBYUUsT0FBTztZQUMzQztZQUNBLE9BQU9ULEtBQUtVLGFBQWEsQ0FBQ0o7UUFDOUI7SUFDSjtBQUNKLEVBQ0EsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL2tleXMvZWNkaC5qcz9mMzMzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IENvZGVFcnJvciB9IGZyb20gJ0BsaWJwMnAvaW50ZXJmYWNlJztcbmNvbnN0IGN1cnZlcyA9IHtcbiAgICAnUC0yNTYnOiAncHJpbWUyNTZ2MScsXG4gICAgJ1AtMzg0JzogJ3NlY3AzODRyMScsXG4gICAgJ1AtNTIxJzogJ3NlY3A1MjFyMSdcbn07XG5jb25zdCBjdXJ2ZVR5cGVzID0gT2JqZWN0LmtleXMoY3VydmVzKTtcbmNvbnN0IG5hbWVzID0gY3VydmVUeXBlcy5qb2luKCcgLyAnKTtcbi8qKlxuICogR2VuZXJhdGVzIGFuIGVwaGVtZXJhbCBwdWJsaWMga2V5IGFuZCByZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCB3aWxsIGNvbXB1dGUgdGhlIHNoYXJlZCBzZWNyZXQga2V5LlxuICpcbiAqIEZvY3VzZXMgb25seSBvbiBFQ0RIIG5vdywgYnV0IGNhbiBiZSBtYWRlIG1vcmUgZ2VuZXJhbCBpbiB0aGUgZnV0dXJlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVFcGhtZXJhbEtleVBhaXIoY3VydmUpIHtcbiAgICBpZiAoY3VydmUgIT09ICdQLTI1NicgJiYgY3VydmUgIT09ICdQLTM4NCcgJiYgY3VydmUgIT09ICdQLTUyMScpIHtcbiAgICAgICAgdGhyb3cgbmV3IENvZGVFcnJvcihgVW5rbm93biBjdXJ2ZTogJHtjdXJ2ZX0uIE11c3QgYmUgJHtuYW1lc31gLCAnRVJSX0lOVkFMSURfQ1VSVkUnKTtcbiAgICB9XG4gICAgY29uc3QgZWNkaCA9IGNyeXB0by5jcmVhdGVFQ0RIKGN1cnZlc1tjdXJ2ZV0pO1xuICAgIGVjZGguZ2VuZXJhdGVLZXlzKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiBlY2RoLmdldFB1YmxpY0tleSgpLFxuICAgICAgICBhc3luYyBnZW5TaGFyZWRLZXkodGhlaXJQdWIsIGZvcmNlUHJpdmF0ZSkge1xuICAgICAgICAgICAgaWYgKGZvcmNlUHJpdmF0ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgZWNkaC5zZXRQcml2YXRlS2V5KGZvcmNlU
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ed25519-class.js":
|
||
|
|
/*!*********************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ed25519-class.js ***!
|
||
|
|
\*********************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Ed25519PrivateKey: () => (/* binding */ Ed25519PrivateKey),\n/* harmony export */ Ed25519PublicKey: () => (/* binding */ Ed25519PublicKey),\n/* harmony export */ generateKeyPair: () => (/* binding */ generateKeyPair),\n/* harmony export */ generateKeyPairFromSeed: () => (/* binding */ generateKeyPairFromSeed),\n/* harmony export */ unmarshalEd25519PrivateKey: () => (/* binding */ unmarshalEd25519PrivateKey),\n/* harmony export */ unmarshalEd25519PublicKey: () => (/* binding */ unmarshalEd25519PublicKey)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var multiformats_bases_base58__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! multiformats/bases/base58 */ \"(ssr)/./node_modules/multiformats/dist/src/bases/base58.js\");\n/* harmony import */ var multiformats_hashes_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! multiformats/hashes/identity */ \"(ssr)/./node_modules/multiformats/dist/src/hashes/identity.js\");\n/* harmony import */ var multiformats_hashes_sha2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! multiformats/hashes/sha2 */ \"(ssr)/./node_modules/multiformats/dist/src/hashes/sha2.js\");\n/* harmony import */ var uint8arrays_equals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uint8arrays/equals */ \"(ssr)/./node_modules/uint8arrays/dist/src/equals.js\");\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/util.js\");\n/* harmony import */ var _ed25519_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ed25519.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ed25519.js\");\n/* harmony import */ var _exporter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./exporter.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/exporter.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./keys.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/keys.js\");\n\n\n\n\n\n\n\n\n\nclass Ed25519PublicKey {\n constructor(key){\n this._key = ensureKey(key, _ed25519_js__WEBPACK_IMPORTED_MODULE_5__.publicKeyLength);\n }\n verify(data, sig) {\n return _ed25519_js__WEBPACK_IMPORTED_MODULE_5__.hashAndVerify(this._key, sig, data);\n }\n marshal() {\n return this._key;\n }\n get bytes() {\n return _keys_js__WEBPACK_IMPORTED_MODULE_7__.PublicKey.encode({\n Type: _keys_js__WEBPACK_IMPORTED_MODULE_7__.KeyType.Ed25519,\n Data: this.marshal()\n }).subarray();\n }\n equals(key) {\n return (0,uint8arrays_equals__WEBPACK_IMPORTED_MODULE_3__.equals)(this.bytes, key.bytes);\n }\n hash() {\n const p = multiformats_hashes_sha2__WEBPACK_IMPORTED_MODULE_2__.sha256.digest(this.bytes);\n if ((0,_util_js__WEBPACK_IMPORTED_MODULE_4__.isPromise)(p)) {\n return p.then(({ bytes })=>bytes);\n }\n return p.bytes;\n }\n}\nclass Ed25519PrivateKey {\n // key - 64 byte Uint8Array containing private key\n // publicKey - 32 byte Uint8Array containing public key\n constructor(key, publicKey){\n this._key = ensureKey(key, _ed25519_js__WEBPACK_IMPORTED_MODULE_5__.privateKeyLength);\n this._publicKey = ensureKey(publicKey, _ed25519_js__WEBPACK_IMPORTED_MODULE_5__.publicKeyLength);\n }\n sign(message) {\n return _ed25519_js__WEBPACK_IMPORTED_MODULE_5__.hashAndSign(this._key, message);\n }\n get public() {\n return new Ed25519PublicKey(this._publicKey);\n }\n marshal() {\n re
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ed25519.js":
|
||
|
|
/*!***************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ed25519.js ***!
|
||
|
|
\***************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ generateKey: () => (/* binding */ generateKey),\n/* harmony export */ generateKeyFromSeed: () => (/* binding */ generateKeyFromSeed),\n/* harmony export */ hashAndSign: () => (/* binding */ hashAndSign),\n/* harmony export */ hashAndVerify: () => (/* binding */ hashAndVerify),\n/* harmony export */ privateKeyLength: () => (/* binding */ PRIVATE_KEY_BYTE_LENGTH),\n/* harmony export */ publicKeyLength: () => (/* binding */ PUBLIC_KEY_BYTE_LENGTH)\n/* harmony export */ });\n/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! crypto */ \"crypto\");\n/* harmony import */ var uint8arrays_concat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/concat */ \"(ssr)/./node_modules/uint8arrays/dist/src/concat.node.js\");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n\n\n\n\nconst keypair = crypto__WEBPACK_IMPORTED_MODULE_0__.generateKeyPairSync;\nconst PUBLIC_KEY_BYTE_LENGTH = 32;\nconst PRIVATE_KEY_BYTE_LENGTH = 64; // private key is actually 32 bytes but for historical reasons we concat private and public keys\nconst KEYS_BYTE_LENGTH = 32;\nconst SIGNATURE_BYTE_LENGTH = 64;\n\n\nfunction derivePublicKey(privateKey) {\n const keyObject = crypto__WEBPACK_IMPORTED_MODULE_0__.createPrivateKey({\n format: \"jwk\",\n key: {\n crv: \"Ed25519\",\n x: \"\",\n d: (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_3__.toString)(privateKey, \"base64url\"),\n kty: \"OKP\"\n }\n });\n const jwk = keyObject.export({\n format: \"jwk\"\n });\n if (jwk.x == null || jwk.x === \"\") {\n throw new Error(\"Could not export JWK public key\");\n }\n return (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(jwk.x, \"base64url\");\n}\nfunction generateKey() {\n const key = keypair(\"ed25519\", {\n publicKeyEncoding: {\n type: \"spki\",\n format: \"jwk\"\n },\n privateKeyEncoding: {\n type: \"pkcs8\",\n format: \"jwk\"\n }\n });\n // @ts-expect-error node types are missing jwk as a format\n const privateKeyRaw = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(key.privateKey.d, \"base64url\");\n // @ts-expect-error node types are missing jwk as a format\n const publicKeyRaw = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_2__.fromString)(key.privateKey.x, \"base64url\");\n return {\n privateKey: (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_1__.concat)([\n privateKeyRaw,\n publicKeyRaw\n ], privateKeyRaw.byteLength + publicKeyRaw.byteLength),\n publicKey: publicKeyRaw\n };\n}\n/**\n * Generate keypair from a 32 byte uint8array\n */ function generateKeyFromSeed(seed) {\n if (seed.length !== KEYS_BYTE_LENGTH) {\n throw new TypeError('\"seed\" must be 32 bytes in length.');\n } else if (!(seed instanceof Uint8Array)) {\n throw new TypeError('\"seed\" must be a node.js Buffer, or Uint8Array.');\n }\n // based on node forges algorithm, the seed is used directly as private key\n const publicKeyRaw = derivePublicKey(seed);\n return {\n privateKey: (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_1__.concat)([\n seed,\n publicKeyRaw\n ], seed.byteLength + publicKeyRaw.byteLength),\n publicKey: publicKeyRaw\n };\n}\nfunction hashAndSign(key, msg) {\n if (!(key instanceof Uint8Array)) {\n throw new TypeError('\"key\" must be a node.js Buffer, or Uint8Array.');\n
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ephemeral-keys.js":
|
||
|
|
/*!**********************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ephemeral-keys.js ***!
|
||
|
|
\**********************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ecdh_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ecdh.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ecdh.js\");\n\n/**\n * Generates an ephemeral public key and returns a function that will compute\n * the shared secret key.\n *\n * Focuses only on ECDH now, but can be made more general in the future.\n */ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_ecdh_js__WEBPACK_IMPORTED_MODULE_0__.generateEphmeralKeyPair); //# sourceMappingURL=ephemeral-keys.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL2tleXMvZXBoZW1lcmFsLWtleXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0Q7QUFDcEQ7Ozs7O0NBS0MsR0FDRCxpRUFBZUEsNkRBQXVCQSxFQUFDLENBQ3ZDLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL2ZsdXNoLW5vdGVzLy4vbm9kZV9tb2R1bGVzL0BjaGFpbnNhZmUvbGlicDJwLW5vaXNlL25vZGVfbW9kdWxlcy9AbGlicDJwL2NyeXB0by9kaXN0L3NyYy9rZXlzL2VwaGVtZXJhbC1rZXlzLmpzPzQ5NzYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2VuZXJhdGVFcGhtZXJhbEtleVBhaXIgfSBmcm9tICcuL2VjZGguanMnO1xuLyoqXG4gKiBHZW5lcmF0ZXMgYW4gZXBoZW1lcmFsIHB1YmxpYyBrZXkgYW5kIHJldHVybnMgYSBmdW5jdGlvbiB0aGF0IHdpbGwgY29tcHV0ZVxuICogdGhlIHNoYXJlZCBzZWNyZXQga2V5LlxuICpcbiAqIEZvY3VzZXMgb25seSBvbiBFQ0RIIG5vdywgYnV0IGNhbiBiZSBtYWRlIG1vcmUgZ2VuZXJhbCBpbiB0aGUgZnV0dXJlLlxuICovXG5leHBvcnQgZGVmYXVsdCBnZW5lcmF0ZUVwaG1lcmFsS2V5UGFpcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVwaGVtZXJhbC1rZXlzLmpzLm1hcCJdLCJuYW1lcyI6WyJnZW5lcmF0ZUVwaG1lcmFsS2V5UGFpciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ephemeral-keys.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/exporter.js":
|
||
|
|
/*!****************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/exporter.js ***!
|
||
|
|
\****************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ exporter: () => (/* binding */ exporter)\n/* harmony export */ });\n/* harmony import */ var multiformats_bases_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! multiformats/bases/base64 */ \"(ssr)/./node_modules/multiformats/dist/src/bases/base64.js\");\n/* harmony import */ var _ciphers_aes_gcm_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ciphers/aes-gcm.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/ciphers/aes-gcm.js\");\n\n\n/**\n * Exports the given PrivateKey as a base64 encoded string.\n * The PrivateKey is encrypted via a password derived PBKDF2 key\n * leveraging the aes-gcm cipher algorithm.\n */ async function exporter(privateKey, password) {\n const cipher = _ciphers_aes_gcm_js__WEBPACK_IMPORTED_MODULE_1__.create();\n const encryptedKey = await cipher.encrypt(privateKey, password);\n return multiformats_bases_base64__WEBPACK_IMPORTED_MODULE_0__.base64.encode(encryptedKey);\n} //# sourceMappingURL=exporter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL2tleXMvZXhwb3J0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQW1EO0FBQ0Y7QUFDakQ7Ozs7Q0FJQyxHQUNNLGVBQWVFLFNBQVNDLFVBQVUsRUFBRUMsUUFBUTtJQUMvQyxNQUFNQyxTQUFTSix1REFBYztJQUM3QixNQUFNTSxlQUFlLE1BQU1GLE9BQU9HLE9BQU8sQ0FBQ0wsWUFBWUM7SUFDdEQsT0FBT0osNkRBQU1BLENBQUNTLE1BQU0sQ0FBQ0Y7QUFDekIsRUFDQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AY2hhaW5zYWZlL2xpYnAycC1ub2lzZS9ub2RlX21vZHVsZXMvQGxpYnAycC9jcnlwdG8vZGlzdC9zcmMva2V5cy9leHBvcnRlci5qcz81M2VmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJhc2U2NCB9IGZyb20gJ211bHRpZm9ybWF0cy9iYXNlcy9iYXNlNjQnO1xuaW1wb3J0ICogYXMgY2lwaGVycyBmcm9tICcuLi9jaXBoZXJzL2Flcy1nY20uanMnO1xuLyoqXG4gKiBFeHBvcnRzIHRoZSBnaXZlbiBQcml2YXRlS2V5IGFzIGEgYmFzZTY0IGVuY29kZWQgc3RyaW5nLlxuICogVGhlIFByaXZhdGVLZXkgaXMgZW5jcnlwdGVkIHZpYSBhIHBhc3N3b3JkIGRlcml2ZWQgUEJLREYyIGtleVxuICogbGV2ZXJhZ2luZyB0aGUgYWVzLWdjbSBjaXBoZXIgYWxnb3JpdGhtLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhwb3J0ZXIocHJpdmF0ZUtleSwgcGFzc3dvcmQpIHtcbiAgICBjb25zdCBjaXBoZXIgPSBjaXBoZXJzLmNyZWF0ZSgpO1xuICAgIGNvbnN0IGVuY3J5cHRlZEtleSA9IGF3YWl0IGNpcGhlci5lbmNyeXB0KHByaXZhdGVLZXksIHBhc3N3b3JkKTtcbiAgICByZXR1cm4gYmFzZTY0LmVuY29kZShlbmNyeXB0ZWRLZXkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXhwb3J0ZXIuanMubWFwIl0sIm5hbWVzIjpbImJhc2U2NCIsImNpcGhlcnMiLCJleHBvcnRlciIsInByaXZhdGVLZXkiLCJwYXNzd29yZCIsImNpcGhlciIsImNyZWF0ZSIsImVuY3J5cHRlZEtleSIsImVuY3J5cHQiLCJlbmNvZGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/exporter.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/importer.js":
|
||
|
|
/*!****************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/importer.js ***!
|
||
|
|
\****************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ importer: () => (/* binding */ importer)\n/* harmony export */ });\n/* harmony import */ var multiformats_bases_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! multiformats/bases/base64 */ \"(ssr)/./node_modules/multiformats/dist/src/bases/base64.js\");\n/* harmony import */ var _ciphers_aes_gcm_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../ciphers/aes-gcm.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/ciphers/aes-gcm.js\");\n\n\n/**\n * Attempts to decrypt a base64 encoded PrivateKey string\n * with the given password. The privateKey must have been exported\n * using the same password and underlying cipher (aes-gcm)\n */ async function importer(privateKey, password) {\n const encryptedKey = multiformats_bases_base64__WEBPACK_IMPORTED_MODULE_0__.base64.decode(privateKey);\n const cipher = _ciphers_aes_gcm_js__WEBPACK_IMPORTED_MODULE_1__.create();\n return cipher.decrypt(encryptedKey, password);\n} //# sourceMappingURL=importer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL2tleXMvaW1wb3J0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQW1EO0FBQ0Y7QUFDakQ7Ozs7Q0FJQyxHQUNNLGVBQWVFLFNBQVNDLFVBQVUsRUFBRUMsUUFBUTtJQUMvQyxNQUFNQyxlQUFlTCw2REFBTUEsQ0FBQ00sTUFBTSxDQUFDSDtJQUNuQyxNQUFNSSxTQUFTTix1REFBYztJQUM3QixPQUFPTSxPQUFPRSxPQUFPLENBQUNKLGNBQWNEO0FBQ3hDLEVBQ0Esb0NBQW9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL2tleXMvaW1wb3J0ZXIuanM/YWVjYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYXNlNjQgfSBmcm9tICdtdWx0aWZvcm1hdHMvYmFzZXMvYmFzZTY0JztcbmltcG9ydCAqIGFzIGNpcGhlcnMgZnJvbSAnLi4vY2lwaGVycy9hZXMtZ2NtLmpzJztcbi8qKlxuICogQXR0ZW1wdHMgdG8gZGVjcnlwdCBhIGJhc2U2NCBlbmNvZGVkIFByaXZhdGVLZXkgc3RyaW5nXG4gKiB3aXRoIHRoZSBnaXZlbiBwYXNzd29yZC4gVGhlIHByaXZhdGVLZXkgbXVzdCBoYXZlIGJlZW4gZXhwb3J0ZWRcbiAqIHVzaW5nIHRoZSBzYW1lIHBhc3N3b3JkIGFuZCB1bmRlcmx5aW5nIGNpcGhlciAoYWVzLWdjbSlcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGltcG9ydGVyKHByaXZhdGVLZXksIHBhc3N3b3JkKSB7XG4gICAgY29uc3QgZW5jcnlwdGVkS2V5ID0gYmFzZTY0LmRlY29kZShwcml2YXRlS2V5KTtcbiAgICBjb25zdCBjaXBoZXIgPSBjaXBoZXJzLmNyZWF0ZSgpO1xuICAgIHJldHVybiBjaXBoZXIuZGVjcnlwdChlbmNyeXB0ZWRLZXksIHBhc3N3b3JkKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWltcG9ydGVyLmpzLm1hcCJdLCJuYW1lcyI6WyJiYXNlNjQiLCJjaXBoZXJzIiwiaW1wb3J0ZXIiLCJwcml2YXRlS2V5IiwicGFzc3dvcmQiLCJlbmNyeXB0ZWRLZXkiLCJkZWNvZGUiLCJjaXBoZXIiLCJjcmVhdGUiLCJkZWNyeXB0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/importer.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/index.js":
|
||
|
|
/*!*************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/index.js ***!
|
||
|
|
\*************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ generateEphemeralKeyPair: () => (/* reexport safe */ _ephemeral_keys_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n/* harmony export */ generateKeyPair: () => (/* binding */ generateKeyPair),\n/* harmony export */ generateKeyPairFromSeed: () => (/* binding */ generateKeyPairFromSeed),\n/* harmony export */ importKey: () => (/* binding */ importKey),\n/* harmony export */ keyStretcher: () => (/* reexport safe */ _key_stretcher_js__WEBPACK_IMPORTED_MODULE_7__.keyStretcher),\n/* harmony export */ keysPBM: () => (/* reexport module object */ _keys_js__WEBPACK_IMPORTED_MODULE_8__),\n/* harmony export */ marshalPrivateKey: () => (/* binding */ marshalPrivateKey),\n/* harmony export */ marshalPublicKey: () => (/* binding */ marshalPublicKey),\n/* harmony export */ supportedKeys: () => (/* binding */ supportedKeys),\n/* harmony export */ unmarshalPrivateKey: () => (/* binding */ unmarshalPrivateKey),\n/* harmony export */ unmarshalPublicKey: () => (/* binding */ unmarshalPublicKey)\n/* harmony export */ });\n/* harmony import */ var node_forge_lib_asn1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-forge/lib/asn1.js */ \"(ssr)/./node_modules/node-forge/lib/asn1.js\");\n/* harmony import */ var node_forge_lib_pbe_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! node-forge/lib/pbe.js */ \"(ssr)/./node_modules/node-forge/lib/pbe.js\");\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var node_forge_lib_forge_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! node-forge/lib/forge.js */ \"(ssr)/./node_modules/node-forge/lib/forge.js\");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n/* harmony import */ var _ed25519_class_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ed25519-class.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ed25519-class.js\");\n/* harmony import */ var _ephemeral_keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ephemeral-keys.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/ephemeral-keys.js\");\n/* harmony import */ var _importer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./importer.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/importer.js\");\n/* harmony import */ var _key_stretcher_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./key-stretcher.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/key-stretcher.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./keys.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/keys.js\");\n/* harmony import */ var _rsa_class_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./rsa-class.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/rsa-class.js\");\n/* harmony import */ var _secp256k1_class_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./secp256k1-class.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/secp256k1-class.js\");\n/**\n * @packageDocumentation\n *\n * **Supported Key Types**\n *\n * The {@link generateKeyPair}, {@link marshalPublicKey}, and {@link marshalPrivateKey} functions accept a string `type` argument.\n *\n * Currently the `'RSA'`, `'ed25519'`, and `secp256k1` types are supported, although ed25519 and secp256k1 keys support only signing and verification of messages.\n *\n * For encryption / decryption support, RSA key
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/key-stretcher.js":
|
||
|
|
/*!*********************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/key-stretcher.js ***!
|
||
|
|
\*********************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ keyStretcher: () => (/* binding */ keyStretcher)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var uint8arrays_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uint8arrays/concat */ \"(ssr)/./node_modules/uint8arrays/dist/src/concat.node.js\");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n/* harmony import */ var _hmac_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hmac/index.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/hmac/index.js\");\n\n\n\n\nconst cipherMap = {\n \"AES-128\": {\n ivSize: 16,\n keySize: 16\n },\n \"AES-256\": {\n ivSize: 16,\n keySize: 32\n },\n Blowfish: {\n ivSize: 8,\n keySize: 32\n }\n};\n/**\n * Generates a set of keys for each party by stretching the shared key.\n * (myIV, theirIV, myCipherKey, theirCipherKey, myMACKey, theirMACKey)\n */ async function keyStretcher(cipherType, hash, secret) {\n const cipher = cipherMap[cipherType];\n if (cipher == null) {\n const allowed = Object.keys(cipherMap).join(\" / \");\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.CodeError(`unknown cipher type '${cipherType}'. Must be ${allowed}`, \"ERR_INVALID_CIPHER_TYPE\");\n }\n if (hash == null) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_3__.CodeError(\"missing hash type\", \"ERR_MISSING_HASH_TYPE\");\n }\n const cipherKeySize = cipher.keySize;\n const ivSize = cipher.ivSize;\n const hmacKeySize = 20;\n const seed = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_1__.fromString)(\"key expansion\");\n const resultLength = 2 * (ivSize + cipherKeySize + hmacKeySize);\n const m = await _hmac_index_js__WEBPACK_IMPORTED_MODULE_2__.create(hash, secret);\n let a = await m.digest(seed);\n const result = [];\n let j = 0;\n while(j < resultLength){\n const b = await m.digest((0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_0__.concat)([\n a,\n seed\n ]));\n let todo = b.length;\n if (j + todo > resultLength) {\n todo = resultLength - j;\n }\n result.push(b);\n j += todo;\n a = await m.digest(a);\n }\n const half = resultLength / 2;\n const resultBuffer = (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_0__.concat)(result);\n const r1 = resultBuffer.subarray(0, half);\n const r2 = resultBuffer.subarray(half, resultLength);\n const createKey = (res)=>({\n iv: res.subarray(0, ivSize),\n cipherKey: res.subarray(ivSize, ivSize + cipherKeySize),\n macKey: res.subarray(ivSize + cipherKeySize)\n });\n return {\n k1: createKey(r1),\n k2: createKey(r2)\n };\n} //# sourceMappingURL=key-stretcher.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL2tleXMva2V5LXN0cmV0Y2hlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUE4QztBQUNrQjtBQUNhO0FBQ3BDO0FBQ3pDLE1BQU1NLFlBQVk7SUFDZCxXQUFXO1FBQ1BDLFFBQVE7UUFDUkMsU0FBUztJQUNiO0lBQ0EsV0FBVztRQUNQRCxRQUFRO1FBQ1JDLFNBQVM7SUFDYjtJQUNBQyxVQUFVO1FBQ05GLFFBQVE7UUFDUkMsU0FBUztJQUNiO0FBQ0o7QUFDQTs7O0NBR0MsR0FDTSxlQUFlRSxhQUFhQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsTUFBTTtJQUN2RCxNQUFNQyxTQUFTUixTQUFTLENBQUNLLFdBQVc7SUFDcEMsSUFBSUcsVUFBVSxNQUFNO1FBQ2hCLE1BQU1DLFVBQVVDLE9BQU9DLElBQUksQ0FBQ1gsV0FBV1ksSUFBSSxDQUFDO1FBQzVDLE1BQU0sSUFBSWxCLHdEQUFTQSxDQUFDLENBQUMscUJBQXFCLEVBQUVXLFdBQVcsV0
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/keys.js":
|
||
|
|
/*!************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/keys.js ***!
|
||
|
|
\************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ KeyType: () => (/* binding */ KeyType),\n/* harmony export */ PrivateKey: () => (/* binding */ PrivateKey),\n/* harmony export */ PublicKey: () => (/* binding */ PublicKey)\n/* harmony export */ });\n/* harmony import */ var protons_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! protons-runtime */ \"(ssr)/./node_modules/protons-runtime/dist/src/index.js\");\n/* eslint-disable import/export */ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ /* eslint-disable @typescript-eslint/no-empty-interface */ \nvar KeyType;\n(function(KeyType) {\n KeyType[\"RSA\"] = \"RSA\";\n KeyType[\"Ed25519\"] = \"Ed25519\";\n KeyType[\"Secp256k1\"] = \"Secp256k1\";\n})(KeyType || (KeyType = {}));\nvar __KeyTypeValues;\n(function(__KeyTypeValues) {\n __KeyTypeValues[__KeyTypeValues[\"RSA\"] = 0] = \"RSA\";\n __KeyTypeValues[__KeyTypeValues[\"Ed25519\"] = 1] = \"Ed25519\";\n __KeyTypeValues[__KeyTypeValues[\"Secp256k1\"] = 2] = \"Secp256k1\";\n})(__KeyTypeValues || (__KeyTypeValues = {}));\n(function(KeyType) {\n KeyType.codec = ()=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.enumeration)(__KeyTypeValues);\n };\n})(KeyType || (KeyType = {}));\nvar PublicKey;\n(function(PublicKey) {\n let _codec;\n PublicKey.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.Type != null) {\n w.uint32(8);\n KeyType.codec().encode(obj.Type, w);\n }\n if (obj.Data != null) {\n w.uint32(18);\n w.bytes(obj.Data);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {};\n const end = length == null ? reader.len : reader.pos + length;\n while(reader.pos < end){\n const tag = reader.uint32();\n switch(tag >>> 3){\n case 1:\n obj.Type = KeyType.codec().decode(reader);\n break;\n case 2:\n obj.Data = reader.bytes();\n break;\n default:\n reader.skipType(tag & 7);\n break;\n }\n }\n return obj;\n });\n }\n return _codec;\n };\n PublicKey.encode = (obj)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.encodeMessage)(obj, PublicKey.codec());\n };\n PublicKey.decode = (buf)=>{\n return (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.decodeMessage)(buf, PublicKey.codec());\n };\n})(PublicKey || (PublicKey = {}));\nvar PrivateKey;\n(function(PrivateKey) {\n let _codec;\n PrivateKey.codec = ()=>{\n if (_codec == null) {\n _codec = (0,protons_runtime__WEBPACK_IMPORTED_MODULE_0__.message)((obj, w, opts = {})=>{\n if (opts.lengthDelimited !== false) {\n w.fork();\n }\n if (obj.Type != null) {\n w.uint32(8);\n KeyType.codec().encode(obj.Type, w);\n }\n if (obj.Data != null) {\n w.uint32(18);\n w.bytes(obj.Data);\n }\n if (opts.lengthDelimited !== false) {\n w.ldelim();\n }\n }, (reader, length)=>{\n const obj = {};\
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/rsa-class.js":
|
||
|
|
/*!*****************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/rsa-class.js ***!
|
||
|
|
\*****************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MAX_KEY_SIZE: () => (/* binding */ MAX_KEY_SIZE),\n/* harmony export */ RsaPrivateKey: () => (/* binding */ RsaPrivateKey),\n/* harmony export */ RsaPublicKey: () => (/* binding */ RsaPublicKey),\n/* harmony export */ fromJwk: () => (/* binding */ fromJwk),\n/* harmony export */ generateKeyPair: () => (/* binding */ generateKeyPair),\n/* harmony export */ unmarshalRsaPrivateKey: () => (/* binding */ unmarshalRsaPrivateKey),\n/* harmony export */ unmarshalRsaPublicKey: () => (/* binding */ unmarshalRsaPublicKey)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var multiformats_hashes_sha2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! multiformats/hashes/sha2 */ \"(ssr)/./node_modules/multiformats/dist/src/hashes/sha2.js\");\n/* harmony import */ var node_forge_lib_forge_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! node-forge/lib/forge.js */ \"(ssr)/./node_modules/node-forge/lib/forge.js\");\n/* harmony import */ var uint8arrays_equals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uint8arrays/equals */ \"(ssr)/./node_modules/uint8arrays/dist/src/equals.js\");\n/* harmony import */ var node_forge_lib_sha512_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! node-forge/lib/sha512.js */ \"(ssr)/./node_modules/node-forge/lib/sha512.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/util.js\");\n/* harmony import */ var _exporter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./exporter.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/exporter.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./keys.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/keys.js\");\n/* harmony import */ var _rsa_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./rsa.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/rsa.js\");\n\n\n// @ts-expect-error types are missing\n\n\n\n\n\n\n\n\nconst MAX_KEY_SIZE = 8192;\nclass RsaPublicKey {\n constructor(key){\n this._key = key;\n }\n verify(data, sig) {\n return _rsa_js__WEBPACK_IMPORTED_MODULE_8__.hashAndVerify(this._key, sig, data);\n }\n marshal() {\n return _rsa_js__WEBPACK_IMPORTED_MODULE_8__.utils.jwkToPkix(this._key);\n }\n get bytes() {\n return _keys_js__WEBPACK_IMPORTED_MODULE_7__.PublicKey.encode({\n Type: _keys_js__WEBPACK_IMPORTED_MODULE_7__.KeyType.RSA,\n Data: this.marshal()\n }).subarray();\n }\n encrypt(bytes) {\n return _rsa_js__WEBPACK_IMPORTED_MODULE_8__.encrypt(this._key, bytes);\n }\n equals(key) {\n return (0,uint8arrays_equals__WEBPACK_IMPORTED_MODULE_2__.equals)(this.bytes, key.bytes);\n }\n hash() {\n const p = multiformats_hashes_sha2__WEBPACK_IMPORTED_MODULE_0__.sha256.digest(this.bytes);\n if ((0,_util_js__WEBPACK_IMPORTED_MODULE_5__.isPromise)(p)) {\n return p.then(({ bytes })=>bytes);\n }\n return p.bytes;\n }\n}\nclass RsaPrivateKey {\n constructor(key, publicKey){\n this._key = key;\n this._publicKey = publicKey;\n }\n genSecret() {\n return _rsa_js__WEBPACK_IMPORTED_MODULE_8__.getRandomValues(16);\n }\n sign(message) {\n return _rsa_js__WEBPACK_IMPORTED_MODULE_8__.hashAndSign(this._k
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/rsa-utils.js":
|
||
|
|
/*!*****************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/rsa-utils.js ***!
|
||
|
|
\*****************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ jwkToPkcs1: () => (/* binding */ jwkToPkcs1),\n/* harmony export */ jwkToPkix: () => (/* binding */ jwkToPkix),\n/* harmony export */ pkcs1ToJwk: () => (/* binding */ pkcs1ToJwk),\n/* harmony export */ pkixToJwk: () => (/* binding */ pkixToJwk)\n/* harmony export */ });\n/* harmony import */ var node_forge_lib_asn1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-forge/lib/asn1.js */ \"(ssr)/./node_modules/node-forge/lib/asn1.js\");\n/* harmony import */ var node_forge_lib_rsa_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! node-forge/lib/rsa.js */ \"(ssr)/./node_modules/node-forge/lib/rsa.js\");\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var node_forge_lib_forge_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! node-forge/lib/forge.js */ \"(ssr)/./node_modules/node-forge/lib/forge.js\");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../util.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/util.js\");\n\n\n\n// @ts-expect-error types are missing\n\n\n\n\n// Convert a PKCS#1 in ASN1 DER format to a JWK key\nfunction pkcs1ToJwk(bytes) {\n const asn1 = node_forge_lib_forge_js__WEBPACK_IMPORTED_MODULE_2__.asn1.fromDer((0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_4__.toString)(bytes, \"ascii\"));\n const privateKey = node_forge_lib_forge_js__WEBPACK_IMPORTED_MODULE_2__.pki.privateKeyFromAsn1(asn1);\n // https://tools.ietf.org/html/rfc7518#section-6.3.1\n return {\n kty: \"RSA\",\n n: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.bigIntegerToUintBase64url)(privateKey.n),\n e: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.bigIntegerToUintBase64url)(privateKey.e),\n d: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.bigIntegerToUintBase64url)(privateKey.d),\n p: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.bigIntegerToUintBase64url)(privateKey.p),\n q: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.bigIntegerToUintBase64url)(privateKey.q),\n dp: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.bigIntegerToUintBase64url)(privateKey.dP),\n dq: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.bigIntegerToUintBase64url)(privateKey.dQ),\n qi: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.bigIntegerToUintBase64url)(privateKey.qInv),\n alg: \"RS256\"\n };\n}\n// Convert a JWK key into PKCS#1 in ASN1 DER format\nfunction jwkToPkcs1(jwk) {\n if (jwk.n == null || jwk.e == null || jwk.d == null || jwk.p == null || jwk.q == null || jwk.dp == null || jwk.dq == null || jwk.qi == null) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_6__.CodeError(\"JWK was missing components\", \"ERR_INVALID_PARAMETERS\");\n }\n const asn1 = node_forge_lib_forge_js__WEBPACK_IMPORTED_MODULE_2__.pki.privateKeyToAsn1({\n n: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.base64urlToBigInteger)(jwk.n),\n e: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.base64urlToBigInteger)(jwk.e),\n d: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.base64urlToBigInteger)(jwk.d),\n p: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.base64urlToBigInteger)(jwk.p),\n q: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.base64urlToBigInteger)(jwk.q),\n dP: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.base64urlToBigInteger)(jwk.dp),\n dQ: (0,_util_js__WEBPACK_IMPORTED_MODULE_5__.base64urlToBigInteger
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/rsa.js":
|
||
|
|
/*!***********************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/rsa.js ***!
|
||
|
|
\***********************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decrypt: () => (/* binding */ decrypt),\n/* harmony export */ encrypt: () => (/* binding */ encrypt),\n/* harmony export */ generateKey: () => (/* binding */ generateKey),\n/* harmony export */ getRandomValues: () => (/* reexport safe */ _random_bytes_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n/* harmony export */ hashAndSign: () => (/* binding */ hashAndSign),\n/* harmony export */ hashAndVerify: () => (/* binding */ hashAndVerify),\n/* harmony export */ keySize: () => (/* binding */ keySize),\n/* harmony export */ unmarshalPrivateKey: () => (/* binding */ unmarshalPrivateKey),\n/* harmony export */ utils: () => (/* reexport module object */ _rsa_utils_js__WEBPACK_IMPORTED_MODULE_3__)\n/* harmony export */ });\n/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! crypto */ \"crypto\");\n/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! util */ \"util\");\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var _random_bytes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../random-bytes.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/random-bytes.js\");\n/* harmony import */ var _rsa_utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./rsa-utils.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/rsa-utils.js\");\n\n\n\n\n\nconst keypair = (0,util__WEBPACK_IMPORTED_MODULE_1__.promisify)(crypto__WEBPACK_IMPORTED_MODULE_0__.generateKeyPair);\n\nasync function generateKey(bits) {\n // @ts-expect-error node types are missing jwk as a format\n const key = await keypair(\"rsa\", {\n modulusLength: bits,\n publicKeyEncoding: {\n type: \"pkcs1\",\n format: \"jwk\"\n },\n privateKeyEncoding: {\n type: \"pkcs1\",\n format: \"jwk\"\n }\n });\n return {\n // @ts-expect-error node types are missing jwk as a format\n privateKey: key.privateKey,\n // @ts-expect-error node types are missing jwk as a format\n publicKey: key.publicKey\n };\n}\n// Takes a jwk key\nasync function unmarshalPrivateKey(key) {\n if (key == null) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_4__.CodeError(\"Missing key parameter\", \"ERR_MISSING_KEY\");\n }\n return {\n privateKey: key,\n publicKey: {\n kty: key.kty,\n n: key.n,\n e: key.e\n }\n };\n}\n\nasync function hashAndSign(key, msg) {\n const hash = crypto__WEBPACK_IMPORTED_MODULE_0__.createSign(\"RSA-SHA256\");\n if (msg instanceof Uint8Array) {\n hash.update(msg);\n } else {\n for (const buf of msg){\n hash.update(buf);\n }\n }\n // @ts-expect-error node types are missing jwk as a format\n return hash.sign({\n format: \"jwk\",\n key\n });\n}\nasync function hashAndVerify(key, sig, msg) {\n const hash = crypto__WEBPACK_IMPORTED_MODULE_0__.createVerify(\"RSA-SHA256\");\n if (msg instanceof Uint8Array) {\n hash.update(msg);\n } else {\n for (const buf of msg){\n hash.update(buf);\n }\n }\n // @ts-expect-error node types are missing jwk as a format\n return hash.verify({\n format: \"jwk\",\n key\n }, sig);\n}\nconst padding = crypto__WEBPACK_IMPORTED_MODULE_0__.constants.RSA_PKCS1_PADDING;\nfunction encrypt(key, bytes) {\n if (bytes instanceof Uint8Array) {\n // @ts-expect-error node types are missing jwk as a format\n return crypto__WEBPACK_IMPORTED_MODULE_0__.publicEncrypt({\n format: \"jwk\",\n key,\n padding\n }, bytes);\n }
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/secp256k1-class.js":
|
||
|
|
/*!***********************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/secp256k1-class.js ***!
|
||
|
|
\***********************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Secp256k1PrivateKey: () => (/* binding */ Secp256k1PrivateKey),\n/* harmony export */ Secp256k1PublicKey: () => (/* binding */ Secp256k1PublicKey),\n/* harmony export */ generateKeyPair: () => (/* binding */ generateKeyPair),\n/* harmony export */ unmarshalSecp256k1PrivateKey: () => (/* binding */ unmarshalSecp256k1PrivateKey),\n/* harmony export */ unmarshalSecp256k1PublicKey: () => (/* binding */ unmarshalSecp256k1PublicKey)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var multiformats_hashes_sha2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! multiformats/hashes/sha2 */ \"(ssr)/./node_modules/multiformats/dist/src/hashes/sha2.js\");\n/* harmony import */ var uint8arrays_equals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uint8arrays/equals */ \"(ssr)/./node_modules/uint8arrays/dist/src/equals.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/util.js\");\n/* harmony import */ var _exporter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./exporter.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/exporter.js\");\n/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./keys.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/keys.js\");\n/* harmony import */ var _secp256k1_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./secp256k1.js */ \"(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/secp256k1.js\");\n\n\n\n\n\n\n\n\nclass Secp256k1PublicKey {\n constructor(key){\n _secp256k1_js__WEBPACK_IMPORTED_MODULE_6__.validatePublicKey(key);\n this._key = key;\n }\n verify(data, sig) {\n return _secp256k1_js__WEBPACK_IMPORTED_MODULE_6__.hashAndVerify(this._key, sig, data);\n }\n marshal() {\n return _secp256k1_js__WEBPACK_IMPORTED_MODULE_6__.compressPublicKey(this._key);\n }\n get bytes() {\n return _keys_js__WEBPACK_IMPORTED_MODULE_5__.PublicKey.encode({\n Type: _keys_js__WEBPACK_IMPORTED_MODULE_5__.KeyType.Secp256k1,\n Data: this.marshal()\n }).subarray();\n }\n equals(key) {\n return (0,uint8arrays_equals__WEBPACK_IMPORTED_MODULE_1__.equals)(this.bytes, key.bytes);\n }\n async hash() {\n const p = multiformats_hashes_sha2__WEBPACK_IMPORTED_MODULE_0__.sha256.digest(this.bytes);\n let bytes;\n if ((0,_util_js__WEBPACK_IMPORTED_MODULE_3__.isPromise)(p)) {\n ({ bytes } = await p);\n } else {\n bytes = p.bytes;\n }\n return bytes;\n }\n}\nclass Secp256k1PrivateKey {\n constructor(key, publicKey){\n this._key = key;\n this._publicKey = publicKey ?? _secp256k1_js__WEBPACK_IMPORTED_MODULE_6__.computePublicKey(key);\n _secp256k1_js__WEBPACK_IMPORTED_MODULE_6__.validatePrivateKey(this._key);\n _secp256k1_js__WEBPACK_IMPORTED_MODULE_6__.validatePublicKey(this._publicKey);\n }\n sign(message) {\n return _secp256k1_js__WEBPACK_IMPORTED_MODULE_6__.hashAndSign(this._key, message);\n }\n get public() {\n return new Secp256k1PublicKey(this._publicKey);\n }\n marshal() {\n return this._key;\n }\n get bytes() {\n return _keys_js__WEBPACK_IMPORTED_MODULE_5__.PrivateKey.encode({\n Type: _keys_js__WEBPACK_IMPORTED_MODULE_5__.Ke
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/secp256k1.js":
|
||
|
|
/*!*****************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/keys/secp256k1.js ***!
|
||
|
|
\*****************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ compressPublicKey: () => (/* binding */ compressPublicKey),\n/* harmony export */ computePublicKey: () => (/* binding */ computePublicKey),\n/* harmony export */ decompressPublicKey: () => (/* binding */ decompressPublicKey),\n/* harmony export */ generateKey: () => (/* binding */ generateKey),\n/* harmony export */ hashAndSign: () => (/* binding */ hashAndSign),\n/* harmony export */ hashAndVerify: () => (/* binding */ hashAndVerify),\n/* harmony export */ privateKeyLength: () => (/* binding */ PRIVATE_KEY_BYTE_LENGTH),\n/* harmony export */ validatePrivateKey: () => (/* binding */ validatePrivateKey),\n/* harmony export */ validatePublicKey: () => (/* binding */ validatePublicKey)\n/* harmony export */ });\n/* harmony import */ var node_crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node:crypto */ \"node:crypto\");\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var _noble_curves_secp256k1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @noble/curves/secp256k1 */ \"(ssr)/./node_modules/@noble/curves/esm/secp256k1.js\");\n\n\n\nconst PRIVATE_KEY_BYTE_LENGTH = 32;\n\nfunction generateKey() {\n return _noble_curves_secp256k1__WEBPACK_IMPORTED_MODULE_1__.secp256k1.utils.randomPrivateKey();\n}\n/**\n * Hash and sign message with private key\n */ function hashAndSign(key, msg) {\n const hash = node_crypto__WEBPACK_IMPORTED_MODULE_0__.createHash(\"sha256\");\n if (msg instanceof Uint8Array) {\n hash.update(msg);\n } else {\n for (const buf of msg){\n hash.update(buf);\n }\n }\n const digest = hash.digest();\n try {\n const signature = _noble_curves_secp256k1__WEBPACK_IMPORTED_MODULE_1__.secp256k1.sign(digest, key);\n return signature.toDERRawBytes();\n } catch (err) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_2__.CodeError(String(err), \"ERR_INVALID_INPUT\");\n }\n}\n/**\n * Hash message and verify signature with public key\n */ function hashAndVerify(key, sig, msg) {\n const hash = node_crypto__WEBPACK_IMPORTED_MODULE_0__.createHash(\"sha256\");\n if (msg instanceof Uint8Array) {\n hash.update(msg);\n } else {\n for (const buf of msg){\n hash.update(buf);\n }\n }\n const digest = hash.digest();\n try {\n return _noble_curves_secp256k1__WEBPACK_IMPORTED_MODULE_1__.secp256k1.verify(sig, digest, key);\n } catch (err) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_2__.CodeError(String(err), \"ERR_INVALID_INPUT\");\n }\n}\nfunction compressPublicKey(key) {\n const point = _noble_curves_secp256k1__WEBPACK_IMPORTED_MODULE_1__.secp256k1.ProjectivePoint.fromHex(key).toRawBytes(true);\n return point;\n}\nfunction decompressPublicKey(key) {\n const point = _noble_curves_secp256k1__WEBPACK_IMPORTED_MODULE_1__.secp256k1.ProjectivePoint.fromHex(key).toRawBytes(false);\n return point;\n}\nfunction validatePrivateKey(key) {\n try {\n _noble_curves_secp256k1__WEBPACK_IMPORTED_MODULE_1__.secp256k1.getPublicKey(key, true);\n } catch (err) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_2__.CodeError(String(err), \"ERR_INVALID_PRIVATE_KEY\");\n }\n}\nfunction validatePublicKey(key) {\n try {\n _noble_curves_secp256k1__WEBPACK_IMPORTED_MODULE_1__.secp256k1.ProjectivePoint.fromHex(key);\n } catch (err) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_2__.CodeError(String(err), \"ERR_INVALID_PUBLIC_KEY\");\n }\n}\nfunction computePublicKey(privateKey) {\n try {\n return _noble_curves_secp256k1__WEBPACK_IMPORTED_MODULE_1__.secp256k1.getPublicKey(privateKey, true);\n } catch (err) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_2__.CodeError(Stri
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/random-bytes.js":
|
||
|
|
/*!***************************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/random-bytes.js ***!
|
||
|
|
\***************************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ randomBytes)\n/* harmony export */ });\n/* harmony import */ var _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @libp2p/interface */ \"(ssr)/./node_modules/@libp2p/interface/dist/src/errors.js\");\n/* harmony import */ var _noble_hashes_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @noble/hashes/utils */ \"(ssr)/./node_modules/@noble/hashes/esm/utils.js\");\n\n\n/**\n * Generates a Uint8Array with length `number` populated by random bytes\n */ function randomBytes(length) {\n if (isNaN(length) || length <= 0) {\n throw new _libp2p_interface__WEBPACK_IMPORTED_MODULE_0__.CodeError(\"random bytes length must be a Number bigger than 0\", \"ERR_INVALID_LENGTH\");\n }\n return (0,_noble_hashes_utils__WEBPACK_IMPORTED_MODULE_1__.randomBytes)(length);\n} //# sourceMappingURL=random-bytes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL3JhbmRvbS1ieXRlcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBOEM7QUFDYTtBQUMzRDs7Q0FFQyxHQUNjLFNBQVNDLFlBQVlFLE1BQU07SUFDdEMsSUFBSUMsTUFBTUQsV0FBV0EsVUFBVSxHQUFHO1FBQzlCLE1BQU0sSUFBSUgsd0RBQVNBLENBQUMsc0RBQXNEO0lBQzlFO0lBQ0EsT0FBT0UsZ0VBQUtBLENBQUNDO0FBQ2pCLEVBQ0Esd0NBQXdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL3JhbmRvbS1ieXRlcy5qcz8yYTYzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVFcnJvciB9IGZyb20gJ0BsaWJwMnAvaW50ZXJmYWNlJztcbmltcG9ydCB7IHJhbmRvbUJ5dGVzIGFzIHJhbmRCIH0gZnJvbSAnQG5vYmxlL2hhc2hlcy91dGlscyc7XG4vKipcbiAqIEdlbmVyYXRlcyBhIFVpbnQ4QXJyYXkgd2l0aCBsZW5ndGggYG51bWJlcmAgcG9wdWxhdGVkIGJ5IHJhbmRvbSBieXRlc1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByYW5kb21CeXRlcyhsZW5ndGgpIHtcbiAgICBpZiAoaXNOYU4obGVuZ3RoKSB8fCBsZW5ndGggPD0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgQ29kZUVycm9yKCdyYW5kb20gYnl0ZXMgbGVuZ3RoIG11c3QgYmUgYSBOdW1iZXIgYmlnZ2VyIHRoYW4gMCcsICdFUlJfSU5WQUxJRF9MRU5HVEgnKTtcbiAgICB9XG4gICAgcmV0dXJuIHJhbmRCKGxlbmd0aCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yYW5kb20tYnl0ZXMuanMubWFwIl0sIm5hbWVzIjpbIkNvZGVFcnJvciIsInJhbmRvbUJ5dGVzIiwicmFuZEIiLCJsZW5ndGgiLCJpc05hTiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/random-bytes.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/util.js":
|
||
|
|
/*!*******************************************************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/libp2p-noise/node_modules/@libp2p/crypto/dist/src/util.js ***!
|
||
|
|
\*******************************************************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ base64urlToBigInteger: () => (/* binding */ base64urlToBigInteger),\n/* harmony export */ base64urlToBuffer: () => (/* binding */ base64urlToBuffer),\n/* harmony export */ bigIntegerToUintBase64url: () => (/* binding */ bigIntegerToUintBase64url),\n/* harmony export */ isPromise: () => (/* binding */ isPromise)\n/* harmony export */ });\n/* harmony import */ var node_forge_lib_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node-forge/lib/util.js */ \"(ssr)/./node_modules/node-forge/lib/util.js\");\n/* harmony import */ var node_forge_lib_jsbn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! node-forge/lib/jsbn.js */ \"(ssr)/./node_modules/node-forge/lib/jsbn.js\");\n/* harmony import */ var node_forge_lib_forge_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! node-forge/lib/forge.js */ \"(ssr)/./node_modules/node-forge/lib/forge.js\");\n/* harmony import */ var uint8arrays_concat__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uint8arrays/concat */ \"(ssr)/./node_modules/uint8arrays/dist/src/concat.node.js\");\n/* harmony import */ var uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! uint8arrays/from-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/from-string.node.js\");\n/* harmony import */ var uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! uint8arrays/to-string */ \"(ssr)/./node_modules/uint8arrays/dist/src/to-string.node.js\");\n\n\n// @ts-expect-error types are missing\n\n\n\n\nfunction bigIntegerToUintBase64url(num, len) {\n // Call `.abs()` to convert to unsigned\n let buf = Uint8Array.from(num.abs().toByteArray()); // toByteArray converts to big endian\n // toByteArray() gives us back a signed array, which will include a leading 0\n // byte if the most significant bit of the number is 1:\n // https://docs.microsoft.com/en-us/windows/win32/seccertenroll/about-integer\n // Our number will always be positive so we should remove the leading padding.\n buf = buf[0] === 0 ? buf.subarray(1) : buf;\n if (len != null) {\n if (buf.length > len) throw new Error(\"byte array longer than desired length\");\n buf = (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_3__.concat)([\n new Uint8Array(len - buf.length),\n buf\n ]);\n }\n return (0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_5__.toString)(buf, \"base64url\");\n}\n// Convert a base64url encoded string to a BigInteger\nfunction base64urlToBigInteger(str) {\n const buf = base64urlToBuffer(str);\n return new node_forge_lib_forge_js__WEBPACK_IMPORTED_MODULE_2__.jsbn.BigInteger((0,uint8arrays_to_string__WEBPACK_IMPORTED_MODULE_5__.toString)(buf, \"base16\"), 16);\n}\nfunction base64urlToBuffer(str, len) {\n let buf = (0,uint8arrays_from_string__WEBPACK_IMPORTED_MODULE_4__.fromString)(str, \"base64urlpad\");\n if (len != null) {\n if (buf.length > len) throw new Error(\"byte array longer than desired length\");\n buf = (0,uint8arrays_concat__WEBPACK_IMPORTED_MODULE_3__.concat)([\n new Uint8Array(len - buf.length),\n buf\n ]);\n }\n return buf;\n}\nfunction isPromise(thing) {\n if (thing == null) {\n return false;\n }\n return typeof thing.then === \"function\" && typeof thing.catch === \"function\" && typeof thing.finally === \"function\";\n} //# sourceMappingURL=util.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9saWJwMnAtbm9pc2Uvbm9kZV9tb2R1bGVzL0BsaWJwMnAvY3J5cHRvL2Rpc3Qvc3JjL3V0aWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFnQztBQUNBO0FBQ2hDLHFDQUFxQztBQUNPO0FBQ29CO0FBQ2E7QUFDTjtBQUNoRSxTQUFTTywwQkFBMEJDLEdBQUcsRUFBRUMsR0FBRztJQUM5Qyx1Q0FBdUM7SUFDdkMsSUFBSUMsTUFBTUMsV0FBV0MsSUFBSSxDQUFDSixJQUFJSyxHQUFHLEdBQUdDLFdBQVcsS0FBSyxxQ0FBcUM7SUFDekYsNkVBQTZFO0lBQzd
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/netmask/dist/src/cidr.js":
|
||
|
|
/*!**********************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/netmask/dist/src/cidr.js ***!
|
||
|
|
\**********************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cidrMask: () => (/* binding */ cidrMask),\n/* harmony export */ parseCidr: () => (/* binding */ parseCidr)\n/* harmony export */ });\n/* harmony import */ var _chainsafe_is_ip_parse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @chainsafe/is-ip/parse */ \"(ssr)/./node_modules/@chainsafe/is-ip/lib/parse.js\");\n/* harmony import */ var _ip_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ip.js */ \"(ssr)/./node_modules/@chainsafe/netmask/dist/src/ip.js\");\n\n\nfunction parseCidr(s) {\n const [address, maskString] = s.split(\"/\");\n if (!address || !maskString) throw new Error(\"Failed to parse given CIDR: \" + s);\n let ipLength = _ip_js__WEBPACK_IMPORTED_MODULE_1__.IPv4Len;\n let ip = (0,_chainsafe_is_ip_parse__WEBPACK_IMPORTED_MODULE_0__.parseIPv4)(address);\n if (ip == null) {\n ipLength = _ip_js__WEBPACK_IMPORTED_MODULE_1__.IPv6Len;\n ip = (0,_chainsafe_is_ip_parse__WEBPACK_IMPORTED_MODULE_0__.parseIPv6)(address);\n if (ip == null) throw new Error(\"Failed to parse given CIDR: \" + s);\n }\n const m = parseInt(maskString, 10);\n if (Number.isNaN(m) || String(m).length !== maskString.length || m < 0 || m > ipLength * 8) {\n throw new Error(\"Failed to parse given CIDR: \" + s);\n }\n const mask = cidrMask(m, 8 * ipLength);\n return {\n network: (0,_ip_js__WEBPACK_IMPORTED_MODULE_1__.maskIp)(ip, mask),\n mask\n };\n}\nfunction cidrMask(ones, bits) {\n if (bits !== 8 * _ip_js__WEBPACK_IMPORTED_MODULE_1__.IPv4Len && bits !== 8 * _ip_js__WEBPACK_IMPORTED_MODULE_1__.IPv6Len) throw new Error(\"Invalid CIDR mask\");\n if (ones < 0 || ones > bits) throw new Error(\"Invalid CIDR mask\");\n const l = bits / 8;\n const m = new Uint8Array(l);\n for(let i = 0; i < l; i++){\n if (ones >= 8) {\n m[i] = 0xff;\n ones -= 8;\n continue;\n }\n m[i] = 255 - (0xff >> ones);\n ones = 0;\n }\n return m;\n} //# sourceMappingURL=cidr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9uZXRtYXNrL2Rpc3Qvc3JjL2NpZHIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUE4RDtBQUNYO0FBQzVDLFNBQVNLLFVBQVVDLENBQUM7SUFDdkIsTUFBTSxDQUFDQyxTQUFTQyxXQUFXLEdBQUdGLEVBQUVHLEtBQUssQ0FBQztJQUN0QyxJQUFJLENBQUNGLFdBQVcsQ0FBQ0MsWUFDYixNQUFNLElBQUlFLE1BQU0saUNBQWlDSjtJQUNyRCxJQUFJSyxXQUFXVCwyQ0FBT0E7SUFDdEIsSUFBSVUsS0FBS1osaUVBQVNBLENBQUNPO0lBQ25CLElBQUlLLE1BQU0sTUFBTTtRQUNaRCxXQUFXUiwyQ0FBT0E7UUFDbEJTLEtBQUtYLGlFQUFTQSxDQUFDTTtRQUNmLElBQUlLLE1BQU0sTUFDTixNQUFNLElBQUlGLE1BQU0saUNBQWlDSjtJQUN6RDtJQUNBLE1BQU1PLElBQUlDLFNBQVNOLFlBQVk7SUFDL0IsSUFBSU8sT0FBT0MsS0FBSyxDQUFDSCxNQUNiSSxPQUFPSixHQUFHSyxNQUFNLEtBQUtWLFdBQVdVLE1BQU0sSUFDdENMLElBQUksS0FDSkEsSUFBSUYsV0FBVyxHQUFHO1FBQ2xCLE1BQU0sSUFBSUQsTUFBTSxpQ0FBaUNKO0lBQ3JEO0lBQ0EsTUFBTWEsT0FBT0MsU0FBU1AsR0FBRyxJQUFJRjtJQUM3QixPQUFPO1FBQ0hVLFNBQVNqQiw4Q0FBTUEsQ0FBQ1EsSUFBSU87UUFDcEJBO0lBQ0o7QUFDSjtBQUNPLFNBQVNDLFNBQVNFLElBQUksRUFBRUMsSUFBSTtJQUMvQixJQUFJQSxTQUFTLElBQUlyQiwyQ0FBT0EsSUFBSXFCLFNBQVMsSUFBSXBCLDJDQUFPQSxFQUM1QyxNQUFNLElBQUlPLE1BQU07SUFDcEIsSUFBSVksT0FBTyxLQUFLQSxPQUFPQyxNQUNuQixNQUFNLElBQUliLE1BQU07SUFDcEIsTUFBTWMsSUFBSUQsT0FBTztJQUNqQixNQUFNVixJQUFJLElBQUlZLFdBQVdEO0lBQ3pCLElBQUssSUFBSUUsSUFBSSxHQUFHQSxJQUFJRixHQUFHRSxJQUFLO1FBQ3hCLElBQUlKLFFBQVEsR0FBRztZQUNYVCxDQUFDLENBQUNhLEVBQUUsR0FBRztZQUNQSixRQUFRO1lBQ1I7UUFDSjtRQUNBVCxDQUFDLENBQUNhLEVBQUUsR0FBRyxNQUFPLFNBQVFKLElBQUc7UUFDekJBLE9BQU87SUFDWDtJQUNBLE9BQU9UO0FBQ1gsRUFDQSxnQ0FBZ0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9mbHVzaC1ub3Rlcy8uL25vZGVfbW9kdWxlcy9AY2hhaW5zYWZlL25ldG1hc2svZGlzdC9zcmMvY2lkci5qcz8zM2MzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlSVB2NCwgcGFyc2VJUHY2IH0gZnJvbSBcIkBjaGFpbnNhZmUvaXMtaXAvcGFyc2VcIjtcbmltcG9ydCB7IElQdjRMZW4sIElQdjZMZW4sIG1hc2tJcCB9IGZyb20gXCIuL2lwLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDaWRyKHMpIHtcbiAgICBjb25zdCBbYWRkcmVz
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/netmask/dist/src/index.js":
|
||
|
|
/*!***********************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/netmask/dist/src/index.js ***!
|
||
|
|
\***********************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IpNet: () => (/* reexport safe */ _ipnet_js__WEBPACK_IMPORTED_MODULE_0__.IpNet),\n/* harmony export */ cidrContains: () => (/* binding */ cidrContains),\n/* harmony export */ iPv4FromIPv6: () => (/* reexport safe */ _ip_js__WEBPACK_IMPORTED_MODULE_2__.iPv4FromIPv6),\n/* harmony export */ ipToString: () => (/* reexport safe */ _util_js__WEBPACK_IMPORTED_MODULE_1__.ipToString),\n/* harmony export */ isIPv4mappedIPv6: () => (/* reexport safe */ _ip_js__WEBPACK_IMPORTED_MODULE_2__.isIPv4mappedIPv6),\n/* harmony export */ maskIp: () => (/* reexport safe */ _ip_js__WEBPACK_IMPORTED_MODULE_2__.maskIp),\n/* harmony export */ parseCidr: () => (/* reexport safe */ _cidr_js__WEBPACK_IMPORTED_MODULE_3__.parseCidr)\n/* harmony export */ });\n/* harmony import */ var _ipnet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ipnet.js */ \"(ssr)/./node_modules/@chainsafe/netmask/dist/src/ipnet.js\");\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util.js */ \"(ssr)/./node_modules/@chainsafe/netmask/dist/src/util.js\");\n/* harmony import */ var _ip_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ip.js */ \"(ssr)/./node_modules/@chainsafe/netmask/dist/src/ip.js\");\n/* harmony import */ var _cidr_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cidr.js */ \"(ssr)/./node_modules/@chainsafe/netmask/dist/src/cidr.js\");\n\n\n\n\n\n/**\n * Checks if cidr block contains ip address\n * @param cidr ipv4 or ipv6 formatted cidr . Example 198.51.100.14/24 or 2001:db8::/48\n * @param ip ipv4 or ipv6 address Example 198.51.100.14 or 2001:db8::\n *\n */ function cidrContains(cidr, ip) {\n const ipnet = new _ipnet_js__WEBPACK_IMPORTED_MODULE_0__.IpNet(cidr);\n return ipnet.contains(ip);\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9uZXRtYXNrL2Rpc3Qvc3JjL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQW1DO0FBQ0k7QUFDMEI7QUFDOUI7QUFDRztBQUN0Qzs7Ozs7Q0FLQyxHQUNNLFNBQVNNLGFBQWFDLElBQUksRUFBRUMsRUFBRTtJQUNqQyxNQUFNQyxRQUFRLElBQUlULDRDQUFLQSxDQUFDTztJQUN4QixPQUFPRSxNQUFNQyxRQUFRLENBQUNGO0FBQzFCLEVBQ0EsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmx1c2gtbm90ZXMvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9uZXRtYXNrL2Rpc3Qvc3JjL2luZGV4LmpzPzU2MTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSXBOZXQgfSBmcm9tIFwiLi9pcG5ldC5qc1wiO1xuZXhwb3J0IHsgaXBUb1N0cmluZyB9IGZyb20gXCIuL3V0aWwuanNcIjtcbmV4cG9ydCB7IG1hc2tJcCwgaVB2NEZyb21JUHY2LCBpc0lQdjRtYXBwZWRJUHY2IH0gZnJvbSBcIi4vaXAuanNcIjtcbmV4cG9ydCB7IElwTmV0IH0gZnJvbSBcIi4vaXBuZXQuanNcIjtcbmV4cG9ydCB7IHBhcnNlQ2lkciB9IGZyb20gXCIuL2NpZHIuanNcIjtcbi8qKlxuICogQ2hlY2tzIGlmIGNpZHIgYmxvY2sgY29udGFpbnMgaXAgYWRkcmVzc1xuICogQHBhcmFtIGNpZHIgaXB2NCBvciBpcHY2IGZvcm1hdHRlZCBjaWRyIC4gRXhhbXBsZSAxOTguNTEuMTAwLjE0LzI0IG9yIDIwMDE6ZGI4OjovNDhcbiAqIEBwYXJhbSBpcCBpcHY0IG9yIGlwdjYgYWRkcmVzcyBFeGFtcGxlIDE5OC41MS4xMDAuMTQgb3IgMjAwMTpkYjg6OlxuICpcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNpZHJDb250YWlucyhjaWRyLCBpcCkge1xuICAgIGNvbnN0IGlwbmV0ID0gbmV3IElwTmV0KGNpZHIpO1xuICAgIHJldHVybiBpcG5ldC5jb250YWlucyhpcCk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiSXBOZXQiLCJpcFRvU3RyaW5nIiwibWFza0lwIiwiaVB2NEZyb21JUHY2IiwiaXNJUHY0bWFwcGVkSVB2NiIsInBhcnNlQ2lkciIsImNpZHJDb250YWlucyIsImNpZHIiLCJpcCIsImlwbmV0IiwiY29udGFpbnMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@chainsafe/netmask/dist/src/index.js\n");
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/netmask/dist/src/ip.js":
|
||
|
|
/*!********************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/netmask/dist/src/ip.js ***!
|
||
|
|
\********************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IPv4Len: () => (/* binding */ IPv4Len),\n/* harmony export */ IPv6Len: () => (/* binding */ IPv6Len),\n/* harmony export */ containsIp: () => (/* binding */ containsIp),\n/* harmony export */ iPv4FromIPv6: () => (/* binding */ iPv4FromIPv6),\n/* harmony export */ ipv4Prefix: () => (/* binding */ ipv4Prefix),\n/* harmony export */ isIPv4mappedIPv6: () => (/* binding */ isIPv4mappedIPv6),\n/* harmony export */ maskIp: () => (/* binding */ maskIp),\n/* harmony export */ maxIPv6Octet: () => (/* binding */ maxIPv6Octet)\n/* harmony export */ });\n/* harmony import */ var _chainsafe_is_ip_parse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @chainsafe/is-ip/parse */ \"(ssr)/./node_modules/@chainsafe/is-ip/lib/parse.js\");\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util.js */ \"(ssr)/./node_modules/@chainsafe/netmask/dist/src/util.js\");\n\n\nconst IPv4Len = 4;\nconst IPv6Len = 16;\nconst maxIPv6Octet = parseInt(\"0xFFFF\", 16);\nconst ipv4Prefix = new Uint8Array([\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 255,\n 255\n]);\nfunction maskIp(ip, mask) {\n if (mask.length === IPv6Len && ip.length === IPv4Len && (0,_util_js__WEBPACK_IMPORTED_MODULE_1__.allFF)(mask, 0, 11)) {\n mask = mask.slice(12);\n }\n if (mask.length === IPv4Len && ip.length === IPv6Len && (0,_util_js__WEBPACK_IMPORTED_MODULE_1__.deepEqual)(ip, ipv4Prefix, 0, 11)) {\n ip = ip.slice(12);\n }\n const n = ip.length;\n if (n != mask.length) {\n throw new Error(\"Failed to mask ip\");\n }\n const out = new Uint8Array(n);\n for(let i = 0; i < n; i++){\n out[i] = ip[i] & mask[i];\n }\n return out;\n}\nfunction containsIp(net, ip) {\n if (typeof ip === \"string\") {\n ip = (0,_chainsafe_is_ip_parse__WEBPACK_IMPORTED_MODULE_0__.parseIP)(ip);\n }\n if (ip == null) throw new Error(\"Invalid ip\");\n if (ip.length !== net.network.length) {\n return false;\n }\n for(let i = 0; i < ip.length; i++){\n if ((net.network[i] & net.mask[i]) !== (ip[i] & net.mask[i])) {\n return false;\n }\n }\n return true;\n}\nfunction iPv4FromIPv6(ip) {\n if (!isIPv4mappedIPv6(ip)) {\n throw new Error(\"Must have 0xffff prefix\");\n }\n return ip.slice(12);\n}\nfunction isIPv4mappedIPv6(ip) {\n return (0,_util_js__WEBPACK_IMPORTED_MODULE_1__.deepEqual)(ip, ipv4Prefix, 0, 11);\n} //# sourceMappingURL=ip.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9uZXRtYXNrL2Rpc3Qvc3JjL2lwLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBaUQ7QUFDSjtBQUN0QyxNQUFNRyxVQUFVLEVBQUU7QUFDbEIsTUFBTUMsVUFBVSxHQUFHO0FBQ25CLE1BQU1DLGVBQWVDLFNBQVMsVUFBVSxJQUFJO0FBQzVDLE1BQU1DLGFBQWEsSUFBSUMsV0FBVztJQUNyQztJQUFHO0lBQUc7SUFBRztJQUFHO0lBQUc7SUFBRztJQUFHO0lBQUc7SUFBRztJQUFHO0lBQUs7Q0FDdEMsRUFBRTtBQUNJLFNBQVNDLE9BQU9DLEVBQUUsRUFBRUMsSUFBSTtJQUMzQixJQUFJQSxLQUFLQyxNQUFNLEtBQUtSLFdBQVdNLEdBQUdFLE1BQU0sS0FBS1QsV0FBV0YsK0NBQUtBLENBQUNVLE1BQU0sR0FBRyxLQUFLO1FBQ3hFQSxPQUFPQSxLQUFLRSxLQUFLLENBQUM7SUFDdEI7SUFDQSxJQUFJRixLQUFLQyxNQUFNLEtBQUtULFdBQ2hCTyxHQUFHRSxNQUFNLEtBQUtSLFdBQ2RGLG1EQUFTQSxDQUFDUSxJQUFJSCxZQUFZLEdBQUcsS0FBSztRQUNsQ0csS0FBS0EsR0FBR0csS0FBSyxDQUFDO0lBQ2xCO0lBQ0EsTUFBTUMsSUFBSUosR0FBR0UsTUFBTTtJQUNuQixJQUFJRSxLQUFLSCxLQUFLQyxNQUFNLEVBQUU7UUFDbEIsTUFBTSxJQUFJRyxNQUFNO0lBQ3BCO0lBQ0EsTUFBTUMsTUFBTSxJQUFJUixXQUFXTTtJQUMzQixJQUFLLElBQUlHLElBQUksR0FBR0EsSUFBSUgsR0FBR0csSUFBSztRQUN4QkQsR0FBRyxDQUFDQyxFQUFFLEdBQUdQLEVBQUUsQ0FBQ08sRUFBRSxHQUFHTixJQUFJLENBQUNNLEVBQUU7SUFDNUI7SUFDQSxPQUFPRDtBQUNYO0FBQ08sU0FBU0UsV0FBV0MsR0FBRyxFQUFFVCxFQUFFO0lBQzlCLElBQUksT0FBT0EsT0FBTyxVQUFVO1FBQ3hCQSxLQUFLViwrREFBT0EsQ0FBQ1U7SUFDakI7SUFDQSxJQUFJQSxNQUFNLE1BQ04sTUFBTSxJQUFJSyxNQUFNO0lBQ3BCLElBQUlMLEdBQUdFLE1BQU0sS0FBS08sSUFBSUMsT0FBTyxDQUFDUix
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/netmask/dist/src/ipnet.js":
|
||
|
|
/*!***********************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/netmask/dist/src/ipnet.js ***!
|
||
|
|
\***********************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IpNet: () => (/* binding */ IpNet)\n/* harmony export */ });\n/* harmony import */ var _chainsafe_is_ip_parse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @chainsafe/is-ip/parse */ \"(ssr)/./node_modules/@chainsafe/is-ip/lib/parse.js\");\n/* harmony import */ var _cidr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cidr.js */ \"(ssr)/./node_modules/@chainsafe/netmask/dist/src/cidr.js\");\n/* harmony import */ var _ip_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ip.js */ \"(ssr)/./node_modules/@chainsafe/netmask/dist/src/ip.js\");\n/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util.js */ \"(ssr)/./node_modules/@chainsafe/netmask/dist/src/util.js\");\n\n\n\n\nclass IpNet {\n /**\n *\n * @param ipOrCidr either network ip or full cidr address\n * @param mask in case ipOrCidr is network this can be either mask in decimal format or as ip address\n */ constructor(ipOrCidr, mask){\n if (mask == null) {\n ({ network: this.network, mask: this.mask } = (0,_cidr_js__WEBPACK_IMPORTED_MODULE_1__.parseCidr)(ipOrCidr));\n } else {\n const ipResult = (0,_chainsafe_is_ip_parse__WEBPACK_IMPORTED_MODULE_0__.parseIP)(ipOrCidr);\n if (ipResult == null) {\n throw new Error(\"Failed to parse network\");\n }\n mask = String(mask);\n const m = parseInt(mask, 10);\n if (Number.isNaN(m) || String(m).length !== mask.length || m < 0 || m > ipResult.length * 8) {\n const maskResult = (0,_chainsafe_is_ip_parse__WEBPACK_IMPORTED_MODULE_0__.parseIP)(mask);\n if (maskResult == null) {\n throw new Error(\"Failed to parse mask\");\n }\n this.mask = maskResult;\n } else {\n this.mask = (0,_cidr_js__WEBPACK_IMPORTED_MODULE_1__.cidrMask)(m, 8 * ipResult.length);\n }\n this.network = (0,_ip_js__WEBPACK_IMPORTED_MODULE_2__.maskIp)(ipResult, this.mask);\n }\n }\n /**\n * Checks if netmask contains ip address\n * @param ip\n * @returns\n */ contains(ip) {\n return (0,_ip_js__WEBPACK_IMPORTED_MODULE_2__.containsIp)({\n network: this.network,\n mask: this.mask\n }, ip);\n }\n /**Serializes back to string format */ toString() {\n const l = (0,_util_js__WEBPACK_IMPORTED_MODULE_3__.simpleMaskLength)(this.mask);\n const mask = l !== -1 ? String(l) : (0,_util_js__WEBPACK_IMPORTED_MODULE_3__.maskToHex)(this.mask);\n return (0,_util_js__WEBPACK_IMPORTED_MODULE_3__.ipToString)(this.network) + \"/\" + mask;\n }\n} //# sourceMappingURL=ipnet.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9uZXRtYXNrL2Rpc3Qvc3JjL2lwbmV0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQWlEO0FBQ0Q7QUFDSDtBQUN1QjtBQUM3RCxNQUFNUTtJQUNUOzs7O0tBSUMsR0FDREMsWUFBWUMsUUFBUSxFQUFFQyxJQUFJLENBQUU7UUFDeEIsSUFBSUEsUUFBUSxNQUFNO1lBQ2IsR0FBRUMsU0FBUyxJQUFJLENBQUNBLE9BQU8sRUFBRUQsTUFBTSxJQUFJLENBQUNBLElBQUksRUFBRSxHQUFHVCxtREFBU0EsQ0FBQ1EsU0FBUTtRQUNwRSxPQUNLO1lBQ0QsTUFBTUcsV0FBV2IsK0RBQU9BLENBQUNVO1lBQ3pCLElBQUlHLFlBQVksTUFBTTtnQkFDbEIsTUFBTSxJQUFJQyxNQUFNO1lBQ3BCO1lBQ0FILE9BQU9JLE9BQU9KO1lBQ2QsTUFBTUssSUFBSUMsU0FBU04sTUFBTTtZQUN6QixJQUFJTyxPQUFPQyxLQUFLLENBQUNILE1BQ2JELE9BQU9DLEdBQUdJLE1BQU0sS0FBS1QsS0FBS1MsTUFBTSxJQUNoQ0osSUFBSSxLQUNKQSxJQUFJSCxTQUFTTyxNQUFNLEdBQUcsR0FBRztnQkFDekIsTUFBTUMsYUFBYXJCLCtEQUFPQSxDQUFDVztnQkFDM0IsSUFBSVUsY0FBYyxNQUFNO29CQUNwQixNQUFNLElBQUlQLE1BQU07Z0JBQ3BCO2dCQUNBLElBQUksQ0FBQ0gsSUFBSSxHQUFHVTtZQUNoQixPQUNLO2dCQUNELElBQUksQ0FBQ1YsSUFBSSxHQUFHVixrREFBUUEsQ0FBQ2UsR0FBRyxJQUFJSCxTQUFTTyxNQUFNO1lBQy9DO1lBQ0EsSUFBSSxDQUFDUixPQUFPLEdBQUdSLDhDQUFNQSxDQUFDUyxVQUFVLElBQUksQ0FBQ0YsSUFBSTtRQUM3QztJQUNKO0lBQ0E7Ozs7S0FJQyxHQUNE
|
||
|
|
|
||
|
|
/***/ }),
|
||
|
|
|
||
|
|
/***/ "(ssr)/./node_modules/@chainsafe/netmask/dist/src/util.js":
|
||
|
|
/*!**********************************************************!*\
|
||
|
|
!*** ./node_modules/@chainsafe/netmask/dist/src/util.js ***!
|
||
|
|
\**********************************************************/
|
||
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
|
|
||
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ allFF: () => (/* binding */ allFF),\n/* harmony export */ deepEqual: () => (/* binding */ deepEqual),\n/* harmony export */ ipToString: () => (/* binding */ ipToString),\n/* harmony export */ maskToHex: () => (/* binding */ maskToHex),\n/* harmony export */ simpleMaskLength: () => (/* binding */ simpleMaskLength)\n/* harmony export */ });\n/* harmony import */ var _ip_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ip.js */ \"(ssr)/./node_modules/@chainsafe/netmask/dist/src/ip.js\");\n\nfunction allFF(a, from, to) {\n let i = 0;\n for (const e of a){\n if (i < from) continue;\n if (i > to) break;\n if (e !== 0xff) return false;\n i++;\n }\n return true;\n}\nfunction deepEqual(a, b, from, to) {\n let i = 0;\n for (const e of a){\n if (i < from) continue;\n if (i > to) break;\n if (e !== b[i]) return false;\n i++;\n }\n return true;\n}\n/***\n * Returns long ip format\n */ function ipToString(ip) {\n switch(ip.length){\n case _ip_js__WEBPACK_IMPORTED_MODULE_0__.IPv4Len:\n {\n return ip.join(\".\");\n }\n case _ip_js__WEBPACK_IMPORTED_MODULE_0__.IPv6Len:\n {\n const result = [];\n for(let i = 0; i < ip.length; i++){\n if (i % 2 === 0) {\n result.push(ip[i].toString(16).padStart(2, \"0\") + ip[i + 1].toString(16).padStart(2, \"0\"));\n }\n }\n return result.join(\":\");\n }\n default:\n {\n throw new Error(\"Invalid ip length\");\n }\n }\n}\n/**\n * If mask is a sequence of 1 bits followed by 0 bits, return number of 1 bits else -1\n */ function simpleMaskLength(mask) {\n let ones = 0;\n // eslint-disable-next-line prefer-const\n for (let [index, byte] of mask.entries()){\n if (byte === 0xff) {\n ones += 8;\n continue;\n }\n while((byte & 0x80) != 0){\n ones++;\n byte = byte << 1;\n }\n if ((byte & 0x80) != 0) {\n return -1;\n }\n for(let i = index + 1; i < mask.length; i++){\n if (mask[i] != 0) {\n return -1;\n }\n }\n break;\n }\n return ones;\n}\nfunction maskToHex(mask) {\n let hex = \"0x\";\n for (const byte of mask){\n hex += (byte >> 4).toString(16) + (byte & 0x0f).toString(16);\n }\n return hex;\n} //# sourceMappingURL=util.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQGNoYWluc2FmZS9uZXRtYXNrL2Rpc3Qvc3JjL3V0aWwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQTJDO0FBQ3BDLFNBQVNFLE1BQU1DLENBQUMsRUFBRUMsSUFBSSxFQUFFQyxFQUFFO0lBQzdCLElBQUlDLElBQUk7SUFDUixLQUFLLE1BQU1DLEtBQUtKLEVBQUc7UUFDZixJQUFJRyxJQUFJRixNQUNKO1FBQ0osSUFBSUUsSUFBSUQsSUFDSjtRQUNKLElBQUlFLE1BQU0sTUFDTixPQUFPO1FBQ1hEO0lBQ0o7SUFDQSxPQUFPO0FBQ1g7QUFDTyxTQUFTRSxVQUFVTCxDQUFDLEVBQUVNLENBQUMsRUFBRUwsSUFBSSxFQUFFQyxFQUFFO0lBQ3BDLElBQUlDLElBQUk7SUFDUixLQUFLLE1BQU1DLEtBQUtKLEVBQUc7UUFDZixJQUFJRyxJQUFJRixNQUNKO1FBQ0osSUFBSUUsSUFBSUQsSUFDSjtRQUNKLElBQUlFLE1BQU1FLENBQUMsQ0FBQ0gsRUFBRSxFQUNWLE9BQU87UUFDWEE7SUFDSjtJQUNBLE9BQU87QUFDWDtBQUNBOztDQUVDLEdBQ00sU0FBU0ksV0FBV0MsRUFBRTtJQUN6QixPQUFRQSxHQUFHQyxNQUFNO1FBQ2IsS0FBS1osMkNBQU9BO1lBQUU7Z0JBQ1YsT0FBT1csR0FBR0UsSUFBSSxDQUFDO1lBQ25CO1FBQ0EsS0FBS1osMkNBQU9BO1lBQUU7Z0JBQ1YsTUFBTWEsU0FBUyxFQUFFO2dCQUNqQixJQUFLLElBQUlSLElBQUksR0FBR0EsSUFBSUssR0FBR0MsTUFBTSxFQUFFTixJQUFLO29CQUNoQyxJQUFJQSxJQUFJLE1BQU0sR0FBRzt3QkFDYlEsT0FBT0MsSUFBSSxDQUFDSixFQUFFLENBQUNMLEVBQUUsQ0FBQ1UsUUFBUSxDQUFDLElBQUlDLFFBQVEsQ0FBQyxHQUFHLE9BQ3ZDTixFQUFFLENBQUNMLElBQUksRUFBRSxDQUFDVSxRQUFRLENBQUMsSUFBSUMsUUFBUSxDQUFDLEdBQUc7b0JBQzNDO2dCQUNKO2dCQUNBLE9BQU9ILE9BQU9ELElBQUksQ0FBQztZQUN2QjtRQUNBO1lBQVM7Z
|
||
|
|
|
||
|
|
/***/ })
|
||
|
|
|
||
|
|
};
|
||
|
|
;
|